# The "dispdata" Package

These routines are meant to provide a high level mechanism to manage the display of data. NOTE: THIS PACKAGE IS WORK IN PROGRESS. THE INTERFACE MAY CHANGE IN THE NEXT RELEASE, POSSIBLY WITHOUT NOTICE.

Library: karmagraphics
Link With: -lkarmagraphics

#### Functions

dispdata_array_create_dataclass | Initialise array data support for the package.
dispdata_array_clone_data | Clone an array dataset.
dispdata_array_register_irange_change_func | Register a function to be called the image itensity range changes
dispdata_array_convert_3coord | Convert canvas co-ordinate to 3D dataset co-ordinate.
dispdata_init | Initialise the package.
dispdata_get_classlist | Get the list of supported dataclasses.
dispdata_register_data_create_func | Register a function to be called when a dataobject is created.
dispdata_register_data_destroy_func | Register a function to be called when a dataobject is destroyed.
dispdata_register_dataobject_destroy_func | Register a function to be called when a dataobject is destroyed.
dispdata_set_dataclass_attributes | Set global attributes for the a dataclass.
dispdata_get_dataclass_attributes | Get global attributes for the a dataclass.
dispdata_create_window | Create a display data window.
dispdata_destroy_window | Destroy a display data window.
dispdata_register_window_destroy_func | Register destroy callback.
dispdata_set_window_attributes | Set the attributes for a window.
dispdata_get_window_attributes | Get the attributes for a window object.
dispdata_get_num_windows | Get the number of windows.
dispdata_refresh_window | Refresh a window.
dispdata_get_num_blinkstates | Get the number of blinkstates for a window.
dispdata_get_active_blinkstate | Get the active KDisplayDataBlinkState for a window.
dispdata_get_first_window | Get first window.
dispdata_get_prev_window | Get previous window.
dispdata_get_next_window | Get next window.
dispdata_get_window_index | Get the index for a window.
dispdata_register_window_renumber_func | Register renumber callback.
dispdata_create_dataobject | Create a display data object (i.e. array, overlay, etc.).
dispdata_destroy_dataobject | Destroy a display data object (i.e. array, overlay, etc.).
dispdata_get_dataobject_subclass | Get the subclass for a KDisplayDataObject.
dispdata_set_data_attributes | Set the attributes for a data object.
dispdata_get_data_attributes | Get the attributes for a data object.
dispdata_associate_data_object | Associate a named object with a data object.
dispdata_get_associated_data_object | Get an associated named object for a data object.
dispdata_get_first_dataobject | Get first data object for a dataclass.
dispdata_get_next_dataobject | Get next data object.
dispdata_create_blinkstate | Create a blink state object.
dispdata_destroy_blinkstate | Destroy a blink state object.
dispdata_get_blinkstate_class | Get the dataclass-specific object for a blink state.
dispdata_activate_blinkstate | Make a blinkstate active (change window contents).
dispdata_test_blinkstate_active | Test if blinkstate is the active one for its window.
dispdata_get_blinkstate_index | Get the index for a blinkstate.
dispdata_copy_blinkstate | Copy blink state.
dispdata_refresh_blinkstate | Refresh the user interface for a blink state.
dispdata_get_blinkstate_info | Get the arbitrary pointer for a blinkstate.
dispdata_register_blinkstate_funcs | Register callback functions for a blinkstate.
dispdata_get_first_blinkstate | Get first blinkstate for a window.
dispdata_get_last_blinkstate | Get last blinkstate for a window.
dispdata_get_prev_blinkstate | Get previous blinkstate for a window.
dispdata_get_next_blinkstate | Get next blinkstate for a window.
dispdata_get_window_from_blinkstate | Get the windor for a blinkstate.
dispdata_get_namelist | Get the list of (sorted) data names for a dataclass.
dispdata_get_objectlist | Get the list of (sorted) data objects for a dataclass.
dispdata_regenerate_namelist | Regenerate the list of (sorted) data names for a dataclass.
dispdata_free_namelist | Free the list of (sorted) data names for a dataclass.
dispdata_get_first_blinkentry | Get the first blink entry for a blink state.
dispdata_get_next_blinkentry | Get the next blink entry after a specified entry.
dispdata_get_blinkentry_info | Get the application-specific information for a blink entry.
dispdata_set_blinkentry_attributes | Set attributes for a blink entry.
dispdata_get_blinkentry_attributes | Get attributes for a blink entry.
dispdata_regenerate_blinkentry_list | Regenerate a list of blink entries for a blink state.
dispdata_get_dataobject_from_blinkentry | Get the dataobject for a blinkentry.
dispdata_overlay_create_dataclass | Initialise overlay data support for the package.
dispdata_overlay_create_dataobject | Create an overlay data object.

## Functions

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataClass dispdata_array_create_dataclass (void)

Initialise array data support for the package.

Parameters:

This function takes no parameters

Returns: A KDisplayDataClass object on success, else NULL.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_array_clone_data (KDisplayDataObject dataobject)

Clone an array dataset.

Parameters:

- dataobject : The KDisplayDataObject to clone.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KCallbackFunc dispdata_array_register_irange_change_func (KDisplayDataObject dataobject, void (*func) (KDisplayDataObject dataobject, void *info), void *info)

Register a function to be called the image itensity range changes

Parameters:

- dataobject : The KDisplayDataObject to clone.
- func : The function that is called when the image intensity range changes.
- info : An arbitrary information pointer passed to func.

Returns: A KCallbackFunc object. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

flag dispdata_array_convert_3coord (KDisplayDataObject dataobject, KDisplayDataWindow window, double *x, double *y, double *z, double h, double v)

Convert canvas co-ordinate to 3D dataset co-ordinate.

Parameters:

- dataobject : The KDisplayDataObject to clone.
- window : The KDisplayDataWindow.
- x : The dataset X image pixel co-ordinate is written here.
- y : The dataset Y image pixel co-ordinate is written here.
- z : The dataset Z image pixel co-ordinate is written here.
- h : The horizontal co-ordinate on the world canvas.
- v : The vertical co-ordinate on the world canvas.

Returns: TRUE on success, else FALSE.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_init (void)

Initialise the package.

Parameters:

This function takes no parameters

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

unsigned int dispdata_get_classlist (KDisplayDataClass **classes,char ***names)

Get the list of supported dataclasses.

Parameters:

- classes : The list of KDisplayDataClass objects is written here. This may be subsequently deallocated.
- names : The list of name pointers is written here. This may be subsequently deallocated.

Returns: The number of dataclasses. On failure the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KCallbackFunc dispdata_register_data_create_func (KDisplayDataClass dataclass, void (*func) (void *info, KDisplayDataObject data), void *info)

Register a function to be called when a dataobject is created.

Parameters:

- dataclass : The KDisplayDataClass the data belong to.
- func : The function that is called when a new dataobject is created.
- info : An arbitrary information pointer passed to func.

Returns: A KCallbackFunc object. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KCallbackFunc dispdata_register_data_destroy_func (KDisplayDataClass dataclass, void (*func) (void *info), void *info)

Register a function to be called when a dataobject is destroyed.

Parameters:

- dataclass : The KDisplayDataClass the data belong to.
- func : The function that is called when a dataobject is destroyed.
- info : An arbitrary information pointer passed to func.

Returns: A KCallbackFunc object. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KCallbackFunc dispdata_register_dataobject_destroy_func (KDisplayDataObject dataobject, void (*func) (void *info), void *info)

Register a function to be called when a dataobject is destroyed.

Parameters:

- dataobject : The dataobject for which the callback function is registered.
- func : The function that is called when the dataobject is destroyed.
- info : An arbitrary information pointer passed to func.

Returns: A KCallbackFunc object. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_set_dataclass_attributes (KDisplayDataClass dataclass, ...)

Set global attributes for the a dataclass.

Parameters:

- dataclass : The KDisplayDataClass the attributes are destined for.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_CLASS_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe
Note:

