Skip to content

Commit 2c275b7

Browse files
committed
And finally migrated Area back.
1 parent 246950d commit 2c275b7

File tree

4 files changed

+36
-37
lines changed

4 files changed

+36
-37
lines changed

BBB_GOFILES/area.go renamed to area.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"unsafe"
77
)
88

9-
// #include "ui.h"
9+
// #include "pkgui.h"
1010
import "C"
1111

1212
// Area is a Control that represents a blank canvas that a program

BBB_GOFILES/areahandler.go renamed to areahandler.go

+13-36
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,7 @@ import (
66
"unsafe"
77
)
88

9-
// #include <stdlib.h>
10-
// #include "ui.h"
11-
// #include "util.h"
12-
// extern void doAreaHandlerDraw(uiAreaHandler *, uiArea *, uiAreaDrawParams *);
13-
// extern void doAreaHandlerMouseEvent(uiAreaHandler *, uiArea *, uiAreaMouseEvent *);
14-
// extern void doAreaHandlerMouseCrossed(uiAreaHandler *, uiArea *, int);
15-
// extern void doAreaHandlerDragBroken(uiAreaHandler *, uiArea *);
16-
// extern int doAreaHandlerKeyEvent(uiAreaHandler *, uiArea *, uiAreaKeyEvent *);
17-
// static inline uiAreaHandler *allocAreaHandler(void)
18-
// {
19-
// uiAreaHandler *ah;
20-
//
21-
// ah = (uiAreaHandler *) pkguiAlloc(sizeof (uiAreaHandler));
22-
// ah->Draw = doAreaHandlerDraw;
23-
// ah->MouseEvent = doAreaHandlerMouseEvent;
24-
// ah->MouseCrossed = doAreaHandlerMouseCrossed;
25-
// ah->DragBroken = doAreaHandlerDragBroken;
26-
// ah->KeyEvent = doAreaHandlerKeyEvent;
27-
// return ah;
28-
// }
29-
// static inline void freeAreaHandler(uiAreaHandler *ah)
30-
// {
31-
// free(ah);
32-
// }
9+
// #include "pkgui.h"
3310
import "C"
3411

3512
// no need to lock this; only the GUI thread can access it
@@ -122,14 +99,14 @@ type AreaHandler interface {
12299
}
123100

124101
func registerAreaHandler(ah AreaHandler) *C.uiAreaHandler {
125-
uah := C.allocAreaHandler()
102+
uah := C.pkguiAllocAreaHandler()
126103
areahandlers[uah] = ah
127104
return uah
128105
}
129106

130107
func unregisterAreaHandler(uah *C.uiAreaHandler) {
131108
delete(areahandlers, uah)
132-
C.freeAreaHandler(uah)
109+
C.pkguiFreeAreaHandler(uah)
133110
}
134111

135112
// AreaDrawParams provides a drawing context that can be used
@@ -159,8 +136,8 @@ type AreaDrawParams struct {
159136
ClipHeight float64
160137
}
161138

