







                         CChhaapptteerr 1111

                      ٥Ƚؿ



ξϤǤϰʲνǽˤ Xlib δؿ:

+o    ٥Ȥ

+o    ϥХåեȥ٥ȥ塼ν

+o    ٥ȥ塼Υ٥Ȥ

+o    ٥Ȥȼ

+o    ץȥ륨顼ν

                              

          ġ륭åȤˤäƤȼΥ٥Ƚؿ
          ѤƤꡢΥ٥Ƚؿ Xlib
          Υ٥ȽؿȰ˻ȤȤǧƤ
          ʤΤ롣ܤϤ줾Υġ륭
          Ȥ°ƤɥȤ򻲾Ȥ뤳ȡ


ۤȤɤΥץꥱñʤ륤٥ȥ롼פǤ: Ĥ
ꥤ٥ȤԤɤΤ褦˥٥Ȥб뤫ᡢ̤
ɽѤ褦ʲ餫Υɤ¹Ԥ줫鼡Υ
٥ȤԤĤȤưԤ

00..11..  ٥Ȥ

饤ȥץꥱΤ٥Ȥ򤹤
ˡ 2 Ĥ롣Ĥˡϡ _X_C_r_e_a_t_e_W_i_n_d_o_w  _X_C_h_a_n_g_e_W_i_n_-
_d_o_w_A_t_t_r_i_b_u_t_e_s ƤӽФݤ _X_S_e_t_W_i_n_d_o_w_A_t_t_r_i_b_u_t_e_s ¤Τ
event_mask Фꤹ뤳ȤǤ롣⤦Ĥˡϡ
_X_S_e_l_e_c_t_I_n_p_u_t ȤȤǤ롣






















                             -2-

__
||
XSelectInput(_d_i_s_p_l_a_y, _w, _e_v_e_n_t___m_a_s_k)
      Display *_d_i_s_p_l_a_y;
      Window _w;
      long _e_v_e_n_t___m_a_s_k;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_w         ɥꤹ롣Υɥ륤
          Ȥܤ롣

_e_v_e_n_t___m_a_s_k
          ٥ȥޥꤹ롣
||__

ؿ _X_S_e_l_e_c_t_I_n_p_u_t ϡꤵ줿٥ȥޥб륤
Ȥ X ФΤ뤳Ȥ׵᤹롣ǽϡX Ϥ
Υ٥ȤΤʤ٥Ȥϥɥ˴ؤ
롣ɥǥХ٥ȤܤƤʤС
Х٥Ȥ̾ǥХ٥ȤܤƤǤᤤ
襦ɥŤ롣 do_not_propagate ޥ
äƶػߤƤˤϡŤϹԤʤ

륦ɥΥ٥ȥޥ°ꤹȡƱ
Фƾ񤭤뤬¾Υɥ
Ͼ񤭤ʤʲ¤βǡƱɥ
Ʊ٥ȤʣΥ饤ȤǼ뤳ȤǤ:

+o    ʣΥ饤ȤƱɥΥ٥Ȥ򤹤
     ȤǤ롣ʤʤ顢Υ٥ȥޥϤ줾
     ̤Ǥ롣 X Ф٥ȤX 
     ФϤΥ٥ȤܤƤƤΥ饤Ȥ
     ΤԤ

+o    _C_i_r_c_u_l_a_t_e_R_e_q_u_e_s_t, _C_o_n_f_i_g_u_r_e_R_e_q_u_e_s_t, _M_a_p_R_e_q_u_e_s_t γƥ
     ȤϡƱ 1 ĤΥ饤ȤǤʤ
     Υ٥Ȥϡ٥ȥޥ _S_u_b_s_t_r_u_c_t_u_r_e_R_e_d_i_r_e_c_t_M_a_s_k
     б롣

+o    _R_e_s_i_z_e_R_e_q_u_e_s_t ٥ȤϡƱ 1 ĤΥ饤Ȥ
     ǤʤΥ٥Ȥϡ٥ȥޥ _R_e_s_i_z_-
     _e_R_e_d_i_r_e_c_t_M_a_s_k б롣

+o    _B_u_t_t_o_n_P_r_e_s_s ٥ȤϡƱ 1 ĤΥ饤Ȥ
     ǤʤΥ٥Ȥϡ٥ȥޥ _R_e_s_i_z_e_R_e_d_i_-
     _r_e_c_t_M_a_s_k б롣

ФϡΥ٥ȤܤƤƤΥ饤Ȥ
Ԥ

ؿ _X_S_e_l_e_c_t_I_n_p_u_t ϥ顼 _B_a_d_W_i_n_d_o_w 뤳Ȥ롣











                             -3-


00..22..  ϥХåեν

ϥХåեȤϡXlib ꥯȤǼ뤿˻Ȥΰ
Ǥ롣ξϤ 3 Ĥδؿϡؿ֥åƤ
뤫뤤ϥ٥Ȥ֤ʤ˽ϥХåեե
夹롣ĤޤꡢϥХåեäƤơޤƤ
ƤΥꥯȤ X Ф롣ƴؿϡХåե
Υեåʳưۤʤ롣


ϥХåեեå夹ˤϡ _X_F_l_u_s_h Ѥ롣
__
||
XFlush(_d_i_s_p_l_a_y)
      Display *_d_i_s_p_l_a_y;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣
||__

ؿ _X_F_l_u_s_h ϽϥХåեեå夹롣ۤȤɤΥץ
ϤδؿɬפȤʤʤʤ顢ɬפ˱
_X_P_e_n_d_i_n_g, _X_N_e_x_t_E_v_e_n_t, _X_W_i_n_d_o_w_E_v_e_n_t θƤӽФˤäƽ
ХåեưŪ˥եå夵뤫Ǥ롣Ф
٥Ȥϡ饤֥Υ٥ȥ塼뤳Ȥ
롣


ϥХåեեå夷ƤΥꥯȤޤ
Ԥľˤϡ _X_S_y_n_c Ѥ롣
__
||
XSync(_d_i_s_p_l_a_y, _d_i_s_c_a_r_d)
      Display *_d_i_s_p_l_a_y;
      Bool _d_i_s_c_a_r_d;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_d_i_s_c_a_r_d   _X_S_y_n_c ٥ȥ塼äƤƤΥ٥Ȥ
          ˴뤫ɤ򼨤 Bool ͤꤹ롣
||__

ؿ _X_S_y_n_c ϽϥХåեեå夷塢X Ф
ΥꥯȤäƽΤԤġ륨顼
ơ顼ϥɥǽʤФʤʤ Xlib 
äƥץȥ륨顼ˤĤƤϡ _X_S_y_n_c ϥ饤ȥ
ץꥱΥ顼롼(11.8.2 򻲾)Ƥӽ
ФƤΥ٥Ȥϡ饤֥Υ٥
塼롣

Ǹˤʤ뤬 _F_a_l_s_e  _d_i_s_c_a_r_d Ϥȡ _X_S_y_n_c 
塼äƤ륤٥Ȥ˴ʤ _T_r_u_e Ϥȡ
_X_S_y_n_c ϥ塼äƤ륤٥Ȥ˴롣˴









                             -4-


٥Ȥˤϡ _X_S_y_n_c ƤӽФ˥塼äƤ
٥Ȥޤޤ롣饤ȥץꥱ _X_S_y_n_c 
ӽФɬפ뤳ȤϤۤȤɤʤ

00..33..  ٥ȥ塼δ

Xlib ϥ٥ȥ塼롣ͥåȥ³
Ρޤ٥ȥ塼ɤ߹ޤƤʤǡΥХåե
󥰤ϥڥ졼ƥ󥰥ƥबԤȤ⤢롣


٥ȥ塼äƤ륤٥ȤθĿĴ٤ˤϡ
_X_E_v_e_n_t_s_Q_u_e_u_e_d Ȥ
__
||
int XEventsQueued(_d_i_s_p_l_a_y, _m_o_d_e)
     Display *_d_i_s_p_l_a_y;
     int _m_o_d_e;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_m_o_d_e      ⡼ɤꤹ롣 _Q_u_e_u_e_d_A_l_r_e_a_d_y,
          _Q_u_e_u_e_d_A_f_t_e_r_F_l_u_s_h, _Q_u_e_u_e_d_A_f_t_e_r_R_e_a_d_i_n_g.  Τ줫
          ꤹ뤳ȤǤ롣
||__

⡼ɤ _Q_u_e_u_e_d_A_l_r_e_a_d_y ʤС _X_E_v_e_n_t_s_Q_u_e_u_e_d ϴ˥٥
塼äƤ륤٥ȤθĿ֤(ƥॳ
¹Ԥʤ)⡼ɤ _Q_u_e_u_e_d_A_f_t_e_r_F_l_u_s_h ξ硢˥٥
塼äƤ륤٥ȤθĿ 0 ǤʤС
_X_E_v_e_n_t_s_Q_u_e_u_e_d Ϥο֤塼äƤ륤٥Ȥ
С _X_E_v_e_n_t_s_Q_u_e_u_e_d ϽϥХåեեå夷ץ
Ȥ³ɲäΥ٥Ȥɤ߹⤦Ȥɤ߹
᤿٥ȤθĿ֤⡼ɤ _Q_u_e_u_e_d_A_f_t_e_r_R_e_a_d_i_n_g ξ
硢˥٥ȥ塼äƤ륤٥ȤθĿ 0 Ǥʤ
С _X_E_v_e_n_t_s_Q_u_e_u_e_d Ϥο֤塼äƤ륤
ȤʤСץꥱȤ³ɲäΥ٥Ȥ
ɤ߹⤦Ȥɤ߹᤿٥ȤθĿ֤κݤˤϽ
ϥХåեΥեåϹԤʤ

˥٥Ȥ塼äƤɬ _X_E_v_e_n_t_s_Q_u_e_u_e_d 
I/O ԤȤʤ¨¤롣⡼ɤ _Q_u_e_u_e_d_A_f_t_e_r_F_l_u_s_h
Ǥ _X_E_v_e_n_t_s_Q_u_e_u_e_d ư _X_P_e_n_d_i_n_g ƱǤ롣
ɤ _Q_u_e_u_e_d_A_l_r_e_a_d_y Ǥ _X_E_v_e_n_t_s_Q_u_e_u_e_d ϴؿ _X_Q_L_e_n_g_t_h 
ƱǤ롣


ڥǥ󥰤Ƥ륤٥ȤθĿˤϡ _X_P_e_n_d_i_n_g 
Ѥ롣













                             -5-

__
||
int XPending(_d_i_s_p_l_a_y)
      Display *_d_i_s_p_l_a_y;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣
||__

ؿ _X_P_e_n_d_i_n_g ϡX Ф˼äƤ뤬٥
塼ϤޤƤʤ٥ȤθĿ֤
_X_P_e_n_d_i_n_g ϡ⡼ɤ _Q_u_e_u_e_d_A_f_t_e_r_F_l_u_s_h ꤷƤ
_X_E_v_e_n_t_s_Q_u_e_u_e_d ƱǤ롣

00..44..  ٥ȥ塼

Xlib ˤϥ٥ȥ塼뤿δؿѰդƤ
롣ξϤǤϰʲΤȤԤˡ:

+o    ٥Ȥ˼򥭥塼

+o    ٥Ȥ򥭥塼뤳Ȥʤ塼äƤ
     륤٥ȤĴ٤

+o    ٥ȥޥޤϻꤵ줿ǤդνҸ³˥ޥå
     륤٥Ȥ

00..44..11..  Υ٥Ȥֵ

Υ٥Ȥ򥤥٥ȥ塼ˤϡ
_X_N_e_x_t_E_v_e_n_t Ѥ롣
__
||
XNextEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ٥ȥ塼äƤ뼡Υ٥Ȥ֤롣
||__

ؿ _X_N_e_x_t_E_v_e_n_t ϡ٥ȥ塼äƤǽΥ٥
 _X_E_v_e_n_t ¤Τ˥ԡΥ٥Ȥ򥭥塼
롣٥ȥ塼ξ硢 _X_N_e_x_t_E_v_e_n_t ϽϥХåե
å夷٥Ȥ 1 ļޤǥ֥å롣


٥ȥ塼ƤĴ٤ˤ _X_P_e_e_k_E_v_e_n_t Ѥ롣













                             -6-

__
||
XPeekEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤ΤΥԡ֤
||__

ؿ _X_P_e_e_k_E_v_e_n_t ϥ٥ȥ塼κǽΥ٥Ȥ֤
Υ٥Ȥϥ塼Ϻʤ塼ξ硢
_X_P_e_e_k_E_v_e_n_t ϽϥХåեեå夷٥Ȥ 1 ļ
ޤǥ֥å롣줫 _X_P_e_e_k_E_v_e_n_t ϤΥ٥Ȥ
饤ȤѰդ _X_E_v_e_n_t ¤Τ˥ԡ롣κݤˡ
Υ٥Ȥ٥ȥ塼ä뤳ȤϤʤ

00..44..22..  Ҹ³³Ѥ٥Ȥ

ξϤؿˤϤ줾졢Ҹ³Ϥɬפ
롣Ҹ³Ȥϡ륤٥Ȥ˾륤٥Ȥ˥ޥå
뤫ɤ³Ǥ롣ѰդҸ³ϡΥ
٥ȤȤ뤫ɤ Xlib δؿƤӽФȤʤ
ʤФʤʤҸ³٥ȥ塼ξ֤ľܡ
ŪѤ硢η̤̤Ǥ롣 Xlib å
б褦˽ƤȡҸ³ϥåƤ
ǥץ쥤ȤäƸƤӽФΤǡƤӽФ¦ǽ
_X_L_o_c_k_D_i_s_p_l_a_y ƤǤʤСǥץ쥤åƤ
 Xlib δؿҸ³ƤӽФ̤Ƥ


Ҹ³Ȥбʲ˼:
__
||
Bool (*_p_r_e_d_i_c_a_t_e)(_d_i_s_p_l_a_y, _e_v_e_n_t, _a_r_g)
     Display *_d_i_s_p_l_a_y;
     XEvent *_e_v_e_n_t;
     XPointer _a_r_g;


_d_i_s_p_l_a_y   X Фؤ³ꡣ

_e_v_e_n_t     _X_E_v_e_n_t ¤Τꡣ

_a_r_g       ؿ _X_I_f_E_v_e_n_t, _X_C_h_e_c_k_I_f_E_v_e_n_t, _X_P_e_e_k_I_f_E_v_e_n_t Τ
          줫Ϥ줿ꡣ
||__

Ҹ³ϡޥåΤΤĤޤǡ塼ä
륤٥ 1 ĤȤ 1 ƤӽФ롣ޥåΤ
ĤȡҸ³ _T_r_u_e ֤ʤФʤʤޥå
ΤĤʤȡҸ³ _F_a_l_s_e ֤ʤФ









                             -7-


ʤ


٥ȥ塼Ĵ٤ƥޥå륤٥Ȥõޥå륤
٥ȤäˤϤΥ٥Ȥ򥭥塼ˤϡ
_X_I_f_E_v_e_n_t Ȥ
__
||
XIfEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___r_e_t_u_r_n, _p_r_e_d_i_c_a_t_e, _a_r_g)
      Display *_d_i_s_p_l_a_y;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;
      Bool (*_p_r_e_d_i_c_a_t_e)();
      XPointer _a_r_g;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå٥Ȥб빽¤Τ֤롣

_p_r_e_d_i_c_a_t_e 塼äƤ륤٥Ȥߤ٥ȤǤ뤫
          ɤݤ˸ƤӽФ³ꤹ롣

_a_r_g       Ҹ³Ϥ롢桼ΰꤹ
          롣
||__

ؿ _X_I_f_E_v_e_n_t λΤϡ륤٥ȤФơꤵ
Ҹ³ _T_r_u_e ֤Ǥ롣ϥ塼
Ƥ륤٥ȤޥåȤ򼨤 _X_I_f_E_v_e_n_t ʤ륤
٥ȤԤäƥ֥åƤˤϡ _X_I_f_E_v_e_n_t Ͻ
Хåեեå夹롣 _X_I_f_E_v_e_n_t ϥޥå륤٥Ȥ
塼Υ٥ȹ¤Τ򥯥饤ȤͿ
_X_E_v_e_n_t ¤Τ˥ԡ롣


֥å뤳Ȥʤ٥ȥ塼Ĵ٤ƥޥå륤
Ȥõˤϡ _X_C_h_e_c_k_I_f_E_v_e_n_t Ȥ

























                             -8-

__
||
Bool XCheckIfEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___r_e_t_u_r_n, _p_r_e_d_i_c_a_t_e, _a_r_g)
      Display *_d_i_s_p_l_a_y;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;
      Bool (*_p_r_e_d_i_c_a_t_e)();
      XPointer _a_r_g;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤ΤΥԡ֤
          롣

_p_r_e_d_i_c_a_t_e 塼äƤ륤٥Ȥߤ٥ȤǤ뤫
          ɤݤ˸ƤӽФ³ꤹ롣

_a_r_g       Ҹ³Ϥ롢桼ΰꤹ
          롣
||__

ޥåΤҸ³Ĥȡ _X_C_h_e_c_k_I_f_E_v_e_n_t 
ޥå٥Ȥ򥯥饤ȤͿ _X_E_v_e_n_t ¤Τ˥
 _T_r_u_e ֤ (Υ٥Ȥϥ٥ȥ塼
롣) ޥåΤҸ³Ĥʤä
ϡ _X_C_h_e_c_k_I_f_E_v_e_n_t  _F_a_l_s_e ֤ϥХåեեå
롣˥٥ȥ塼äƤ٥Ȥ˴
뤳Ȥʤ


٥ȥ塼Ĵ١٥ȥ塼饤٥ȤäȤ
ޥå륤٥Ȥõˤϡ _X_P_e_e_k_I_f_E_v_e_n_t Ȥ































                             -9-

__
||
XPeekIfEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___r_e_t_u_r_n, _p_r_e_d_i_c_a_t_e, _a_r_g)
      Display *_d_i_s_p_l_a_y;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;
      Bool (*_p_r_e_d_i_c_a_t_e)();
      XPointer _a_r_g;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤ΤΥԡ֤
          롣

_p_r_e_d_i_c_a_t_e ٥ȥ塼äƤ뼡Υ٥Ȥߤ
          ȤɤĴ٤뤿˸ƤӽФ³ꤹ
          롣

_a_r_g       Ҹ³Ϥ˥桼Ϳꤹ
          롣
||__

ؿ _X_P_e_e_k_I_f_E_v_e_n_t Τϡꤵ줿Ҹ³
륤٥ȤФ _T_r_u_e ֤Ǥ롣ޥå
Ҹ³Ĥϡ _X_P_e_e_k_I_f_E_v_e_n_t ϥޥå٥
Ȥ򥯥饤ȤѰդ _X_E_v_e_n_t ¤Τ˥ԡ롣κ
˥٥Ȥ٥ȥ塼뤳ȤϤʤ _X_P_e_e_k_-
_I_f_E_v_e_n_t ϡɲäΥ٥ȤԤäƥ֥åƤ硢
ϥХåեեå夹롣

00..44..33..  ɥޤϥ٥ȥޥѤ٥Ȥ

ξϤؿȤȡɥޤϥ٥ȷ
äƥ٥Ȥ򤹤뤳ȤǤ𻨤ʥ٥Ȥ
ȤǤ롣


Υ٥Ȥɥˤ⥤٥ȥޥˤޥå
硢ˤ _X_W_i_n_d_o_w_E_v_e_n_t Ȥ
























                            -10-

__
||
XWindowEvent(_d_i_s_p_l_a_y, _w, _e_v_e_n_t___m_a_s_k, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      Window _w;
      long _e_v_e_n_t___m_a_s_k;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_w         ɥꤹ롣Υɥǵä
          Ȥܤ롣

_e_v_e_n_t___m_a_s_k
          ٥ȥޥꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå٥Ȥб빽¤Τ֤롣
||__

ؿ _X_W_i_n_d_o_w_E_v_e_n_t ϥ٥ȥ塼Ĵ١ꤵ줿
ȥ٥ȥޥξ˥ޥå륤٥Ȥ򸫤Ĥ롣ޥ
ΤĤȡ _X_W_i_n_d_o_w_E_v_e_n_t ϤΥ٥Ȥ򥤥٥
ȥ塼ꤵ줿 _X_E_v_e_n_t ¤Τˤ򥳥ԡ
롣塼äƤ¾Υ٥Ȥ˴뤳ȤϤʤ
ޥå륤٥Ȥ塼äƤʤС _X_W_i_n_d_o_w_E_v_e_n_t
ϽϥХåեեå夷ޥå륤٥Ȥ
ǥ֥å롣


Υ٥Ȥǡɥ(⤷)٥ȥޥξ
˥ޥåΤˤ _X_C_h_e_c_k_W_i_n_d_o_w_E_v_e_n_t Ȥ
δؿ _X_W_i_n_d_o_w_E_v_e_n_t ȻƤ뤬֥å뤳Ȥ
٥Ȥ֤줿ɤ򼨤 _B_o_o_l ֤ͤۤ
롣




























                            -11-

__
||
Bool XCheckWindowEvent(_d_i_s_p_l_a_y, _w, _e_v_e_n_t___m_a_s_k, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      Window _w;
      long _e_v_e_n_t___m_a_s_k;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_w         ɥꤹ롣ΥɥΥ٥Ȥ
          ܤ롣

_e_v_e_n_t___m_a_s_k
          ٥ȥޥꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤Τ֤롣
||__

ؿ _X_C_h_e_c_k_W_i_n_d_o_w_E_v_e_n_t ϥ٥ȥ塼Ƥθ˥
ФȤ³ǼǤ륤٥ȤĴ١ꤵ줿ɥ
ȥ٥ȥޥ˥ޥåǽΥ٥Ȥõޥå
ΤĤ _X_C_h_e_c_k_W_i_n_d_o_w_E_v_e_n_t ϤΥ٥Ȥ
ꤵ줿 _X_E_v_e_n_t ¤Τˤ򥳥ԡ _T_r_u_e ֤
äƤ¾Υ٥Ȥ˴뤳ȤϤʤ׵ᤵ줿
٥ȤǤʤϡ _X_C_h_e_c_k_W_i_n_d_o_w_E_v_e_n_t  _F_a_l_s_e 
֤ϥХåեեå夹롣


Υ٥ȤΤ٥ȥޥ˥ޥåΤ
ˤ _X_M_a_s_k_E_v_e_n_t Ȥ
__
||
XMaskEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___m_a_s_k, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      long _e_v_e_n_t___m_a_s_k;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___m_a_s_k
          ٥ȥޥꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤Τ֤롣
||__

ؿ _X_M_a_s_k_E_v_e_n_t ϥ٥ȥ塼Ĵ١ꤵ줿ޥ
륤٥ȤõޥåΤĤȡ
_X_M_a_s_k_E_v_e_n_t ϤΥ٥Ȥꤵ줿 _X_E_v_e_n_t ¤
ˤ򥳥ԡ롣塼äƤ¾Υ٥Ȥ
뤳ȤϤʤ׵ᤵ줿٥Ȥ塼äƤʤС









                            -12-


_X_M_a_s_k_E_v_e_n_t ϽϥХåեեå夷׵ᤵ줿٥
ޤǥ֥å롣


Υ٥ȤΤ(⤷)٥ȥޥ˥ޥå
֤ˤ _X_C_h_e_c_k_M_a_s_k_E_v_e_n_t Ȥδؿ
_X_M_a_s_k_E_v_e_n_t ˻Ƥ뤬֥å뤳Ȥʤ٥
֤줿ɤ򼨤 _B_o_o_l ֤ͤۤʤ롣
__
||
Bool XCheckMaskEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___m_a_s_k, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      long _e_v_e_n_t___m_a_s_k;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___m_a_s_k
          ٥ȥޥꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤Τ֤롣
||__

ؿ _X_C_h_e_c_k_M_a_s_k_E_v_e_n_t ϥ٥ȥ塼Ƥθ X 
ФȤ³ǼǤ륤٥ȤĴ١ꤵ줿ޥ
ޥåǽΥ٥Ȥõޥå륤٥ȤĤ
ȡ _X_C_h_e_c_k_M_a_s_k_E_v_e_n_t ϤΥ٥Ȥꤵ줿
_X_E_v_e_n_t ¤Τˤ򥳥ԡ _T_r_u_e ֤塼ä
¾Υ٥Ȥ뤳ȤϤʤ׵ᤵ줿٥Ȥ
뤳ȤǤʤС _X_C_h_e_c_k_M_a_s_k_E_v_e_n_t  _F_a_l_s_e 
ϥХåեϥեå夵롣


塼äƤ뼡Υ٥ȤΤ륤٥ȷ˥ޥå
Τ֤ˤ _X_C_h_e_c_k_T_y_p_e_d_E_v_e_n_t Ѥ롣


























                            -13-

__
||
Bool XCheckTypedEvent(_d_i_s_p_l_a_y, _e_v_e_n_t___t_y_p_e, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      int _e_v_e_n_t___t_y_p_e;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t___t_y_p_e
          Ӥ륤٥ȷꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤Τ֤롣
||__

ؿ _X_C_h_e_c_k_T_y_p_e_d_E_v_e_n_t ϥ٥ȥ塼Ƥθ X 
ФȤ³ǼǤ륤٥ȤĴ١ꤵ줿˥ޥ
ǽΥ٥Ȥõޥå륤٥ȤĤС
_X_C_h_e_c_k_T_y_p_e_d_E_v_e_n_t ϤΥ٥Ȥꤵ줿 _X_E_v_e_n_t
¤Τˤ򥳥ԡ _T_r_u_e ֤塼äƤ¾
٥Ȥ˴뤳ȤϤʤ٥ȤǤʤС
_X_C_h_e_c_k_T_y_p_e_d_E_v_e_n_t  _F_a_l_s_e ֤ϥХåեϥեå夵
롣


塼äƤ뼡Υ٥Ȥǡ륤٥ȷȥɥ
˥ޥåΤ֤ˤ _X_C_h_e_c_k_T_y_p_e_d_W_i_n_d_o_w_E_v_e_n_t
Ȥ
__
||
Bool XCheckTypedWindowEvent(_d_i_s_p_l_a_y, _w, _e_v_e_n_t___t_y_p_e, _e_v_e_n_t___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      Window _w;
      int _e_v_e_n_t___t_y_p_e;
      XEvent *_e_v_e_n_t___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_w         ɥꤹ롣

_e_v_e_n_t___t_y_p_e
          Ӥ륤٥ȷꤹ롣

_e_v_e_n_t___r_e_t_u_r_n
          ޥå륤٥Ȥб빽¤Τ֤롣
||__

ؿ _X_C_h_e_c_k_T_y_p_e_d_W_i_n_d_o_w_E_v_e_n_t ϥ٥ȥ塼Ƥθ
X ФȤ³ǼǤ륤٥ȤĴ١ꤵ줿
ɥ˥ޥåǽΥ٥Ȥõޥå륤٥
ȤĤС _X_C_h_e_c_k_T_y_p_e_d_W_i_n_d_o_w_E_v_e_n_t ϤΥ٥Ȥ򥭥
ꤵ줿 _X_E_v_e_n_t ¤Τˤ򥳥ԡ









                            -14-


_T_r_u_e ֤塼äƤ¾Υ٥Ȥ˴뤳
Ϥʤ٥ȤǤʤС _X_C_h_e_c_k_T_y_p_e_d_W_i_n_d_o_w_E_v_e_n_t
 _F_a_l_s_e ֤ϥХåեϥեå夵롣

00..55..  ٥Ȥ塼᤹

٥Ȥ򥤥٥ȥ塼᤹ˤ _X_P_u_t_B_a_c_k_E_v_e_n_t Ȥ
__
||
XPutBackEvent(_d_i_s_p_l_a_y, _e_v_e_n_t)
      Display *_d_i_s_p_l_a_y;
      XEvent *_e_v_e_n_t;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_e_v_e_n_t     ٥Ȥꤹ롣
||__

ؿ _X_P_u_t_B_a_c_k_E_v_e_n_t ϥ٥ 1 Ĥǥץ쥤Υ٥
塼᤹ϥ٥Ȥ򥭥塼˥ԡ뤳Ȥˤä
ԤδؿʤΤϡ٥Ȥɤ߹ǡΥ
٥Ȥǽ褦ȷ᤿Ǥ롣 _X_P_u_t_B_a_c_k_E_v_e_n_t 
֤ƸƤӽФ¤Ϥʤ

00..66..  ¾¾ΥץꥱؤΥ٥Ȥ

٥ 1 Ĥꤵ줿ɥˤ _X_S_e_n_d_E_v_e_n_t 
Ȥδؿϥ쥯ˤ褯Ȥ롣㤨
Х쥯νͭԤϡ쥯Ѵץѥƥ
ƳǼ줿Ȥ _X_S_e_n_d_E_v_e_n_t Ȥä _S_e_l_e_c_t_i_o_n_N_o_t_i_f_y 
٥Ȥꥯ¦롣































                            -15-

__
||
Status XSendEvent(_d_i_s_p_l_a_y, _w, _p_r_o_p_a_g_a_t_e, _e_v_e_n_t___m_a_s_k, _e_v_e_n_t___s_e_n_d)
      Display *_d_i_s_p_l_a_y;
      Window _w;
      Bool _p_r_o_p_a_g_a_t_e;
      long _e_v_e_n_t___m_a_s_k;
      XEvent *_e_v_e_n_t___s_e_n_d;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_w         ٥ȤȤʤ륦ɥ _P_o_i_n_t_e_r_W_i_n_d_o_w,
          _I_n_p_u_t_F_o_c_u_s Τ줫ꤹ롣

_p_r_o_p_a_g_a_t_e Bool ͤꤹ롣

_e_v_e_n_t___m_a_s_k
          ٥ȥޥꤹ롣

_e_v_e_n_t___s_e_n_d
          륤٥Ȥꤹ롣
||__

ؿ _X_S_e_n_d_E_v_e_n_t Υɥ̤ꤵ줿
ȤɤΥ饤Ȥ٤ᡢƤǽưŪ
̵֤뤹롣δؿˤϥ٥ȥޥϤʤФʤ
ʤͭʥ٥ȥޥ̾ΤˤĤƤϡ10.3 򻲾Ȥ
뤳ȡδؿϰ w ȤäơʲΤ褦襦
ɥ̤:

+o    w  _P_o_i_n_t_e_r_W_i_n_d_o_w Ǥ硢襦ɥϥݥ
     ޤǤ륦ɥȤʤ롣

+o    w  _I_n_p_u_t_F_o_c_u_s ξ硢եɥݥ
     ޤǤʤ襦ɥϥݥ󥿤ޤǤ
     륦ɥȤʤ롣ݥ󥿤ޤǤʤ
     ɥϥեɥȤʤ롣

ꤵ줿٥Ȥ륯饤Ȥ뤿ᡢ
_X_S_e_n_d_E_v_e_n_t ϰ propagate ʲΤ褦Ѥ:

+o    event_mask ʤС٥Ȥ襦ɥ
     饤Ȥ롣Υ饤Ȥ
     λƤС٥Ȥʤ

+o    propagate  _F_a_l_s_e ʤС٥Ȥϰ event_mask
     ˴ޤޤƤ뤤줫Υ٥ȷ襦ɥ
     򤷤ƤƤΥ饤Ȥ롣

+o    propagate  _T_r_u_e Ǥꡢ襦ɥˤƻ
     줿٥ȷ򥤥٥ȥޥ򤷤Ƥ륯饤
     ȤʤС襦ɥ襦ɥ
     襦ɥΤξǤᤤΤ
     ֤롣ξȤϡ餫Υ饤Ȥ









                            -16-


     ٥ȷ򥤥٥ȥޥ򤷤ƤꡢĴ֤˶ޤ
     Ƥ륦ɥˤϡΥ٥ȷ do-not-prop-
     agate-mask ˴ޤǤΤ̵ȤǤ롣Τ褦
     ɥ¸ߤʤ䡢Υɥե
     ɥǤꡢĸȤ _I_n_p_u_t_-
     _F_o_c_u_s ꤵƤˤϡ٥ȤϤɤΥ饤
     ȤˤʤǤʤˤϡevent_mask ˻
     ꤵƤ륤٥ȷΤ줫ǽŪ襦
     ɥˤ򤷤ƤƤΥ饤ȤФƥ
     Ȥ롣

_X_E_v_e_n_t ¤Τĥ٥Ȥϡ٥ȤΤ줫
뤤ϳĥˤäƤ륤٥ȤΤ줫Ǥʤ
ʤʤ(ʤ _B_a_d_V_a_l_u_e 顼Ȥʤ)ϡX 
ɬפ˱ƹ¤ΤƤХȸ򴹤Ǥ褦ˤ
Ǥ롣ʳξˤϡ٥ȤƤ X Ф
ѹĴ٤뤳ȤϤʤ㳰Ȥơ٥Ȥž
 send_event  _T_r_u_e ˤ뤳Ȥ䡢٥ȤΥꥢ
ֹꤹ뤳Ȥ롣äơ _X_S_e_n_d_E_v_e_n_t Ϥ
Υեɤ display եɤ̵뤹롣

_X_S_e_n_d_E_v_e_n_t ̿ץȥؤѴԤ 0 
ʳξˤ 0 Ǥʤ֤ͤ

_X_S_e_n_d_E_v_e_n_t ϥ顼 _B_a_d_V_a_l_u_e, _B_a_d_W_i_n_d_o_w 򵯤Ȥ롣

00..77..  ݥưưμ

 X Фμϡݥ󥿤ưˤĤơ٥
Τˤä𤵤¿Ƥ롣ݥ
󥿤Υϡɥߤ򵯤ݤΥݥ󥿤ΰ֤ϡ
Ǽ뤿˥Хåե˳Ǽ롣ΥХåեư
ХåեȸƤФ롣㤨ФץΤ褦ʰ
ץꥱǤϡݥ󥿤̤äפ˴ؤΤ
ɬפǤ롣ΥץꥱˤȤäƤϡΤ
Ϥޤä;פǤ롣


ưХåեΤ褽κǿˤ _X_D_i_s_p_l_a_y_M_o_-
_t_i_o_n_B_u_f_f_e_r_S_i_z_e Ȥ
__
||
unsigned long XDisplayMotionBufferSize(_d_i_s_p_l_a_y)
        Display *_d_i_s_p_l_a_y;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣
||__

ФˤäƤϡݥ󥿤ưκǶݻ
_M_o_t_i_o_n_N_o_t_i_f_y ٥ȤΤ٤γ٤
뤳ȤǤ롣ؿ _X_G_e_t_M_o_t_i_o_n_E_v_e_n_t_s ϤѲǽ
ˤ롣










                            -17-


ꤵ줿ɥȻ֤˴ؤưˤϡ _X_G_e_t_-
_M_o_t_i_o_n_E_v_e_n_t_s Ȥ
__
||
XTimeCoord *XGetMotionEvents(_d_i_s_p_l_a_y, _w, _s_t_a_r_t, _s_t_o_p, _n_e_v_e_n_t_s___r_e_t_u_r_n)
      Display *_d_i_s_p_l_a_y;
      Window _w;
      Time _s_t_a_r_t, _s_t_o_p;
      int *_n_e_v_e_n_t_s___r_e_t_u_r_n;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_w         ɥꤹ롣

_s_t_a_r_t

_s_t_o_p      ٥ȤưХåե֤ϰϤ
          ꤹ롣ॹפޤ _C_u_r_r_e_n_t_T_i_m_e 
          뤳ȤǤ롣

_n_e_v_e_n_t_s___r_e_t_u_r_n
          ưХåե֤줿٥ȿ֤롣
||__

ؿ _X_G_e_t_M_o_t_i_o_n_E_v_e_n_t_s ϡꤵ줿ϻȽλδ֤
(ϻȽλޤ)ĺɸꤵ줿
θ֤߰(ޤ)ˤƤΥ٥Ȥư
Хåե֤Фư򥵥ݡȤƤʤ硢
ϻ郎λᤤ硢ϻ郎̤Ǥ
ϡ٥Ȥ֤ʤξˤ _X_G_e_t_M_o_t_i_o_n_E_v_e_n_t_s
 NULL ֤λ̤ꤹΤ _C_u_r_r_e_n_t_T_i_m_e 
ꤹ뤳ȤƱǤ롣δؿ֤ͤηϡʲ
Ĺ¤ΤǤ:

__
||
typedef struct {
     Time time;
     short x, y;
} XTimeCoord;

||__

time Фˤϻ֤ꤵ롣ñ̤ϥߥäǤ롣 x, y
Фˤϥݥ󥿤κɸꤵ롣κɸϻꤵ줿
ɥ˴ؤɸΤ롣δؿ֤ǡ
ˤ _X_F_r_e_e Ȥ

_X_G_e_t_M_o_t_i_o_n_E_v_e_n_t_s ϥ顼 _B_a_d_W_i_n_d_o_w 򵯤Ȥ롣













                            -18-


00..88..  ץȥ륨顼ν

Xlib ˤϡƱ̵ͭꤷꡢǥեȤΥ顼
ϥɥȤδؿѰդƤ롣

00..88..11..  ƱƱͭͭ̵̵

X ΥץꥱΥǥХåԤݤˤϡXlib ƱŪ
ư顼Ǥ𤵤褦ˤ
ʤȤ¿ʲδؿȤƱư̵ͭ
뤳ȤǤ롣Ʊͭˤȡեå®٤
30 ܤ뤤Ϥʾ٤ʤ礬Τդ뤳ȡ
POSIX Υƥˤ ___X_d_e_b_u_g ȤХѿѰ
Ƥ롣ѿץǥХåβǼ¹Ԥ
0 ǤʤͤꤵƤȡ饤֥꤬ƱŪư롣

ưλ塢ץȥꥯȤƤ Xlib
ؿϡؿ(after function)ȸƤФؿƤӽФ
_X_S_e_t_A_f_t_e_r_F_u_n_c_t_i_o_n ϡˤƤӽФؿꤹ롣
__
||
int (*XSetAfterFunction(_d_i_s_p_l_a_y, _p_r_o_c_e_d_u_r_e))()
      Display *_d_i_s_p_l_a_y;
      int (*_p_r_o_c_e_d_u_r_e)();


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_p_r_o_c_e_d_u_r_e ƤӽФ³ꤹ롣
||__

ꤵ줿³ϡǥץ쥤ؤΥݥ󥿤ˤ
ƸƤӽФ롣 _X_S_e_t_A_f_t_e_r_F_u_n_c_t_i_o_n ϡθؿ


Ʊư̵ͭꤹˤϡ _X_S_y_n_c_h_r_o_n_i_z_e Ȥ
__
||
int (*XSynchronize(_d_i_s_p_l_a_y, _o_n_o_f_f))()
      Display *_d_i_s_p_l_a_y;
      Bool _o_n_o_f_f;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_o_n_o_f_f     Ʊư̵ͭؼ Bool ͤꤹ롣
||__

_X_S_y_n_c_h_r_o_n_i_z_e ϰθؿ֤ onoff  _T_r_u_e ʤ
С _X_S_y_n_c_h_r_o_n_i_z_e Ʊưͭˤ롣 onoff  _F_a_l_s_e 
С _X_S_y_n_c_h_r_o_n_i_z_e Ʊư̵ˤ롣












                            -19-


00..88..22..  ǥեȤΥ顼ϥɥλ

Xlib ˤϡǥեȤΥ顼ϥɥ餬 2 ѰդƤ:
̾̿Ūʾ(㤨СޥΥåˤ
ǥץ쥤Фؤ³ڤ줿)򰷤⤦
X ФΥץȥ륨顼򰷤桼ȼΥ顼
ԤСΥ顼ϥɥ桼Ѱդؿ
ѹ뤳ȤǤ롣ѹϲ٤ǤԤȤǤ롣
δؿ˥̥ݥ󥿤Ϥ줿硢ǥեȤΥϥɥ
Ƥꤵ롣ǥեȤΥϥɥưϡΥå
ɽץλȤΤǤ롣


顼ϥɥꤹˤ _X_S_e_t_E_r_r_o_r_H_a_n_d_l_e_r Ȥ
__
||
int (*XSetErrorHandler(_h_a_n_d_l_e_r))()
      int (*_h_a_n_d_l_e_r)(Display *, XErrorEvent *)


_h_a_n_d_l_e_r   ץѰդƤ륨顼ϥɥꤹ
          롣
||__

Xlib ϰŪˡ顼ɬץѰդ
Ƥ륨顼ϥɥƤӽФΥ顼ϥɥϡ
_O_p_e_n_F_o_n_t, _L_o_o_k_u_p_C_o_l_o_r, _A_l_l_o_c_N_a_m_e_d_C_o_l_o_r ץȥꥯ
ˤäƵ _B_a_d_N_a_m_e 顼䡢 _Q_u_e_r_y_F_o_n_t ץȥꥯ
ȤˤäƵ _B_a_d_F_o_n_t 顼˴ؤƤϸƤӽФʤ
Υ顼ϰŪˡ³󥿥ե̤ƥץ
ȿǤ롣ξ֤̿ŪǤʤΤȹͤ
ǡ桼Ѱդ顼ϥɥ餬뤳Ȥǧ
롣ξ̵֤ͤ뤵롣顼ϥɥϡ
ȥꥯȤꡢϥ٥Ȥ׵᤹ǥ
ץ쥤Ȥɤʴؿ(ľܡŪ˷餺)ƤӽФƤ
ʤʤ֤ͤϰΥ顼ϥɥǤ롣

_X_E_r_r_o_r_E_v_e_n_t ¤ΤƤʲ˼:


typedef struct {
     int type;
     Display *display;   /* ٥Ȥɤ߽Ф줿ǥץ쥤 */
     unsigned long serial;/* ԤꥯȤΥꥢֹ */
     unsigned char error_code;/* ԤꥯȤΥ顼 */
     unsigned char request_code;/* ԤꥯȤΥ᥸㡼ڥ */
     unsigned char minor_code;/* ԤꥯȤΥޥʡڥ */
     XID resourceid;     /* ꥽ ID */
} XErrorEvent;


ꥢֹϥꥯȤֹǤ롣 1 Ϥޤ
ͤǡͥåȥ³Ϥޤäưʹߡͥåȥ³
롣ϡԤƤӽФľ _N_e_x_t_R_e_q_u_e_s_t Ƥ









                            -20-


ФƤ줿ͤǤ롣 request_code ФϼԤ
³ΥץȥꥯȤǤꡢ <_X_1_1_/_X_p_r_o_t_o_._h> 
Ƥ롣ξϤؿϡʲΥ顼ɤ֤
Ȥ:

-------------------------------------------------------------
顼                          
-------------------------------------------------------------
_B_a_d_A_c_c_e_s_s           ¾Υ饤Ȥ˥֤Ƥ륭
                    ܥȹ礻򥰥֤褦Ȥ
                    ޤƤƤʤ顼ޥåץ
                    ȥ褦ȤƤΥȥ
                    񤭹߲ǽˤ顼ޥå
                    ȥ褦Ȥ
                    ɤ߼ѡ뤤ϳƤƤ
                    顼ޥåץȥ˽񤭹ߤ褦
                    Ȥ
                    ۥ(ޤǧĤ줿ۥ)
                    ΥۥȤ顢ꥹȤѹ
                    褦Ȥ
                    ¾Υ饤Ȥ򤷤Ƥ륤٥
                    ȷ򤷤褦Ȥ
_B_a_d_A_l_l_o_c            ׵ᤵ줿꥽γƤ˥Ф
                    ԤꥯȤŪ󤵤
                    _B_a_d_A_l_l_o_c 顼ϡƤ٥Ǥ
                    ƥ顼夷Ƥʤޤ
                    ϡФӥ˳
                    ζ֤Ȥ̤Ƥξ夹뤿
                    ΤΤǤϤʤ(夹뤳Ȥºݤ˴
                    Ԥ뤳ȤǤʤ)

                    ФѤζ֤Ȥ̤
                    ΥޥƥλͤϷƤʤ
                    ɤʥꥯȤξˤ⤳줬
                    ǥФ _B_a_d_A_l_l_o_c 顼ǽ
                    롣äƥ饤ȤϤΤ
                    ʥ顼Ѱդ򤷤Ƥ
                    ޤ˴ʤФʤʤ
_B_a_d_A_t_o_m             ȥ෿ΰ˻ꤵ줿ͤ
                    Ƥ륢ȥؤƤʤ
_B_a_d_C_o_l_o_r            顼ޥå׷ΰ˻ꤵ줿ͤ
                    Ƥ륫顼ޥåפؤƤ
                    
_B_a_d_C_u_r_s_o_r           뷿ΰ˻ꤵ줿ͤ
                    Ƥ륫ؤƤʤ
_B_a_d_D_r_a_w_a_b_l_e         ɥ֥뷿ΰ˻ꤵ줿ͤ
                    Ƥɥ֥ؤƤ
                    
_B_a_d_F_o_n_t             եȷΰ˻ꤵ줿ͤ
                    Ƥե(ˤäƤ _G_C_o_n_-
                    _t_e_x_t )ؤƤʤ
_B_a_d_G_C               _G_C_o_n_t_e_x_t ΰ˻ꤵ줿ͤ
                    Ƥ _G_C_o_n_t_e_x_t ؤƤʤ










                            -21-


-------------------------------------------------------------
顼                          
-------------------------------------------------------------
_B_a_d_I_D_C_h_o_i_c_e         ꥽̻ҤФ줿ͤ饤
                    Ȥ˳Ƥ줿ϰϤ˴ޤޤƤʤ
                    ˻ѤƤ롣̾δĶǤϤ
                    Υ顼뤳ȤϤʤФޤ
                    Xlib Υ顼ȹͤ롣
_B_a_d_I_m_p_l_e_m_e_n_t_a_t_i_o_n   ꥯȤβ餫εǽ򥵡Ф
                    ƤʤꥯȤФƤΥ
                    륵ФˤϷ٤롣Τ
                    ˡΥ顼ϤɤΥꥯȤǤ
                    ʤ饤ȤϤΤ褦ʥ
                    äơޤ˴Ǥ褦
                    ˤƤʤФʤʤ
_B_a_d_L_e_n_g_t_h           ꥯȤĹݻΤ
                    ׵ᤵĹû뤫뤤
                    Ĺ롣 Xlib ޤϥФ
                    顼Ǥ롣
                    ꥯȤĹФĹ
                    ĶƤ롣
_B_a_d_M_a_t_c_h            եåꥯȤˤơ롼
                    ޤϥեåƥȤο
                    ɥ֥οȰפƤʤ
                    _I_n_p_u_t_O_n_l_y ɥɥ֥Ȥ
                    Ȥ줿
                    ޤϰȤϰ
                    äƤ뤬ꥯȤ׵̤᤹
                    ŬǤʤä
                    _I_n_p_u_t_O_n_l_y ɥˤ°礱Ƥ
                    롣
_B_a_d_N_a_m_e             ꤵ줿̾ΥեȤޤϿ¸ߤ
                    ʤ
_B_a_d_P_i_x_m_a_p           ԥåޥå׷ΰƤ
                    ԥåޥåפؤƤʤ
_B_a_d_R_e_q_u_e_s_t          ᥸㡼ڥɤޤϥޥʡڥ
                    ɤͭʥꥯȤꤷƤʤ
                    ̾Xlib ޤϥФΥ顼
                    롣
_B_a_d_V_a_l_u_e            οͤͤꥯȤǧϰ
                    ĶƤ롣Ф
                    ϤꤵƤʤСη
                    ƤƤϰϤ롣
                    ȤƤƤΰ
                    ̡(沽Τ)Υ顼
                    ǽ롣
_B_a_d_W_i_n_d_o_w           ɥΰ˻ꤵ줿ͤ
                    Ƥ륦ɥؤƤʤ
-------------------------------------------------------------














                            -22-


                            

     顼 _B_a_d_A_t_o_m, _B_a_d_C_o_l_o_r, _B_a_d_C_u_r_s_o_r, _B_a_d_D_r_a_w_a_b_l_e,
     _B_a_d_F_o_n_t, _B_a_d_G_C, _B_a_d_P_i_x_m_a_p, _B_a_d_W_i_n_d_o_w ϡꤵ
     ˤäưηĥ줿ˤȤ
     롣



ꤵ줿顼ɤˤĤƤΡʸϤˤˤϡ
_X_G_e_t_E_r_r_o_r_T_e_x_t Ȥ
__
||
XGetErrorText(_d_i_s_p_l_a_y, _c_o_d_e, _b_u_f_f_e_r___r_e_t_u_r_n, _l_e_n_g_t_h)
      Display *_d_i_s_p_l_a_y;
      int _c_o_d_e;
      char *_b_u_f_f_e_r___r_e_t_u_r_n;
      int _l_e_n_g_t_h;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_c_o_d_e      顼ɤꤹ롣

_b_u_f_f_e_r___r_e_t_u_r_n
          顼֤롣

_l_e_n_g_t_h    Хåե礭ꤹ롣
||__

ؿ _X_G_e_t_E_r_r_o_r_T_e_x_t ϻꤵ줿顼ɤNULL 
ʸꤵ줿Хåե˥ԡ롣֤ƥ
ȤΥ󥳡ǥ󥰤ϡߤΥΥ󥳡ǥ󥰤Ȥ
롣顼ݤˤϤδؿȤȤ˾ޤ
ȤΤ⡢ Xlib ФĥǤϡȼΥ顼ɤ
顼ʸ뤳Ȥ뤫Ǥ롣


顼ǡ١饨顼åˤ _X_G_e_t_E_r_-
_r_o_r_D_a_t_a_b_a_s_e_T_e_x_t Ȥ























                            -23-

__
||
XGetErrorDatabaseText(_d_i_s_p_l_a_y, _n_a_m_e, _m_e_s_s_a_g_e, _d_e_f_a_u_l_t___s_t_r_i_n_g, _b_u_f_f_e_r___r_e_t_u_r_n, _l_e_n_g_t_h)
      Display *_d_i_s_p_l_a_y;
      char *_n_a_m_e, *_m_e_s_s_a_g_e;
      char *_d_e_f_a_u_l_t___s_t_r_i_n_g;
      char *_b_u_f_f_e_r___r_e_t_u_r_n;
      int _l_e_n_g_t_h;


_d_i_s_p_l_a_y   X Фؤ³ꤹ롣

_n_a_m_e      ץꥱ̾ꤹ롣

_m_e_s_s_a_g_e   顼åηꤹ롣

_d_e_f_a_u_l_t___s_t_r_i_n_g
          ǡ١ǲ⸫ĤʤΡǥե
          Υ顼åꤹ롣

_b_u_f_f_e_r___r_e_t_u_r_n
          顼֤롣

_l_e_n_g_t_h    Хåե礭ꤹ롣
||__

ؿ _X_G_e_t_E_r_r_o_r_D_a_t_a_b_a_s_e_T_e_x_t ϡNULL ʸǽå
(ޤϥǥեȤΥå)򥨥顼åǡ١
 ֤ Xlib ϤδؿŪ˻Ȥäơ顼å
õ default_string ΥƥȤΥ󥳡ǥ
ϡߤΥΥ󥳡ǥ󥰤Ȥư졢
buffer_return ˳ǼƥȤΥ󥳡ǥ󥰤ϡ
ΥΥ󥳡ǥ󥰤Ȥʤ롣

 name ̡ȤäƤ륢ץꥱ̾ˤʤ
Фʤʤ message ϡ׵᤹륨顼å
򼨤ƤʤФʤʤ name  message ̾
Υ󥳡ǥ󥰤ۥȥݡ֥ʸǤʤ硢
ϼ¸Ǥ롣 Xlib ϡͽƤ 3 ĤΡ֥
ꥱ̾פȤäƥ顼𤹤롣̾ˤ
ϡʸȾʸ϶̤롣

XProtoError
          ץȥ륨顼ֹϡmessage Τʸ
          ȤƻȤ롣

XlibMessage
          ϡ饤֥꤬Ū˻Ȥåʸ
          Ǥ롣

XRequest  ץȥꥯȤξ硢᥸㡼ꥯ
          ץȥֹϰ message ФƻȤ롣
          ĥꥯȤξϡĥ̾( _I_n_i_t_E_x_t_e_n_-
          _s_i_o_n Ϳ )θ˥ԥꥪ (.) ȥޥʡ
          ȥץȥֹ³Τ message









                            -24-


          ФƻȤ롣顼ǡ١ʸ󤬸
          ʤäϡ default_string 
          buffer_return ֤롣


ꥯȤ줿ǥץ쥤¸ߤʤȤ˥桼˥顼
𤹤ˤ _X_D_i_s_p_l_a_y_N_a_m_e Ȥ
__
||
char *XDisplayName(_s_t_r_i_n_g)
      char *_s_t_r_i_n_g;


_s_t_r_i_n_g    ʸꤹ롣
||__

ؿ _X_D_i_s_p_l_a_y_N_a_m_e ϡ _X_O_p_e_n_D_i_s_p_l_a_y ȤȤǥץ
֤̥̾ʸ󤬻ꤵ줿硢 _X_D_i_s_p_l_a_y_N_a_m_e 
Ķѿ DISPLAY 򻲾Ȥ _X_O_p_e_n_D_i_s_p_l_a_y ȤȤϤ
Υǥץ쥤֤̾ˤꡢ³λߤԤ
˥ץबץ󤷤褦ȤƤǥץ쥤桼
𤹤뤳ȤưפȤʤ롣


̿Ū I/O 顼ˤ _X_S_e_t_I_O_E_r_r_o_r_H_a_n_d_l_e_r Ѥ
롣
__
||
int (*XSetIOErrorHandler(_h_a_n_d_l_e_r))()
      int (*_h_a_n_d_l_e_r)(Display *);


_h_a_n_d_l_e_r   ץѰդƤ륨顼ϥɥꤹ
          롣
||__

ؿ _X_S_e_t_I_O_E_r_r_o_r_H_a_n_d_l_e_r ̿Ū I/O 顼ѤΥ顼ϥ
ɥꤹ롣餫Υƥॳ뤬顼򵯤
硢Xlib ϥץѰդƤ륨顼ϥɥƤӽ
̿Ūʾ֤ǤȹͤΤǡƤӽФ줿
٤ǤϤʤ I/O 顼ϥɥ餬
ϡ饤ȤΥץϽλ롣

δؿϰΥ顼ϥɥ֤դ뤳ȡ



















                            -25-






























































