SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_cocoavideo.h
Go to the documentation of this file.
1
/*
2
Simple DirectMedia Layer
3
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
5
This software is provided 'as-is', without any express or implied
6
warranty. In no event will the authors be held liable for any damages
7
arising from the use of this software.
8
9
Permission is granted to anyone to use this software for any purpose,
10
including commercial applications, and to alter it and redistribute it
11
freely, subject to the following restrictions:
12
13
1. The origin of this software must not be misrepresented; you must not
14
claim that you wrote the original software. If you use this software
15
in a product, an acknowledgment in the product documentation would be
16
appreciated but is not required.
17
2. Altered source versions must be plainly marked as such, and must not be
18
misrepresented as being the original software.
19
3. This notice may not be removed or altered from any source distribution.
20
*/
21
#include "../../SDL_internal.h"
22
23
#ifndef SDL_cocoavideo_h_
24
#define SDL_cocoavideo_h_
25
26
#include "
SDL_opengl.h
"
27
28
#include <ApplicationServices/ApplicationServices.h>
29
#include <IOKit/pwr_mgt/IOPMLib.h>
30
#include <Cocoa/Cocoa.h>
31
32
#include "
SDL_keycode.h
"
33
#include "../SDL_sysvideo.h"
34
35
#include "
SDL_cocoaclipboard.h
"
36
#include "
SDL_cocoaevents.h
"
37
#include "
SDL_cocoakeyboard.h
"
38
#include "
SDL_cocoamodes.h
"
39
#include "
SDL_cocoamouse.h
"
40
#include "
SDL_cocoaopengl.h
"
41
#include "
SDL_cocoawindow.h
"
42
43
#ifndef MAC_OS_X_VERSION_10_12
44
#define DECLARE_EVENT(name) static const NSEventType NSEventType##name = NS##name
45
DECLARE_EVENT
(LeftMouseDown);
46
DECLARE_EVENT
(LeftMouseUp);
47
DECLARE_EVENT
(RightMouseDown);
48
DECLARE_EVENT
(RightMouseUp);
49
DECLARE_EVENT
(OtherMouseDown);
50
DECLARE_EVENT
(OtherMouseUp);
51
DECLARE_EVENT
(MouseMoved);
52
DECLARE_EVENT
(LeftMouseDragged);
53
DECLARE_EVENT
(RightMouseDragged);
54
DECLARE_EVENT
(OtherMouseDragged);
55
DECLARE_EVENT
(ScrollWheel);
56
DECLARE_EVENT
(KeyDown);
57
DECLARE_EVENT
(KeyUp);
58
DECLARE_EVENT
(FlagsChanged);
59
#undef DECLARE_EVENT
60
61
static
const
NSEventMask
NSEventMaskAny
= NSAnyEventMask;
62
63
#define DECLARE_MODIFIER_FLAG(name) static const NSUInteger NSEventModifierFlag##name = NS##name##KeyMask
64
DECLARE_MODIFIER_FLAG
(Shift);
65
DECLARE_MODIFIER_FLAG
(Control);
66
DECLARE_MODIFIER_FLAG
(Command);
67
DECLARE_MODIFIER_FLAG
(NumericPad);
68
DECLARE_MODIFIER_FLAG
(Help);
69
DECLARE_MODIFIER_FLAG
(Function);
70
#undef DECLARE_MODIFIER_FLAG
71
static
const
NSUInteger
NSEventModifierFlagCapsLock
= NSAlphaShiftKeyMask;
72
static
const
NSUInteger
NSEventModifierFlagOption
= NSAlternateKeyMask;
73
74
#define DECLARE_WINDOW_MASK(name) static const unsigned int NSWindowStyleMask##name = NS##name##WindowMask
75
DECLARE_WINDOW_MASK
(Borderless);
76
DECLARE_WINDOW_MASK
(Titled);
77
DECLARE_WINDOW_MASK
(Closable);
78
DECLARE_WINDOW_MASK
(Miniaturizable);
79
DECLARE_WINDOW_MASK
(Resizable);
80
DECLARE_WINDOW_MASK
(TexturedBackground);
81
DECLARE_WINDOW_MASK
(UnifiedTitleAndToolbar);
82
DECLARE_WINDOW_MASK
(FullScreen);
83
/*DECLARE_WINDOW_MASK(FullSizeContentView);*/
/* Not used, fails compile on older SDKs */
84
static
const
unsigned
int
NSWindowStyleMaskUtilityWindow
= NSUtilityWindowMask;
85
static
const
unsigned
int
NSWindowStyleMaskDocModalWindow
= NSDocModalWindowMask;
86
static
const
unsigned
int
NSWindowStyleMaskHUDWindow
= NSHUDWindowMask;
87
#undef DECLARE_WINDOW_MASK
88
89
#define DECLARE_ALERT_STYLE(name) static const NSUInteger NSAlertStyle##name = NS##name##AlertStyle
90
DECLARE_ALERT_STYLE
(Warning);
91
DECLARE_ALERT_STYLE
(Informational);
92
DECLARE_ALERT_STYLE
(Critical);
93
#undef DECLARE_ALERT_STYLE
94
#endif
95
96
/* Private display data */
97
98
@class
SDLTranslatorResponder;
99
100
typedef
struct
SDL_VideoData
101
{
102
int
allow_spaces
;
103
unsigned
int
modifierFlags
;
104
void
*
key_layout
;
105
SDLTranslatorResponder *
fieldEdit
;
106
NSInteger
clipboard_count
;
107
Uint32
screensaver_activity
;
108
BOOL
screensaver_use_iopm
;
109
IOPMAssertionID
screensaver_assertion
;
110
SDL_mutex
*
swaplock
;
111
}
SDL_VideoData
;
112
113
/* Utility functions */
114
extern
NSImage *
Cocoa_CreateImage
(
SDL_Surface
*
surface
);
115
116
#endif
/* SDL_cocoavideo_h_ */
117
118
/* vi: set ts=4 sw=4 expandtab: */
src
video
cocoa
SDL_cocoavideo.h
Generated on Sun Jun 26 2022 23:07:14 for SDL by
1.8.1.2