- Some windows may be refreshed.

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_get_dataclass_attributes (KDisplayDataClass dataclass, ...)

Get global attributes for the a dataclass.

Parameters:

- dataclass : The KDisplayDataClass the attributes are destined for.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_CLASS_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataWindow dispdata_create_window (KDisplayDataCanvas pc, KDisplayDataCanvas rgb, void (*show_canvas) (void *info, KWorldCanvas canvas), void *info )

Create a display data window.

Parameters:

- pc : The PseudoColour canvas. This may contain NULL KWorldCanvas objects.
- rgb : The TrueColour/DirectColour canvas. This may contain NULL KWorldCanvas objects.
- show_canvas : The function that is called when a canvas needs to be shown.
- info : An arbitrary information pointer passed to show_canvas.

Returns: A KDisplayDataWindow object on success, else NULL.
Multithreading Level: Unsafe
Note:

- If either of the main canvases is destroyed, the KDisplayDataWindow object is automatically destroyed.

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_destroy_window (KDisplayDataWindow window)

Destroy a display data window.

Parameters:

- window : The KDisplayDataWindow to destroy.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KCallbackFunc dispdata_register_window_destroy_func (KDisplayDataWindow window, void (*func) (), void *info)

This routine will register a destroy function for a display data window. The function will be called when the window is destroyed. Many destroy functions may be registered per window. The first function registered is the first function called upon destruction.

Parameters:

- window : The KDisplayDataWindow.
- func : The function that is called when the window is destroyed. The prototype function is dispdata_PROTO_destroy_func.
- info : The arbitrary function information pointer.

Returns: A KCallbackFunc object. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_set_window_attributes (KDisplayDataWindow window, ...)

Set the attributes for a window.

Parameters:

- window : The KDisplayDataWindow.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_WINDOW_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe
Note:

- Some windows may be refreshed.

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_get_window_attributes (KDisplayDataWindow window, ...)

Get the attributes for a window object.

Parameters:

- window : The KDisplayDataWindow.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_WINDOW_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

unsigned int dispdata_get_num_windows ()

Get the number of windows.

Parameters:

This function takes no parameters

Returns: The number of windows.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_refresh_window (KDisplayDataWindow window, KWorldCanvas canvas)

Refresh a window.

Parameters:

- window : The KDisplayDataWindow object to refresh.
- canvas : The preferred KWorldCanvas to display. This may be NULL.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

unsigned int dispdata_get_num_blinkstates (KDisplayDataWindow window)

Get the number of blinkstates for a window.

Parameters:

- window : The KDisplayDataWindow object.

Returns: The number of blinkstates.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkState dispdata_get_active_blinkstate (KDisplayDataWindow window, void **info)

Get the active KDisplayDataBlinkState for a window.

Parameters:

- window : The window.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: The active blink state. NULL is returned if there is no active blink state.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataWindow dispdata_get_first_window (void **info)

Get first window.

Parameters:

- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataWindow object. NULL is returned if there are no windows.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataWindow dispdata_get_prev_window (KDisplayDataWindow window, flag circular, void **info)

Get previous window.

Parameters:

- window : The current window.
- circular : If TRUE, the list of windows is treated as circular.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataWindow object. NULL is returned if there are no more windows.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataWindow dispdata_get_next_window (KDisplayDataWindow window, flag circular, void **info)

Get next window.

Parameters:

- window : The current window.
- circular : If TRUE, the list of windows is treated as circular.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataWindow object. NULL is returned if there are no more windows.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

unsigned int dispdata_get_window_index (KDisplayDataWindow window)

Get the index for a window.

Parameters:

- window : The KDisplayDataWindow object.

Returns: The index of the window.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KCallbackFunc dispdata_register_window_renumber_func (KDisplayDataWindow window, void (*func) (), void *info)

This routine will register a renumber function for a display data window. The function will be called when the window index changes (due to renumbering). Many renumber functions may be registered per window. The first function registered is the first function called upon renumbering.

Parameters:

