WinDom: mt_wndm.h File Reference

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

# mt_wndm.h File Reference

`#include <mt_gem.h>`
`#include <mt_gemx.h>`
`#include <windom/list.h>`

Go to the source code of this file.

## Data Structures
struct | w_version
struct | long_graphic_rectangle
struct | W_GRAFPORT
| This structure groups informations related to graphic window VDI workstation. More...
struct | W_MENU
| This structure groups variables related to handle a menu into a window. More...
struct | W_FORM
| This structure groups variables related to handle a formular into a window. More...
struct | W_ICON
| Structure grouping information related to iconified window. More...
struct | _window
| Window descriptor structure. More...
struct | WINvar
| window global variable More...
struct | EVNTvar
| Parametrization of mt_EvntWindom() calling. More...
struct | _appvar
struct | rscHDR
| Header structure of a GEM resource file loaded by mt_RsrcXload(). More...
struct | BHLP
struct | ATTRIB
struct | _component
| The WinDom COMPONENT representation structure. More...
struct | _sliderinfo
## Defines
#define | __GEMLIB_OLDNAMES
#define | mt_AppAESversion(ap) ((ap)->aes_global[0])
| AES number version.
#define | mt_AppAESnumapps(ap) ((ap)->aes_global[1])
| Number of concurrent applications.
#define | mt_AppAESapid(ap) ((ap)->aes_global[2])
| Application identifier.
#define | mt_AppId(ap) ((ap)->aes_global[2])
| shorter name for mt_AppAESapid()
#define | mt_AppAESappglobal(ap) (*((long *)&((ap)->aes_global[3])))
| Address of the Global Array application.
#define | mt_AppAESrscfile(ap) ((OBJECT **)(*((long *)&((ap)->aes_global[5]))))
| Pointer to resource loaded by rsrc_load().
#define | mt_AppAESmaxchar(ap) ((ap)->aes_global[13])
| Maximal character size use to print on screen.
#define | mt_AppAESminchar(ap) ((ap)->aes_global[14])
| Minimal character size use to print on screen.
#define | MAX(a, b) ((a)>(b)?(a):(b))
| Returns maximal value of a and b.
#define | MIN(a, b) ((a)<(b)?(a):(b))
| Returns minimal value of a and b.
#define | UNUSED(a) ((void )(a))
| Use this macro on unused parameter avoid warning message from your compiler.
#define | IS_IN(xp, yp, x, y, w, h) (xp>=x && yp>=y && xp<x+w && yp<y+h)
| Return TRUE if (xp,yp) coordinate belongs to area (x,y,w,h).
#define | FORM(app, win) (((W_FORM*)mt_DataSearch( app, win, WD_WFRM))->root)
| Returns FORM structure linked to a window formular.
#define | TOOL(win) ((win)->tool.root)
| Returns TOOL structure linked to a window containing a toolbar.
#define | ADR(c) (int)((long)(c)>>16), (int)(long)(c)
| Convert a 32 bit adress value into a couple of 16 bit values.
#define | SET_BIT(field, bit, val) field = (val)?((field)|(bit)):((field) & ~(bit))
| Set to value `value` the bit `bit` of a bit field `field`.
#define | TRUE 1
#define | FALSE 0
#define | __WINDOM_MAJOR__ 2
#define | __WINDOM_MINOR__ 0
#define | __WINDOM_REVISION__ 1
#define | __WINDOM_BETATAG__ ""
#define | APPRSVD void
#define | AES4_BOTTOM 0x000001L
| WM_BOTTOM message supported
#define | AES4_ICONIFY 0x000002L
| WM_ICONIFY message supported
#define | AES4_ICONIFYXYWH 0x000004L
| WM_ICONIFYXYWH message supported
#define | AES4_SMALLER 0x000008L
| SMALLER widget (iconifier) supported by wind_create()
#define | AES4_BOTTOMER 0x000010L
| BOTTOMER widget (backdropper) supported by wind_create()
#define | AES4_APPSEARCH 0x000020L
| appl_search() is available
#define | AES4_FSLX 0x000040L
| MagiC extended file selector is available.
#define | AES4_BEVENT 0x000080L
| WF_BEVENT supported by wind_set()
#define | AES4_UNTOPPED 0x000100L
| WM_UNTOPPED message supported
#define | AES4_TOOLBAR 0x000200L
| WF_TOOLBAR mode supported by wind_set()
#define | AES4_APPLCONTROL 0x000400L
| appl_control() is available
#define | AES4_XGMOUSE 0x000800L
| graf_mouse() supports extended modes
#define | AES4_MNSELECTED 0x001000L
| MN_SELECTED message is extended
#define | AES4_MENUBAR 0x002000L
| WF_MENU mode supported by wind_set()
#define | AES4_FIRSTAREAXYWH 0x004000L
| WF_FIRSTAREAXYWH mode supported by wind_set()
#define | AES4_SETWORKXYWH 0x010000L
| WF_WORKXYWH is supported by the AES
#define | APS_ICONSIZE 0
#define | APS_FLAG 1
#define | APS_WINBG 2
#define | APS_KEYCOLOR 3
#define | APS_STRSTYLE 4
#define | APS_BUTSTYLE 5
#define | APS_EXITSTYLE 6
#define | APS_TITLESTYLE 7
#define | APS_3DEFFECT 8
#define | APS_MENUEFFECT 9
#define | APS_BUBBLESTYLE 10
#define | APS_POPUPSTYLE 11
#define | APS_POPUPWIND 12
#define | APS_WINDOWS 13
#define | APS_XTEDINFOSTYLE 14
#define | APS_XLONGEDITSTYLE 15
#define | APS_XEDITTEXTSTYLE 16
#define | APS_XEDITLABELSTYLE 17
#define | APS_FRAMEWIDGETSIZE 18
#define | DEFVAL -1
#define | CENTER 0
#define | WMOUSE 1
#define | UP_RIGHT 2
#define | UP_LEFT 3
#define | DN_RIGHT 4
#define | DN_LEFT 5
#define | WFORM 6
#define | FLG_KEYMOUSE 0x0001
#define | FLG_BUTMOUSE 0x0002
#define | FLG_NOPAL 0x0004
#define | FLG_MNSCRL 0x0010
#define | FLG_NOKEYMENU 0x0020
#define | FLG_NOMGXFSEL 0x0040
#define | FLG_MNSYSTEM 0x0080
#define | LTMFLY_COLOR 0x0010
#define | DIALMOVER 0x11
#define | DCRBUTTON 0x12
#define | UNDERLINE 0x13
#define | TITLEBOX 0x14
#define | HELPBUT 0x15
#define | CIRCLEBUT 0x16
#define | POPUPSTRG 0x17
#define | KPOPUPSTRG 0x18
#define | SLIDEPART 0x19
#define | LONGINPUT 0x1A
#define | UNDOBUT 0x1F
#define | XBOXLONGTEXT 0x09
#define | ONGLET 0x10
#define | MENUTITLE 0x0F
#define | XEDIT 0x0E
#define | ED_CURS 10
| return the position of the text cursor
#define | ED_BLC_OFF 11
| unselect the bloc (if any)
#define | ED_BLC_START 12
#define | ED_BLC_END 13
#define | RSRC_XTYPE 0x01
#define | RSRC_X3D 0x02
#define | RSRC_XALL 0xFF
#define | WDF_NAME 0
#define | WDF_INFO 1
#define | WDF_ID 2
#define | WDF_MENU 3
#define | WDF_FORM 4
#define | WDF_TOOL 5
#define | WDF_DATA 6
#define | WAT_ALL 0x4FFF
#define | WAT_NOINFO 0x4FEF
#define | WAT_FORM 0x400F
#define | WAT_MFORM 0x400D
#define | WS_OPEN 0x0001
| Window is opened.
#define | WS_ICONIFY 0x0002
| Window is iconified.
#define | WS_MENU 0x0004
| Window has menu.
#define | WS_TOOLBAR 0x0008L
| Window has toolbar.
#define | WS_GROW 0x0010
| Window use graphic effects.
#define | WS_UNTOPPABLE 0x0020
| Window is untoppable.
#define | WS_FORM 0x0040
| Window is a formular.
#define | WS_FORMDUP 0x0080
| Window is a duplicated formular.
#define | WS_MODAL 0x0100
| Window is modal.
#define | WS_FRAME_ROOT 0x0200
| Window is a frame root.
#define | WS_FRAME 0x0400
| Window is a framed window.
#define | WS_CUSTOM 0x0400
| Window is a custom handled window (the handle does not correspond to the AES one).
#define | WS_ALLICNF 0x0800
| All windows are iconified.
#define | WS_FULLSIZE 0x1000
| Window has fulled size.
#define | WS_PEXEC 0x2000
| Window is closed because of Pexec-call (reserved by ShelWrite).
#define | WS_FOREIGN 0x4000
| Window is not created by application but inserted in WinDom list.
#define | WS_WIN_IN_USE 0x00008000
| Window structure is in use: should not be free-ed (see mt_WindDelete()).
#define | WS_DESTROYED 0x00010000
| Window structure should be free-ed as soon as possible.
#define | BEVENT_MODAL 0x1000
#define | WF_ICONTITLE 1001
#define | WF_ICONDRAW 1002
#define | WF_HILIGHT 1003
#define | WF_VWORK 1004
#define | WF_SLIDXYWH 1005
#define | WF_WORKCLIPXYWH 1006
#define | WF_COMPONENT 1007
#define | WF_MENUTNORMAL 1008
#define | FORM_EVNT 0x8000
#define | HSLIDER 0x0001
#define | VSLIDER 0x0002
#define | WM_DESTROY 0x4400
#define | WM_FORM 0x4402
| message to control forms
#define | AP_LOADCONF 0x4403
#define | AP_BUTTON 0x4404
| message to send a mouse button event to a windom application
#define | AP_KEYBD 0x4405
| message to send a keyboard event to a windom application
#define | AP_DEBUG 0x4410
#define | WM_UPLINE 0x4411
#define | WM_DNLINE 0x4412
#define | WM_LFLINE 0x4413
#define | WM_RTLINE 0x4414
#define | WM_UPPAGE 0x4415
#define | WM_DNPAGE 0x4416
#define | WM_LFPAGE 0x4417
#define | WM_RTPAGE 0x4418
#define | WM_PREREDRAW 0x4419
#define | WM_ICONDRAW 0x441a
#define | WM_SLIDEXY 0x441b
#define | WM_XTIMER 1
#define | WM_XKEYBD 2
| message internally used by windom to catch keyboard events
#define | WM_XBUTTON 3
| message internally used by windom to catch mouse button events
#define | WM_XM1 4
#define | WM_XM2 5
#define | EV_BOT 0
#define | EV_TOP 1
#define | WD_WFRM 0x5746524DL
#define | WD_WFRA 0x57465241L
#define | WD_WFRI 0x57465249L
#define | WD_WHLR 0x57484c52L
#define | P_RDRW 0x0100
#define | P_WNDW 0x0200
#define | P_LIST 0x0400
#define | P_CHCK 0x0800
#define | OC_TOOLBAR 0
#define | OC_FORM 1
#define | OC_OBJC 2
#define | OC_MENU 3
#define | OC_MSG 0x1000
#define | BIND_NONE 0
#define | BIND_VAR 1
#define | BIND_FUNC 2
#define | BIND_BIT 3
#define | SLD_HORI 0
#define | SLD_VERT 1
#define | SLD_DIFF 0
#define | SLD_IMME 1
#define | VSTHEIGHT 0x01
#define | BITMAP 0x02
#define | MONOSPACED 0x04
#define | FRAME_BORDER 1
#define | FRAME_COLOR 2
#define | FRAME_KEYBD 3
#define | FRAME_SIZE 4
#define | FRAME_FLAGS 5
#define | FRAME_NOBG 6
#define | FRAME_ACTIV 7
#define | FRAME_TOPPED_ACTIV 8
#define | FRAME_CELL 10
#define | FRAME_WSCALE 0x0001
#define | FRAME_HSCALE 0x0002
#define | FRAME_WFIX 0x0004
#define | FRAME_HFIX 0x0008
#define | FRAME_NOBORDER 0x0010
#define | FRAME_SELECT 0x0020
#define | BGC_FONTCHANGED 0x01
#define | BGC_NOWINSTYLE 0x02
#define | BGC_SENDKEY 0x04
#define | BGC_DEMONACTIVE 0x08
#define | BGC_TOPONLY 0x10
#define | V_SENDKEY 0x0001
#define | V_ASKFILEFONT 0x0002
#define | V_ASKCONFONT 0x0004
#define | V_ASKOBJECT 0x0008
#define | V_OPENWIND 0x0010
#define | V_STARTPROG 0x0020
#define | V_ACCWINDOPEN 0x0040
#define | V_STATUS 0x0080
#define | V_COPY_DRAGGED 0x0100
#define | V_PATH_UPDATE 0x0200
#define | V_EXIT 0x0400
#define | V_XWIND 0x0800
#define | V_FONTCHANGED 0x1000
#define | V_STARTED 0x2000
#define | V_QUOTE 0x4000
#define | V_FILEINFO 0x8000
#define | V_COPYFILE 0x0001
#define | V_DELFILE 0x0002
#define | V_VIEW 0x0004
#define | V_SETWINDPOS 0x0008
#define | A_SETSTATUS 0x0001
#define | A_START 0x0002
#define | A_STARTED 0x0004
#define | A_FONTCHANGED 0x0008
#define | A_QUOTE 0x0010
#define | A_PATH_UPDATE 0x0020
#define | FNT_OUTLINE 0x1
#define | FNT_MONO 0x2
#define | FNT_SPEEDO 0x4
#define | FNT_TRUETYPE 0x8
#define | FNT_TYPE1 0x10
#define | XFNT_NAME 0x1
#define | XFNT_FAMILLY 0x2
#define | XFNT_STYLE 0x4
#define | XFNT_FILE 0x8
#define | XFNT_NBPTS 0x100
#define | XFNT_LISTPTS 0x200
#define | mt_AvStrfmt(a, b, c) AvStrfmt(b,c)
| see AvStrfmt()
#define | mt_FormDo(a, b, c) mt_form_do(b,c,a->aes_global)
| Handle a formular created by mt_FormBegin().
#define | mt_ObjcDraw(a, b, c, d, e) mt_ObjcDrawParent(a,b,c,d,0,e)
#define | mt_ObjcStrCpy(a, tree, index, str) strcpy(mt_ObjcString(a,tree,index,NULL),str)
| Modify an object label.
#define | mt_ObjcStrFmt(a, b, c, d) ObjcStrFmt(b,c,d)
| See ObjcStrFmt().
#define | mt_WindGetGrect(app, win, mode, grect) mt_WindGet( app, win, mode, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
#define | mt_WindXGetGrect(app, win, mode, clip, grect) mt_WindXGet( app, win, mode, clip, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
#define | mt_WindSetGrect(app, win, mode, grect) mt_WindSet( app, win, mode, (grect)->g_x, (grect)->g_y, (grect)->g_w, (grect)->g_h )
#define | mt_WindCalcGrect(app, mode, win, inrect, outrect)
#define | mt_RsrcFree(app) mt_rsrc_free(app->aes_global)
| Release from memory resource file loaded by mt_RsrcLoad().
#define | CPNT_MAXSIZE (LONG_MAX)
#define | CLT_VERTICAL 0
| COMPONENT layout type values.
#define | CLT_HORIZONTAL 1
#define | CLT_STACK 2
#define | CS_INTERACTIVE 0x0010
| COMPONENT status bitmask values. can get CM_GETFOCUS and CM_LOSEFOCUS.
#define | CS_HSLIDE 0x0020
#define | CS_VSLIDE 0x0040
#define | CS_HIDDEN 0x0080
#define | CS_CLIP 0x0100
#define | CS_PROPORTIONAL 0x0200
| visible contents proportions changes (needs redraw) on resize
#define | CS_RESERVED 0x00010000UL
| internal: reserved for internal use
#define | CS_FOCUSED 0x00020000UL
| internal: COMPONENT is currently under focus
#define | CS_IN_USE 0x00080000UL
| internal: COMPONENT is in use: should not be free-ed (see mt_CompDelete())
#define | CS_DESTROYED 0x00040000UL
| internal: COMPONENT should be free-ed as soon as possible
#define | CM_GETFOCUS 0x44c0
| COMPONENT special messages. received upon getting focus.
#define | CM_LOSEFOCUS 0x44c1
| received upon losing focus
#define | CM_REFLOW 0x44c2
| reflow the component according to the layout settings
#define | CM_REPOSED 0x44c3
| move&resize the component
#define | CF_WINDOW 0x44e0
| COMPONENT special messages. the WINDOW the component is hooked to or NULL if none.
#define | CF_MAXSIZE 0x44e1
| fixed maximum size rectagle FIXME: rename?
#define | CF_HSLIDE 0x44d0
| FIXME: TODO.
#define | CF_VSLIDE 0x44d1
| FIXME: TODO.
#define | CF_FOCUS 0x44d2
| Focus component pointer.
#define | WD_CCRT 0x43435254L
| COMPONENT/WINDOW relation magic values. 'CCRT': component container's root win/component component/window.
#define | WD_CCWD 0x43435744L
| 'CCWD': component window/window component
#define | WD_CWGT 0x43573743L
| 'CWGT': window widget component
#define | FOR_EACH_CHILD(i, list)
#define | CDT_SLIDER_POS 0x455f4dUL
#define | CDT_SLIDER_SIZE 0x455f4eUL
#define | CDT_SLIDER_CONTROL 0x455f4fUL
#define | WD_CPNT_HSLIDE_INFO 0x43485349L
| COMPONENT slider data magic data defines.
#define | WD_CPNT_VSLIDE_INFO 0x43565349L
#define | VSLIDERINFO(app, c) ((C_SLIDERINFO*)mt_CompDataSearch( app, c, WD_CPNT_VSLIDE_INFO))
#define | HSLIDERINFO(app, c) ((C_SLIDERINFO*)mt_CompDataSearch( app, c, WD_CPNT_HSLIDE_INFO))
## Typedefs
typedef INT16 | W_COLOR [3]
typedef long_graphic_rectangle | LGRECT
typedef void __CDECL(* | func_evntdata )(struct _window *, short buff[8], void *, struct _appvar *)
typedef void __CDECL(* | func_evnt )(struct _window *, short buff[8], struct _appvar *)
typedef void __CDECL(* | func_bind )(struct _window *, int, int, void *, struct _appvar *)
typedef void __CDECL(* | func_bindmenu )(struct _window *win, int item, int title, void *data, struct _appvar *ap)
| Callback function for menu entry object registered by mt_ObjcAttachMenuFunc().
typedef void __CDECL(* | func_doslid )(struct _window *, int, short, void *, struct _appvar *)
typedef void __CDECL(* | func_userdraw )(struct _window *win, PARMBLK *pblk, void *data, struct _appvar *ap)
| callback function for USERDEF objects registered by mt_RsrcUserDraw()
typedef _window | WINDOW
typedef _appvar | APPvar
typedef _component | COMPONENT
typedef void __CDECL(* | func_comp_evntdata )(COMPONENT *, long buff[8], void *, APPvar *app)
typedef void __CDECL(* | func_comp_evnt )(COMPONENT *, long buff[8], APPvar *app)
typedef _sliderinfo | C_SLIDERINFO
## Functions
APPvar * | mt_ApplInit (void)
| AES and WinDom initialization.
int | mt_ApplExit (APPvar *app)
| Terminate a WinDom and AES session.
int | mt_ApplGet (APPvar *app, int mode, short *v1, short *v2, short *v3, short *v4)
| Get application parameters.
int | mt_ApplSet (APPvar *app, int mode, short v1, short v2, short v3, short v4)
| Set application parameters.
int | mt_ApplName (APPvar *app, char *name, int handle)
| Identify the name of a GEM process.
int | mt_ApplWrite (APPvar *app, int to, int msg, int b3, int b4, int b5, int b6, int b7)
| Send a message to a GEM process.
int | mt_ApplControl (APPvar *app, int ap_cid, int ap_cwhat, void *ap_cout)
| Control of GEM process.
int | mt_AvInit (APPvar *app, char *name, int status, long idle)
| Initialize the AV protocol.
void | mt_AvExit (APPvar *app)
| close an AV session opened with AvInit()
INT16 * | mt_AvStatus (APPvar *app)
| returns features supported by AV server.
char * | mt_AvServer (APPvar *app)
| returns the name of the AV server
int | mt_AvWaitfor (APPvar *app, int, INT16 *, long)
| Wait for a given message.
char * | AvStrfmt (int mode, char *src)
| Quote or unquote filenames (utility for VA-protocol, Drag 'n drop, .
int | get_cookie (long cookie, long *value)
int | mt_BubbleCall (APPvar *app, char *help, int x, int y)
| Display a bubble help.
int | mt_BubbleModal (APPvar *app, char *help, int x, int y)
| Display a bubble help in a classic formular.
int | mt_BubbleDo (APPvar *app, OBJECT *tree, int __index)
| alternative FormDo() function for BubbleGEM
int | mt_BubbleAttach (APPvar *app, OBJECT *tree, int __index, char *help)
| Link a bubble help to an object.
void | mt_BubbleFree (APPvar *app)
| release memory reverved by BubbleAttach().
int | mt_BubbleFind (APPvar *app, OBJECT *tree, int __index, char **help)
| Find a bubble linked to an object.
int | mt_BubbleEvnt (APPvar *app)
| display the bubble help defined by BubbleAttach().
int | mt_BubbleGet (APPvar *app)
| load the BubbleGEM daemon in memory
int | mt_ConfRead (APPvar *app)
| read the configuration file and set the WinDom parameters
int | mt_ConfInquire (APPvar *app, char *keyword, char *fmt,...)
| read an user variable in the configuration file
int | mt_ConfGetLine (APPvar *app, char *line)
| read acces by line in the configuration file
int | mt_ConfWrite (APPvar *app, char *keyword, char *fmt,...)
| write the windom config file
int | mt_ConfWindom (APPvar *app)
| load winconf (windom configurator)
int | mt_DataAttach (APPvar *app, WINDOW *win, long magic, void *data)
| Insert a data into a window or into the application.
int | mt_DataDelete (APPvar *app, WINDOW *win, long magic)
| Remove a data linked into a window or into the application.
void * | mt_DataSearch (APPvar *app, WINDOW *win, long magic)
| Search data linked into a window or application.
int | mt_EvntWindom (APPvar *app, int __evnt)
| handle AES events.
int | mt_EvntWindomBuff (APPvar *app, int __evnt, short buff[8])
int | mt_EvntAdd (APPvar *app, WINDOW *win, int msg, func_evnt proc, int mode)
| add a function to a GEM event without data
int | mt_EvntAttach (APPvar *app, WINDOW *win, int msg, func_evnt proc)
| bind a function to a GEM event without data.
int | mt_EvntDataAdd (APPvar *app, WINDOW *win, int msg, func_evntdata proc, void *data, int mode)
| Add a callback function to event and its data to a window or to the application.
int | mt_EvntDataAttach (APPvar *app, WINDOW *win, int msg, func_evntdata proc, void *data)
| bind a function to a GEM event.
int | mt_EvntDelete (APPvar *app, WINDOW *win, int msg)
| Delete an event.
void * | mt_EvntFind (APPvar *app, WINDOW *win, int msg)
| find the first callback function bound to an event.
int | mt_EvntExec (APPvar *app, WINDOW *win, short buff[8])
| Execute all functions bound to an event.
void | mt_EvntClear (APPvar *app, WINDOW *win)
| removes all defined events of a window or of the application.
int | mt_EvntRemove (APPvar *app, WINDOW *win, int msg, void *proc)
| Remove one callback function bound to an event.
void | mt_EvntDisable (APPvar *app, WINDOW *win, int msg)
| Disable all callback functions bound to an event.
void | mt_EvntEnable (APPvar *app, WINDOW *win, int msg)
| Enable all callback functions bound to an event.
void | mt_EvntRedraw (APPvar *app, WINDOW *win)
| execute functions bound to WM_REDRAW event.
void | mt_EvntRedrawGrect (APPvar *app, WINDOW *win, GRECT *work)
| execute functions bound to WM_REDRAW event.
WINDOW * | mt_FormWindBegin (APPvar *app, OBJECT *dial, char *nom)
| Open a formular in a modal window.
void | mt_FormWindEnd (APPvar *app)
| close a modal window formular
int | mt_FormWindDo (APPvar *app, int __evnt)
| handle a modal window formular
int | mt_FormWindDoBuff (APPvar *app, int __evnt, short buff[8])
| handle a modal window formular
int | mt_FormAttach (APPvar *app, WINDOW *win, OBJECT *tree, func_evnt func)
| Attach a formular to a window.
void | mt_FormResize (APPvar *app, WINDOW *win, INT16 *x, INT16 *y, INT16 *w, INT16 *h)
| compute the window size prior to the formular size.
WINDOW * | mt_FormCreate (APPvar *app, OBJECT *tree, int attrib, func_evnt func, char *name, GRECT *coord, int grow, int dup)
| Create and handle a formular in a window.
int | mt_FormSave (APPvar *app, WINDOW *win, int mode)
| Store objects state of a windowed formular.
int | mt_FormRestore (APPvar *app, WINDOW *win, int mode)
| Restore state of object in windowed formular.
void | mt_FormBegin (APPvar *app, OBJECT *tree, MFDB *bckgrnd)
| Open a classic formular.
void | mt_FormEnd (APPvar *app, OBJECT *tree, MFDB *bckgrnd)
| Close a classic formular.
int | mt_FormAlert (APPvar *app, int but, char fmt[],...)
| Display a GEM alert.
void * | mt_FormThumb (APPvar *app, WINDOW *win, int *idxthb, int *idxbut, int nb)
| handle a thumb object in a windowed formular.
void | mt_FormThbSet (APPvar *app, WINDOW *win, int but)
| Retrieve active thumb.
int | mt_FormThbGet (APPvar *app, void *thb, int mode)
| Retrieve active thumb.
void __CDECL | mt_stdFormClose (WINDOW *win, int ind, int mode, void *data, APPvar *app)
| Standard callback function to handle a close button in formular.
void | mt_MouseObjc (APPvar *app, OBJECT *tree, int __index)
| set the mouse cursor over the center of an object
void | mt_MouseWork (APPvar *app)
| display an animated buzy mouse
void | mt_MouseSprite (APPvar *app, OBJECT *tree, int __index)
| set a ICON as the new mouse cursor form
void | mt_FrameInit (APPvar *app)
| Initialization of the frame environment.
void | mt_FrameExit (APPvar *app)
| release the frame environment
WINDOW * | mt_FrameCreate (APPvar *app, int attrib)
| Create a frame window.
void | mt_FrameAttach (APPvar *app, WINDOW *win, WINDOW *src, int line, int col, int w, int h, int mode)
| attach a framed window in a window
WINDOW * | mt_FrameRemove (APPvar *app, WINDOW *win, WINDOW *child, int line, int col)
| Remove a framed window from a root window.
void | mt_FrameSet (APPvar *app, WINDOW *win, int mode,...)
| Frame settings.
void | mt_FrameGet (APPvar *app, WINDOW *win, int mode,...)
| get frame related informations
WINDOW * | mt_FrameFind (APPvar *app, WINDOW *win, int x, int y)
| find a framed window
WINDOW * | mt_FrameSearch (APPvar *app, WINDOW *win, int line, int col)
| Find a frame by cell reference.
int | mt_FrameCalc (APPvar *app, WINDOW *win, int mode, INT16 *x, INT16 *y, INT16 *w, INT16 *h)
| get the framed window work area
int | mt_FontName2Id (APPvar *app, char *name)
| convert a font name in a id-font
int | mt_FontId2Name (APPvar *app, int id, char *name)
| convert an id-font in a font name
int | mt_VstLoadFonts (APPvar *app, int res)
| emulate vst_load_fonts() when GDOS is not detected
void | mt_VstUnloadFonts (APPvar *app, int res)
| emulate vst_unload_fonts() when GDOS is not detected
int | mt_VstFont (APPvar *app, int id)
| emulate vst_font()
int | mt_VqtName (APPvar *app, int elem, char *name)
| emulate vqt_name when GDOS not detected
int | mt_VqtXname (APPvar *app, int id, int __index, char *name, int *fl)
| customized function that sumary VDI functions vqt_extname, vqt_xfntinfo and vqt_fontheader
int | vqt_extname (int handle, int __index, char *name, int *speedo, INT16 *format, INT16 *flags)
| utility function based on NVDI4 vqt_ext_name binding
int | mt_FselInput (APPvar *app, char *path, char *fname, char *ext, char *title, char *lpath, char *lext)
| Universal file selector.
int | mt_FontSel (APPvar *app, char *title, char *example, int flags, int *id, int *size, char *name)
| Builtin WinDom font selector.
int | mt_MenuBar (APPvar *app, OBJECT *menu, int mode)
| Install the desktop menu.
int | mt_MenuTnormal (APPvar *app, WINDOW *win, int title, int mode)
| Hilight or unhilight a title in a menu.
int | mt_MenuIcheck (APPvar *app, WINDOW *win, int title, int mode)
| Check or uncheck an entry in a menu.
int | mt_MenuText (APPvar *app, WINDOW *win, int title, char *txt)
| Change the text of a menu entry.
int | mt_MenuDisable (APPvar *app)
| Disable the desktop menu.
int | mt_MenuEnable (APPvar *app)
| Enable the desktop menu.
int | mt_MenuPopUp (APPvar *app, void *data, int x, int y, int max, int size, int item, int mode)
| Display and handle a menu popup.
void | mt_MenuScroll (APPvar *app, WINDOW *win, int dir)
| Scroll the titles of a window menu.
int | mt_MenuAttach (APPvar *app, int flag, OBJECT *tree, short item, MENU *mdata)
int | mt_ObjcChange (APPvar *app, int mode, void *data, int __index, int state, int redraw)
| Change the object state.
int | mt_ObjcChar (APPvar *app, OBJECT *tree, int idx, int put)
| Get and set the character of an object.
int | mt_ObjcDrawParent (APPvar *app, int mode, void *win, int __index, int parent_depth, int child_depth)
| Draws an objet in a formular.
int | mt_ObjcIsHidden (APPvar *app, int mode, void *win, int __index)
| tell if the object or one of its parent is hidden.
OBJECT * | mt_ObjcDup (APPvar *app, OBJECT *tree, WINDOW *win)
| Objects tree duplication.
OBJECT * | mt_ObjcNDup (APPvar *app, OBJECT *src, WINDOW *win, int nb)
| Objects duplication.
OBJECT * | mt_ObjcNDupAtAddr (APPvar *app, OBJECT *src, WINDOW *win, int nb, OBJECT *dest)
| Objects duplication at a given address.
int | mt_ObjcEdit (APPvar *app, int mode, WINDOW *win, int obj, int val, INT16 *idx, int kind)
| Control texte edition of EDITABLE object in formular.
void | mt_ObjcFree (APPvar *app, OBJECT *tree)
| Release from memory a duplicated objects tree.
void | mt_ObjcNFreeAtAddr (APPvar *app, OBJECT *tree, int nb)
| Release from memory a duplicated objects tree.
char * | mt_ObjcString (APPvar *app, OBJECT *tree, int __index, char *put)
| Get and set the label of an object.
void | mt_ObjcStr3d (APPvar *app, OBJECT *tree)
| Transform 3D FTEXT MagiC objects.
int | mt_ObjcWindDraw (APPvar *app, WINDOW *win, OBJECT *tree, int __index, int depth, int xclip, int yclip, int wclip, int hclip)
| Draw any object in any window.
int | mt_ObjcWindDrawParent (APPvar *app, WINDOW *win, OBJECT *tree, int __index, int parent_depth, int child_depth, int xclip, int yclip, int wclip, int hclip)
| Draw any object (and its parents) in any window.
int | mt_ObjcWindChange (APPvar *app, WINDOW *win, OBJECT *tree, int __index, int xclip, int yclip, int wclip, int hclip, int state)
| Change state of any object in any window.
OBJECT * | mt_ObjcTree (APPvar *app, int mode, WINDOW *win)
| Returns the objects tree hosted by a window.
void | ObjcStrFmt (char *dest, char *src, int size)
| Troncate a string in order to fit in an object label.
WINDOW * | mt_WindCreate (APPvar *app, int GemAttrib, int x, int y, int w, int h)
| Create a window.
int | mt_WindOpen (APPvar *app, WINDOW *win, int x, int y, int w, int h)
| Open a window at screen.
int | mt_WindClose (APPvar *app, WINDOW *win)
| Close a window opened by mt_WindOpen().
int | mt_WindDelete (APPvar *app, WINDOW *win)
| Delete a window descriptor created by mt_WindCreate().
WINDOW * | mt_WindHandle (APPvar *app, int handle)
| Find a window descriptor by its AES handle.
int | mt_WindGet (APPvar *app, WINDOW *win, int mode, INT16 *par1, INT16 *par2, INT16 *par3, INT16 *par4)
| Get window attributes.
int | mt_WindXGet (APPvar *app, WINDOW *win, int mode, GRECT *clip, INT16 *par1, INT16 *par2, INT16 *par3, INT16 *par4)
| Get window attributes.
void * | mt_WindGetPtr (APPvar *app, WINDOW *win, int mode)
| Get window pointer attribute.
int | mt_WindSet (APPvar *app, WINDOW *win, int mode, int par1, int par2, int par3, int par4)
| set/change window attributes.
int | mt_WindSetStr (APPvar *app, WINDOW *win, int mode, char *str)
| set/change window string attributes
int | mt_WindSetPtr (APPvar *app, WINDOW *win, int mode, void *par1, void *par2)
| set/change window pointer attributes
int | mt_WindCalc (APPvar *app, int type, WINDOW *wind, int xin, int yin, int win, int hin, INT16 *xout, INT16 *yout, INT16 *wout, INT16 *hout)
| convert window workarea in real area and inversly
void | mt_WindSlider (APPvar *app, WINDOW *win, int mode)
| Adjust window sliders according to the internal WinDom slider system.
WINDOW * | mt_WindAttach (APPvar *app, int handle)
| insert an alien window in the WinDom list of windows.
WINDOW * | mt_WindFind (APPvar *app, int mode,...)
| Find a window.
void | mt_WindTop (APPvar *app, WINDOW *win)
| Put a window in foreground.
void | mt_WindNew (APPvar *app)
| replacement of wind_new() for all AESes
void | mt_WindClear (APPvar *app, WINDOW *win)
| clear a window workarea.
void __CDECL | mt_stdWindClear (WINDOW *win, short buff[8], APPvar *app)
| callback function to clear the window content
void * | mt_SlidCreate (APPvar *app, short min, short max, short sinc, short linc, short value, int ori, int upd)
| Initialise a slider structure.
void | mt_SlidDelete (APPvar *app, void *slid)
| delete (free) a slider structure created by mt_SlidCreate()
void | mt_SlidAttach (APPvar *app, void *slid, int mode, WINDOW *win, int up, int bsld, int sld, int dn)
| Attach a slider to an object structure in a formular.
short | mt_SlidGetValue (APPvar *app, void *slid)
| Returns the current value of a slider.
void | mt_SlidSetFunc (APPvar *app, void *slid, func_doslid func, void *data)
| define a slider event function.
void | mt_SlidSetSize (APPvar *app, void *slid, int size)
| Change the size of the slider cursor widget.
void | mt_SlidSetValue (APPvar *app, void *slid, short value)
| Change the current slider value.
void | mt_SlidSetUpdat (APPvar *app, void *slid, int upd)
| Changes a slider update behavior.
int | mt_RsrcLoad (APPvar *app, const char *name)
| Load a resource file in memory.
void | mt_RsrcXtype (APPvar *app, int mode, OBJECT **rs_trindex, int num_tree)
| Install/remove WinDom extended objects.
void | mt_RsrcFixCicon (APPvar *app, OBJECT *object, int num_obs, int num_cib, INT16 palette[][4], void *fix)
| Fix color icons to the current screen resolution.
void | mt_RsrcFreeCicon (APPvar *app, void *fix)
| Release from memory fixed color icons.
int | mt_RsrcUserDraw (APPvar *app, int mode, WINDOW *win, int __index, func_userdraw draw, void *data)
| associate a drawing function to an objet formular
void * | mt_RsrcXload (APPvar *app, const char *name)
| load multiple extended GEM resource file.
void | mt_RsrcXfree (APPvar *app, void *rsc)
| Release memory allocated by mt_RsrcXload().
int | mt_RsrcGaddr (APPvar *app, void *rsc, int type, int __index, void *addr)
| retrieve an address object from a loaded resource file.
rscHDR * | mt_RsrcGhdr (APPvar *app, void *rsc)
| return the header of the RSC
void | mt_give_iconifyxywh (APPvar *app, INT16 *x, INT16 *y, INT16 *w, INT16 *h)
| give a valid position where iconify a window
void | mt_snd_rdw (APPvar *app, WINDOW *win)
| send a WM_REDRAW message for the work area of this window
void | mt_snd_arrw (APPvar *app, WINDOW *win, int msg)
| send a WM_ARROWED message
void | mt_snd_msg (APPvar *app, WINDOW *win, int msg, int par1, int par2, int par3, int par4)
| send a message to itself.
void | rc_set (GRECT *, int, int, int, int)
| Initialize a GRECT data.
void | rc_lset (LGRECT *, long, long, long, long)
| Initialize a LGRECT data.
void | w_getpal (APPvar *app, WINDOW *win)
| save in a buffer the current screen color palette
void | w_setpal (APPvar *app, WINDOW *win)
| restore a screen color palette
int | w_get_hndl (APPvar *app, WINDOW *win)
| Returns the WINDOW's real AES handle.
void | w_get_bkgr (APPvar *app, int of_x, int of_y, int of_w, int of_h, MFDB *img)
| save a screen area
void | w_put_bkgr (APPvar *app, int of_x, int of_y, int of_w, int of_h, MFDB *img)
| Restore a saved screen area.
int | keybd2ascii (int keybd, int shift)
| get the ascii code of a keyboard event
char * | conv_path (char *)
| convert a file name between TOS and MiNT formats
int | mt_ShelHelp (APPvar *app, char *file, char *chapter)
| Interface to the AES helper service.
int | mt_ShelWrite (APPvar *app, char *prg, char *cmd, void *env, int av, int single)
| Launch GEM or TOS applications.
void | mt_DebugWindom (APPvar *app, const char *format,...)
| print formated string to debug output
void * | Galloc (long size)
| Allocate memory in global mode.
void | mt_GrectCenter (APPvar *app, int w, int h, INT16 *x, INT16 *y)
| Centering an area on screen.
void | mt_ClipOn (APPvar *app, W_GRAFPORT *graf, GRECT *r)
| set clipping area for drawing
void | mt_ClipOff (APPvar *app, W_GRAFPORT *graf)
| unset clipping area for drawing
void | rc_lgrect2grect (GRECT *, const LGRECT *)
| Convert the LGRECT values to GRECT.
void | rc_grect2lgrect (LGRECT *, const GRECT *)
| Convert the GRECT values to LGRECT.
short | rc_lintersect (const LGRECT *r1, LGRECT *r2)
| Compute the interesection of two LGRECT rectangles.
COMPONENT * | mt_CompCreate (APPvar *app, short type, long size, short flex)
| Create a COMPONENT.
COMPONENT * | mt_CompFind (APPvar *app, COMPONENT *p, short mx, short my)
int | mt_CompDelete (APPvar *app, COMPONENT *p)
| Delete a COMPONENT created by mt_CompCreate().
void | mt_CompAttach (APPvar *app, COMPONENT *p, COMPONENT *c)
| Attach a COMPONENT as children of an another COMPONENT.
int | mt_CompDataAttach (APPvar *app, COMPONENT *c, long magic, void *data)
| Insert data into the component data list.
int | mt_CompDataDelete (APPvar *app, COMPONENT *c, long magic)
| Remove a data linked into a component.
void * | mt_CompDataSearch (APPvar *app, COMPONENT *c, long magic)
| Component magic value data search.
int | mt_CompSet (APPvar *app, COMPONENT *c, short type, long par1, long par2, long par3, long par4)
int | mt_CompSetPtr (APPvar *app, COMPONENT *c, short mode, void *par1, void *par2)
int | mt_CompGetLGrect (APPvar *app, COMPONENT *c, short type, LGRECT *rect)
void * | mt_CompGetPtr (APPvar *app, COMPONENT *c, short type)
int | mt_CompEvntAdd (APPvar *app, COMPONENT *p, short msg, func_comp_evnt proc, int mode)
| TODO: DOCS.
int | mt_CompEvntDataAdd (APPvar *app, COMPONENT *c, short msg, func_comp_evntdata proc, void *data, int mode)
| TODO: DOCS.
int | mt_CompEvntAttach (APPvar *app, COMPONENT *p, short msg, func_comp_evnt proc)
| TODO: DOCS.
int | mt_CompEvntDataAttach (APPvar *app, COMPONENT *c, short msg, func_comp_evntdata proc, void *data)
| TODO: DOCS.
int | mt_CompEvntExec (APPvar *app, COMPONENT *p, long buff[8])
| TODO: DOCS.
void | mt_CompEvntClear (APPvar *app, COMPONENT *c)
| TODO: DOCS.
int | mt_CompEvntRemove (APPvar *app, COMPONENT *c, int msg, void *proc)
| TODO: DOCS.
int | mt_CompEvntDelete (APPvar *app, COMPONENT *c, int msg)
| TODO: DOCS.
void | mt_CompEvntEnable (APPvar *app, COMPONENT *c, int msg)
| Enable all callback functions bound to an event.
void | mt_CompEvntDisable (APPvar *app, COMPONENT *c, int msg)
| Disable all callback functions bound to an event.
void | mt_CompEvntRedraw (APPvar *app, COMPONENT *c)
void | mt_CompEvntRedrawLGrect (APPvar *app, COMPONENT *c, LGRECT *rdraw)
int | mt_CompSliderAttach (APPvar *app, COMPONENT *p, short type)
| Define a COMPONENT to become slidable.
## Variables
w_version | WinDom

## Define Documentation

#define __GEMLIB_OLDNAMES

#define __WINDOM_BETATAG__ ""

#define __WINDOM_MAJOR__ 2

#define __WINDOM_MINOR__ 0

#define __WINDOM_REVISION__ 1

#define A_FONTCHANGED 0x0008

#define A_PATH_UPDATE 0x0020

#define A_QUOTE 0x0010

#define A_SETSTATUS 0x0001

#define A_START 0x0002

#define A_STARTED 0x0004

#define AP_BUTTON 0x4404

| message to send a mouse button event to a windom application msg[0] = AP_BUTTON msg[1] = AES application ID of the sender msg[2] = 0 msg[3] = mx msg[4] = my msg[5] = mouse button msg[6] = mkstate (shift, control, alternate...) msg[7] = number of clicks

#define AP_DEBUG 0x4410

#define AP_KEYBD 0x4405

| message to send a keyboard event to a windom application msg[0] = AP_KEYBD msg[1] = AES application ID of the sender msg[2] = 0 msg[3] = mkstate (shift, control, alternate...) msg[4] = keyboad code msg[5] = 0 msg[6] = 0 msg[7] = 0

#define AP_LOADCONF 0x4403

#define APPRSVD void

#define APS_3DEFFECT 8

#define APS_BUBBLESTYLE 10

#define APS_BUTSTYLE 5

#define APS_EXITSTYLE 6

#define APS_FLAG 1

#define APS_FRAMEWIDGETSIZE 18

#define APS_ICONSIZE 0

#define APS_KEYCOLOR 3

#define APS_MENUEFFECT 9

#define APS_POPUPSTYLE 11

#define APS_POPUPWIND 12

#define APS_STRSTYLE 4

#define APS_TITLESTYLE 7

#define APS_WINBG 2

#define APS_WINDOWS 13

#define APS_XEDITLABELSTYLE 17

#define APS_XEDITTEXTSTYLE 16

#define APS_XLONGEDITSTYLE 15

#define APS_XTEDINFOSTYLE 14

#define BEVENT_MODAL 0x1000

#define BGC_DEMONACTIVE 0x08

#define BGC_FONTCHANGED 0x01

#define BGC_NOWINSTYLE 0x02

#define BGC_SENDKEY 0x04

#define BGC_TOPONLY 0x10

#define BIND_BIT 3

#define BIND_FUNC 2

#define BIND_NONE 0

#define BIND_VAR 1

#define BITMAP 0x02

#define CENTER 0

#define CIRCLEBUT 0x16

#define DCRBUTTON 0x12

#define DEFVAL -1

#define DIALMOVER 0x11

#define DN_LEFT 5

#define DN_RIGHT 4

#define ED_BLC_END 13

#define ED_BLC_OFF 11

| unselect the bloc (if any)

#define ED_BLC_START 12

#define ED_CURS 10

| return the position of the text cursor

#define EV_BOT 0

#define EV_TOP 1

#define FALSE 0

#define FLG_BUTMOUSE 0x0002

#define FLG_KEYMOUSE 0x0001

#define FLG_MNSCRL 0x0010

#define FLG_MNSYSTEM 0x0080

#define FLG_NOKEYMENU 0x0020

#define FLG_NOMGXFSEL 0x0040

#define FLG_NOPAL 0x0004

#define FNT_MONO 0x2

#define FNT_OUTLINE 0x1

#define FNT_SPEEDO 0x4

#define FNT_TRUETYPE 0x8

#define FNT_TYPE1 0x10

#define FORM_EVNT 0x8000

#define FRAME_ACTIV 7

#define FRAME_BORDER 1

#define FRAME_CELL 10

#define FRAME_COLOR 2

#define FRAME_FLAGS 5

#define FRAME_HFIX 0x0008

#define FRAME_HSCALE 0x0002

#define FRAME_KEYBD 3

#define FRAME_NOBG 6

#define FRAME_NOBORDER 0x0010

#define FRAME_SELECT 0x0020

#define FRAME_SIZE 4

#define FRAME_TOPPED_ACTIV 8

#define FRAME_WFIX 0x0004

#define FRAME_WSCALE 0x0001

#define HELPBUT 0x15

#define HSLIDER 0x0001

#define KPOPUPSTRG 0x18

#define LONGINPUT 0x1A

#define LTMFLY_COLOR 0x0010

#define MENUTITLE 0x0F

#define MONOSPACED 0x04

#define OC_FORM 1

#define OC_MENU 3

#define OC_MSG 0x1000

#define OC_OBJC 2

#define OC_TOOLBAR 0

#define ONGLET 0x10

#define P_CHCK 0x0800

#define P_LIST 0x0400

#define P_RDRW 0x0100

#define P_WNDW 0x0200

#define POPUPSTRG 0x17

#define RSRC_X3D 0x02

#define RSRC_XALL 0xFF

#define RSRC_XTYPE 0x01

#define SLD_DIFF 0

#define SLD_HORI 0

#define SLD_IMME 1

#define SLD_VERT 1

#define SLIDEPART 0x19

#define TITLEBOX 0x14

#define TRUE 1

#define UNDERLINE 0x13

#define UNDOBUT 0x1F

#define UP_LEFT 3

#define UP_RIGHT 2

#define V_ACCWINDOPEN 0x0040

#define V_ASKCONFONT 0x0004

#define V_ASKFILEFONT 0x0002

#define V_ASKOBJECT 0x0008

#define V_COPY_DRAGGED 0x0100

#define V_COPYFILE 0x0001

#define V_DELFILE 0x0002

#define V_EXIT 0x0400

#define V_FILEINFO 0x8000

#define V_FONTCHANGED 0x1000

#define V_OPENWIND 0x0010

#define V_PATH_UPDATE 0x0200

#define V_QUOTE 0x4000

#define V_SENDKEY 0x0001

#define V_SETWINDPOS 0x0008

#define V_STARTED 0x2000

#define V_STARTPROG 0x0020

#define V_STATUS 0x0080

#define V_VIEW 0x0004

#define V_XWIND 0x0800

#define VSLIDER 0x0002

#define VSTHEIGHT 0x01

#define WAT_ALL 0x4FFF

#define WAT_FORM 0x400F

#define WAT_MFORM 0x400D

#define WAT_NOINFO 0x4FEF

#define WD_WFRA 0x57465241L

#define WD_WFRI 0x57465249L

#define WD_WFRM 0x5746524DL

#define WD_WHLR 0x57484c52L

#define WDF_DATA 6

#define WDF_FORM 4

#define WDF_ID 2

#define WDF_INFO 1

#define WDF_MENU 3

#define WDF_NAME 0

#define WDF_TOOL 5

#define WF_COMPONENT 1007

#define WF_HILIGHT 1003

#define WF_ICONDRAW 1002

#define WF_ICONTITLE 1001

#define WF_MENUTNORMAL 1008

#define WF_SLIDXYWH 1005

#define WF_VWORK 1004

#define WF_WORKCLIPXYWH 1006

#define WFORM 6

#define WM_DESTROY 0x4400

#define WM_DNLINE 0x4412

#define WM_DNPAGE 0x4416

#define WM_FORM 0x4402

| message to control forms msg[0] = WM_FORM msg[1] = AES application ID of the sender msg[2] = 0 msg[3] = handle of the window that contains the form msg[4] = index of the object selected msg[5] = mkstate (shift, control, alternate...) msg[6] = 0 msg[7] = 0

#define WM_ICONDRAW 0x441a

#define WM_LFLINE 0x4413

#define WM_LFPAGE 0x4417

#define WM_PREREDRAW 0x4419

#define WM_RTLINE 0x4414

#define WM_RTPAGE 0x4418

#define WM_SLIDEXY 0x441b

#define WM_UPLINE 0x4411

#define WM_UPPAGE 0x4415

#define WM_XBUTTON 3

| message internally used by windom to catch mouse button events msg[0] = WM_XBUTTON msg[1] = AES application ID of the sender msg[2] = 0 msg[3] = mx msg[4] = my msg[5] = mouse button msg[6] = mkstate (shift, control, alternate...) msg[7] = number of clicks

#define WM_XKEYBD 2

| message internally used by windom to catch keyboard events msg[0] = WM_XKEYBD msg[1] = AES application ID of the sender msg[2] = 0 msg[3] = mkstate (shift, control, alternate...) msg[4] = keyboad code msg[5] = 0 msg[6] = 0 msg[7] = 0

#define WM_XM1 4

#define WM_XM2 5

#define WM_XTIMER 1

#define WMOUSE 1

#define XBOXLONGTEXT 0x09

#define XEDIT 0x0E

#define XFNT_FAMILLY 0x2

#define XFNT_FILE 0x8

#define XFNT_LISTPTS 0x200

#define XFNT_NAME 0x1

#define XFNT_NBPTS 0x100

#define XFNT_STYLE 0x4

## Typedef Documentation

typedef void __CDECL(* func_bind)(struct _window *, int, int, void *, struct _appvar *)

typedef void __CDECL(* func_bindmenu)(struct _window *win, int item, int title, void *data, struct _appvar *ap)

  | Callback function for menu entry object registered by mt_ObjcAttachMenuFunc(). Parameters:
  | win | window descriptor (can be NULL if menu is the desktop menu,
  | item | object index of the entry,
  | title | object index of the menu,
  | data | pointer to user data,
  | ap | application descriptor.

typedef void __CDECL(* func_doslid)(struct _window *, int, short, void *, struct _appvar *)

typedef void __CDECL(* func_evnt)(struct _window *, short buff[8], struct _appvar *)

typedef void __CDECL(* func_evntdata)(struct _window *, short buff[8], void *, struct _appvar *)

typedef void __CDECL(* func_userdraw)(struct _window *win, PARMBLK *pblk, void *data, struct _appvar *ap)

  | callback function for USERDEF objects registered by mt_RsrcUserDraw() Parameters:
  | win | window descriptor
  | pblk | contains informations related to the object and the USERDEF structure used (object state, clip area size, object previous and current state), refer to gemlib documentation or any other AES documentation for details.
  | data | is a user data (set by calling mt_RsrcUserDraw())
  | ap | application descriptor
The drawing function has the following limitations : AES call should never be used (because AES is not reentrant), and consequently, WinDom functions using AES calls should never be called, do not use too many local variables : this function is executed by AES and then in supervisor mode, the drawing function should never clip screen because it is already performed by WinDom.

typedef struct long_graphic_rectangle LGRECT

typedef INT16 W_COLOR[3]

## Function Documentation

int get_cookie | ( | long | cookie,
|  | long * | value
| ) |

int mt_MenuAttach | ( | APPvar * | app,
|  | int | flag,
|  | OBJECT * | tree,
|  | short | item,
|  | MENU * | mdata
| ) |

## Variable Documentation

struct w_version WinDom