1// Package graphene was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package graphene
3
4import (
5 "structs"
6 "unsafe"
7
8 "github.com/ebitengine/purego"
9
10 "github.com/bnema/puregotk/pkg/core"
11 "github.com/bnema/puregotk/v4/gobject/types"
12)
13
14// A 4 vertex quadrilateral, as represented by four #graphene_point_t.
15//
16// The contents of a #graphene_quad_t are private and should never be
17// accessed directly.
18type Quad struct {
19 _ structs.HostLayout
20
21 Points [4]Point
22}
23
24var xQuadGLibType func() types.GType
25
26func QuadGLibType() types.GType {
27 return xQuadGLibType()
28}
29
30func (x *Quad) GoPointer() uintptr {
31 return uintptr(unsafe.Pointer(x))
32}
33
34var xQuadAlloc func() *Quad
35
36// Allocates a new #graphene_quad_t instance.
37//
38// The contents of the returned instance are undefined.
39func QuadAlloc() *Quad {
40
41 cret := xQuadAlloc()
42 return cret
43}
44
45var xQuadBounds func(uintptr, *Rect)
46
47// Computes the bounding rectangle of @q and places it into @r.
48func (x *Quad) Bounds(RVar *Rect) {
49
50 xQuadBounds(x.GoPointer(), RVar)
51
52}
53
54var xQuadContains func(uintptr, *Point) bool
55
56// Checks if the given #graphene_quad_t contains the given #graphene_point_t.
57func (x *Quad) Contains(PVar *Point) bool {
58
59 cret := xQuadContains(x.GoPointer(), PVar)
60 return cret
61}
62
63var xQuadFree func(uintptr)
64
65// Frees the resources allocated by graphene_quad_alloc()
66func (x *Quad) Free() {
67
68 xQuadFree(x.GoPointer())
69
70}
71
72var xQuadGetPoint func(uintptr, uint) *Point
73
74// Retrieves the point of a #graphene_quad_t at the given index.
75func (x *Quad) GetPoint(IndexVar uint) *Point {
76
77 cret := xQuadGetPoint(x.GoPointer(), IndexVar)
78 return cret
79}
80
81var xQuadInit func(uintptr, *Point, *Point, *Point, *Point) *Quad
82
83// Initializes a #graphene_quad_t with the given points.
84func (x *Quad) Init(P1Var *Point, P2Var *Point, P3Var *Point, P4Var *Point) *Quad {
85
86 cret := xQuadInit(x.GoPointer(), P1Var, P2Var, P3Var, P4Var)
87 return cret
88}
89
90var xQuadInitFromPoints func(uintptr, *[4]Point) *Quad
91
92// Initializes a #graphene_quad_t using an array of points.
93func (x *Quad) InitFromPoints(PointsVar [4]Point) *Quad {
94
95 cret := xQuadInitFromPoints(x.GoPointer(), &PointsVar)
96 return cret
97}
98
99var xQuadInitFromRect func(uintptr, *Rect) *Quad
100
101// Initializes a #graphene_quad_t using the four corners of the
102// given #graphene_rect_t.
103func (x *Quad) InitFromRect(RVar *Rect) *Quad {
104
105 cret := xQuadInitFromRect(x.GoPointer(), RVar)
106 return cret
107}
108
109func init() {
110 core.SetPackageName("GRAPHENE", "graphene-gobject-1.0")
111 core.SetSharedLibraries("GRAPHENE", []string{"libgraphene-1.0.so.0"})
112 var libs []uintptr
113 for _, libPath := range core.GetPaths("GRAPHENE") {
114 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
115 if err != nil {
116 panic(err)
117 }
118 libs = append(libs, lib)
119 }
120
121 core.PuregoSafeRegister(&xQuadGLibType, libs, "graphene_quad_get_type")
122
123 core.PuregoSafeRegister(&xQuadAlloc, libs, "graphene_quad_alloc")
124
125 core.PuregoSafeRegister(&xQuadBounds, libs, "graphene_quad_bounds")
126 core.PuregoSafeRegister(&xQuadContains, libs, "graphene_quad_contains")
127 core.PuregoSafeRegister(&xQuadFree, libs, "graphene_quad_free")
128 core.PuregoSafeRegister(&xQuadGetPoint, libs, "graphene_quad_get_point")
129 core.PuregoSafeRegister(&xQuadInit, libs, "graphene_quad_init")
130 core.PuregoSafeRegister(&xQuadInitFromPoints, libs, "graphene_quad_init_from_points")
131 core.PuregoSafeRegister(&xQuadInitFromRect, libs, "graphene_quad_init_from_rect")
132
133}