Annotation of hatari/src/gui-sdl/dlgTosGem.c, revision 1.1

1.1     ! root        1: /*
        !             2:   Hatari - dlgTosGem.c
        !             3: 
        !             4:   This file is distributed under the GNU Public License, version 2 or at
        !             5:   your option any later version. Read the file gpl.txt for details.
        !             6: */
        !             7: char DlgTosGem_rcsid[] = "Hatari $Id: dlgTosGem.c,v 1.5 2004/06/11 12:48:49 thothy Exp $";
        !             8: 
        !             9: #include "main.h"
        !            10: #include "configuration.h"
        !            11: #include "dialog.h"
        !            12: #include "sdlgui.h"
        !            13: #include "file.h"
        !            14: #include "memAlloc.h"
        !            15: #include "screen.h"
        !            16: #include "vdi.h"
        !            17: 
        !            18: 
        !            19: #define DLGTOSGEM_ROMNAME    4
        !            20: #define DLGTOSGEM_ROMBROWSE  5
        !            21: #define DLGTOSGEM_GEMRES     8
        !            22: #define DLGTOSGEM_RES640     10
        !            23: #define DLGTOSGEM_RES800     11
        !            24: #define DLGTOSGEM_RES1024    12
        !            25: #define DLGTOSGEM_BPP1       14
        !            26: #define DLGTOSGEM_BPP2       15
        !            27: #define DLGTOSGEM_BPP4       16
        !            28: #define DLGTOSGEM_EXIT       17
        !            29: 
        !            30: 
        !            31: /* The TOS/GEM dialog: */
        !            32: static SGOBJ tosgemdlg[] =
        !            33: {
        !            34:   { SGBOX, 0, 0, 0,0, 40,24, NULL },
        !            35:   { SGBOX, 0, 0, 1,1, 38,8, NULL },
        !            36:   { SGTEXT, 0, 0, 16,2, 9,1, "TOS setup" },
        !            37:   { SGTEXT, 0, 0, 2,5, 25,1, "ROM image (needs reset!):" },
        !            38:   { SGTEXT, 0, 0, 2,7, 34,1, NULL },
        !            39:   { SGBUTTON, 0, 0, 30,5, 8,1, "Browse" },
        !            40:   { SGBOX, 0, 0, 1,10, 38,10, NULL },
        !            41:   { SGTEXT, 0, 0, 16,11, 9,1, "GEM setup" },
        !            42:   { SGCHECKBOX, 0, 0, 2,13, 25,1, "Use extended resolution" },
        !            43:   { SGTEXT, 0, 0, 2,15, 11,1, "Resolution:" },
        !            44:   { SGRADIOBUT, 0, 0, 4,16, 9,1, "640x480" },
        !            45:   { SGRADIOBUT, 0, 0, 16,16, 9,1, "800x600" },
        !            46:   { SGRADIOBUT, 0, 0, 28,16, 10,1, "1024x768" },
        !            47:   { SGTEXT, 0, 0, 2,18, 6,1, "Depth:" },
        !            48:   { SGRADIOBUT, 0, 0, 11,18, 6,1, "1bpp" },
        !            49:   { SGRADIOBUT, 0, 0, 20,18, 6,1, "2bpp" },
        !            50:   { SGRADIOBUT, 0, 0, 29,18, 6,1, "4bpp" },
        !            51:   { SGBUTTON, 0, 0, 10,22, 20,1, "Back to main menu" },
        !            52:   { -1, 0, 0, 0,0, 0,0, NULL }
        !            53: };
        !            54: 
        !            55: 
        !            56: /*-----------------------------------------------------------------------*/
        !            57: /*
        !            58:   Show and process the TOS/GEM dialog.
        !            59: */
        !            60: void Dialog_TosGemDlg(void)
        !            61: {
        !            62:   char *tmpname;
        !            63:   char dlgromname[35];
        !            64:   int but;
        !            65:   int i;
        !            66: 
        !            67:   tmpname = Memory_Alloc(FILENAME_MAX);
        !            68: 
        !            69:   SDLGui_CenterDlg(tosgemdlg);
        !            70:   File_ShrinkName(dlgromname, DialogParams.TOSGEM.szTOSImageFileName, 34);
        !            71:   tosgemdlg[DLGTOSGEM_ROMNAME].txt = dlgromname;
        !            72: 
        !            73:   if( DialogParams.TOSGEM.bUseExtGEMResolutions )
        !            74:     tosgemdlg[DLGTOSGEM_GEMRES].state |= SG_SELECTED;
        !            75:    else
        !            76:     tosgemdlg[DLGTOSGEM_GEMRES].state &= ~SG_SELECTED;
        !            77: 
        !            78:   for(i=0; i<3; i++)
        !            79:   {
        !            80:     tosgemdlg[DLGTOSGEM_RES640 + i].state &= ~SG_SELECTED;
        !            81:     tosgemdlg[DLGTOSGEM_BPP1 + i].state &= ~SG_SELECTED;
        !            82:   }
        !            83:   tosgemdlg[DLGTOSGEM_RES640+DialogParams.TOSGEM.nGEMResolution-GEMRES_640x480].state |= SG_SELECTED;
        !            84:   tosgemdlg[DLGTOSGEM_BPP1+DialogParams.TOSGEM.nGEMColours-GEMCOLOUR_2].state |= SG_SELECTED;
        !            85: 
        !            86:   do
        !            87:   {
        !            88:     but = SDLGui_DoDialog(tosgemdlg);
        !            89:     switch( but )
        !            90:     {
        !            91:       case DLGTOSGEM_ROMBROWSE:
        !            92:         strcpy(tmpname, DialogParams.TOSGEM.szTOSImageFileName);
        !            93:         File_MakeAbsoluteName(tmpname);
        !            94:         if( SDLGui_FileSelect(tmpname, NULL, FALSE) )   /* Show and process the file selection dlg */
        !            95:         {
        !            96:           strcpy(DialogParams.TOSGEM.szTOSImageFileName, tmpname);
        !            97:           File_ShrinkName(dlgromname, DialogParams.TOSGEM.szTOSImageFileName, 34);
        !            98:         }
        !            99:         break;
        !           100:     }
        !           101:   }
        !           102:   while(but!=DLGTOSGEM_EXIT && !bQuitProgram);
        !           103: 
        !           104:   DialogParams.TOSGEM.bUseExtGEMResolutions = (tosgemdlg[DLGTOSGEM_GEMRES].state & SG_SELECTED);
        !           105:   for(i=0; i<3; i++)
        !           106:   {
        !           107:     if(tosgemdlg[DLGTOSGEM_RES640 + i].state & SG_SELECTED)
        !           108:       DialogParams.TOSGEM.nGEMResolution = GEMRES_640x480 + i;
        !           109:     if(tosgemdlg[DLGTOSGEM_BPP1 + i].state & SG_SELECTED)
        !           110:       DialogParams.TOSGEM.nGEMColours = GEMCOLOUR_2 + i;
        !           111:   }
        !           112: 
        !           113:   Memory_Free(tmpname);
        !           114: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.