Changeset 27
- Timestamp:
- Mar 13, 2018, 6:34:46 PM (7 years ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bitmap.cpp
r11 r27 19 19 20 20 // ** CaptureWindow ******************************************************* /*FOLD00*/ 21 21 #include <ctype.h> 22 22 #define MAX_WAIT 15 23 23 … … 36 36 37 37 // wait for the selected window to rise to the surface 38 if ( (hwndParent != HWND_DESKTOP) &&f)38 if (f) 39 39 { 40 40 WinSetWindowPos (hwndParent, HWND_TOP, 0,0, 0,0, SWP_ZORDER); … … 149 149 sizeof (aptl) / sizeof (POINTL), /* Number of points in aptl */ 150 150 aptl, ROP_SRCCOPY, BBO_IGNORE); 151 SaveBitmap (hbm, hpsMem, sWidth, sHeight, bmp.cBitCount); 151 152 SWCNTRL swctl; 153 PID pid; 154 TID tid; 155 BOOL screen = FALSE, region = FALSE; 156 CHAR title[11]; 157 158 if (!f) { 159 //hwndParent = WinQueryFocus(HWND_DESKTOP); 160 if (hwndParent == hwndFrame) { 161 DebugHereIAm(); 162 hwndParent = WinQueryWindow(hwndFrame, QW_NEXTTOP ); 163 } 164 screen = TRUE; 165 if (prcl) 166 region = TRUE; 167 } 168 169 int rc = WinQueryWindowProcess(hwndParent, &pid, &tid); 170 if (WinQuerySwitchEntry(WinQuerySwitchHandle(hwndParent, pid), 171 &swctl)) 172 WinQuerySwitchEntry(WinQuerySwitchHandle(NULLHANDLE, pid), 173 &swctl); 174 175 char buffer[MAXNAMEL+4]; 176 int length = strlen( swctl.szSwtitle ); 177 strcpy(buffer, swctl.szSwtitle); 178 char *p; 179 p = buffer; 180 for (int i = 0; i < (length < 11 ? length : 11); i++) { 181 if ( ispunct( *p ) || *p == '\\' || isblank( *p )) { 182 *p = '_'; 183 } 184 p++; 185 } 186 187 if (region) 188 snprintf( title, length < 8 ? length + 3 : 11, "SR%s", buffer); 189 else if (screen) 190 snprintf( title, length < 8 ? length + 3 : 11, "SC%s", buffer); 191 else 192 snprintf( title, length < 8 ? length + 3 : 11, "WD%s", buffer); 193 194 SaveBitmap (hbm, hpsMem, sWidth, sHeight, bmp.cBitCount, title); 152 195 153 196 // re-associate the previous bit map and the memory presentation space -
trunk/config.h
r2 r27 36 36 37 37 // Default language for resources and help. 38 #define PSZ_DEFAULTLANGUAGE "english"39 #define PSZ_DEFAULTLANGUAGEHELP PSZ_DEFAULTLANGUAGE38 #define PSZ_DEFAULTLANGUAGEMOD "gotresen" 39 #define PSZ_DEFAULTLANGUAGEHELP "gotcha_en" 40 40 -
trunk/dll/gotchdll.c
r2 r27 23 23 #include "../id.h" 24 24 25 //#define __PMPRINTF__ 26 //#include "PMPRINTF.H" 27 28 /* pre-accelerator input hook, undocumented, */ 29 #define HK_PREACCEL 17 30 25 31 HAB habDLL; 26 32 HWND hwndFrame; 27 33 HMODULE hMod; 28 PFN pfnInput;29 34 30 35 void EXPENTRY InitDLL (HAB hab, HWND hwnd) … … 32 37 habDLL = hab; 33 38 hwndFrame = hwnd; 34 DosLoadModule (NULL, 0, "GOTCHA", &hMod); 35 DosQueryProcAddr (hMod, 0, "InputProc", &pfnInput); 39 DosLoadModule (NULL, 0, "GOTCHDLL", &hMod); 40 } 41 42 BOOL EXPENTRY InputProc (HAB hab, PQMSG pqmsg, ULONG ul) 43 { 44 USHORT usFlags; 45 USHORT usScan; 46 47 if (pqmsg->msg != WM_CHAR 48 || (usFlags = SHORT1FROMMP(pqmsg->mp1), usScan = 49 SHORT2FROMMP (pqmsg->mp2), (usFlags & KC_SCANCODE)) == 0){ 50 return FALSE; 51 } 52 53 if (CHAR4FROMMP(pqmsg->mp1) == 0x54 ) { 54 if (usFlags & KC_KEYUP) { 55 WinPostMsg (hwndFrame, WM_COMMAND, 56 MPFROM2SHORT (WID_PB_SETTINGS,0), 0); 57 /*DosBeep( 1000, 10 ); 58 DosBeep( 2000, 20 ); 59 DosBeep( 3000, 30 ); */ 60 return TRUE; 61 } else { 62 /* DosBeep( 3000, 30 ); 63 DosBeep( 2000, 20 ); 64 DosBeep( 1000, 10 );*/ 65 return TRUE; 66 } 67 } 68 else if (usScan == VK_PRINTSCRN || CHAR4FROMMP(pqmsg->mp1) == 93 ) { 69 if (usFlags & KC_KEYUP) { 70 WinPostMsg (hwndFrame, WM_COMMAND, 71 MPFROM2SHORT (WID_PB_SETCAPTURETYPE,0), 0); 72 return TRUE; 73 } 74 75 } 76 return FALSE; 36 77 } 37 78 38 79 void EXPENTRY StartInputHook (void) 39 80 { 40 WinSetHook (habDLL, NULLHANDLE, HK_ INPUT, pfnInput, hMod);81 WinSetHook (habDLL, NULLHANDLE, HK_PREACCEL, (PFN) InputProc, hMod); 41 82 } 42 83 43 84 void EXPENTRY StopInputHook (void) 44 85 { 45 WinReleaseHook (habDLL, NULLHANDLE, HK_ INPUT, pfnInput, hMod);86 WinReleaseHook (habDLL, NULLHANDLE, HK_PREACCEL, (PFN) InputProc, hMod); 46 87 DosFreeModule (hMod); 47 }48 49 BOOL EXPENTRY InputProc (HAB hab, PQMSG pqmsg, ULONG ul)50 {51 if (pqmsg->msg == WM_CHAR) {52 if ((SHORT1FROMMP (pqmsg->mp1) & KC_VIRTUALKEY) &&53 (SHORT2FROMMP (pqmsg->mp2) == VK_PRINTSCRN)) {54 if (SHORT1FROMMP (pqmsg->mp1) & KC_KEYUP) {55 WinPostMsg (hwndFrame, WM_COMMAND,56 MPFROM2SHORT (WID_PB_SCREENREGION,0), 0);57 /*DosBeep( 1000, 10 );58 DosBeep( 2000, 20 );59 DosBeep( 3000, 30 ); */60 return TRUE;61 } else {62 /*DosBeep( 3000, 30 );63 DosBeep( 2000, 20 );64 DosBeep( 1000, 10 ); */65 return TRUE;66 }67 }68 }69 return FALSE;70 88 } 71 89 -
trunk/english/gotresen.rc
r21 r27 96 96 AUTOCHECKBOX "Hide ~Gotcha!", WID_CB_HIDEWINDOW, 10, 31, 48, 10 97 97 AUTOCHECKBOX "~Delayed capture", WID_CB_DELAYEDCAPTURE, 10, 21, 58, 10 98 PUSHBUTTON "~Help", HM_GENERAL_HELP, 104, 4, 88, 12 99 PUSHBUTTON "S~ettings", WID_PB_SETTINGS, 4, 4, 88, 12 98 PUSHBUTTON "~Help", HM_GENERAL_HELP, 151, 4, 45, 12 99 PUSHBUTTON "~About", WID_PB_ABOUT, 4, 4, 45, 12 100 PUSHBUTTON "C~lose", WID_PB_EXIT, 53, 4, 45, 12 101 PUSHBUTTON "S~ettings", WID_PB_SETTINGS, 102, 4, 45, 12 100 102 END 101 103 END … … 104 106 DLGTEMPLATE ID_DLG_ABOUT LOADONCALL MOVEABLE DISCARDABLE 105 107 BEGIN 106 DIALOG "About ""Gotcha!""", ID_DLG_ABOUT, 90, 56, 280, 80,108 DIALOG "About Gotcha!", ID_DLG_ABOUT, 90, 56, 200, 80, 107 109 WS_VISIBLE, FCF_SYSMENU | FCF_TITLEBAR 108 110 BEGIN 109 111 ICON 1, 1000, 8, 58, 21, 16, WS_GROUP 110 LTEXT PSZ_NAMEVERSION, WID_NIL, 42, 64, 202, 9112 LTEXT PSZ_NAMEVERSION, WID_NIL, 42, 64, 150, 9 111 113 PRESPARAMS PP_FOREGROUNDCOLOR, 0x00C80A0AL 112 LTEXT "Screen/window capture utility", WID_NIL, 42, 5 3, 202, 8113 LTEXT "Copyright (c) 1998-2007 Thorsten Thielen", WID_NIL, 42, 44,114 202, 8114 LTEXT "Screen/window capture utility", WID_NIL, 42, 56, 150, 8 115 LTEXT "Copyright (c) 1998-2007 Thorsten Thielen", WID_NIL, 116 42, 48, 150, 8 115 117 LTEXT "Copyright (c) 2018 The Netlabs Gotcha Group", WID_NIL, 116 42, 32, 202, 8 117 LTEXT "WWW: http://trac.netlabs.org/gotcha", WID_NIL, 42, 13, 232, 17, DT_WORDBREAK 118 42, 40, 150, 8 119 LTEXT "All rights Reserved", WID_NIL, 42, 32, 50, 8 120 LTEXT "WWW: http://trac.netlabs.org/gotcha", WID_NIL, 121 42, 24, 150, 8, DT_WORDBREAK 118 122 LTEXT "English translation: Thorsten Thielen", WID_NIL, 119 42, 4, 202, 8120 DEFPUSHBUTTON "Ok", WID_NIL, 8, 6, 22, 26123 42, 16, 150, 8 124 DEFPUSHBUTTON "Ok", WID_NIL, 79, 4, 42, 10 121 125 END 122 126 END … … 131 135 LTEXT "~Type", DID_FILTER_TXT, 4, 140, 46, 0, DT_VCENTER | DT_MNEMONIC 132 136 CONTROL "", DID_FILTER_CB, 56, 106, 240, 45, WC_COMBOBOX, 133 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP /*| 134 WS_VISIBLE*/ 137 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP 135 138 LTEXT "~Drives", DID_DRIVE_TXT, 4, 128, 34, 8, DT_MNEMONIC 136 139 CONTROL "", DID_DRIVE_CB, 4, 46, 34, 80, WC_COMBOBOX, 137 140 CBS_DROPDOWNLIST | WS_GROUP | WS_TABSTOP | 138 141 WS_VISIBLE 139 // LISTBOX DID_DRIVE_CB, 4, 46, 34, 80, LS_NOADJUSTPOS140 142 LTEXT "~Directories", DID_DIRECTORY_TXT, 44, 128, 122, 8, DT_MNEMONIC 141 143 LISTBOX DID_DIRECTORY_LB, 44, 46, 122, 80, LS_NOADJUSTPOS | LS_OWNERDRAW | LS_HORZSCROLL … … 154 156 DLGTEMPLATE ID_DLG_SETTINGS LOADONCALL MOVEABLE DISCARDABLE 155 157 BEGIN 156 DIALOG "Gotcha! settings", ID_DLG_SETTINGS, 104, 26, 2 80, 196, 0L,158 DIALOG "Gotcha! settings", ID_DLG_SETTINGS, 104, 26, 225, 156, 0L, 157 159 FCF_SYSMENU | FCF_TITLEBAR 158 160 BEGIN 159 NOTEBOOK WID_NB_SETTINGS, 5, 21, 2 70, 170, BKS_BACKPAGESTR |161 NOTEBOOK WID_NB_SETTINGS, 5, 21, 220, 130, BKS_BACKPAGESTR | 160 162 BKS_MAJORTABTOP | BKS_ROUNDEDTABS | 161 163 BKS_TABTEXTCENTER | BKS_SPIRALBIND | WS_GROUP | 162 164 BKS_TABBEDDIALOG 163 DEFPUSHBUTTON "~Ok", WID_PB_OK, 5, 4, 60, 14 164 PUSHBUTTON "~Undo", WID_PB_UNDO, 70, 4, 60, 14 165 PUSHBUTTON "~Help", WID_PB_HELP, 215, 4, 60, 14, BS_HELP | 165 DEFPUSHBUTTON "~Ok", WID_PB_OK, 6, 4, 50, 14 166 PUSHBUTTON "~Undo", WID_PB_UNDO, 61, 4, 50, 14 167 PUSHBUTTON "Defa~ult", WID_PB_UNDO, 116, 4, 50, 14 168 PUSHBUTTON "~Help", WID_PB_HELP, 171, 4, 50, 14, BS_HELP | 166 169 BS_NOPOINTERFOCUS 167 170 END 168 171 END 169 172 173 DLGTEMPLATE ID_DLG_SETTINGSPAGE0 LOADONCALL MOVEABLE DISCARDABLE 174 BEGIN 175 WINDOW "", FID_CLIENT, 0, 0, 200, 85, "thth.wc.gotcha.main", 176 FS_NOBYTEALIGN | NOT WS_VISIBLE 177 BEGIN 178 GROUPBOX "Save image to ...", WID_TEST, 4, 51, 90, 30, 179 PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 180 AUTORADIOBUTTON "~Clipboard", WID_RB_CLIPBOARD, 10, 63, 78, 10, WS_TABSTOP 181 PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 182 AUTORADIOBUTTON "~File", WID_RB_FILE, 10, 53, 78, 10, 183 WS_TABSTOP PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 184 GROUPBOX "Capture ...", WID_NIL, 100, 19, 96, 62, 185 PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 186 PUSHBUTTON "~Screen", WID_PB_SCREEN, 104, 59, 88, 12 187 PUSHBUTTON "Screen ~region", WID_PB_SCREENREGION, 104, 47, 88, 12 188 PUSHBUTTON "~Window", WID_PB_WINDOW, 104, 35, 88, 12 189 PUSHBUTTON "Window ~interior", WID_PB_WINDOWINTERIOR, 104, 23, 88, 12 190 GROUPBOX "Options", WID_NIL, 4, 19, 90, 30, 191 PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 192 AUTOCHECKBOX "Don'~t reshow", WID_CB_HIDEWINDOW, 10, 31, 78, 10 193 PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 194 AUTOCHECKBOX "~Delayed capture", WID_CB_DELAYEDCAPTURE, 10, 22, 78, 10, 195 PRESPARAMS PP_BACKGROUNDCOLOR, 0x00CCCCCCL 196 /*PUSHBUTTON "~Help", HM_GENERAL_HELP, 151, 4, 45, 12 */ 197 PUSHBUTTON "~About", WID_PB_ABOUT, 24, 4, 45, 12 198 PUSHBUTTON "C~lose", WID_PB_EXIT, 126, 4, 45, 12 199 /*PUSHBUTTON "S~ettings", WID_PB_SETTINGS, 102, 4, 45, 12 */ 200 END 201 END 202 170 203 DLGTEMPLATE ID_DLG_SETTINGSPAGE1 LOADONCALL MOVEABLE DISCARDABLE 171 204 BEGIN 172 DIALOG "", ID_DLG_SETTINGSPAGE1, 15, 15, 2 40, 120, NOT FS_DLGBORDER |205 DIALOG "", ID_DLG_SETTINGSPAGE1, 15, 15, 200, 120, NOT FS_DLGBORDER | 173 206 WS_VISIBLE 174 207 BEGIN 175 GROUPBOX "Save type", WID_NIL, 5, 5 3, 240, 72176 AUTORADIOBUTTON "~Prompt for filename", WID_RB_FSSPROMPT, 11, 105, 228, 10,208 GROUPBOX "Save type", WID_NIL, 5, 55, 195, 45 209 AUTORADIOBUTTON "~Prompt for filename", WID_RB_FSSPROMPT, 11, 81, 180, 10, 177 210 WS_TABSTOP | WS_GROUP 178 211 AUTORADIOBUTTON "~Autosave to numbered files in directory ...", WID_RB_FSSNUMFILES, 179 11, 95, 228, 10, WS_TABSTOP 180 AUTORADIOBUTTON "~Force saving to file ...", WID_RB_FSSFORCEFILE, 11, 71, 228, 10, 181 WS_TABSTOP 182 ENTRYFIELD "", WID_E_NUMSAVEDIR, 27, 85, 210, 8, ES_MARGIN 183 ENTRYFIELD "", WID_E_FORCESAVEFILE, 27, 61, 210, 8, ES_MARGIN 184 GROUPBOX "Image file ~format", WID_NIL, 5, 5, 240, 44, DT_MNEMONIC 185 LISTBOX WID_LB_FILEFORMAT, 11, 9, 228, 30, LS_NOADJUSTPOS 186 212 11, 71, 180, 10, WS_TABSTOP 213 /*AUTORADIOBUTTON "~Force saving to file ...", WID_RB_FSSFORCEFILE, 11, 80, 228, 10, 214 WS_TABSTOP*/ 215 ENTRYFIELD "", WID_E_NUMSAVEDIR, 10, 61, 180, 8, ES_MARGIN 216 /*ENTRYFIELD "", WID_E_FORCESAVEFILE, 27, 72, 210, 8, ES_MARGIN*/ 217 CONTROL "", WID_LB_FILEFORMAT, 10, 10, 180, 30, WC_COMBOBOX, 218 CBS_DROPDOWNLIST | WS_VISIBLE | WS_TABSTOP 219 GROUPBOX "Image file format", WID_NIL, 5, 18, 195, 38, DT_MNEMONIC 220 GROUPBOX "Other options", WID_NIL, 5, 1, 195, 17 221 AUTOCHECKBOX "Use s~ound when capture finished", WID_CB_DOSOUND, 222 11, 4, 180, 8 187 223 END 188 224 END … … 193 229 WS_VISIBLE 194 230 BEGIN 195 AUTOCHECKBOX "~Enable snapshot window", WID_CB_SSWENABLE, 13, 115, 204, 10 196 GROUPBOX "Capture type", WID_NIL, 5, 59, 220, 54 197 AUTORADIOBUTTON "~Screen", WID_SSWSCREEN, 13, 93, 204, 10, WS_TABSTOP 198 AUTORADIOBUTTON "Screen ~region", WID_SSWSCREENREGION, 13, 83, 204, 10, WS_TABSTOP 199 AUTORADIOBUTTON "~Window", WID_SSWWINDOW, 13, 73, 204, 10, WS_TABSTOP 200 AUTORADIOBUTTON "Window ~interior", WID_SSWWINDOWINT, 13, 63, 204, 10, WS_TABSTOP 201 GROUPBOX "Options", WID_NIL, 5, 5, 220, 50 202 AUTOCHECKBOX "Always on ~top of all windows", WID_CB_SSWALWAYSONTOP, 13, 35, 204, 10 203 AUTOCHECKBOX "Hide ~Gotcha during capture", WID_CB_SSWHIDE, 13, 25, 204, 10 231 /*AUTOCHECKBOX "~Enable snapshot window", WID_CB_SSWENABLE, 232 13, 115, 204, 10*/ 233 GROUPBOX "Capture type", WID_NIL, 5, 69, 195, 30 234 AUTORADIOBUTTON "~Screen", WID_SSWSCREEN, 13, 83, 80, 10, WS_TABSTOP 235 AUTORADIOBUTTON "Screen ~region", WID_SSWSCREENREGION, 236 96, 83, 94, 10, WS_TABSTOP 237 AUTORADIOBUTTON "~Window", WID_SSWWINDOW, 13, 73, 80, 10, WS_TABSTOP 238 AUTORADIOBUTTON "Window ~interior", WID_SSWWINDOWINT, 239 96, 73, 94, 10, WS_TABSTOP 240 GROUPBOX "Delayed capture", WID_NIL, 5, 35, 195, 31 241 AUTOCHECKBOX "Countdown timer with ~beeps", WID_CB_DELAYCOUNTDOWN, 11, 50, 180, 10 242 RTEXT "Capture ~delay:", WID_NIL, 11, 41, 66, 8, DT_MNEMONIC 243 SPINBUTTON WID_SB_DELAYTIME, 81, 41, 44, 12, SPBS_MASTER | WS_GROUP 244 LTEXT "second(s)", WID_NIL, 129, 41, 52, 8 245 GROUPBOX "Serial capture", WID_NIL, 5, 4, 195, 30 246 AUTOCHECKBOX "Use seria~l capture", WID_CB_SERIALCAPTURE, 11, 15, 180, 10 247 RTEXT "Do a capture ~every", WID_NIL, 11, 6, 66, 8 248 SPINBUTTON WID_SB_SERIALTIME, 81, 6, 44, 12, SPBS_MASTER | WS_GROUP 249 LTEXT "second(s)/20", WID_NIL, 129, 6, 52, 8 250 /*GROUPBOX "Options", WID_NIL, 5, 5, 220, 50 251 AUTOCHECKBOX "Always on ~top of all windows", WID_CB_SSWALWAYSONTOP, 252 13, 35, 204, 10 253 AUTOCHECKBOX "Hide ~Gotcha during capture", WID_CB_SSWHIDE, 254 13, 25, 204, 10*/ 204 255 END 205 256 END … … 217 268 GROUPBOX "Serial capture", WID_NIL, 5, 51, 220, 36 218 269 AUTOCHECKBOX "Use ~serial capture", WID_CB_SERIALCAPTURE, 11, 67, 208, 10 219 RTEXT "Do a capture every", WID_NIL, 11, 57, 106, 8270 RTEXT "Do a capture ~every", WID_NIL, 11, 57, 106, 8 220 271 SPINBUTTON WID_SB_SERIALTIME, 121, 57, 44, 12, SPBS_MASTER | WS_GROUP 221 272 LTEXT "second(s)/20", WID_NIL, 169, 57, 52, 8 … … 223 274 AUTOCHECKBOX "Use s~ound when capture finished", WID_CB_DOSOUND, 11, 27, 208, 224 275 10 225 AUTOCHECKBOX "Run Gotcha! at idle ~priority", WID_CB_IDLEPRIORITY, 11, 17, 208,226 1 0276 /*AUTOCHECKBOX "Run Gotcha! at idle ~priority", WID_CB_IDLEPRIORITY, 277 11, 17, 208, 10 */ 227 278 END 228 279 END … … 233 284 WS_VISIBLE 234 285 BEGIN 235 GROUPBOX "Program", WID_NIL, 5, 62, 119, 54 236 LISTBOX WID_LB_LANGUAGES, 11, 66, 106, 40, LS_NOADJUSTPOS 237 GROUPBOX "Online help", WID_NIL, 5, 5, 119, 54 238 LISTBOX WID_LB_LANGUAGESHELP, 11, 9, 106, 40, LS_NOADJUSTPOS 239 CONTROL 4, WID_NIL, 130, 5, 84, 36, WC_STATIC, SS_BITMAP | 240 WS_GROUP | WS_VISIBLE 241 LTEXT "Note: This settings will take effect for the first " 242 "time at the next start of the program.", 243 WID_ST_LANGNOTE, 130, 45, 114, 70, 244 DT_WORDBREAK 286 GROUPBOX "Program", WID_NIL, 5, 5, 95, 54 287 LISTBOX WID_LB_LANGUAGES, 9, 11, 90, 40, LS_NOADJUSTPOS 288 GROUPBOX "Online help", WID_NIL, 103, 5, 95, 54 289 LISTBOX WID_LB_LANGUAGESHELP, 106, 11, 90, 40, LS_NOADJUSTPOS 290 /*CONTROL 4, WID_NIL, 130, 5, 84, 36, WC_STATIC, SS_BITMAP | 291 WS_GROUP | WS_VISIBLE */ 292 LTEXT "Note: A restart is required for these settings to take effect", 293 WID_ST_LANGNOTE, 5, 58, 184, 8, DT_WORDBREAK 245 294 END 246 295 END … … 266 315 IDS_ERROR_COULDNOTINITHELPFILE "Could not initialize online help. Does helpfile '%s' exist in Minta's directory?" 267 316 317 IDS_MAINWIN "Gotcha Main" 268 318 IDS_PAGESAVE "Saving" 269 319 IDS_PAGESNAPSHOT "Snapshot" -
trunk/gotcha.cpp
r13 r27 34 34 PFNWP OldFrameWP, wpOldButton; 35 35 PSETTINGS pset; 36 BOOL g_fQuiet = FALSE ;36 BOOL g_fQuiet = FALSE, g_fIdle = FALSE, g_fSetPathName = FALSE; 37 37 HWND g_hwndMenuSSW; 38 38 HMODULE g_hmod = NULLHANDLE; … … 44 44 #include "savebmp.cpp" 45 45 46 // ** CheckCmdlineArgs **************************************************** /* fold00*/46 // ** CheckCmdlineArgs **************************************************** /*FOLD00*/ 47 47 48 48 BOOL CheckCmdlineArgs (int argc, char *argv[]) … … 72 72 pset->SetFileSaveStyle (FSS_NUMFILES); 73 73 pset->SetNumSaveDir (argv[i]); 74 g_fSetPathName = TRUE; 74 75 } 75 76 } … … 82 83 pset->SetFileSaveStyle (FSS_FORCEFILE); 83 84 pset->SetForceSaveFile (argv[i]); 85 g_fSetPathName = TRUE; 84 86 } 85 87 } … … 87 89 else if (stricmp (argv[i], "-i") == 0) 88 90 { 91 g_fIdle = TRUE; 89 92 pset->SetFlag (SEI_IDLEPRIORITY, TRUE); 90 93 } … … 111 114 112 115 //DisplayError("DEBUG", "%d", Version()); 113 #ifdef _USEDLL_114 if ( g_fQuiet &&(Version() < 1))116 //#ifdef _USEDLL_ //_QUIET_ 117 if ((Version() < 1)) 115 118 { 116 119 DisplayError("GOTCHA.DLL TO OLD", … … 123 126 exit (0); 124 127 } 125 #endif 128 bool fPrtScr = FALSE; 129 ULONG ulDataSize; 130 int rc; 131 132 rc = PrfQueryProfileSize( HINI_PROFILE, "PM_ControlPanel", "PrintScreen", 133 &ulDataSize ); 134 rc = PrfQueryProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen", 135 &fPrtScr, &ulDataSize); 136 if (fPrtScr || !rc) { 137 fPrtScr = TRUE; 138 bool temp = FALSE; 139 rc = PrfWriteProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen", 140 &temp, sizeof(bool)); 141 } 142 //#endif 126 143 127 144 // register our window classes … … 134 151 pset = new SETTINGS; 135 152 153 pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY); 154 pset->saveStyle = pset->QuerySaveStyle (); 155 pset->pNumSaveDir = pset->QueryNumSaveDir (); 156 pset->pForceSaveFile = pset->QueryForceSaveFile(); 157 pset->bSerialCapture = pset->SerialCapture (); 136 158 // check cmd line args and if "-a" found take screenshot and exit 137 159 if (CheckCmdlineArgs (argc, argv)) 138 160 { 139 161 CaptureWindow (HWND_DESKTOP, HWND_DESKTOP, NULL, TRUE); 162 pset->SetFileSaveStyle(pset->saveStyle); 140 163 delete pset; 141 164 WinDestroyMsgQueue (hmq); … … 159 182 160 183 // init the quiet mode 161 if (g_fQuiet)162 {163 #ifdef _USEDLL_ 184 //if (g_fQuiet) 185 //{ 186 #ifdef _USEDLL_ //_QUIET_ 164 187 InitDLL (hab, hwndFrame); 165 188 StartInputHook (); 166 189 #endif 167 190 168 CHAR ach[61]; 169 WinQueryWindowText (hwndFrame, sizeof (ach), ach); 170 strcat (ach, RSTR (IDS_QUIETMODE)); 171 WinSetWindowText (hwndFrame, ach); 172 WinSetWindowPos (hwndFrame, NULLHANDLE, 0,0, 0,0, SWP_MINIMIZE); 173 } 191 //CHAR ach[61]; 192 //WinQueryWindowText (hwndFrame, sizeof (ach), ach); 193 //strcat (ach, RSTR (IDS_QUIETMODE)); 194 //WinSetWindowText (hwndFrame, ach); 195 //WinSetWindowPos (hwndFrame, NULLHANDLE, 0,0, 0,0, SWP_MINIMIZE); 196 //HSWITCH hswitch = WinQuerySwitchHandle(hwndFrame, 0); 197 //WinRemoveSwitchEntry(hswitch); 198 //} 174 199 175 200 // position snapshot window … … 196 221 WinDispatchMsg (hab, &qmsg); 197 222 223 224 // Set priorty to unless user set regular since running -q sets it to idle in the ini 225 if (g_fIdle || g_fQuiet) { 226 pset->SetFlag (SEI_IDLEPRIORITY, pset->idleSetInIni); 227 if (g_fQuiet) { 228 pset->SetFileSaveStyle (pset->saveStyle); // changed with -q 229 pset->SerialCapture (pset->bSerialCapture); // changed with -q 230 } 231 } 232 // Don't change the ini stored paths if the paths were set from the command line 233 if (g_fSetPathName) { 234 pset->SetFileSaveStyle(pset->saveStyle); 235 pset->SetForceSaveFile (pset->pForceSaveFile); 236 pset->SetNumSaveDir (pset->pNumSaveDir); 237 } 198 238 // save size, etc. of snapshot window 199 239 WinQueryWindowPos (hwndSnapshot, &swp); … … 208 248 WinDestroyWindow (hwndFrame); 209 249 210 #ifdef _USEDLL_ 211 if (g_fQuiet) 250 #ifdef _USEDLL_ //_QUIET_ 251 if (fPrtScr || !rc) { 252 PrfWriteProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen", 253 &fPrtScr, sizeof(bool)); 254 } 255 //if (g_fQuiet) 212 256 StopInputHook (); 213 257 #endif … … 242 286 } 243 287 244 // ** AddSysMenuItem ****************************************************** /*fold00*/ 288 APIRET saymsg2(int DefaultButton, HWND hwnd, PCSZ pszTitle, PCSZ pszFmt, ...) 289 { 290 ULONG i; 291 APIRET rc; 292 CHAR szMsg[4096]; 293 va_list va; 294 MB2INFO *pmbInfo; 295 MB2D mb2dBut[3]; 296 ULONG ulInfoSize = (sizeof(MB2INFO) + (sizeof(MB2D) * 2)); 297 298 va_start(va, pszFmt); 299 szMsg[sizeof(szMsg) - 1] = 0; 300 vsprintf(szMsg, pszFmt, va); 301 va_end(va); 302 303 if (szMsg[sizeof(szMsg) - 1]) { 304 fprintf(stderr, "Buffer overflow in saymsg2 - need %u bytes\n", strlen(szMsg) + 1); 305 fflush(stderr); 306 } 307 308 memset(mb2dBut, 0, sizeof(MB2D) * 3); 309 strcpy(mb2dBut[0].achText,"Ok"); 310 strcpy(mb2dBut[1].achText,"Cancel"); 311 strcpy(mb2dBut[2].achText,"Settings"); 312 mb2dBut[0].idButton = 1; 313 mb2dBut[1].idButton = 2; 314 mb2dBut[2].idButton = 3; 315 if (DefaultButton) 316 mb2dBut[DefaultButton - 1].flStyle = BS_DEFAULT; 317 pmbInfo = (MB2INFO *) malloc(ulInfoSize); 318 memset(pmbInfo, 0, ulInfoSize); 319 if (pmbInfo) { 320 pmbInfo->cb = ulInfoSize; 321 pmbInfo->hIcon = 0; 322 pmbInfo->cButtons = 3; 323 pmbInfo->flStyle = MB_MOVEABLE | MB_ICONQUESTION ; 324 pmbInfo->hwndNotify = NULLHANDLE; 325 for (i = 0; i < 3; i++) { 326 memcpy( pmbInfo->mb2d+i , mb2dBut+i , sizeof(MB2D)); 327 } 328 rc = WinMessageBox2(HWND_DESKTOP, hwnd, 329 szMsg, pszTitle, SM2_DIALOG, 330 pmbInfo); 331 WinSetFocus(HWND_DESKTOP, SM2_DIALOG); 332 free(pmbInfo); 333 return rc; 334 } 335 return MBID_ERROR; 336 } 337 // ** AddSysMenuItem ****************************************************** /*FOLD00*/ 245 338 246 339 VOID AddSysMenuItem (HWND hwndFrame, MENUITEM *Item, PSZ Text) … … 273 366 VOID SetIdlePriority (BOOL f) 274 367 { 368 #if 0 //#ifndef _QUEIT_ 275 369 if (f) 276 370 DosSetPriority(PRTYS_PROCESS, PRTYC_IDLETIME, 0, 0); 277 371 else 278 372 DosSetPriority(PRTYS_PROCESS, PRTYC_REGULAR, 0, 0); 373 #else 374 DosSetPriority(PRTYS_PROCESS, PRTYC_FOREGROUNDSERVER, 0, 0); 375 #endif 279 376 } 280 377 -
trunk/gotcha.h
r10 r27 39 39 #include <stdarg.h> 40 40 41 #include "mmioos2.h"42 43 41 #include "config.h" 44 42 … … 48 46 #include "helper.h" 49 47 #include "settings.h" 48 49 #define _PMPRINTF_ 50 #include "PMPRINTF.H" 50 51 51 52 #define PSZ_EXTENSION ".bmp" … … 69 70 70 71 extern PSETTINGS pset; 71 extern HWND hwndFrame, hwndSnapshot, g_hwndMenuSSW ;72 extern HWND hwndFrame, hwndSnapshot, g_hwndMenuSSW, g_hwndSettingsDialog, g_hwndPage0; 72 73 73 74 extern HMODULE g_hmod; … … 84 85 85 86 HBITMAP CaptureWindow (HWND hwnd, HWND hwndParent, PRECTL prcl, BOOL f); 86 VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, int bitCount); 87 VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, 88 int bitCount, char *title); 87 89 VOID SaveBitmapToClipboard (HBITMAP hbm); 88 VOID SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps);90 //VOID SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps); 89 91 VOID StartSelection (HWND hwnd); 90 BOOL SelectSaveFile ( VOID);92 BOOL SelectSaveFile (char *title); 91 93 BOOL DoTracking (RECTL *prclTrack); 92 94 VOID AddSysMenuItem (HWND hwndFrame, MENUITEM *Item, PSZ Text); … … 109 111 110 112 VOID DisplayError (PSZ pszTitle, PSZ psz, ...); 113 APIRET saymsg2(int DefaultButton, HWND hwnd, 114 PCSZ pszTitle, PCSZ pszFmt, ...); 111 115 VOID DoCountdown (ULONG ul); 112 116 VOID AdjustSaveTypeButtons (BOOL f); 113 117 114 BOOL SetEAs (PSZ psz);118 //BOOL SetEAs (PSZ psz); 115 119 VOID SetIdlePriority (BOOL f); 116 120 -
trunk/id.h
r21 r27 28 28 #define ID_DLG_SETTINGSPAGE3 6 29 29 #define ID_DLG_SETTINGSPAGE4 7 30 #define SM2_DIALOG 8 31 #define ID_DLG_SETTINGSPAGE0 9 30 32 31 33 #define WID_NIL 0 … … 74 76 #define WID_LB_FILEFORMAT 43 75 77 #define WID_PB_EXIT 44 78 #define WID_PB_SETCAPTURETYPE 45 76 79 77 80 #define IDM_SSWPOPUP 1 … … 160 163 #define IDS_SNAPLABEL 34 161 164 #define IDS_GENERALHELP 35 165 #define IDS_MAINWIN 36 162 166 163 167 #define MAIN_HELP_TABLE 1 -
trunk/mainwin.cpp
r10 r27 22 22 HWND CreateMainWindow (VOID) 23 23 { 24 //#ifdef _QUIET_ 25 #if 1 26 hwndFrame = WinLoadDlg (HWND_OBJECT, NULLHANDLE, NULL, GETMODULE, 27 ID_DLG_MAIN, NULL); 28 #else 24 29 hwndFrame = WinLoadDlg (HWND_DESKTOP, NULLHANDLE, NULL, GETMODULE, 25 30 ID_DLG_MAIN, NULL); 31 #endif 26 32 OldFrameWP = WinSubclassWindow (hwndFrame, FrameProcedure); 27 33 … … 70 76 } 71 77 72 // ** Drag **************************************************************** /* fold00*/78 // ** Drag **************************************************************** /*FOLD00*/ 73 79 74 80 VOID Drag (HWND hwnd) … … 110 116 } 111 117 112 // ** FrameProcedure ****************************************************** /* fold00*/118 // ** FrameProcedure ****************************************************** /*FOLD00*/ 113 119 114 120 MRESULT EXPENTRY FrameProcedure (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) … … 270 276 271 277 case WID_PB_SETTINGS: 278 _DebugHereIAm(); 272 279 pset->Dialog (); 280 break; 281 282 case WID_PB_SETCAPTURETYPE: 283 //int capType; 284 285 switch (pset->QuerySSWCaptureType ()) 286 { 287 case CAP_WINDOWINT: 288 WinSendMsg (hwndFrame, WM_COMMAND, 289 MPFROM2SHORT (WID_PB_WINDOWINTERIOR,0), 0); 290 case CAP_SCREENREGION: 291 WinSendMsg (hwndFrame, WM_COMMAND, 292 MPFROM2SHORT (WID_PB_SCREENREGION,0), 0); 293 case CAP_WINDOW: 294 WinSendMsg (hwndFrame, WM_COMMAND, 295 MPFROM2SHORT (WID_PB_WINDOW,0), 0); 296 default: 297 WinSendMsg (hwndFrame, WM_COMMAND, 298 MPFROM2SHORT (WID_PB_SCREEN,0), 0); 299 } 273 300 break; 274 301 275 302 case WID_PB_SCREEN: 276 303 usCap = CAP_SCREEN; 304 //#ifdef _Quiet_ 305 #if 1 306 WinShowWindow (g_hwndSettingsDialog, FALSE); 307 // WinSendMsg (g_hwndSettingsDialog, WM_CLOSE, 0,0); //Needs to go to the setting dialog 308 // Replace current global with pset->GetSettingDialogHwnd () or such 309 // Need for all 4 cases; 310 #endif 277 311 WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0); 278 312 break; … … 280 314 case WID_PB_SCREENREGION: 281 315 usCap = CAP_SCREENREGION; 316 //#ifdef _Quiet_ 317 #if 1 318 WinShowWindow (g_hwndSettingsDialog, FALSE); 319 #endif 282 320 WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0); 283 321 break; … … 285 323 case WID_PB_WINDOWINTERIOR: 286 324 usCap = CAP_WINDOWINT; 325 //#ifdef _Quiet_ 326 #if 1 327 WinShowWindow (g_hwndSettingsDialog, FALSE); 328 #endif 287 329 WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0); 288 330 break; … … 290 332 case WID_PB_WINDOW: 291 333 usCap = CAP_WINDOW; 334 //#ifdef _Quiet_ 335 #if 1 336 WinShowWindow (g_hwndSettingsDialog, FALSE); 337 #endif 292 338 WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0); 293 339 break; … … 314 360 315 361 usState = STATE_WAITFORHIDE; 362 363 if (usCap == CAP_SCREENREGION || usCap == CAP_SCREEN) 364 hwndParent = WinQueryFocus(HWND_DESKTOP); 365 //#ifndef _QUIET_ 366 #if 0 316 367 if (WinQueryButtonCheckstate (hwnd, WID_CB_HIDEWINDOW)) 317 368 WinShowWindow (WinQueryWindow (hwnd, QW_PARENT), FALSE); 318 369 else 370 #endif 319 371 WinSendMsg (hwnd, UM_WINDOWHIDDEN, 0,0); 320 372 return MRESULT (FALSE); … … 346 398 { 347 399 usState = STATE_WINDOWSELECTED; 348 WinPostMsg (hwnd, UM_WINDOWSELECTED, 349 MPFROMHWND (HWND_DESKTOP), 350 MPFROMHWND (HWND_DESKTOP)); 400 int rc = saymsg2(1, hwnd, "Capture", "Do you wish to continue?"); 401 _DebugHereIAm(); 402 if (rc == 1) 403 WinPostMsg (hwnd, UM_WINDOWSELECTED, 404 MPFROMHWND (HWND_DESKTOP), 405 MPFROMHWND (HWND_DESKTOP)); 406 if (rc == 2) 407 WinSendMsg (hwnd, UM_ABORT, 0,0); 408 if (rc == 3) { 409 pset->Dialog (); 410 WinPostMsg (hwnd, UM_WINDOWSELECTED, 411 MPFROMHWND (HWND_DESKTOP), 412 MPFROMHWND (HWND_DESKTOP)); 413 } 351 414 } 352 415 else … … 417 480 FALSE)); 418 481 hwndCap = HWND (mp1); 419 hwndParent = HWND (mp2); 482 if (usCap != CAP_SCREENREGION && usCap != CAP_SCREEN) 483 hwndParent = HWND (mp2); 420 484 if (pset->SerialCapture ()) 421 485 { … … 478 542 // capture the window to a bitmap and save this 479 543 if (usCap == CAP_SCREENREGION) 480 hbm = CaptureWindow (hwndCap, hwndParent, &rcl, TRUE); 544 hbm = CaptureWindow (hwndCap, hwndParent, &rcl, FALSE); 545 else if (usCap == CAP_SCREEN) 546 hbm = CaptureWindow (hwndCap, hwndParent, NULL, FALSE); 481 547 else 482 548 hbm = CaptureWindow (hwndCap, hwndParent, NULL, TRUE); … … 512 578 WinSetCapture (HWND_DESKTOP, NULLHANDLE); 513 579 580 pset->Load (); 581 514 582 WinSendMsg (hwndSnapshot, UM_STOPCAPTURE, 0,0); 515 583 WinStopTimer (hab, hwnd, ulTimer); 516 584 //#ifdef _QUIET_ 585 #if 1 586 // ? FIXME to give option to reshow window. 587 if (WinQueryButtonCheckstate (hwnd, WID_CB_HIDEWINDOW)) 588 WinSendMsg (g_hwndSettingsDialog, WM_CLOSE, 0,0); 589 else if (WinIsWindow ( hab, g_hwndSettingsDialog) && 590 ! WinIsWindowVisible (g_hwndSettingsDialog)) 591 WinShowWindow (g_hwndSettingsDialog, TRUE); 592 pset->HideWindow (TRUE); 593 #else 517 594 // re-show the windows if they are hidden 518 595 // FIXME using global hwndFrame is pretty yukki … … 521 598 if (! WinIsWindowVisible (hwndSnapshot) && pset->SnapshotWindow ()) 522 599 WinShowWindow (hwndSnapshot, TRUE); 523 600 #endif 524 601 WinEnableWindow (hwnd, TRUE); 525 602 WinSetActiveWindow (HWND_DESKTOP, hwnd); -
trunk/savebmp.cpp
r11 r27 24 24 #include "model.h" 25 25 26 #define __PMPRINTF__27 #include "PMPRINTF.H"28 29 26 /* ------------------------------ */ 30 27 static int StrideOf(const MOD *mod) 31 28 { 32 DebugHereIAm();33 29 return ( ( mod->gbm.w * mod->gbm.bpp + 31 ) / 32 ) * 4; 34 30 } … … 41 37 if ( (mod->pbData = (UCHAR*) gbmmem_malloc(stride * mod->gbm.h)) == NULL ) 42 38 return FALSE; 43 DebugHereIAm();44 39 return TRUE; 45 40 } … … 59 54 if ( !AllocateData(modNew) ) 60 55 return MOD_ERR_MEM; 61 DebugHereIAm();62 56 return MOD_ERR_OK; 63 57 } … … 85 79 86 80 if ( (mrc = ModCreate(w, h, bpp, NULL, modNew)) != MOD_ERR_OK ) 87 88 DebugHereIAm(); 81 return mrc; 82 89 83 memset(&(bm.bmp2), 0, sizeof(bm.bmp2)); 90 84 bm.bmp2.cbFix = sizeof(BITMAPINFOHEADER2); … … 105 99 } 106 100 } 107 DebugHereIAm();108 101 return MOD_ERR_OK; 109 102 } … … 127 120 return grc; 128 121 } 129 PmpfF(( "file type %i", ft ));130 DebugHereIAm();131 122 gbm_query_filetype(ft, &gbmft); 132 PmpfF(( "file type %i name %s flags %i bpp %i", ft, gbmft.short_name, 133 gbmft.flags, mod->gbm.bpp)); 123 134 124 switch ( mod->gbm.bpp ) 135 125 { … … 143 133 if ( (gbmft.flags & flag) == 0 ) 144 134 return MOD_ERR_SUPPORT; 145 DebugHereIAm();135 146 136 if ( (fd = gbm_io_create(szFn, GBM_O_WRONLY)) == -1 ) 147 137 return MOD_ERR_CREATE; 148 DebugHereIAm(); 149 if ( (grc = gbm_write(szFn, fd, ft, &(mod->gbm), mod->gbmrgb, mod->pbData, szOpt)) != GBM_ERR_OK ) 138 139 if ( (grc = gbm_write(szFn, fd, ft, &(mod->gbm), mod->gbmrgb, 140 mod->pbData, szOpt)) != GBM_ERR_OK ) 150 141 { 151 142 gbm_io_close(fd); … … 153 144 return MOD_ERR_GBM(grc); 154 145 } 155 DebugHereIAm();146 156 147 gbm_io_close(fd); 157 DebugHereIAm();158 148 return MOD_ERR_OK; 159 149 } … … 161 151 // ** SaveBitmap ********************************************************** /*FOLD00*/ 162 152 163 VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, int bitCount) 153 VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, 154 int bitCount, char *title) 164 155 { 165 156 #ifdef _DOLOGMEM_ … … 172 163 PSZ psz = pset->QueryForceSaveFile(); 173 164 psz = AddExtensionToFilename( psz ); 174 // 175 /*if( ( pset->QueryFileFormat() == BMF_12 ) || 176 ( pset->QueryFileFormat() == BMF_16 ) || 177 ( pset->QueryFileFormat() == BMF_20 ) ) { 178 SaveBitmapToFile( hbm, psz, hps ); 179 DebugHereIAm(); 180 } 181 else { */ 165 ModCreateFromHPS( hps, width, height, 166 (bitCount > 8 ) ? 24 : bitCount, 167 &newmod ); 168 ModWriteToFile(&newmod, psz, "" ); 169 170 #ifdef _DOLOGMEM_ 171 LogMem( "SaveBitmap-1", FALSE ); 172 #endif 173 return; 174 } 175 176 if (pset->DoSound ()) 177 { 178 DosBeep ( 500, 100); 179 DosBeep (1000, 100); 180 DosBeep (1500, 100); 181 } 182 183 switch (pset->QuerySaveStyle ()) 184 { 185 case SAVESTYLE_CLIPBOARD: 186 SaveBitmapToClipboard (hbm); 187 break; 188 189 default: 190 #ifdef _DOLOGDEBUG_ 191 LogDebug( "SaveBitmap()" ); 192 #endif 193 if (SelectSaveFile (title)) { 194 #ifdef _DOLOGDEBUG_ 195 LogDebug( "Before call to SaveBitmapToFile()" ); 196 #endif 182 197 ModCreateFromHPS( hps, width, height, 183 198 (bitCount > 8 ) ? 24 : bitCount, 184 199 &newmod ); 185 ModWriteToFile(&newmod, psz, "" ); 186 //} 187 #ifdef _DOLOGMEM_ 188 LogMem( "SaveBitmap-1", FALSE ); 189 #endif 190 return; 191 } 192 193 if (pset->DoSound ()) 194 { 195 DosBeep ( 500, 100); 196 DosBeep (1000, 100); 197 DosBeep (1500, 100); 198 } 199 200 switch (pset->QuerySaveStyle ()) 201 { 202 case SAVESTYLE_CLIPBOARD: 203 SaveBitmapToClipboard (hbm); 204 break; 205 206 default: 207 #ifdef _DOLOGDEBUG_ 208 LogDebug( "SaveBitmap()" ); 209 #endif 210 if (SelectSaveFile ()) { 211 #ifdef _DOLOGDEBUG_ 212 LogDebug( "Before call to SaveBitmapToFile()" ); 213 #endif 214 //DebugHereIAm(); 215 /*if( ( pset->QueryFileFormat() == BMF_12 ) || 216 ( pset->QueryFileFormat() == BMF_16 ) || 217 ( pset->QueryFileFormat() == BMF_20 ) ) { 218 DebugHereIAm(); 219 SaveBitmapToFile( hbm, pset->QuerySaveFile (), hps ); 220 DebugHereIAm(); 221 } 222 else {*/ 223 ModCreateFromHPS( hps, width, height, 224 (bitCount > 8 ) ? 24 : bitCount, 225 &newmod ); 226 ModWriteToFile(&newmod, pset->QuerySaveFile (), "" ); 227 //} 200 ModWriteToFile(&newmod, pset->QuerySaveFile (), "" ); 201 228 202 #ifdef _DOLOGDEBUG_ 229 203 LogDebug( "After call to SaveBitmapToFile()" ); … … 256 230 257 231 // ** SaveBitmapToFile **************************************************** /*FOLD00*/ 258 232 #if 0 259 233 #define CB_12HEADER sizeof (BITMAPINFOHEADER) // == 12 260 234 #define CB_16HEADER (sizeof (BITMAPINFOHEADER2)-24) 261 235 #define CB_20HEADER sizeof (BITMAPINFOHEADER2) // == 64 262 236 263 #if 0 237 264 238 VOID SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps) 265 239 { … … 442 416 } 443 417 444 /*else {445 #ifdef _DOLOGDEBUG_446 LogDebug( "SaveBitmapToFile(): Starting 'else' path." );447 #endif448 PFN xmmioClose = pset->GetMMIO()->pfmmioClose;449 // PFN xmmioOpen = pset->GetMMIO()->pfmmioOpen;450 PFN xmmioWrite = pset->GetMMIO()->pfmmioWrite;451 PFN xmmioQueryHeaderLength = pset->GetMMIO()->pfmmioQueryHeaderLength;452 PFN xmmioSetHeader = pset->GetMMIO()->pfmmioSetHeader;453 454 #ifdef _DOLOGDEBUG_455 LogDebug( "SaveBitmapToFile(): Before GetFOURCC." );456 #endif457 // ********* WRITE TARGET458 FOURCC fccTargetIOProc = pset->GetFOURCC();459 460 // Initialize our info MMIOINFO structure.461 MMIOINFO mmioinfoTarget;462 #ifdef _DOLOGDEBUG_463 LogDebug( "SaveBitmapToFile(): Before memset." );464 #endif465 memset( &mmioinfoTarget, 0L, sizeof( MMIOINFO ) );466 mmioinfoTarget.fccIOProc = fccTargetIOProc;467 mmioinfoTarget.ulTranslate = MMIO_TRANSLATEHEADER | MMIO_TRANSLATEDATA;468 469 #ifdef _DOLOGDEBUG_470 LogDebug( "SaveBitmapToFile(): Trying to open file." );471 #endif472 // Open target file.473 HMMIO hmmioTarget;474 if( ! ( hmmioTarget = mmioOpen( psz,475 &mmioinfoTarget,476 MMIO_CREATE | MMIO_WRITE |477 MMIO_DENYWRITE | MMIO_NOIDENTIFY ))) {478 DisplayError ("mmioOpen()-Error",479 "mmioOpen()-Error %ld", mmioinfoTarget.ulErrorRet );480 return;481 }482 #ifdef _DOLOGDEBUG_483 LogDebug( "SaveBitmapToFile(): Open file ok." );484 #endif485 486 // Set the target header.487 ULONG ulImageHeaderLength;488 489 mmioQueryHeaderLength( hmmioTarget, (PLONG)&ulImageHeaderLength, 0L, 0L );490 if( ulImageHeaderLength != sizeof( MMIMAGEHEADER ) )491 {492 // We have a problem.....possibly incompatible versions.493 mmioClose( hmmioTarget, 0L );494 DisplayError ("mmioQueryHeaderLength()-Error",495 "mmioQueryHeaderLength()-Error",496 WinGetLastError (hab));497 return;498 }499 #ifdef _DOLOGDEBUG_500 LogDebug( "SaveBitmapToFile(): xmmioQueryHeaderLength ok." );501 #endif502 503 MMIMAGEHEADER mmImgHdr;504 mmImgHdr.ulHeaderLength = ulImageHeaderLength;505 mmImgHdr.ulContentType = MMIO_IMAGE_UNKNOWN;506 mmImgHdr.ulMediaType = MMIO_MEDIATYPE_IMAGE;507 508 #ifdef _DOLOGDEBUG_509 LogDebug( "SaveBitmapToFile(): Before memcpy (colors)." );510 #endif511 memcpy( mmImgHdr.bmiColors,512 PBYTE( &( pbfh2->bmp2 ) ) + sizeof( BITMAPINFOHEADER2 ),513 cbColtab );514 515 mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulMemSize = cbBits; // FIXME;516 mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulPelFormat = 0; // FIXME;517 mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.usTransType = 0; // FIXME518 mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulTransVal = 0; // FIXME519 memcpy( &(mmImgHdr.mmXDIBHeader.BMPInfoHeader2), &bih2, sizeof (BITMAPINFOHEADER2));520 521 #ifdef _DOLOGDEBUG_522 LogDebug( "SaveBitmapToFile(): Before xmmioSetHeader." );523 #endif524 ULONG ulBytesRead;525 if( ( rc = (LONG)mmioSetHeader( hmmioTarget, (MMIMAGEHEADER*)&mmImgHdr,526 (LONG)sizeof( MMIMAGEHEADER ), (PLONG)&ulBytesRead,527 0L, 0L ) ) != MMIO_SUCCESS )528 {529 // Header unavailable.530 mmioClose( hmmioTarget, 0L );531 DisplayError ("mmioSetHeader()-Error",532 "mmioSetHeader()-Error %ld", rc );533 return;534 }535 #ifdef _DOLOGDEBUG_536 LogDebug( "SaveBitmapToFile(): xmmioSetHeader ok." );537 #endif538 539 // write the actual bitmap data bits540 if( ( rc = mmioWrite( hmmioTarget, (CHAR *) pb, cbBits ) ) == MMIO_ERROR )541 DisplayError ("mmioWrite()-Error",542 "mmioWrite()-Error %ld", rc );543 #ifdef _DOLOGDEBUG_544 LogDebug( "SaveBitmapToFile(): xmmioWrite ok." );545 #endif546 547 if( ( rc = mmioClose( hmmioTarget, 0 ) ) != MMIO_SUCCESS )548 DisplayError ("mmioClose()-Error",549 "mmioClose()-Error %ld", rc );550 #ifdef _DOLOGDEBUG_551 LogDebug( "SaveBitmapToFile(): xmmioClose ok." );552 #endif553 } */554 555 418 #ifdef _DOLOGDEBUG_ 556 419 LogDebug( "SaveBitmapToFile(): Everything done, closed file" ); … … 569 432 #endif 570 433 // ** SetEAs ************************************************************** /*FOLD00*/ 571 434 #if 0 572 435 BOOL SetEAs (PSZ psz) 573 436 { … … 621 484 return TRUE; 622 485 } 623 486 #endif 624 487 // ** SelectSaveFile ****************************************************** /*FOLD00*/ 625 488 626 BOOL SelectSaveFile ( VOID)489 BOOL SelectSaveFile (char *title) 627 490 { 628 491 #ifdef _DOLOGMEM_ … … 632 495 if (pset->QueryFileSaveStyle () == FSS_NUMFILES) 633 496 { 497 PmpfF(( " title %s", title)); 634 498 CHAR ach[_MAX_PATH]; 635 for (USHORT i = 0; i < 100 00; i++)499 for (USHORT i = 0; i < 100; i++) 636 500 { 637 sprintf( ach, "%s\\ got%05d.%s", pset->QueryNumSaveDir(), i,638 pset->GetFileExtension() );501 sprintf( ach, "%s\\%s%02d.%s", pset->QueryNumSaveDir(), 502 title, i, pset->GetFileExtension() ); 639 503 if (access (ach, 0) != 0) 640 504 { -
trunk/setgot.cmd
r15 r27 1 1 2 SET GOTMAJOR= 13 SET GOTMINOR= 802 SET GOTMAJOR=2 3 SET GOTMINOR=0 4 4 SET GOTREVISION=0 5 SET GOTFIXLEVEL= 05 SET GOTFIXLEVEL=beta2 6 6 time > CLIP: < timetemp 7 7 input %%GOTBUILDDATE < CLIP: -
trunk/settings.cpp
r11 r27 27 27 // FIXME nls*/ 28 28 29 bool saveum = FALSE; 29 30 SWP swpDef = { 0,0,0, 98,66, 0,0,0,0 }; 30 31 SWP swpDefSSW = { 0,0,0, 10,10, 0,0,0,0 }; … … 32 33 USHORT ausDefSSW[7] = { 0 }; 33 34 34 #if 035 35 ImageFormatInfo Settings::ifi[BMF_INVALID] = 36 36 { 37 { TRUE, BMF_12, 0L, "Bitmap 1.2 (Saved using Gotcha! internal routine)", "bmp", "Bitmap" }, 38 { TRUE, BMF_16, 0L, "Bitmap 1.6 (Saved using Gotcha! internal routine)", "bmp", "Bitmap" }, 39 { TRUE, BMF_20, 0L, "Bitmap 2.0 (Saved using Gotcha! internal routine)", "bmp", "Bitmap" }, 40 { FALSE, BMF_OS13, mmioFOURCC( 'O','S','1','3' ), "Bitmap 1.3 (Saved using OS/2 Multimedia)", "bmp", "Bitmap" }, 41 { FALSE, BMF_OS20, mmioFOURCC( 'O','S','2','0' ), "Bitmap 2.0 (Saved using OS/2 Multimedia)", "bmp", "Bitmap" }, 42 { FALSE, BMF_TIF, mmioFOURCC( 'T','F','M','C' ), "TIFF compressed", "tif", "TIFF" }, 43 { FALSE, BMF_TIFU, mmioFOURCC( 'T','F','M','U' ), "TIFF uncompressed", "tif", "TIFF" }, 44 { FALSE, BMF_TGA, mmioFOURCC( 'T','G','A','C' ), "TGA", "tga", "Targa" }, 45 { FALSE, BMF_PCX, mmioFOURCC( 'P','C','X','C' ), "PCX", "pcx", "PCX" }, 46 { FALSE, BMF_GIF, mmioFOURCC( 'G','I','F','C' ), "GIF", "gif", "GIF" }, 47 { FALSE, BMF_JPG, mmioFOURCC( 'J','P','E','G' ), "Jpeg (Probably won't work, reason unknown)", "jpg", "JPG" }, 48 { FALSE, BMF_DIB, mmioFOURCC( 'R','D','I','B' ), "DIB (Device Independent Bitmap)", "dib", "DIB" } 37 { TRUE, BMF_JPG, "JPEG Interchange File Format (jpg)", "jpg", "JPG" }, 38 { TRUE, BMF_PNG, "Portable Network Graphics (png)", "png", "PNG" }, 39 { TRUE, BMF_OS20, "OS/2 Bitmap 2.0 (bmp)", "bmp", "Bitmap" }, 40 { TRUE, BMF_TIF, "Microsoft/Aldus Tagged Image File Format (tif)", "tif", "TIFF" }, 41 { TRUE, BMF_TGA, "Truevision Targa/Vista (tga)", "tga", "Targa" }, 42 { TRUE, BMF_PCX, "ZSoft PC Paintbrush Image Format (pcx)", "pcx", "PCX" }, 43 { TRUE, BMF_GIF, "Portable Anymap (pnm)", "pnm", "PNM" }, 44 { TRUE, BMF_PBM, "Portable Pixel-map (ppm)", "ppm", "PPM" }, 45 { TRUE, BMF_JP2, "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)", "jp2", "JP2" }, 46 { TRUE, BMF_DIB, "Device Independent Bitmap (dib)", "dib", "DIB" } 49 47 }; 50 48 51 #else52 // pbm and gif don't save anything53 ImageFormatInfo Settings::ifi[BMF_INVALID] =54 {55 { TRUE, BMF_JPG, 0L, "JPEG Interchange File Format (jpg)", "jpg", "JPG" },56 { TRUE, BMF_PNG, 0L, "Portable Network Graphics (png)", "png", "PNG" },57 { TRUE, BMF_OS20, 0L, "OS/2 Bitmap 2.0 (bmp)", "bmp", "Bitmap" },58 { TRUE, BMF_TIF, 0L, "Microsoft/Aldus Tagged Image File Format (tif)", "tif", "TIFF" },59 { TRUE, BMF_TGA, 0L, "Truevision Targa/Vista (tga)", "tga", "Targa" },60 { TRUE, BMF_PCX, 0L, "ZSoft PC Paintbrush Image Format (pcx)", "pcx", "PCX" },61 { TRUE, BMF_GIF, 0L, "Portable Anymap (pnm)", "pnm", "PNM" },62 { TRUE, BMF_PBM, 0L, "Portable Pixel-map (ppm)", "ppm", "PPM" },63 { TRUE, BMF_JP2, 0L, "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)", "jp2", "JP2" },64 { TRUE, BMF_JBG, 0L, "JBIG Joint Bi-level Image experts Group (jbg)", "jbg", "JBG" },65 { TRUE, BMF_RAW, 0L, "Camera RAW Image Format (raw)", "raw", "RAW" },66 { TRUE, BMF_DIB, 0L, "Device Independent Bitmap (dib)", "dib", "DIB" }67 };68 #endif69 49 70 50 PTHTH_SE apse[] = … … 101 81 new THTH_SEB (SEI_USSSW, "Snapshot", "US", &ausDefSSW, sizeof (ausDefSSW)), 102 82 103 new THTH_SES (SEI_LANGUAGE, "Language", "Program", PSZ_DEFAULTLANGUAGE ),83 new THTH_SES (SEI_LANGUAGE, "Language", "Program", PSZ_DEFAULTLANGUAGEMOD), 104 84 new THTH_SES (SEI_LANGUAGEHELP, "Language", "Help", PSZ_DEFAULTLANGUAGEHELP), 105 85 … … 135 115 ReloadResources (QueryString(SEI_LANGUAGE)); 136 116 } 137 138 // See if we can use OS/2 Multimedia:139 mmio = new thth_MMIO();140 if( ! mmio->IsValid() ) {141 delete mmio;142 mmio = NULL;143 if( mmio->step > 0 )144 DisplayError( "MMIO-Error",145 "Could not load Multimedia IO extension. (rc=%d, step=%d)", mmio->rc, mmio->step );146 } else {147 MMFORMATINFO mmfi;148 ULONG lNumFormats = 30;149 LONG lReturned;150 PMMFORMATINFO pv = PMMFORMATINFO( malloc( sizeof( MMFORMATINFO ) * lNumFormats ) );151 memset( &mmfi, 0, sizeof( MMFORMATINFO ) );152 mmfi.ulMediaType = MMIO_MEDIATYPE_IMAGE;153 154 if( pv ) {155 if( mmioGetFormats( &mmfi, lNumFormats, pv, &lReturned, 0, 0 )156 != MMIO_SUCCESS ) {157 DisplayError( "MMIO-Error",158 "Could not get Multimedia-IO-Format information." );159 } else {160 /* DisplayError( "MMIO-Error",161 "'%d' formats returned", lReturned ); */162 for( int i = 0; i < lReturned; i++ ) {163 for( int j = 0; j < BMF_INVALID; j++ ) {164 if( ifi[j].fourcc == pv[i].fccIOProc )165 {166 ifi[j].available = TRUE;167 break;168 }169 }170 }171 }172 } else {173 DisplayError( "MMIO-Error",174 "Could not get Multimedia-IO-Format information (no memory)." );175 }176 }177 117 } 178 118 … … 201 141 // FIXME YUKKI! YUKKI!! YUKKI!!! But I'm too lazy to do it better now :-) 202 142 HWND g_hwndSettingsDialog = NULL; 143 HWND g_hwndPage0 = NULL; 203 144 204 145 BOOL SETTINGS :: Dialog (BOOL fOnlyLanguage) … … 272 213 MPFROMLONG (idPage[i]), MPFROMP (pszPageTab[i])); 273 214 } 274 215 //#ifndef _QUIET_ 216 #if 0 275 217 // open and assign dialogs to pages 276 218 hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure, 277 219 GETMODULE, ID_DLG_SETTINGSPAGE1, this); 278 hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page2Procedure,220 hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) WindowProcedure, //Page2Procedure, 279 221 GETMODULE, ID_DLG_SETTINGSPAGE2, this); 280 222 hwndPage[2] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page3Procedure, … … 282 224 hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure, 283 225 GETMODULE, ID_DLG_SETTINGSPAGE4, this); 226 #else 227 hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) WindowProcedure, 228 GETMODULE, ID_DLG_SETTINGSPAGE0, this); 229 hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure, 230 GETMODULE, ID_DLG_SETTINGSPAGE1, this); 231 hwndPage[2] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page2Procedure, 232 GETMODULE, ID_DLG_SETTINGSPAGE2, this); 233 hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure, 234 GETMODULE, ID_DLG_SETTINGSPAGE4, this); 235 _PmpfF(( "hwndpage 0 %i FID_CLIENT %i", hwndPage[0], 236 WinWindowFromID( hwndPage[0], WID_RB_CLIPBOARD))); 237 g_hwndPage0 = hwndPage[0]; 238 239 #endif 284 240 } 285 241 #ifdef _DOLOGDEBUG_ … … 302 258 LogDebug( "Dialog: checkpoint 6" ); 303 259 #endif 304 260 WinSendDlgItemMsg (g_hwndPage0, WID_RB_FILE, BM_CLICK, 261 MPFROMSHORT (TRUE), 0); 262 WinSendDlgItemMsg (g_hwndPage0, WID_CB_HIDEWINDOW, BM_SETCHECK, 263 MPFROMLONG (TRUE), MPFROMLONG (0)); 305 264 //WinSetFocus (WinWindowFromID (hwndDlg, WID_PB_OK), TRUE); 306 265 //WinSetFocus( hwndPage[0], TRUE ); … … 362 321 LogDebug( "DialogProcedure: start WID_PB_OK" ); 363 322 #endif 323 saveum = TRUE; 364 324 WinSendMsg (hwnd, WM_CLOSE, 0,0); 365 325 #ifdef _DOLOGDEBUG_ … … 380 340 BKM_QUERYPAGEWINDOWHWND, 381 341 MPFROMLONG (id), 0); 342 // Make mp1 1 for default use it to select setting on pages 382 343 WinSendMsg (hwndPage, UM_SETTINGS2DIALOG, 0,0); 383 344 } … … 533 494 WinSendDlgItemMsg( hwnd, WID_LB_FILEFORMAT, LM_SELECTITEM, 534 495 MPFROMSHORT(0), MPFROMSHORT(TRUE) ); 535 496 //#ifdef _QUIET_ 497 #if 1 498 // set play sound button 499 pset->AdjustButton (hwnd, WID_CB_DOSOUND, 500 pset->DoSound ()); 501 #endif 536 502 // Select appropriate radiobutton for save style. 537 503 switch (pset->QueryFileSaveStyle ()) … … 575 541 else 576 542 pset->SetFileSaveStyle (FSS_PROMPT); 543 //#ifdef _QUIET_ 544 #if 1 545 pset->DoSound(WinQueryButtonCheckstate 546 (hwnd, WID_CB_DOSOUND)); 547 #endif 577 548 #ifdef _DOLOGDEBUG_ 578 549 LogDebug( "Page1Procedure: checkpoint 1" ); … … 606 577 AdjustSaveTypeButtons 607 578 (BOOL (pset->QueryFileSaveStyle () == FSS_FORCEFILE)); 579 pset->saveStyle = pset->QuerySaveStyle (); 580 pset->pNumSaveDir = pset->QueryNumSaveDir (); 581 pset->pForceSaveFile = pset->QueryForceSaveFile(); 582 583 if (saveum) 584 pset->Save (); 608 585 #ifdef _DOLOGDEBUG_ 609 586 LogDebug( "Page1Procedure: end UM_ADJUST" ); … … 630 607 } 631 608 632 // ** Page2Procedure ****************************************************** /* fold00*/609 // ** Page2Procedure ****************************************************** /*FOLD00*/ 633 610 634 611 MRESULT EXPENTRY … … 665 642 pset->AdjustButton (hwnd, WID_CB_SSWALWAYSONTOP, 666 643 pset->SSWAlwaysOnTop ()); 667 644 //#ifdef _QUIET_ 645 #if 1 646 pset->AdjustButton (hwnd, WID_CB_SERIALCAPTURE, 647 pset->SerialCapture ()); 648 pset->AdjustButton (hwnd, WID_CB_DELAYCOUNTDOWN, 649 pset->DelayCountdown ()); 650 651 // init delay time sb 652 WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETLIMITS, 653 MPFROMLONG (65536), MPFROMLONG (1)); 654 WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETCURRENTVALUE, 655 MPFROMLONG (pset->QueryDelayTime ()), 0); 656 657 // init serial time sb 658 WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETLIMITS, 659 MPFROMLONG (65536), MPFROMLONG (1)); 660 WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETCURRENTVALUE, 661 MPFROMLONG (pset->QuerySerialTime ()), 0); 662 #endif 668 663 switch (pset->QuerySSWCaptureType ()) 669 664 { … … 702 697 LogDebug( "Page2Procedure: start UM_ADJUST" ); 703 698 #endif 699 //#ifndef _QUIET_ 700 #if 0 704 701 // query state of checkbuttons and set flags 705 702 pset->SSWHide(WinQueryButtonCheckstate(hwnd, WID_CB_SSWHIDE)); … … 713 710 LogDebug( "Page2Procedure: checkpoint 2" ); 714 711 #endif 715 712 #else 713 // query state of checkbuttons and set flags 714 pset->SerialCapture(WinQueryButtonCheckstate 715 (hwnd, WID_CB_SERIALCAPTURE)); 716 #ifdef _DOLOGDEBUG_ 717 LogDebug( "Page3Procedure: checkpoint 1" ); 718 #endif 719 pset->DelayCountdown(WinQueryButtonCheckstate 720 (hwnd, WID_CB_DELAYCOUNTDOWN)); 721 #endif 716 722 // get ssw capture type 717 723 if (WinSendMsg (WinWindowFromID (hwnd, WID_SSWSCREENREGION), … … 726 732 else 727 733 pset->SetSSWCaptureType (CAP_SCREEN); 734 //#ifdef _QUITE_ 735 #if 1 736 // delay time 737 ULONG ul; 738 if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, 739 SPBM_QUERYVALUE, 740 MPFROMP (&ul), 741 MPFROM2SHORT (0, 0)))) 742 ul = 5L; 743 pset->SetDelayTime (ul); 744 #ifdef _DOLOGDEBUG_ 745 LogDebug( "Page3Procedure: checkpoint 3" ); 746 #endif 747 748 // serial time 749 if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, 750 SPBM_QUERYVALUE, 751 MPFROMP (&ul), 752 MPFROM2SHORT (0, 0)))) 753 ul = 10L; 754 pset->SetSerialTime (ul); 755 pset->bSerialCapture = pset->SerialCapture (); 756 #endif 757 if (saveum) 758 pset->Save (); 728 759 #ifdef _DOLOGDEBUG_ 729 760 LogDebug( "Page2Procedure: end UM_ADJUST" ); … … 842 873 ul = 10L; 843 874 pset->SetSerialTime (ul); 875 pset->bSerialCapture = pset->SerialCapture (); 876 pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY); 877 878 if (saveum) 879 pset->Save (); 844 880 #ifdef _DOLOGDEBUG_ 845 881 LogDebug( "Page3Procedure: end UM_ADJUST" ); … … 1019 1055 MPFROM2SHORT (ul, sizeof (ach)), MPFROMP (ach)); 1020 1056 pset->SetString (SEI_LANGUAGEHELP, ach); 1057 1058 if (saveum) 1059 pset->Save (); 1021 1060 } 1022 1061 return MRESULT (FALSE); … … 1026 1065 } 1027 1066 1028 // ** AdjustSaveTypeButtons *********************************************** /* fold00*/1067 // ** AdjustSaveTypeButtons *********************************************** /*FOLD00*/ 1029 1068 1030 1069 VOID AdjustSaveTypeButtons (BOOL f) … … 1079 1118 APIRET rc; 1080 1119 1081 if ((rc = DosLoadModule(PSZ(NULL), 0, "gotresen.dll", &g_hmod)))1120 if ((rc = DosLoadModule(PSZ(NULL), 0, psz, &g_hmod))) 1082 1121 { 1083 1122 DisplayError("ERROR", "Could not (re)load Gotcha! resource module " … … 1089 1128 1090 1129 ResourceString::Module(g_hmod); 1091 1130 //#ifdef _QUIET_ 1131 #if 1 1132 pszPageTab[0] = RSTR (IDS_MAINWIN); 1133 pszPageTab[1] = RSTR (IDS_PAGESAVE); 1134 pszPageTab[2] = RSTR (IDS_PAGEMISC); 1135 pszPageTab[3] = RSTR (IDS_PAGELANGUAGE); 1136 #else 1092 1137 pszPageTab[0] = RSTR (IDS_PAGESAVE); 1093 1138 pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT); 1094 1139 pszPageTab[2] = RSTR (IDS_PAGEMISC); 1095 1140 pszPageTab[3] = RSTR (IDS_PAGELANGUAGE); 1096 1141 #endif 1097 1142 for( int i = 0; i < BMF_INVALID; i++ ) { 1098 1143 ifi[ i ].label = RSTR ( IDS_BMF_JPG+i ); } … … 1101 1146 } 1102 1147 1103 // ** SelectLanguage ****************************************************** /* fold00*/1148 // ** SelectLanguage ****************************************************** /*FOLD00*/ 1104 1149 1105 1150 VOID Settings :: SelectLanguage (VOID) … … 1107 1152 // set this to some default, as we must open the settings dialog for 1108 1153 // selecting a language 1154 //#ifdef _QUIET_ 1155 #if 1 1156 pszPageTab[0] = RSTR (IDS_MAINWIN); 1157 pszPageTab[1] = RSTR (IDS_PAGESAVE); 1158 pszPageTab[2] = RSTR (IDS_PAGEMISC); 1159 pszPageTab[3] = RSTR (IDS_PAGELANGUAGE); 1160 #else 1109 1161 pszPageTab[0] = RSTR (IDS_PAGESAVE); 1110 1162 pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT); 1111 1163 pszPageTab[2] = RSTR (IDS_PAGEMISC); 1112 1164 pszPageTab[3] = RSTR (IDS_PAGELANGUAGE); 1113 1165 #endif 1114 1166 // bring up the "select language" settings page 1115 1167 Dialog (TRUE); … … 1171 1223 } 1172 1224 1225 #if 0 1173 1226 // ** GetFOURCC *********************************************************** /*FOLD00*/ 1174 1227 … … 1181 1234 return 0L; 1182 1235 } 1183 1236 #endif 1184 1237 // ** GetFileEAType ******************************************************* /*FOLD00*/ 1185 1238 -
trunk/settings.h
r11 r27 24 24 25 25 #include "gotcha.h" 26 #include "mmio.h"27 26 #include "./settings/thth_settings.h" 28 27 … … 35 34 36 35 enum { SAVESTYLE_CLIPBOARD, SAVESTYLE_FILE, }; 37 #if 0 36 38 37 enum { 39 BMF_ 12, BMF_16, BMF_20, BMF_OS13, BMF_OS20, BMF_TIF, BMF_TIFU,40 BMF_ TGA, BMF_PCX, BMF_GIF, BMF_JPG, BMF_DIB,38 BMF_JPG, BMF_PNG, BMF_OS20, BMF_TIF, BMF_TGA, BMF_PCX, BMF_GIF, 39 BMF_PBM, BMF_JP2, BMF_DIB, 41 40 BMF_INVALID 42 41 }; 43 #else 44 enum { 45 BMF_JPG, BMF_PNG, BMF_OS20, BMF_TIF, BMF_TGA, BMF_PCX, BMF_GIF, 46 BMF_PBM, BMF_JP2, BMF_JBG, BMF_RAW, BMF_DIB, 47 BMF_INVALID 48 }; 49 #endif 42 50 43 enum { FSS_PROMPT, FSS_NUMFILES, FSS_FORCEFILE, }; 51 44 … … 55 48 BOOL available; 56 49 USHORT type; 57 FOURCC fourcc;50 // FOURCC fourcc; 58 51 PSZ label; 59 52 PSZ extension; … … 138 131 139 132 PSZ GetFileExtension( SHORT type = BMF_INVALID ); 140 FOURCC GetFOURCC( SHORT type = BMF_INVALID );133 // FOURCC GetFOURCC( SHORT type = BMF_INVALID ); 141 134 PSZ GetFileEAType( SHORT type = BMF_INVALID ); 142 135 143 BOOL IsMMIOAvailable( VOID ); 144 class thth_MMIO *GetMMIO( VOID ); 136 bool idleSetInIni; 137 int saveStyle; 138 PSZ pNumSaveDir; 139 PSZ pForceSaveFile; 140 bool bSerialCapture; 141 // BOOL IsMMIOAvailable( VOID ); 142 // class thth_MMIO *GetMMIO( VOID ); 145 143 146 144 protected: … … 178 176 static PSZ pszPageTab[COUNT_PAGES]; 179 177 BOOL fAutoLanguage; 180 181 thth_MMIO *mmio;182 183 178 HWND hwndDlg; 184 179 … … 198 193 } 199 194 200 inline BOOL Settings :: IsMMIOAvailable( VOID )201 {202 if( mmio ) return TRUE;203 return FALSE;204 }205 206 thth_MMIO *Settings :: GetMMIO( VOID ) { return mmio; }207 208 195 // ************************************************************************ 209 196 #endif
Note:
See TracChangeset
for help on using the changeset viewer.