システムに関する情報の操作やクラスの作成はグローバル関数として用意されています。
HWND MQ_GetWindowHandle(void);
メインウインドウのウインドウハンドルを取得します。ダイアログボックスの作成などのために必要となります。
MQObject MQ_CreateObject(void);
オブジェクトクラスを作成します。
作成したオブジェクトは、MQDocument::AddObject()で登録するか、MQObject::DeleteThis()で削除する必要があります。
MQMaterial MQ_CreateMaterial(void);
マテリアルクラスを作成します。
作成したマテリアルは、MQDocument::AddMaterial()で登録するか、MQMaterial::DeleteThis()で削除する必要があります。
void MQ_ShowFileDialog(const char *title, MQFileDialogInfo *info);
座標軸変換などの機能を持ったファイルダイアログを表示します。
void MQ_ImportAxis(MQFileDialogInfo *info, MQPoint *pts, int pts_count);
void MQ_ExportAxis(MQFileDialogInfo *info, MQPoint *pts, int pts_count);
ファイルダイアログの座標軸データを基に頂点位置を変換します。
入力用と出力用でそれぞれ異なります。
BOOL MQ_LoadImage(const char *filename, LPVOID *header, LPVOID *buffer, DWORD reserved);
(new in Rev2.10)
指定した画像ファイルをDIB(デバイスに依存しないビットマップ)として読み込みます。
読み込みに成功すると、headerとbufferにそれぞれLocalAlloc(LMEM_FIXED, uBytes)で確保されたヒープメモリが格納されます。DIBが不要になったらLocalFree()で解放する必要があります。
BOOL MQ_GetSystemPath(char *buffer, int type);
(new in Rev2.10)
指定したパスを取得してbufferに格納します。bufferはMAX_PATHのサイズを持っている必要があります。
注意: Ver2.1.5より前のバージョンでは、バグのために type として MQFOLDER_DATA または MQFOLDER_PLUGINS を指定するとおかしなフォルダ名が返されます。
void MQ_RefreshView(void *reserved);
(new in Rev2.30)
ビューを再描画します。
reservedにはNULLを指定してください。
void MQ_StationCallback(MQStationCallbackProc proc, void *option);
(new in Rev2.40)
常駐型プラグインから何らかの処理を行う際に呼び出し、コールバック関数内でドキュメントに対する処理を行います。
コールバック関数は以下の形式で定義されます。
typedef BOOL (__stdcall *MQStationCallbackProc)(MQDocument doc, void *option);
|
BOOL MQ_SendMessage(int message_type, MQSendMessageInfo *info);
(new in Rev2.40)
常駐型プラグインが特定の処理を行った、または処理を要求する際に、本体側にメッセージを通知します。