⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hre_internal.h

📁 神龙卡开发原代码
💻 H
字号:
/*  *  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 */#ifndef _HRE_INTERNAL_H_#define _HRE_INTERNAL_H_/*Avoids forward reference problem.*/#define wordset void*#include <hre.h>#undef wordset#define recognizer void*/* * 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.*/typedef struct _wordset {	char* ws_pathname;		/*Path name to word set file.*/	recognizer ws_recognizer;	/*To whom it belongs.*/	void* ws_internal;		/*Internal data structures.*/} *wordset;#undef recognizer/* * 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 {	u_int recognizer_magic;/* ari *//* 	const char* recognizer_version;  */        char* recognizer_version; 	rec_info* recognizer_info;	void* recognizer_specific;	int		(*recognizer_load_state)(			struct _Recognizer*,			char*, char*);/*			char* dir,			char* name);*/	int		(*recognizer_save_state)(			struct _Recognizer*,			char*, char*);/*			char* dir,			char* name); */	char*		(*recognizer_error)(			struct _Recognizer*);	wordset		(*recognizer_load_dictionary)(/*			struct _Recognizer* rec,			char* directory,			char* name);*/			struct _Recognizer*,                        char*, char*);	int		(*recognizer_save_dictionary)(/*			struct _Recognizer* rec,			char* directory,			char* name,			wordset dict);*/			struct _Recognizer*,                        char*, char*, wordset);	int	  	(*recognizer_free_dictionary)(/*			struct _Recognizer* rec,			wordset dict);*/			struct _Recognizer*,                        wordset);	int	  	(*recognizer_add_to_dictionary)(/*			struct _Recognizer* rec,			letterset* word,			wordset dict);*/			struct _Recognizer*,                        letterset*, wordset);	int	  	(*recognizer_delete_from_dictionary)(/*			struct _Recognizer* rec,			letterset* word,			wordset dict);*/			struct _Recognizer*,                        letterset*, wordset);	int	 (*recognizer_set_context)(/*		struct _Recognizer* rec,		rc* rec_xt);*/			struct _Recognizer*,rc*);	rc*	 (*recognizer_get_context)(/*		struct _Recognizer* rec);*/			struct _Recognizer*);				   	int	 (*recognizer_clear)(/*		struct _Recognizer* rec,		bool delete_ponts_p);*/			struct _Recognizer*, bool);	int	 (*recognizer_get_buffer)(/*		struct _Recognizer* rec,		u_int* nstrokes,		pen_stroke** strokes);*/			struct _Recognizer*, u_int*, pen_stroke**);	int	 (*recognizer_set_buffer)(/*		struct _Recognizer* rec,		u_int nstrokes,		pen_stroke* strokes);*/			struct _Recognizer*, u_int, pen_stroke*);	int	 (*recognizer_translate)(/*		struct _Recognizer* rec,		u_int nstrokes,		pen_stroke* strokes,		bool correlate_p,		int* nret,		rec_alternative** ret);*/			struct _Recognizer*, u_int, pen_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* name,			xgesture fn,			void* wsinfo);*/                        char*, xgesture, void*);	u_int recognizer_end_magic; };typedef struct _Recognizer* recognizer;/* * 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.*//* ari -- This is used in cmu_recognizer.c. */#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);rec_alternative* make_rec_alternative_array(u_int size);rec_correlation* make_rec_correlation(char type,		     u_int size,		     void* trans,		     rec_confidence conf,		     u_int ps_size);rec_fn* make_rec_fn_array(u_int size);void delete_rec_fn_array(rec_fn* rf);gesture* initialize_gesture(gesture* g,		   char* name,		   u_int nhs,		   pen_point* hspots,		   pen_rect bbox,		   xgesture cback,		   void* wsinfo);gesture* make_gesture_array(u_int size);void delete_gesture_array(u_int size,gesture* ga,bool delete_points_p);pen_stroke*concatenate_pen_strokes(int nstrokes1,			pen_stroke* strokes1,			int nstrokes2,			pen_stroke* strokes2,			int* nstrokes3,			pen_stroke** strokes3);rec_alternative*initialize_rec_alternative(rec_alternative* ra,u_int nelem);rec_element*initialize_rec_element(rec_element* re,		       char type,		       u_int size,		       void* trans,		       rec_confidence conf);/* * Pathnames, etc.*//* these going to be handled in the makefile, for portability *//* #define REC_DEFAULT_HOME_DIR   "/udir/rapkin/vb/hre.ultrix/lib/recognizers" *//* #define REC_DEFAULT_USER_DIR	".recognizers" */#define REC_DEFAULT_LOCALE  	"C"#define RECHOME			"RECHOME"#define LANG			"LANG"#include <hre_api_internal.h>#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -