123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- /*
- * hre_internal.h: Internal Interface for Recognizer.
- * Author: James Kempf
- * Created On: Thu Nov 5 10:54:18 1992
- * Last Modified By: James Kempf
- * Last Modified On: Fri Sep 23 13:51:15 1994
- * Update Count: 99
- * Copyright (c) 1994 by Sun Microsystems Computer Company
- * All rights reserved.
- *
- * Use and copying of this software and preparation of
- * derivative works based upon this software are permitted.
- * Any distribution of this software or derivative works
- * must comply with all applicable United States export control
- * laws.
- *
- * This software is made available as is, and Sun Microsystems
- * Computer Company makes no warranty about the software, its
- * performance, or its conformity to any specification
- */
- /*Avoids forward reference problem.*/
- /*
- * Internal view of wordset. The recognition engine uses this view to
- * maintain information about which recognizer object this wordset
- * belongs to, which file (in case it needs to be saved), and internal
- * data structures.
- */
- struct _wordset {
- char* ws_pathname; /*Path name to word set file.*/
- recognizer ws_recognizer; /*To whom it belongs.*/
- void* ws_internal; /*Internal data structures.*/
- };
- /*
- * Internal view of the recognizer struct. This view is only available
- * to OEM clients who implement a recognizer shared library. Clients
- * of the recognizer itself see it as an opaque data type. The struct
- * contains a function pointer for each function in the client API.
- */
- struct _Recognizer {
- uint recognizer_magic;
- char *recognizer_version;
- rec_info *recognizer_info;
- void *recognizer_specific;
- int (*recognizer_load_state)(struct _Recognizer*, char*, char*);
- int (*recognizer_save_state)(struct _Recognizer*, char*, char*);
- char* (*recognizer_error)(struct _Recognizer*);
- wordset (*recognizer_load_dictionary)(struct _Recognizer*, char*, char*);
- int (*recognizer_save_dictionary)(struct _Recognizer*, char*, char*, wordset);
- int (*recognizer_free_dictionary)(struct _Recognizer*, wordset);
- int (*recognizer_add_to_dictionary)(struct _Recognizer*, letterset*, wordset);
- int (*recognizer_delete_from_dictionary)(struct _Recognizer*, letterset*, wordset);
- int (*recognizer_set_context)(struct _Recognizer*,rc*);
- rc* (*recognizer_get_context)(struct _Recognizer*);
-
- int (*recognizer_clear)(struct _Recognizer*, bool);
- int (*recognizer_get_buffer)(struct _Recognizer*, uint*, Stroke**);
- int (*recognizer_set_buffer)(struct _Recognizer*, uint, Stroke*);
- int (*recognizer_translate)(struct _Recognizer*, uint, Stroke*, bool, int*, rec_alternative**);
- rec_fn* (*recognizer_get_extension_functions)(struct _Recognizer*);
- char** (*recognizer_get_gesture_names)(struct _Recognizer*);
- xgesture (*recognizer_set_gesture_action)(struct _Recognizer*, char*, xgesture, void*);
- uint recognizer_end_magic;
- };
- /*
- * recognizer_internal_initialize - Allocate and initialize the recognizer
- * object. The recognition shared library has the responsibility for filling
- * in all the function pointers for the recognition functions. This
- * function must be defined as a global function within the shared
- * library, so it can be accessed using dlsym() when the recognizer
- * shared library is loaded. It returns NULL if an error occured and
- * sets errno to indicate what.
- */
- typedef recognizer (*recognizer_internal_initialize)(rec_info* ri);
- /*Function header definition for recognizer internal initializer.*/
- #define RECOGNIZER_INITIALIZE(_a) \
- recognizer __recognizer_internal_initialize(rec_info* _a)
- /*
- * recognizer_internal_finalize - Deallocate and deinitialize the recognizer
- * object. If the recognizer has allocated any additional storage, it should
- * be deallocated as well. Returns 0 if successful, -1 if the argument
- * wasn't a recognizer or wasn't a recognizer handled by this library.
- */
- typedef int (*recognizer_internal_finalize)(recognizer r);
- #define RECOGNIZER_FINALIZE(_a) \
- int __recognizer_internal_finalize(recognizer _a)
- /*
- * The following are for creating HRE structures.
- */
- recognizer make_recognizer(rec_info* ri);
- void delete_recognizer(recognizer rec);
- RECOGNIZER_FINALIZE(_a);
- rec_alternative* make_rec_alternative_array(uint size);
- rec_correlation* make_rec_correlation(char type, uint size, void* trans, rec_confidence conf, uint ps_size);
- rec_fn*
- make_rec_fn_array(uint size);
- void
- delete_rec_fn_array(rec_fn* rf);
- gesture*
- initialize_gesture(gesture* g,
- char* name,
- uint nhs,
- pen_point* hspots,
- pen_rect bbox,
- xgesture cback,
- void* wsinfo);
- gesture*
- make_gesture_array(uint size);
- void
- delete_gesture_array(uint size,gesture* ga,bool delete_points_p);
- Stroke*
- concatenate_Strokes(int nstrokes1,
- Stroke* strokes1,
- int nstrokes2,
- Stroke* strokes2,
- int* nstrokes3,
- Stroke** strokes3);
- rec_alternative* initialize_rec_alternative(rec_alternative* ra, uint);
- rec_element* initialize_rec_element(rec_element*, char, uint, void*, rec_confidence);
- /*
- * Pathnames, etc.
- */
- #define REC_DEFAULT_LOCALE "C"
- #define RECHOME "RECHOME"
- #define LANG "LANG"
|