From 7b358424ebad9349421acd533c2fa1cbf6cf3e3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 28 Dec 2016 16:52:56 +0100 Subject: Initial import of xtrkcad version 1:4.0.2-2 --- app/wlib/include/ctl3d.h | 5 + app/wlib/include/getopt.h | 25 ++ app/wlib/include/mswlib.h | 9 + app/wlib/include/mswlib.rc | 13 + app/wlib/include/wcolors.h | 42 +++ app/wlib/include/wlib.h | 690 +++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 784 insertions(+) create mode 100644 app/wlib/include/ctl3d.h create mode 100644 app/wlib/include/getopt.h create mode 100644 app/wlib/include/mswlib.h create mode 100644 app/wlib/include/mswlib.rc create mode 100644 app/wlib/include/wcolors.h create mode 100644 app/wlib/include/wlib.h (limited to 'app/wlib/include') diff --git a/app/wlib/include/ctl3d.h b/app/wlib/include/ctl3d.h new file mode 100644 index 0000000..989c28d --- /dev/null +++ b/app/wlib/include/ctl3d.h @@ -0,0 +1,5 @@ +/*****************************************************/ +/* */ +/* dummy file for compatibility with VS 6.0 */ +/* */ +/*****************************************************/ diff --git a/app/wlib/include/getopt.h b/app/wlib/include/getopt.h new file mode 100644 index 0000000..e9a8354 --- /dev/null +++ b/app/wlib/include/getopt.h @@ -0,0 +1,25 @@ +/* + getopt.h 1.2 2003/09/17 16:17:59 + + Copyright (C) 1998, 2003 by David A. Hinds -- All Rights Reserved + + This file is part of ASPEX. + + ASPEX is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + ASPEX is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with ASPEX; if not, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +extern char *optarg; +extern int optind, opterr, optopt; +int getopt(int argc, char *argv[], const char *optstring); diff --git a/app/wlib/include/mswlib.h b/app/wlib/include/mswlib.h new file mode 100644 index 0000000..4a3f799 --- /dev/null +++ b/app/wlib/include/mswlib.h @@ -0,0 +1,9 @@ + +#define WAPPICON (980) +#define WM_F1DOWN (WM_USER+10) +#define WM_NOTVALID (WM_USER+11) +#define IDM_DOHELP 999 +#define IDM_PRINTAPP 998 +#define IDM_PRINTPAGE 997 +#define IDM_ABOUT 100 + diff --git a/app/wlib/include/mswlib.rc b/app/wlib/include/mswlib.rc new file mode 100644 index 0000000..bf13e6b --- /dev/null +++ b/app/wlib/include/mswlib.rc @@ -0,0 +1,13 @@ +msw-accel ACCELERATORS +BEGIN + VK_F1, IDM_DOHELP, VIRTKEY +END + +MswAbortDlg DIALOG 20, 20, 90, 64 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "Printing" +BEGIN + DEFPUSHBUTTON "Cancel", IDCANCEL, 29, 44, 32, 14, WS_GROUP + CTEXT "Now printing", -1, 0, 8, 90, 8 + CTEXT "Page", IDM_PRINTPAGE, 0, 18, 90, 8 +END diff --git a/app/wlib/include/wcolors.h b/app/wlib/include/wcolors.h new file mode 100644 index 0000000..46d15a8 --- /dev/null +++ b/app/wlib/include/wcolors.h @@ -0,0 +1,42 @@ +/* Some colors */ +#define wDrawColorWhite (0) +#define wDrawColorBlack (1) +#define wDrawColorRed (2) +#define wDrawColorGreen (3) +#define wDrawColorBlue (4) +#define wDrawColorYellow (5) +#define wDrawColorPurple (6) +#define wDrawColorAqua (7) +#define wDrawColorDkRed (8) +#define wDrawColorDkGreen (9) +#define wDrawColorDkBlue (10) +#define wDrawColorDkYellow (11) +#define wDrawColorDkPurple (12) +#define wDrawColorDkAqua (13) +#define wDrawColorRoyalBlue (14) +#define wDrawColorDeepSkyBlue (15) +#define wDrawColorLightSkyBlue (16) +#define wDrawColorSteelBlue (17) +#define wDrawColorPowderBlue (18) +#define wDrawColorAquamarine (19) +#define wDrawColorSeaGreen (20) +#define wDrawColorPaleGreen (21) +#define wDrawColorLawnGreen (22) +#define wDrawColorLimeGreen (23) +#define wDrawColorForestGreen (24) +#define wDrawColorGold (25) +#define wDrawColorRosyBrown (26) +#define wDrawColorSaddleBrown (27) +#define wDrawColorBeige (28) +#define wDrawColorTan (29) +#define wDrawColorChocolate (30) +#define wDrawColorBrown (31) +#define wDrawColorOrange (32) +#define wDrawColorCoral (33) +#define wDrawColorTomato (34) +#define wDrawColorHotPink (35) +#define wDrawColorPink (36) +#define wDrawColorMaroon (37) +#define wDrawColorViolet (38) +#define wDrawColorPurple2 (39) + diff --git a/app/wlib/include/wlib.h b/app/wlib/include/wlib.h new file mode 100644 index 0000000..4582231 --- /dev/null +++ b/app/wlib/include/wlib.h @@ -0,0 +1,690 @@ +/** \file wlib.h + * Commaon definitions and declarations for the wlib library + * + * $Header: /home/dmarkle/xtrkcad-fork-cvs/xtrkcad/app/wlib/include/wlib.h,v 1.18 2010-04-28 04:04:39 dspagnol Exp $ + */ + +#ifndef WIN_H +#define WIN_H +#ifdef WINDOWS +#include +#endif + +#ifdef USE_SIMPLE_GETTEXT +char *bindtextdomain( char *domainname, char *dirname ); +char *bind_textdomain_codeset(char *domainname, char *codeset ); +char *textdomain( char *domainname ); +char *gettext( char *msgid ); + +char *g_win32_getlocale (void); +#endif + +/* + * Interface types + */ + +typedef long wInteger_t; +typedef int wPos_t; +typedef int wBool_t; +typedef int wIndex_t; + +/* + * Opaque Pointers + */ +typedef struct wWin_t * wWin_p; +typedef struct wControl_t * wControl_p; +typedef struct wButton_t * wButton_p; +typedef struct wString_t * wString_p; +typedef struct wInteger_t * wInteger_p; +typedef struct wFloat_t * wFloat_p; +typedef struct wList_t * wList_p; +typedef struct wChoice_t * wChoice_p; +typedef struct wDraw_t * wDraw_p; +typedef struct wMenu_t * wMenu_p; +typedef struct wText_t * wText_p; +typedef struct wMessage_t * wMessage_p; +typedef struct wLine_t * wLine_p; +typedef struct wMenuList_t * wMenuList_p; +typedef struct wMenuPush_t * wMenuPush_p; +typedef struct wMenuRadio_t * wMenuRadio_p; +typedef struct wMenuToggle_t* wMenuToggle_p; +typedef struct wBox_t * wBox_p; +typedef struct wIcon_t * wIcon_p; +typedef struct wDrawBitMap_t * wDrawBitMap_p; +typedef struct wFont_t * wFont_p; +typedef struct wBitmap_t * wBitmap_p; +typedef int wDrawWidth; +typedef int wDrawColor; + +typedef struct { + const char * name; + const char * value; + } wBalloonHelp_t; + +extern long debugWindow; +extern long wDebugFont; + + +/*------------------------------------------------------------------------------ + * + * System Interface + */ + +void wInitAppName(char *appName); + +const char * wGetAppLibDir( void ); +const char * wGetAppWorkDir( void ); +const char * wGetUserHomeDir( void ); +wBool_t wCheckExecutable( void ); + +void wBeep( void ); +wBool_t wNotice( const char *, const char *, const char * ); +int wNotice3( const char *, const char *, const char *, const char * ); +void wHelp( const char * ); + +#define NT_INFORMATION 1 +#define NT_WARNING 2 +#define NT_ERROR 4 + +wBool_t wNoticeEx( int type, const char * msg, const char * yes, const char * no ); + + + +void wSetBalloonHelp ( wBalloonHelp_t * ); +void wEnableBalloonHelp ( int ); +void wBalloonHelpUpdate ( void ); + +void wFlush( void ); + +typedef void (*wAlarmCallBack_p)( void ); +void wAlarm( long, wAlarmCallBack_p ); +void wPause( long ); +unsigned long wGetTimer( void ); + +void wExit( int ); + +typedef enum { wCursorNormal, + wCursorWait, + wCursorIBeam, + wCursorCross, + wCursorQuestion } wCursor_t; +void wSetCursor( wCursor_t ); + +const char * wMemStats( void ); + +#define WKEY_SHIFT (1<<1) +#define WKEY_CTRL (1<<2) +#define WKEY_ALT (1<<3) +int wGetKeyState( void ); + +void wGetDisplaySize( wPos_t*, wPos_t* ); + +wIcon_p wIconCreateBitMap( wPos_t, wPos_t, const char * bits, wDrawColor ); +wIcon_p wIconCreatePixMap( char *[] ); +void wIconSetColor( wIcon_p, wDrawColor ); +void wIconDraw( wDraw_p d, wIcon_p bm, wPos_t x, wPos_t y ); + +void wConvertToCharSet( char *, int ); +void wConvertFromCharSet( char *, int ); +#ifdef WINDOWS +FILE * wFileOpen( const char *, const char * ); +#endif + +/*------------------------------------------------------------------------------ + * + * Main and Popup Windows + */ + +/* Creation CallBacks */ +typedef enum { + wClose_e, + wResize_e, + wQuit_e, + wRedraw_e } + winProcEvent; +typedef void (*wWinCallBack_p)( wWin_p, winProcEvent, void * ); + +/* Creation Options */ +#define F_AUTOSIZE (1L<<1) +#define F_HEADER (1L<<2) +#define F_RESIZE (1L<<3) +#define F_BLOCK (1L<<4) +#define F_MENUBAR (1L<<5) +#define F_NOTAB (1L<<8) +#define F_RECALLPOS (1L<<9) +#define F_RECALLSIZE (1L<<10) +#define F_TOP (1L<<11) +#define F_CENTER (1L<<12) +#define F_HIDE (1L<<12) + +wWin_p wWinMainCreate( const char *, wPos_t, wPos_t, const char *, const char *, const char *, + long, wWinCallBack_p, void * ); +wWin_p wWinPopupCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, const char *, + long, wWinCallBack_p, void * ); + +wWin_p wMain( int, char *[] ); +void wWinSetBigIcon( wWin_p, wIcon_p ); +void wWinSetSmallIcon( wWin_p, wIcon_p ); +void wWinShow( wWin_p, wBool_t ); +wBool_t wWinIsVisible( wWin_p ); +void wWinGetSize ( wWin_p, wPos_t *, wPos_t * ); +void wWinSetSize( wWin_p, wPos_t, wPos_t ); +void wWinSetTitle( wWin_p, const char * ); +void wWinSetBusy( wWin_p, wBool_t ); +const char * wWinGetTitle( wWin_p ); +void wWinClear( wWin_p, wPos_t, wPos_t, wPos_t, wPos_t ); +void wMessage( wWin_p, const char *, wBool_t ); +void wWinTop( wWin_p ); +void wWinDoCancel( wWin_p ); +void wWinBlockEnable( wBool_t ); + +int wCreateSplash( char *appName, char *appVer ); +int wSetSplashInfo( char *msg ); +void wDestroySplash( void ); + +/*------------------------------------------------------------------------------ + * + * Controls in general + */ + +/* Creation Options */ +#define BO_ICON (1L<<0) +#define BO_DISABLED (1L<<1) +#define BO_READONLY (1L<<2) +#define BO_NOTAB (1L<<8) +#define BO_BORDER (1L<<9) + +wPos_t wLabelWidth( const char * ); +const char * wControlGetHelp( wControl_p ); +void wControlSetHelp( wControl_p, const char * ); +void wControlShow( wControl_p, wBool_t ); +wPos_t wControlGetWidth( wControl_p ); +wPos_t wControlGetHeight( wControl_p ); +wPos_t wControlGetPosX( wControl_p ); +wPos_t wControlGetPosY( wControl_p ); +void wControlSetPos( wControl_p, wPos_t, wPos_t ); +void wControlSetFocus( wControl_p ); +void wControlActive( wControl_p, wBool_t ); +void wControlSetBalloon( wControl_p, wPos_t, wPos_t, const char * ); +void wControlSetLabel( wControl_p, const char * ); +void wControlSetBalloonText( wControl_p, const char * ); +void wControlSetContext( wControl_p, void * ); +void wControlHilite( wControl_p, wBool_t ); + +void wControlLinkedSet( wControl_p b1, wControl_p b2 ); +void wControlLinkedActive( wControl_p b, int active ); + +/*------------------------------------------------------------------------------ + * + * Push buttons + */ + +/* Creation CallBacks */ +typedef void (*wButtonCallBack_p)( void * ); + +/* Creation Options */ +#define BB_DEFAULT (1L<<5) +#define BB_CANCEL (1L<<6) +#define BB_HELP (1L<<7) + +wButton_p wButtonCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + wPos_t, wButtonCallBack_p, void * ); +void wButtonSetLabel( wButton_p, const char * ); +void wButtonSetColor( wButton_p, wDrawColor ); +void wButtonSetBusy( wButton_p, wBool_t ); + + +/*------------------------------------------------------------------------------ + * + * Radio and Toggle (Choice) Buttons + */ + +/* Creation CallBacks */ +typedef void (*wChoiceCallBack_p)( long, void * ); + +/* Creation Options */ +#define BC_ICON (1L<<0) +#define BC_HORZ (1L<<22) +#define BC_NONE (1L<<19) +#define BC_NOBORDER (1L<<15) + +wChoice_p wRadioCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + const char **, long *, wChoiceCallBack_p, void * ); +wChoice_p wToggleCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + const char **, long *, wChoiceCallBack_p, void * ); +void wRadioSetValue( wChoice_p, long ); +void wToggleSetValue( wChoice_p, long ); +long wRadioGetValue( wChoice_p ); +long wToggleGetValue( wChoice_p ); + + +/*------------------------------------------------------------------------------ + * + * String entry + */ + +#define BS_TRIM (1<<12) +/* Creation CallBacks */ +typedef void (*wStringCallBack_p)( const char *, void * ); +wString_p wStringCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + wPos_t, char *, wIndex_t, wStringCallBack_p, + void * ); +void wStringSetValue( wString_p, const char * ); +void wStringSetWidth( wString_p, wPos_t ); +const char * wStringGetValue( wString_p ); + + +/*------------------------------------------------------------------------------ + * + * Numeric Entry + */ + +/* Creation CallBacks */ +typedef void (*wIntegerCallBack_p)( long, void * ); +typedef void (*wFloatCallBack_p)( double, void * ); +wInteger_p wIntegerCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + wPos_t, wInteger_t, wInteger_t, wInteger_t *, + wIntegerCallBack_p, void * ); +wFloat_p wFloatCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + wPos_t, double, double, double *, + wFloatCallBack_p, void * ); +void wIntegerSetValue( wInteger_p, wInteger_t ); +void wFloatSetValue( wFloat_p, double ); +wInteger_t wIntegerGetValue( wInteger_p ); +double wFloatGetValue( wFloat_p ); + + +/*------------------------------------------------------------------------------ + * + * Lists + */ + +/* Creation CallBacks */ +typedef void (*wListCallBack_p)( wIndex_t, const char *, wIndex_t, void *, void * ); + +/* Creation Options */ +#define BL_DUP (1L<<16) +#define BL_SORT (1L<<17) +#define BL_MANY (1L<<18) +#define BL_NONE (1L<<19) +#define BL_SETSTAY (1L<<20) +#define BL_DBLCLICK (1L<<21) +#define BL_FIXFONT (1L<<22) +#define BL_EDITABLE (1L<<23) +#define BL_ICON (1L<<0) + +wList_p wListCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + long, wPos_t, int, wPos_t *, wBool_t *, const char **, long *, wListCallBack_p, void * ); +wList_p wComboListCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + long, wPos_t, long *, wListCallBack_p, void * ); +wList_p wDropListCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + long, wPos_t, long *, wListCallBack_p, void * ); +void wListClear( wList_p ); +void wListSetIndex( wList_p, wIndex_t ); +wIndex_t wListGetIndex( wList_p ); +wIndex_t wListFindValue( wList_p, const char * ); +void wListSetValue( wList_p, const char * ); +int wListGetColumnWidths( wList_p, int, wPos_t * ); +wBool_t wListSetValues( wList_p, wIndex_t, const char *, wIcon_p, void * ); +void wListSetActive( wList_p, wIndex_t, wBool_t ); +void wListSetEditable( wList_p, wBool_t ); +wIndex_t wListAddValue( wList_p, const char *, wIcon_p, void * ); +void wListDelete( wList_p, wIndex_t ); +wIndex_t wListGetValues( wList_p, char *, int, void * *, void * * ); +wIndex_t wListGetCount( wList_p ); +void * wListGetItemContext( wList_p, wIndex_t ); +wBool_t wListGetItemSelected( wList_p, wIndex_t ); +wIndex_t wListGetSelectedCount( wList_p ); +void wListSetSize( wList_p, wPos_t, wPos_t ); + + +/*------------------------------------------------------------------------------ + * + * Messages + */ + +#define BM_LARGE (1L<<24) +#define BM_SMALL (1L<<25) + +#define wMessageSetFont( x ) ( x & (BM_LARGE | BM_SMALL )) + +#define wMessageCreate( w, p1, p2, l, p3, m ) wMessageCreateEx( w, p1, p2, l, p3, m, 0 ) +wMessage_p wMessageCreateEx( wWin_p, wPos_t, wPos_t, const char *, + wPos_t, const char *, long ); + +void wMessageSetValue( wMessage_p, const char * ); +void wMessageSetWidth( wMessage_p, wPos_t ); +wPos_t wMessageGetHeight( long ); + + +/*------------------------------------------------------------------------------ + * + * Boxes + */ + +typedef enum { + wBoxThinB, + wBoxThinW, + wBoxAbove, + wBoxBelow, + wBoxThickB, + wBoxThickW, + wBoxRidge, + wBoxTrough } + wBoxType_e; +wBox_p wBoxCreate( wWin_p, wPos_t, wPos_t, const char *, wBoxType_e, + wPos_t, wPos_t ); +void wBoxSetSize( wBox_p, wPos_t, wPos_t ); + + +/*------------------------------------------------------------------------------ + * + * Lines + */ + +typedef struct { + int width; + int x0, y0; + int x1, y1; + } wLines_t, * wLines_p; + +wLine_p wLineCreate( wWin_p, const char *, int, wLines_t *); + + +/*------------------------------------------------------------------------------ + * + * Text + */ + +/* Creation Options */ +#define BT_HSCROLL (1L<<24) +#define BT_CHARUNITS (1L<<23) +#define BT_FIXEDFONT (1L<<22) +#define BT_DOBOLD (1L<<21) + +wText_p wTextCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long, + wPos_t, wPos_t ); +void wTextClear( wText_p ); +void wTextAppend( wText_p, const char * ); +void wTextSetReadonly( wText_p, wBool_t ); +int wTextGetSize( wText_p ); +void wTextGetText( wText_p, char *, int ); +wBool_t wTextGetModified( wText_p ); +void wTextReadFile( wText_p, const char * ); +wBool_t wTextSave( wText_p, const char * ); +wBool_t wTextPrint( wText_p ); +void wTextSetSize( wText_p, wPos_t, wPos_t ); +void wTextComputeSize( wText_p, int, int, wPos_t *, wPos_t * ); +void wTextSetPosition( wText_p bt, int pos ); + + +/*------------------------------------------------------------------------------ + * + * Draw + */ + + +typedef int wDrawOpts; +#define wDrawOptTemp (1<<0) +#define wDrawOptNoClip (1<<1) + +typedef enum { + wDrawLineSolid, + wDrawLineDash } + wDrawLineType_e; + +typedef int wAction_t; +#define wActionMove (1) +#define wActionLDown (2) +#define wActionLDrag (3) +#define wActionLUp (4) +#define wActionRDown (5) +#define wActionRDrag (6) +#define wActionRUp (7) +#define wActionText (8) +#define wActionExtKey (9) +#define wActionWheelUp (10) +#define wActionWheelDown (11) +#define wActionLast wActionWheelDown + + +#define wRGB(R,G,B)\ + (long)(((((long)(R)<<16))&0xFF0000L)|((((long)(G))<<8)&0x00FF00L)|(((long)(B))&0x0000FFL)) + + +/* Creation CallBacks */ +typedef void (*wDrawRedrawCallBack_p)( wDraw_p, void *, wPos_t, wPos_t ); +typedef void (*wDrawActionCallBack_p)( wDraw_p, void*, wAction_t, wPos_t, wPos_t ); + +/* Creation Options */ +#define BD_TICKS (1L<<25) +#define BD_DIRECT (1L<<26) +#define BD_NOCAPTURE (1L<<27) + +/* Create: */ +wDraw_p wDrawCreate( wWin_p, wPos_t, wPos_t, const char *, long, + wPos_t, wPos_t, void *, + wDrawRedrawCallBack_p, wDrawActionCallBack_p ); + +/* Draw: */ +void wDrawLine( wDraw_p, wPos_t, wPos_t, wPos_t, wPos_t, + wDrawWidth, wDrawLineType_e, wDrawColor, + wDrawOpts ); +#define double2wAngle_t( A ) (A) +typedef double wAngle_t; +void wDrawArc( wDraw_p, wPos_t, wPos_t, wPos_t, wAngle_t, wAngle_t, + int, wDrawWidth, wDrawLineType_e, wDrawColor, + wDrawOpts ); +void wDrawPoint( wDraw_p, wPos_t, wPos_t, wDrawColor, wDrawOpts ); +#define double2wFontSize_t( FS ) (FS) +typedef double wFontSize_t; +void wDrawString( wDraw_p, wPos_t, wPos_t, wAngle_t, const char *, wFont_p, + wFontSize_t, wDrawColor, wDrawOpts ); +void wDrawFilledRectangle( wDraw_p, wPos_t, wPos_t, wPos_t, wPos_t, + wDrawColor, wDrawOpts ); +void wDrawFilledPolygon( wDraw_p, wPos_t [][2], wIndex_t, wDrawColor, + wDrawOpts ); +void wDrawFilledCircle( wDraw_p, wPos_t, wPos_t, wPos_t, wDrawColor, wDrawOpts ); + +void wDrawGetTextSize( wPos_t *, wPos_t *, wPos_t *, wDraw_p, const char *, wFont_p, + wFontSize_t ); +void wDrawClear( wDraw_p ); + +void wDrawDelayUpdate( wDraw_p, wBool_t ); +void wDrawClip( wDraw_p, wPos_t, wPos_t, wPos_t, wPos_t ); +wDrawColor wDrawColorGray( int ); +wDrawColor wDrawFindColor( long ); +long wDrawGetRGB( wDrawColor ); + +/* Geometry */ +double wDrawGetDPI( wDraw_p ); +double wDrawGetMaxRadius( wDraw_p ); +void wDrawSetSize( wDraw_p, wPos_t, wPos_t ); +void wDrawGetSize( wDraw_p, wPos_t *, wPos_t * ); + +/* Bitmaps */ +wDrawBitMap_p wDrawBitMapCreate( wDraw_p, int, int, int, int, const char * ); +void wDrawBitMap( wDraw_p, wDrawBitMap_p, wPos_t, wPos_t, + wDrawColor, wDrawOpts ); + +wDraw_p wBitMapCreate( wPos_t, wPos_t, int ); +wBool_t wBitMapDelete( wDraw_p ); +wBool_t wBitMapWriteFile( wDraw_p, const char * ); + +/* Misc */ +void * wDrawGetContext( wDraw_p ); +void wDrawSaveImage( wDraw_p ); +void wDrawRestoreImage( wDraw_p ); + +/*------------------------------------------------------------------------------ + * + * Fonts + */ +void wInitializeFonts(); +void wSelectFont( const char * ); +wFontSize_t wSelectedFontSize( void ); +void wSetSelectionFontSize(int); +#define F_TIMES (1) +#define F_HELV (2) +wFont_p wStandardFont( int, wBool_t, wBool_t ); + + +/*------------------------------------------------------------------------------ + * + * Printing + */ + +typedef void (*wAddPrinterCallBack_p)( const char *, const char * ); +typedef void (*wAddMarginCallBack_p)( const char *, double, double, double, double ); +typedef void (*wAddFontAliasCallBack_p)( const char *, const char * ); +typedef void (*wPrintSetupCallBack_p)( wBool_t ); + +wBool_t wPrintInit( void ); +void wPrintSetup( wPrintSetupCallBack_p ); +void wPrintSetCallBacks( wAddPrinterCallBack_p, wAddMarginCallBack_p, wAddFontAliasCallBack_p ); +void wPrintGetPageSize( double *, double * ); +void wPrintGetPhysSize( double *, double * ); +wBool_t wPrintDocStart( const char *, int, int * ); +wDraw_p wPrintPageStart( void ); +wBool_t wPrintPageEnd( wDraw_p ); +void wPrintDocEnd( void ); +wBool_t wPrintQuit( void ); +void wPrintClip( wPos_t, wPos_t, wPos_t, wPos_t ); + + +/*------------------------------------------------------------------------------ + * + * Menus + */ + +#define WACCL_BASE (1000) +#define WALT (1<<10) +#define WCTL (1<<11) +#define WMETA (1<<12) +#define WSHIFT (1<<13) + +typedef enum { + wAccelKey_None, + wAccelKey_Del, + wAccelKey_Ins, + wAccelKey_Home, + wAccelKey_End, + wAccelKey_Pgup, + wAccelKey_Pgdn, + wAccelKey_Up, + wAccelKey_Down, + wAccelKey_Right, + wAccelKey_Left, + wAccelKey_Back, + wAccelKey_F1, + wAccelKey_F2, + wAccelKey_F3, + wAccelKey_F4, + wAccelKey_F5, + wAccelKey_F6, + wAccelKey_F7, + wAccelKey_F8, + wAccelKey_F9, + wAccelKey_F10, + wAccelKey_F11, + wAccelKey_F12 } + wAccelKey_e; + +/* Creation CallBacks */ +typedef void (*wMenuCallBack_p)( void * ); +typedef void (*wMenuListCallBack_p)( int, const char *, void * ); +typedef void (*wMenuToggleCallBack_p)( wBool_t , void * ); +typedef void (*wAccelKeyCallBack_p)( wAccelKey_e, void * ); +typedef void (*wMenuTraceCallBack_p)( wMenu_p, const char *, void * ); + +/* Creation Options */ +#define BM_ICON (1L<<0) + +wMenu_p wMenuCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, long ); +wMenu_p wMenuBarAdd( wWin_p, const char *, const char * ); + +wMenuPush_p wMenuPushCreate( wMenu_p, const char *, const char *, long, + wMenuCallBack_p, void * ); +wMenuRadio_p wMenuRadioCreate( wMenu_p, const char *, const char *, long, + wMenuCallBack_p, void * ); + +wMenu_p wMenuMenuCreate( wMenu_p, const char *, const char * ); +wMenu_p wMenuPopupCreate( wWin_p, const char * ); +void wMenuSeparatorCreate( wMenu_p ); +wMenuList_p wMenuListCreate( wMenu_p, const char *, int, wMenuListCallBack_p ); +void wMenuRadioSetActive( wMenuRadio_p ); +void wMenuPushEnable( wMenuPush_p, wBool_t ); +void wMenuListAdd( wMenuList_p, int, const char *, const void * ); +void wMenuListDelete( wMenuList_p, const char * ); +const char * wMenuListGet( wMenuList_p, int, void ** ); +void wMenuListClear( wMenuList_p ); + +wMenuToggle_p wMenuToggleCreate( wMenu_p, const char *, const char *, long, wBool_t, wMenuToggleCallBack_p, void * ); +wBool_t wMenuToggleSet( wMenuToggle_p, wBool_t ); +wBool_t wMenuToggleGet( wMenuToggle_p ); +void wMenuToggleEnable( wMenuToggle_p, wBool_t ); + +void wMenuPopupShow( wMenu_p ); + +void wMenuAddHelp( wMenu_p ); + +void wMenuSetTraceCallBack( wMenu_p, wMenuTraceCallBack_p, void * ); +wBool_t wMenuAction( wMenu_p, const char * ); + +void wAttachAccelKey( wAccelKey_e, int, wAccelKeyCallBack_p, void * ); + +/*------------------------------------------------------------------------------ + * + * File Selection + */ + +struct wFilSel_t; +typedef enum { + FS_SAVE, + FS_LOAD, + FS_UPDATE } + wFilSelMode_e; +typedef int (*wFilSelCallBack_p)( const char * pathName, const char * fileName, void * ); +struct wFilSel_t * wFilSelCreate(wWin_p, wFilSelMode_e, int, const char *, const char *, + wFilSelCallBack_p, void * ); +int wFilSelect( struct wFilSel_t *, const char * ); + + +/*------------------------------------------------------------------------------ + * + * Color Selection + */ +/* Creation CallBacks */ +typedef void (*wColorSelectButtonCallBack_p)( void *, wDrawColor ); + +wBool_t wColorSelect( const char *, wDrawColor * ); +wButton_p wColorSelectButtonCreate( wWin_p, wPos_t, wPos_t, const char *, const char *, + long, wPos_t, wDrawColor *, wColorSelectButtonCallBack_p, void * ); +void wColorSelectButtonSetColor( wButton_p, wDrawColor ); +wDrawColor wColorSelectButtonGetColor( wButton_p ); + +/*------------------------------------------------------------------------------ + * + * Preferences + */ + +void wPrefSetString( const char *, const char *, const char * ); +const char * wPrefGetString( const char *, const char * ); +void wPrefSetInteger( const char *, const char *, long ); +wBool_t wPrefGetInteger( const char *, const char *, long *, long ); +void wPrefSetFloat( const char *, const char *, double ); +wBool_t wPrefGetFloat( const char *, const char *, double *, double ); +const char * wPrefGetSectionItem( const char * sectionName, wIndex_t * index, const char ** name ); +void wPrefFlush( void ); +void wPrefReset( void ); + +void CleanupCustom( void ); + +/*------------------------------------------------------------------------------ + * + * Bitmap Controls + */ + +wControl_p wBitmapCreate( wWin_p parent, wPos_t xx, wPos_t yy, long options, wIcon_p iconP ); + +#endif -- cgit v1.2.3