[−][src]Struct libeyelink_sys::HOOKFCNS
@ingroup display \brief Structure used set and get callback functions
Structure used set and get callback functions so that the calibration graphics can be drawn.
Fields
setup_cal_display_hook: Option<unsafe extern "C" fn() -> INT16>
This function is called to setup calibration/validation display. This function called before any calibration routines are called.
exit_cal_display_hook: Option<unsafe extern "C" fn()>
This is called to release any resources that are not required beyond calibration. Beyond this call, no calibration functions will be called.
record_abort_hide_hook: Option<unsafe extern "C" fn()>
This function is called if abort of record. It is used to hide display from subject.
setup_image_display_hook: Option<unsafe extern "C" fn(width: INT16, height: INT16) -> INT16>
This function is responsible for initializing any resources that are required for camera setup.
@param width width of the source image to expect. @param height height of the source image to expect. @return -1 if failed, 0 otherwise.
image_title_hook: Option<unsafe extern "C" fn(threshold: INT16, cam_name: *mut c_char)>
This function is called to update any image title change. @param threshold if -1 the entire tile is in the title string otherwise, the threshold of the current image. @param title if threshold is -1, the title contains the whole title for the image. Otherwise only the camera name is given.
draw_image_line_hook: Option<unsafe extern "C" fn(width: INT16, line: INT16, totlines: INT16, pixels: *mut byte)>
This function is called to supply the image line by line from top to bottom.
@param width width of the picture. Essentially, number of bytes in \c pixels. @param line current line of the image @param totlines total number of lines in the image. This will always equal the height of the image. @param pixels pixel data.
Eg. Say we want to extract pixel at position (20,20) and print it out as rgb values.
@code if(line == 20) // y = 20 { byte pix = pixels[19]; printf("RGB %d %d %d\n",r[pix],g[pix],b[pix]); } @endcode
@remark certain display draw the image up side down. eg. GDI.
set_image_palette_hook: Option<unsafe extern "C" fn(ncolors: INT16, r: *mut byte, g: *mut byte, b: *mut byte)>
This function is called after setup_image_display and before the first call to draw_image_line. This is responsible to setup the palettes to display the camera image.
@param ncolors number of colors in the palette. @param r red component of rgb. @param g blue component of rgb. @param b green component of rgb.
exit_image_display_hook: Option<unsafe extern "C" fn()>
This is called to notify that all camera setup things are complete. Any resources that are allocated in setup_image_display can be released in this function.
clear_cal_display_hook: Option<unsafe extern "C" fn()>
Called to clear the calibration display.
erase_cal_target_hook: Option<unsafe extern "C" fn()>
This function is responsible for erasing the target that was drawn by the last call to draw_cal_target.
draw_cal_target_hook: Option<unsafe extern "C" fn(x: INT16, y: INT16)>
This function is responsible for the drawing of the target for calibration,validation and drift correct at the given coordinate. @param x x coordinate of the target. @param y y coordinate of the target. @remark The x and y are relative to what is sent to the tracker for the command screen_pixel_coords.
cal_target_beep_hook: Option<unsafe extern "C" fn()>
This function is called to signal new target.
cal_done_beep_hook: Option<unsafe extern "C" fn(error: INT16)>
This function is called to signal end of calibration. @param error if non zero, then the calibration has error.
dc_done_beep_hook: Option<unsafe extern "C" fn(error: INT16)>
This function is called to singnal the end of drift correct. @param error if non zero, then the drift correction failed.
dc_target_beep_hook: Option<unsafe extern "C" fn()>
This function is called to signal a new drift correct target.
get_input_key_hook: Option<unsafe extern "C" fn(event: *mut InputEvent) -> c_short>
This is called to check for keyboard input. In this function: \arg check if there are any input events \arg if there are input events, fill key_input and return 1. otherwise return 0. If 1 is returned this will be called again to check for more events.
@param[out] key_input fill in the InputEvent structure to return key,modifier values. @return if there is a key, return 1 otherwise return 0.
@remark Special keys and modifiers should match the following code.
\b Special \b keys:
@code #define F1_KEY 0x3B00 #define F2_KEY 0x3C00 #define F3_KEY 0x3D00 #define F4_KEY 0x3E00 #define F5_KEY 0x3F00 #define F6_KEY 0x4000 #define F7_KEY 0x4100 #define F8_KEY 0x4200 #define F9_KEY 0x4300 #define F10_KEY 0x4400 #define PAGE_UP 0x4900 #define PAGE_DOWN 0x5100 #define CURS_UP 0x4800 #define CURS_DOWN 0x5000 #define CURS_LEFT 0x4B00 #define CURS_RIGHT 0x4D00 #define ESC_KEY 0x001B #define ENTER_KEY 0x000D @endcode
Modifier: If you are using SDL you do not need to modify the modifier value as they match the value.
@code #define ELKMOD_NONE 0x0000 #define ELKMOD_LSHIFT 0x0001 #define ELKMOD_RSHIFT 0x0002 #define ELKMOD_LCTRL 0x0040 #define ELKMOD_RCTRL 0x0080 #define ELKMOD_LALT 0x0100 #define ELKMOD_RALT 0x0200 #define ELKMOD_LMETA 0x0400 #define ELKMOD_RMETA 0x0800, #define ELKMOD_NUM 0x1000 #define ELKMOD_CAPS 0x2000 #define ELKMOD_MODE 0x4000 @endcode
alert_printf_hook: Option<unsafe extern "C" fn(arg1: *const c_char)>
This function is called whenever alert_printf is called. In windows, if no callback is set calls MessageBox function. In other platforms, if no call back is set prints out to console.
Trait Implementations
impl Clone for HOOKFCNS
[src]
impl Copy for HOOKFCNS
[src]
impl Debug for HOOKFCNS
[src]
impl Default for HOOKFCNS
[src]
Auto Trait Implementations
impl RefUnwindSafe for HOOKFCNS
impl Send for HOOKFCNS
impl Sync for HOOKFCNS
impl Unpin for HOOKFCNS
impl UnwindSafe for HOOKFCNS
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,