ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/Frodo4/Src/Display_SDL.h
(Generate patch)

Comparing Frodo4/Src/Display_SDL.h (file contents):
Revision 1.8 by cebix, 2009-01-11T11:32:38Z vs.
Revision 1.9 by cebix, 2010-04-21T22:06:15Z

# Line 2 | Line 2
2   *  Display_SDL.h - C64 graphics display, emulator window handling,
3   *                  SDL specific stuff
4   *
5 < *  Frodo (C) 1994-1997,2002-2009 Christian Bauer
5 > *  Frodo Copyright (C) Christian Bauer
6   *
7   *  This program is free software; you can redistribute it and/or modify
8   *  it under the terms of the GNU General Public License as published by
# Line 98 | Line 98 | C64Display::C64Display(C64 *the_c64) : T
98          SDL_WM_SetCaption(VERSION_STRING, "Frodo");
99          screen = SDL_SetVideoMode(DISPLAY_X, DISPLAY_Y + 17, 8, SDL_DOUBLEBUF | (ThePrefs.DisplayType == DISPTYPE_SCREEN ? SDL_FULLSCREEN : 0));
100  
101 +        // Hide mouse pointer in fullscreen mode
102 +        if (ThePrefs.DisplayType == DISPTYPE_SCREEN)
103 +                SDL_ShowCursor(0);
104 +
105          // LEDs off
106          for (int i=0; i<4; i++)
107                  led_state[i] = old_led_state[i] = LED_OFF;
# Line 122 | Line 126 | C64Display::C64Display(C64 *the_c64) : T
126  
127   C64Display::~C64Display()
128   {
129 +        pulse_tv.it_interval.tv_sec = 0;
130 +        pulse_tv.it_interval.tv_usec = 0;
131 +        pulse_tv.it_value.tv_sec = 0;
132 +        pulse_tv.it_value.tv_usec = 0;
133 +        setitimer(ITIMER_REAL, &pulse_tv, NULL);
134 +
135          SDL_Quit();
136 +
137 +        c64_disp = NULL;
138   }
139  
140  
# Line 429 | Line 441 | void C64Display::PollKeyboard(uint8 *key
441                                  switch (event.key.keysym.sym) {
442  
443                                          case SDLK_F9:   // F9: Invoke SAM
444 <                                                SAM(TheC64);
444 >                                                if (ThePrefs.DisplayType == DISPTYPE_WINDOW)  // don't invoke in fullscreen mode
445 >                                                        SAM(TheC64);
446                                                  break;
447  
448 <                                        case SDLK_F10:  // F10: Quit
449 <                                                quit_requested = true;
448 >                                        case SDLK_F10:  // F10: Prefs/Quit
449 >                                                TheC64->Pause();
450 >                                                if (ThePrefs.DisplayType == DISPTYPE_SCREEN) {  // exit fullscreen mode
451 >                                                        SDL_WM_ToggleFullScreen(screen);
452 >                                                        SDL_ShowCursor(1);
453 >                                                }
454 >
455 >                                                if (!TheApp->RunPrefsEditor()) {
456 >                                                        quit_requested = true;
457 >                                                }
458 >
459 >                                                if (ThePrefs.DisplayType == DISPTYPE_SCREEN) {  // enter fullscreen mode
460 >                                                        SDL_ShowCursor(0);
461 >                                                        SDL_WM_ToggleFullScreen(screen);
462 >                                                }
463 >
464 >                                                TheC64->Resume();
465                                                  break;
466  
467                                          case SDLK_F11:  // F11: NMI (Restore)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines