-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathlifecycle.go
More file actions
136 lines (131 loc) · 4.12 KB
/
lifecycle.go
File metadata and controls
136 lines (131 loc) · 4.12 KB
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
// Code generated by idiomgen. DO NOT EDIT.
package activity
import (
"unsafe"
capi "github.com/AndroidGoLab/ndk/capi/nativeactivity"
)
// LifecycleCallbacks holds Go callbacks for ANativeActivity lifecycle events.
type LifecycleCallbacks struct {
OnCreate func(*Activity)
OnStart func(*Activity)
OnResume func(*Activity)
OnSaveInstanceState func(*Activity, unsafe.Pointer)
OnPause func(*Activity)
OnStop func(*Activity)
OnDestroy func(*Activity)
OnWindowFocusChanged func(*Activity, int32)
OnNativeWindowCreated func(*Activity, unsafe.Pointer)
OnNativeWindowResized func(*Activity, unsafe.Pointer)
OnNativeWindowRedrawNeeded func(*Activity, unsafe.Pointer)
OnNativeWindowDestroyed func(*Activity, unsafe.Pointer)
OnInputQueueCreated func(*Activity, unsafe.Pointer)
OnInputQueueDestroyed func(*Activity, unsafe.Pointer)
OnContentRectChanged func(*Activity, unsafe.Pointer)
OnConfigurationChanged func(*Activity)
OnLowMemory func(*Activity)
}
// SetLifecycleCallbacks registers callbacks for the lifecycle events.
func SetLifecycleCallbacks(cb LifecycleCallbacks) {
bridgeCB := capi.LifecycleCallbacks{}
if cb.OnCreate != nil {
fn := cb.OnCreate
bridgeCB.OnCreate = func(p0 unsafe.Pointer) { fn(NewActivityFromPointer(p0)) }
}
if cb.OnStart != nil {
fn := cb.OnStart
bridgeCB.OnStart = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
if cb.OnResume != nil {
fn := cb.OnResume
bridgeCB.OnResume = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
if cb.OnSaveInstanceState != nil {
fn := cb.OnSaveInstanceState
bridgeCB.OnSaveInstanceState = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnPause != nil {
fn := cb.OnPause
bridgeCB.OnPause = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
if cb.OnStop != nil {
fn := cb.OnStop
bridgeCB.OnStop = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
if cb.OnDestroy != nil {
fn := cb.OnDestroy
bridgeCB.OnDestroy = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
if cb.OnWindowFocusChanged != nil {
fn := cb.OnWindowFocusChanged
bridgeCB.OnWindowFocusChanged = func(p0 unsafe.Pointer, p1 int32) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnNativeWindowCreated != nil {
fn := cb.OnNativeWindowCreated
bridgeCB.OnNativeWindowCreated = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnNativeWindowResized != nil {
fn := cb.OnNativeWindowResized
bridgeCB.OnNativeWindowResized = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnNativeWindowRedrawNeeded != nil {
fn := cb.OnNativeWindowRedrawNeeded
bridgeCB.OnNativeWindowRedrawNeeded = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnNativeWindowDestroyed != nil {
fn := cb.OnNativeWindowDestroyed
bridgeCB.OnNativeWindowDestroyed = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnInputQueueCreated != nil {
fn := cb.OnInputQueueCreated
bridgeCB.OnInputQueueCreated = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnInputQueueDestroyed != nil {
fn := cb.OnInputQueueDestroyed
bridgeCB.OnInputQueueDestroyed = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnContentRectChanged != nil {
fn := cb.OnContentRectChanged
bridgeCB.OnContentRectChanged = func(p0 unsafe.Pointer, p1 unsafe.Pointer) {
fn(NewActivityFromPointer(p0), p1)
}
}
if cb.OnConfigurationChanged != nil {
fn := cb.OnConfigurationChanged
bridgeCB.OnConfigurationChanged = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
if cb.OnLowMemory != nil {
fn := cb.OnLowMemory
bridgeCB.OnLowMemory = func(p0 unsafe.Pointer) {
fn(NewActivityFromPointer(p0))
}
}
capi.BridgeSetLifecycleCallbacks(bridgeCB)
}