- window : The KDisplayDataWindow.
- func : The function that is called when the window is renumbered. The prototype function is dispdata_PROTO_renumber_func.
- info : The arbitrary function information pointer.

Returns: A KCallbackFunc object. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataObject dispdata_create_dataobject (KDisplayDataClass dataclass, CONST char *domain, CONST char *name, void *data)

Create a display data object (i.e. array, overlay, etc.).

Parameters:

- dataclass : The KDisplayDataClass the data belong to.
- domain : The domain from where data came from. The string contents are copied.
- name : The name of the object. The string contents are copied.
- data : The data for the object.

Returns: A KDisplayDataObject object on success, else NULL.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_destroy_dataobject (KDisplayDataObject dataobject)

Destroy a display data object (i.e. array, overlay, etc.).

Parameters:

- dataobject : The KDisplayDataObject to destroy.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void * dispdata_get_dataobject_subclass (KDisplayDataObject dataobject, KDisplayDataClass dataclass)

Get the subclass for a KDisplayDataObject.

Parameters:

- dataobject : The KDisplayDataObject.
- dataclass : The KDisplayDataClass the data belong to.

Returns: A pointer to the subclass.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_set_data_attributes (KDisplayDataObject dataobject, ...)

Set the attributes for a data object.

Parameters:

- dataobject : The KDisplayDataObject.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_DATA_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe
Note:

- Some windows may be refreshed.

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_get_data_attributes (KDisplayDataObject dataobject, ...)

Get the attributes for a data object.

Parameters:

- dataobject : The KDisplayDataObject.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_DATA_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_associate_data_object (KDisplayDataObject dataobject, CONST char *name, void (*destroy_func) (void *object), void *object)

Associate a named object with a data object.

Parameters:

- dataobject : The KDisplayDataObject.
- name : The name of the associated data object. The contents are copied.
- destroy_func : The function that is called when dataobect is destroyed.
- object : The object pointer.

Returns: Nothing. On failure, the process aborts.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void * dispdata_get_associated_data_object (KDisplayDataObject dataobject, CONST char *name)

Get an associated named object for a data object.

Parameters:

- dataobject : The KDisplayDataObject.
- name : The name of the associated data object.

Returns: A pointer to the associated object.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataObject dispdata_get_first_dataobject (KDisplayDataClass dataclass)

Get first data object for a dataclass.

Parameters:

- dataclass : The KDisplayDataClass the data belong to.

Returns: A KDisplayDataObject object. NULL is returned if there are no dataobjects.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataObject dispdata_get_next_dataobject (KDisplayDataObject dataobject)

Get next data object.

Parameters:

- dataobject : The current data object.

Returns: A KDisplayDataObject object. NULL is returned if there are no more data objects.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkState dispdata_create_blinkstate (KDisplayDataWindow window, void (*active_change) (void *info, flag active), void *info)

Create a blink state object.

Parameters:

- window : The window the blink state is associated with.
- active_change : The function that is called when the blinkstate is made active or inactive.
- info : An arbitrary information pointer.

Returns: A KDisplayDataBlinkState object on success, else NULL.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_destroy_blinkstate (KDisplayDataBlinkState blinkstate)

Destroy a blink state object.

Parameters:

- blinkstate : The KDisplayBlinkState to destroy.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataClassBlinkState dispdata_get_blinkstate_class (KDisplayDataBlinkState blinkstate, KDisplayDataClass dataclass)

Get the dataclass-specific object for a blink state.

Parameters:

- blinkstate : The KDisplayDataBlinkState object.
- dataclass : The KDisplayDataClass object.

Returns: A KDisplayDataClassBlinkState object.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_activate_blinkstate (KDisplayDataBlinkState blinkstate)

Make a blinkstate active (change window contents).

Parameters:

- blinkstate : The KDisplayDataBlinkState object to make active.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

flag dispdata_test_blinkstate_active (KDisplayDataBlinkState blinkstate)

Test if blinkstate is the active one for its window.

Parameters:

- blinkstate : The KDisplayDataBlinkState object.

Returns: TRUE if active, else FALSE.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

