Changes in / [20:30]


Ignore:
Location:
/trunk
Files:
1 added
2 deleted
20 edited

Legend:

Unmodified
Added
Removed
  • /trunk/bitmap.cpp

    r20 r30  
    1919
    2020// ** CaptureWindow ******************************************************* /*FOLD00*/
    21 
     21#include <ctype.h>
    2222#define MAX_WAIT   15
    2323
     
    3636
    3737    // wait for the selected window to rise to the surface
    38     if ((hwndParent != HWND_DESKTOP) &&  f)
     38    if (f)
    3939    {
    4040        WinSetWindowPos (hwndParent, HWND_TOP, 0,0, 0,0, SWP_ZORDER);
     
    149149               sizeof (aptl) / sizeof (POINTL), /* Number of points in aptl */
    150150               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            hwndParent = WinQueryWindow(hwndFrame, QW_NEXTTOP );
     162        }
     163        screen = TRUE;
     164        if (prcl)
     165            region = TRUE;
     166    }
     167
     168    int rc = WinQueryWindowProcess(hwndParent, &pid, &tid);
     169    if (WinQuerySwitchEntry(WinQuerySwitchHandle(hwndParent, pid),
     170                            &swctl))
     171        WinQuerySwitchEntry(WinQuerySwitchHandle(NULLHANDLE, pid),
     172                            &swctl);
     173
     174    char buffer[MAXNAMEL+4];
     175    int length = strlen( swctl.szSwtitle );
     176    strcpy(buffer, swctl.szSwtitle);
     177    char *p;
     178    p = buffer;
     179    for (int i = 0; i < (length < 11 ? length : 11); i++) {
     180        if ( ispunct( *p ) || *p == '\\' || isblank( *p )) {
     181            *p = '_';
     182        }
     183        p++;
     184    }
     185
     186    if (region)
     187        snprintf( title, length < 8 ? length + 3 : 11, "SR%s", buffer);
     188    else if (screen)
     189        snprintf( title, length < 8 ? length + 3 : 11, "SC%s", buffer);
     190    else
     191        snprintf( title, length < 8 ? length + 3 : 11, "WD%s", buffer);
     192
     193    SaveBitmap (hbm, hpsMem, sWidth, sHeight, bmp.cBitCount, title);
    152194
    153195    // re-associate the previous bit map and the memory presentation space
  • /trunk/config.h

    r20 r30  
    3636
    3737// Default language for resources and help.
    38 #define PSZ_DEFAULTLANGUAGE  "english"
    39 #define PSZ_DEFAULTLANGUAGEHELP  PSZ_DEFAULTLANGUAGE
     38#ifdef _QUIET_
     39#define PSZ_DEFAULTLANGUAGEMOD  "goqresen"
     40#else
     41#define PSZ_DEFAULTLANGUAGEMOD  "gotresen"
     42#endif
     43#define PSZ_DEFAULTLANGUAGEHELP  "gotcha_en"
    4044
  • /trunk/czech/gotrescz.rc

    r20 r30  
    312312    IDS_BMF_PBM        "Portable Pixel-map (ppm)"
    313313    IDS_BMF_JP2        "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)"
    314     IDS_BMF_JBG        "JBIG Joint Bi-level Image experts Group (jbg)"
    315     IDS_BMF_RAW        "Camera RAW Image Format (raw)"
    316314    IDS_BMF_DIB        "Device Independent Bitmap (dib)"
    317315
  • /trunk/deutsch/gotresde.rc

    r20 r30  
    267267    IDS_BMF_PBM        "Portable Pixel-map (ppm)"
    268268    IDS_BMF_JP2        "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)"
    269     IDS_BMF_JBG        "JBIG Joint Bi-level Image experts Group (jbg)"
    270     IDS_BMF_RAW        "Camera RAW Image Format (raw)"
    271269    IDS_BMF_DIB        "Device Independent Bitmap (dib)"
    272270
  • /trunk/dll/gotchdll.c

    r20 r30  
    2323#include "../id.h"
    2424
     25//#define  __PMPRINTF__
     26//#include "PMPRINTF.H"
     27
     28/* pre-accelerator input hook, undocumented, */
     29#define HK_PREACCEL 17
     30
    2531HAB     habDLL;
    2632HWND    hwndFrame;
    2733HMODULE hMod;
    28 PFN     pfnInput;
    2934
    3035void EXPENTRY InitDLL (HAB hab, HWND hwnd)
     
    3237    habDLL = hab;
    3338    hwndFrame = hwnd;
    34     DosLoadModule (NULL, 0, "GOTCHA", &hMod);
    35     DosQueryProcAddr (hMod, 0, "InputProc", &pfnInput);
     39    DosLoadModule (NULL, 0, "GOTCHDLL", &hMod);
     40}
     41
     42BOOL 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;
    3677}
    3778
    3879void EXPENTRY StartInputHook (void)
    3980{
    40     WinSetHook (habDLL, NULLHANDLE, HK_INPUT, pfnInput, hMod);
     81    WinSetHook (habDLL, NULLHANDLE, HK_PREACCEL, (PFN) InputProc, hMod);
    4182}
    4283
    4384void EXPENTRY StopInputHook (void)
    4485{
    45     WinReleaseHook (habDLL, NULLHANDLE, HK_INPUT, pfnInput, hMod);
     86    WinReleaseHook (habDLL, NULLHANDLE, HK_PREACCEL, (PFN) InputProc, hMod);
    4687    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;
    7088}
    7189
  • /trunk/english/gotresen.rc

    r20 r30  
    3636/*     "Thorsten Thielen",     /* Translator's name */
    3737/*     "English",              /* Language to be used for online help */
    38 /*     "english",              /* Name of the help file */
     38/*     "Gotcha_en",              /* Name of the help file */
    3939}
    4040
     
    5757BEGIN
    5858   "a",    WID_PB_ABOUT, CHAR, ALT
     59   VK_F1,  WID_PB_ABOUT, VIRTUALKEY, ALT
    5960   "e",    WID_PB_SETTINGS, CHAR, ALT
    60 /*   VK_F1,  WID_PB_ABOUT, VIRTUALKEY */
     61   "h"     HM_GENERAL_HELP, CHAR, ALT /* Also F1*/
    6162
    6263   "c",    WID_RB_CLIPBOARD, CHAR, ALT
    6364   "f",    WID_RB_FILE, CHAR, ALT
    6465
    65    "h",    WID_CB_HIDEWINDOW, CHAR, ALT
     66   "g",    WID_CB_HIDEWINDOW, CHAR, ALT
    6667   "d",    WID_CB_DELAYEDCAPTURE, CHAR, ALT
    6768
     
    7778WINDOWTEMPLATE ID_DLG_MAIN
    7879BEGIN
    79     FRAME   PSZ_NAMEVERSION, ID_DLG_MAIN, 98, 66, 200, 70,
     80    FRAME   PSZ_NAMEVERSION, ID_DLG_MAIN, 98, 66, 200, 85,
    8081            FS_NOBYTEALIGN | FS_DLGBORDER | NOT WS_VISIBLE,
    8182            FCF_TITLEBAR | FCF_SYSMENU | FCF_AUTOICON | FCF_TASKLIST | FCF_MINBUTTON
    8283    BEGIN          /* Please do NOT try to translate the "thth.wc..." ;-)*/
    83         WINDOW          "", FID_CLIENT, 0, 0, 200, 70, "thth.wc.gotcha.main",
     84        WINDOW          "", FID_CLIENT, 0, 0, 200, 85, "thth.wc.gotcha.main",
    8485                        FS_NOBYTEALIGN | NOT WS_VISIBLE
    8586        BEGIN
    86             GROUPBOX        "Save image to ...", WID_TEST, 4, 36, 90, 30
    87             AUTORADIOBUTTON "~Clipboard", WID_RB_CLIPBOARD, 10, 48, 78, 10, WS_TABSTOP
    88             AUTORADIOBUTTON "~File", WID_RB_FILE, 10, 38, 78, 10, WS_TABSTOP
    89             GROUPBOX        "Capture ...", WID_NIL, 100, 4, 96, 62
    90             PUSHBUTTON      "~Screen", WID_PB_SCREEN, 104, 44, 88, 12
    91             PUSHBUTTON      "Screen ~region", WID_PB_SCREENREGION, 104, 32, 88, 12
    92             PUSHBUTTON      "~Window", WID_PB_WINDOW, 104, 20, 88, 12
    93             PUSHBUTTON      "Window ~interior", WID_PB_WINDOWINTERIOR, 104, 8, 88, 12
    94             GROUPBOX        "Options", WID_NIL, 4, 4, 90, 30
    95             AUTOCHECKBOX    "~Hide Gotcha!", WID_CB_HIDEWINDOW, 10, 16, 78, 10
    96             AUTOCHECKBOX    "~Delayed capt.", WID_CB_DELAYEDCAPTURE, 10, 6, 78, 10
     87            GROUPBOX        "Save image to ...", WID_TEST, 4, 51, 90, 30
     88            AUTORADIOBUTTON "~Clipboard", WID_RB_CLIPBOARD, 10, 63, 78, 10, WS_TABSTOP
     89            AUTORADIOBUTTON "~File", WID_RB_FILE, 10, 53, 78, 10, WS_TABSTOP
     90            GROUPBOX        "Capture ...", WID_NIL, 100, 19, 96, 62
     91            PUSHBUTTON      "~Screen", WID_PB_SCREEN, 104, 59, 88, 12
     92            PUSHBUTTON      "Screen ~region", WID_PB_SCREENREGION, 104, 47, 88, 12
     93            PUSHBUTTON      "~Window", WID_PB_WINDOW, 104, 35, 88, 12
     94            PUSHBUTTON      "Window ~interior", WID_PB_WINDOWINTERIOR, 104, 23, 88, 12
     95            GROUPBOX        "Options", WID_NIL, 4, 19, 90, 30
     96            AUTOCHECKBOX    "Hide ~Gotcha!", WID_CB_HIDEWINDOW, 10, 31, 48, 10
     97            AUTOCHECKBOX    "~Delayed capture", WID_CB_DELAYEDCAPTURE, 10, 21, 58, 10
     98            PUSHBUTTON      "~Help", HM_GENERAL_HELP, 135, 4, 60, 12             
     99            PUSHBUTTON      "S~ettings", WID_PB_SETTINGS, 70, 4, 60, 12
     100            PUSHBUTTON      "~About", WID_PB_ABOUT, 5, 4, 60, 12
    97101        END
    98102    END
     
    105109    BEGIN
    106110        ICON            1, 1000, 8, 58, 21, 16, WS_GROUP
    107         LTEXT           PSZ_NAMEVERSION, WID_NIL, 42, 64, 202, 9
     111        LTEXT           PSZ_NAMEVERSION, WID_NIL, 42, 64, 150, 9
    108112                        PRESPARAMS PP_FOREGROUNDCOLOR, 0x00C80A0AL
    109         LTEXT           "Screen/window capture utility", WID_NIL, 42, 53, 202, 8
    110         LTEXT           "Copyright (c) 1998-2007 Thorsten Thielen", WID_NIL, 42, 44,
    111                         202, 8
    112         LTEXT           "e-Mail: thth@c2226.de", WID_NIL, 42, 32, 202, 8
    113         LTEXT           "WWW: http://www.c2226.de/programs/gotcha", WID_NIL, 42, 13, 232, 17, DT_WORDBREAK
     113        LTEXT           "Screen/window capture utility", WID_NIL, 42, 56, 150, 8
     114        LTEXT           "Copyright (c) 1998-2007 Thorsten Thielen", WID_NIL,
     115                        42, 48, 150, 8
     116        LTEXT           "Copyright (c) 2018 The Netlabs Gotcha Group", WID_NIL,
     117                        42, 40, 150, 8
     118        LTEXT           "All rights Reserved", WID_NIL, 42, 32, 50, 8
     119        LTEXT           "WWW: http://trac.netlabs.org/gotcha", WID_NIL,
     120                         42, 24, 150, 8, DT_WORDBREAK
    114121        LTEXT           "English translation: Thorsten Thielen", WID_NIL,
    115                         42, 4, 202, 8
    116         DEFPUSHBUTTON   "Ok", WID_NIL, 8, 6, 22, 26
     122                        42, 16, 150, 8
     123        DEFPUSHBUTTON   "Ok", WID_NIL, 79, 4, 42, 10
    117124    END
    118125END
     
    159166        DEFPUSHBUTTON   "~Ok", WID_PB_OK, 5, 4, 60, 14
    160167        PUSHBUTTON      "~Undo", WID_PB_UNDO, 70, 4, 60, 14
    161         PUSHBUTTON      "Help", WID_PB_HELP, 215, 4, 60, 14, BS_HELP |
     168        PUSHBUTTON      "~Help", WID_PB_HELP, 215, 4, 60, 14, BS_HELP |
    162169                        BS_NOPOINTERFOCUS
    163170    END
     
    180187        GROUPBOX        "Image file ~format", WID_NIL, 5, 5, 240, 44, DT_MNEMONIC
    181188        LISTBOX         WID_LB_FILEFORMAT, 11, 9, 228, 30, LS_NOADJUSTPOS
    182 /*        AUTORADIOBUTTON "1.2 (What Windoze calls ""OS/2 format"")", WID_RB_BMF12, 11,
    183                         29, 208, 10, WS_TABSTOP | WS_GROUP
    184         AUTORADIOBUTTON "1.6 (Windoze format)", WID_RB_BMF16, 11, 19, 208, 10,
    185                         WS_TABSTOP
    186         AUTORADIOBUTTON "2.0 (Full OS/2 format)", WID_RB_BMF20, 11, 9, 208, 10,
    187                         WS_TABSTOP */
     189
    188190    END
    189191END
     
    202204        GROUPBOX        "Options", WID_NIL, 5, 5, 220, 50
    203205        AUTOCHECKBOX    "Always on ~top of all windows", WID_CB_SSWALWAYSONTOP, 13, 35, 204, 10
    204         AUTOCHECKBOX    "~Hide when doing a capture", WID_CB_SSWHIDE, 13, 25, 204, 10
     206        AUTOCHECKBOX    "Hide ~Gotcha during capture", WID_CB_SSWHIDE, 13, 25, 204, 10
    205207    END
    206208END
     
    238240        GROUPBOX        "Online help", WID_NIL, 5, 5, 119, 54
    239241        LISTBOX         WID_LB_LANGUAGESHELP, 11, 9, 106, 40, LS_NOADJUSTPOS
    240         CONTROL         4, WID_NIL, 130, 5, 84, 36, WC_STATIC, SS_BITMAP |
    241                         WS_GROUP | WS_VISIBLE
    242         LTEXT           "Note: This settings will take effect for the first "
    243                         "time at the next start of the program.",
    244                         WID_ST_LANGNOTE, 130, 45, 114, 70,
    245                         DT_WORDBREAK
     242        /*CONTROL         4, WID_NIL, 130, 5, 84, 36, WC_STATIC, SS_BITMAP |
     243                        WS_GROUP | WS_VISIBLE*/
     244        LTEXT           "Note: A restart is required for these settings to take effect."
     245                        WID_ST_LANGNOTE, 130, 45, 114, 70, DT_WORDBREAK
    246246    END
    247247END
     
    250250{
    251251    IDS_QUIETMODE                      " (quiet mode)"
    252     IDS_SETTINGS                       "~Settings...\tALT+E"
    253     IDS_PRODUCTINFORMATION             "Product information\tALT+A"
     252    IDS_SETTINGS                       "~Settings\tALT+e"
     253    IDS_PRODUCTINFORMATION             "Product information\tALT+a"
    254254    IDS_HEADER_ERROR                   "ERROR"
    255255    IDS_ERROR_COULDNOTRETRIEVEHEADER   "Could not retrieve bitmap info header (0x%08lx)"
     
    281281    IDS_BMF_PBM        "Portable Pixel-map (ppm)"
    282282    IDS_BMF_JP2        "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)"
    283     IDS_BMF_JBG        "JBIG Joint Bi-level Image experts Group (jbg)"
    284     IDS_BMF_RAW        "Camera RAW Image Format (raw)"
    285283    IDS_BMF_DIB        "Device Independent Bitmap (dib)"
    286284
    287285    IDS_SNAPLABEL                      "Snap!"
    288     IDS_GENERALHELP                    "Gotcha! ~help..."
     286    IDS_GENERALHELP                    "Gotcha! ~help\tF1"
    289287}
  • /trunk/english/makefile

    r20 r30  
    3939GOTBUILDMACHINE = Zobopeep
    4040!endif
     41!ifdef %_QUIET_
     42RESOURCE = goqresen
     43!else
     44RESOURCE = gotresen
     45!endif
     46
    4147
    4248CC = WCC386.EXE
     
    6268#    $(CC) /I$(INCLDIR) $(CFLAGS) $*.c
    6369   
    64 all: gotresen.dll gotcha_en.hlp
     70all: $(RESOURCE).dll gotcha_en.hlp
    6571
    6672
    67 gotresen.dll: &
    68     gotresen.res
     73$(RESOURCE).dll: &
     74    $(RESOURCE).res
    6975    $(SED) -e "s;(GOTMAJOR);$(GOTMAJOR);g" &
    7076    -e "s;(GOTMINOR);$(GOTMINOR);g"   &
     
    7480    -e "s;Sun \|Mon \|Tue \|Wed \|Thu \|Fri \|Sat ;;g" &
    7581    -e "s;(GOTBUILDMACHINE);$(GOTBUILDMACHINE);g"   &
    76     gotresen.lnk.tpl > gotresen.lnk
    77     $(LINK) @gotresen.lnk f ..\tools\dll.obj lib clib3r.lib
    78     $(RC) gotresen.res gotresen.dll
    79     lxlite /x- /b- gotresen.dll
     82    $(RESOURCE).lnk.tpl > $(RESOURCE).lnk
     83    $(LINK) @$(RESOURCE).lnk f ..\tools\dll.obj lib clib3r.lib
     84    $(RC) $(RESOURCE).res $(RESOURCE).dll
     85    lxlite /x- /b- $(RESOURCE).dll
    8086    $(COPY) *.dll ..\bin
    8187   
    82 gotresen.res:    gotresen.rc &
     88$(RESOURCE).res:    $(RESOURCE).rc &
    8389                 ../id.h &
    8490                 ../common.rc &
    8591                 ../version.h
    86         $(RC) $(RFLAGS) -r gotresen.rc $@
     92        $(RC) $(RFLAGS) -r $(RESOURCE).rc $@
    8793       
    8894gotcha_en.hlp:     gotcha_en.ipf ../common.ipf &
     
    9096                   $(DATA)/gotcha.bmp
    9197                   wipfc -l en_US gotcha_en.ipf $@     
    92                    $(COPY) *.hlp ..\bin
     98                   $(COPY) *.hlp readme ..\bin
    9399
    94100clean:: .symbolic
  • /trunk/gotcha.cpp

    r20 r30  
    3434PFNWP       OldFrameWP, wpOldButton;
    3535PSETTINGS   pset;
    36 BOOL        g_fQuiet = FALSE;
     36BOOL        g_fQuiet = FALSE, g_fIdle = FALSE, g_fSetPathName = FALSE;
    3737HWND        g_hwndMenuSSW;
    3838HMODULE     g_hmod = NULLHANDLE;
     
    4444#include "savebmp.cpp"
    4545
    46 // ** CheckCmdlineArgs **************************************************** /*fold00*/
     46// ** CheckCmdlineArgs **************************************************** /*FOLD00*/
    4747
    4848BOOL CheckCmdlineArgs (int argc, char *argv[])
     
    7272                    pset->SetFileSaveStyle (FSS_NUMFILES);
    7373                    pset->SetNumSaveDir (argv[i]);
     74                    g_fSetPathName = TRUE;
    7475                }
    7576        }
     
    8283                pset->SetFileSaveStyle (FSS_FORCEFILE);
    8384                pset->SetForceSaveFile (argv[i]);
     85                g_fSetPathName = TRUE;
    8486            }
    8587        }
     
    8789        else if (stricmp (argv[i], "-i") == 0)
    8890        {
     91            g_fIdle = TRUE;
    8992            pset->SetFlag (SEI_IDLEPRIORITY, TRUE);
    9093        }
     
    111114
    112115    //DisplayError("DEBUG", "%d", Version());
    113 #ifdef _USEDLL_
    114     if (g_fQuiet && (Version() < 1))
     116#ifdef _QUIET_
     117    if ((Version() < 1))
    115118    {
    116119        DisplayError("GOTCHA.DLL TO OLD",
     
    123126        exit (0);
    124127    }
     128
     129    bool fPrtScr = FALSE;
     130    ULONG ulDataSize;
     131    int rc;
     132
     133    rc = PrfQueryProfileSize( HINI_PROFILE, "PM_ControlPanel", "PrintScreen",
     134                             &ulDataSize );
     135    rc = PrfQueryProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen",
     136                             &fPrtScr, &ulDataSize);
     137    if (fPrtScr || !rc) {
     138        fPrtScr = TRUE;
     139        bool temp = FALSE;
     140        rc = PrfWriteProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen",
     141                                 &temp, sizeof(bool));
     142    }
    125143#endif
    126144
     
    134152    pset = new SETTINGS;
    135153
     154    pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY);
     155    pset->saveStyle = pset->QuerySaveStyle ();
     156    pset->pNumSaveDir = pset->QueryNumSaveDir ();
     157    pset->pForceSaveFile = pset->QueryForceSaveFile();
     158    pset->bSerialCapture = pset->SerialCapture ();
    136159    // check cmd line args and if "-a" found take screenshot and exit
    137160    if (CheckCmdlineArgs (argc, argv))
    138161    {
    139162        CaptureWindow (HWND_DESKTOP, HWND_DESKTOP, NULL, TRUE);
     163        pset->SetFileSaveStyle(pset->saveStyle);
    140164        delete pset;
    141165        WinDestroyMsgQueue (hmq);
     
    159183
    160184    // init the quiet mode
    161     if (g_fQuiet)
    162     {
    163 #ifdef _USEDLL_
     185    //if (g_fQuiet)
     186    //{
     187#ifdef _QUIET_
     188//#if 1
     189    DebugHereIAm();
    164190        InitDLL (hab, hwndFrame);
    165191        StartInputHook ();
    166192#endif
    167193
    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     }
     194        //CHAR ach[61];
     195        //WinQueryWindowText (hwndFrame, sizeof (ach), ach);
     196        //strcat (ach, RSTR (IDS_QUIETMODE));
     197        //WinSetWindowText (hwndFrame, ach);
     198        //WinSetWindowPos (hwndFrame, NULLHANDLE, 0,0, 0,0, SWP_MINIMIZE);
     199        //HSWITCH hswitch = WinQuerySwitchHandle(hwndFrame, 0);
     200        //WinRemoveSwitchEntry(hswitch);
     201    //}
    174202
    175203    // position snapshot window
     
    196224        WinDispatchMsg (hab, &qmsg);
    197225
     226
     227    // Set priorty to unless user set regular since running -q sets it to idle in the ini
     228    if (g_fIdle || g_fQuiet) {
     229        pset->SetFlag (SEI_IDLEPRIORITY, pset->idleSetInIni);
     230        if (g_fQuiet) {
     231            pset->SetFileSaveStyle (pset->saveStyle); // changed with -q
     232            pset->SerialCapture (pset->bSerialCapture); // changed with -q
     233        }
     234    }
     235    // Don't change the ini stored paths if the paths were set from the command line
     236    if (g_fSetPathName) {
     237        pset->SetFileSaveStyle(pset->saveStyle);
     238        pset->SetForceSaveFile (pset->pForceSaveFile);
     239        pset->SetNumSaveDir (pset->pNumSaveDir);
     240    }
    198241    // save size, etc. of snapshot window
    199242    WinQueryWindowPos (hwndSnapshot, &swp);
     
    208251    WinDestroyWindow (hwndFrame);
    209252
    210 #ifdef _USEDLL_
    211     if (g_fQuiet)
     253#ifdef _QUIET_
     254//#if 1
     255    if (fPrtScr || !rc) {
     256        PrfWriteProfileData(HINI_USERPROFILE, "PM_ControlPanel", "PrintScreen",
     257                            &fPrtScr, sizeof(bool));
     258    }
     259    //if (g_fQuiet)
    212260        StopInputHook ();
    213261#endif
     
    242290}
    243291
    244 // ** AddSysMenuItem ****************************************************** /*fold00*/
     292APIRET saymsg2(int DefaultButton, HWND hwnd,  PCSZ pszTitle, PCSZ pszFmt, ...)
     293{
     294  ULONG i;
     295  APIRET rc;
     296  CHAR szMsg[4096];
     297  va_list va;
     298  MB2INFO *pmbInfo;
     299  MB2D mb2dBut[3];
     300  ULONG ulInfoSize = (sizeof(MB2INFO) + (sizeof(MB2D) * 2));
     301
     302  va_start(va, pszFmt);
     303  szMsg[sizeof(szMsg) - 1] = 0;
     304  vsprintf(szMsg, pszFmt, va);
     305  va_end(va);
     306
     307  if (szMsg[sizeof(szMsg) - 1]) {
     308    fprintf(stderr, "Buffer overflow in saymsg2 - need %u bytes\n", strlen(szMsg) + 1);
     309    fflush(stderr);
     310  }
     311
     312  memset(mb2dBut, 0, sizeof(MB2D) * 3);
     313  strcpy(mb2dBut[0].achText,"Ok");
     314  strcpy(mb2dBut[1].achText,"Cancel");
     315  strcpy(mb2dBut[2].achText,"Settings");
     316  mb2dBut[0].idButton = 1;
     317  mb2dBut[1].idButton = 2;
     318  mb2dBut[2].idButton = 3;
     319  if (DefaultButton)
     320    mb2dBut[DefaultButton - 1].flStyle = BS_DEFAULT;
     321  pmbInfo = (MB2INFO *) malloc(ulInfoSize);
     322  memset(pmbInfo, 0, ulInfoSize);
     323  if (pmbInfo) {
     324    pmbInfo->cb         = ulInfoSize;
     325    pmbInfo->hIcon      = 0;
     326    pmbInfo->cButtons   = 3;
     327    pmbInfo->flStyle    = MB_MOVEABLE | MB_ICONQUESTION ;
     328    pmbInfo->hwndNotify = NULLHANDLE;
     329    for (i = 0; i < 3; i++) {
     330      memcpy( pmbInfo->mb2d+i , mb2dBut+i , sizeof(MB2D));
     331    }
     332    rc = WinMessageBox2(HWND_DESKTOP, hwnd,
     333                        szMsg, pszTitle, SM2_DIALOG,
     334                        pmbInfo);
     335    WinSetFocus(HWND_DESKTOP, SM2_DIALOG);
     336    free(pmbInfo);
     337    return rc;
     338  }
     339  return MBID_ERROR;
     340}
     341// ** AddSysMenuItem ****************************************************** /*FOLD00*/
    245342
    246343VOID AddSysMenuItem (HWND hwndFrame, MENUITEM *Item, PSZ Text)
     
    273370VOID SetIdlePriority (BOOL f)
    274371{
     372#if 0 //#ifndef _QUEIT_
    275373    if (f)
    276374        DosSetPriority(PRTYS_PROCESS, PRTYC_IDLETIME, 0, 0);
    277375    else
    278376        DosSetPriority(PRTYS_PROCESS, PRTYC_REGULAR, 0, 0);
     377#else
     378    DosSetPriority(PRTYS_PROCESS, PRTYC_FOREGROUNDSERVER, 0, 0);
     379#endif
    279380}
    280381
  • /trunk/gotcha.h

    r20 r30  
    3939#include <stdarg.h>
    4040
    41 #include "mmioos2.h"
    42 
    4341#include "config.h"
    4442
     
    4846#include "helper.h"
    4947#include "settings.h"
     48
     49#define  _PMPRINTF_
     50#include "PMPRINTF.H"
    5051
    5152#define PSZ_EXTENSION    ".bmp"
     
    6970
    7071extern PSETTINGS pset;
    71 extern HWND hwndFrame, hwndSnapshot, g_hwndMenuSSW;
     72extern HWND hwndFrame, hwndSnapshot, g_hwndMenuSSW, g_hwndSettingsDialog, g_hwndPage0;
    7273
    7374extern HMODULE g_hmod;
     
    8485
    8586HBITMAP  CaptureWindow (HWND hwnd, HWND hwndParent, PRECTL prcl, BOOL f);
    86 VOID     SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, int bitCount);
     87VOID     SaveBitmap (HBITMAP hbm, HPS hps, int width, int height,
     88                     int bitCount, char *title);
    8789VOID     SaveBitmapToClipboard (HBITMAP hbm);
    88 VOID     SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps);
     90//VOID     SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps);
    8991VOID     StartSelection (HWND hwnd);
    90 BOOL     SelectSaveFile (VOID);
     92BOOL     SelectSaveFile (char *title);
    9193BOOL     DoTracking (RECTL *prclTrack);
    9294VOID     AddSysMenuItem (HWND hwndFrame, MENUITEM *Item, PSZ Text);
     
    109111
    110112VOID     DisplayError (PSZ pszTitle, PSZ psz, ...);
     113APIRET   saymsg2(int DefaultButton, HWND hwnd,
     114                 PCSZ pszTitle, PCSZ pszFmt, ...);
    111115VOID     DoCountdown (ULONG ul);
    112116VOID     AdjustSaveTypeButtons (BOOL f);
    113117
    114 BOOL SetEAs (PSZ psz);
     118//BOOL SetEAs (PSZ psz);
    115119VOID SetIdlePriority (BOOL f);
    116120
  • /trunk/id.h

    r20 r30  
    2828#define ID_DLG_SETTINGSPAGE3      6
    2929#define ID_DLG_SETTINGSPAGE4      7
     30#define SM2_DIALOG                8
     31#define ID_DLG_SETTINGSPAGE0      9
    3032
    3133#define WID_NIL                   0
     
    7476#define WID_LB_FILEFORMAT         43
    7577#define WID_PB_EXIT               44
     78#define WID_PB_SETCAPTURETYPE     45
    7679
    7780#define IDM_SSWPOPUP              1
     
    157160#define IDS_BMF_PBM                         29
    158161#define IDS_BMF_JP2                         30
    159 #define IDS_BMF_JBG                         31
    160 #define IDS_BMF_RAW                         32
    161 #define IDS_BMF_DIB                         33
     162#define IDS_BMF_DIB                         31
    162163#define IDS_SNAPLABEL                       34
    163164#define IDS_GENERALHELP                     35
     165#define IDS_MAINWIN                         36
    164166
    165167#define MAIN_HELP_TABLE                     1
  • /trunk/italiano/gotresit.rc

    r20 r30  
    323323    IDS_BMF_PBM        "Portable Pixel-map (ppm)"
    324324    IDS_BMF_JP2        "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)"
    325     IDS_BMF_JBG        "JBIG Joint Bi-level Image experts Group (jbg)"
    326     IDS_BMF_RAW        "Camera RAW Image Format (raw)"
    327325    IDS_BMF_DIB        "Device Independent Bitmap (dib)"   
    328326   
  • /trunk/mainwin.cpp

    r20 r30  
    1818 ***/
    1919
    20 // ** CreateMainWindow **************************************************** /*fold00*/
     20// ** CreateMainWindow **************************************************** /*FOLD00*/
    2121
    2222HWND CreateMainWindow (VOID)
    2323{
     24#ifdef _QUIET_
     25//#if 1
     26    hwndFrame = WinLoadDlg (HWND_OBJECT, NULLHANDLE, NULL, GETMODULE,
     27                            ID_DLG_MAIN, NULL);
     28#else
    2429    hwndFrame = WinLoadDlg (HWND_DESKTOP, NULLHANDLE, NULL, GETMODULE,
    2530                            ID_DLG_MAIN, NULL);
     31#endif
    2632    OldFrameWP = WinSubclassWindow (hwndFrame, FrameProcedure);
    2733
     
    7076}
    7177
    72 // ** Drag **************************************************************** /*fold00*/
     78// ** Drag **************************************************************** /*FOLD00*/
    7379
    7480VOID Drag (HWND hwnd)
     
    110116}
    111117
    112 // ** FrameProcedure ****************************************************** /*fold00*/
     118// ** FrameProcedure ****************************************************** /*FOLD00*/
    113119
    114120MRESULT EXPENTRY FrameProcedure (HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
     
    273279            break;
    274280
     281        case WID_PB_SETCAPTURETYPE:
     282            //int capType;
     283
     284            switch (pset->QuerySSWCaptureType ())
     285            {
     286            case CAP_WINDOWINT:
     287                WinSendMsg (hwndFrame, WM_COMMAND,
     288                            MPFROM2SHORT (WID_PB_WINDOWINTERIOR,0), 0);
     289            case CAP_SCREENREGION:
     290                WinSendMsg (hwndFrame, WM_COMMAND,
     291                            MPFROM2SHORT (WID_PB_SCREENREGION,0), 0);
     292            case CAP_WINDOW:
     293                WinSendMsg (hwndFrame, WM_COMMAND,
     294                            MPFROM2SHORT (WID_PB_WINDOW,0), 0);
     295            default:
     296               WinSendMsg (hwndFrame, WM_COMMAND,
     297                            MPFROM2SHORT (WID_PB_SCREEN,0), 0);
     298            }
     299            break;
     300
    275301        case WID_PB_SCREEN:
    276302            usCap = CAP_SCREEN;
     303#ifdef _QUIET_
     304//#if 1
     305            WinShowWindow (g_hwndSettingsDialog, FALSE);
     306            // WinSendMsg (g_hwndSettingsDialog, WM_CLOSE, 0,0); //Needs to go to the setting dialog
     307            // Replace current global with pset->GetSettingDialogHwnd () or such
     308            // Need for all 4 cases;
     309#endif
    277310            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    278311            break;
     
    280313        case WID_PB_SCREENREGION:
    281314            usCap = CAP_SCREENREGION;
     315#ifdef _QUIET_
     316//#if 1
     317            WinShowWindow (g_hwndSettingsDialog, FALSE);
     318#endif
    282319            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    283320            break;
     
    285322        case WID_PB_WINDOWINTERIOR:
    286323            usCap = CAP_WINDOWINT;
     324#ifdef _QUIET_
     325//#if 1
     326            WinShowWindow (g_hwndSettingsDialog, FALSE);
     327#endif
    287328            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    288329            break;
     
    290331        case WID_PB_WINDOW:
    291332            usCap = CAP_WINDOW;
     333#ifdef _QUIET_
     334//#if 1
     335            WinShowWindow (g_hwndSettingsDialog, FALSE);
     336#endif
    292337            WinSendMsg (hwnd, UM_PREPARECAPTURE, 0,0);
    293338            break;
     
    314359
    315360        usState = STATE_WAITFORHIDE;
     361
     362        if (usCap == CAP_SCREENREGION || usCap == CAP_SCREEN) {
     363#ifdef _QUIET_
     364            hwndParent = WinQueryFocus(HWND_DESKTOP);
     365#else
     366            hwndParent = WinQueryWindow(hwndFrame, QW_NEXTTOP );
     367#endif
     368        }
     369#ifndef _QUIET_
     370//#if 0
    316371        if (WinQueryButtonCheckstate (hwnd, WID_CB_HIDEWINDOW))
    317372            WinShowWindow (WinQueryWindow (hwnd, QW_PARENT), FALSE);
    318373        else
     374#endif
    319375            WinSendMsg (hwnd, UM_WINDOWHIDDEN, 0,0);
    320376        return MRESULT (FALSE);
     
    346402            {
    347403                usState = STATE_WINDOWSELECTED;
    348                 WinPostMsg (hwnd, UM_WINDOWSELECTED,
    349                             MPFROMHWND (HWND_DESKTOP),
    350                             MPFROMHWND (HWND_DESKTOP));
     404                int rc = saymsg2(1, hwnd,  "Capture", "Do you wish to continue?");
     405               
     406                if (rc == 1)
     407                    WinPostMsg (hwnd, UM_WINDOWSELECTED,
     408                                MPFROMHWND (HWND_DESKTOP),
     409                                MPFROMHWND (HWND_DESKTOP));
     410                if (rc == 2)
     411                    WinSendMsg (hwnd, UM_ABORT, 0,0);
     412                if (rc == 3) {
     413                    pset->Dialog ();
     414                    WinPostMsg (hwnd, UM_WINDOWSELECTED,
     415                                MPFROMHWND (HWND_DESKTOP),
     416                                MPFROMHWND (HWND_DESKTOP));
     417                }
    351418            }
    352419            else
     
    417484                                                             FALSE));
    418485            hwndCap = HWND (mp1);
    419             hwndParent = HWND (mp2);
     486            if (usCap != CAP_SCREENREGION && usCap != CAP_SCREEN)
     487                hwndParent = HWND (mp2);
    420488            if (pset->SerialCapture ())
    421489            {
     
    478546            // capture the window to a bitmap and save this
    479547            if (usCap == CAP_SCREENREGION)
    480                 hbm = CaptureWindow (hwndCap, hwndParent, &rcl, TRUE);
     548                hbm = CaptureWindow (hwndCap, hwndParent, &rcl, FALSE);
     549            else if (usCap == CAP_SCREEN)
     550                hbm = CaptureWindow (hwndCap, hwndParent, NULL, FALSE);
    481551            else
    482552                hbm = CaptureWindow (hwndCap, hwndParent, NULL, TRUE);
     
    512582            WinSetCapture (HWND_DESKTOP, NULLHANDLE);
    513583
     584        pset->Load ();
     585
    514586        WinSendMsg (hwndSnapshot, UM_STOPCAPTURE, 0,0);
    515587        WinStopTimer (hab, hwnd, ulTimer);
    516 
     588#ifdef _QUIET_
     589//#if 1
     590        // ? FIXME to give option to reshow window.
     591        if (WinQueryButtonCheckstate (hwnd, WID_CB_HIDEWINDOW))
     592            WinSendMsg (g_hwndSettingsDialog, WM_CLOSE, 0,0);
     593        else if (WinIsWindow ( hab, g_hwndSettingsDialog) &&
     594            ! WinIsWindowVisible (g_hwndSettingsDialog))
     595            WinShowWindow (g_hwndSettingsDialog, TRUE);
     596        pset->HideWindow (TRUE);
     597#else
    517598        // re-show the windows if they are hidden
    518599        // FIXME using global hwndFrame is pretty yukki
     
    521602        if (! WinIsWindowVisible (hwndSnapshot) && pset->SnapshotWindow ())
    522603            WinShowWindow (hwndSnapshot, TRUE);
    523 
     604#endif
    524605        WinEnableWindow (hwnd, TRUE);
    525606        WinSetActiveWindow (HWND_DESKTOP, hwnd);
  • /trunk/makefile

    r20 r30  
    3535GOTBUILDMACHINE = Zobopeep
    3636!endif
     37!ifdef %_QUIET_
     38GOTCHAEXE = gotchaq
     39!else
     40GOTCHAEXE = gotcha
     41!endif
    3742
    3843CC = wpp386.exe
     
    4752SED = sed.exe
    4853
     54!ifdef %_QUIET_
     55CFLAGS = -D_QUIET_ -otexan -zp4 -6r
     56!else
    4957CFLAGS = -otexan -zp4 -6r
     58!endif
     59
    5060RFLAGS = -bt=os2 -zm
    5161
    52 LFLAGS = op map=gotcha
     62LFLAGS = op map=$(GOTCHAEXE)
    5363
    5464SRCDIR = U:\Gotcha_Workspace\trunk
     
    5868PMPRINTFPATH = U:\PMPrintf
    5969
    60 all:  dll resources gotcha.exe
     70all:  dll resources $(GOTCHAEXE).exe
    6171
    6272dll:  .symbolic
     
    7888    $(CHDIR) ..
    7989   
    80 gotcha.lnk: gotcha.lnk.tpl 
     90$(GOTCHAEXE).lnk: $(GOTCHAEXE).lnk.tpl 
    8191  $(SED) -e "s;(GOTMAJOR);$(GOTMAJOR);g" &
    8292    -e "s;(GOTMINOR);$(GOTMINOR);g"   &
     
    8696    -e "s;Sun \|Mon \|Tue \|Wed \|Thu \|Fri \|Sat ;;g" &
    8797    -e "s;(GOTBUILDMACHINE);$(GOTBUILDMACHINE);g"   &
    88     gotcha.lnk.tpl > gotcha.lnk 
     98    $(GOTCHAEXE).lnk.tpl > $(GOTCHAEXE).lnk 
    8999
    90 gotcha.exe: gotcha.lnk gotcha.obj about.obj helper.obj rstring.obj settings.obj gotcha.res
    91     $(LINK) $(LFLAGS) @gotcha.lnk f &
     100$(GOTCHAEXE).exe: $(GOTCHAEXE).lnk gotcha.obj about.obj helper.obj rstring.obj settings.obj gotcha.res
     101    $(LINK) $(LFLAGS) @$(GOTCHAEXE).lnk f &
    92102    gotcha.obj, &
    93103    about.obj,  &
     
    96106    settings.obj &
    97107    lib dll\gotchdll.lib lib mmpm2.lib lib $(GBMPATH)\gbm.lib lib $(SRCDIR)\tools\gbmmemw.lib lib $(PMPRINTFPATH)\pmprintf.lib
    98     $(RC) $(RFLAGS) $(SRCDIR)\gotcha.res gotcha.exe
    99     $(PERL) $(MAPSYMW) gotcha.map
    100     mapxqs.exe gotcha.map
    101     lxlite gotcha.exe /x- /b-
    102     lxlite gotcha.exe /c:minstub
     108    $(RC) $(RFLAGS) $(SRCDIR)\gotcha.res $(GOTCHAEXE).exe
     109    $(PERL) $(MAPSYMW) $(GOTCHAEXE).map
     110    mapxqs.exe $(GOTCHAEXE).map
     111    lxlite $(GOTCHAEXE).exe /x- /b-
     112    lxlite $(GOTCHAEXE).exe /c:minstub
    103113    $(COPY) *.exe *.sym *.xqs *.map* readme* bin
    104114       
  • /trunk/makefile.emx

    r20 r30  
    5656                        $(TMP)/helper.$(o) \
    5757                        $(TMP)/rstring.$(o) \
    58                         $(TMP)/mmio.$(o) \
    5958                        $(TMP)/settings.$(o) \
    6059                        $(SRC)/gotcha.def \
  • /trunk/portbras/gotresbr.rc

    r20 r30  
    276276    IDS_BMF_PBM        "Portable Pixel-map (ppm)"
    277277    IDS_BMF_JP2        "Jpeg 2000 (provided by the Open Source OpenJPEG library) (jp2)"
    278     IDS_BMF_JBG        "JBIG Joint Bi-level Image experts Group (jbg)"
    279     IDS_BMF_RAW        "Camera RAW Image Format (raw)"
    280278    IDS_BMF_DIB        "Device Independent Bitmap (dib)"
    281279
  • /trunk/savebmp.cpp

    r20 r30  
    2424#include "model.h"
    2525
    26 #define  __PMPRINTF__
    27 #include "PMPRINTF.H"
    28 
    2926/* ------------------------------ */
    3027static int StrideOf(const MOD *mod)
    3128{
    32     DebugHereIAm();
    3329        return ( ( mod->gbm.w * mod->gbm.bpp + 31 ) / 32 ) * 4;
    3430        }
     
    4137        if ( (mod->pbData = (UCHAR*) gbmmem_malloc(stride * mod->gbm.h)) == NULL )
    4238            return FALSE;
    43         DebugHereIAm();
    4439        return TRUE;
    4540        }
     
    5954        if ( !AllocateData(modNew) )
    6055            return MOD_ERR_MEM;
    61         DebugHereIAm();
    6256        return MOD_ERR_OK;
    6357        }
     
    8579
    8680        if ( (mrc = ModCreate(w, h, bpp, NULL, modNew)) != MOD_ERR_OK )
    87                 return mrc;
    88         DebugHereIAm();
     81            return mrc;
     82
    8983        memset(&(bm.bmp2), 0, sizeof(bm.bmp2));
    9084        bm.bmp2.cbFix     = sizeof(BITMAPINFOHEADER2);
     
    10599                        }
    106100                }
    107         DebugHereIAm();
    108101        return MOD_ERR_OK;
    109102        }
     
    127120            return grc;
    128121        }
    129         PmpfF(( "file type %i", ft ));
    130         DebugHereIAm();
    131122        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       
    134124        switch ( mod->gbm.bpp )
    135125                {
     
    143133        if ( (gbmft.flags & flag) == 0 )
    144134            return MOD_ERR_SUPPORT;
    145         DebugHereIAm();
     135       
    146136        if ( (fd = gbm_io_create(szFn, GBM_O_WRONLY)) == -1 )
    147137                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 )
    150141                {
    151142                gbm_io_close(fd);
     
    153144                return MOD_ERR_GBM(grc);
    154145                }
    155         DebugHereIAm();
     146       
    156147        gbm_io_close(fd);
    157         DebugHereIAm();
    158148        return MOD_ERR_OK;
    159149        }
     
    161151// ** SaveBitmap ********************************************************** /*FOLD00*/
    162152
    163 VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height, int bitCount)
     153VOID SaveBitmap (HBITMAP hbm, HPS hps, int width, int height,
     154                 int bitCount, char *title)
    164155{
    165156#ifdef _DOLOGMEM_
     
    172163        PSZ psz = pset->QueryForceSaveFile();
    173164        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
    182197            ModCreateFromHPS( hps, width, height,
    183198                             (bitCount > 8 ) ? 24 : bitCount,
    184199                             &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
    228202#ifdef _DOLOGDEBUG_
    229203            LogDebug( "After call to SaveBitmapToFile()" );
     
    256230
    257231// ** SaveBitmapToFile **************************************************** /*FOLD00*/
    258 
     232#if 0
    259233#define CB_12HEADER       sizeof (BITMAPINFOHEADER) // == 12
    260234#define CB_16HEADER       (sizeof (BITMAPINFOHEADER2)-24)
    261235#define CB_20HEADER       sizeof (BITMAPINFOHEADER2) // == 64
    262236
    263 #if 0
     237
    264238VOID SaveBitmapToFile (HBITMAP hbm, PSZ psz, HPS hps)
    265239{
     
    442416    }
    443417
    444     /*else {
    445 #ifdef _DOLOGDEBUG_
    446         LogDebug( "SaveBitmapToFile(): Starting 'else' path." );
    447 #endif
    448         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 #endif
    457         // ********* WRITE TARGET
    458         FOURCC fccTargetIOProc = pset->GetFOURCC();
    459 
    460         // Initialize our info MMIOINFO structure.
    461         MMIOINFO mmioinfoTarget;
    462 #ifdef _DOLOGDEBUG_
    463     LogDebug( "SaveBitmapToFile(): Before memset." );
    464 #endif
    465         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 #endif
    472         // 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 #endif
    485 
    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 #endif
    502 
    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 #endif
    511         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; // FIXME
    518         mmImgHdr.mmXDIBHeader.XDIBHeaderPrefix.ulTransVal = 0;  // FIXME
    519         memcpy( &(mmImgHdr.mmXDIBHeader.BMPInfoHeader2), &bih2, sizeof (BITMAPINFOHEADER2));
    520 
    521 #ifdef _DOLOGDEBUG_
    522     LogDebug( "SaveBitmapToFile(): Before xmmioSetHeader." );
    523 #endif
    524         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 #endif
    538 
    539         // write the actual bitmap data bits
    540         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 #endif
    546 
    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 #endif
    553     } */
    554 
    555418#ifdef _DOLOGDEBUG_
    556419    LogDebug( "SaveBitmapToFile(): Everything done, closed file" );
     
    569432#endif
    570433// ** SetEAs ************************************************************** /*FOLD00*/
    571 
     434#if 0
    572435BOOL SetEAs (PSZ psz)
    573436{
     
    621484    return TRUE;
    622485}
    623 
     486#endif
    624487// ** SelectSaveFile ****************************************************** /*FOLD00*/
    625488
    626 BOOL SelectSaveFile (VOID)
     489BOOL SelectSaveFile (char *title)
    627490{
    628491#ifdef _DOLOGMEM_
     
    633496    {
    634497        CHAR   ach[_MAX_PATH];
    635         for (USHORT i = 0; i < 10000; i++)
     498        for (USHORT i = 0; i < 100; i++)
    636499        {
    637             sprintf( ach, "%s\\got%05d.%s", pset->QueryNumSaveDir(), i,
    638                     pset->GetFileExtension() );
     500            sprintf( ach, "%s\\%s%02d.%s", pset->QueryNumSaveDir(),
     501                    title, i, pset->GetFileExtension() );
    639502            if (access (ach, 0) != 0)
    640503            {
  • /trunk/setgot.cmd

    r20 r30  
    11
    2 SET GOTMAJOR=1
    3 SET GOTMINOR=80
     2SET GOTMAJOR=2
     3SET GOTMINOR=0
    44SET GOTREVISION=0
    5 SET GOTFIXLEVEL=0
     5SET GOTFIXLEVEL=beta2
    66time > CLIP: < timetemp
    77input %%GOTBUILDDATE < CLIP:
  • /trunk/settings.cpp

    r20 r30  
    2727    // FIXME nls*/
    2828
     29bool saveum = FALSE;
    2930SWP swpDef = { 0,0,0, 98,66, 0,0,0,0 };
    3031SWP swpDefSSW = { 0,0,0, 10,10, 0,0,0,0 };
     
    3233USHORT ausDefSSW[7] = { 0 };
    3334
    34 #if 0
    3535ImageFormatInfo Settings::ifi[BMF_INVALID] =
    3636{
    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" }
    4947};
    5048
    51 #else
    52 // pbm and gif don't save anything
    53 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 #endif
    6949
    7050PTHTH_SE apse[] =
     
    10181    new THTH_SEB (SEI_USSSW, "Snapshot", "US", &ausDefSSW, sizeof (ausDefSSW)),
    10282
    103     new THTH_SES (SEI_LANGUAGE,     "Language", "Program", PSZ_DEFAULTLANGUAGE),
     83    new THTH_SES (SEI_LANGUAGE,     "Language", "Program", PSZ_DEFAULTLANGUAGEMOD),
    10484    new THTH_SES (SEI_LANGUAGEHELP, "Language", "Help", PSZ_DEFAULTLANGUAGEHELP),
    10585
     
    11292
    11393Settings :: Settings (VOID) :
    114 ththSettings(apse, "gotcha.ini", L_PROFILEVERSION)
     94#ifdef _QUIET_
     95//#if 1
     96    ththSettings(apse, "gotchaq.ini", L_PROFILEVERSION)
     97#else
     98    ththSettings(apse, "gotcha.ini", L_PROFILEVERSION)
     99#endif
    115100{
    116101    if( ! QueryFlag( SEI_UPDATE178DONE ) ) {
     
    135120        ReloadResources (QueryString(SEI_LANGUAGE));
    136121    }
    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     }
    177122}
    178123
     
    201146// FIXME YUKKI! YUKKI!! YUKKI!!! But I'm too lazy to do it better now :-)
    202147HWND g_hwndSettingsDialog = NULL;
     148HWND g_hwndPage0 = NULL;
    203149
    204150BOOL SETTINGS :: Dialog (BOOL fOnlyLanguage)
     
    272218                        MPFROMLONG (idPage[i]), MPFROMP (pszPageTab[i]));
    273219        }
    274 
     220#ifndef _QUIET_
     221//#if 0
    275222        // open and assign dialogs to pages
    276223        hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure,
     
    282229        hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure,
    283230                                  GETMODULE, ID_DLG_SETTINGSPAGE4, this);
     231#else
     232        hwndPage[0] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) WindowProcedure,
     233                                  GETMODULE, ID_DLG_SETTINGSPAGE0, this);
     234        hwndPage[1] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page1Procedure,
     235                                  GETMODULE, ID_DLG_SETTINGSPAGE1, this);
     236        hwndPage[2] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page2Procedure,
     237                                  GETMODULE, ID_DLG_SETTINGSPAGE2, this);
     238        hwndPage[3] = WinLoadDlg (hwndNB, hwndNB, (PFNWP) Page4Procedure,
     239                                  GETMODULE, ID_DLG_SETTINGSPAGE4, this);
     240        g_hwndPage0 = hwndPage[0];
     241       
     242#endif
    284243    }
    285244#ifdef _DOLOGDEBUG_
     
    302261    LogDebug( "Dialog: checkpoint 6" );
    303262#endif
    304 
     263    WinSendDlgItemMsg (g_hwndPage0, WID_RB_FILE, BM_CLICK,
     264                       MPFROMSHORT (TRUE), 0);
     265    WinSendDlgItemMsg (g_hwndPage0, WID_CB_HIDEWINDOW, BM_SETCHECK,
     266                       MPFROMLONG (TRUE), MPFROMLONG (0));
    305267    //WinSetFocus (WinWindowFromID (hwndDlg, WID_PB_OK), TRUE);
    306268    //WinSetFocus( hwndPage[0], TRUE );
     
    362324            LogDebug( "DialogProcedure: start WID_PB_OK" );
    363325#endif
     326            saveum = TRUE;
    364327            WinSendMsg (hwnd, WM_CLOSE, 0,0);
    365328#ifdef _DOLOGDEBUG_
     
    380343                                           BKM_QUERYPAGEWINDOWHWND,
    381344                                           MPFROMLONG (id), 0);
     345                // Make mp1 1 for default use it to select setting on pages
    382346                    WinSendMsg (hwndPage, UM_SETTINGS2DIALOG, 0,0);
    383347                }
     
    533497            WinSendDlgItemMsg( hwnd, WID_LB_FILEFORMAT, LM_SELECTITEM,
    534498                               MPFROMSHORT(0), MPFROMSHORT(TRUE) );
    535 
     499#ifdef _QUIET_
     500//#if 1
     501        // set play sound button
     502        pset->AdjustButton (hwnd, WID_CB_DOSOUND,
     503                            pset->DoSound ());
     504#endif
    536505        // Select appropriate radiobutton for save style.
    537506        switch (pset->QueryFileSaveStyle ())
     
    575544            else
    576545                pset->SetFileSaveStyle (FSS_PROMPT);
     546#ifdef _QUIET_
     547//#if 1
     548            pset->DoSound(WinQueryButtonCheckstate
     549                          (hwnd, WID_CB_DOSOUND));
     550#endif
    577551#ifdef _DOLOGDEBUG_
    578552            LogDebug( "Page1Procedure: checkpoint 1" );
     
    606580            AdjustSaveTypeButtons
    607581                (BOOL (pset->QueryFileSaveStyle () == FSS_FORCEFILE));
     582            pset->saveStyle = pset->QuerySaveStyle ();
     583            pset->pNumSaveDir = pset->QueryNumSaveDir ();
     584            pset->pForceSaveFile = pset->QueryForceSaveFile();
     585
     586            if (saveum)
     587                pset->Save ();
    608588#ifdef _DOLOGDEBUG_
    609589            LogDebug( "Page1Procedure: end UM_ADJUST" );
     
    630610}
    631611
    632 // ** Page2Procedure ****************************************************** /*fold00*/
     612// ** Page2Procedure ****************************************************** /*FOLD00*/
    633613
    634614MRESULT EXPENTRY
     
    665645        pset->AdjustButton (hwnd, WID_CB_SSWALWAYSONTOP,
    666646                            pset->SSWAlwaysOnTop ());
    667 
     647#ifdef _QUIET_
     648//#if 1
     649        pset->AdjustButton (hwnd, WID_CB_SERIALCAPTURE,
     650                            pset->SerialCapture ());
     651        pset->AdjustButton (hwnd, WID_CB_DELAYCOUNTDOWN,
     652                            pset->DelayCountdown ());
     653
     654        // init delay time sb
     655        WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETLIMITS,
     656                           MPFROMLONG (65536), MPFROMLONG (1));
     657        WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME, SPBM_SETCURRENTVALUE,
     658                           MPFROMLONG (pset->QueryDelayTime ()), 0);
     659
     660        // init serial time sb
     661        WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETLIMITS,
     662                           MPFROMLONG (65536), MPFROMLONG (1));
     663        WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME, SPBM_SETCURRENTVALUE,
     664                           MPFROMLONG (pset->QuerySerialTime ()), 0);
     665#endif
    668666        switch (pset->QuerySSWCaptureType ())
    669667        {
     
    702700            LogDebug( "Page2Procedure: start UM_ADJUST" );
    703701#endif
     702#ifndef _QUIET_
     703//#if 0
    704704        // query state of checkbuttons and set flags
    705705        pset->SSWHide(WinQueryButtonCheckstate(hwnd, WID_CB_SSWHIDE));
     
    713713            LogDebug( "Page2Procedure: checkpoint 2" );
    714714#endif
    715 
     715#else
     716            // query state of checkbuttons and set flags
     717            pset->SerialCapture(WinQueryButtonCheckstate
     718                                (hwnd, WID_CB_SERIALCAPTURE));
     719#ifdef _DOLOGDEBUG_
     720            LogDebug( "Page3Procedure: checkpoint 1" );
     721#endif
     722            pset->DelayCountdown(WinQueryButtonCheckstate
     723                                 (hwnd, WID_CB_DELAYCOUNTDOWN));
     724#endif
    716725        // get ssw capture type
    717726        if (WinSendMsg (WinWindowFromID (hwnd, WID_SSWSCREENREGION),
     
    726735        else
    727736            pset->SetSSWCaptureType (CAP_SCREEN);
     737#ifdef _QUIET_
     738//#if 1
     739        // delay time
     740        ULONG   ul;
     741        if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_DELAYTIME,
     742                                       SPBM_QUERYVALUE,
     743                                       MPFROMP (&ul),
     744                                       MPFROM2SHORT (0, 0))))
     745            ul = 5L;
     746        pset->SetDelayTime (ul);
     747#ifdef _DOLOGDEBUG_
     748        LogDebug( "Page3Procedure: checkpoint 3" );
     749#endif
     750
     751        // serial time
     752        if (! BOOL (WinSendDlgItemMsg (hwnd, WID_SB_SERIALTIME,
     753                                       SPBM_QUERYVALUE,
     754                                       MPFROMP (&ul),
     755                                       MPFROM2SHORT (0, 0))))
     756            ul = 10L;
     757        pset->SetSerialTime (ul);
     758        pset->bSerialCapture = pset->SerialCapture ();
     759#endif
     760        if (saveum)
     761            pset->Save ();
    728762#ifdef _DOLOGDEBUG_
    729763        LogDebug( "Page2Procedure: end UM_ADJUST" );
     
    842876                ul = 10L;
    843877            pset->SetSerialTime (ul);
     878            pset->bSerialCapture = pset->SerialCapture ();
     879            pset->idleSetInIni = pset->QueryFlag(SEI_IDLEPRIORITY);
     880
     881            if (saveum)
     882                pset->Save ();
    844883#ifdef _DOLOGDEBUG_
    845884            LogDebug( "Page3Procedure: end UM_ADJUST" );
     
    10191058                               MPFROM2SHORT (ul, sizeof (ach)), MPFROMP (ach));
    10201059            pset->SetString (SEI_LANGUAGEHELP, ach);
     1060
     1061            if (saveum)
     1062                pset->Save ();
    10211063        }
    10221064        return MRESULT (FALSE);
     
    10261068}
    10271069
    1028 // ** AdjustSaveTypeButtons *********************************************** /*fold00*/
     1070// ** AdjustSaveTypeButtons *********************************************** /*FOLD00*/
    10291071
    10301072VOID AdjustSaveTypeButtons (BOOL f)
     
    10791121    APIRET  rc;
    10801122
    1081     if ((rc = DosLoadModule(PSZ(NULL), 0, "gotresen.dll", &g_hmod)))
     1123    if ((rc = DosLoadModule(PSZ(NULL), 0, psz, &g_hmod)))
    10821124    {
    10831125        DisplayError("ERROR", "Could not (re)load Gotcha! resource module "
     
    10891131
    10901132    ResourceString::Module(g_hmod);
    1091 
     1133#ifdef _QUIET_
     1134//#if 1
     1135    pszPageTab[0] = RSTR (IDS_MAINWIN);
     1136    pszPageTab[1] = RSTR (IDS_PAGESAVE);
     1137    pszPageTab[2] = RSTR (IDS_PAGEMISC);
     1138    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
     1139#else
    10921140    pszPageTab[0] = RSTR (IDS_PAGESAVE);
    10931141    pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
    10941142    pszPageTab[2] = RSTR (IDS_PAGEMISC);
    10951143    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
    1096 
     1144#endif
    10971145    for( int i = 0; i < BMF_INVALID; i++ ) {
    10981146        ifi[ i ].label = RSTR ( IDS_BMF_JPG+i ); }
     
    11011149}
    11021150
    1103 // ** SelectLanguage ****************************************************** /*fold00*/
     1151// ** SelectLanguage ****************************************************** /*FOLD00*/
    11041152
    11051153VOID Settings :: SelectLanguage (VOID)
     
    11071155    // set this to some default, as we must open the settings dialog for
    11081156    // selecting a language
     1157#ifdef _QUIET_
     1158//#if 1
     1159    pszPageTab[0] = RSTR (IDS_MAINWIN);
     1160    pszPageTab[1] = RSTR (IDS_PAGESAVE);
     1161    pszPageTab[2] = RSTR (IDS_PAGEMISC);
     1162    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
     1163#else
    11091164    pszPageTab[0] = RSTR (IDS_PAGESAVE);
    11101165    pszPageTab[1] = RSTR (IDS_PAGESNAPSHOT);
    11111166    pszPageTab[2] = RSTR (IDS_PAGEMISC);
    11121167    pszPageTab[3] = RSTR (IDS_PAGELANGUAGE);
    1113 
     1168#endif
    11141169    // bring up the "select language" settings page
    11151170    Dialog (TRUE);
     
    11311186    hdir = HDIR_CREATE;
    11321187    c    = 1;
    1133     rc   = DosFindFirst ("*.dll", &hdir, fl, &findbuf,
     1188#ifdef _QUIET_
     1189    rc   = DosFindFirst ("goqre*.dll", &hdir, fl, &findbuf,
    11341190                         sizeof (findbuf), &c, FIL_STANDARD);
     1191#else
     1192    rc   = DosFindFirst ("gotre*.dll", &hdir, fl, &findbuf,
     1193                         sizeof (findbuf), &c, FIL_STANDARD);
     1194#endif
    11351195    while (!rc)
    11361196    {
     
    11711231}
    11721232
     1233#if 0
    11731234// ** GetFOURCC *********************************************************** /*FOLD00*/
    11741235
     
    11811242    return 0L;
    11821243}
    1183 
     1244#endif
    11841245// ** GetFileEAType ******************************************************* /*FOLD00*/
    11851246
  • /trunk/settings.h

    r20 r30  
    2424
    2525#include "gotcha.h"
    26 #include "mmio.h"
    2726#include "./settings/thth_settings.h"
    2827
     
    3534
    3635enum { SAVESTYLE_CLIPBOARD, SAVESTYLE_FILE, };
    37 #if 0
     36
    3837enum {
    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,
    4140    BMF_INVALID
    4241};
    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
    5043enum { FSS_PROMPT, FSS_NUMFILES, FSS_FORCEFILE, };
    5144
     
    5548    BOOL     available;
    5649    USHORT   type;
    57     FOURCC   fourcc;
     50//    FOURCC   fourcc;
    5851    PSZ      label;
    5952    PSZ      extension;
     
    138131
    139132    PSZ    GetFileExtension( SHORT type = BMF_INVALID );
    140     FOURCC GetFOURCC( SHORT type = BMF_INVALID );
     133//    FOURCC GetFOURCC( SHORT type = BMF_INVALID );
    141134    PSZ    GetFileEAType( SHORT type = BMF_INVALID );
    142135
    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 );
    145143
    146144protected:
     
    178176    static PSZ   pszPageTab[COUNT_PAGES];
    179177    BOOL   fAutoLanguage;
    180 
    181     thth_MMIO    *mmio;
    182 
    183178    HWND   hwndDlg;
    184179
     
    198193}
    199194
    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 
    208195// ************************************************************************
    209196#endif
  • /trunk/version.h

    r20 r30  
    1818 ***/
    1919
    20 #define PSZ_VERSION_L1     "1"
    21 #define PSZ_VERSION_L2     PSZ_VERSION_L1".78"
     20#define PSZ_VERSION_L1     "2"
     21#define PSZ_VERSION_L2     PSZ_VERSION_L1".00"
    2222#define PSZ_VERSION_L3     PSZ_VERSION_L2""
    2323
    24 #define PSZ_NAMEVERSION    "Gotcha! 1.78"
     24#define PSZ_NAMEVERSION    "Gotcha! 2.00"
Note: See TracChangeset for help on using the changeset viewer.