1// Package gdkpixbuf was automatically generated by github.com/bnema/puregotk DO NOT EDIT
2package gdkpixbuf
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"
12 "github.com/bnema/puregotk/v4/gobject/types"
13)
14
15type PixbufSimpleAnimClass struct {
16 _ structs.HostLayout
17}
18
19func (x *PixbufSimpleAnimClass) GoPointer() uintptr {
20 return uintptr(unsafe.Pointer(x))
21}
22
23// An opaque struct representing a simple animation.
24type PixbufSimpleAnim struct {
25 PixbufAnimation
26}
27
28var xPixbufSimpleAnimGLibType func() types.GType
29
30func PixbufSimpleAnimGLibType() types.GType {
31 return xPixbufSimpleAnimGLibType()
32}
33
34func PixbufSimpleAnimNewFromInternalPtr(ptr uintptr) *PixbufSimpleAnim {
35 cls := &PixbufSimpleAnim{}
36 cls.Ptr = ptr
37 return cls
38}
39
40var xNewPixbufSimpleAnim func(int, int, float32) uintptr
41
42// Creates a new, empty animation.
43func NewPixbufSimpleAnim(WidthVar int, HeightVar int, RateVar float32) *PixbufSimpleAnim {
44 var cls *PixbufSimpleAnim
45
46 cret := xNewPixbufSimpleAnim(WidthVar, HeightVar, RateVar)
47
48 if cret == 0 {
49 return nil
50 }
51 cls = &PixbufSimpleAnim{}
52 cls.Ptr = cret
53 return cls
54}
55
56var xPixbufSimpleAnimAddFrame func(uintptr, uintptr)
57
58// Adds a new frame to @animation. The @pixbuf must
59// have the dimensions specified when the animation
60// was constructed.
61func (x *PixbufSimpleAnim) AddFrame(PixbufVar *Pixbuf) {
62
63 xPixbufSimpleAnimAddFrame(x.GoPointer(), PixbufVar.GoPointer())
64
65}
66
67var xPixbufSimpleAnimGetLoop func(uintptr) bool
68
69// Gets whether @animation should loop indefinitely when it reaches the end.
70func (x *PixbufSimpleAnim) GetLoop() bool {
71
72 cret := xPixbufSimpleAnimGetLoop(x.GoPointer())
73 return cret
74}
75
76var xPixbufSimpleAnimSetLoop func(uintptr, bool)
77
78// Sets whether @animation should loop indefinitely when it reaches the end.
79func (x *PixbufSimpleAnim) SetLoop(LoopVar bool) {
80
81 xPixbufSimpleAnimSetLoop(x.GoPointer(), LoopVar)
82
83}
84
85func (c *PixbufSimpleAnim) GoPointer() uintptr {
86 if c == nil {
87 return 0
88 }
89 return c.Ptr
90}
91
92func (c *PixbufSimpleAnim) SetGoPointer(ptr uintptr) {
93 c.Ptr = ptr
94}
95
96// SetPropertyLoop sets the "loop" property.
97// Whether the animation should loop when it reaches the end.
98func (x *PixbufSimpleAnim) SetPropertyLoop(value bool) {
99 var v gobject.Value
100 v.Init(gobject.TypeBooleanVal)
101 v.SetBoolean(value)
102 x.SetProperty("loop", &v)
103}
104
105// GetPropertyLoop gets the "loop" property.
106// Whether the animation should loop when it reaches the end.
107func (x *PixbufSimpleAnim) GetPropertyLoop() bool {
108 var v gobject.Value
109 x.GetProperty("loop", &v)
110 return v.GetBoolean()
111}
112
113func init() {
114 core.SetPackageName("GDKPIXBUF", "gdk-pixbuf-2.0")
115 core.SetSharedLibraries("GDKPIXBUF", []string{"libgdk_pixbuf-2.0.so.0"})
116 var libs []uintptr
117 for _, libPath := range core.GetPaths("GDKPIXBUF") {
118 lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL)
119 if err != nil {
120 panic(err)
121 }
122 libs = append(libs, lib)
123 }
124
125 core.PuregoSafeRegister(&xPixbufSimpleAnimGLibType, libs, "gdk_pixbuf_simple_anim_get_type")
126
127 core.PuregoSafeRegister(&xNewPixbufSimpleAnim, libs, "gdk_pixbuf_simple_anim_new")
128
129 core.PuregoSafeRegister(&xPixbufSimpleAnimAddFrame, libs, "gdk_pixbuf_simple_anim_add_frame")
130 core.PuregoSafeRegister(&xPixbufSimpleAnimGetLoop, libs, "gdk_pixbuf_simple_anim_get_loop")
131 core.PuregoSafeRegister(&xPixbufSimpleAnimSetLoop, libs, "gdk_pixbuf_simple_anim_set_loop")
132
133}