[−][src]Function libeyelink_sys::eyelink_target_check
pub unsafe extern "C" fn eyelink_target_check(
x: *mut INT16,
y: *mut INT16
) -> INT16
@ingroup setup_eyelink Returns the current target position and state.
@param x Pointer to variable to hold target X position. @param y Pointer to variable to hold target Y position. @return \c 1 if target is visible, 0 if not.
\b Example:
\code INT16 target_mode_display(void) { int target_visible = 0; // target currently drawn INT16 tx; // new target position INT16 ty; INT16 otx=MISSING; // current target position INT16 oty=MISSING; unsigned key; // local key pressed int i; int result = NO_REPLY; while(eyelink_current_mode() & IN_TARGET_MODE) { if(!eyelink_is_connected()) return -1; key = getkey(); if(key) { switch(key) { case TERMINATE_KEY: // breakout key code clear_cal_display(); return TERMINATE_KEY; case 32: // Spacebar: accept fixation eyelink_accept_trigger(); break; case 0: // No key case JUNK_KEY: // No key break; case ESC_KEY: if(eyelink_is_connected()==-1) goto exit; default: // Echo to tracker for remote control if(allow_local_control) eyelink_send_keybutton(key,0,KB_PRESS); break; } } result = eyelink_cal_result(); if(result != NO_REPLY) break; i = eyelink_target_check(&tx, &ty); if( (target_visible && i==0) || tx!=otx || ty!=oty) { erase_cal_target(); target_visible = 0; } if(!target_visible && i) { draw_cal_target(tx, ty); target_visible = 1; otx = tx; // record position for future tests oty = ty; } } exit: if(target_visible) erase_cal_target(); // erase target on exit clear_cal_display(); return result; } \endcode
\sa \c eyelink_accept_trigger(), \c eyelink_apply_driftcorr(), \c eyelink_current_mode() and \c eyelink_driftcorr_start()