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

📄 cmigemo.h

📁 日本的开源编辑器源码
💻 H
字号:
//	$Id: CMigemo.h,v 1.1 2005/01/10 13:02:50 genta Exp $
/*!	@file
	@brief Migemo関連

	C/Migemoアクセス関数

*/

#ifndef _SAKURA_MIGEMO_H_
#define _SAKURA_MIGEMO_H_

#define MIGEMO_VERSION "1.1"

/* for migemo_load() */
#define MIGEMO_DICTID_INVALID		0
#define MIGEMO_DICTID_MIGEMO		1
#define MIGEMO_DICTID_ROMA2HIRA		2
#define MIGEMO_DICTID_HIRA2KATA		3
#define MIGEMO_DICTID_HAN2ZEN		4

/* for migemo_set_operator()/migemo_get_operator().  see: rxgen.h */
#define MIGEMO_OPINDEX_OR		0
#define MIGEMO_OPINDEX_NEST_IN		1
#define MIGEMO_OPINDEX_NEST_OUT		2
#define MIGEMO_OPINDEX_SELECT_IN	3
#define MIGEMO_OPINDEX_SELECT_OUT	4
#define MIGEMO_OPINDEX_NEWLINE		5

/* see: rxgen.h */
typedef int (*MIGEMO_PROC_CHAR2INT)(unsigned char*, unsigned int*);
typedef int (*MIGEMO_PROC_INT2CHAR)(unsigned int, unsigned char*);

/**
 * Migemoオブジェクト。migemo_open()で作成され、migemo_closeで破棄される。
 */
typedef struct _migemo migemo;


#include "CDllHandler.h"

class SAKURA_CORE_API CMigemo : public CDllHandler {


public:
	CMigemo() ;
	virtual ~CMigemo();
	static CMigemo* _instance;
	static CMigemo* getInstance();

	//	Entry Point
protected:
	typedef migemo* (*Proc_migemo_open)(char* dict);
	typedef void (*Proc_migemo_close)(migemo* object);
	typedef unsigned char* ( *Proc_migemo_query)(migemo* object, unsigned char* query);
	typedef void ( *Proc_migemo_release)(migemo* object, unsigned char* string);
	typedef int ( *Proc_migemo_set_operator)(migemo* object, int index, unsigned char* op);
	typedef const unsigned char* ( *Proc_migemo_get_operator)(migemo* object, int index);
	typedef void ( *Proc_migemo_setproc_char2int)(migemo* object, MIGEMO_PROC_CHAR2INT proc);
	typedef void ( *Proc_migemo_setproc_int2char)(migemo* object, MIGEMO_PROC_INT2CHAR proc);
	typedef int ( *Proc_migemo_load)(migemo* obj, int dict_id, char* dict_file);
	typedef int ( *Proc_migemo_is_enable)(migemo* obj);
	
	Proc_migemo_open                  m_migemo_open                ;
	Proc_migemo_close                 m_migemo_close               ;
	Proc_migemo_query                 m_migemo_query               ;
	Proc_migemo_release               m_migemo_release             ;
	Proc_migemo_set_operator          m_migemo_set_operator        ;
	Proc_migemo_get_operator          m_migemo_get_operator        ;
	Proc_migemo_setproc_char2int      m_migemo_setproc_char2int    ;
	Proc_migemo_setproc_int2char      m_migemo_setproc_int2char    ;
	Proc_migemo_load                  m_migemo_load                ;
	Proc_migemo_is_enable             m_migemo_is_enable           ;

	migemo* m_migemo;
	
	char* GetDllName(char *);
	int InitDll(void);
	int DeInitDll(void);
	
public:
	long migemo_open(char* dict);
	void migemo_close();
	unsigned char* migemo_query(unsigned char* query);
	void migemo_release( unsigned char* string);
	int migemo_set_operator(int index, unsigned char* op);
	const unsigned char* migemo_get_operator(int index);
	void migemo_setproc_char2int(MIGEMO_PROC_CHAR2INT proc);
	void migemo_setproc_int2char(MIGEMO_PROC_INT2CHAR proc);
	int migemo_load(int dict_id, char* dict_file);
	int migemo_is_enable();
	int migemo_load_all();

};

#endif


/*[EOF]*/

⌨️ 快捷键说明

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