author  Holmes Futrell <hfutrell@umail.ucsb.edu> 
Thu, 17 Jul 2008 22:45:41 +0000  
branch  gsoc2008_iphone 
changeset 2354  2e4fea4a4416 
child 2399  d904584ea86d 
permissions  rwrr 
2354
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

1 
/* 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

2 
SDL  Simple DirectMedia Layer 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

3 
Copyright (C) 19972006 Sam Lantinga 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

4 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

5 
This library is free software; you can redistribute it and/or 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

6 
modify it under the terms of the GNU Lesser General Public 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

7 
License as published by the Free Software Foundation; either 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

8 
version 2.1 of the License, or (at your option) any later version. 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

9 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

10 
This library is distributed in the hope that it will be useful, 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

11 
but WITHOUT ANY WARRANTY; without even the implied warranty of 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

12 
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

13 
Lesser General Public License for more details. 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

14 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

15 
You should have received a copy of the GNU Lesser General Public 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

16 
License along with this library; if not, write to the Free Software 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

17 
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 021101301 USA 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

18 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

19 
Sam Lantinga 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

20 
slouken@libsdl.org 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

21 
*/ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

22 
#include "SDL_config.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

23 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

24 
/* Dummy SDL video driver implementation; this is just enough to make an 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

25 
* SDLbased application THINK it's got a working video driver, for 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

26 
* applications that call SDL_Init(SDL_INIT_VIDEO) when they don't need it, 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

27 
* and also for use as a collection of stubs when porting SDL to a new 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

28 
* platform for which you haven't yet written a valid video driver. 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

29 
* 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

30 
* This is also a great way to determine bottlenecks: if you think that SDL 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

31 
* is a performance problem for a given platform, enable this driver, and 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

32 
* then see if your application runs faster without video overhead. 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

33 
* 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

34 
* Initial work by Ryan C. Gordon (icculus@icculus.org). A good portion 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

35 
* of this was cutandpasted from Stephane Peter's work in the AAlib 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

36 
* SDL video driver. Renamed to "DUMMY" by Sam Lantinga. 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

37 
*/ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

38 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

39 
#include "SDL_video.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

40 
#include "SDL_mouse.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

41 
#include "../SDL_sysvideo.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

42 
#include "../SDL_pixels_c.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

43 
#include "../../events/SDL_events_c.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

44 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

45 
#include "SDL_uikitvideo.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

46 
#include "SDL_uikitevents.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

47 
#include "SDL_uikitwindow.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

48 
#import "SDL_uikitappdelegate.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

49 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

50 
#import "SDL_uikitopenglview.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

51 
#import "SDL_renderer_sw.h" 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

52 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

53 
#include <UIKit/UIKit.h> 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

54 
#include <Foundation/Foundation.h> 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

55 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

56 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

57 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

58 
extern UIWindow *uikitWindow; 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

59 
extern SDL_uikitopenglview *uikitEAGLView; 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

60 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

61 
int UIKit_CreateWindow(_THIS, SDL_Window *window) { 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

62 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

63 
printf("Create window! UIKIT!\n"); 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

64 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

65 
uikitWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

66 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

67 
if (window>flags & SDL_WINDOW_BORDERLESS) { 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

68 
/* hide status bar */ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

69 
[UIApplication sharedApplication].statusBarHidden = YES; 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

70 
} 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

71 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

72 
window>flags &= ~SDL_WINDOW_RESIZABLE; /* window is NEVER resizeable */ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

73 
window>flags = SDL_WINDOW_OPENGL; /* window is always OpenGL */ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

74 
window>flags = SDL_WINDOW_FULLSCREEN; /* window is always fullscreen */ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

75 
window>flags = SDL_WINDOW_SHOWN; /* only one window on iPod touch, always shown */ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

76 
window>flags = SDL_WINDOW_INPUT_FOCUS; /* always has input focus */ 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

77 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

78 
return 1; 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

79 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

80 
} 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

81 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

82 
void UIKit_DestroyWindow(_THIS, SDL_Window * window) { 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

83 
; 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

84 
} 
2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

85 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

86 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

87 

2e4fea4a4416
These files contain the window related functions for the UIKit video driver.
Holmes Futrell <hfutrell@umail.ucsb.edu>
parents:
diff
changeset

88 
/* vi: set ts=4 sw=4 expandtab: */ 