WinDom: windom.h Source File

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

- File List
- Globals

# windom.h

Go to the documentation of this file.

    00001 /*
    00002  * WinDom: a high level GEM library
    00003  * Copyright (c) 1997-2006 windom authors (see AUTHORS file)
    00004  *
    00005  * This library is free software; you can redistribute it and/or
    00006  * modify it under the terms of the GNU Lesser General Public
    00007  * License as published by the Free Software Foundation; either
    00008  * version 2.1 of the License, or (at your option) any later version.
    00009  *
    00010  * This library is distributed in the hope that it will be useful,
    00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013  * Lesser General Public License for more details.
    00014  *
    00015  * You should have received a copy of the GNU Lesser General Public
    00016  * License along with this library; if not, write to the Free Software
    00017  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
    00018  *
    00019  * $Source: /cvsroot/windom/windom/include/windom.h,v $
    00020  *
    00021  * CVS info:
    00022  *   $Author: bercegeay $
    00023  *   $Date: 2006/01/17 20:00:23 $
    00024  *   $Revision: 1.58 $
    00025  */
    00026
    00027 #ifndef __WINDOM__
    00028 #define __WINDOM__
    00029
    00030 #ifndef __MT_WINDOM__
    00031 #include <mt_wndm.h>
    00032 #endif
    00033
    00034 #include <gem.h>
    00035
    00036 __BEGIN_DECLS
    00037
    00038 /* Global variables
    00039  ***********************/
    00040
    00041 extern APPvar           *gl_appvar;
    00042
    00043 /* some macros for backward compatibility */
    00044 #define app (*gl_appvar)
    00045 #define wglb (gl_appvar->wglb)
    00046 #define evnt (gl_appvar->evnt)
    00047
    00048 #ifdef FORM
    00049 #undef FORM
    00050 #define FORM(win)   (((W_FORM*)mt_DataSearch( gl_appvar, win, WD_WFRM))->root)
    00051 #endif
    00052
    00053
    00054 /* Function Prototypes
    00055  ***********************/
    00056
    00057 /* Application Library */
    00062 extern int ApplInit( void);
    00063
    00065 extern int ApplExit( void);
    00066
    00068 static inline int ApplSet( int mode, short v1, short v2, short v3, short v4) {
    00069     return mt_ApplSet( gl_appvar, mode, v1, v2, v3, v4);
    00070 }
    00071
    00073 static inline int ApplGet( int mode, short *v1, short *v2, short *v3, short *v4) {
    00074     return mt_ApplGet( gl_appvar, mode, v1, v2, v3, v4);
    00075 }
    00076
    00078 static inline int ApplName( char *name, int id) {
    00079     return mt_ApplName( gl_appvar, name, id);
    00080 }
    00081
    00083 static inline int ApplControl( int ap_cid, int ap_cwhat, void *ap_cout) {
    00084     return mt_ApplControl( gl_appvar, ap_cid, ap_cwhat, ap_cout);
    00085 }
    00086
    00088 static inline int ApplWrite(int to, int msg, int b3, int b4, int b5, int b6, int b7) {
    00089     return mt_ApplWrite(gl_appvar,to,msg,b3,b4,b5,b6,b7);
    00090 }
    00091
    00094 /* AV library */
    00098 static inline int AvInit( char *name, int status, long idle) {
    00099     return mt_AvInit( gl_appvar, name, status, idle);
    00100 }
    00101
    00102 static inline void  AvExit ( void) {
    00103     mt_AvExit( gl_appvar);
    00104 }
    00105
    00106 static inline INT16* AvStatus ( void) {
    00107     return mt_AvStatus( gl_appvar);
    00108 }
    00109
    00110 static inline char* AvServer ( void) {
    00111     return mt_AvServer( gl_appvar);
    00112 }
    00113
    00114 static inline int AvWaitfor( int msg, INT16 *buf, long idle) {
    00115     return mt_AvWaitfor( gl_appvar, msg, buf, idle);
    00116 }
    00117
    00120 /* BubbleGEM library */
    00124 static inline int BubbleCall  ( char *help, int x, int y) {
    00125     return mt_BubbleCall ( gl_appvar, help, x, y);
    00126 }
    00127
    00128 static inline int BubbleModal ( char *help, int x, int y) {
    00129     return mt_BubbleModal ( gl_appvar, help,  x,  y);
    00130 }
    00131
    00132 static inline int  BubbleDo    ( OBJECT *tree, int __index) {
    00133     return mt_BubbleDo ( gl_appvar, tree, __index);
    00134 }
    00135
    00136 static inline int BubbleAttach( OBJECT *tree, int __index, char *help) {
    00137     return mt_BubbleAttach ( gl_appvar, tree, __index, help) ;
    00138 }
    00139
    00140 static inline void BubbleFree  ( void) {
    00141     mt_BubbleFree  (gl_appvar );
    00142 }
    00143
    00144 static inline int BubbleFind  ( OBJECT *tree, int __index, char **help) {
    00145     return mt_BubbleFind  ( gl_appvar, tree, __index, help);
    00146 }
    00147
    00148 static inline int BubbleEvnt  ( void) {
    00149     return mt_BubbleEvnt  ( gl_appvar);
    00150 }
    00151
    00152 static inline int BubbleGet   ( void) {
    00153     return mt_BubbleGet   ( gl_appvar);
    00154 }
    00155
    00156 /* this function no more exist */
    00157 #define BubbleConf(a)         /* nothing */
    00158
    00161 /* Configuration library */
    00165 static inline int ConfRead( void) {
    00166     return mt_ConfRead(gl_appvar);
    00167 }
    00168
    00169 static inline int ConfGetLine( char *string) {
    00170     return mt_ConfGetLine(gl_appvar,string);
    00171 }
    00172
    00173 static inline int ConfWindom( void) {
    00174     return mt_ConfWindom(gl_appvar);
    00175 }
    00176
    00178 int     ConfInquire( char *keyword, char *fmt, ...);
    00179
    00181 int     ConfWrite( char *keyword, char *fmt, ...);
    00182
    00185 /* Data library */
    00188 static inline int DataAttach ( WINDOW *win, long magic, void *data) {
    00189     return mt_DataAttach(gl_appvar,win,magic,data);
    00190 }
    00191
    00192 static inline int DataDelete ( WINDOW *win, long magic) {
    00193     return mt_DataDelete(gl_appvar,win,magic);
    00194 }
    00195
    00196 static inline void* DataSearch ( WINDOW *win, long magic) {
    00197     return mt_DataSearch(gl_appvar,win,magic);
    00198 }
    00201 /* Event library */
    00206 static inline int EvntWindom( int __evnt) {
    00207     return mt_EvntWindom(gl_appvar, __evnt);
    00208 }
    00209
    00210 static inline int EvntWindomBuff( int __evnt, short buff[8]) {
    00211     return mt_EvntWindomBuff(gl_appvar,__evnt,buff);
    00212 }
    00213
    00215 static inline int EvntAdd( WINDOW *win, int msg, func_evnt proc, int mode) {
    00216     return mt_EvntAdd(gl_appvar,win,msg,proc,mode);
    00217 }
    00218
    00220 static inline int EvntAttach ( WINDOW *win, int msg, func_evnt proc) {
    00221     return mt_EvntAttach(gl_appvar,win,msg,proc);
    00222 }
    00223
    00225 static inline int EvntDataAdd ( WINDOW *win, int msg, func_evntdata proc, void *data, int mode) {
    00226     return mt_EvntDataAdd(gl_appvar,win,msg,proc,data,mode);
    00227 }
    00228
    00230 static inline int EvntDataAttach( WINDOW *win, int msg, func_evntdata proc, void *data) {
    00231     return mt_EvntDataAttach(gl_appvar,win,msg,proc,data);
    00232 }
    00233
    00235 static inline int EvntDelete ( WINDOW *win, int msg) {
    00236     return mt_EvntDelete(gl_appvar,win,msg);
    00237 }
    00238
    00240 static inline void* EvntFind ( WINDOW *win, int msg) {
    00241     return mt_EvntFind(gl_appvar,win,msg);
    00242 }
    00243
    00245 static inline int EvntExec ( WINDOW *win, short buff[8]) {
    00246     return mt_EvntExec(gl_appvar,win,buff);
    00247 }
    00248
    00250 static inline void EvntClear ( WINDOW *win) {
    00251     mt_EvntClear(gl_appvar,win);
    00252 }
    00253
    00255 static inline int EvntRemove ( WINDOW *win, int msg, void *proc) {
    00256     return mt_EvntRemove(gl_appvar,win,msg,proc);
    00257 }
    00258
    00260 static inline void EvntDisable ( WINDOW *win, int msg) {
    00261     mt_EvntDisable(gl_appvar,win,msg);
    00262 }
    00263
    00265 static inline void EvntEnable ( WINDOW *win, int msg) {
    00266     mt_EvntEnable(gl_appvar,win,msg);
    00267 }
    00268
    00270 static inline void EvntRedraw ( WINDOW *win) {
    00271     mt_EvntRedraw(gl_appvar,win);
    00272 }
    00273
    00275 static inline void  EvntRedrawGrect( WINDOW *win, GRECT *work) {
    00276     mt_EvntRedrawGrect(gl_appvar,win,work);
    00277 }
    00278
    00281 /* Formular library */
    00286 static inline WINDOW* FormWindBegin( OBJECT *dial, char *nom) {
    00287     return mt_FormWindBegin(gl_appvar,dial,nom);
    00288 }
    00289
    00291 static inline void FormWindEnd  ( void) {
    00292     mt_FormWindEnd(gl_appvar);
    00293 }
    00294
    00296 static inline int FormWindDo ( int __evnt) {
    00297     return mt_FormWindDo(gl_appvar,__evnt);
    00298 }
    00299
    00300 static inline int FormWindDoBuff( int __evnt, short buff[8]) {
    00301     return mt_FormWindDoBuff(gl_appvar,__evnt,buff);
    00302 }
    00303
    00305 static inline int FormAttach ( WINDOW *win, OBJECT *tree, func_evnt func) {
    00306     return mt_FormAttach(gl_appvar,win,tree,func);
    00307 }
    00308
    00310 static inline void  FormResize ( WINDOW *win, INT16 *x, INT16 *y, INT16 *w, INT16 *h) {
    00311     mt_FormResize(gl_appvar,win,x,y,w,h);
    00312 }
    00313
    00315 static inline WINDOW* FormCreate ( OBJECT *tree, int attrib, func_evnt func, char *name, GRECT *coord, int grow, int dup) {
    00316     return mt_FormCreate(gl_appvar,tree,attrib,func,name,coord,grow,dup);
    00317 }
    00318
    00320 static inline int FormSave ( WINDOW *win, int mode) {
    00321     return mt_FormSave(gl_appvar,win,mode);
    00322 }
    00323
    00325 static inline int FormRestore ( WINDOW *win, int mode) {
    00326     return mt_FormRestore ( gl_appvar, win, mode);
    00327 }
    00328
    00330 static inline void FormBegin ( OBJECT *tree, MFDB *bckgrnd) {
    00331     mt_FormBegin ( gl_appvar, tree, bckgrnd);
    00332 }
    00333
    00335 static inline void FormEnd ( OBJECT *tree, MFDB *bckgrnd) {
    00336     mt_FormEnd ( gl_appvar, tree, bckgrnd);
    00337 }
    00338
    00340 #define FormDo(a,b)                 mt_form_do(a,b,gl_appvar->aes_global)
    00341
    00343 static inline void* FormThumb ( WINDOW *win, int *idxthb, int *idxbut, int nb) {
    00344     return mt_FormThumb ( gl_appvar, win, idxthb, idxbut, nb);
    00345 }
    00346
    00348 static inline void FormThbSet ( WINDOW *win, int but) {
    00349     mt_FormThbSet ( gl_appvar, win, but);
    00350 }
    00351
    00353 static inline int FormThbGet ( void   *thb, int mode) {
    00354     return mt_FormThbGet ( gl_appvar, thb, mode);
    00355 }
    00356
    00358 int     FormAlert( int but, char fmt[], ...);
    00359
    00361 void __CDECL stdFormClose(WINDOW *win, int ind, int mode, void *data);
    00362
    00366 /* Mouse library */
    00370 static inline void MouseObjc ( OBJECT *tree, int __index) {
    00371     mt_MouseObjc ( gl_appvar, tree, __index);
    00372 }
    00373
    00374 static inline void MouseWork ( void) {
    00375     mt_MouseWork( gl_appvar);
    00376 }
    00377
    00378 static inline void MouseSprite ( OBJECT *tree, int __index) {
    00379     mt_MouseSprite ( gl_appvar, tree, __index);
    00380 }
    00381
    00385 /* Frame library */
    00389 static inline void FrameInit ( void) {
    00390     mt_FrameInit(gl_appvar);
    00391 }
    00392
    00393 static inline void FrameExit ( void) {
    00394     mt_FrameExit(gl_appvar);
    00395 }
    00396
    00397 static inline WINDOW* FrameCreate ( int attrib) {
    00398     return mt_FrameCreate ( gl_appvar, attrib);
    00399 }
    00400
    00401 static inline void FrameAttach ( WINDOW *win, WINDOW *src, int line, int col, int w, int h, int mode) {
    00402     mt_FrameAttach ( gl_appvar, win, src, line, col, w, h, mode);
    00403 }
    00404
    00405 static inline WINDOW* FrameRemove ( WINDOW *win, WINDOW *child, int line, int col) {
    00406     return mt_FrameRemove ( gl_appvar, win, child, line, col);
    00407 }
    00408
    00409 void    FrameSet( WINDOW *win, int mode, ...);
    00410
    00411 void    FrameGet( WINDOW *win, int mode, ...);
    00412
    00413 static inline WINDOW* FrameFind ( WINDOW *win, int x, int y) {
    00414     return mt_FrameFind   ( gl_appvar, win, x, y);
    00415 }
    00416
    00417 static inline WINDOW* FrameSearch ( WINDOW *win, int line, int col) {
    00418     return mt_FrameSearch ( gl_appvar, win, line, col);
    00419 }
    00420
    00421 static inline int FrameCalc ( WINDOW *win, int mode, INT16 *x, INT16 *y, INT16 *w, INT16 *h) {
    00422     return mt_FrameCalc ( gl_appvar, win, mode, x, y, w, h);
    00423 }
    00424
    00427 /* Font  library */
    00430 static inline int     FontName2Id     ( char *name) {
    00431     return mt_FontName2Id ( gl_appvar,name );
    00432 }
    00433
    00434 static inline int     FontId2Name     ( int id, char *name) {
    00435     return mt_FontId2Name ( gl_appvar, id, name);
    00436 }
    00437
    00438 static inline int     VstLoadFonts    ( int res) {
    00439     return mt_VstLoadFonts ( gl_appvar, res );
    00440 }
    00441
    00442 static inline void    VstUnloadFonts( int res) {
    00443     mt_VstUnloadFonts ( gl_appvar, res);
    00444 }
    00445
    00446 static inline int     VstFont         ( int id) {
    00447     return mt_VstFont ( gl_appvar, id);
    00448 }
    00449
    00450 static inline int     VqtName         ( int elem, char *name) {
    00451     return mt_VqtName ( gl_appvar, elem, name);
    00452 }
    00453
    00454 static inline int     VqtXname        ( int id, int __index, char *name, int *fl) {
    00455     return mt_VqtXname ( gl_appvar, id, __index, name, fl);
    00456 }
    00457
    00460 /* Selector library */
    00463 static inline int FselInput ( char *path, char *fname, char *ext, char *title, char *lpath, char *lext) {
    00464     return mt_FselInput ( gl_appvar, path, fname, ext, title, lpath, lext);
    00465 }
    00466
    00467 static inline int FontSel ( char *title, char *example, int flags, int *id, int *size, char *name) {
    00468     return mt_FontSel ( gl_appvar, title, example, flags, id, size, name);
    00469 }
    00472 /* Menu library */
    00475 static inline int     MenuBar   ( OBJECT *menu, int mode) {
    00476     return mt_MenuBar( gl_appvar, menu, mode);
    00477 }
    00478
    00479 static inline int     MenuTnormal ( WINDOW *win, int title, int mode) {
    00480     return mt_MenuTnormal( gl_appvar, win, title,mode );
    00481 }
    00482
    00483 static inline int     MenuIcheck  ( WINDOW *win, int title, int mode) {
    00484     return mt_MenuIcheck( gl_appvar, win, title, mode);
    00485 }
    00486
    00487 static inline int     MenuText  ( WINDOW *win, int title, char *txt) {
    00488     return mt_MenuText( gl_appvar, win, title, txt);
    00489 }
    00490
    00491 static inline int     MenuDisable ( void) {
    00492     return mt_MenuDisable( gl_appvar);
    00493 }
    00494
    00495 static inline int     MenuEnable  ( void) {
    00496     return mt_MenuEnable( gl_appvar);
    00497 }
    00498
    00499 static inline int     MenuPopUp ( void *data, int x, int y, int max, int size, int item, int mode) {
    00500     return mt_MenuPopUp( gl_appvar, data, x, y, max, size, item, mode);
    00501 }
    00502
    00503 static inline void    MenuScroll  ( WINDOW *win, int dir) {
    00504     mt_MenuScroll( gl_appvar, win, dir);
    00505 }
    00506
    00507 /* TODO function under developped. Dont use it */
    00508 static inline int     MenuAttach  ( int flag, OBJECT *tree, short item, MENU *mdata) {
    00509     return mt_MenuAttach( gl_appvar, flag, tree, item, mdata);
    00510 }
    00511
    00514 /* Object library */
    00519 static inline int ObjcChar ( OBJECT *tree, int idx, int put) {
    00520     return mt_ObjcChar (gl_appvar, tree, idx, put);
    00521 }
    00522
    00524 static inline int ObjcChange (int mode, void *data, int __index, int state, int redraw) {
    00525     return mt_ObjcChange( gl_appvar, mode, data, __index, state, redraw);
    00526 }
    00527
    00529 static inline int ObjcDraw ( int mode, void *win, int __index, int child_depth) {
    00530     return mt_ObjcDrawParent ( gl_appvar, mode, win, __index, 0, child_depth);
    00531 }
    00532
    00534 static inline int ObjcDrawParent ( int mode, void *win, int __index, int parent_depth, int child_depth) {
    00535     return mt_ObjcDrawParent ( gl_appvar, mode, win, __index, parent_depth, child_depth);
    00536 }
    00537
    00539 static inline int ObjcIsHidden ( int mode, void *win, int __index) {
    00540     return mt_ObjcIsHidden    ( gl_appvar, mode, win, __index);
    00541 }
    00542
    00544 static inline OBJECT* ObjcDup ( OBJECT *tree, WINDOW *win) {
    00545     return mt_ObjcDup         ( gl_appvar, tree, win);
    00546 }
    00547
    00549 static inline OBJECT *ObjcNDup ( OBJECT *src,  WINDOW *win, int nb) {
    00550     return mt_ObjcNDup        ( gl_appvar, src,  win, nb);
    00551 }
    00552
    00554 static inline int ObjcEdit ( int mode, WINDOW *win, int obj, int val, INT16 *idx, int kind) {
    00555     return mt_ObjcEdit        ( gl_appvar, mode, win, obj, val, idx, kind);
    00556 }
    00557
    00559 static inline void ObjcFree ( OBJECT *tree) {
    00560     mt_ObjcFree        ( gl_appvar, tree);
    00561 }
    00562
    00564 static inline char* ObjcString ( OBJECT *tree, int __index, char *put) {
    00565     return mt_ObjcString      ( gl_appvar, tree, __index, put);
    00566 }
    00567
    00569 #define ObjcStrCpy(tree,index,str)      strcpy(mt_ObjcString(gl_appvar,tree,index,NULL),str)
    00570
    00572 static inline void ObjcStr3d ( OBJECT *tree) {
    00573     mt_ObjcStr3d       ( gl_appvar, tree);
    00574 }
    00575
    00577 static inline int ObjcWindDraw ( WINDOW *win, OBJECT *tree, int __index, int depth, int xclip, int yclip, int wclip, int hclip) {
    00578     return mt_ObjcWindDraw    ( gl_appvar, win, tree, __index, depth, xclip, yclip, wclip, hclip);
    00579 }
    00580
    00582 static inline int ObjcWindDrawParent( WINDOW *win, OBJECT *tree, int __index, int parent_depth, int child_depth, int xclip, int yclip, int wclip, int hclip) {
    00583     return mt_ObjcWindDrawParent( gl_appvar, win, tree, __index, parent_depth, child_depth, xclip, yclip, wclip, hclip);
    00584 }
    00585
    00587 static inline int ObjcWindChange ( WINDOW *win, OBJECT *tree, int __index, int xclip, int yclip, int wclip, int hclip, int state) {
    00588     return mt_ObjcWindChange  ( gl_appvar, win, tree, __index, xclip, yclip, wclip, hclip, state);
    00589 }
    00590
    00592 static inline OBJECT *ObjcTree ( int mode, WINDOW *win) {
    00593     return mt_ObjcTree         ( gl_appvar, mode, win);
    00594 }
    00595
    00596 static inline int ObjcAttachVar( int mode, WINDOW *win, int __index, int *var, int value_when_selected ) {
    00597     int mt_ObjcAttach ( APPvar *, int, WINDOW *, int, int, ...);
    00598     return mt_ObjcAttach( gl_appvar, mode, win, __index, BIND_VAR, var, value_when_selected);
    00599 }
    00600
    00601 static inline int ObjcAttachBit( int mode, WINDOW *win, int __index, int *var, int bit ) {
    00602     int mt_ObjcAttach ( APPvar *, int, WINDOW *, int, int, ...);
    00603     return mt_ObjcAttach( gl_appvar, mode, win, __index, BIND_BIT, var, bit);
    00604 }
    00605
    00606 static inline int ObjcAttachFormFunc( WINDOW *win, int __index, func_bind fn, void *data ) {
    00607     int mt_ObjcAttach ( APPvar *, int, WINDOW *, int, int, ...);
    00608     return mt_ObjcAttach( gl_appvar, OC_FORM, win, __index, BIND_FUNC, fn, data);
    00609 }
    00610
    00611 static inline int ObjcAttachTBFunc( WINDOW *win, int __index, func_bind fn, void *data ) {
    00612     int mt_ObjcAttach ( APPvar *, int, WINDOW *, int, int, ...);
    00613     return mt_ObjcAttach( gl_appvar, OC_TOOLBAR, win, __index, BIND_FUNC, fn, data);
    00614 }
    00615
    00616 static inline int ObjcAttachMenuFunc( WINDOW *win, int __index, func_bindmenu fn, void *data ) {
    00617     int mt_ObjcAttach ( APPvar *, int, WINDOW *, int, int, ...);
    00618     return mt_ObjcAttach( gl_appvar, OC_MENU, win, __index, BIND_FUNC, fn, data);
    00619 }
    00620
    00623 /* Window library */
    00628 static inline WINDOW* WindCreate ( int GemAttrib, int x, int y, int w, int h) {
    00629     return mt_WindCreate ( gl_appvar, GemAttrib, x, y, w, h);
    00630 }
    00631
    00633 static inline int WindOpen ( WINDOW *win, int x, int y, int w, int h) {
    00634     return mt_WindOpen ( gl_appvar, win, x, y, w, h);
    00635 }
    00636
    00638 static inline int WindClose ( WINDOW *win) {
    00639     return mt_WindClose ( gl_appvar, win);
    00640 }
    00641
    00643 static inline int WindDelete  ( WINDOW *win) {
    00644     return mt_WindDelete  ( gl_appvar, win);
    00645 }
    00646
    00648 static inline WINDOW* WindHandle ( int handle) {
    00649     return mt_WindHandle ( gl_appvar, handle);
    00650 }
    00651
    00653 static inline int WindSet ( WINDOW *win, int mode, int par1, int par2, int par3, int par4) {
    00654     return mt_WindSet ( gl_appvar, win, mode, par1, par2, par3, par4);
    00655 }
    00656 #define WindSetGrect( win, mode, grect ) WindSet( win, mode, (grect)->g_x, (grect)->g_y, (grect)->g_w, (grect)->g_h )
    00657
    00659 static inline int WindGet ( WINDOW *win, int mode, INT16* par1, INT16* par2, INT16* par3, INT16* par4) {
    00660     return mt_WindGet ( gl_appvar, win, mode, par1, par2, par3, par4);
    00661 }
    00662 static inline void* WindGetPtr ( WINDOW *win, int mode) {
    00663     return mt_WindGetPtr ( gl_appvar, win, mode);
    00664 }
    00665 #define WindGetGrect( win, mode, grect ) WindGet( win, mode, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
    00666 static inline int WindXGet ( WINDOW *win, int mode, GRECT *clip, INT16* par1, INT16* par2, INT16* par3, INT16* par4) {
    00667     return mt_WindXGet ( gl_appvar, win, mode, clip, par1, par2, par3, par4);
    00668 }
    00669 #define WindXGetGrect( app, win, mode, clip, grect ) WindXGet( win, mode, clip, &((grect)->g_x), &((grect)->g_y), &((grect)->g_w), &((grect)->g_h) )
    00670
    00672 static inline int WindSetStr ( WINDOW *win, int mode, char *str) {
    00673     return mt_WindSetStr ( gl_appvar, win, mode, str);
    00674 }
    00675
    00677 static inline int WindSetPtr ( WINDOW *win, int mode, void *par1, void *par2) {
    00678     return mt_WindSetPtr ( gl_appvar, win, mode, par1, par2);
    00679 }
    00680
    00682 static inline int WindCalc ( int type, WINDOW *wind, int xin, int yin, int win, int hin, INT16 *xout, INT16 *yout, INT16 *wout, INT16 *hout) {
    00683     return mt_WindCalc ( gl_appvar, type, wind, xin, yin, win, hin, xout, yout, wout, hout);
    00684 }
    00685 #define WindCalcGrect( mode, win, inrect, outrect ) \
    00686                           WindCalc( mode, win, \
    00687                                        (inrect)->g_x, (inrect)->g_y, (inrect)->g_w, (inrect)->g_h, \
    00688                                        &(outrect)->g_x, &(outrect)->g_y, &(outrect)->g_w, &(outrect)->g_h )
    00689
    00691 static inline void WindSlider ( WINDOW *win, int mode) {
    00692     mt_WindSlider ( gl_appvar, win, mode);
    00693 }
    00694
    00696 static inline void WindClear ( WINDOW *win) {
    00697     mt_WindClear ( gl_appvar, win);
    00698 }
    00699
    00701 void __CDECL stdWindClear( WINDOW *win, short buff[8]);
    00702
    00704 static inline WINDOW* WindAttach ( int handle) {
    00705     return mt_WindAttach  ( gl_appvar, handle);
    00706 }
    00707
    00709 static inline void WindTop ( WINDOW *win) {
    00710     mt_WindTop ( gl_appvar, win);
    00711 }
    00712
    00714 static inline void WindNew ( void) {
    00715     mt_WindNew ( gl_appvar);
    00716 }
    00717
    00718 /* see glue.c */
    00719 WINDOW* WindFind    ( int mode, ...);
    00720
    00723 /* Slider library (for window formular) */
    00728 static inline void* SlidCreate  ( short min, short max, short sinc, short linc, short value, int ori, int upd) {
    00729     return mt_SlidCreate ( gl_appvar, min, max, sinc, linc, value, ori, upd);
    00730 }
    00731
    00733 static inline void  SlidDelete  ( void *slid) {
    00734     mt_SlidDelete ( gl_appvar, slid);
    00735 }
    00736
    00738 static inline void      SlidAttach  ( void *slid, int mode, WINDOW *win, int up, int bsld, int sld, int dn) {
    00739     mt_SlidAttach ( gl_appvar, slid, mode, win, up, bsld, sld, dn);
    00740 }
    00741
    00743 static inline short     SlidGetValue( void *slid) {
    00744     return mt_SlidGetValue( gl_appvar, slid);
    00745 }
    00746
    00748 static inline void      SlidSetFunc ( void *slid, func_doslid func, void *data) {
    00749     mt_SlidSetFunc ( gl_appvar, slid, func, data);
    00750 }
    00751
    00753 static inline void      SlidSetSize ( void *slid, int size) {
    00754     mt_SlidSetSize ( gl_appvar, slid, size);
    00755 }
    00756
    00758 static inline void      SlidSetValue( void *slid, short value) {
    00759     mt_SlidSetValue( gl_appvar, slid, value);
    00760 }
    00761
    00763 static inline void      SlidSetUpdat( void *slid, int upd) {
    00764     mt_SlidSetUpdat( gl_appvar, slid, upd);
    00765 }
    00768 /* Ressource library */
    00773 static inline int RsrcLoad ( const char *name) {
    00774     return mt_RsrcLoad ( gl_appvar, name);
    00775 }
    00776
    00778 static inline void RsrcXtype ( int mode, OBJECT **rs_trindex, int num_tree) {
    00779     mt_RsrcXtype ( gl_appvar, mode, rs_trindex, num_tree);
    00780 }
    00781
    00783 static inline void RsrcFixCicon ( OBJECT *object, int num_obs, int num_cib, INT16 palette[][4], void *fix) {
    00784     mt_RsrcFixCicon ( gl_appvar, object, num_obs, num_cib, palette, fix);
    00785 }
    00786
    00788 static inline void RsrcFreeCicon ( void *fix) {
    00789     mt_RsrcFreeCicon ( gl_appvar, fix);
    00790 }
    00791
    00793 static inline int RsrcUserDraw ( int mode, WINDOW *win, int __index, func_userdraw draw, void *data) {
    00794     return mt_RsrcUserDraw ( gl_appvar, mode, win, __index, draw, data);
    00795 }
    00796
    00798 #define RsrcFree() mt_rsrc_free(gl_appvar->aes_global)
    00799
    00801 static inline void* RsrcXload ( const char *name) {
    00802     return mt_RsrcXload ( gl_appvar, name);
    00803 }
    00804
    00806 static inline void RsrcXfree ( void *rsc) {
    00807     mt_RsrcXfree ( gl_appvar, rsc);
    00808 }
    00809
    00811 static inline int RsrcGaddr ( void *rsc, int type, int __index, void *addr) {
    00812     return mt_RsrcGaddr ( gl_appvar, rsc, type, __index, addr);
    00813 }
    00814
    00816 static inline rscHDR* RsrcGhdr ( void *rsc) {
    00817     return mt_RsrcGhdr ( gl_appvar, rsc);
    00818 }
    00819
    00823 /* Utility library */
    00824
    00825 static inline void snd_rdw ( WINDOW *win) {
    00826     mt_snd_rdw ( gl_appvar, win);
    00827 }
    00828 static inline void snd_arrw ( WINDOW *win, int msg) {
    00829     mt_snd_arrw ( gl_appvar, win, msg);
    00830 }
    00831
    00832 static inline void give_iconifyxywh( INT16 *x, INT16 *y, INT16 *w, INT16 *h) {
    00833     mt_give_iconifyxywh( gl_appvar, x, y, w, h);
    00834 }
    00835
    00836 static inline void ClipOn  ( W_GRAFPORT *graf, GRECT *r) {
    00837     mt_ClipOn  ( gl_appvar, graf, r);
    00838 }
    00839 static inline void ClipOff ( W_GRAFPORT *graf) {
    00840     mt_ClipOff ( gl_appvar, graf);
    00841 }
    00842
    00843 /* draw_page was a private function that some developpers use.
    00844  * NOW, this is a DEPRECATED function (please use EvntRedrawGrect instead)
    00845  * the following is just a hack for compatibility between windom 1.21 and windom 2.0
    00846  */
    00847 static inline void draw_page( WINDOW *win, int x, int y, int w, int h) {
    00848     GRECT rect;
    00849     rc_set( &rect, x, y, w, h );
    00850     mt_EvntRedrawGrect( gl_appvar, win, &rect );
    00851 }
    00852
    00853 static inline int ShelHelp ( char *file, char *chapter) {
    00854     return mt_ShelHelp ( gl_appvar, file, chapter);
    00855 }
    00856
    00857 static inline int ShelWrite ( char *prg, char *cmd, void *env, int av, int single) {
    00858     return mt_ShelWrite ( gl_appvar, prg, cmd, env, av, single);
    00859 }
    00860
    00861 static inline void GrectCenter ( int w, int h, INT16 *x, INT16 *y ) {
    00862     mt_GrectCenter ( gl_appvar, w, h, x, y );
    00863 }
    00864
    00865 #if 0 /* TODO */
    00866 void    DebugWindom ( const char *format, ...);
    00867 #endif /* 0*/
    00868
    00869
    00870 __END_DECLS
    00871 #endif