Skip to content

Commit

Permalink
Did some build fixes.
Browse files Browse the repository at this point in the history
  • Loading branch information
andlabs committed Dec 16, 2015
1 parent a6c0fbd commit e67ed84
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 4 deletions.
14 changes: 14 additions & 0 deletions area.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// 16 december 2015

package ui

// #include "ui.h"
import "C"

// no need to lock this; only the GUI thread can access it
var areas = make(map[*C.uiArea]*Area)

// TODO.
type Area struct {
Control
}
3 changes: 2 additions & 1 deletion areahandler.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

package ui

// #include <stdlib.h>
// #include "ui.h"
// extern void doAreaHandlerDraw(uiAreaHandler *, uiArea *, uiAreaDrawParams *);
// static inline uiAreaHandler *allocAreaHandler(void)
Expand Down Expand Up @@ -55,7 +56,7 @@ type AreaDrawParams struct {
VScrollPos int
}

// export doAreaHandlerDraw
//export doAreaHandlerDraw
func doAreaHandlerDraw(uah *C.uiAreaHandler, ua *C.uiArea, udp *C.uiAreaDrawParams) {
ah := areahandlers[uah]
a := areas[ua]
Expand Down
27 changes: 24 additions & 3 deletions draw.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,35 @@ import "C"
// dp.Context.Clip(p)
// // ...
// p.Free() // when done with the path
//
// A Path also defines its fill mode. (This should ideally be a fill
// parameter, but some implementations prevent it.)
// TODO talk about fill modes
type Path struct {
p *C.uiDrawPath
}

// NewPath creates a new Path.
func NewPath() *Path {
// TODO
type FillMode uint
const (
Winding FillMode = iota
Alternate
)

// NewPath creates a new Path with the given fill mode.
func NewPath(fillMode FillMode) *Path {
var fm C.uiDrawFillMode

switch fillMode {
case Winding:
fm = C.uiDrawFillModeWinding
case Alternate:
fm = C.uiDrawFillModeAlternate
default:
panic("invalid fill mode passed to ui.NewPath()")
}
return &Path{
p: C.uiDrawNewPath(),
p: C.uiDrawNewPath(fm),
}
}

Expand Down

0 comments on commit e67ed84

Please sign in to comment.