1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
package CoreGraphics
import "core:c"
import CF "core:sys/darwin/CoreFoundation"
@(require)
foreign import "system:CoreGraphics.framework"
@(link_prefix="CG", default_calling_convention="c")
foreign CoreGraphics {
AssociateMouseAndMouseCursorPosition :: proc(connected: b32) -> Error ---
DisplayIDToOpenGLDisplayMask :: proc(display: DirectDisplayID) -> OpenGLDisplayMask ---
DisplayMoveCursorToPoint :: proc(display: DirectDisplayID, point: Point) -> Error ---
EventSourceKeyState :: proc(stateID: EventSourceStateID, key: KeyCode) -> bool ---
GetActiveDisplayList :: proc(maxDisplays: c.uint32_t, activeDisplays: [^]DirectDisplayID, displayCount: ^c.uint32_t) -> Error ---
GetDisplaysWithOpenGLDisplayMask :: proc(mask: OpenGLDisplayMask, maxDisplays: c.uint32_t, displays: [^]DirectDisplayID, matchingDisplayCount: ^c.uint32_t) -> Error ---
GetDisplaysWithPoint :: proc(point: Point, maxDisplays: c.uint32_t, displays: [^]DirectDisplayID, matchingDisplayCount: ^c.uint32_t) -> Error ---
GetDisplaysWithRect :: proc(rect: Rect, maxDisplays: c.uint32_t, displays: [^]DirectDisplayID, matchingDisplayCount: ^c.uint32_t) -> Error ---
GetOnlineDisplayList :: proc(maxDisplays: c.uint32_t, onlineDisplays: [^]DirectDisplayID, displayCount: ^c.uint32_t) -> Error ---
MainDisplayID :: proc() -> DirectDisplayID ---
OpenGLDisplayMaskToDisplayID :: proc(mask: OpenGLDisplayMask) -> DirectDisplayID ---
WarpMouseCursorPosition :: proc(newCursorPosition: Point) -> Error ---
}
DirectDisplayID :: c.uint32_t
Error :: enum c.int32_t {
Success = 0,
Failure = 1000,
IllegalArgument = 1001,
InvalidConnection = 1002,
InvalidContext = 1003,
CannotComplete = 1004,
NotImplemented = 1006,
RangeCheck = 1007,
TypeCheck = 1008,
InvalidOperation = 1010,
NoneAvailable = 1011,
}
EventSourceStateID :: enum c.int32_t {
Private = -1,
CombinedSessionState = 0,
HIDSystemState = 1,
}
Float :: CF.CGFloat
KeyCode :: c.uint16_t
OpenGLDisplayMask :: c.uint32_t
Point :: CF.CGPoint
Rect :: CF.CGRect
Size :: CF.CGSize
|