Mercurial > sdl-ios-xcode
comparison src/video/cocoa/SDL_cocoawindow.h @ 1933:7ee5297340f7
Implemented Cocoa window support
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 24 Jul 2006 05:03:02 +0000 |
parents | |
children | 83946ee0ff1f |
comparison
equal
deleted
inserted
replaced
1932:dc864bcabcc4 | 1933:7ee5297340f7 |
---|---|
1 /* | |
2 SDL - Simple DirectMedia Layer | |
3 Copyright (C) 1997-2006 Sam Lantinga | |
4 | |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 */ | |
22 #include "SDL_config.h" | |
23 | |
24 #ifndef _SDL_cocoawindow_h | |
25 #define _SDL_cocoawindow_h | |
26 | |
27 typedef struct SDL_WindowData SDL_WindowData; | |
28 | |
29 @interface Cocoa_WindowListener:NSResponder { | |
30 SDL_WindowData *_data; | |
31 } | |
32 | |
33 -(void) listen:(SDL_WindowData *) data; | |
34 -(void) close; | |
35 | |
36 /* Window delegate functionality */ | |
37 -(BOOL) windowShouldClose:(id) sender; | |
38 -(void) windowDidExpose:(NSNotification *) aNotification; | |
39 -(void) windowDidMove:(NSNotification *) aNotification; | |
40 -(void) windowDidResize:(NSNotification *) aNotification; | |
41 -(void) windowDidMiniaturize:(NSNotification *) aNotification; | |
42 -(void) windowDidDeminiaturize:(NSNotification *) aNotification; | |
43 -(void) windowDidBecomeKey:(NSNotification *) aNotification; | |
44 -(void) windowDidResignKey:(NSNotification *) aNotification; | |
45 -(void) windowDidHide:(NSNotification *) aNotification; | |
46 -(void) windowDidUnhide:(NSNotification *) aNotification; | |
47 | |
48 /* Window event handling */ | |
49 -(void) mouseDown:(NSEvent *) theEvent; | |
50 -(void) rightMouseDown:(NSEvent *) theEvent; | |
51 -(void) otherMouseDown:(NSEvent *) theEvent; | |
52 -(void) mouseUp:(NSEvent *) theEvent; | |
53 -(void) rightMouseUp:(NSEvent *) theEvent; | |
54 -(void) otherMouseUp:(NSEvent *) theEvent; | |
55 -(void) mouseMoved:(NSEvent *) theEvent; | |
56 -(void) scrollWheel:(NSEvent *) theEvent; | |
57 -(void) mouseEntered:(NSEvent *) theEvent; | |
58 -(void) mouseExited:(NSEvent *) theEvent; | |
59 -(void) keyDown:(NSEvent *) theEvent; | |
60 -(void) keyUp:(NSEvent *) theEvent; | |
61 @end struct SDL_WindowData | |
62 { | |
63 SDL_WindowID windowID; | |
64 NSWindow *window; | |
65 BOOL created; | |
66 Cocoa_WindowListener *listener; | |
67 struct SDL_VideoData *videodata; | |
68 }; | |
69 | |
70 extern int Cocoa_CreateWindow(_THIS, SDL_Window * window); | |
71 extern int Cocoa_CreateWindowFrom(_THIS, SDL_Window * window, | |
72 const void *data); | |
73 extern void Cocoa_SetWindowTitle(_THIS, SDL_Window * window); | |
74 extern void Cocoa_SetWindowPosition(_THIS, SDL_Window * window); | |
75 extern void Cocoa_SetWindowSize(_THIS, SDL_Window * window); | |
76 extern void Cocoa_ShowWindow(_THIS, SDL_Window * window); | |
77 extern void Cocoa_HideWindow(_THIS, SDL_Window * window); | |
78 extern void Cocoa_RaiseWindow(_THIS, SDL_Window * window); | |
79 extern void Cocoa_MaximizeWindow(_THIS, SDL_Window * window); | |
80 extern void Cocoa_MinimizeWindow(_THIS, SDL_Window * window); | |
81 extern void Cocoa_RestoreWindow(_THIS, SDL_Window * window); | |
82 extern void Cocoa_SetWindowGrab(_THIS, SDL_Window * window); | |
83 extern void Cocoa_DestroyWindow(_THIS, SDL_Window * window); | |
84 extern SDL_bool Cocoa_GetWindowWMInfo(_THIS, SDL_Window * window, | |
85 struct SDL_SysWMinfo *info); | |
86 | |
87 #endif /* _SDL_cocoawindow_h */ | |
88 | |
89 /* vi: set ts=4 sw=4 expandtab: */ |