00001
00002
00003
00004
00009 #ifndef _MT_GEMLIB_H_
00010 # define _MT_GEMLIB_H_
00011
00012 # include <compiler.h>
00013
00014 #ifndef INT16
00015 #define INT16 short
00016 #endif
00017
00018 # ifdef __GEMLIB_OLDBIND
00019 # undef _MT_GEMLIB_H_
00020
00021 # ifndef __GEMLIB_HAVE_DEFS
00022 # define __GEMLIB_HAVE_DEFS
00023 # else
00024 # undef __GEMLIB_DEFS
00025 # endif
00026
00027 # else
00028 # define __GEMLIB_DEFS
00029 # ifndef _GEM_VDI_P_
00030 # define __GEMLIB_AES
00031 # endif
00032 # ifndef _GEM_AES_P_
00033 # define __GEMLIB_VDI
00034 # endif
00035 # endif
00036
00037 __BEGIN_DECLS
00038
00039
00040
00041
00042
00043
00044
00045
00046 #define __GEMLIB__ __GEMLIB_MAJOR__
00047 #define __GEMLIB_MAJOR__ 0
00048 #define __GEMLIB_MINOR__ 43
00049 #define __GEMLIB_REVISION__ 6
00050 #define __GEMLIB_BETATAG__ ""
00052
00053 #define MGEMLIB 42
00054 #define __MGEMLIB__ 42
00057 #ifdef __GEMLIB_DEFS
00058
00059
00060
00061
00062
00063 #define NIL 0
00064 #define DESKTOP_HANDLE 0
00065 #define DESK DESKTOP_HANDLE
00067
00068 #define APC_HIDE 10
00069 #define APC_SHOW 11
00070 #define APC_TOP 12
00071 #define APC_HIDENOT 13
00072 #define APC_INFO 14
00073 #define APC_MENU 15
00074 #define APC_WIDGETS 16
00076
00077 #define APCI_HIDDEN 0x01
00078 #define APCI_HASMBAR 0x02
00079 #define APCI_HASDESK 0x04
00081
00082 #define AES_LARGEFONT 0
00083 #define AES_SMALLFONT 1
00084 #define AES_SYSTEM 2
00085 #define AES_LANGUAGE 3
00086 #define AES_PROCESS 4
00087 #define AES_PCGEM 5
00088 #define AES_INQUIRE 6
00089 #define AES_MOUSE 8
00090 #define AES_MENU 9
00091 #define AES_SHELL 10
00092 #define AES_WINDOW 11
00093 #define AES_MESSAGE 12
00094 #define AES_OBJECT 13
00095 #define AES_FORM 14
00096 #define AES_EXTENDED 64
00097 #define AES_NAES 65
00098 #define AES_VERSION 96
00099 #define AES_WOPTS 97
00101
00102 #define SYSTEM_FONT 0
00103 #define OUTLINE_FONT 1
00105
00106 #define AESLANG_ENGLISH 0
00107 #define AESLANG_GERMAN 1
00108 #define AESLANG_FRENCH 2
00109 #define AESLANG_SPANISH 4
00110 #define AESLANG_ITALIAN 5
00111 #define AESLANG_SWEDISH 6
00113
00114 #define APR_NOWAIT -1
00116
00117 #define APP_FIRST 0
00118 #define APP_NEXT 1
00119 #define APP_DESK 2
00121
00122 #define APP_SYSTEM 0x01
00123 #define APP_APPLICATION 0x02
00124 #define APP_ACCESSORY 0x04
00125 #define APP_SHELL 0x08
00127
00128 #define APPEVNT_TIMER 0
00129 #define APPEVNT_BUTTON 1
00130 #define APPEVNT_MOUSE 2
00131 #define APPEVNT_KEYBOARD 3
00147 typedef struct pEvntrec
00148 {
00149 long ap_event;
00150 long ap_value;
00151 } EVNTREC;
00152
00153
00154 #define LEFT_BUTTON 0x0001
00155 #define RIGHT_BUTTON 0x0002
00156 #define MIDDLE_BUTTON 0x0004
00158 #define K_RSHIFT 0x0001
00159 #define K_LSHIFT 0x0002
00160 #define K_CTRL 0x0004
00161 #define K_ALT 0x0008
00163
00164 #define EDC_INQUIRE 0
00165 #define EDC_SET 1
00167
00168
00184 #define MN_SELECTED 10
00185
00201 #define WM_REDRAW 20
00202
00218 #define WM_TOPPED 21
00219
00234 #define WM_CLOSED 22
00235
00253 #define WM_FULLED 23
00254
00298 #define WM_ARROWED 24
00299
00313 #define WM_HSLID 25
00314
00328 #define WM_VSLID 26
00329
00346 #define WM_SIZED 27
00347
00365 #define WM_MOVED 28
00366
00379 #define WM_NEWTOP 29
00380
00399 #define WM_UNTOPPED 30
00400
00419 #define WM_ONTOP 31
00420
00442 #define WM_BOTTOM 33
00443 #define WM_BOTTOMED WM_BOTTOM
00463 #define WM_ICONIFY 34
00464
00483 #define WM_UNICONIFY 35
00484
00503 #define WM_ALLICONIFY 36
00504
00520 #define WM_TOOLBAR 37
00521
00541 #define WM_REPOSED 38
00542
00555 #define AC_OPEN 40
00556
00574 #define AC_CLOSE 41
00575
00605 #define AP_TERM 50
00606
00620 #define AP_TFAIL 51
00621
00622 #define AP_RESCHG 57
00624
00625 #define CT_UPDATE 50
00626 #define CT_MOVE 51
00627 #define CT_NEWTOP 52
00628 #define CT_KEY 53
00645 #define SHUT_COMPLETED 60
00646
00665 #define RESCHG_COMPLETED 61
00666
00668 #define RESCH_COMPLETED RESCHG_COMPLETED
00669
00687 #define AP_DRAGDROP 63
00688
00702 #define SH_WDRAW 72
00703
00704 #define SC_CHANGED 80
00705 #define PRN_CHANGED 82
00706 #define FNT_CHANGED 83
00724 #define THR_EXIT 88
00725
00726 #define PA_EXIT 89
00743 #define CH_EXIT 90
00744
00745 #define WM_M_BDROPPED 100
00767 #define SM_M_SPECIAL 101
00768 #define SM_M_RES2 102
00769 #define SM_M_RES3 103
00770 #define SM_M_RES4 104
00771 #define SM_M_RES5 105
00772 #define SM_M_RES6 106
00773 #define SM_M_RES7 107
00774 #define SM_M_RES8 108
00775 #define SM_M_RES9 109
00776 #define WM_SHADED 22360
00777 #define WM_UNSHADED 22361
00779
00780 #define SMC_TIDY_UP 0
00781 #define SMC_TERMINATE 1
00782 #define SMC_SWITCH 2
00783 #define SMC_FREEZE 3
00784 #define SMC_UNFREEZE 4
00785 #define SMC_RES5 5
00786 #define SMC_UNHIDEALL 6
00787 #define SMC_HIDEOTHERS 7
00788 #define SMC_HIDEACT 8
00818 #define WM_WHEEL 345
00819
00820
00821 #define MO_ENTER 0
00822 #define MO_LEAVE 1
00824
00825 #define MU_KEYBD 0x0001
00826 #define MU_BUTTON 0x0002
00827 #define MU_M1 0x0004
00828 #define MU_M2 0x0008
00829 #define MU_MESAG 0x0010
00830 #define MU_TIMER 0x0020
00831 #define MU_WHEEL 0x0040
00832 #define MU_MX 0x0080
00833 #define MU_NORM_KEYBD 0x0100
00834 #define MU_DYNAMIC_KEYBD 0x0200
00836
00837 #define FA_NOICON "[0]"
00838 #define FA_ERROR "[1]"
00839 #define FA_QUESTION "[2]"
00840 #define FA_STOP "[3]"
00841 #define FA_INFO "[4]"
00842 #define FA_DISK "[5]"
00844
00845 #define FMD_START 0
00846 #define FMD_GROW 1
00847 #define FMD_SHRINK 2
00848 #define FMD_FINISH 3
00850
00851 #define FERR_FILENOTFOUND 2
00852 #define FERR_PATHNOTFOUND 3
00853 #define FERR_NOHANDLES 4
00854 #define FERR_ACCESSDENIED 5
00855 #define FERR_LOWMEM 8
00856 #define FERR_BADENVIRON 10
00857 #define FERR_BADFORMAT 11
00858 #define FERR_BADDRIVE 15
00859 #define FERR_DELETEDIR 16
00860 #define FERR_NOFILES 18
00862
00863 #define FSEL_CANCEL 0
00864 #define FSEL_OK 1
00866
00867 #define ME_INQUIRE 0
00868 #define ME_ATTACH 1
00869 #define ME_REMOVE 2
00871
00872 #define SCROLL_NO 0
00873 #define SCROLL_YES 1
00875
00876 #define MENU_INQUIRE -1
00877 #define MENU_REMOVE 0
00878 #define MENU_INSTALL 1
00879 #define MENU_GETMODE 3
00880 #define MENU_SETMODE 4
00881 #define MENU_UPDATE 5
00882 #define MENU_INSTL 100
00885
00886 #define MENU_HIDDEN 0x0001
00887 #define MENU_PULLDOWN 0x0002
00888 #define MENU_SHADOWED 0x0004
00890
00891 #define UNCHECK 0
00892 #define CHECK 1
00894
00895 #define DISABLE 0
00896 #define ENABLE 1
00898
00899 #define MIS_GETALIGN 0
00900 #define MIS_SETALIGN 1
00902
00903 #define SCROLL_LISTBOX -1
00905
00906 #define REG_NEWNAME -1
00908
00909 #define MN_INQUIRE 0
00910 #define MN_CHANGE 1
00912
00913 #define HIGHLIGHT 0
00914 #define UNHIGHLIGHT 1
00918 typedef struct _mn_set
00919 {
00920 long display;
00921 long drag;
00922 long delay;
00923 long speed;
00924 short height;
00925 } MN_SET;
00926
00927
00928 #define SHEL_BUFSIZE (-1)
00930
00931 #define SHP_HELP 0
00934 typedef struct
00935 {
00939 char *newcmd;
00943 long psetlimit;
00947 long prenice;
00952 char *defdir;
00956 char *env;
00960 short uid;
00964 short gid;
00965 } SHELW;
00966
00968 typedef struct
00969 {
00970 char *command;
00971 long limit;
00972 long nice;
00973 char *defdir;
00974 char *env;
00975 long flags;
00976 } XSHW_COMMAND;
00977
00979 typedef struct
00980 {
00981 long __CDECL (*proc)(void *par);
00986 void *user_stack;
00992 unsigned long stacksize;
00993 short mode;
00994 long res1;
00995 } THREADINFO;
00996
00998 typedef struct
00999 {
01000 short dummy;
01001 long magic;
01007 short isfirst;
01015 long lasterr;
01016 short wasgr;
01017 } SHELTAIL;
01018
01019
01020
01024 #define SWM_LAUNCH 0
01027 #define SWM_LAUNCHNOW 1
01028 #define SWM_LAUNCHACC 3
01029 #define SWM_SHUTDOWN 4
01030 #define SWM_REZCHANGE 5
01031 #define SWM_BROADCAST 7
01032 #define SWM_ENVIRON 8
01036 #define SWM_NEWMSG 9
01037 #define SWM_AESMSG 10
01038 #define SWM_THRCREATE 20
01039 #define SWM_THREXIT 21
01040 #define SWM_THRKILL 22
01042
01043 #define SHW_NOEXEC SWM_LAUNCH
01044 #define SHW_EXEC SWM_LAUNCHNOW
01045 #define SHW_EXEC_ACC SWM_LAUNCHACC
01046 #define SHW_SHUTDOWN SWM_SHUTDOWN
01047 #define SHW_RESCHNG SWM_REZCHANGE
01048 #define SHW_BROADCAST SWM_BROADCAST
01049 #define SHW_INFRECGN SWM_NEWMSG
01050 #define SHW_AESSEND SWM_AESMSG
01051 #define SHW_THR_CREATE SWM_THRCREATE
01052 #define SHW_THR_EXIT SWM_THREXIT
01053 #define SHW_THR_KILL SWM_THRKILL
01055
01056 #define TOSAPP 0
01057 #define GEMAPP 1
01059
01060 #define SHW_IMMED 0
01061 #define SHW_CHAIN 1
01062 #define SHW_DOS 2
01063 #define SHW_PARALLEL 100
01064 #define SHW_SINGLE 101
01066
01067 #define CL_NORMAL 0
01068 #define CL_PARSE 1
01070
01071 #define SD_ABORT 0
01072 #define SD_PARTIAL 1
01073 #define SD_COMPLETE 2
01075
01076 #define ENVIRON_SIZE 0
01077 #define ENVIRON_CHANGE 1
01078 #define ENVIRON_COPY 2
01080
01081 #define NM_APTERM 0x0001
01082 #define NM_INHIBIT_HIDE 0x0002
01084
01085 #define AP_AESTERM 52
01087
01088 #define SW_PSETLIMIT 0x0100
01089 #define SW_PRENICE 0x0200
01090 #define SW_DEFDIR 0x0400
01091 #define SW_ENVIRON 0x0800
01093
01094 #define SW_UID 0x1000
01095 #define SW_GID 0x2000
01097
01098 #define SHW_XMDFLAGS 0x1000
01100
01101 #define SHW_XMDLIMIT SW_PSETLIMIT
01102 #define SHW_XMDNICE SW_PRENICE
01103 #define SHW_XMDDEFDIR SW_DEFDIR
01104 #define SHW_XMDENV SW_ENVIRON
01106
01107 #define R_TREE 0
01108 #define R_OBJECT 1
01109 #define R_TEDINFO 2
01110 #define R_ICONBLK 3
01111 #define R_BITBLK 4
01112 #define R_STRING 5
01113 #define R_IMAGEDATA 6
01114 #define R_OBSPEC 7
01115 #define R_TEPTEXT 8
01116 #define R_TEPTMPLT 9
01117 #define R_TEPVALID 10
01118 #define R_IBPMASK 11
01119 #define R_IBPDATA 12
01120 #define R_IBPTEXT 13
01121 #define R_BIPDATA 14
01122 #define R_FRSTR 15
01123 #define R_FRIMG 16
01125
01126 #define SCRAP_CSV 0x0001
01127 #define SCRAP_TXT 0x0002
01128 #define SCRAP_GEM 0x0004
01129 #define SCRAP_IMG 0x0008
01130 #define SCRAP_DCA 0x0010
01131 #define SCRAP_DIF 0x0020
01132 #define SCRAP_USR 0x8000
01134
01135 #define NAME 0x0001
01136 #define CLOSER 0x0002
01137 #define FULLER 0x0004
01138 #define MOVER 0x0008
01139 #define INFO 0x0010
01140 #define SIZER 0x0020
01141 #define UPARROW 0x0040
01142 #define DNARROW 0x0080
01143 #define VSLIDE 0x0100
01144 #define LFARROW 0x0200
01145 #define RTARROW 0x0400
01146 #define HSLIDE 0x0800
01147 #define HOTCLOSEBOX 0x1000
01148 #define MENUBAR 0x1000
01149 #define BACKDROP 0x2000
01150 #define SMALLER 0x4000
01151 #define BORDER 0x8000
01152 #define ICONIFIER SMALLER
01154
01155 #define WC_BORDER 0
01156 #define WC_WORK 1
01158
01159 #define WF_KIND 1
01160 #define WF_NAME 2
01161 #define WF_INFO 3
01162 #define WF_WORKXYWH 4
01163 #define WF_CURRXYWH 5
01164 #define WF_PREVXYWH 6
01165 #define WF_FULLXYWH 7
01166 #define WF_HSLIDE 8
01167 #define WF_VSLIDE 9
01168 #define WF_TOP 10
01169 #define WF_FIRSTXYWH 11
01170 #define WF_NEXTXYWH 12
01171 #define WF_FIRSTAREAXYWH 13
01172 #define WF_NEWDESK 14
01173 #define WF_HSLSIZE 15
01174 #define WF_VSLSIZE 16
01175 #define WF_SCREEN 17
01176 #define WF_COLOR 18
01177 #define WF_DCOLOR 19
01178 #define WF_OWNER 20
01179 #define WF_BEVENT 24
01180 #define WF_BOTTOM 25
01181 #define WF_ICONIFY 26
01182 #define WF_UNICONIFY 27
01183 #define WF_UNICONIFYXYWH 28
01184 #define WF_TOOLBAR 30
01185 #define WF_FTOOLBAR 31
01186 #define WF_NTOOLBAR 32
01187 #define WF_MENU 33
01188 #define WF_WHEEL 40
01189 #define WF_OPTS 41
01190 #define WF_CALCF2W 42
01191 #define WF_CALCW2F 43
01192 #define WF_CALCF2U 44
01193 #define WF_CALCU2F 45
01194 #define WF_MAXWORKXYWH 46
01195 #define WF_M_BACKDROP 100
01196 #define WF_M_OWNER 101
01197 #define WF_M_WINDLIST 102
01198 #define WF_MINXYWH 103
01199 #define WF_INFOXYWH 104
01200 #define WF_WIDGETS 200
01201 #define WF_WINX 22360
01202 #define WF_WINXCFG 22361
01203 #define WF_SHADE 22365
01204 #define WF_STACK 22366
01205 #define WF_TOPALL 22367
01206 #define WF_BOTTOMALL 22368
01207 #define WF_XAAES 0x5841
01209
01210 #define BEVENT_WORK 0x0001
01211 #define BEVENT_INFO 0x0002
01213
01214 #define WO0_WHEEL 0x0001
01215 #define WO0_FULLREDRAW 0x0002
01216 #define WO0_NOBLITW 0x0004
01217 #define WO0_NOBLITH 0x0008
01218 #define WO0_SENDREPOS 0x0010
01219 #define WO1_NONE 0x0000
01220 #define WO2_NONE 0x0000
01222
01223 #define WHEEL_MESAG 0
01224 #define WHEEL_ARROWED 1
01225 #define WHEEL_SLIDER 2
01227
01228 #define W_BOX 0
01229 #define W_TITLE 1
01230 #define W_CLOSER 2
01231 #define W_NAME 3
01232 #define W_FULLER 4
01233 #define W_INFO 5
01234 #define W_DATA 6
01235 #define W_WORK 7
01236 #define W_SIZER 8
01237 #define W_VBAR 9
01238 #define W_UPARROW 10
01239 #define W_DNARROW 11
01240 #define W_VSLIDE 12
01241 #define W_VELEV 13
01242 #define W_HBAR 14
01243 #define W_LFARROW 15
01244 #define W_RTARROW 16
01245 #define W_HSLIDE 17
01246 #define W_HELEV 18
01247 #define W_SMALLER 19
01248 #define W_BOTTOMER 20
01249 #define W_HIDER 30
01251
01252 #define WA_UPPAGE 0
01253 #define WA_DNPAGE 1
01254 #define WA_UPLINE 2
01255 #define WA_DNLINE 3
01256 #define WA_LFPAGE 4
01257 #define WA_RTPAGE 5
01258 #define WA_LFLINE 6
01259 #define WA_RTLINE 7
01260 #define WA_WHEEL 8
01262
01263 #define END_UPDATE 0
01264 #define BEG_UPDATE 1
01265 #define END_MCTRL 2
01266 #define BEG_MCTRL 3
01267 #define NO_BLOCK 0x100
01269
01270 #define ARROW 0
01271 #define TEXT_CRSR 1
01272 #define BEE 2
01273 #define BUSY_BEE BEE
01274 #define BUSYBEE BEE
01275 #define HOURGLASS 2
01276 #define POINT_HAND 3
01277 #define FLAT_HAND 4
01278 #define THIN_CROSS 5
01279 #define THICK_CROSS 6
01280 #define OUTLN_CROSS 7
01281 #define USER_DEF 255
01282 #define M_OFF 256
01283 #define M_ON 257
01284 #define M_SAVE 258
01285 #define M_RESTORE 259
01286 #define M_LAST 260
01287 #define M_PREVIOUS M_LAST
01288 #define M_FORCE 0x8000
01290
01291 #define ROOT 0
01292 #define MAX_LEN 81
01293 #define MAX_DEPTH 8
01295
01296 #define IP_HOLLOW 0
01297 #define IP_1PATT 1
01298 #define IP_2PATT 2
01299 #define IP_3PATT 3
01300 #define IP_4PATT 4
01301 #define IP_5PATT 5
01302 #define IP_6PATT 6
01303 #define IP_SOLID 7
01305
01306 #define GDOS_PROP 0
01307 #define GDOS_MONO 1
01308 #define GDOS_BITM 2
01309 #define IBM 3
01310 #define SMALL 5
01312
01313 #define G_BOX 20
01314 #define G_TEXT 21
01315 #define G_BOXTEXT 22
01316 #define G_IMAGE 23
01317 #define G_USERDEF 24
01318 #define G_PROGDEF G_USERDEF
01319 #define G_IBOX 25
01320 #define G_BUTTON 26
01321 #define G_BOXCHAR 27
01322 #define G_STRING 28
01323 #define G_FTEXT 29
01324 #define G_FBOXTEXT 30
01325 #define G_ICON 31
01326 #define G_TITLE 32
01327 #define G_CICON 33
01329
01330 #define G_SWBUTTON 34
01331 #define G_POPUP 35
01332 #define G_WINTITLE 36
01333 #define G_EDIT 37
01334 #define G_SHORTCUT 38
01337
01338 #define OF_NONE 0x0000
01339 #define OF_SELECTABLE 0x0001
01340 #define OF_DEFAULT 0x0002
01341 #define OF_EXIT 0x0004
01342 #define OF_EDITABLE 0x0008
01343 #define OF_RBUTTON 0x0010
01344 #define OF_LASTOB 0x0020
01345 #define OF_TOUCHEXIT 0x0040
01346 #define OF_HIDETREE 0x0080
01347 #define OF_INDIRECT 0x0100
01348 #define OF_FL3DIND 0x0200
01349 #define OF_FL3DBAK 0x0400
01350 #define OF_FL3DACT 0x0600
01351 #define OF_SUBMENU 0x0800
01352 #define OF_FLAG11 OF_SUBMENU
01353 #define OF_FLAG12 0x1000
01354 #define OF_FLAG13 0x2000
01355 #define OF_FLAG14 0x4000
01356 #define OF_FLAG15 0x8000
01358
01359 #define OS_NORMAL 0x0000
01360 #define OS_SELECTED 0x0001
01361 #define OS_CROSSED 0x0002
01362 #define OS_CHECKED 0x0004
01363 #define OS_DISABLED 0x0008
01364 #define OS_OUTLINED 0x0010
01365 #define OS_SHADOWED 0x0020
01366 #define OS_WHITEBAK 0x0040
01367 #define OS_DRAW3D 0x0080
01368 #define OS_STATE08 0x0100
01369 #define OS_STATE09 0x0200
01370 #define OS_STATE10 0x0400
01371 #define OS_STATE11 0x0800
01372 #define OS_STATE12 0x1000
01373 #define OS_STATE13 0x2000
01374 #define OS_STATE14 0x4000
01375 #define OS_STATE15 0x8000
01377
01378 #define G_WHITE 0
01379 #define G_BLACK 1
01380 #define G_RED 2
01381 #define G_GREEN 3
01382 #define G_BLUE 4
01383 #define G_CYAN 5
01384 #define G_YELLOW 6
01385 #define G_MAGENTA 7
01386 #define G_LWHITE 8
01387 #define G_LBLACK 9
01388 #define G_LRED 10
01389 #define G_LGREEN 11
01390 #define G_LBLUE 12
01391 #define G_LCYAN 13
01392 #define G_LYELLOW 14
01393 #define G_LMAGENTA 15
01396 #ifdef __GEMLIB_OLDNAMES
01397
01398
01399 #define NONE 0x0000
01400 #define SELECTABLE 0x0001
01401 #define DEFAULT 0x0002
01402 #define EXIT 0x0004
01403 #define EDITABLE 0x0008
01404 #define RBUTTON 0x0010
01405 #define LASTOB 0x0020
01406 #define TOUCHEXIT 0x0040
01407 #define HIDETREE 0x0080
01408 #define INDIRECT 0x0100
01409 #define FL3DIND 0x0200
01410 #define FL3DBAK 0x0400
01411 #define FL3DACT 0x0600
01412 #define SUBMENU 0x0800
01413 #define FLAG11 SUBMENU
01414 #define FLAG12 0x1000
01415 #define FLAG13 0x2000
01416 #define FLAG14 0x4000
01417 #define FLAG15 0x8000
01419
01420 #define NORMAL 0x0000
01421 #define SELECTED 0x0001
01422 #define CROSSED 0x0002
01423 #define CHECKED 0x0004
01424 #define DISABLED 0x0008
01425 #define OUTLINED 0x0010
01426 #define SHADOWED 0x0020
01427 #define WHITEBAK 0x0040
01428 #define DRAW3D 0x0080
01429 #define STATE08 0x0100
01430 #define STATE09 0x0200
01431 #define STATE10 0x0400
01432 #define STATE11 0x0800
01433 #define STATE12 0x1000
01434 #define STATE13 0x2000
01435 #define STATE14 0x4000
01436 #define STATE15 0x8000
01438
01439 #define WHITE 0
01440 #define BLACK 1
01441 #define RED 2
01442 #define GREEN 3
01443 #define BLUE 4
01444 #define CYAN 5
01445 #define YELLOW 6
01446 #define MAGENTA 7
01447 #define LWHITE 8
01448 #define LBLACK 9
01449 #define LRED 10
01450 #define LGREEN 11
01451 #define LBLUE 12
01452 #define LCYAN 13
01453 #define LYELLOW 14
01454 #define LMAGENTA 15
01456 #endif
01457
01458
01459
01460 #define ED_START 0
01461 #define ED_INIT 1
01462 #define ED_CHAR 2
01463 #define ED_END 3
01465 #define EDSTART ED_START
01466 #define EDINIT ED_INIT
01467 #define EDCHAR ED_CHAR
01468 #define EDEND ED_END
01470 #define ED_CRSR 100
01471 #define ED_DRAW 103
01473
01474 #define TE_LEFT 0
01475 #define TE_RIGHT 1
01476 #define TE_CNTR 2
01478
01479 #define NO_DRAW 0
01480 #define REDRAW 1
01482
01483 #define OO_LAST -1
01484 #define OO_FIRST 0
01486
01487 #define SV_INQUIRE 0
01488 #define SV_SET 1
01490
01491 #define LK3DIND 1
01492 #define LK3DACT 2
01493 #define INDBUTCOL 3
01494 #define ACTBUTCOL 4
01495 #define BACKGRCOL 5
01496 #define AD3DVAL 6
01497 #define MX_ENABLE3D 10
01498 #define MENUCOL 11
01501 typedef struct mouse_form
01502 {
01507 short mf_xhot;
01508
01513 short mf_yhot;
01514
01518 short mf_nplanes;
01519
01523 short mf_fg;
01524
01528 short mf_bg;
01529
01533 short mf_mask[16];
01534
01538 short mf_data[16];
01539 } MFORM;
01540
01541 #ifndef __PXY
01542 # define __PXY
01544 typedef struct point_coord
01545 {
01546 short p_x;
01547 short p_y;
01548 } PXY;
01549 #endif
01550
01551 #ifndef __GRECT
01552 # define __GRECT
01554 typedef struct graphic_rectangle
01555 {
01556 short g_x;
01557 short g_y;
01558 short g_w;
01559 short g_h;
01560 } GRECT;
01561 #endif
01562
01564 typedef struct objc_colorword
01565 {
01566 unsigned borderc : 4;
01567 unsigned textc : 4;
01568 unsigned opaque : 1;
01569 unsigned pattern : 3;
01570 unsigned fillc : 4;
01571 } OBJC_COLORWORD;
01572
01574 typedef struct text_edinfo
01575 {
01576 char *te_ptext;
01577 char *te_ptmplt;
01578 char *te_pvalid;
01579 short te_font;
01580 short te_fontid;
01581 short te_just;
01582 short te_color;
01583 short te_fontsize;
01584 short te_thickness;
01585 short te_txtlen;
01586 short te_tmplen;
01587 } TEDINFO;
01588
01590 typedef struct icon_block
01591 {
01592 short *ib_pmask;
01593 short *ib_pdata;
01594 char *ib_ptext;
01595 short ib_char;
01596 short ib_xchar;
01597 short ib_ychar;
01598 short ib_xicon;
01599 short ib_yicon;
01600 short ib_wicon;
01601 short ib_hicon;
01602 short ib_xtext;
01603 short ib_ytext;
01604 short ib_wtext;
01605 short ib_htext;
01606 } ICONBLK;
01607
01609 typedef struct bit_block
01610 {
01611 short *bi_pdata;
01612 short bi_wb;
01613 short bi_hl;
01614 short bi_x;
01615 short bi_y;
01616 short bi_color;
01617 } BITBLK;
01618
01620 typedef struct cicon_data
01621 {
01622 short num_planes;
01623 short *col_data;
01624 short *col_mask;
01625 short *sel_data;
01626 short *sel_mask;
01627 struct cicon_data *next_res;
01628 } CICON;
01629
01631 typedef struct cicon_blk
01632 {
01633 ICONBLK monoblk;
01634 CICON *mainlist;
01635 } CICONBLK;
01636
01638 typedef struct
01639 {
01640 unsigned character : 8;
01641 signed framesize : 8;
01642 unsigned framecol : 4;
01643 unsigned textcol : 4;
01644 unsigned textmode : 1;
01645 unsigned fillpattern : 3;
01646 unsigned interiorcol : 4;
01647 } BFOBSPEC;
01648
01650 struct user_block;
01651
01653 typedef union obspecptr
01654 {
01655 long index;
01656 union obspecptr *indirect;
01657 BFOBSPEC obspec;
01658 TEDINFO *tedinfo;
01659 BITBLK *bitblk;
01660 ICONBLK *iconblk;
01661 CICONBLK *ciconblk;
01662 struct user_block *userblk;
01663 char *free_string;
01664 } OBSPEC;
01665
01667 typedef struct object
01668 {
01669 short ob_next;
01670 short ob_head;
01671 short ob_tail;
01672 unsigned short ob_type;
01673 unsigned short ob_flags;
01674 unsigned short ob_state;
01675 OBSPEC ob_spec;
01676 short ob_x;
01677 short ob_y;
01678 short ob_width;
01679 short ob_height;
01680 } OBJECT;
01681
01683 typedef struct parm_block
01684 {
01685 OBJECT *pb_tree;
01686 short pb_obj;
01687 short pb_prevstate;
01688 short pb_currstate;
01689 short pb_x;
01690 short pb_y;
01691 short pb_w;
01692 short pb_h;
01693 short pb_xc;
01694 short pb_yc;
01695 short pb_wc;
01696 short pb_hc;
01697 long pb_parm;
01698 } PARMBLK;
01699
01701 typedef struct user_block
01702 {
01703 short __CDECL (*ub_code)(PARMBLK *parmblock);
01704 long ub_parm;
01705 } USERBLK;
01706
01708 typedef struct rshdr
01709 {
01710 short rsh_vrsn;
01711 unsigned short rsh_object;
01712 unsigned short rsh_tedinfo;
01713 unsigned short rsh_iconblk;
01714 unsigned short rsh_bitblk;
01715 unsigned short rsh_frstr;
01716 unsigned short rsh_string;
01717 unsigned short rsh_imdata;
01718 unsigned short rsh_frimg;
01719 unsigned short rsh_trindex;
01720 short rsh_nobs;
01721 short rsh_ntree;
01722 short rsh_nted;
01723 short rsh_nib;
01724 short rsh_nbb;
01725 short rsh_nstring;
01726 short rsh_nimages;
01727 unsigned short rsh_rssize;
01728 } RSHDR;
01729
01731 typedef struct _menu
01732 {
01733 OBJECT *mn_tree;
01734 short mn_menu;
01735 short mn_item;
01736 short mn_scroll;
01744 short mn_keystate;
01745 } MENU;
01746
01748 typedef struct
01749 {
01750 short m_out;
01751 short m_x;
01752 short m_y;
01753 short m_w;
01754 short m_h;
01755 } MOBLK;
01756
01758 typedef struct mouse_event_type
01759 {
01760 short *x;
01761 short *y;
01762 short *b;
01763 short *k;
01764 } MOUSE_EVENT;
01765
01768 typedef struct {
01769 short emi_flags;
01770 short emi_bclicks;
01771 short emi_bmask;
01772 short emi_bstate;
01773 short emi_m1leave;
01774 GRECT emi_m1;
01775 short emi_m2leave;
01776 GRECT emi_m2;
01777 short emi_tlow;
01778 short emi_thigh;
01779 } EVMULT_IN;
01780
01785 typedef struct {
01786 short emo_events;
01787 PXY emo_mouse;
01788 short emo_mbutton;
01789 short emo_kmeta;
01790 short emo_kreturn;
01791 short emo_mclicks;
01792 } EVMULT_OUT;
01793
01794 #endif
01795
01796 #ifdef __GEMLIB_AES
01797
01798
01799
01800
01801
01805 short mt_appl_bvset (short bvdisk, short bvhard, short *global_aes);
01806 short mt_appl_control (short ap_cid, short ap_cwhat, void *ap_cout, short *global_aes);
01807 short mt_appl_exit (short *global_aes);
01808 short mt_appl_find (const char *name, short *global_aes);
01809 short mt_appl_getinfo (short type,
01810 short *out1, short *out2, short *out3, short *out4, short *global_aes);
01811 short mt_appl_getinfo_str (short type,
01812 char *out1, char *out2, char *out3, char *out4, short *global_aes);
01813 short mt_appl_init (short *global_aes);
01814 short mt_appl_read (short ap_id, short length, void *ap_pbuff, short *global_aes);
01815 short mt_appl_search (short mode, char *fname, short *type, short *ap_id, short *global_aes);
01816 short mt_appl_tplay (void *mem, short num, short scale, short *global_aes);
01817 short mt_appl_trecord (void *mem, short count, short *global_aes);
01818 short mt_appl_write (short ap_id, short length, void *ap_pbuff, short *global_aes);
01819 short mt_appl_yield (short *global_aes);
01825 short mt_evnt_button (short Clicks, short WhichButton, short WhichState,
01826 short *Mx, short *My, short *ButtonState, short *KeyState, short *global_aes);
01827 short mt_evnt_dclick (short ToSet, short SetGet, short *global_aes);
01828 short mt_evnt_keybd (short *global_aes);
01829 short mt_evnt_mesag (short MesagBuf[], short *global_aes);
01830 short mt_evnt_mouse (short EnterExit, short InX, short InY, short InW, short InH,
01831 short *OutX, short *OutY, short *ButtonState, short *KeyState, short *global_aes);
01832 short mt_evnt_multi (short Type, short Clicks, short WhichButton, short WhichState,
01833 short EnterExit1, short In1X, short In1Y, short In1W, short In1H,
01834 short EnterExit2, short In2X, short In2Y, short In2W, short In2H,
01835 short MesagBuf[], unsigned long Interval, short *OutX, short *OutY,
01836 short *ButtonState, short *KeyState, short *Key, short *ReturnCount, short *global_aes);
01837 short mt_evnt_multi_fast (const EVMULT_IN * em_i,
01838 short MesagBuf[], EVMULT_OUT * em_o, short *global_aes);
01839 short mt_evnt_timer (unsigned long Interval, short *global_aes);
01845 short mt_form_alert (short DefButton, const char *Str, short *global_aes);
01846 short mt_form_button (OBJECT *, short Bobject, short Bclicks, short *Bnxtobj, short *global_aes);
01847 short mt_form_center (OBJECT *, short *Cx, short *Cy, short *Cw, short *Ch, short *global_aes);
01848 short mt_form_center_grect (OBJECT *, GRECT *r, short *global_aes);
01849 short mt_form_dial (short Flag, short Sx, short Sy, short Sw, short Sh,
01850 short Bx, short By, short Bw, short Bh, short *global_aes);
01851 short mt_form_do (OBJECT *, short StartObj, short *global_aes);
01852 short mt_form_error (short ErrorCode, short *global_aes);
01853 short mt_form_keybd (OBJECT *, short Kobject, short Kobnext, short Kchar,
01854 short *Knxtobject, short *Knxtchar, short *global_aes);
01862 typedef void __CDECL (* FSEL_CALLBACK)( short *msg);
01863
01864 short mt_fsel_exinput (char *path, char *file, short *exit_button, const char *title, short *global);
01865 short mt_fsel_input (char *path, char *file, short *exit_button, short *global);
01866 short mt_fsel_boxinput(char *path, char *file, short *exit_button, const char *title, FSEL_CALLBACK callback, short *global);
01872 short mt_graf_dragbox (short Sw, short Sh, short Sx, short Sy, short Bx, short By, short Bw, short Bh, short *Fw, short *Fh, short *global_aes);
01873 short mt_graf_growbox (short Sx, short Sy, short Sw, short Sh, short Fx, short Fy, short Fw, short Fh, short *global_aes);
01874 short mt_graf_growbox_grect (const GRECT *in, const GRECT *out, short *global_aes);
01875 short mt_graf_handle (short *Wchar, short *Hchar, short *Wbox, short *Hbox, short *global_aes);
01876 short mt_graf_xhandle (short *Wchar, short *Hchar, short *Wbox, short *Hbox, short * device, short *global_aes);
01877 short mt_graf_mbox (short Sw, short Sh, short Sx, short Sy, short Dx, short Dy, short *global_aes);
01878 short mt_graf_mkstate (short *Mx, short *My, short *ButtonState, short *KeyState, short *global_aes);
01879 short mt_graf_mouse (short Form, const MFORM *FormAddress, short *global_aes);
01880 short mt_graf_rubberbox (short Ix, short Iy, short Iw, short Ih, short *Fw, short *Fh, short *global_aes);
01881 short mt_graf_multirubber (short bx, short by, short mw, short mh, GRECT *rec, short *rw, short *rh, short *global_aes);
01882 short mt_graf_shrinkbox (short Fx, short Fy, short Fw, short Fh, short Sx, short Sy, short Sw, short Sh, short *global_aes);
01883 short mt_graf_shrinkbox_grect (const GRECT *in, const GRECT *out, short *global_aes);
01884 short mt_graf_slidebox (OBJECT *, short Parent, short Object, short Direction, short *global_aes);
01885 short mt_graf_watchbox (OBJECT *, short Object, short InState, short OutState, short *global_aes);
01886 short mt_graf_wwatchbox (OBJECT *, short Object, short InState, short OutState, short whandle, short *global_aes);
01892 short mt_menu_attach (short me_flag, OBJECT *me_tree, short me_item, MENU *me_mdata, short *global);
01893 short mt_menu_bar (OBJECT *me_tree, short me_mode, short *global);
01894 short mt_menu_click (short click, short setit, short *global);
01895 short mt_menu_icheck (OBJECT *me_tree, short me_item, short me_check, short *global);
01896 short mt_menu_ienable (OBJECT *me_tree, short me_item, short me_enable, short *global);
01897 short mt_menu_istart (short me_flag, OBJECT *me_tree, short me_imenu, short me_item, short *global);
01898 short mt_menu_popup (MENU *me_menu, short me_xpos, short me_ypos, MENU *me_mdata, short *global);
01899 short mt_menu_register (short ap_id, char *me_text, short *global);
01900 short mt_menu_settings (short me_flag, MN_SET *me_values, short *global);
01901 short mt_menu_text (OBJECT *me_tree, short me_item, char *me_text, short *global);
01902 short mt_menu_tnormal (OBJECT *me_tree, short me_item, short me_normal, short *global);
01903 short mt_menu_unregister (short id, short *global);
01909 short mt_objc_add (OBJECT *, short Parent, short Child, short *global);
01910 short mt_objc_change (OBJECT *, short Object, short Res,
01911 short Cx, short Cy, short Cw, short Ch,
01912 short NewState,short Redraw, short *global_aes);
01913 short mt_objc_delete (OBJECT *, short Object, short *global_aes);
01914 short mt_objc_draw (OBJECT *, short Start, short Depth,
01915 short Cx, short Cy, short Cw, short Ch, short *global_aes);
01916 short mt_objc_draw_grect (OBJECT *, short Start, short Depth, const GRECT *r, short *global_aes);
01917 short mt_objc_edit (OBJECT *, short Object, short Char, short *Index, short Kind, short *global_aes);
01918 short mt_objc_find (OBJECT *, short Start, short Depth, short Mx, short My, short *global_aes);
01919 short mt_objc_xfind (OBJECT *, short Start, short Depth, short Mx, short My, short *global_aes);
01920 short mt_objc_offset (OBJECT *, short Object, short *X, short *Y, short *global_aes);
01921 short mt_objc_order (OBJECT *, short Object, short NewPos, short *global_aes);
01922 short mt_objc_sysvar (short mode, short which, short in1, short in2, short *out1, short *out2, short *global_aes);
01928 short mt_rsrc_free (short *global_aes);
01929 short mt_rsrc_gaddr (short Type, short Index, void *Address, short *global_aes);
01930 short mt_rsrc_load (const char *Name, short *global_aes);
01931 short mt_rsrc_obfix (OBJECT *, short Index, short *global_aes);
01932 short mt_rsrc_rcfix (void *rc_header, short *global_aes);
01933 short mt_rsrc_saddr (short Type, short Index, void *Address, short *global_aes);
01939 short mt_scrp_clear (short *global_aes);
01940 short mt_scrp_read (char *Scrappath, short *global_aes);
01941 short mt_scrp_write (const char *Scrappath, short *global_aes);
01947 short mt_shel_envrn (char **result, const char *param, short *global_aes);
01948 short mt_shel_find (char *buf, short *global_aes);
01949 short mt_shel_get (char *Buf, short Len, short *global_aes);
01950 short mt_shel_help (short sh_hmode, const char *sh_hfile, const char *sh_hkey, short *global_aes);
01951 short mt_shel_put (const char *Buf, short Len, short *global_aes);
01952 short mt_shel_rdef (char *lpcmd, char *lpdir, short *global_aes);
01953 short mt_shel_read (char *Command, char *Tail, short *global_aes);
01954 short mt_shel_wdef (const char *lpcmd, const char *lpdir, short *global_aes);
01955 short mt_shel_write (short Exit, short Graphic, short Aes, void *Command, char *Tail, short *global_aes);
01961 short mt_wind_calc (short Type, short Parts, short InX, short InY, short InW, short InH, short *OutX, short *OutY, short *OutW, short *OutH, short *global_aes);
01962 short mt_wind_close (short WindowHandle, short *global_aes);
01963 short mt_wind_create (short Parts, short Wx, short Wy, short Ww, short Wh, short *global_aes);
01964 short mt_wind_xcreate (short Parts, short Wx, short Wy, short Ww, short Wh, short *OutX, short *OutY, short *OutW, short *OutH, short *global_aes);
01965 short mt_wind_delete (short WindowHandle, short *global_aes);
01966 short mt_wind_draw (short WindowHandle, short startob, short *global_aes);
01967 short mt_wind_find (short X, short Y, short *global_aes);
01968 short mt_wind_get (short WindowHandle, short What, short *W1, short *W2, short *W3, short *W4, short *global_aes);
01969 short mt_wind_new (short *global_aes);
01970 short mt_wind_open (short WindowHandle, short Wx, short Wy, short Ww, short Wh, short *global_aes);
01971 short mt_wind_set (short WindowHandle, short What, short W1, short W2, short W3, short W4, short *global_aes);
01972 short mt_wind_update (short Code, short *global_aes);
01973
01974
01975
01976
01977 short mt_wind_calc_grect (short Type, short Parts, const GRECT *In, GRECT *Out, short *global_aes);
01978 short mt_wind_create_grect (short Parts, const GRECT *r, short *global_aes);
01979 short mt_wind_xcreate_grect (short Parts, const GRECT *r, GRECT *ret, short *global_aes);
01980 short mt_wind_get_grect (short WindowHandle, short What, GRECT *r, short *global_aes);
01981 short mt_wind_xget_grect (short WindowHandle, short What, const GRECT *clip, GRECT *r, short *global_aes);
01982 short mt_wind_open_grect (short WindowHandle, const GRECT *r, short *global_aes);
01983 short mt_wind_set_grect (short WindowHandle, short What, const GRECT *r, short *global_aes);
01984 short mt_wind_xset_grect (short WindowHandle, short What, const GRECT *s, GRECT *r, short *global_aes);
01985 short mt_wind_set_str (short WindowHandle, short What, const char *str, short *global_aes);
01991 short rc_copy (const GRECT *src, GRECT *dst);
01992 short rc_equal (const GRECT *r1, const GRECT *r2);
01993 short rc_intersect (const GRECT *src, GRECT *dst);
01994 GRECT * array_to_grect (const short *array, GRECT *area);
01995 short * grect_to_array (const GRECT *area, short *array);
02003
02004
02005
02006
02007
02008
02010 #define AES_CTRLMAX 5
02011
02012 #define AES_GLOBMAX 16
02013
02014 #define AES_INTINMAX 16
02015
02016 #define AES_INTOUTMAX 16
02017
02018 #define AES_ADDRINMAX 16
02019
02020 #define AES_ADDROUTMAX 16
02021
02023 #define mt_AESversion(aes_global) (aes_global[0])
02024
02027 #define mt_AESnumapps(aes_global) (aes_global[1])
02028
02030 #define mt_AESapid(aes_global) (aes_global[2])
02031
02033 #define mt_AESappglobal(aes_global) (*((long *)&aes_global[3]))
02034
02036 #define mt_AESrscfile(aes_global) ((OBJECT **)(*((long *)&aes_global[5])))
02037
02040 #define mt_AESmaxchar(aes_global) (aes_global[13])
02041
02044 #define mt_AESminchar(aes_global) (aes_global[14])
02045
02047 typedef struct
02048 {
02049 short *control;
02050 short *global;
02051 const short *intin;
02052 short *intout;
02053 const long *addrin;
02054 long *addrout;
02055 } AESPB;
02056
02058 extern void aes (AESPB *pb);
02059
02062 #endif
02063
02064
02065
02066 #ifdef __GEMLIB_DEFS
02067
02068
02069
02070
02071
02072
02073 #define MD_REPLACE 1
02074 #define MD_TRANS 2
02075 #define MD_XOR 3
02076 #define MD_ERASE 4
02078
02079 #define ALL_WHITE 0
02080 #define S_AND_D 1
02081 #define S_AND_NOTD 2
02082 #define S_ONLY 3
02083 #define NOTS_AND_D 4
02084 #define D_ONLY 5
02085 #define S_XOR_D 6
02086 #define S_OR_D 7
02087 #define NOT_SORD 8
02088 #define NOT_SXORD 9
02089 #define D_INVERT 10
02090 #define NOT_D 10
02091 #define S_OR_NOTD 11
02092 #define NOT_S 12
02093 #define NOTS_OR_D 13
02094 #define NOT_SANDD 14
02095 #define ALL_BLACK 15
02097
02098 #define BEZ_BEZIER 0x01
02099 #define BEZ_POLYLINE 0x00
02100 #define BEZ_NODRAW 0x02
02102
02103 #define IMAGE_LEFT 0
02104 #define IMAGE_CENTER 1
02105 #define IMAGE_RIGHT 2
02106 #define IMAGE_TOP 0
02107 #define IMAGE_BOTTOM 2
02109
02110 #define NOJUSTIFY 0
02111 #define JUSTIFY 1
02113
02114 #define COLOR_REQUESTED 0
02115 #define COLOR_ACTUAL 1
02117
02118 #define GDOS_NONE (-2L)
02119 #define GDOS_FSM 0x5F46534DL
02120 #define GDOS_FNT 0x5F464E54L
02122
02123 #define VINMODE_LOCATOR 1
02124 #define VINMODE_VALUATOR 2
02125 #define VINMODE_CHOICE 3
02126 #define VINMODE_STRING 4
02128 #ifdef __GEMLIB_OLDNAMES
02129 #define LOCATOR 1
02130 #define VALUATOR 2
02131 #define CHOICE 3
02132 #define STRING 4
02133 #endif
02134
02135
02136 #define CACHE_CHAR 0
02137 #define CACHE_MISC 1
02139
02140 #define DEV_MISSING 0
02141 #define DEV_INSTALLED 1
02143
02144 #define BITMAP_FONT 0
02146
02147 #define FIS_HOLLOW 0
02148 #define FIS_SOLID 1
02149 #define FIS_PATTERN 2
02150 #define FIS_HATCH 3
02151 #define FIS_USER 4
02153
02154 #define PERIMETER_OFF 0
02155 #define PERIMETER_ON 1
02157
02158 #define SQUARE 0
02159 #define ARROWED 1
02160 #define ROUND 2
02162
02163 #define LE_SQUARED SQUARE
02164 #define LE_ARROWED ARROWED
02165 #define LE_ROUNDED ROUND
02167
02168 #define SOLID 1
02169 #define LDASHED 2
02170 #define DOTTED 3
02171 #define DASHDOT 4
02172 #define DASH 5
02173 #define DASHDOTDOT 6
02174 #define USERLINE 7
02176
02177 #define LT_SOLID SOLID
02178 #define LT_LONGDASH LDASHED
02179 #define LT_DOTTED DOTTED
02180 #define LT_DASHDOT DASHDOT
02181 #define LT_DASHED DASH
02182 #define LT_DASHDOTDOT DASHDOTDOT
02183 #define LT_USERDEF USERLINE
02184 #define LONGDASH LDASHED
02185 #define DOT DOTTED
02186 #define DASH2DOT DASHDOTDOT
02188
02189 #define MRKR_DOT 1
02190 #define MRKR_PLUS 2
02191 #define MRKR_ASTERISK 3
02192 #define MRKR_BOX 4
02193 #define MRKR_CROSS 5
02194 #define MRKR_DIAMOND 6
02196
02197 #define MT_DOT MRKR_DOT
02198 #define MT_PLUS MRKR_PLUS
02199 #define MT_ASTERISK MRKR_ASTERISK
02200 #define MT_SQUARE MRKR_BOX
02201 #define MT_DCROSS MRKR_CROSS
02202 #define MT_DIAMOND MRKR_DIAMOND
02204
02205 #define TA_LEFT 0
02206 #define TA_CENTER 1
02207 #define TA_RIGHT 2
02208 #define TA_BASE 0
02209 #define TA_HALF 1
02210 #define TA_ASCENT 2
02211 #define TA_BOTTOM 3
02212 #define TA_DESCENT 4
02213 #define TA_TOP 5
02215
02216 #define MAP_BITSTREAM 0
02217 #define MAP_ATARI 1
02218 #define MAP_UNICODE 2
02220
02221 #define TXT_NORMAL 0x0000
02222 #define TXT_THICKENED 0x0001
02223 #define TXT_LIGHT 0x0002
02224 #define TXT_SKEWED 0x0004
02225 #define TXT_UNDERLINED 0x0008
02226 #define TXT_OUTLINED 0x0010
02227 #define TXT_SHADOWED 0x0020
02229
02230 #define TF_NORMAL TXT_NORMAL
02231 #define TF_THICKENED TXT_THICKENED
02232 #define TF_LIGHTENED TXT_LIGHT
02233 #define TF_SLANTED TXT_SKEWED
02234 #define TF_UNDERLINED TXT_UNDERLINED
02235 #define TF_OUTLINED TXT_OUTLINED
02236 #define TF_SHADOWED TXT_SHADOWED
02239
02240 #define APP_ERROR 0
02241 #define SCREEN_ERROR 1
02243
02244 #define NO_ERROR 0
02245 #define CHAR_NOT_FOUND 1
02246 #define FILE_READERR 8
02247 #define FILE_OPENERR 9
02248 #define BAD_FORMAT 10
02249 #define CACHE_FULL 11
02250 #define MISC_ERROR (-1)
02252
02253 #define TRACK_NONE 0
02254 #define TRACK_NORMAL 1
02255 #define TRACK_TIGHT 2
02256 #define TRACK_VERYTIGHT 3
02258
02259 #define PAIR_OFF 0
02260 #define PAIR_ON 1
02262
02263 #define SCRATCH_BOTH 0
02264 #define SCRATCH_BITMAP 1
02265 #define SCRATCH_NONE 2
02267
02268 #define SLM_OK 0x00
02269 #define SLM_ERROR 0x02
02270 #define SLM_NOTONER 0x03
02271 #define SLM_NOPAPER 0x04
02274 typedef struct memory_form
02275 {
02276 void *fd_addr;
02277 short fd_w;
02278 short fd_h;
02279 short fd_wdwidth;
02280 short fd_stand;
02281 short fd_nplanes;
02282 short fd_r1;
02283 short fd_r2;
02284 short fd_r3;
02285 } MFDB;
02286
02288 typedef struct rgb_1000
02289 {
02290 short red;
02291 short green;
02292 short blue;
02293 } RGB1000;
02294
02295 #endif
02296
02297 #ifdef __GEMLIB_VDI
02298
02299
02300
02301
02302
02303 typedef short VdiHdl;
02306
02307
02308
02309
02313 void vs_color (VdiHdl , short color_idx, short rgb[]);
02314 short vswr_mode (VdiHdl , short mode);
02315
02316 short vsf_color (VdiHdl , short color_idx);
02317 short vsf_interior (VdiHdl , short style);
02318 short vsf_perimeter (VdiHdl , short vis);
02319 short vsf_xperimeter(VdiHdl , short vis, short style);
02320 short vsf_style (VdiHdl , short style);
02321 void vsf_udpat (VdiHdl , short pat[], short planes);
02322
02323 short vsl_color (VdiHdl , short color_idx);
02324 void vsl_ends (VdiHdl , short begstyle, short endstyle);
02325 short vsl_type (VdiHdl , short style);
02326 void vsl_udsty (VdiHdl , short pat);
02327 short vsl_width (VdiHdl , short width);
02328
02329 short vsm_color (VdiHdl , short color_idx);
02330 short vsm_height (VdiHdl , short height);
02331 short vsm_type (VdiHdl , short symbol);
02332
02333 void vst_alignment (VdiHdl , short hin, short vin, short *hout, short *vout);
02334 short vst_color (VdiHdl , short color_idx);
02335 short vst_effects (VdiHdl , short effects);
02336 void vst_error (VdiHdl , short mode, short *errorvar);
02337 short vst_font (VdiHdl , short font);
02338 void vst_height (VdiHdl , short height, short *charw, short *charh,
02339 short *cellw, short *cellh);
02340 short vst_point (VdiHdl , short point, short *charw, short *charh,
02341 short *cellw, short *cellh);
02342 short vst_rotation (VdiHdl , short ang);
02343 void vst_scratch (VdiHdl , short mode);
02346
02347
02348
02349
02353 void v_clrwk (VdiHdl );
02354 void v_clsvwk (VdiHdl );
02355 void v_clswk (VdiHdl );
02356 short v_flushcache (VdiHdl );
02357 short v_loadcache (VdiHdl , const char *filename, short mode);
02358 void v_opnvwk (short work_in[], VdiHdl *, short work_out[]);
02359 void v_opnwk (short work_in[], VdiHdl *, short work_out[]);
02360 short v_savecache (VdiHdl , const char *filename);
02361 void v_set_app_buff (VdiHdl , void *buf_p, short size);
02362 void v_updwk (VdiHdl );
02363 void vs_clip (VdiHdl , short clip_flag, short pxy[]);
02364 void vs_clip_pxy (VdiHdl , PXY pxy[]);
02365 void vs_clip_off (VdiHdl );
02366 short vst_load_fonts (VdiHdl , short );
02367 void vst_unload_fonts (VdiHdl , short );
02370
02371
02372
02373
02377 void v_bit_image (VdiHdl , const char *filename, short aspect,
02378 short x_scale, short y_scale,
02379 short h_align, short v_align, short *pxy);
02380 void v_clear_disp_list (VdiHdl );
02381 short v_copies (VdiHdl , short count);
02382 void v_dspcur (VdiHdl , short x, short y);
02383 void v_form_adv (VdiHdl );
02384 void v_hardcopy (VdiHdl );
02385 short v_orient (VdiHdl , short orientation);
02386 void v_output_window (VdiHdl , short *pxy);
02387 short v_page_size (VdiHdl , short page_id);
02388 void v_rmcur (VdiHdl );
02389 short v_trays (VdiHdl , short input, short output,
02390 short *set_input, short *set_output);
02391 short vq_calibrate (VdiHdl , short *flag);
02392 short vq_page_name (VdiHdl , short page_id, char *page_name,
02393 long *page_width, long *page_height);
02394 void vq_scan (VdiHdl , short *g_slice, short *g_page,
02395 short *a_slice, short *a_page, short *div_fac);
02396 short vq_tabstatus (VdiHdl );
02397 short vq_tray_names (VdiHdl , char *input_name, char *output_name,
02398 short *input, short *output);
02399 short vs_calibrate (VdiHdl , short flag, short *rgb);
02400 short vs_palette (VdiHdl , short palette);
02401
02402 void v_sound (VdiHdl, short freq, short duration);
02403 short vs_mute (VdiHdl, short action);
02404
02405 void vq_tdimensions (VdiHdl , short *xdimension, short *ydimension);
02406 void vt_alignment (VdiHdl , short dx, short dy);
02407 void vt_axis (VdiHdl , short xres, short yres, short *xset, short *yset);
02408 void vt_origin (VdiHdl , short xorigin, short yorigin);
02409 void vt_resolution (VdiHdl , short xres, short yres, short *xset, short *yset);
02410
02411 void v_meta_extents (VdiHdl , short min_x, short min_y,
02412 short max_x, short max_y);
02413 void v_write_meta (VdiHdl , short numvdi_intin, short *avdi_intin,
02414 short num_ptsin, short *a_ptsin);
02415 void vm_coords (VdiHdl , short llx, short lly, short urx, short ury);
02416 void vm_filename (VdiHdl , const char *filename);
02417 void vm_pagesize (VdiHdl , short pgwidth, short pgheight);
02418
02419 void vsc_expose (VdiHdl , short state);
02420 void vsp_film (VdiHdl , short color_idx, short lightness);
02421 short vqp_filmname (VdiHdl , short _index, char * name);
02422
02423 void v_offset (VdiHdl , short offset);
02424 void v_fontinit (VdiHdl , const void * font_header);
02425
02426 void v_escape2000 (VdiHdl , short times);
02427
02428 void v_alpha_text (VdiHdl , const char *str);
02429 void v_curdown (VdiHdl );
02430 void v_curhome (VdiHdl );
02431 void v_curleft (VdiHdl );
02432 void v_curright (VdiHdl );
02433 void v_curtext (VdiHdl , const char *str);
02434 void v_curup (VdiHdl );
02435 void v_eeol (VdiHdl );
02436 void v_eeos (VdiHdl );
02437 void v_enter_cur (VdiHdl );
02438 void v_exit_cur (VdiHdl );
02439 void v_rvoff (VdiHdl );
02440 void v_rvon (VdiHdl );
02441 void vq_chcells (VdiHdl , short *n_rows, short *n_cols);
02442 void vq_curaddress (VdiHdl , short *cur_row, short *cur_col);
02443 void vs_curaddress (VdiHdl , short row, short col);
02445 #define v_curaddress vs_curaddress
02446
02449
02450
02451
02452
02456 void vq_cellarray (VdiHdl , short pxy[], short row_len, short nrows,
02457 short *el_used, short *rows_used,
02458 short *status, short color[]);
02459 short vq_color (VdiHdl , short color_idx, short flag, short rgb[]);
02460 void vq_extnd (VdiHdl , short flag, short work_out[]);
02461 void vqf_attributes (VdiHdl , short atrib[]);
02462 void vqin_mode (VdiHdl , short dev, short *mode);
02463 void vql_attributes (VdiHdl , short atrib[]);
02464 void vqm_attributes (VdiHdl , short atrib[]);
02465 void vqt_attributes (VdiHdl , short atrib[]);
02466 void vqt_cachesize (VdiHdl , short which_cache, long *size);
02467 void vqt_extent (VdiHdl , const char *str, short extent[]);
02468 void vqt_extent16 (VdiHdl , const short *wstr, short extent[]);
02469 void vqt_extent16n (VdiHdl , const short *wstr, short num, short extent[]);
02470 void vqt_fontinfo (VdiHdl , short *minade, short *maxade, short distances[],
02471 short *maxwidth, short effects[]);
02472 void vqt_get_table (VdiHdl , short **map);
02473 short vqt_name (VdiHdl , short element, char *name);
02474 short vqt_width (VdiHdl , short chr, short *cw,
02475 short *ldelta, short *rdelta);
02477 short vq_gdos (void);
02478
02480 long vq_vgdos (void);
02484
02485
02486
02487
02491 void v_hide_c (VdiHdl );
02492 void v_show_c (VdiHdl , short reset);
02493 void vex_butv (VdiHdl , void *pusrcode, void **psavcode);
02494 void vex_curv (VdiHdl , void *pusrcode, void **psavcode);
02495 void vex_motv (VdiHdl , void *pusrcode, void **psavcode);
02496 void vex_wheelv (VdiHdl , void *pusrcode, void **psavcode);
02497 void vex_timv (VdiHdl , void *time_addr,
02498 void **otime_addr, short *time_conv);
02499 void vq_key_s (VdiHdl , short *state);
02500 void vq_mouse (VdiHdl , short *pstatus, short *x, short *y);
02501 void vrq_choice (VdiHdl , short cin, short *cout);
02502 void vrq_locator (VdiHdl , short x, short y,
02503 short *xout, short *yout, short *term);
02504 void vrq_string (VdiHdl , short len, short echo, short echoxy[], char *str);
02505 void vrq_valuator (VdiHdl , short in, short *out, short *term);
02506 void vsc_form (VdiHdl , short form[]);
02507 short vsin_mode (VdiHdl , short dev, short mode);
02508 short vsm_choice (VdiHdl , short *choice);
02509 short vsm_locator (VdiHdl , short x, short y,
02510 short *xout, short *yout, short *term);
02511 short vsm_string (VdiHdl , short len, short echo, short echoxy[], char *str);
02512 void vsm_valuator (VdiHdl , short in, short *out, short *term, short *status);
02516
02517
02518
02519
02523 void v_arc (VdiHdl , short x, short y,
02524 short radius, short begang, short endang);
02525 void v_bar (VdiHdl , short pxy[]);
02526 void v_cellarray (VdiHdl , short pxy[], short row_length, short elements,
02527 short nrows, short write_mode, short colarray[]);
02528 void v_circle (VdiHdl , short x, short y, short radius);
02529 void v_contourfill (VdiHdl , short x, short y, short color_idx);
02530 void v_ellarc (VdiHdl , short x, short y, short xrad, short yrad,
02531 short begang, short endang);
02532 void v_ellipse (VdiHdl , short x, short y, short xrad, short yrad);
02533 void v_ellpie (VdiHdl , short x, short y, short xrad, short yrad,
02534 short begang, short endang);
02535 void v_fillarea (VdiHdl , short count, short pxy[]);
02536 void v_gtext (VdiHdl , short x, short y, const char *str);
02537 void v_gtext16 (VdiHdl , short x, short y, const short *wstr);
02538 void v_gtext16n (VdiHdl , PXY pos, const short *wstr, short num);
02539 void v_justified (VdiHdl , short x, short y, const char *str,
02540 short len, short word_space, short char_space);
02541 void v_pieslice (VdiHdl , short x, short y,
02542 short radius, short begang, short endang);
02543 void v_pline (VdiHdl , short count, short pxy[]);
02544 void v_pmarker (VdiHdl , short count, short pxy[]);
02545 void v_rbox (VdiHdl , short pxy[]);
02546 void v_rfbox (VdiHdl , short pxy[]);
02547 void vr_recfl (VdiHdl , short pxy[]);
02550
02551
02552
02553
02557 void v_get_pixel (VdiHdl , short x, short y, short *pel, short *color_idx);
02558 void vr_trnfm (VdiHdl , MFDB *src, MFDB *dst);
02559 void vro_cpyfm (VdiHdl , short mode, short pxy[], MFDB *src, MFDB *dst);
02560 void vrt_cpyfm (VdiHdl , short mode, short pxy[], MFDB *src, MFDB *dst,
02561 short color[]);
02565
02566
02567
02568
02572 void vdi_array2str (const short *src, char *des, short len);
02573 short vdi_str2array (const char *src, short *des);
02574 short vdi_wstrlen (const short *wstr);
02577
02578
02579
02580
02585
02586 #define VDI_CNTRLMAX 15
02587 #define VDI_INTINMAX 1024
02588 #define VDI_INTOUTMAX 256
02589 #define VDI_PTSINMAX 256
02590 #define VDI_PTSOUTMAX 256
02593 typedef struct
02594 {
02595 short *control;
02596 const short *intin;
02597 const short *ptsin;
02598 short *intout;
02599 short *ptsout;
02600 } VDIPB;
02601
02603 void vdi (VDIPB *pb);
02606 #endif
02607
02608
02609 __END_DECLS
02610
02611 #endif