unsigned int dispdata_get_blinkstate_index (KDisplayDataBlinkState blinkstate)

Get the index for a blinkstate.

Parameters:

- blinkstate : The KDisplayDataBlinkState object.

Returns: The index of the blinkstate.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_copy_blinkstate (KDisplayDataBlinkState dest, KDisplayDataBlinkState source)

Copy blink state.

Parameters:

- dest : The destination KDisplayDataBlinkState object to copy to.
- source : The source KDisplayDataBlinkState object to copy from.

Returns: Nothing.
Multithreading Level: Unsafe
Note:

- This function does not refresh the blink state interface.

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_refresh_blinkstate (KDisplayDataBlinkState blinkstate)

Refresh the user interface for a blink state.

Parameters:

- blinkstate : The blink state to refresh.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void * dispdata_get_blinkstate_info (KDisplayDataBlinkState blinkstate)

Get the arbitrary pointer for a blinkstate.

Parameters:

- blinkstate : The blinkstate.

Returns: The arbitrary pointer.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_register_blinkstate_funcs (KDisplayDataClassBlinkState blinkstate, void (*refresh_func) (void *info, KDisplayDataClass dataclass), void *(*create_blinkentry) (void *info, KDisplayDataBlinkEntry be), void (*destroy_blinkentry) (void *info), void (*copy_blinkentry) (void *dest, void *source), void *info)

Register callback functions for a blinkstate.

Parameters:

- blinkstate : The KDisplayDataClassBlinkState object.
- dataclass : The dataclass for refresh events.
- refresh_func : The function to be called to refresh the blinkstate interface.
- info : An arbitrary information pointer to be passed to refresh_func and create_blinkentry.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkState dispdata_get_first_blinkstate (KDisplayDataWindow window, void **info)

Get first blinkstate for a window.

Parameters:

- window : The window.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataBlinkState object. NULL is returned if there are no blinkstates associated with this window.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkState dispdata_get_last_blinkstate (KDisplayDataWindow window, void **info)

Get last blinkstate for a window.

Parameters:

- window : The window.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataBlinkState object. NULL is returned if there are no blinkstates associated with this window.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkState dispdata_get_prev_blinkstate (KDisplayDataBlinkState blinkstate, flag circular, void **info)

Get previous blinkstate for a window.

Parameters:

- blinkstate : The current blinkstate.
- circular : If TRUE, the list of windows is treated as circular.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataBlinkState object. NULL is returned if there are no more blinkstates associated with this window.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkState dispdata_get_next_blinkstate (KDisplayDataBlinkState blinkstate, flag circular, void **info)

Get next blinkstate for a window.

Parameters:

- blinkstate : The current blinkstate.
- circular : If TRUE, the list of blinkstates is treated as circular.
- info : The arbitrary information pointer is written here. If this is NULL, nothing is written here.

Returns: A KDisplayDataBlinkState object. NULL is returned if there are no more blinkstates associated with this window.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataWindow dispdata_get_window_from_blinkstate (KDisplayDataBlinkState blinkstate)

Get the windor for a blinkstate.

Parameters:

- blinkstate : The blinkstate.

Returns: The window.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

CONST char ** dispdata_get_namelist (KDisplayDataClass dataclass, unsigned int *num_entries, unsigned int *num_chars)

Get the list of (sorted) data names for a dataclass.

Parameters:

- dataclass : The KDisplayDataClass object.
- num_entries : The number of entries in the list is written here.
- num_chars : The sum of the lengths of the names is written here. This does not include terminator characters.

Returns: The array of names.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

CONST KDisplayDataObject * dispdata_get_objectlist (KDisplayDataClass dataclass, unsigned int *num_entries)

Get the list of (sorted) data objects for a dataclass.

Parameters:

- dataclass : The KDisplayDataClass object.
- num_entries : The number of entries in the list is written here.

Returns: The array of data objects.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

