/* * JCG Products Ver 1.00.00 * * Copyright (C) 2000,2001 TRON Association * All rights reserved. * Copyright (C) 2000,2001 Information-technology Promotion Agency, Japan * All rights reserved. * * 上記著作権者は,以下の条件を満たす場合に限り,本ソフトウェア(本ソ * フトウェアを改変したものを含む.以下同じ)を使用・複製・改変・頒布・ * 送信・再許諾・貸与・翻案(以下再頒布という)することを無償で許諾す * る. * (1) 本ソフトウェアをソースコードの形で再頒布する場合には,上記の著 * 作権表示,この再頒布条件および下記の無保証規定が,ソースコード * 中に含まれていること. * (2) 本ソフトウェアをオブジェクトコードの形または機器に組み込んだ形 * で再頒布する場合には,次のいずれかの条件を満たすこと. * ・再頒布に伴うドキュメント(利用者マニュアルなど)に,上記の * 著作権表示,この再頒布条件および下記の無保証規定を掲載する * こと. * ・本ソフトウェアを利用したことによって直接的または間接的に生 * じたいかなる損害からも,上記著作権者を免責すること. * * 本ソフトウェアは,無保証で提供されているものである.上記著作権者は, * 本ソフトウェアに関して,その適用可能性も含めて,いかなる保証も行わ * ない.また,本ソフトウェアを利用したことによって直接的または間接的 * に生じたいかなる損害に関しても,その責任を負わない. * * The Copyrights Holder above agrees that this software (including the * Derivative work of this software. This is applicable hereinafter) is * used, copied, modified, distributed, sent, re-granted, lent or adopted * (hereinafter called "redistribution") for free as long as the * following License Conditions are satisfied. * (1) If this software is to be redistributed in the form of source * codes, Copyright Notice above, this redistribution conditions, * and the following NO WARRANTY Provisions must be included in * the source code. * (2) If this software is to be redistributed in the form of object * codes or integrated into a device, either of the following * conditions must be satisfied. * - Copyright Notice above, this redistribution conditions, and * the following NO WARRANTY Provisions appear in the attached * document (such as users manual). * - Copyrights Holder above is exempted from any direct/indirect * damages caused as a result of using this software. * * This software is provided with NO WARRANTY. Copyrights Holder above * provides NO WARRANTY on this software, including its applicability, * and is not liable for any direct/indirect damages caused as a result * of using this software. * * NOTICE: * Sentences above are translation for reference. For legal purposes, * the original Japanese sentences on top of this file are the official * sentences for License Conditions. */ /* JCG GUI用ヘッダファイル */ #if 0 typedef struct { H x, y; } PNT; typedef struct { H h, v; } SIZE; typedef union { struct { H left, top; H right, bottom; } c; { PNT lefttop; PNT rightbot; } p; } RECT; #endif /* イベント管理 */ typedef struct { W type; PNT pos; TC key; UW stat; } EVENT; #define GE_NULL 0 #define GE_BUTDWN 1 #define GE_BUTUP 2 #define GE_KEYDWN 3 #define GE_KEYUP 4 #define GE_AUTKEY 5 /* 入力機器管理 */ typedef struct { W type; W x, y; } RAWEVT; #define GE_RMOVE 0 /* x:相対移動X y:相対移動Y */ #define GE_AMOVE 1 /* x:絶対移動X y:絶対移動Y */ #define GE_PDBUT 2 /* x:ボタン状態 */ #define GE_KEYON 3 /* x:押されたキー */ #define GE_KEYOFF 4 /* x:離されたキー */ typedef struct { W sense_x, sense_y; /* sense_x/0x100の倍率 */ } PD_ATTR; typedef struct { W rep_delay, rep_int; /* キーリピート開始、間隔 */ /* -1で、キーリピート停止 */ } KEY_ATTR; /* DP */ #define PLANES 1 #define PIXBITS 1 /* 1, 2, 4, 8 */ typedef struct { UW planes; UH pixbits; UH rowbytes; RECT bounds; UB *baseaddr[PLANES]; } BMP; typedef struct { PNT off; RECT vr; W nfra; RECT fra[0]; } GENVPAR; #define G_STORE 0 #define G_XOR 1 #define G_OR 2 #define G_AND 3 #define G_CPYN 4 #define G_XORN 5 #define G_ORN 6 #define G_ANDN 7 typedef UW COLOR; typedef struct { W type; /*パターン種別(=0)*/ H h, v; /*パターンの大きさ*/ COLOR fgcol, bgcol; /*前景色・背景色*/ UB *mask; /*マスクへのポインタ*/ } PAT; #define FILL0 ((UB*)1) #define FILL12 ((UB*)2) #define FILL25 ((UB*)3) #define FILL50 ((UB*)4) #define FILL75 ((UB*)5) #define FILL87 ((UB*)6) #define FILL100 ((UB*)7) typedef struct { W type; /*フォント種別(=0)*/ TC start; /*先頭文字コード*/ TC end; /*末端文字コード*/ SIZE size; /*フォントの大きさ*/ UB data[0]; /*フォントデータ本体*/ } FONT; /*パネル/シーン*/ #define GE_REDISP 0x100 /*再表示要求*/ #define GC_NULL 0 /*NULLパーツ*/ #define GC_TEXT 0x100 /*文字列パーツ*/ #define GC_RECT 0x101 /*長方形パーツ*/ #define GC_BMAP 0x102 /*ビットマップパーツ*/ #define GC_LINE 0x103 /*直線(lattr=1)パーツ*/ #define GC_RREC 0x104 /*角丸長方形パーツ*/ #define GC_OVAL 0x105 /*楕円長方形パーツ*/ /*パーツ/文字入力*/ typedef struct { W type; RECT r; W val; TC *str; /*ボリュームの場合は{ノブ幅, ボリューム幅}*/ } PARTS; #define GC_TBPARTS 1 /*テキストボックス*/ #define GC_MSPARTS 2 /*モーメンタリスイッチ*/ #define GC_ASPARTS 3 /*オルタネートスイッチ*/ #define GC_WSPARTS 4 /*スイッチセレクタ*/ #define GC_SSPARTS 5 /*スクロールセレクタ*/ #define GC_ESPARTS 6 /*シリアルセレクタ*/ #define GC_VLPARTS 7 /*ボリューム*/ #define GC_TYPEMASK 0x1f #define GC_HALIGN 0x20 /*水平配置:WS/VL*/ #define GC_DOUBLE 0x40 /*2段組み:WS*/ #define GC_NONOB 0x80 /*トンボ表示なし*/ #define GC_NOSEL 0x80 /*無選択を許可*/ #define GC_EMPHAS 0x200 /*強調枠:MSPARTS*/ #define GC_DISABLE 0x800 /*禁止状態*/ #define GC_NORMAL 0x2 /*通常枠:MSPARTS*/ #define GC_ENABLE 0x8 /*許可状態*/ #define MC_STR 0x1000 /*文字列開始*/ #define GC_ACT 0x1000 /*状態変化あり*/ /*データボックス*/ #define GD_END 0 /*終端*/ #define GD_NEXT 1 /*継続*/ #define GD_PANEL 2 /*パネルデータ*/ #define GD_SCENE 3 /*シーンデータ*/ /*イベント管理*/ IMPORT W ge_ini_evt(VOID *init); IMPORT W ge_ini_inp(VOID *init); IMPORT W ge_gen_evt(RAWEVT *evt); IMPORT W ge_set_pda(PD_ATTR *attr); IMPORT W ge_get_pda(PD_ATTR *attr); IMPORT W ge_set_kya(KEY_ATTR *attr); IMPORT W ge_get_kya(KEY_ATTR *attr); IMPORT W ge_set_ktb(W size, TC *table); IMPORT W ge_get_ktb(W size, TC *table); IMPORT W ge_put_evt(EVENT *evt); IMPORT W ge_get_evt(EVENT *evt, W tmout, W clr); IMPORT W ge_clr_evt(W all); IMPORT W ge_sus_evt(W sus); /*パネル管理*/ IMPORT W gp_ini_env(BMP *screen); IMPORT W gp_set_ptr(W type, PNT *p); IMPORT W gp_cre_env(GENVPAR *par); IMPORT W gp_del_env(W gid); IMPORT W gp_set_off(W gid, PNT *p); IMPORT W gp_get_off(W gid, PNT *p); IMPORT W gp_set_vis(W gid, RECT *r); IMPORT W gp_get_vis(W gid, RECT *r); IMPORT W gp_set_fra(W gid, RECT *r, W cnt); IMPORT W gp_get_fra(W gid, RECT *r, W cnt); IMPORT W gp_cre_pat(PAT *pat); IMPORT W gp_del_pat(W pid); IMPORT W gp_dra_lin(W gid, PNT s, PNT e, UW lattr, W pid, W mode); IMPORT W gp_fra_rec(W gid, RECT r, UW lattr, W pid, W mode); IMPORT W gp_fil_rec(W gid, RECT r, W pid, W mode); IMPORT W gp_fra_rrc(W gid, W rh, W rv, RECT r, UW lattr, W pid, W mode); IMPORT W gp_fil_rrc(W gid, W rh, W rv, RECT r, W pid, W mode); IMPORT W gp_fra_ovl(W gid, RECT r, UW lattr, W pid, W mode); IMPORT W gp_fil_ovl(W gid, RECT r, W pid, W mode); IMPORT W gp_pic_lin(PNT pt, PNT s, PNT e, W width); IMPORT W gp_pic_rec(PNT pt, RECT r, W width); IMPORT W gp_pic_rrc(PNT pt, W rh, W rv, RECT r, W width); IMPORT W gp_pic_ovl(PNT pt, RECT r, W width); IMPORT W gp_dra_bmp(W gid, BMP *bmp, PNT p, W mode); IMPORT W gp_set_fon(W gid, FONT *font); IMPORT W gp_dra_stp(W gid, PNT p, TC *str, W len, W pid, W mode); IMPORT W gp_get_str(W gid, TC *str, W len, RECT *r); #ifdef IPA IMPORT VOID* gp_savescreen(); IMPORT W gp_restorescreen(VOID* p); #endif IMPORT W gp_ini_pnl(VOID *init); IMPORT W gp_cre_scn(PARTS *parts, W nitem); IMPORT W gp_del_scn(W wid); IMPORT W gp_set_scn(W wid, W item, PARTS *parts); IMPORT W gp_swi_scn(W wid); IMPORT W gp_vis_scn(W wid, RECT *r); IMPORT W gp_kps_scn(W wid, PNT *p); IMPORT W gp_act_scn(W wids, W wide, EVENT *evt, W* wid, W* item, W tmout); IMPORT W gp_cre_pnl(RECT *r, PARTS *parts, W nitem); IMPORT W gp_del_pnl(W wid); IMPORT W gp_set_pnl(W wid, W item, PARTS *parts); IMPORT W gp_app_pnl(W wid); IMPORT W gp_dis_pnl(W wid); IMPORT W gp_vis_pnl(W wid, RECT *r); IMPORT W gp_kps_pnl(W wid, PNT *p); #define gp_act_pnl gp_act_scn /*パーツ管理*/ IMPORT W gc_ini_par(VOID *init); IMPORT W gc_cre_par(W gid, PARTS *parts); IMPORT W gc_del_par(W cid); IMPORT W gc_dsp_par(W cid, W mode); IMPORT W gc_set_par(W cid, TC *str, W val); IMPORT W gc_get_par(W cid, TC *str, W size); IMPORT W gc_act_par(W cid, EVENT *evt); /*文字入力管理*/ #define gt_cre_par gc_cre_par #define gt_del_par gc_del_par #define gt_dsp_par gc_dsp_par #define gt_set_par gc_set_par #define gt_get_par gc_get_par #define gt_act_par gc_act_par /*データボックス管理*/ IMPORT W gd_reg_dat(TC *data, W *id, W size); #ifdef IPA IMPORT W gd_wri_dat(TC *filename, TC *data); IMPORT W gd_rea_dat(TC *filename, W *id, W size); #endif /*テスト支援コード*/ IMPORT W init_evtsvr(W startup); IMPORT W ge_eventdump(); IMPORT W gp_paneldump(); IMPORT W gc_partsdump(); IMPORT W ge_calldump(W mode); IMPORT W ge2_calldump(W mode); /*入力機器管理*/ IMPORT W gp_calldump(W mode); /*描画*/ IMPORT W gp2_calldump(W mode); /*パネル*/ IMPORT W gc_calldump(W mode); IMPORT W gd_calldump(W mode); /* end of file */