Annotation of hatari/src/gui-sdl/dlgTosGem.c, revision 1.1.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.