2004-06-15 Kenichi Handa <handa@m17n.org>
+ * m17n.h (minput_char_to_key): Delete extern.
+
+ * m17n-gui.h (minput_event_to_key): Cancel previous change.
+
* m17n-gui.c (null_device_open): Set several members of frame.
2004-06-14 Kenichi Handa <handa@m17n.org>
represents the fake charset which the decoding functions put to an
M-text as a text property when they encounter an invalid byte
(sequence). See @ref m17nConv @latexonly
- (P.\pageref{group__m17nConv}) @endlatexonly for more detail. */
+ (P.\pageref{group__m17nConv}) @endlatexonly for more details. */
/***ja
@brief Àµ¤·¤¯¥Ç¥³¡¼¥É¤Ç¤¤Ê¤¤Ê¸»ú¤Îʸ»ú¥»¥Ã¥È¤òɽ¸½¤¹¤ë¥·¥ó¥Ü¥ë.
The input driver @c minput_gui_driver is provided for internal
input methods that is useful on window systems. It displays
preedit text and status text at the inputting spot. See the
- documentation of @c minput_gui_driver for more detail.
+ documentation of @c minput_gui_driver for more details.
In the m17n-X library, the foreign input method of name @c Mxim is
provided. It uses XIM (X Input Method) as a background input
engine. The symbol @c Mxim has a property @c Minput_driver whose
value is a pointer to the input driver @c minput_xim_driver. See
- the documentation of @c minput_xim_driver for more detail. */
+ the documentation of @c minput_xim_driver for more details. */
/***ja
@addtogroup m17nInputMethodWin
The argument $ARG of the function minput_create_ic () must be a
pointer to the structure @c MInputGUIArgIC. See the documentation
- of @c MInputGUIArgIC for more detail.
+ of @c MInputGUIArgIC for more details.
If the argument $KEY is @c Mnil, the argument $ARG of the
function minput_filter () must be a pointer to the object of type
The argument $ARG of the function minput_open_im () must be a
pointer to the structure #MInputXIMArgIM. See the documentation
- of #MInputXIMArgIM for more detail.
+ of #MInputXIMArgIM for more details.
The argument $ARG of the function minput_create_ic () must be a
pointer to the structure #MInputXIMArgIC. See the documentation
- of #MInputXIMArgIC for more detail.
+ of #MInputXIMArgIC for more details.
The argument $ARG of the function minput_filter () must be a
pointer to the structure @c XEvent. The argument $KEY is ignored.
It provides GUI modules such as drawing and inputting M-texts on a
graphic device. The API itself is independent on a graphic device
- but most of functions require an argument MFrame which is for a
- specific type of graphic device. Currently, X Window System,
- gdImagePtr of GD library, and null device are supported as a
- graphic device. To use this API, an application program must
+ but most of functions require an argument MFrame which is created
+ for a specific type of graphic device. Currently, X Window
+ System, gdImagePtr of GD library, and null device are supported as
+ a graphic device. To use this API, an application program must
include <m17n-gui.h>, and be linked by -lm17n-gui. With that,
CORE and SHELL APIs are also available.
<li> @c M17NDIR
Name of a directory that contains data of the m17n database. See
- @ref m17nDatabase for the detail.
+ @ref m17nDatabase for more details.
<li> @c MDEBUG_XXXX
Environment variables whose name start by "MDEBUG_" controls
- printing of debug information. See @ref m17nDebug for the detail.
+ printing of debug information. See @ref m17nDebug for more
+ details.
</ul>
<li> ¥·¥§¥ë API
- m17n ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÍøÍѤ¹¤ë¥â¥¸¥å¡¼¥ë¤òÄ󶡤¹¤ë¡£¥â¥¸¥å¡¼¥ë¤Ï¥Ç¡¼
- ¥¿¥Ù¡¼¥¹¤«¤éɬÍפ˱þ¤¸¤Æ¿Íͤʥǡ¼¥¿¤ò¥í¡¼¥É¤¹¤ë¡£ÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢
- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï <m17n.h> ¤ò include ¤·¡¢ -lm17n-core
- -lm17n ¤Ç¥ê¥ó¥¯¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥³¥¢ API
- ¤â»ÈÍѤǤ¤ë¡£
+ m17n ¥Ç¡¼¥¿¥Ù¡¼¥¹¤òÍøÍѤ¹¤ë¥â¥¸¥å¡¼¥ë¡Ê¥³¡¼¥ÉÊÑ´¹¡¢Ê¸»ú¥×¥í¥Ñ¥Æ¥£
+ Åù¡Ë¤òÄ󶡤¹¤ë¡£¥â¥¸¥å¡¼¥ë¤Ï¥Ç¡¼¥¿¥Ù¡¼¥¹¤«¤éɬÍפ˱þ¤¸¤Æ¿Íͤʥǡ¼
+ ¥¿¤ò¥í¡¼¥É¤¹¤ë¡£ÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Ï
+ <m17n.h> ¤ò include ¤·¡¢ -lm17n ¤Ç¥ê¥ó¥¯¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤¦
+ ¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥³¥¢ API ¤â»ÈÍѤǤ¤ë¡£
<li> GUI API
- M-texts ¤ò¥¦¥£¥ó¥É¥¦¾å¤Çɽ¼¨¤·¤¿¤êÆþÎϤ·¤¿¤ê¤¹¤ë¤È¤¤¤Ã¤¿¡¢¥°¥é¥Õ¥£¥Ã
- ¥¯¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥â¥¸¥å¡¼¥ë¤òÄ󶡤¹¤ë¡£API ¼«ÂΤϥ¦¥£¥ó¥É¥¦¥·
- ¥¹¥Æ¥à¤È¤ÏÆÈΩ¤Ç¤¢¤ë¤¬¡¢ m17n ¥é¥¤¥Ö¥é¥ê¤ÏÆÃÄê¤Î¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à
- ¤ò»ÈÍѤ¹¤ë¤è¤¦¤ËÀßÄꤷ¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£¸½»þÅÀ¤Ç¤Ï¡¢X ¥¦¥£¥ó¥É¥¦¥·
- ¥¹¥Æ¥à¤À¤±¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×
- ¥í¥°¥é¥à¤Ï<m17n-gui.h> ¤È <m17n-X.h> ¤ò include ¤·¡¢-lm17n-core
- -lm17n -lm17n-X ¤Ç¥ê¥ó¥¯¤µ¤ì¤Ê¤¯¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã
- ¤Æ¥³¥¢ API ¤È¥·¥§¥ë API ¤â»ÈÍѤǤ¤ë¡£
+ M-texts ¤ò¥°¥é¥Õ¥£¥Ã¥¯¥Ç¥Ð¥¤¥¹¾å¤Çɽ¼¨¤·¤¿¤êÆþÎϤ·¤¿¤ê¤¹¤ë¤È¤¤¤Ã¤¿¡¢
+ ¥°¥é¥Õ¥£¥Ã¥¯¥æ¡¼¥¶¥¤¥ó¥¿¥Õ¥§¡¼¥¹¥â¥¸¥å¡¼¥ë¤òÄ󶡤¹¤ë¡£API ¼«ÂΤϥ¦¥£
+ ¥ó¥É¥¦¥·¥¹¥Æ¥à¤È¤ÏÆÈΩ¤Ç¤¢¤ë¤¬¡¢Â¿¤¯¤Î´Ø¿ô¤ÏÆÃÄê¤Î¥°¥é¥Õ¥£¥Ã¥¯¥Ç¥Ð
+ ¥¤¥¹¾å¤ËºîÀ®¤µ¤ì¤¿ MFrame ¤ò°ú¿ô¤Ë¼è¤ë¡£¸½»þÅÀ¤Ç¤Ï¡¢X ¥¦¥£¥ó¥É¥¦¥·
+ ¥¹¥Æ¥à¡¢GD ¥é¥¤¥Ö¥é¥ê¤Î gdImagePtr¡¢¥Ì¥ë¥Ç¥Ð¥¤¥¹¤¬¥°¥é¥Õ¥£¥Ã¥¯¥Ç¥Ð
+ ¥¤¥¹¤È¤·¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í
+ ¥°¥é¥à¤Ï <m17n-gui.h> ¤ò include ¤·¡¢-lm17n-gui ¤Ç¥ê¥ó¥¯¤µ¤ì¤Ê¤¯¤Æ
+ ¤Ï¤Ê¤é¤Ê¤¤¡£¤³¤¦¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¥³¥¢ API ¤È¥·¥§¥ë API ¤â»ÈÍѤǤ¤ë¡£
<li> ¤½¤Î¾¤Î API
In addition to the predefined managed object types, users can
define their own managed object types. See the documentation of
- the m17n_object () for the details. */
+ the m17n_object () for more details. */
/***ja
@addtogroup m17nObject
@brief ´ÉÍý²¼¥ª¥Ö¥¸¥§¥¯¥È¤È¤Ï»²¾È¿ô¤Ë¤è¤Ã¤Æ´ÉÍý¤µ¤ì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë.
\f
/* External API */
-MSymbol Mdevice;
-
void
m17n_init_win (void)
{
/*** @addtogroup m17nFrame */
/***en
- @brief A @e frame is an object corresponding to the physical device.
+ @brief A @e frame is an object corresponding to the graphic device.
A @e frame is an object of the type #MFrame to hold various
- information about each physical display/input device. Almost all
- m17n GUI functions require a pointer to a frame as an
- argument. */
+ information about each display/input device. Almost all m17n GUI
+ functions require a pointer to a frame as an argument. */
/***ja
- @brief @e ¥Õ¥ì¡¼¥à ¤È¤ÏʪÍýŪ¥Ç¥Ð¥¤¥¹¤ËÂбþ¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë.
+ @brief @e ¥Õ¥ì¡¼¥à ¤È¤Ï¥°¥é¥Õ¥£¥Ã¥¯¥Ç¥Ð¥¤¥¹¤ËÂбþ¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ë.
- @e ¥Õ¥ì¡¼¥à ¤È¤Ï #MFrame ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢¸Ä¡¹¤ÎʪÍýŪ¤Êɽ
- ¼¨¡¿ÆþÎϥǥХ¤¥¹¤Î¾ðÊó¤ò³ÊǼ¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î
- m17n GUI API ¤Ï¡¢°ú¿ô¤È¤·¤Æ¥Õ¥ì¡¼¥à¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÍ׵᤹¤ë¡£ */
+ @e ¥Õ¥ì¡¼¥à ¤È¤Ï #MFrame ·¿¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ê¡¢¸Ä¡¹¤Îɽ¼¨¡¿ÆþÎÏ¥Ç
+ ¥Ð¥¤¥¹¤Î¾ðÊó¤ò³ÊǼ¤¹¤ë¤¿¤á¤ËÍѤ¤¤é¤ì¤ë¡£¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î m17n GUI
+ ´Ø¿ô¤Ï¡¢°ú¿ô¤È¤·¤Æ¥Õ¥ì¡¼¥à¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÍ׵᤹¤ë¡£ */
/*** @{ */
/*=*/
/***en
- @name Variables: Keys of frame property (common). */
-/***ja
- @name ÊÑ¿ô¡§ ¥Õ¥ì¡¼¥à¥×¥í¥Ñ¥Æ¥£¤Î¥¡¼ (¶¦ÄÌ). */
-/*** @{ */
-/*=*/
-MSymbol Mfont;
-MSymbol Mfont_width;
-MSymbol Mfont_ascent;
-MSymbol Mfont_descent;
+ @name Variables: Keys of frame parameter
-/*=*/
+ These are the symbols to use in a parameter to creat a frame. See
+ the function mframe () for details.
-/***en
- @name Variables: Keys of frame parameter (X specific).
+ #Mdevice, #Mdisplay, #Mscreen, #Mdrawable, #Mdepth, and #Mcolormap
+ are also keys of a frame property. */
- These are the symbols to use as parameter keys for the function
- mframe () (which see). They are also keys of a frame property
- except for #Mwidget. */
/***ja
- @name ÊÑ¿ô¡§ ¥Õ¥ì¡¼¥à¥Ñ¥é¥á¡¼¥¿ÍÑ¥¡¼ (X ¸ÇÍ).
+ @name ÊÑ¿ô¡§ ¥Õ¥ì¡¼¥à¥Ñ¥é¥á¡¼¥¿ÍÑ¥¡¼
- ´Ø¿ô mframe () ¤Î¥Ñ¥é¥á¡¼¥¿¥¡¼¤È¤·¤ÆÍѤ¤¤é¤ì¤ë¥·¥ó¥Ü¥ë¡£( mframe
- () ¤ÎÀâÌÀ»²¾È¡£) #Mwidget ¤ò½ü¤¤¤Æ¤Ï¥Õ¥ì¡¼¥à¥×¥í¥Ñ¥Æ¥£¤Î¥¡¼¤Ç¤â¤¢
- ¤ë¡£
- */
+ ¥Õ¥ì¡¼¥à¤òÀ¸À®¤¹¤ëºÝ¤Î¥Ñ¥é¥á¡¼¥¿¤ËÍѤ¤¤ë¥·¥ó¥Ü¥ë¡£¾Ü¤·¤¯¤Ï´Ø¿ô
+ mframe () ¤ÎÀâÌÀ»²¾È¡£
+
+ #Mdevice¡¢ #Mdisplay¡¢ #Mscreen¡¢ #Mdrawable¡¢ #Mdepth¡¢#Mcolormap
+ ¤Ï¥Õ¥ì¡¼¥à¥×¥í¥Ñ¥Æ¥£¤Î¥¡¼¤Ç¤â¤¢¤ë¡£ */
/*=*/
-MSymbol Mdisplay, Mscreen, Mdrawable, Mdepth, Mwidget, Mcolormap;
+MSymbol Mdevice, Mdisplay, Mscreen, Mdrawable, Mdepth, Mcolormap, Mwidget;
MSymbol Mx, Mgd;
/*=*/
+
+/***en
+ @name Variables: Keys of frame property
+
+ These are the symbols to use as an argument to the function
+ mframe_get_prop (). */
+/***ja
+ @name ÊÑ¿ô¡§ ¥Õ¥ì¡¼¥à¥×¥í¥Ñ¥Æ¥£¤Î¥¡¼
+
+ ´Ø¿ô mframe_get_prop () ¤Î°ú¿ô¤ËÍѤ¤¤é¤ì¤ë¥·¥ó¥Ü¥ë¡£ */
+/*** @{ */
+/*=*/
+MSymbol Mfont;
+MSymbol Mfont_width;
+MSymbol Mfont_ascent;
+MSymbol Mfont_descent;
+
+/*=*/
+
/*** @} */
/*=*/
@brief Create a new frame.
The mframe () function creates a new frame with parameters listed
- in $PLIST which may be NULL.
+ in $PLIST which may be @c NULL.
The recognized keys in $PLIST are window system dependent.
<ul>
- <li> #Mface, the value type must be <tt>(MFace *)</tt>.
+ <li> #Mdevice, the value must be one of #Mx, #Mgd, and #Mnil.
+
+ If the value is #Mx, the frame is for X Window System. The
+ argument #MDrawWindow specified together with the frame must be of
+ type @c Window. The frame is both readable and writable, thus all
+ GUI functions can be used.
+
+ If the value is #Mgd, the frame is for an image object of GD
+ library. The argument #MDrawWindow specified together with the
+ frame must be of type @c gdImagePtr. The frame is writable
+ only, thus functions minput_XXX can't be used for the frame.
+
+ If the value is #Mnil, the frame is for a null device. The frame
+ is not writable nor readable, thus functions mdraw_XXX that
+ require the argument #MDrawWindow and functions minput_XXX can't
+ be used for the frame.
+
+ <li> #Mface, the value must be a pointer to #MFace.
The value is used as the default face of the frame.
</ul>
- In addition, in the m17n-X library, the following keys are
- recognized. They are to specify the root window and the depth of
- drawables that can be used with the frame.
+ In addition, if the value of the key #Mdevice is #Mx, the
+ following keys are recognized. They are to specify the root
+ window and the depth of drawables that can be used with the frame.
<ul>
@brief ¿·¤·¤¤¥Õ¥ì¡¼¥à¤òºî¤ë.
´Ø¿ô mframe () ¤Ï $PLIST Ãæ¤Î¥Ñ¥é¥á¡¼¥¿¤ò»ý¤Ä¿·¤·¤¤¥Õ¥ì¡¼¥à¤òºî¤ë¡£
- $PLIST ¤ÏNULL ¤Ç¤âÎɤ¤¡£
+ $PLIST ¤Ï @c NULL ¤Ç¤âÎɤ¤¡£
$PLIST ¤Ë¸½¤ï¤ì¤ë¥¡¼¤Î¤¦¤Á¤É¤ì¤¬Ç§¼±¤µ¤ì¤ë¤«¤Ï¥¦¥£¥ó¥É¥¦¥·¥¹¥Æ¥à
¤Ë°Í¸¤¹¤ë¡£¤·¤«¤·°Ê²¼¤Î¥¡¼¤Ï¾ï¤Ëǧ¼±¤µ¤ì¤ë¡£