162-
//export doAreaHandlerDraw
163-
func doAreaHandlerDraw(uah *C.uiAreaHandler, ua *C.uiArea, udp *C.uiAreaDrawParams) {
139+
//export pkguiDoAreaHandlerDraw
140+
func pkguiDoAreaHandlerDraw(uah *C.uiAreaHandler, ua *C.uiArea, udp *C.uiAreaDrawParams) {
164141
ah := areahandlers[uah]
165142
a := ControlFromLibui(uintptr(unsafe.Pointer(ua))).(*Area)
166143
dp := &AreaDrawParams{
@@ -210,8 +187,8 @@ func appendBits(out []uint, held C.uint64_t) []uint {
210187
return out
211188
}
212189

213-
//export doAreaHandlerMouseEvent
214-
func doAreaHandlerMouseEvent(uah *C.uiAreaHandler, ua *C.uiArea, ume *C.uiAreaMouseEvent) {
190+
//export pkguiDoAreaHandlerMouseEvent
191+
func pkguiDoAreaHandlerMouseEvent(uah *C.uiAreaHandler, ua *C.uiArea, ume *C.uiAreaMouseEvent) {
215192
ah := areahandlers[uah]
216193
a := ControlFromLibui(uintptr(unsafe.Pointer(ua))).(*Area)
217194
me := &AreaMouseEvent{
@@ -229,15 +206,15 @@ func doAreaHandlerMouseEvent(uah *C.uiAreaHandler, ua *C.uiArea, ume *C.uiAreaMo
229206
ah.MouseEvent(a, me)
230207
}
231208

232-
//export doAreaHandlerMouseCrossed
233-
func doAreaHandlerMouseCrossed(uah *C.uiAreaHandler, ua *C.uiArea, left C.int) {
209+
//export pkguiDoAreaHandlerMouseCrossed
210+
func pkguiDoAreaHandlerMouseCrossed(uah *C.uiAreaHandler, ua *C.uiArea, left C.int) {
234211
ah := areahandlers[uah]
235212
a := ControlFromLibui(uintptr(unsafe.Pointer(ua))).(*Area)
236213
ah.MouseCrossed(a, tobool(left))
237214
}
238215

239-
//export doAreaHandlerDragBroken
240-
func doAreaHandlerDragBroken(uah *C.uiAreaHandler, ua *C.uiArea) {
216+
//export pkguiDoAreaHandlerDragBroken
217+
func pkguiDoAreaHandlerDragBroken(uah *C.uiAreaHandler, ua *C.uiArea) {
241218
ah := areahandlers[uah]
242219
a := ControlFromLibui(uintptr(unsafe.Pointer(ua))).(*Area)
243220
ah.DragBroken(a)
@@ -252,8 +229,8 @@ type AreaKeyEvent struct {
252229
Up bool
253230
}
254231

255-
//export doAreaHandlerKeyEvent
256-
func doAreaHandlerKeyEvent(uah *C.uiAreaHandler, ua *C.uiArea, uke *C.uiAreaKeyEvent) C.int {
232+
//export pkguiDoAreaHandlerKeyEvent
233+
func pkguiDoAreaHandlerKeyEvent(uah *C.uiAreaHandler, ua *C.uiArea, uke *C.uiAreaKeyEvent) C.int {
257234
ah := areahandlers[uah]
258235
a := ControlFromLibui(uintptr(unsafe.Pointer(ua))).(*Area)
259236
ke := &AreaKeyEvent{

pkgui.c

+18
Original file line numberDiff line numberDiff line change
@@ -206,3 +206,21 @@ void pkguiFreeDrawTextLayoutParams(uiDrawTextLayoutParams *p)
206206
{
207207
free(p);
208208
}
209+
210+
uiAreaHandler *pkguiAllocAreaHandler(void)
211+
{
212+
uiAreaHandler *ah;
213+
214+
ah = (uiAreaHandler *) pkguiAlloc(sizeof (uiAreaHandler));
215+
ah->Draw = pkguiDoAreaHandlerDraw;
216+
ah->MouseEvent = pkguiDoAreaHandlerMouseEvent;
217+
ah->MouseCrossed = pkguiDoAreaHandlerMouseCrossed;
218+
ah->DragBroken = pkguiDoAreaHandlerDragBroken;
219+
ah->KeyEvent = pkguiDoAreaHandlerKeyEvent;
220+
return ah;
221+
}
222+
223+
void pkguiFreeAreaHandler(uiAreaHandler *ah)
224+
{
225+
free(ah);
226+
}

pkgui.h

+4
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,8 @@ extern void pkguiFreeFontDescriptor(uiFontDescriptor *fd);
8585
extern uiDrawTextLayoutParams *pkguiNewDrawTextLayoutParams(void);
8686
extern void pkguiFreeDrawTextLayoutParams(uiDrawTextLayoutParams *p);
8787

88+
// area.go
89+
extern uiAreaHandler *pkguiAllocAreaHandler(void);
90+
extern void pkguiFreeAreaHandler(uiAreaHandler *ah);
91+
8892
#endif

0 commit comments

Comments
 (0)