00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _MGUIDEFS_H
00009 #define _MGUIDEFS_H
00010
00011 #define MGUI_RELEASE 0x403
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined DJGPP_MGUI && !defined X11_MGUI && !defined BC_MGUI && !defined WIN_MGUI && !defined WGRX_MGUI && !defined W4GW_MGUI
00023 #if defined __TURBOC__
00024 #if defined __DPMI32__
00025 #define BGI_MGUI
00026 #elif defined __DPMI16__
00027 #define BGI_MGUI
00028 #elif defined _Windows
00029 #define WIN_MGUI
00030 #if defined __WIN32__ && !defined WIN32
00031 #define WIN32
00032 #endif
00033 #else
00034 #define BGI_MGUI
00035 #define BC_MGUI
00036 #endif
00037 #elif defined __CYGWIN32__
00038 #define WIN_MGUI
00039 #define WIN32
00040 #define __WIN32__
00041 #define __GNUWIN32__
00042 #elif defined __MINGW32__
00043 #define WIN_MGUI
00044 #if !defined WIN32
00045 #define WIN32
00046 #endif
00047 #define __GNUWIN32__
00048 #elif defined __LCC__
00049 #define WIN_MGUI
00050 #define __WIN32__
00051 #elif defined __RSXNT__
00052 #define WIN_MGUI
00053 #define WIN32
00054 #define __GNUWIN32__
00055 #elif defined __GO32__
00056 #if defined __WIN32__
00057 #ifndef WIN32
00058 #define WIN32
00059 #endif
00060 #define WIN_MGUI
00061 #else
00062 #define DJGPP_MGUI
00063 #define LIBGRX
00064 #endif
00065 #elif defined _WINDOWS
00066 #define WIN_MGUI
00067 #ifdef _WINNT
00068 #define __WIN32__
00069 #endif
00070 #elif defined __WATCOMC__
00071 #ifdef __NT__
00072 #define __WIN32__
00073 #define WIN_MGUI
00074 #elif defined __WINDOWS__
00075 #define WIN_MGUI
00076 #elif defined LIBGRX
00077 #define WGRX_MGUI
00078 #elif defined METAWINDOW
00079 #define WMW_MGUI
00080 #else
00081 #define W4GW_MGUI
00082 #endif
00083 #else
00084 #ifndef LIBGRX
00085 #define X11_MGUI
00086 #endif
00087 #define UNIX
00088 #endif
00089 #endif
00090
00091 #if defined __TURBOC__ || defined _MSC_VER || defined __WATCOMC__ || defined __LCC__
00092 #include <time.h>
00093 #elif !defined WIN_MGUI
00094 #include <sys/time.h>
00095 #endif
00096
00097
00098
00099
00100 #include "keycodes.h"
00101
00102 #ifdef UNIX
00103 #define DIR_SEP '/'
00104 #else
00105 #define DIR_SEP '\\'
00106 #endif
00107
00108 #if defined __GNUC__ && !defined WIN32
00109 #define stricmp strcasecmp
00110 #endif
00111
00126 struct MPOINT {
00127 #if defined X11_MGUI
00128 short x;
00129 short y;
00130 #else
00131 int x;
00132 int y;
00133 #endif
00134 };
00135 typedef struct MPOINT MPOINT;
00136
00137
00138
00139
00140 #ifdef X11_MGUI
00141 #include "X11/X.h"
00142 #include <X11/Xmd.h>
00143 #else
00144 #if !defined _BASETSD_H_ && !defined _BASETSD_H
00145 typedef long INT32;
00146 #endif
00147 typedef short INT16;
00148 typedef char INT8;
00149 typedef unsigned long CARD32;
00150 typedef unsigned short CARD16;
00151 typedef unsigned char CARD8;
00152 #endif
00153
00157 typedef int MTFont;
00158
00162 typedef int MTCursor;
00163
00165 typedef CARD32 MTColor;
00166
00167
00168 #define NOCOLOR ((MTColor)~0)
00169
00170 #if !defined _MGUI_OBJECT_H
00171
00174 typedef void *MOBJECT;
00175
00176 #endif
00177
00179 struct MRECT {
00180 int x;
00181 int y;
00182 int w;
00183 int h;
00184 };
00185 typedef struct MRECT MRECT;
00186
00188 struct RLIST {
00189 MRECT r;
00190 struct RLIST *next;
00191 };
00192 typedef struct RLIST RLIST;
00193
00194
00195
00196
00197
00198 #if !defined(X11_MGUI) && !defined(WIN_MGUI)
00199
00200
00201 struct _Window { MRECT r; RLIST *rl; };
00202
00203
00204 typedef struct _Window *Window;
00205
00206 #elif defined WIN_MGUI
00207
00208
00209 typedef void *Window;
00210
00211 #endif
00212
00213
00214
00215 #ifndef True
00216
00217 #define True 1
00218 #define False 0
00219
00220 #endif
00221
00235
00236 #define CS_LIGHTER 140
00237
00238 #define CS_DARKER 60
00239
00240 #define CS_DARK 85
00241
00242 #define CS_LIGHT 115
00243
00244
00251 #define E_NO_EVENT 0
00252 #define E_KEY_PRESS 1
00253 #define E_BUTTON_PRESS 2
00254 #define E_BUTTON_RELEASE 3
00255 #define E_MOTION 4
00256 #define E_WINDOW_ENTER 5
00257 #define E_WINDOW_EXIT 6
00258 #define E_EXPOSE 7
00259 #define E_DESTROY 8
00260 #define E_MAP 9
00261 #define E_UNMAP 10
00262 #define E_AUTOSIZE 11
00263 #define E_RESIZE 12
00264 #define E_MOVE 13
00265 #define E_SELECT 14
00266 #define E_DESELECT 15
00267 #define E_CONFIGURE 16
00268 #define E_PARENT_MAP 17
00269 #define E_PARENT_UNMAP 18
00270 #define E_SET_COLOR 19
00271 #define E_SET_SHADOW 20
00272 #define E_SET_TEXT 21
00273 #define E_GET_TEXT 22
00274 #define E_WM_CLOSE 23
00275 #define E_SET_SENS 24
00276 #define E_SET_PARENT_SENS 25
00277 #define E_GRAB_LOSE 26
00278 #define E_SET_BG_IMAGE 27
00279 #define E_MOUSE_WHEEL 28
00280 #define E_SET_TRANSPARENCY 29
00281 #define E_PARENT_CHANGED 30
00282
00283
00292 #define EM_NO_EVENT 0L
00293 #define EM_KEY_PRESS 1L
00294 #define EM_BUTTON_PRESS (1L<<1)
00295 #define EM_BUTTON_RELEASE (1L<<2)
00296 #define EM_MOTION (1L<<3)
00297 #define EM_WINDOW_ENTER (1L<<4)
00298 #define EM_WINDOW_EXIT (1L<<5)
00299 #define EM_EXPOSE (1L<<6)
00300 #define EM_DESTROY (1L<<7)
00301 #define EM_MAP (1L<<8)
00302 #define EM_UNMAP (1L<<9)
00303 #define EM_AUTOSIZE (1L<<10)
00304 #define EM_RESIZE (1L<<11)
00305 #define EM_MOVE (1L<<12)
00306 #define EM_SELECT (1L<<13)
00307 #define EM_DESELECT (1L<<14)
00308 #define EM_CONFIGURE (1L<<15)
00309 #define EM_PARENT_MAP (1L<<16)
00310 #define EM_PARENT_UNMAP (1L<<17)
00311 #define EM_SET_COLOR (1L<<18)
00312 #define EM_SET_SHADOW (1L<<19)
00313 #define EM_SET_TEXT (1L<<20)
00314 #define EM_GET_TEXT (1L<<21)
00315 #define EM_WM_CLOSE (1L<<22)
00316 #define EM_SET_SENS (1L<<23)
00317 #define EM_SET_PARENT_SENS (1L<<24)
00318 #define EM_GRAB_LOSE (1L<<25)
00319 #define EM_SET_BG_IMAGE (1L<<26)
00320 #define EM_MOUSE_WHEEL (1L<<27)
00321 #define EM_SET_TRANSPARENCY (1L<<28)
00322 #define EM_PARENT_CHANGED (1L<<29)
00323
00324
00325 #if !defined X11_MGUI || defined DOXYGEN
00326
00333 #define Button1Mask (1<<8)
00334 #define Button2Mask (1<<9)
00335 #define Button3Mask (1<<10)
00336
00337
00346 #define Button1 1
00347 #define Button2 2
00348 #define Button3 3
00349
00350
00359 #define ShiftMask (1<<0)
00360 #define LockMask (1<<1)
00361 #define ControlMask (1<<2)
00362 #ifdef DOXYGEN
00363 #define AltMask (1<<3)
00364 #endif
00365
00366
00367 #endif
00368
00369 #define AltMask (1<<3)
00370
00374 #if defined BC_MGUI || defined __DPMI16__ || defined WIN_MGUI && !defined __WIN32__ && !defined _MSC_VER
00375 typedef unsigned char huge *IMAGE_DATA;
00376 #else
00377 typedef unsigned char *IMAGE_DATA;
00378 #endif
00379
00387 struct IMAGE_CMAP {
00389 unsigned char blue;
00391 unsigned char green;
00393 unsigned char red;
00400 unsigned char index;
00401 };
00402 typedef struct IMAGE_CMAP IMAGE_CMAP;
00403
00413 struct MIMAGE_DESCR {
00416 unsigned int installed;
00418 unsigned int ncolors;
00420 unsigned int nplanes;
00422 unsigned int img_w;
00424 unsigned int img_h;
00426 unsigned int row_w;
00428 CARD32 pixmap_id;
00430 IMAGE_CMAP *colormap;
00432 IMAGE_DATA data;
00434 IMAGE_DATA backup_data;
00436 IMAGE_DATA alpha;
00438 char *fname;
00440 struct MIMAGE_DESCR *mask;
00442 CARD32 flags;
00443 };
00444 typedef struct MIMAGE_DESCR MIMAGE_DESCR;
00445
00446 typedef MIMAGE_DESCR *MIMAGE;
00447
00479
00487 struct MAnyWindowEvent {
00489 int type;
00491 Window window;
00492 };
00493 typedef struct MAnyWindowEvent MAnyWindowEvent;
00494
00509 struct MKeyEvent {
00511 int type;
00513 Window window;
00515 unsigned int state;
00517 unsigned int keycode;
00518 };
00519 typedef struct MKeyEvent MKeyEvent;
00527 typedef MAnyWindowEvent MWMCloseEvent;
00528
00538 typedef MAnyWindowEvent MFocusEvent;
00539
00550 typedef MAnyWindowEvent MUnmapEvent;
00551
00562 typedef MAnyWindowEvent MMapEvent;
00563
00564
00565
00566
00567
00568
00569
00570 typedef MAnyWindowEvent MSelectEvent;
00571
00572
00573
00574
00575
00576
00577
00578 typedef MAnyWindowEvent MDeSelectEvent;
00579
00586 struct MMouseEvent {
00588 int type;
00590 Window window;
00592 int x, y;
00594 int x_root, y_root;
00596 unsigned int state;
00598 unsigned int button;
00600 int scroll_delta;
00601 };
00602 typedef struct MMouseEvent MMouseEvent;
00603
00614 struct MExposeEvent {
00616 int type;
00618 Window window;
00620 int x_off, y_off;
00622 int x, y;
00624 int width, height;
00626 int parent_drawn;
00627 };
00628 typedef struct MExposeEvent MExposeEvent;
00629
00640 struct MResizeEvent{
00642 int type;
00644 Window window;
00646 int width, height;
00647 };
00648 typedef struct MResizeEvent MResizeEvent;
00649
00659 typedef struct {
00661 int type;
00663 Window window;
00665 int x, y;
00667 int width, height;
00668 } MConfigureEvent;
00669
00679 typedef struct {
00681 int type;
00683 Window window;
00685 int x, y;
00686 } MMoveEvent;
00687
00688
00689
00703 typedef struct {
00705 int type;
00707 int sensitive;
00708 } MSetSensitivity;
00709
00718 typedef struct {
00720 int type;
00722 char *text;
00723 } MSetGetTextEvent;
00724
00736 typedef struct {
00738 int type;
00740 MTColor bgc;
00742 MTColor fgc;
00743 } MSetColorEvent;
00744
00753 typedef struct {
00755 int type;
00757 int shadow;
00759 int in_thick;
00761 int out_thick;
00762 } MSetShadowEvent;
00763
00773 typedef struct {
00775 int type;
00777 MIMAGE img;
00779 CARD8 mode;
00780 } MSetBGImageEvent;
00781
00791 typedef struct {
00793 int type;
00795 CARD8 level;
00796 } MSetTransparencyEvent;
00797
00802 union MEvent {
00803 int type;
00804 MAnyWindowEvent any_window_event;
00805 MKeyEvent key;
00806 MMouseEvent mouse;
00807 MExposeEvent expose;
00808 MWMCloseEvent wm_close;
00809 MFocusEvent focus;
00810 MUnmapEvent unmap;
00811 MMapEvent map;
00812 MConfigureEvent configure;
00813 MResizeEvent resize;
00814 MMoveEvent move;
00815 MSetColorEvent setcolor;
00816 MSetShadowEvent setshadow;
00817 MSetGetTextEvent setgettext;
00818 MSetSensitivity setsensitivity;
00819 MSetBGImageEvent setbgimage;
00820 MSetTransparencyEvent settransparency;
00821 };
00822 typedef union MEvent MEvent;
00824
00825
00834 #define MC_NONE (MTCursor)0
00835 #define MC_UL_ARROW (MTCursor)1
00836 #define MC_CROSSHAIR (MTCursor)2
00837 #define MC_HOURGLASS (MTCursor)3
00838 #define MC_HSIZE (MTCursor)4
00839 #define MC_VSIZE (MTCursor)5
00840 #define MC_NWSIZE (MTCursor)6
00841 #define MC_NESIZE (MTCursor)7
00842
00843
00851 #define DEFAULT_FONT 0
00852 #define FIXED_SMALL 1
00853 #define FIXED_MEDIUM 2
00854 #define FIXED_LARGE 3
00855 #define HELV_SMALL 4
00856 #define HELV_MEDIUM 5
00857 #define TIMES_SMALL 6
00858 #define TIMES_MEDIUM 7
00859 #define HELV_LARGE 8
00860 #define TIMES_LARGE 9
00861
00862
00867 #define SMALL_FONT FIXED_SMALL
00868 #define MEDIUM_FONT FIXED_MEDIUM
00869 #define LARGE_FONT FIXED_LARGE
00870 #define TIMES_N_FONT TIMES_SMALL
00871 #define TIMES_L_FONT TIMES_MEDIUM
00872 #define HELV_N_FONT HELV_SMALL
00873 #define HELV_L_FONT HELV_MEDIUM
00874
00889 #define LEFT_ALIGN 0
00890 #define RIGHT_ALIGN 1
00891 #define CENTER_ALIGN 2
00892 #define TOP_ALIGN 3
00893 #define BOTTOM_ALIGN 4
00894 #define UNDEF_ALIGN 0x3f
00895
00896
00902 #define MO_FONT 0x1
00903 #define MO_FGCOLOR 0x2
00904 #define MO_BGCOLOR 0x4
00905 #define MO_SHADOW 0x8
00906 #define MO_TEXT 0x10
00907 #define MO_BG_IMAGE 0x20
00908 #define MO_TRANSPARENCY 0x40
00909 #define MO_COLOR (MO_FGCOLOR|MO_BGCOLOR)
00910 #define MO_ALL 0x7f
00911
00912
00919 #define BI_TILED 0
00920 #define BI_CENTERED 1
00921 #define BI_SIZE_FORCING 2
00922
00923
00924
00930 #define WS_NONE 0
00931 #define WS_SHADOW_OUT 1
00932 #define WS_SHADOW_IN 2
00933 #define WS_ETCHED_IN 3
00934 #define WS_ETCHED_OUT 4
00935
00936
00937
00938
00939
00940
00941 #define WS_HATCHED_IN WS_ETCHED_IN
00942 #define WS_HATCHED_OUT WS_ETCHED_OUT
00943
00950 #define OT_SHELL 1
00951 #define OT_FORM 2
00952 #define OT_LABEL 3
00953 #define OT_PBUTTON 4
00954 #define OT_TBUTTON 5
00955 #define OT_RBUTTON 6
00956 #define OT_SCROLLBAR 7
00957 #define OT_EDIT 8
00958 #define OT_STATUSBAR 9
00959 #define OT_TEXT 10
00960 #define OT_SBLIST 11
00961 #define OT_MENUBAR 12
00962 #define OT_MENU 13
00963 #define OT_DRAWAREA 14
00964 #define OT_SPLITTER 15
00965
00966
00970 #ifdef _MGTREE_H
00971 typedef struct _mtnode *MTNODE;
00972 #else
00973 typedef void *MTNODE;
00974 #endif
00975
00976
00984 #define SF_NO_FOCUS_CHANGE 0x1
00985
00989 #define SF_SAVEUNDER 0x2
00990
00993 #define SF_MODAL 0x4
00994
00995 #define SF_POPUP 0x8
00996
00999 #define SF_IGNORE_WM_CLOSE 0x10
01000
01004 #define SF_UNMAP_ON_WM_CLOSE 0x20
01005
01006 #define SF_NO_CLOSE 0x40
01007
01008 #define SF_NO_MAXIMIZE 0x80
01009
01010 #define SF_NO_MINIMIZE 0x100
01011
01012 #define SF_NO_RESIZE 0x200
01013
01014 #define SF_NO_W_RESIZE 0x400
01015
01016 #define SF_NO_H_RESIZE 0x800
01017
01018
01025 #define DEF_POSITION -32768
01026
01027 #define DEF_SIZE -32768
01028
01029
01035 #define NF_CONTAINER 0x1
01036 #define NF_TOGGLE 0x2
01037
01038
01039
01044 #define MSPOOL_OK 0
01045 #define MSPOOL_FULL_QUEUE -1
01046 #define MSPOOL_NOT_READY -2
01047 #define MSPOOL_FILE_ERR -3
01048
01049
01050
01051
01052 #define F_PREF_ATT_POS 0
01053 #define F_PREF_ATT_ROW 1
01054 #define F_PREF_ATT_COL 2
01055 #define F_PREF_ATT_TABLE 3
01056
01061 #define F_ATT_NONE 0
01062 #define F_ATT_FORM 1
01063 #define F_ATT_OBJ 2
01064
01065
01077 struct DRAWAREA_PREF {
01079 int old_w;
01081 int old_h;
01083 int new_w;
01085 int new_h;
01086 };
01087 typedef struct DRAWAREA_PREF DRAWAREA_PREF;
01088
01094 #define SBT_HOR 0
01095 #define SBT_VERT 1
01096
01097
01098
01099 #define SBLT_TEXT 0
01100 #define SBLT_LIST 1
01101 #define SBLT_ELIST 2
01102 #define SBLT_FILE 3
01103 #define SBL_ITEM_SELECTED 0x1L
01104 #define SBL_ITEM_CHECKED 0x2L
01105
01114 struct XL_ITEM {
01116 struct XL_ITEM *next;
01118 char *data;
01120 long misc;
01122 void *u_data;
01123 };
01124 typedef struct XL_ITEM XL_ITEM;
01125
01134 struct LIST_ACT {
01136 char *item;
01138 void *u_data;
01140 long pos;
01142 unsigned char selected;
01144 unsigned char checked;
01145 };
01146 typedef struct LIST_ACT LIST_ACT;
01147
01156 struct LIST_SEL {
01158 char *item;
01160 void *u_data;
01162 long pos;
01164 unsigned char selected;
01166 unsigned char checked;
01170 MEvent *pe;
01171 };
01172 typedef struct LIST_SEL LIST_SEL;
01173
01180 struct EL_TEMPLATE {
01182 char *head;
01184 short len;
01186 short vis_len;
01188 short changeable;
01190 MOBJECT edit;
01192 MOBJECT label;
01193 };
01194 typedef struct EL_TEMPLATE EL_TEMPLATE;
01195
01207 struct SBL_NEW_BLOCK {
01216 int from;
01218 long offset;
01220 int nc;
01226 int nr;
01228 XL_ITEM *pi;
01229 };
01230 typedef struct SBL_NEW_BLOCK SBL_NEW_BLOCK;
01231
01243 struct SBL_ITEM_SEEK {
01245 long pos;
01247 char *sub_item;
01248 };
01249 typedef struct SBL_ITEM_SEEK SBL_ITEM_SEEK;
01250
01254 #define XLItemCheck(pxl) ((pxl)->misc |= SBL_ITEM_CHECKED)
01255
01259 #define XLItemUncheck(pxl) ((pxl)->misc &= ~SBL_ITEM_CHECKED)
01260
01266 #define NOCHAR 0
01267 #define ANYCHAR 0x1
01268 #define ALPHA 0x2
01269 #define DIGIT 0x4
01270 #define SPACE 0x8
01271
01272
01273 #define SIGNED 0x100
01274 #define DOT 0x200
01275 #define UPPER 0x400
01276 #define LOWER 0x800
01277
01278
01279 #define ALPHANUM (ALPHA|DIGIT)
01280 #define UPALPHA (ALPHA|UPPER)
01281 #define LOWALPHA (ALPHA|LOWER)
01282 #define U_INT DIGIT
01283 #define S_INT (DIGIT|SIGNED)
01284 #define U_FLOAT (DIGIT|DOT)
01285 #define S_FLOAT (DIGIT|DOT|SIGNED)
01286
01287
01296 struct EDIT_CURS {
01298 int pos;
01300 int pos_x;
01302 int pos_y;
01303 };
01304 typedef struct EDIT_CURS EDIT_CURS;
01305
01314 struct EDIT_CHANGE {
01316 char *current_text;
01318 char *change;
01320 int pos;
01322 int len;
01324 int change_len;
01326 unsigned validate;
01328 unsigned exec;
01329 };
01330 typedef struct EDIT_CHANGE EDIT_CHANGE;
01331
01340 struct EDIT_VAL {
01342 char *text;
01344 short len;
01346 int key;
01348 unsigned focus_lost;
01350 unsigned focus_leave;
01352 unsigned text_changed;
01354 unsigned text_validated;
01355 };
01356 typedef struct EDIT_VAL EDIT_VAL;
01357
01362 #define SE_READ 0x1
01363 #define SE_WRITE 0x2
01364 #define SE_EXCP 0x4
01365
01366 typedef void (*SOCKET_CB)(int s, unsigned event, void *data);
01367
01368
01369
01370
01371 typedef void *MENU_ITEM;
01372
01373
01374 typedef CARD32 TIMEOUT_ID;
01375 typedef INT32 MVALUE;
01376
01381 typedef void (*TIMEOUT_CB)(TIMEOUT_ID id, void *data);
01382 typedef int (*STRCMP_CB)(const char *, const char *);
01383
01384 #ifdef NO_MGUI_CB_PROTO
01385 typedef void (*MGUI_CB)();
01386 #else
01387 typedef void (*MGUI_CB)(MOBJECT obj, void *od, void *ad);
01388 #endif
01389
01390 #if defined UNIQUE_CB_PROTO || defined NO_MGUI_CB_PROTO
01391 typedef MGUI_CB OBJ_EVENT_CB;
01392 typedef MGUI_CB OBJ_STRING_CB;
01393 typedef MGUI_CB OBJ_VALUE_CB;
01394 typedef MGUI_CB WM_CLOSE_CB;
01395 typedef MGUI_CB NEW_BLOCK_CB;
01396 typedef MGUI_CB ITEM_SEEK_CB;
01397 typedef MGUI_CB EDIT_VAL_CB;
01398 typedef MGUI_CB EDIT_CURS_CB;
01399 typedef MGUI_CB EDIT_CHANGE_CB;
01400 typedef MGUI_CB LIST_ACT_CB;
01401 typedef MGUI_CB LIST_SEL_CB;
01402 typedef MGUI_CB DRAWAREA_PREF_CB;
01403 typedef MGUI_CB MENU_ITEM_CB;
01404 typedef MGUI_CB MTREE_NODE_CB;
01405 #else
01406 typedef void (*OBJ_EVENT_CB)(MOBJECT obj, MEvent *e, void *ad);
01407 typedef void (*OBJ_STRING_CB)(MOBJECT obj, char *str, void *ad);
01408 typedef void (*OBJ_VALUE_CB)(MOBJECT obj, MVALUE value, void *ad);
01409 typedef void (*WM_CLOSE_CB)(MOBJECT obj, void *odata, void *cdata);
01410 typedef void (*NEW_BLOCK_CB)(MOBJECT obj, SBL_NEW_BLOCK *nbs, void *ad);
01411 typedef void (*ITEM_SEEK_CB)(MOBJECT obj, SBL_ITEM_SEEK *iss, void *ad);
01412 typedef void (*EDIT_VAL_CB)(MOBJECT edit, EDIT_VAL *ev, void *ad);
01413 typedef void (*EDIT_CURS_CB)(MOBJECT edit, EDIT_CURS *ev, void *ad);
01414 typedef void (*EDIT_CHANGE_CB)(MOBJECT edit, EDIT_CHANGE *ec, void *ad);
01415 typedef void (*LIST_ACT_CB)(MOBJECT list, LIST_ACT *la, void *ad);
01416 typedef void (*LIST_SEL_CB)(MOBJECT list, LIST_SEL *la, void *ad);
01417 typedef void (*DRAWAREA_PREF_CB)(MOBJECT drawa, DRAWAREA_PREF *dp, void *ad);
01418 typedef void (*MENU_ITEM_CB)(MENU_ITEM item, MVALUE status, void *ad);
01419 typedef void (*MTREE_NODE_CB)(MTNODE node, void *ad);
01420 #endif
01421
01422
01423
01424
01425
01426
01427 #ifdef WIN_MGUI
01428
01432 #define PM_FULL 0
01433 #define PM_MM 1
01434 #define PM_PIXEL 3
01435 #define PM_PERC 4
01436
01440 #define PO_DEFAULT 0
01441 #define PO_PORTRAIT 1
01442 #define PO_LANDSCAPE 2
01443
01444 typedef struct
01445 {
01446 int mode;
01447 int x;
01448 int y;
01449 int w;
01450 int h;
01451 } MPRINT_OPTIONS;
01452
01453 typedef struct
01454 {
01455 int startPage;
01456 int endPage;
01457 int minPage;
01458 int maxPage;
01459 } MPAGE_OPTIONS;
01460
01461 typedef void *DOC_ID;
01462
01463 #endif
01464 #endif