グローバル関数

システムに関する情報の操作やクラスの作成はグローバル関数として用意されています。


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);

filename
ファイル名
header
DIBのヘッダ情報のメモリを格納すべきポインタ
buffer
DIBのバッファ情報のメモリを格納すべきポインタ
reserved
将来への予約(0をセットすること)
戻り値
[TRUE] 読み込み成功
[FALSE] 読み込み失敗

(new in Rev2.10)

指定した画像ファイルをDIB(デバイスに依存しないビットマップ)として読み込みます。

読み込みに成功すると、headerとbufferにそれぞれLocalAlloc(LMEM_FIXED, uBytes)で確保されたヒープメモリが格納されます。DIBが不要になったらLocalFree()で解放する必要があります。


BOOL MQ_GetSystemPath(char *buffer, int type);

buffer
パス名を格納するバッファ
type
[MQFOLDER_ROOT] Metaseq.exeが存在しているフォルダ (例:"C:\Program Files\Metaseq")
[MQFOLDER_METASEQ_EXE] Metaseq.exeのパス (例:"C:\Program Files\Metaseq\Metaseq.exe")
[MQFOLDER_METASEQ_INI] Metaseq.iniのパス (例:"C:\Program Files\Metaseq\Metaseq.ini")
[MQFOLDER_DATA] Dataフォルダ (例:"C:\Program Files\Metaseq\Data")
[MQFOLDER_PLUGINS] Pluginsフォルダ (例:"C:\Program Files\Metaseq\Plugins")
戻り値
[TRUE] 取得成功
[FALSE] 取得失敗

(new in Rev2.10)

指定したパスを取得してbufferに格納します。bufferはMAX_PATHのサイズを持っている必要があります。

 

注意: Ver2.1.5より前のバージョンでは、バグのために type として MQFOLDER_DATA または MQFOLDER_PLUGINS を指定するとおかしなフォルダ名が返されます。


void MQ_RefreshView(void *reserved);

reserved
予約

(new in Rev2.30)

ビューを再描画します。

reservedにはNULLを指定してください。


void MQ_StationCallback(MQStationCallbackProc proc, void *option);

proc
コールバック関数
option
コールバック関数に渡す引数

(new in Rev2.40)

常駐型プラグインから何らかの処理を行う際に呼び出し、コールバック関数内でドキュメントに対する処理を行います。

コールバック関数は以下の形式で定義されます。

typedef BOOL (__stdcall *MQStationCallbackProc)(MQDocument doc, void *option);

doc
ドキュメント
option
MQ_StationCallback()から渡された引数
戻り値
[TRUE] 何らかの変更を行った
[FALSE] 何も変更しなかった

BOOL MQ_SendMessage(int message_type, MQSendMessageInfo *info);

message_type
メッセージ型
[MQMESSAGE_ACTIVATE] アクティブ状態の変更
[MQMESSAGE_NEW_DRAW_OBJECT] 描画オブジェクトの作成
[MQMESSAGE_NEW_DRAW_MATERIAL] 描画オブジェクト用のマテリアル作成
[MQMESSAGE_GET_UNDO_STATE] アンドゥ状態の取得
info
情報
戻り値
[TRUE] 正常終了
[FALSE] 異常終了

(new in Rev2.40)

常駐型プラグインが特定の処理を行った、または処理を要求する際に、本体側にメッセージを通知します。