EventUser によるグラフィックデータ転送フォーマット案 1994 11/16 小笠原博之 ●概要 グラフィック画像データを、イベントで送信するためのフォーマットです。転送デー タは構造体 UGraphic を経由して転送します。UGraphic を定義してあるヘッダファイ ルは UserGraphic.h です。corlib.h を include している時は、特に意識する必要は ありません。イベントのユーザーコードは、新 wlib.h (タイムスタンプ94/11/15以後 のもの)に記述してある UserGraphic を使います。 ●構造体 typedef struct { int h, v; int color; unsigned short *buf, *palet; } UGrahic; h,v 画像のサイズを意味します。16x16dot の場合は h= v= 16; color その画像のカラーモードが入ります。種類は以下の3つです WindowAttrGraphic16 WindowAttrGraphic256 WindowAttrGraphic65536 buf データのアドレスが入ります。常に偶数アドレスからはじまってい る必要があります(よってshort型)。データ内容は以下の通り WindowAttrGraphic16/256 1dot = 1byte のカラーコード 例 16x16dot の画像は 256byte, short で128個分 WindowAttrGraphic65536 1dot = 2byte のカラーコード 例 16x16dot の画像は 512byte, short で256個分 palet パレットテーブルのアドレスが入ります。パレットデータを必要と しないデータの場合は NULL が入ります。 ●使用例 イベント送信例 case EventMouseSwitch: if( info->LeftON ){ UGraphic ug; ug.h= 16; ug.v= 16; ug.color= WindowAttrGraphic16; ug.buf= buf; ug.palet= NULL UserSendOperation( wp, info, UserGraphic, &ug ); } イベント受信例 case EventUser: switch( info->ComData ){ case UserGraphic: .... break; }