[][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()