char ** dispdata_regenerate_namelist (KDisplayDataClass dataclass, KDisplayDataPrivateNameList *namelist_ptr, unsigned int num_reserved, unsigned int *num_entries, KDisplayDataObject **dataobjects, flag (*filter_func) (void *info, KDisplayDataObject dataobject), void *info)

Regenerate the list of (sorted) data names for a dataclass.

Parameters:

- dataclass : The KDisplayDataClass object.
- namelist_ptr : A pointer to a special buffer. This may be updated.
- num_reserved : The number of characters to reserve for each entry. The reserved characters will be filled with ' ' (space).
- num_entries : The number of entries in the list is written here.
- dataobjects : The array of dataobjects is written here. This may be NULL.
- filter_func : A function to filter dataobjects. If it returns TRUE, a dataobject will be included in the list, otherwise it won't. If this is NULL, all dataobjects are included.
- info : An arbitrary pointer passed to filter_func.

Returns: The array of string pointers. The string contents may be modified and will persist until the next call to this function.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_free_namelist (KDisplayDataPrivateNameList namelist)

Free the list of (sorted) data names for a dataclass.

Parameters:

- namelist : The namelist buffer.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkEntry dispdata_get_first_blinkentry (KDisplayDataClassBlinkState class_blinkstate)

Get the first blink entry for a blink state.

Parameters:

- class_blinkstate : The KDisplayDataClassBlinkState object.

Returns: A KDisplayDataBlinkEntry object. NULL may be returned if there are no blink state entries (i.e. no data sets loaded for this class).
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataBlinkEntry dispdata_get_next_blinkentry (KDisplayDataBlinkEntry blinkentry)

Get the next blink entry after a specified entry.

Parameters:

- blinkentry : The KDisplayDataBlinkEntry object.

Returns: A KDisplayDataBlinkEntry object. NULL may be returned if there are no more blink state entries.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void * dispdata_get_blinkentry_info (KDisplayDataBlinkEntry blinkentry)

Get the application-specific information for a blink entry.

Parameters:

- blinkentry : The KDisplayDataBlinkEntry object.

Returns: The application-specific information pointer.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_set_blinkentry_attributes (KDisplayDataBlinkEntry blinkentry, ...)

Set attributes for a blink entry.

Parameters:

- blinkentry : The KDisplayDataBlinkEntry object.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_BLINKENTRY_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe
Note:

- Some windows may be refreshed.

#### EXPERIMENTAL FUNCTION: subject to change without notice

void dispdata_get_blinkentry_attributes (KDisplayDataBlinkEntry blinkentry, ...)

Get attributes for a blink entry.

Parameters:

- blinkentry : The KDisplayDataBlinkEntry object.
- ... : The optional attributes are given as pairs of attribute-key attribute-value pairs. This list must be terminated with KDISPLAYDATA_BLINKENTRY_ATT_END.

Returns: Nothing.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

CONST KDisplayDataBlinkEntry * dispdata_regenerate_blinkentry_list (KDisplayDataClassBlinkState blinkstate, unsigned int *num_entries)

Regenerate a list of blink entries for a blink state.

Parameters:

- blinkstate : The KDisplayDataClassBlinkState object.
- num_entries : The number of entries is written here.

Returns: The array of blink entries.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataObject dispdata_get_dataobject_from_blinkentry (KDisplayDataBlinkEntry blinkentry)

Get the dataobject for a blinkentry.

Parameters:

- blinkentry : The blinkentry.

Returns: The dataobject.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataClass dispdata_overlay_create_dataclass (void)

Initialise overlay data support for the package.

Parameters:

This function takes no parameters

Returns: A KDisplayDataClass object on success, else NULL.
Multithreading Level: Unsafe

#### EXPERIMENTAL FUNCTION: subject to change without notice

KDisplayDataObject dispdata_overlay_create_dataobject (KOverlayList olist, CONST char *domain, CONST char *name)

Create an overlay data object.

Parameters:

- olist : The overlay list.
- domain : The domain from where list came from. The string contents are copied.
- name : The name of the object.

Returns: A KDisplayDataObject on success, else NULL.
Multithreading Level: Unsafe

Back to Karma Home Page