[BACK]Return to MGLAPI.doc CVS log [TXT][DIR] Up to [jp.NetBSD.org] / othersrc / mgl / mgl2

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /othersrc/mgl/mgl2/MGLAPI.doc between version 1.3 and 1.8

version 1.3, 2000/09/09 03:18:03 version 1.8, 2000/11/13 13:36:00
Line 369  void vk_detach(struct virtual_key *vk,in
Line 369  void vk_detach(struct virtual_key *vk,in
         clean_mode が true の場合は、再帰的に free します。          clean_mode が true の場合は、再帰的に free します。
   
   
   void mgl_set_key_mode(int mode)
   
   mode に MGL_SK_RAW を指定することで、get_key を RAW モード
   にすることができます。
   
   RAW モードでは、get_key() で得られる コードは、ASCII コードではなく、
   キーそのものに対応した 7bit の キーコード と 1bit の状態
   が 得られます。
   
   例:
           ESC を 押した -> 0x01
           ESC を 離した -> 0x81
   
   元のモードにするには、
   
   mode に MGL_SK_TRANSLATED
   
   を指定します。
   
   また、MGL_SK_EXTRANSLATED を指定すると、
   ASCII コード に モデファイヤー情報を付加した値が得られます。
   
   得られるモデファイヤーは、
           MGL_SKM_CAPS
           MGL_SKM_SHIFT
           MGL_SKM_CTRL
           MGL_SKM_ALT
   です。
   
   また、モデファイヤーを取り除くには、
   
   ~MGL_SKM_MASK で & を取ってください。
   
   例:
           c = get_key(-1);
           val = c & ~MGL_SKM_MASK;
           shift = c & MGL_SKM_SHIFT;
   
   注意) モデファイヤーを単独で押し/離した 場合
           モディファイヤー情報 | MGL_SKM_NOTICE
         が得られます。MGL_SKM_NOTICE が立っている場合は、キーコードは
         意味を持ちません。
   
   新API)
           MGL_SKM_RSHIFT
           MGL_SKM_RCTRL
           MGL_SKM_RALT
   
           MGL_SKM_MENU
           MGL_SKM_RMENU
   
   が追加になりました。R 付きの モデファイヤーはデフォルトでは得ることが
   できません。mgl_set_keymode(MGL_SK_EXMODIFIER_EVENT)
   で 拡張できるようにする予定です。
   
 ge_key_im で使われる 入力メソッド(以下 im) とのインターフェイス  ge_key_im で使われる 入力メソッド(以下 im) とのインターフェイス
 単純に get_key_im を呼ぶだけで、変換ウインドウが適当に出ますが  単純に get_key_im を呼ぶだけで、変換ウインドウが適当に出ますが
 場所を多少コントロールできるようになりました。  場所を多少コントロールできるようになりました。
   
   
   マウスイベントに関するモードを次のフラグで設定できます。
   
           MGL_SK_EXMOUSE_EVENT
   
   いままで、ボタンを押している状態でないと マウス移動イベントは得られません
   でしたが、このフラグがセットされた場合、ボタンを離していても
   マウス移動イベントが得られます。
   
   
   
   キーマップのための関数群。( 対応済は、netbsd+emcons のみ)
   
   void mgl_get_keymap(int code, char *sym1, char *sym2);
   
   mgl_get_keymap は、RAW_CODE(code) がどのように 変換されるかを返します。
   sym1 に 通常の 変換シンボル (文字列)
   sym2 に シフトされたときの 変換シンボル (文字列)
   
   が返ります。シンボルの実際のコードが何かを調べるためには、mgl_get_keysym()
   を使います。
   
   int mgl_get_keysym(char *name);
   
   シンボルのコードを返します。設定されていない場合 (-1) が返ります。
   
   int mgl_set_keysym(char *name, int code);
   
   一部のシンボルは、mgl_set_keysym を呼ばないと得ることができません。
   code には、任意のコード を指定できます。( virtual_key と同じように
   MK_VX を指定することを推奨 )
   
   現在この対象になる シンボルは、
     F13 - F24 KP_0 - KP_9 KP_plus KP_minus KP_mult KP_div
     KP_delete KP_insert KP_home KP_end KP_up KP_down KP_left KP_right
     KP_pageup KP_pagedown KP_begin KP_return KP_execute
     break pause print hanzen kanji nuhenkan numlock scrlock select
   です。
   
   int mgl_set_keymap(int key,char *sym1,char *sym2);
   
   シンボルを使って keymap を設定します。
   ただし、定義されていない シンボルを指定することはできません。
   
   成功した場合: 0 失敗した場合: -1 が返ります。
   
 void im_avoid_point(int x,int y,int clean)  void im_avoid_point(int x,int y,int clean)
   
 im に対し、避けて欲しい矩形領域を通知します。  im に対し、避けて欲しい矩形領域を通知します。
Line 406  im が使う API です。
Line 506  im が使う API です。
         1 避けるべきところを避けた。          1 避けるべきところを避けた。
         2 割り当ててもらった領域内。          2 割り当ててもらった領域内。
   
   
   
   スクリーン指定関数群
   
   以下の関数は、第一引数に screen を指定します。
   対象が current_screen から指定した screen に変更になる以外は、
   上記 prefix なし関数と同じ動作をします。
   
   void mgl2_clear_screen(struct screen *s);
   void mgl2_put_pixel(struct screen *s,int x, int y, int col);
   int mgl2_get_pixel(struct screen *s,int x, int y, int op);
   void mgl2_get_pixstream(struct screen *s,int x, int y,int *buf,int length,int dir,int op);
   void mgl2_put_pixstream(struct screen *s,int x, int y,int *buf,int length,int dir);
   void mgl2_put_pixstream_rect(struct screen *s,int x, int y,int *buf,int length,int dir,int op);
   void mgl2_set_color(struct screen *s,int col);
   void mgl2_draw_pixel(struct screen *s,int x, int y);
   int mgl2_draw_line(struct screen *s,int x1, int y1, int x2, int y2);
   void mgl2_draw_rect(struct screen *s,int x, int y, int xs, int ys);
   void mgl2_fill_rect(struct screen *s,int x, int y, int xs, int ys);
   void mgl2_set_font(struct screen *s,int size,int type);
   void mgl2_draw_font(struct screen *s,int x, int y, int code, int dir);
   void mgl2_draw_string(struct screen *s,int x, int y, char *str, int dir);
   
 -------- MGL1 から削除  -------- MGL1 から削除
   
         draw_pixel_wc          draw_pixel_wc
Line 430  im が使う API です。
Line 553  im が使う API です。
         write_screen_native          write_screen_native
   
 ---------- 追加/変更 予定のもの  ---------- 追加/変更 予定のもの
         変更はしない方針にしました。  
   
         1. screen 指定 API 。  
                 ほとんどの関数が screen 指定可能になります。  
                 引き数追加ではなく、別関数になるよてい。  
   
                 多分 mgl_ ではない PREFIX が付きます。  
                 mglws_ ?  
   
           1. screen 指定 API 。(結局 追加しました。)
   
         2. virtual_key  多分 API が少し変わります。          2. virtual_key  多分 API が少し変わります。
   
 ---- ここでおしまい。  ---- ここでおしまい。
   
   
   
   
   
   
   

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.8

CVSweb <webmaster@jp.NetBSD.org>