home *** CD-ROM | disk | FTP | other *** search
- /***************************************************************************
- *
- * File name : clock.h
- *
- * Copyright (C) 1996 IBM Corporation
- *
- * DISCLAIMER OF WARRANTIES. The following [enclosed] code is
- * sample code created by IBM Corporation. This sample code is not
- * part of any standard or IBM product and is provided to you solely
- * for the purpose of assisting you in the development of your
- * applications. The code is provided "AS IS", without
- * warranty of any kind. IBM shall not be liable for any damages
- * arising out of your use of the sample code, even if they have been
- * advised of the possibility of such damages.
- *
- ***************************************************************************/
-
- #ifndef _CLOCK_
- #define _CLOCK_
-
- //-------------------------------------------------------------------------
- // Constants
- //-------------------------------------------------------------------------
-
- #define MATLF_SIZE ( sizeof ( MATRIXLF ) / sizeof ( LONG ) )
-
- #define CLK_MAJORTICKS 0x0001
- #define CLK_MINORTICKS 0x0002
-
- #define XDATE 52L
- #define YDATE 14L
- #define ZDATE 1L
-
- #define HT_HOUR 1
- #define HT_MINUTE 2
- #define HT_HOUR_SHADE 3
- #define HT_MINUTE_SHADE 4
- #define HT_SECOND 5
-
- #define DM_TIME ( (USHORT)0x0001)
- #define DM_DATE ( (USHORT)0x0002)
- #define DM_ANALOG ( (USHORT)0x0010)
- #define DM_DIGITAL ( (USHORT)0x0020)
- #define DM_SECONDHAND ( (USHORT)0x0040)
-
- #define MAXTITLELENGTH 256
- #ifndef MESSAGELEN
- #define MESSAGELEN 80
- #endif
- #define SHADE 0
- #define LIGHT 1
- #define SURFACE 2
- #define BACKGROUND 3
-
- #define DP_INSIDE 0
- #define DP_UNDER 1
- #define DP_LEFTDOWN 2
- #define DP_LEFTMIDDLE 3
-
- #define DM_REDRAW 0
- #define DM_UPDATE 1
-
- #define AM_ACTIVE ( (USHORT) 0x0001)
- #define AM_AUDIO ( (USHORT) 0x0002)
- #define AM_MSGBOX ( (USHORT) 0x0004)
- #define TIMER_ASYNC 1
- #define TIMER_CONT 2
- #define SEM_TIMER_NAME "\\sem32\\applnam.sem"
- #ifndef NO_ERROR
- #define NO_ERROR (APIRET ) 0L
- #endif
-
- #define SEM_TIMER_VALUE ( (ULONG) (1000L * 60 * 60) )
-
- #define SZ_APPNAME "ClockProgram 2.1"
- #define SZ_KEYNAME "Preferences"
-
- /*--------------------------------------------------------------*\
- * Messagetable ids
- \*--------------------------------------------------------------*/
- #ifndef IDMSG_INITFAILED
-
- #define IDMSG_INITFAILED 101
- #define IDMSG_MAINWINCREATEFAILED 102
- #define IDMSG_CANNOTOPENINPUTFILE 103
- #define IDMSG_CANNOTOPENOUTPUTFILE 104
- #define IDMSG_CANNOTRUNCOLOR 108
- #define IDMSG_CANNOTGETHPS 109
- #define IDMSG_HELPLOADERROR 110
- #define IDMSG_CANNOTLOADSTRING 111
- #define IDMSG_CANNOTOPENPRINTER 112
- #define IDMSG_HELPDISPLAYERROR 113
- #define IDMSG_CANNOTLOADEXITLIST 114
- #define IDMSG_PRINTINITFAILED 115
- #define IDMSG_OVERWRITEFILE 116
- #define IDMSG_PRINTERROR 117
- #define IDMSG_UNDOFAILED 118
- #define IDMSG_CANNOTGETFILEINFO 119
- #define IDMSG_CANNOTALLOCATEMEMORY 120
- #define IDMSG_CANNOTREADFILE 121
- #define IDMSG_CANNOTWRITETOFILE 122
- #define IDMSG_CANNOTLOADFONTS 123
- #define IDMSG_CANNOTGETPAGEINFO 124
- #endif
- /**************************************************************************\
- * *
- * MODULE: dialogs.h *
- * *
- * COMMENT: Constants for the Clock dialogs *
- * *
- \**************************************************************************/
-
-
- #define CLKTM_MAJOR 0x0100
- #define CLKTM_MINOR 0x0200
-
- #define CLKTM_ALWAYS 0x0001
- #define CLKTM_NOTICONIC 0x0002
- #define CLKTM_NEVER 0x0004
-
- #define CLKCLR_BUTTONSHIFT 0x08
-
- #define CLKCLR_OBJECTS 0x0100
- #define CLKCLR_BACKGROUND 0x0101
- #define CLKCLR_FACE 0x0102
- #define CLKCLR_HOURHAND 0x0103
- #define CLKCLR_MINUTEHAND 0x0104
-
- #define CCHMAXSTRING 256
- #define TIME_SEP_LEN 1
- #define DATE_SEP_LEN 1
- #define STRING_AM_LEN 2
- #define STRING_PM_LEN 2
- #define AM_PM 2 /* index into rTimeSep */
- #define PATHMAX 259 /* path cb max */
- #define COUNTRY_USA 1 /* Country code */
- #define COUNTRY_UK 44 /* Country code */
-
- /*--------------------------------------------------------------*\
- * Standard Dialog box ids
- \*--------------------------------------------------------------*/
- #define FILEOPEN 2000
- #define FILESAVE 2001
-
- #define MSGBOXID 1001
- #define OBJECTID 1002
-
- //-------------------------------------------------------------------------
- // Structures
- //-------------------------------------------------------------------------
-
- typedef struct _ALARMTIME
- {
- UCHAR uchHour;
- UCHAR uchMinutes;
- USHORT usMode;
- } ALARMTIME;
-
-
- typedef struct _CLOCKPREF
- {
- USHORT usMajorTickPref; /*0,1*/
- USHORT usMinorTickPref; /*2,3*/
- LONG clrBackground; /*4,5,6,7*/
- LONG clrFace; /*8,9,a,b*/
- LONG clrHourHand; /*c,d,e,f*/
- LONG clrMinuteHand; /*10,11,12,13*/
- LONG clrDateOnAnalog; /*14,15,16,17*/
- BOOL fControlsHidden; /*18,19*/
- USHORT usDispMode; /*1a,1b*/
- ALARMTIME alarm ; /*1c,1d,1e,1f*/
- SWP swp; /*20....*/
- SHORT sTimerType;
-
- } CLOCKPREF;
- typedef CLOCKPREF *PCLOCKPREF;
-
- typedef struct _INISAVERESTORE
- {
- SWP swp;
- USHORT yRestore;
- USHORT xRestore;
- USHORT yMinRestore;
- USHORT xMinRestore;
- } INISAVERESTORE;
- typedef struct _DATETIME FAR *LPDT; /* For DosGet/SetDateTime */
-
- struct CLKDATA {
- HDC hdcBuffer;
- HPS hpsBuffer;
- BOOL fBufferDirty;
- BOOL fEndThread;
- HRGN hClipRegion;
- HRGN hrgnFace;
- CLOCKPREF cp;
- HWND hwndHelpInstance;
- HSWITCH hsw ;
- BOOL fStartAsIcon ;
- BOOL fHelpEnabled;
- SHORT Selected ;
- SHORT PreviousSelected;
- BOOL bLeadingZero;
- BOOL bIsIconic;
- WRECT rDateTime[6];
- WRECT rAlarmTime[3]; /* placement of time and date matters */
- WRECT rRepaintTime;
- WRECT rDateAssign[3];
- SHORT sFirstTime;
- SHORT sFirstDate;
- SHORT asLeftOf[6];
- SHORT asRightOf[6];
- SHORT wDateTime[6];
- SHORT wPrevDateTime[6];
- HWND hDate,hTime;
- HWND hDateScroll;
- HWND hTimeScroll;
- HWND hCurrentFocus;
- HWND hDateTime;
- HWND hAlarmTime;
- BOOL bTwelveHourFormat;
- WRECT rTimeSep[3];
- CHAR szTimeSep[TIME_SEP_LEN+1];
- CHAR szAnteMeridian[STRING_AM_LEN+1];
- CHAR szPostMeridian[STRING_PM_LEN+1];
- CHAR szTitle [81];
- CHAR szErrClocks[PATHMAX+1];
- WRECT rDateSep[2];
- CHAR szDateSep[DATE_SEP_LEN+1];
- BOOL fTimeFreez ;
- BOOL fDateFreez ;
- USHORT vusDateFormat;
- MATRIXLF vmatlfDateTrans;
- MATRIXLF vmatlfDateScale;
- DATETIME dt ;
- BOOL fIconic , fShowSecondHand ;
- char achOldTime[9];
- char achAmPm[3];
- char achOldAmPm[3];
- char achOldDate[9];
- HPS hpsWnd;
- LONG cxScreen, cyScreen; /* screen dimensions */
- LONG vclrBG[3];
- LONG vclrFace[3];
- LONG vclrRing[3];
- LONG vclrHands[3];
- LONG vclrMajorTicks[3];
- LONG vclrMinorTicks[3];
- LONG vclrDate[4];
- USHORT vusDatePos;
- BOOL vbInAlarm;
- HWND hwndEntryField;
- };
-
- typedef CLKDATA *PCLKDATA;
-
- #endif