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

APPvarmt_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.
WINDOWmt_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.
WINDOWmt_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
WINDOWmt_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
WINDOWmt_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
WINDOWmt_FrameFind (APPvar *app, WINDOW *win, int x, int y)
 find a framed window
WINDOWmt_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.
WINDOWmt_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().
WINDOWmt_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.
WINDOWmt_WindAttach (APPvar *app, int handle)
 insert an alien window in the WinDom list of windows.
WINDOWmt_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.
rscHDRmt_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.
COMPONENTmt_CompCreate (APPvar *app, short type, long size, short flex)
 Create a COMPONENT.
COMPONENTmt_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
 


Generated on Thu Jun 22 11:45:27 2006 for WinDom by  doxygen 1.4.6