detached 7d292f2

initial commit

commit
7d292f29a68fd087b8058504ca73618ab33315eb
author
jwijenbergh · · 2023-06-17 08:52 UTC
committer
jwijenbergh · · 2023-08-15 10:50 UTC
parent
none (root commit)
signature
GPG Unverified1A2298F6C34F96E5 The key is unknown
696 files · +745353 -0
A LICENSE +21 -0
@@ -0,0 +1,21 @@
1+MIT License
2+
3+Copyright (c) 2023 Jeroen Wijenbergh
4+
5+Permission is hereby granted, free of charge, to any person obtaining a copy
6+of this software and associated documentation files (the "Software"), to deal
7+in the Software without restriction, including without limitation the rights
8+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+copies of the Software, and to permit persons to whom the Software is
10+furnished to do so, subject to the following conditions:
11+
12+The above copyright notice and this permission notice shall be included in all
13+copies or substantial portions of the Software.
14+
15+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+SOFTWARE.
A README.md +95 -0
@@ -0,0 +1,95 @@
1+# Puregotk
2+
3+> **_NOTE:_** This library is currently expiremental and needs thorough testing. Some APIs might be incorrectly exposed
4+
5+Autogenerated GTK4+Adwaita bindings for Go leveraging [purego](https://github.com/ebitengine/purego)
6+
7+# Motivation
8+I created this library because I found that alternative libraries using Cgo had much too slow compilation speed. For my laptop around 15 minutes to build a simple example for [gotk3](https://github.com/gotk3/gotk3) and also [gotk4](https://github.com/diamondburned/gotk4).
9+This is not a fault for these libraries as CGo compilation is just inherently slow in Go. In this project I want to test a new approach by levering purego which allows you to load libraries using dlopen without needing cgo.
10+
11+Compilation speed currently is around 40 seconds for me on basic examples.
12+
13+## Advantages
14+
15+No Cgo needed, thus:
16+* Easy cross compilation
17+* No C toolchain needed
18+* Much faster compile times than alternatives like [gotk3](https://github.com/gotk3/gotk3) & [gotk4](https://github.com/diamondburned/gotk4)
19+
20+## Disadvantages
21+
22+Limitations of this library as compared to the alternatives using cgo:
23+* Some APIs are not possible due to purego not currently supporting struct arguments (that are not pointers)
24+* Currently only support for x86, for ARM I need to figure out how to get callbacks working in purego and contribute to purego
25+
26+# Planned features
27+In order of priority:
28+* General code cleanup
29+* ARM support
30+* Support for OS other than Linux (I only test on Linux currently)
31+* GTK 3 support
32+
33+# Basic example
34+
35+```go
36+package main
37+
38+import (
39+ "os"
40+ "github.com/jwijenbergh/puregotk/v4/gtk"
41+ "github.com/jwijenbergh/puregotk/v4/gio"
42+)
43+
44+func main() {
45+ app := gtk.NewApplication("com.github.jwijenbergh.puregotk.gtk4.hello", gio.GApplicationFlagsNoneValue)
46+ defer app.Unref()
47+ app.ConnectActivate(func (_ gio.Application) {
48+ activate(app)
49+ })
50+
51+ if code := app.Run(len(os.Args), os.Args); code > 0 {
52+ os.Exit(code)
53+ }
54+}
55+
56+func activate(app gtk.Application) {
57+ var window gtk.ApplicationWindow
58+ gtk.NewApplicationWindow(app).Cast(&window)
59+ window.SetTitle("purego")
60+ window.SetChild(gtk.NewLabel("Hello, World!"))
61+ window.SetDefaultSize(500, 500)
62+ window.Show()
63+}
64+```
65+
66+Save this to a main.go and then build & run with
67+
68+```bash
69+CGO_ENABLED=0 go run main.go
70+```
71+
72+> **_NOTE:_** Passing CGO_ENABLED=0 is currently required
73+
74+# Generating the library
75+This library is automatically generated by reading GIR files.
76+
77+To generate the library, run:
78+
79+```bash
80+./gen.sh
81+```
82+
83+In the root of the project. This needs:
84+
85+- Go >= 1.20
86+- [goimports](https://pkg.go.dev/golang.org/x/tools/cmd/goimports)
87+
88+# License
89+
90+[MIT](./LICENSE)
91+
92+# Acknowledgements
93+* [Purego](https://github.com/ebitengine/purego) and the ebitengine team for their great work
94+* [gotk4](https://github.com/diamondburned/gotk4) for some GIR type definitions
95+* [gtk](https://gitlab.com/gnome/gtk) of course
A gen.go +47 -0
@@ -0,0 +1,47 @@
1+package main
2+
3+import (
4+ "os"
5+ "path/filepath"
6+ "strings"
7+ "text/template"
8+
9+ "github.com/jwijenbergh/puregotk/internal/gir/pass"
10+ "github.com/jwijenbergh/puregotk/internal/gir/util"
11+)
12+
13+//go:generate go run gen.go
14+
15+func main() {
16+ dir := "v4"
17+ os.RemoveAll(dir)
18+ var girs []string
19+ filepath.Walk("internal/gir/spec", func(path string, f os.FileInfo, err error) error {
20+ if !strings.HasSuffix(path, ".gir") {
21+ return nil
22+ }
23+ girs = append(girs, path)
24+ return nil
25+ })
26+ p, err := pass.New(girs)
27+ if err != nil {
28+ panic(err)
29+ }
30+ // collect basic type info
31+ p.First()
32+
33+ // Create the template
34+ gotemp, err := template.New("go").Funcs(template.FuncMap{"conv": util.ConvertArgs, "convc": util.ConvertArgsComma}).ParseFiles("templates/go")
35+ if err != nil {
36+ panic(err)
37+ }
38+
39+ // Write go files by making the second pass
40+ p.Second(dir, gotemp)
41+
42+ // Finally copy some extra code that we want in the API
43+ data, err := os.ReadFile("templates/gobject")
44+ if err == nil {
45+ os.WriteFile("v4/gobject/more.go", data, 0o644)
46+ }
47+}
A gen.sh +18 -0
@@ -0,0 +1,18 @@
1+#!/usr/bin/env bash
2+
3+set -e
4+
5+echo "generating go files..."
6+go generate
7+
8+tmp=$(mktemp -d)
9+
10+echo "making sure imports are correct..."
11+GOPATH="$tmp" goimports --srcdir . -w v4 || { rm -r "$tmp"; exit 1; }
12+rm -r "$tmp"
13+
14+echo "formatting files..."
15+go fmt "github.com/jwijenbergh/puregotk/v4/..."
16+
17+echo "running go vet..."
18+go vet ./v4/...
A go.mod +7 -0
@@ -0,0 +1,7 @@
1+module github.com/jwijenbergh/puregotk
2+
3+go 1.20
4+
5+require github.com/jwijenbergh/purego v0.0.0-20230815104821-b26146068cfb
6+
7+require golang.org/x/sys v0.11.0 // indirect
A go.sum +4 -0 generated file: collapsed
A internal/core/core.go +138 -0
@@ -0,0 +1,138 @@
1+// package core implements core functionality for the generated files
2+// this core lib is imported by the generated code
3+package core
4+
5+import (
6+ "bytes"
7+ "fmt"
8+ "os"
9+ "os/exec"
10+ "path/filepath"
11+ "strings"
12+
13+ "github.com/jwijenbergh/purego"
14+)
15+
16+func PuregoSafeRegister(fptr interface{}, handle uintptr, name string) error {
17+ sym, err := purego.Dlsym(handle, name)
18+ if err != nil {
19+ return err
20+ }
21+ purego.RegisterFunc(fptr, sym)
22+ return nil
23+}
24+
25+// paths to where the shared object files should be located
26+// TODO: This needs to be split in architecture and more paths should be added
27+var paths = []string{
28+ "/usr/lib/x86_64-linux-gnu/",
29+}
30+
31+// names is a lookup from library names to shared object filenames
32+var names = map[string][]string{
33+ "ADW": {"libadwaita-1.so"},
34+ "CAIRO": {"libcairo.so"},
35+ "GDK": {"libgtk-4.so"},
36+ "GDKPIXBUF": {"libgdk_pixbuf-2.0.so"},
37+ "GIO": {"libgio-2.0.so"},
38+ "GLIB": {"libglib-2.0.so"},
39+ "GMODULE": {"libgmodule-2.0.so"},
40+ "GOBJECT": {"libgobject-2.0.so"},
41+ "GRAPHENE": {"libgraphene-1.0.so"},
42+ "GSK": {"libgtk-4.so"},
43+ "GTK": {"libgtk-4.so"},
44+ "PANGO": {"libpango-1.0.so"},
45+ "PANGOCAIRO": {"libpangocairo-1.0.so"},
46+}
47+
48+// pkgConfNames is a lookup from library names to pkg-config library names
49+// TODO: Get this from the package name in the gir files with a fallback to gtk's package name
50+var pkgConfNames = map[string]string{
51+ "ADW": "libadwaita-1",
52+ "CAIRO": "cairo",
53+ "GDK": "gtk4",
54+ "GDKPIXBUF": "gdk-pixbuf-2.0",
55+ "GIO": "gio-2.0",
56+ "GLIB": "glib-2.0",
57+ "GMODULE": "gmodule-2.0",
58+ "GOBJECT": "gobject-2.0",
59+ "GRAPHENE": "graphene-gobject-1.0",
60+ "GSK": "gtk4",
61+ "GTK": "gtk4",
62+ "PANGO": "pango",
63+ "PANGOCAIRO": "pangocairo",
64+}
65+
66+// findSo tries to find a shared object from a path and a library name
67+// It does this by mapping the library name to a suitable shared object filename and then trying some suffixes
68+func findSo(path string, name string) string {
69+ for _, n := range names[name] {
70+ suffixes := []string{"", ".0", ".1", ".2"}
71+ fn := filepath.Join(path, n)
72+ for _, s := range suffixes {
73+ if _, err := os.Stat(fn + s); err == nil {
74+ return fn
75+ }
76+ }
77+ }
78+ return ""
79+}
80+
81+// findPkgConf finds a shared object file with pkg-config
82+// it does this by running pkg-config --libs-only-L libname
83+// and then it loops over the directories returned and finds a suitable one
84+func findPkgConf(name string) string {
85+ // try to get with pkg-config
86+ cmd := exec.Command("pkg-config", "--libs-only-L", pkgConfNames[name])
87+ var out, outerr bytes.Buffer
88+ cmd.Stdout = &out
89+ cmd.Stderr = &outerr
90+ err := cmd.Run()
91+ if err != nil {
92+ fmt.Fprintf(os.Stderr, "pkg-config, failed with: %v and stderr: %s\n", err, outerr.String())
93+ return ""
94+ }
95+ outs := strings.Split(out.String(), "-L")
96+ for _, v := range outs {
97+ c := strings.TrimSpace(v)
98+ if c == "" {
99+ continue
100+ }
101+ g := findSo(c, name)
102+ if g != "" {
103+ return g
104+ }
105+ }
106+ return ""
107+}
108+
109+// GetPath gets a shared object file from a library name
110+// it does it in the following order
111+// see if PUREGOTK_LIBNAME_PATH is set
112+// go over the hardcoded paths
113+// find a library name with pkg-config
114+// panic if failed
115+// TODO: Hardcore a library shared object with linker -X flag
116+// This is useful for packaging
117+func GetPath(name string) string {
118+ // try to get from env var
119+ ev := fmt.Sprintf("PUREGOTK_%s_PATH", name)
120+ if v := os.Getenv(ev); v != "" {
121+ return v
122+ }
123+
124+ // try to loop over paths
125+ for _, p := range paths {
126+ g := findSo(p, name)
127+ if g != "" {
128+ return g
129+ }
130+
131+ }
132+ g := findPkgConf(name)
133+ if g != "" {
134+ return g
135+ }
136+
137+ panic(fmt.Sprintf("Path for library: %s not found. Please set the path to this library shared object file manually with env variable: %s. Or make sure pkg-config is setup correctly", strings.ToLower(name), ev))
138+}
A internal/gir/pass/pass.go +303 -0
@@ -0,0 +1,303 @@
1+// package pass implements the first and second pass to go from gir files to go files
2+// the first pass collects basic type information
3+// the second pass uses the basic type information to go over the gir files again and convert it to go files
4+package pass
5+
6+import (
7+ "encoding/xml"
8+ "fmt"
9+ "os"
10+ "strings"
11+ "text/template"
12+
13+ "github.com/jwijenbergh/puregotk/internal/gir/types"
14+ "github.com/jwijenbergh/puregotk/internal/gir/util"
15+)
16+
17+type Pass struct {
18+ Parsed []types.Repository
19+ Types types.KindMap
20+}
21+
22+// New creates a new pass struct by parsing gir files in the string slice
23+// This pass object will then be used to go over these files multiple times up until we have the full info to convert it to go files
24+func New(files []string) (*Pass, error) {
25+ p := Pass{
26+ Parsed: make([]types.Repository, len(files)),
27+ Types: make(types.KindMap),
28+ }
29+ for i, f := range files {
30+ b, err := os.ReadFile(f)
31+ if err != nil {
32+ return nil, err
33+ }
34+ var r types.Repository
35+ err = xml.Unmarshal(b, &r)
36+ if err != nil {
37+ return nil, err
38+ }
39+ p.Parsed[i] = r
40+ }
41+ return &p, nil
42+}
43+
44+func (p *Pass) collectTypes(r types.Repository) {
45+ ns := r.Namespaces[0]
46+ for _, cls := range ns.Classes {
47+ p.Types.Add(ns.Name, cls.Name, types.ClassesType, cls)
48+ }
49+ for _, rec := range ns.Records {
50+ p.Types.Add(ns.Name, rec.Name, types.RecordsType, rec)
51+ }
52+ for _, en := range ns.Enums {
53+ // TODO: This probably shouldn't be aliastype, but we should make dedicated types
54+ p.Types.Add(ns.Name, en.Name, types.AliasType, en)
55+ }
56+ for _, cb := range ns.Callbacks {
57+ p.Types.Add(ns.Name, cb.Name, types.CallbackType, cb)
58+ }
59+ for _, b := range ns.Bitfields {
60+ // TODO: This probably shouldn't be aliastype, but we should make dedicated types
61+ p.Types.Add(ns.Name, b.Name, types.AliasType, b)
62+ }
63+ for _, inter := range ns.Interfaces {
64+ p.Types.Add(ns.Name, inter.Name, types.InterfacesType, inter)
65+ }
66+}
67+
68+// First does a "first pass" meaning it collects basic type information for all the repositories
69+func (p *Pass) First() {
70+ for _, r := range p.Parsed {
71+ p.collectTypes(r)
72+ }
73+}
74+
75+func (p *Pass) writeGo(r types.Repository, gotemp *template.Template, dir string) {
76+ ns := r.Namespaces[0]
77+
78+ aliases := make(map[string][]types.AliasTemplate)
79+ enums := make(map[string][]types.EnumTemplate)
80+ var files []string
81+ for _, el := range ns.Bitfields {
82+ temp := el.Template(ns.Name)
83+ fn := el.FilenameSafe()
84+ files = append(files, fn)
85+ enums[fn] = append(enums[fn], temp)
86+ }
87+
88+ for _, el := range ns.Enums {
89+ temp := el.Template(ns.Name)
90+ fn := el.FilenameSafe()
91+ files = append(files, fn)
92+ enums[fn] = append(enums[fn], temp)
93+ }
94+
95+ records := make(map[string][]types.RecordTemplate)
96+ recordLookup := make(map[string]bool)
97+ for _, rec := range ns.Records {
98+ name := util.SnakeToCamel(rec.Name)
99+ fields := make([]types.RecordField, len(rec.Fields))
100+ fn := rec.FilenameSafe()
101+ files = append(files, fn)
102+ for _, f := range rec.Fields {
103+ _type := f.Translate(ns.Name, p.Types)
104+ if _type == "" {
105+ continue
106+ }
107+ fields = append(fields, types.RecordField{
108+ Name: util.SnakeToCamel(f.Name),
109+ Type: _type,
110+ })
111+ }
112+ records[fn] = append(records[fn], types.RecordTemplate{
113+ Name: name,
114+ Doc: rec.Doc.StringSafe(),
115+ Fields: fields,
116+ })
117+ recordLookup[name] = true
118+ }
119+
120+ callbacks := make(map[string][]types.CallbackTemplate)
121+ // set every callback equal to uintptr as well
122+ for _, cb := range ns.Callbacks {
123+ fn := cb.FilenameSafe()
124+ files = append(files, fn)
125+ cbT := types.CallbackTemplate{
126+ Doc: cb.Doc.StringSafe(),
127+ Name: cb.Name,
128+ Args: cb.Parameters.Template(ns.Name, "", p.Types),
129+ Ret: cb.ReturnValue.Template(ns.Name, "", p.Types),
130+ }
131+ callbacks[fn] = append(callbacks[fn], cbT)
132+ }
133+
134+ interfaces := make(map[string][]types.InterfaceTemplate)
135+ for _, inter := range ns.Interfaces {
136+ fn := inter.FilenameSafe()
137+ files = append(files, fn)
138+ interfaces[fn] = append(interfaces[fn], types.ConvertInterface(ns.Name, "", inter, nil, p.Types))
139+ }
140+
141+ for _, union := range ns.Unions {
142+ fn := union.FilenameSafe()
143+ files = append(files, fn)
144+ name := util.SnakeToCamel(union.Name)
145+ interT := types.AliasTemplate{
146+ Doc: union.Doc.StringSafe(),
147+ Name: name,
148+ // structs are not yet supported in CGO
149+ Value: "uintptr",
150+ }
151+ aliases[fn] = append(aliases[fn], interT)
152+ }
153+
154+ for _, alias := range ns.Aliases {
155+ fn := alias.FilenameSafe()
156+ files = append(files, fn)
157+ typeName := alias.Type.Template(ns.Name, p.Types)
158+ if typeName == "" {
159+ typeName = "uintptr"
160+ }
161+ name := util.SnakeToCamel(alias.Name)
162+ aliasT := types.AliasTemplate{
163+ Doc: alias.Doc.StringSafe(),
164+ Name: name,
165+ // structs are not yet supported in CGO
166+ Value: typeName,
167+ }
168+ aliases[fn] = append(aliases[fn], aliasT)
169+ }
170+
171+ functions := make(map[string][]types.FuncTemplate)
172+ for _, f := range ns.Functions {
173+ name := util.SnakeToCamel(f.Name)
174+ if p.Types.Kind(ns.Name, name) != types.UnknownType {
175+ name = "New" + name
176+ }
177+ fn := f.FilenameSafe()
178+ files = append(files, fn)
179+ functions[fn] = append(functions[fn], types.FuncTemplate{
180+ Name: name,
181+ CName: f.CIdentifier,
182+ Doc: f.Doc.StringSafe(),
183+ Args: f.Parameters.Template(ns.Name, "", p.Types),
184+ Ret: f.ReturnValue.Template(ns.Name, "", p.Types),
185+ })
186+ }
187+
188+ classes := make(map[string][]types.ClassTemplate)
189+ for _, cls := range ns.Classes {
190+ implemented := make(map[string]bool)
191+ constructors := make([]types.FuncTemplate, len(cls.Constructors))
192+ fn := cls.FilenameSafe()
193+ files = append(files, fn)
194+
195+ for i, c := range cls.Constructors {
196+ name := util.SnakeToCamel(c.Name)
197+ constructors[i] = types.FuncTemplate{
198+ Name: name,
199+ CName: c.CIdentifier,
200+ Doc: c.Doc.StringSafe(),
201+ Args: c.Parameters.Template(ns.Name, "", p.Types),
202+ Ret: c.ReturnValue.Template(ns.Name, "", p.Types),
203+ }
204+ }
205+ signals := make([]types.SignalsTemplate, len(cls.Signals))
206+ for i, s := range cls.Signals {
207+ signals[i] = types.SignalsTemplate{
208+ Doc: s.Doc.StringSafe(),
209+ Name: util.DashToCamel(s.Name),
210+ CName: s.Name,
211+ Args: s.Parameters.Template(ns.Name, "", p.Types),
212+ Ret: s.ReturnValue.Template(ns.Name, "", p.Types),
213+ }
214+ }
215+ receivers := make([]types.FuncTemplate, len(cls.Methods))
216+ for i, f := range cls.Methods {
217+ name := util.SnakeToCamel(f.Name)
218+ implemented[name] = true
219+ receivers[i] = types.FuncTemplate{
220+ Doc: f.Doc.StringSafe(),
221+ Name: name,
222+ CName: f.CIdentifier,
223+ Args: f.Parameters.Template(ns.Name, "", p.Types),
224+ Ret: f.ReturnValue.Template(ns.Name, "", p.Types),
225+ }
226+ }
227+ var interfaces []types.InterfaceTemplate
228+ for _, impl := range cls.Implements {
229+ interfaces = append(interfaces, types.GetInterfaceFuncs(ns.Name, impl.Name, implemented, p.Types))
230+ }
231+ classes[fn] = append(classes[fn], types.ClassTemplate{
232+ Doc: cls.Doc.StringSafe(),
233+ Name: cls.Name,
234+ Parent: util.NormalizeNamespace(ns.Name, cls.Parent, true),
235+ Constructors: constructors,
236+ Receivers: receivers,
237+ Interfaces: interfaces,
238+ Signals: signals,
239+ })
240+ }
241+
242+ pkgName := strings.ToLower(ns.Name)
243+ for _, fn := range files {
244+ var includesSlice []string
245+ //includesSlice := make([]string, len(includes[fn]))
246+ //i := 0
247+ //for k, v := range includes[fn] {
248+ // if v {
249+ // includesSlice[i] = k
250+ // }
251+ // i++
252+ //}
253+ methods := 0
254+ for _, i := range interfaces[fn] {
255+ for range i.Methods {
256+ methods += 1
257+ }
258+ }
259+ for _, i := range classes[fn] {
260+ for range i.Constructors {
261+ methods += 1
262+ }
263+ for range i.Receivers {
264+ methods += 1
265+ }
266+ }
267+ // we do not need to add the length of interfaces in here
268+ // as they should only be loaded when there are classes
269+ needsInit := (len(functions[fn]) + methods) > 0
270+
271+ args := types.TemplateArg{
272+ PkgName: pkgName,
273+ PkgEnv: strings.ToUpper(pkgName),
274+ NeedsInit: needsInit,
275+ Imports: includesSlice,
276+ Aliases: aliases[fn],
277+ Callbacks: callbacks[fn],
278+ Records: records[fn],
279+ Enums: enums[fn],
280+ Functions: functions[fn],
281+ Interfaces: interfaces[fn],
282+ Classes: classes[fn],
283+ }
284+
285+ os.MkdirAll(fmt.Sprintf(dir+"/%s", pkgName), 0o755)
286+
287+ f, err := os.Create(fmt.Sprintf(dir+"/%s/%s", pkgName, fn))
288+ if err != nil {
289+ panic(err)
290+ }
291+ err = gotemp.Execute(f, args)
292+ if err != nil {
293+ panic(err)
294+ }
295+
296+ }
297+}
298+
299+func (p *Pass) Second(dir string, gotemp *template.Template) {
300+ for _, r := range p.Parsed {
301+ p.writeGo(r, gotemp, dir)
302+ }
303+}
A internal/gir/spec/Adw-1.gir +29130 -0 large diff (29130 lines changed): collapsed
A internal/gir/spec/GLib-2.0.gir +83214 -0 large diff (83214 lines changed): collapsed
A internal/gir/spec/GModule-2.0.gir +522 -0
@@ -0,0 +1,522 @@
1+<?xml version="1.0"?>
2+<!-- This file was automatically generated from C sources - DO NOT EDIT!
3+To affect the contents of this file, edit the original C definitions,
4+and/or use gtk-doc annotations. -->
5+<repository version="1.2"
6+ xmlns="http://www.gtk.org/introspection/core/1.0"
7+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
8+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9+ <include name="GLib" version="2.0"/>
10+ <package name="gmodule-2.0"/>
11+ <c:include name="gmodule.h"/>
12+ <namespace name="GModule"
13+ version="2.0"
14+ shared-library="libgmodule-2.0.so.0"
15+ c:identifier-prefixes="G"
16+ c:symbol-prefixes="g">
17+ <record name="Module" c:type="GModule" disguised="1">
18+ <doc xml:space="preserve"
19+ filename="gmodule-2.0.c"
20+ line="5">The #GModule struct is an opaque data structure to represent a
21+[dynamically-loaded module][glib-Dynamic-Loading-of-Modules].
22+It should only be accessed via the following functions.</doc>
23+ <source-position filename="gmodule.h" line="65"/>
24+ <method name="close" c:identifier="g_module_close">
25+ <doc xml:space="preserve"
26+ filename="gmodule-2.0.c"
27+ line="185">Closes a module.</doc>
28+ <source-position filename="gmodule.h" line="105"/>
29+ <return-value transfer-ownership="none">
30+ <doc xml:space="preserve"
31+ filename="gmodule-2.0.c"
32+ line="191">%TRUE on success</doc>
33+ <type name="gboolean" c:type="gboolean"/>
34+ </return-value>
35+ <parameters>
36+ <instance-parameter name="module" transfer-ownership="none">
37+ <doc xml:space="preserve"
38+ filename="gmodule-2.0.c"
39+ line="187">a #GModule to close</doc>
40+ <type name="Module" c:type="GModule*"/>
41+ </instance-parameter>
42+ </parameters>
43+ </method>
44+ <method name="make_resident" c:identifier="g_module_make_resident">
45+ <doc xml:space="preserve"
46+ filename="gmodule-2.0.c"
47+ line="204">Ensures that a module will never be unloaded.
48+Any future g_module_close() calls on the module will be ignored.</doc>
49+ <source-position filename="gmodule.h" line="109"/>
50+ <return-value transfer-ownership="none">
51+ <type name="none" c:type="void"/>
52+ </return-value>
53+ <parameters>
54+ <instance-parameter name="module" transfer-ownership="none">
55+ <doc xml:space="preserve"
56+ filename="gmodule-2.0.c"
57+ line="206">a #GModule to make permanently resident</doc>
58+ <type name="Module" c:type="GModule*"/>
59+ </instance-parameter>
60+ </parameters>
61+ </method>
62+ <method name="name" c:identifier="g_module_name">
63+ <doc xml:space="preserve"
64+ filename="gmodule-2.0.c"
65+ line="213">Returns the filename that the module was opened with.
66+
67+If @module refers to the application itself, "main" is returned.</doc>
68+ <source-position filename="gmodule.h" line="123"/>
69+ <return-value transfer-ownership="none">
70+ <doc xml:space="preserve"
71+ filename="gmodule-2.0.c"
72+ line="221">the filename of the module</doc>
73+ <type name="utf8" c:type="const gchar*"/>
74+ </return-value>
75+ <parameters>
76+ <instance-parameter name="module" transfer-ownership="none">
77+ <doc xml:space="preserve"
78+ filename="gmodule-2.0.c"
79+ line="215">a #GModule</doc>
80+ <type name="Module" c:type="GModule*"/>
81+ </instance-parameter>
82+ </parameters>
83+ </method>
84+ <method name="symbol" c:identifier="g_module_symbol">
85+ <doc xml:space="preserve"
86+ filename="gmodule-2.0.c"
87+ line="273">Gets a symbol pointer from a module, such as one exported
88+by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL.</doc>
89+ <source-position filename="gmodule.h" line="117"/>
90+ <return-value transfer-ownership="none">
91+ <doc xml:space="preserve"
92+ filename="gmodule-2.0.c"
93+ line="282">%TRUE on success</doc>
94+ <type name="gboolean" c:type="gboolean"/>
95+ </return-value>
96+ <parameters>
97+ <instance-parameter name="module" transfer-ownership="none">
98+ <doc xml:space="preserve"
99+ filename="gmodule-2.0.c"
100+ line="275">a #GModule</doc>
101+ <type name="Module" c:type="GModule*"/>
102+ </instance-parameter>
103+ <parameter name="symbol_name" transfer-ownership="none">
104+ <doc xml:space="preserve"
105+ filename="gmodule-2.0.c"
106+ line="276">the name of the symbol to find</doc>
107+ <type name="utf8" c:type="const gchar*"/>
108+ </parameter>
109+ <parameter name="symbol"
110+ direction="out"
111+ caller-allocates="0"
112+ transfer-ownership="full"
113+ nullable="1">
114+ <doc xml:space="preserve"
115+ filename="gmodule-2.0.c"
116+ line="277">returns the pointer to the symbol value</doc>
117+ <type name="gpointer" c:type="gpointer*"/>
118+ </parameter>
119+ </parameters>
120+ </method>
121+ <function name="build_path" c:identifier="g_module_build_path">
122+ <doc xml:space="preserve"
123+ filename="gmodule-2.0.c"
124+ line="159">A portable way to build the filename of a module. The platform-specific
125+prefix and suffix are added to the filename, if needed, and the result
126+is added to the directory, using the correct separator character.
127+
128+The directory should specify the directory where the module can be found.
129+It can be %NULL or an empty string to indicate that the module is in a
130+standard platform-specific directory, though this is not recommended
131+since the wrong module may be found.
132+
133+For example, calling g_module_build_path() on a Linux system with a
134+@directory of `/lib` and a @module_name of "mylibrary" will return
135+`/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
136+directory it will return `\Windows\mylibrary.dll`.</doc>
137+ <source-position filename="gmodule.h" line="137"/>
138+ <return-value transfer-ownership="full">
139+ <doc xml:space="preserve"
140+ filename="gmodule-2.0.c"
141+ line="180">the complete path of the module, including the standard library
142+ prefix and suffix. This should be freed when no longer needed</doc>
143+ <type name="utf8" c:type="gchar*"/>
144+ </return-value>
145+ <parameters>
146+ <parameter name="directory"
147+ transfer-ownership="none"
148+ nullable="1"
149+ allow-none="1">
150+ <doc xml:space="preserve"
151+ filename="gmodule-2.0.c"
152+ line="161">the directory where the module is. This can be
153+ %NULL or the empty string to indicate that the standard platform-specific
154+ directories will be used, though that is not recommended</doc>
155+ <type name="utf8" c:type="const gchar*"/>
156+ </parameter>
157+ <parameter name="module_name" transfer-ownership="none">
158+ <doc xml:space="preserve"
159+ filename="gmodule-2.0.c"
160+ line="164">the name of the module</doc>
161+ <type name="utf8" c:type="const gchar*"/>
162+ </parameter>
163+ </parameters>
164+ </function>
165+ <function name="error" c:identifier="g_module_error">
166+ <doc xml:space="preserve"
167+ filename="gmodule-2.0.c"
168+ line="195">Gets a string describing the last module error.</doc>
169+ <source-position filename="gmodule.h" line="113"/>
170+ <return-value transfer-ownership="none">
171+ <doc xml:space="preserve"
172+ filename="gmodule-2.0.c"
173+ line="200">a string describing the last module error</doc>
174+ <type name="utf8" c:type="const gchar*"/>
175+ </return-value>
176+ </function>
177+ <function name="error_quark" c:identifier="g_module_error_quark">
178+ <return-value transfer-ownership="none">
179+ <type name="GLib.Quark" c:type="GQuark"/>
180+ </return-value>
181+ </function>
182+ <function name="open" c:identifier="g_module_open" introspectable="0">
183+ <doc xml:space="preserve"
184+ filename="gmodule-2.0.c"
185+ line="225">A thin wrapper function around g_module_open_full()</doc>
186+ <source-position filename="gmodule.h" line="95"/>
187+ <return-value>
188+ <doc xml:space="preserve"
189+ filename="gmodule-2.0.c"
190+ line="234">a #GModule on success, or %NULL on failure</doc>
191+ <type name="Module" c:type="GModule*"/>
192+ </return-value>
193+ <parameters>
194+ <parameter name="file_name"
195+ transfer-ownership="none"
196+ nullable="1"
197+ allow-none="1">
198+ <doc xml:space="preserve"
199+ filename="gmodule-2.0.c"
200+ line="227">the name of the file containing the module, or %NULL
201+ to obtain a #GModule representing the main program itself</doc>
202+ <type name="utf8" c:type="const gchar*"/>
203+ </parameter>
204+ <parameter name="flags" transfer-ownership="none">
205+ <doc xml:space="preserve"
206+ filename="gmodule-2.0.c"
207+ line="229">the flags used for opening the module. This can be the
208+ logical OR of any of the #GModuleFlags.</doc>
209+ <type name="ModuleFlags" c:type="GModuleFlags"/>
210+ </parameter>
211+ </parameters>
212+ </function>
213+ <function name="open_full"
214+ c:identifier="g_module_open_full"
215+ version="2.70"
216+ introspectable="0"
217+ throws="1">
218+ <doc xml:space="preserve"
219+ filename="gmodule-2.0.c"
220+ line="238">Opens a module. If the module has already been opened,
221+its reference count is incremented.
222+
223+First of all g_module_open_full() tries to open @file_name as a module.
224+If that fails and @file_name has the ".la"-suffix (and is a libtool
225+archive) it tries to open the corresponding module. If that fails
226+and it doesn't have the proper module suffix for the platform
227+(%G_MODULE_SUFFIX), this suffix will be appended and the corresponding
228+module will be opened. If that fails and @file_name doesn't have the
229+".la"-suffix, this suffix is appended and g_module_open_full() tries to open
230+the corresponding module. If eventually that fails as well, %NULL is
231+returned.</doc>
232+ <source-position filename="gmodule.h" line="99"/>
233+ <return-value>
234+ <doc xml:space="preserve"
235+ filename="gmodule-2.0.c"
236+ line="259">a #GModule on success, or %NULL on failure</doc>
237+ <type name="Module" c:type="GModule*"/>
238+ </return-value>
239+ <parameters>
240+ <parameter name="file_name"
241+ transfer-ownership="none"
242+ nullable="1"
243+ allow-none="1">
244+ <doc xml:space="preserve"
245+ filename="gmodule-2.0.c"
246+ line="240">the name of the file containing the module, or %NULL
247+ to obtain a #GModule representing the main program itself</doc>
248+ <type name="utf8" c:type="const gchar*"/>
249+ </parameter>
250+ <parameter name="flags" transfer-ownership="none">
251+ <doc xml:space="preserve"
252+ filename="gmodule-2.0.c"
253+ line="242">the flags used for opening the module. This can be the
254+ logical OR of any of the #GModuleFlags</doc>
255+ <type name="ModuleFlags" c:type="GModuleFlags"/>
256+ </parameter>
257+ </parameters>
258+ </function>
259+ <function name="supported" c:identifier="g_module_supported">
260+ <doc xml:space="preserve"
261+ filename="gmodule-2.0.c"
262+ line="264">Checks if modules are supported on the current platform.</doc>
263+ <source-position filename="gmodule.h" line="91"/>
264+ <return-value transfer-ownership="none">
265+ <doc xml:space="preserve"
266+ filename="gmodule-2.0.c"
267+ line="269">%TRUE if modules are supported</doc>
268+ <type name="gboolean" c:type="gboolean"/>
269+ </return-value>
270+ </function>
271+ </record>
272+ <callback name="ModuleCheckInit" c:type="GModuleCheckInit">
273+ <doc xml:space="preserve"
274+ filename="gmodule-2.0.c"
275+ line="14">Specifies the type of the module initialization function.
276+If a module contains a function named g_module_check_init() it is called
277+automatically when the module is loaded. It is passed the #GModule structure
278+and should return %NULL on success or a string describing the initialization
279+error.</doc>
280+ <source-position filename="gmodule.h" line="66"/>
281+ <return-value transfer-ownership="none">
282+ <doc xml:space="preserve"
283+ filename="gmodule-2.0.c"
284+ line="24">%NULL on success, or a string describing the initialization error</doc>
285+ <type name="utf8" c:type="const gchar*"/>
286+ </return-value>
287+ <parameters>
288+ <parameter name="module" transfer-ownership="none">
289+ <doc xml:space="preserve"
290+ filename="gmodule-2.0.c"
291+ line="16">the #GModule corresponding to the module which has just been loaded</doc>
292+ <type name="Module" c:type="GModule*"/>
293+ </parameter>
294+ </parameters>
295+ </callback>
296+ <enumeration name="ModuleError"
297+ version="2.70"
298+ c:type="GModuleError"
299+ glib:error-domain="g-module-error-quark">
300+ <doc xml:space="preserve"
301+ filename="gmodule.h"
302+ line="73">Errors returned by g_module_open_full().</doc>
303+ <source-position filename="gmodule.h" line="86"/>
304+ <member name="failed" value="0" c:identifier="G_MODULE_ERROR_FAILED">
305+ <doc xml:space="preserve"
306+ filename="gmodule.h"
307+ line="75">there was an error loading or opening a module file</doc>
308+ </member>
309+ <member name="check_failed"
310+ value="1"
311+ c:identifier="G_MODULE_ERROR_CHECK_FAILED">
312+ <doc xml:space="preserve"
313+ filename="gmodule.h"
314+ line="76">a module returned an error from its `g_module_check_init()` function</doc>
315+ </member>
316+ </enumeration>
317+ <bitfield name="ModuleFlags" c:type="GModuleFlags">
318+ <doc xml:space="preserve"
319+ filename="gmodule.h"
320+ line="44">Flags passed to g_module_open().
321+Note that these flags are not supported on all platforms.</doc>
322+ <source-position filename="gmodule.h" line="63"/>
323+ <member name="lazy" value="1" c:identifier="G_MODULE_BIND_LAZY">
324+ <doc xml:space="preserve"
325+ filename="gmodule.h"
326+ line="46">specifies that symbols are only resolved when
327+ needed. The default action is to bind all symbols when the module
328+ is loaded.</doc>
329+ </member>
330+ <member name="local" value="2" c:identifier="G_MODULE_BIND_LOCAL">
331+ <doc xml:space="preserve"
332+ filename="gmodule.h"
333+ line="49">specifies that symbols in the module should
334+ not be added to the global name space. The default action on most
335+ platforms is to place symbols in the module in the global name space,
336+ which may cause conflicts with existing symbols.</doc>
337+ </member>
338+ <member name="mask" value="3" c:identifier="G_MODULE_BIND_MASK">
339+ <doc xml:space="preserve"
340+ filename="gmodule.h"
341+ line="53">mask for all flags.</doc>
342+ </member>
343+ </bitfield>
344+ <callback name="ModuleUnload" c:type="GModuleUnload">
345+ <doc xml:space="preserve"
346+ filename="gmodule-2.0.c"
347+ line="28">Specifies the type of the module function called when it is unloaded.
348+If a module contains a function named g_module_unload() it is called
349+automatically when the module is unloaded.
350+It is passed the #GModule structure.</doc>
351+ <source-position filename="gmodule.h" line="67"/>
352+ <return-value transfer-ownership="none">
353+ <type name="none" c:type="void"/>
354+ </return-value>
355+ <parameters>
356+ <parameter name="module" transfer-ownership="none">
357+ <doc xml:space="preserve"
358+ filename="gmodule-2.0.c"
359+ line="30">the #GModule about to be unloaded</doc>
360+ <type name="Module" c:type="GModule*"/>
361+ </parameter>
362+ </parameters>
363+ </callback>
364+ <function name="module_build_path"
365+ c:identifier="g_module_build_path"
366+ moved-to="Module.build_path">
367+ <doc xml:space="preserve"
368+ filename="gmodule-2.0.c"
369+ line="159">A portable way to build the filename of a module. The platform-specific
370+prefix and suffix are added to the filename, if needed, and the result
371+is added to the directory, using the correct separator character.
372+
373+The directory should specify the directory where the module can be found.
374+It can be %NULL or an empty string to indicate that the module is in a
375+standard platform-specific directory, though this is not recommended
376+since the wrong module may be found.
377+
378+For example, calling g_module_build_path() on a Linux system with a
379+@directory of `/lib` and a @module_name of "mylibrary" will return
380+`/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
381+directory it will return `\Windows\mylibrary.dll`.</doc>
382+ <source-position filename="gmodule.h" line="137"/>
383+ <return-value transfer-ownership="full">
384+ <doc xml:space="preserve"
385+ filename="gmodule-2.0.c"
386+ line="180">the complete path of the module, including the standard library
387+ prefix and suffix. This should be freed when no longer needed</doc>
388+ <type name="utf8" c:type="gchar*"/>
389+ </return-value>
390+ <parameters>
391+ <parameter name="directory"
392+ transfer-ownership="none"
393+ nullable="1"
394+ allow-none="1">
395+ <doc xml:space="preserve"
396+ filename="gmodule-2.0.c"
397+ line="161">the directory where the module is. This can be
398+ %NULL or the empty string to indicate that the standard platform-specific
399+ directories will be used, though that is not recommended</doc>
400+ <type name="utf8" c:type="const gchar*"/>
401+ </parameter>
402+ <parameter name="module_name" transfer-ownership="none">
403+ <doc xml:space="preserve"
404+ filename="gmodule-2.0.c"
405+ line="164">the name of the module</doc>
406+ <type name="utf8" c:type="const gchar*"/>
407+ </parameter>
408+ </parameters>
409+ </function>
410+ <function name="module_error"
411+ c:identifier="g_module_error"
412+ moved-to="Module.error">
413+ <doc xml:space="preserve"
414+ filename="gmodule-2.0.c"
415+ line="195">Gets a string describing the last module error.</doc>
416+ <source-position filename="gmodule.h" line="113"/>
417+ <return-value transfer-ownership="none">
418+ <doc xml:space="preserve"
419+ filename="gmodule-2.0.c"
420+ line="200">a string describing the last module error</doc>
421+ <type name="utf8" c:type="const gchar*"/>
422+ </return-value>
423+ </function>
424+ <function name="module_error_quark"
425+ c:identifier="g_module_error_quark"
426+ moved-to="Module.error_quark">
427+ <return-value transfer-ownership="none">
428+ <type name="GLib.Quark" c:type="GQuark"/>
429+ </return-value>
430+ </function>
431+ <function name="module_supported"
432+ c:identifier="g_module_supported"
433+ moved-to="Module.supported">
434+ <doc xml:space="preserve"
435+ filename="gmodule-2.0.c"
436+ line="264">Checks if modules are supported on the current platform.</doc>
437+ <source-position filename="gmodule.h" line="91"/>
438+ <return-value transfer-ownership="none">
439+ <doc xml:space="preserve"
440+ filename="gmodule-2.0.c"
441+ line="269">%TRUE if modules are supported</doc>
442+ <type name="gboolean" c:type="gboolean"/>
443+ </return-value>
444+ </function>
445+ <docsection name="modules">
446+ <doc xml:space="preserve"
447+ filename="gmodule-2.0.c"
448+ line="79">These functions provide a portable way to dynamically load object files
449+(commonly known as 'plug-ins'). The current implementation supports all
450+systems that provide an implementation of dlopen() (e.g. Linux/Sun), as
451+well as Windows platforms via DLLs.
452+
453+A program which wants to use these functions must be linked to the
454+libraries output by the command `pkg-config --libs gmodule-2.0`.
455+
456+To use them you must first determine whether dynamic loading
457+is supported on the platform by calling g_module_supported().
458+If it is, you can open a module with g_module_open(),
459+find the module's symbols (e.g. function names) with g_module_symbol(),
460+and later close the module with g_module_close().
461+g_module_name() will return the file name of a currently opened module.
462+
463+If any of the above functions fail, the error status can be found with
464+g_module_error().
465+
466+The #GModule implementation features reference counting for opened modules,
467+and supports hook functions within a module which are called when the
468+module is loaded and unloaded (see #GModuleCheckInit and #GModuleUnload).
469+
470+If your module introduces static data to common subsystems in the running
471+program, e.g. through calling
472+`g_quark_from_static_string ("my-module-stuff")`,
473+it must ensure that it is never unloaded, by calling g_module_make_resident().
474+
475+Example: Calling a function defined in a GModule
476+|[&lt;!-- language="C" --&gt;
477+// the function signature for 'say_hello'
478+typedef void (* SayHelloFunc) (const char *message);
479+
480+gboolean
481+just_say_hello (const char *filename, GError **error)
482+{
483+ SayHelloFunc say_hello;
484+ GModule *module;
485+
486+ module = g_module_open (filename, G_MODULE_BIND_LAZY);
487+ if (!module)
488+ {
489+ g_set_error (error, FOO_ERROR, FOO_ERROR_BLAH,
490+ "%s", g_module_error ());
491+ return FALSE;
492+ }
493+
494+ if (!g_module_symbol (module, "say_hello", (gpointer *)&amp;say_hello))
495+ {
496+ g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
497+ "%s: %s", filename, g_module_error ());
498+ if (!g_module_close (module))
499+ g_warning ("%s: %s", filename, g_module_error ());
500+ return FALSE;
501+ }
502+
503+ if (say_hello == NULL)
504+ {
505+ g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
506+ "symbol say_hello is NULL");
507+ if (!g_module_close (module))
508+ g_warning ("%s: %s", filename, g_module_error ());
509+ return FALSE;
510+ }
511+
512+ // call our function in the module
513+ say_hello ("Hello world!");
514+
515+ if (!g_module_close (module))
516+ g_warning ("%s: %s", filename, g_module_error ());
517+ return TRUE;
518+ }
519+]|</doc>
520+ </docsection>
521+ </namespace>
522+</repository>
A internal/gir/spec/GObject-2.0.gir +27133 -0 large diff (27133 lines changed): collapsed
A internal/gir/spec/Gdk-4.0.gir +31079 -0
@@ -0,0 +1,31079 @@
1+<?xml version="1.0"?>
2+<!-- This file was automatically generated from C sources - DO NOT EDIT!
3+To affect the contents of this file, edit the original C definitions,
4+and/or use gtk-doc annotations. -->
5+<repository version="1.2"
6+ xmlns="http://www.gtk.org/introspection/core/1.0"
7+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
8+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9+ <include name="GdkPixbuf" version="2.0"/>
10+ <include name="Gio" version="2.0"/>
11+ <include name="Pango" version="1.0"/>
12+ <include name="PangoCairo" version="1.0"/>
13+ <include name="cairo" version="1.0"/>
14+ <package name="gtk4"/>
15+ <c:include name="gdk/gdk.h"/>
16+ <namespace name="Gdk"
17+ version="4.0"
18+ shared-library="libgtk-4.so.1"
19+ c:identifier-prefixes="Gdk"
20+ c:symbol-prefixes="gdk">
21+ <constant name="ACTION_ALL" value="7" c:type="GDK_ACTION_ALL">
22+ <doc xml:space="preserve"
23+ filename="gdk/gdkenums.h"
24+ line="252">Defines all possible DND actions.
25+
26+This can be used in [method@Gdk.Drop.status] messages when any drop
27+can be accepted or a more specific drop method is not yet known.</doc>
28+ <source-position filename="gdk/gdkenums.h" line="257"/>
29+ <type name="gint" c:type="gint"/>
30+ </constant>
31+ <function-macro name="APP_LAUNCH_CONTEXT"
32+ c:identifier="GDK_APP_LAUNCH_CONTEXT"
33+ introspectable="0">
34+ <source-position filename="gdk/gdkapplaunchcontext.h" line="34"/>
35+ <parameters>
36+ <parameter name="o">
37+ </parameter>
38+ </parameters>
39+ </function-macro>
40+ <bitfield name="AnchorHints"
41+ glib:type-name="GdkAnchorHints"
42+ glib:get-type="gdk_anchor_hints_get_type"
43+ c:type="GdkAnchorHints">
44+ <doc xml:space="preserve"
45+ filename="gdk/gdkpopuplayout.h"
46+ line="32">Positioning hints for aligning a surface relative to a rectangle.
47+
48+These hints determine how the surface should be positioned in the case that
49+the surface would fall off-screen if placed in its ideal position.
50+
51+For example, %GDK_ANCHOR_FLIP_X will replace %GDK_GRAVITY_NORTH_WEST with
52+%GDK_GRAVITY_NORTH_EAST and vice versa if the surface extends beyond the left
53+or right edges of the monitor.
54+
55+If %GDK_ANCHOR_SLIDE_X is set, the surface can be shifted horizontally to fit
56+on-screen. If %GDK_ANCHOR_RESIZE_X is set, the surface can be shrunken
57+horizontally to fit.
58+
59+In general, when multiple flags are set, flipping should take precedence over
60+sliding, which should take precedence over resizing.</doc>
61+ <member name="flip_x"
62+ value="1"
63+ c:identifier="GDK_ANCHOR_FLIP_X"
64+ glib:nick="flip-x"
65+ glib:name="GDK_ANCHOR_FLIP_X">
66+ <doc xml:space="preserve"
67+ filename="gdk/gdkpopuplayout.h"
68+ line="34">allow flipping anchors horizontally</doc>
69+ </member>
70+ <member name="flip_y"
71+ value="2"
72+ c:identifier="GDK_ANCHOR_FLIP_Y"
73+ glib:nick="flip-y"
74+ glib:name="GDK_ANCHOR_FLIP_Y">
75+ <doc xml:space="preserve"
76+ filename="gdk/gdkpopuplayout.h"
77+ line="35">allow flipping anchors vertically</doc>
78+ </member>
79+ <member name="slide_x"
80+ value="4"
81+ c:identifier="GDK_ANCHOR_SLIDE_X"
82+ glib:nick="slide-x"
83+ glib:name="GDK_ANCHOR_SLIDE_X">
84+ <doc xml:space="preserve"
85+ filename="gdk/gdkpopuplayout.h"
86+ line="36">allow sliding surface horizontally</doc>
87+ </member>
88+ <member name="slide_y"
89+ value="8"
90+ c:identifier="GDK_ANCHOR_SLIDE_Y"
91+ glib:nick="slide-y"
92+ glib:name="GDK_ANCHOR_SLIDE_Y">
93+ <doc xml:space="preserve"
94+ filename="gdk/gdkpopuplayout.h"
95+ line="37">allow sliding surface vertically</doc>
96+ </member>
97+ <member name="resize_x"
98+ value="16"
99+ c:identifier="GDK_ANCHOR_RESIZE_X"
100+ glib:nick="resize-x"
101+ glib:name="GDK_ANCHOR_RESIZE_X">
102+ <doc xml:space="preserve"
103+ filename="gdk/gdkpopuplayout.h"
104+ line="38">allow resizing surface horizontally</doc>
105+ </member>
106+ <member name="resize_y"
107+ value="32"
108+ c:identifier="GDK_ANCHOR_RESIZE_Y"
109+ glib:nick="resize-y"
110+ glib:name="GDK_ANCHOR_RESIZE_Y">
111+ <doc xml:space="preserve"
112+ filename="gdk/gdkpopuplayout.h"
113+ line="39">allow resizing surface vertically</doc>
114+ </member>
115+ <member name="flip"
116+ value="3"
117+ c:identifier="GDK_ANCHOR_FLIP"
118+ glib:nick="flip"
119+ glib:name="GDK_ANCHOR_FLIP">
120+ <doc xml:space="preserve"
121+ filename="gdk/gdkpopuplayout.h"
122+ line="40">allow flipping anchors on both axes</doc>
123+ </member>
124+ <member name="slide"
125+ value="12"
126+ c:identifier="GDK_ANCHOR_SLIDE"
127+ glib:nick="slide"
128+ glib:name="GDK_ANCHOR_SLIDE">
129+ <doc xml:space="preserve"
130+ filename="gdk/gdkpopuplayout.h"
131+ line="41">allow sliding surface on both axes</doc>
132+ </member>
133+ <member name="resize"
134+ value="48"
135+ c:identifier="GDK_ANCHOR_RESIZE"
136+ glib:nick="resize"
137+ glib:name="GDK_ANCHOR_RESIZE">
138+ <doc xml:space="preserve"
139+ filename="gdk/gdkpopuplayout.h"
140+ line="42">allow resizing surface on both axes</doc>
141+ </member>
142+ </bitfield>
143+ <class name="AppLaunchContext"
144+ c:symbol-prefix="app_launch_context"
145+ c:type="GdkAppLaunchContext"
146+ parent="Gio.AppLaunchContext"
147+ glib:type-name="GdkAppLaunchContext"
148+ glib:get-type="gdk_app_launch_context_get_type">
149+ <doc xml:space="preserve"
150+ filename="gdk/gdkapplaunchcontext.c"
151+ line="28">`GdkAppLaunchContext` handles launching an application in a graphical context.
152+
153+It is an implementation of `GAppLaunchContext` that provides startup
154+notification and allows to launch applications on a specific workspace.
155+
156+## Launching an application
157+
158+```c
159+GdkAppLaunchContext *context;
160+
161+context = gdk_display_get_app_launch_context (display);
162+
163+gdk_app_launch_context_set_timestamp (gdk_event_get_time (event));
164+
165+if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &amp;error))
166+ g_warning ("Launching failed: %s\n", error-&gt;message);
167+
168+g_object_unref (context);
169+```</doc>
170+ <method name="get_display"
171+ c:identifier="gdk_app_launch_context_get_display"
172+ glib:get-property="display">
173+ <attribute name="org.gtk.Method.get_property" value="display"/>
174+ <doc xml:space="preserve"
175+ filename="gdk/gdkapplaunchcontext.c"
176+ line="171">Gets the `GdkDisplay` that @context is for.</doc>
177+ <source-position filename="gdk/gdkapplaunchcontext.h" line="42"/>
178+ <return-value transfer-ownership="none">
179+ <doc xml:space="preserve"
180+ filename="gdk/gdkapplaunchcontext.c"
181+ line="177">the display of @context</doc>
182+ <type name="Display" c:type="GdkDisplay*"/>
183+ </return-value>
184+ <parameters>
185+ <instance-parameter name="context" transfer-ownership="none">
186+ <doc xml:space="preserve"
187+ filename="gdk/gdkapplaunchcontext.c"
188+ line="173">a `GdkAppLaunchContext`</doc>
189+ <type name="AppLaunchContext" c:type="GdkAppLaunchContext*"/>
190+ </instance-parameter>
191+ </parameters>
192+ </method>
193+ <method name="set_desktop"
194+ c:identifier="gdk_app_launch_context_set_desktop">
195+ <doc xml:space="preserve"
196+ filename="gdk/gdkapplaunchcontext.c"
197+ line="187">Sets the workspace on which applications will be launched.
198+
199+This only works when running under a window manager that
200+supports multiple workspaces, as described in the
201+[Extended Window Manager Hints](http://www.freedesktop.org/Standards/wm-spec).
202+Specifically this sets the `_NET_WM_DESKTOP` property described
203+in that spec.
204+
205+This only works when using the X11 backend.
206+
207+When the workspace is not specified or @desktop is set to -1,
208+it is up to the window manager to pick one, typically it will
209+be the current workspace.</doc>
210+ <source-position filename="gdk/gdkapplaunchcontext.h" line="45"/>
211+ <return-value transfer-ownership="none">
212+ <type name="none" c:type="void"/>
213+ </return-value>
214+ <parameters>
215+ <instance-parameter name="context" transfer-ownership="none">
216+ <doc xml:space="preserve"
217+ filename="gdk/gdkapplaunchcontext.c"
218+ line="189">a `GdkAppLaunchContext`</doc>
219+ <type name="AppLaunchContext" c:type="GdkAppLaunchContext*"/>
220+ </instance-parameter>
221+ <parameter name="desktop" transfer-ownership="none">
222+ <doc xml:space="preserve"
223+ filename="gdk/gdkapplaunchcontext.c"
224+ line="190">the number of a workspace, or -1</doc>
225+ <type name="gint" c:type="int"/>
226+ </parameter>
227+ </parameters>
228+ </method>
229+ <method name="set_icon" c:identifier="gdk_app_launch_context_set_icon">
230+ <doc xml:space="preserve"
231+ filename="gdk/gdkapplaunchcontext.c"
232+ line="239">Sets the icon for applications that are launched with this
233+context.
234+
235+Window Managers can use this information when displaying startup
236+notification.
237+
238+See also [method@Gdk.AppLaunchContext.set_icon_name].</doc>
239+ <source-position filename="gdk/gdkapplaunchcontext.h" line="51"/>
240+ <return-value transfer-ownership="none">
241+ <type name="none" c:type="void"/>
242+ </return-value>
243+ <parameters>
244+ <instance-parameter name="context" transfer-ownership="none">
245+ <doc xml:space="preserve"
246+ filename="gdk/gdkapplaunchcontext.c"
247+ line="241">a `GdkAppLaunchContext`</doc>
248+ <type name="AppLaunchContext" c:type="GdkAppLaunchContext*"/>
249+ </instance-parameter>
250+ <parameter name="icon"
251+ transfer-ownership="none"
252+ nullable="1"
253+ allow-none="1">
254+ <doc xml:space="preserve"
255+ filename="gdk/gdkapplaunchcontext.c"
256+ line="242">a `GIcon`</doc>
257+ <type name="Gio.Icon" c:type="GIcon*"/>
258+ </parameter>
259+ </parameters>
260+ </method>
261+ <method name="set_icon_name"
262+ c:identifier="gdk_app_launch_context_set_icon_name">
263+ <doc xml:space="preserve"
264+ filename="gdk/gdkapplaunchcontext.c"
265+ line="269">Sets the icon for applications that are launched with this context.
266+
267+The @icon_name will be interpreted in the same way as the Icon field
268+in desktop files. See also [method@Gdk.AppLaunchContext.set_icon].
269+
270+If both @icon and @icon_name are set, the @icon_name takes priority.
271+If neither @icon or @icon_name is set, the icon is taken from either
272+the file that is passed to launched application or from the `GAppInfo`
273+for the launched application itself.</doc>
274+ <source-position filename="gdk/gdkapplaunchcontext.h" line="54"/>
275+ <return-value transfer-ownership="none">
276+ <type name="none" c:type="void"/>
277+ </return-value>
278+ <parameters>
279+ <instance-parameter name="context" transfer-ownership="none">
280+ <doc xml:space="preserve"
281+ filename="gdk/gdkapplaunchcontext.c"
282+ line="271">a `GdkAppLaunchContext`</doc>
283+ <type name="AppLaunchContext" c:type="GdkAppLaunchContext*"/>
284+ </instance-parameter>
285+ <parameter name="icon_name"
286+ transfer-ownership="none"
287+ nullable="1"
288+ allow-none="1">
289+ <doc xml:space="preserve"
290+ filename="gdk/gdkapplaunchcontext.c"
291+ line="272">an icon name</doc>
292+ <type name="utf8" c:type="const char*"/>
293+ </parameter>
294+ </parameters>
295+ </method>
296+ <method name="set_timestamp"
297+ c:identifier="gdk_app_launch_context_set_timestamp">
298+ <doc xml:space="preserve"
299+ filename="gdk/gdkapplaunchcontext.c"
300+ line="215">Sets the timestamp of @context.
301+
302+The timestamp should ideally be taken from the event that
303+triggered the launch.
304+
305+Window managers can use this information to avoid moving the
306+focus to the newly launched application when the user is busy
307+typing in another window. This is also known as 'focus stealing
308+prevention'.</doc>
309+ <source-position filename="gdk/gdkapplaunchcontext.h" line="48"/>
310+ <return-value transfer-ownership="none">
311+ <type name="none" c:type="void"/>
312+ </return-value>
313+ <parameters>
314+ <instance-parameter name="context" transfer-ownership="none">
315+ <doc xml:space="preserve"
316+ filename="gdk/gdkapplaunchcontext.c"
317+ line="217">a `GdkAppLaunchContext`</doc>
318+ <type name="AppLaunchContext" c:type="GdkAppLaunchContext*"/>
319+ </instance-parameter>
320+ <parameter name="timestamp" transfer-ownership="none">
321+ <doc xml:space="preserve"
322+ filename="gdk/gdkapplaunchcontext.c"
323+ line="218">a timestamp</doc>
324+ <type name="guint32" c:type="guint32"/>
325+ </parameter>
326+ </parameters>
327+ </method>
328+ <property name="display"
329+ writable="1"
330+ construct-only="1"
331+ transfer-ownership="none"
332+ getter="get_display">
333+ <attribute name="org.gtk.Property.get"
334+ value="gdk_app_launch_context_get_display"/>
335+ <doc xml:space="preserve"
336+ filename="gdk/gdkapplaunchcontext.c"
337+ line="122">The display that the `GdkAppLaunchContext` is on.</doc>
338+ <type name="Display"/>
339+ </property>
340+ </class>
341+ <bitfield name="AxisFlags"
342+ glib:type-name="GdkAxisFlags"
343+ glib:get-type="gdk_axis_flags_get_type"
344+ c:type="GdkAxisFlags">
345+ <doc xml:space="preserve"
346+ filename="gdk/gdkenums.h"
347+ line="200">Flags describing the current capabilities of a device/tool.</doc>
348+ <member name="x"
349+ value="2"
350+ c:identifier="GDK_AXIS_FLAG_X"
351+ glib:nick="x"
352+ glib:name="GDK_AXIS_FLAG_X">
353+ <doc xml:space="preserve"
354+ filename="gdk/gdkenums.h"
355+ line="202">X axis is present</doc>
356+ </member>
357+ <member name="y"
358+ value="4"
359+ c:identifier="GDK_AXIS_FLAG_Y"
360+ glib:nick="y"
361+ glib:name="GDK_AXIS_FLAG_Y">
362+ <doc xml:space="preserve"
363+ filename="gdk/gdkenums.h"
364+ line="203">Y axis is present</doc>
365+ </member>
366+ <member name="delta_x"
367+ value="8"
368+ c:identifier="GDK_AXIS_FLAG_DELTA_X"
369+ glib:nick="delta-x"
370+ glib:name="GDK_AXIS_FLAG_DELTA_X">
371+ <doc xml:space="preserve"
372+ filename="gdk/gdkenums.h"
373+ line="204">Scroll X delta axis is present</doc>
374+ </member>
375+ <member name="delta_y"
376+ value="16"
377+ c:identifier="GDK_AXIS_FLAG_DELTA_Y"
378+ glib:nick="delta-y"
379+ glib:name="GDK_AXIS_FLAG_DELTA_Y">
380+ <doc xml:space="preserve"
381+ filename="gdk/gdkenums.h"
382+ line="205">Scroll Y delta axis is present</doc>
383+ </member>
384+ <member name="pressure"
385+ value="32"
386+ c:identifier="GDK_AXIS_FLAG_PRESSURE"
387+ glib:nick="pressure"
388+ glib:name="GDK_AXIS_FLAG_PRESSURE">
389+ <doc xml:space="preserve"
390+ filename="gdk/gdkenums.h"
391+ line="206">Pressure axis is present</doc>
392+ </member>
393+ <member name="xtilt"
394+ value="64"
395+ c:identifier="GDK_AXIS_FLAG_XTILT"
396+ glib:nick="xtilt"
397+ glib:name="GDK_AXIS_FLAG_XTILT">
398+ <doc xml:space="preserve"
399+ filename="gdk/gdkenums.h"
400+ line="207">X tilt axis is present</doc>
401+ </member>
402+ <member name="ytilt"
403+ value="128"
404+ c:identifier="GDK_AXIS_FLAG_YTILT"
405+ glib:nick="ytilt"
406+ glib:name="GDK_AXIS_FLAG_YTILT">
407+ <doc xml:space="preserve"
408+ filename="gdk/gdkenums.h"
409+ line="208">Y tilt axis is present</doc>
410+ </member>
411+ <member name="wheel"
412+ value="256"
413+ c:identifier="GDK_AXIS_FLAG_WHEEL"
414+ glib:nick="wheel"
415+ glib:name="GDK_AXIS_FLAG_WHEEL">
416+ <doc xml:space="preserve"
417+ filename="gdk/gdkenums.h"
418+ line="209">Wheel axis is present</doc>
419+ </member>
420+ <member name="distance"
421+ value="512"
422+ c:identifier="GDK_AXIS_FLAG_DISTANCE"
423+ glib:nick="distance"
424+ glib:name="GDK_AXIS_FLAG_DISTANCE">
425+ <doc xml:space="preserve"
426+ filename="gdk/gdkenums.h"
427+ line="210">Distance axis is present</doc>
428+ </member>
429+ <member name="rotation"
430+ value="1024"
431+ c:identifier="GDK_AXIS_FLAG_ROTATION"
432+ glib:nick="rotation"
433+ glib:name="GDK_AXIS_FLAG_ROTATION">
434+ <doc xml:space="preserve"
435+ filename="gdk/gdkenums.h"
436+ line="211">Z-axis rotation is present</doc>
437+ </member>
438+ <member name="slider"
439+ value="2048"
440+ c:identifier="GDK_AXIS_FLAG_SLIDER"
441+ glib:nick="slider"
442+ glib:name="GDK_AXIS_FLAG_SLIDER">
443+ <doc xml:space="preserve"
444+ filename="gdk/gdkenums.h"
445+ line="212">Slider axis is present</doc>
446+ </member>
447+ </bitfield>
448+ <enumeration name="AxisUse"
449+ glib:type-name="GdkAxisUse"
450+ glib:get-type="gdk_axis_use_get_type"
451+ c:type="GdkAxisUse">
452+ <doc xml:space="preserve"
453+ filename="gdk/gdkenums.h"
454+ line="161">Defines how device axes are interpreted by GTK.
455+
456+Note that the X and Y axes are not really needed; pointer devices
457+report their location via the x/y members of events regardless. Whether
458+X and Y are present as axes depends on the GDK backend.</doc>
459+ <member name="ignore"
460+ value="0"
461+ c:identifier="GDK_AXIS_IGNORE"
462+ glib:nick="ignore"
463+ glib:name="GDK_AXIS_IGNORE">
464+ <doc xml:space="preserve"
465+ filename="gdk/gdkenums.h"
466+ line="163">the axis is ignored.</doc>
467+ </member>
468+ <member name="x"
469+ value="1"
470+ c:identifier="GDK_AXIS_X"
471+ glib:nick="x"
472+ glib:name="GDK_AXIS_X">
473+ <doc xml:space="preserve"
474+ filename="gdk/gdkenums.h"
475+ line="164">the axis is used as the x axis.</doc>
476+ </member>
477+ <member name="y"
478+ value="2"
479+ c:identifier="GDK_AXIS_Y"
480+ glib:nick="y"
481+ glib:name="GDK_AXIS_Y">
482+ <doc xml:space="preserve"
483+ filename="gdk/gdkenums.h"
484+ line="165">the axis is used as the y axis.</doc>
485+ </member>
486+ <member name="delta_x"
487+ value="3"
488+ c:identifier="GDK_AXIS_DELTA_X"
489+ glib:nick="delta-x"
490+ glib:name="GDK_AXIS_DELTA_X">
491+ <doc xml:space="preserve"
492+ filename="gdk/gdkenums.h"
493+ line="166">the axis is used as the scroll x delta</doc>
494+ </member>
495+ <member name="delta_y"
496+ value="4"
497+ c:identifier="GDK_AXIS_DELTA_Y"
498+ glib:nick="delta-y"
499+ glib:name="GDK_AXIS_DELTA_Y">
500+ <doc xml:space="preserve"
501+ filename="gdk/gdkenums.h"
502+ line="167">the axis is used as the scroll y delta</doc>
503+ </member>
504+ <member name="pressure"
505+ value="5"
506+ c:identifier="GDK_AXIS_PRESSURE"
507+ glib:nick="pressure"
508+ glib:name="GDK_AXIS_PRESSURE">
509+ <doc xml:space="preserve"
510+ filename="gdk/gdkenums.h"
511+ line="168">the axis is used for pressure information.</doc>
512+ </member>
513+ <member name="xtilt"
514+ value="6"
515+ c:identifier="GDK_AXIS_XTILT"
516+ glib:nick="xtilt"
517+ glib:name="GDK_AXIS_XTILT">
518+ <doc xml:space="preserve"
519+ filename="gdk/gdkenums.h"
520+ line="169">the axis is used for x tilt information.</doc>
521+ </member>
522+ <member name="ytilt"
523+ value="7"
524+ c:identifier="GDK_AXIS_YTILT"
525+ glib:nick="ytilt"
526+ glib:name="GDK_AXIS_YTILT">
527+ <doc xml:space="preserve"
528+ filename="gdk/gdkenums.h"
529+ line="170">the axis is used for y tilt information.</doc>
530+ </member>
531+ <member name="wheel"
532+ value="8"
533+ c:identifier="GDK_AXIS_WHEEL"
534+ glib:nick="wheel"
535+ glib:name="GDK_AXIS_WHEEL">
536+ <doc xml:space="preserve"
537+ filename="gdk/gdkenums.h"
538+ line="171">the axis is used for wheel information.</doc>
539+ </member>
540+ <member name="distance"
541+ value="9"
542+ c:identifier="GDK_AXIS_DISTANCE"
543+ glib:nick="distance"
544+ glib:name="GDK_AXIS_DISTANCE">
545+ <doc xml:space="preserve"
546+ filename="gdk/gdkenums.h"
547+ line="172">the axis is used for pen/tablet distance information</doc>
548+ </member>
549+ <member name="rotation"
550+ value="10"
551+ c:identifier="GDK_AXIS_ROTATION"
552+ glib:nick="rotation"
553+ glib:name="GDK_AXIS_ROTATION">
554+ <doc xml:space="preserve"
555+ filename="gdk/gdkenums.h"
556+ line="173">the axis is used for pen rotation information</doc>
557+ </member>
558+ <member name="slider"
559+ value="11"
560+ c:identifier="GDK_AXIS_SLIDER"
561+ glib:nick="slider"
562+ glib:name="GDK_AXIS_SLIDER">
563+ <doc xml:space="preserve"
564+ filename="gdk/gdkenums.h"
565+ line="174">the axis is used for pen slider information</doc>
566+ </member>
567+ <member name="last"
568+ value="12"
569+ c:identifier="GDK_AXIS_LAST"
570+ glib:nick="last"
571+ glib:name="GDK_AXIS_LAST">
572+ <doc xml:space="preserve"
573+ filename="gdk/gdkenums.h"
574+ line="175">a constant equal to the numerically highest axis value.</doc>
575+ </member>
576+ </enumeration>
577+ <constant name="BUTTON_MIDDLE" value="2" c:type="GDK_BUTTON_MIDDLE">
578+ <doc xml:space="preserve"
579+ filename="gdk/gdkevents.h"
580+ line="88">The middle button.</doc>
581+ <source-position filename="gdk/gdkevents.h" line="93"/>
582+ <type name="gint" c:type="gint"/>
583+ </constant>
584+ <constant name="BUTTON_PRIMARY" value="1" c:type="GDK_BUTTON_PRIMARY">
585+ <doc xml:space="preserve"
586+ filename="gdk/gdkevents.h"
587+ line="80">The primary button. This is typically the left mouse button, or the
588+right button in a left-handed setup.</doc>
589+ <source-position filename="gdk/gdkevents.h" line="86"/>
590+ <type name="gint" c:type="gint"/>
591+ </constant>
592+ <constant name="BUTTON_SECONDARY" value="3" c:type="GDK_BUTTON_SECONDARY">
593+ <doc xml:space="preserve"
594+ filename="gdk/gdkevents.h"
595+ line="95">The secondary button. This is typically the right mouse button, or the
596+left button in a left-handed setup.</doc>
597+ <source-position filename="gdk/gdkevents.h" line="101"/>
598+ <type name="gint" c:type="gint"/>
599+ </constant>
600+ <class name="ButtonEvent"
601+ c:symbol-prefix="button_event"
602+ c:type="GdkButtonEvent"
603+ parent="Event"
604+ glib:type-name="GdkButtonEvent"
605+ glib:get-type="gdk_button_event_get_type"
606+ glib:fundamental="1">
607+ <doc xml:space="preserve"
608+ filename="gdk/gdkevents.c"
609+ line="1384">An event related to a button on a pointer device.</doc>
610+ <method name="get_button" c:identifier="gdk_button_event_get_button">
611+ <doc xml:space="preserve"
612+ filename="gdk/gdkevents.c"
613+ line="1490">Extract the button number from a button event.</doc>
614+ <source-position filename="gdk/gdkevents.h" line="419"/>
615+ <return-value transfer-ownership="none">
616+ <doc xml:space="preserve"
617+ filename="gdk/gdkevents.c"
618+ line="1496">the button of @event</doc>
619+ <type name="guint" c:type="guint"/>
620+ </return-value>
621+ <parameters>
622+ <instance-parameter name="event" transfer-ownership="none">
623+ <doc xml:space="preserve"
624+ filename="gdk/gdkevents.c"
625+ line="1492">a button event</doc>
626+ <type name="ButtonEvent" c:type="GdkEvent*"/>
627+ </instance-parameter>
628+ </parameters>
629+ </method>
630+ </class>
631+ <function-macro name="CAIRO_CONTEXT"
632+ c:identifier="GDK_CAIRO_CONTEXT"
633+ introspectable="0">
634+ <source-position filename="gdk/gdkcairocontext.h" line="36"/>
635+ <parameters>
636+ <parameter name="obj">
637+ </parameter>
638+ </parameters>
639+ </function-macro>
640+ <function-macro name="CLIPBOARD"
641+ c:identifier="GDK_CLIPBOARD"
642+ introspectable="0">
643+ <source-position filename="gdk/gdkclipboard.h" line="34"/>
644+ <parameters>
645+ <parameter name="obj">
646+ </parameter>
647+ </parameters>
648+ </function-macro>
649+ <function-macro name="CONTENT_DESERIALIZER"
650+ c:identifier="GDK_CONTENT_DESERIALIZER"
651+ introspectable="0">
652+ <source-position filename="gdk/gdkcontentdeserializer.h" line="32"/>
653+ <parameters>
654+ <parameter name="o">
655+ </parameter>
656+ </parameters>
657+ </function-macro>
658+ <function-macro name="CONTENT_PROVIDER"
659+ c:identifier="GDK_CONTENT_PROVIDER"
660+ introspectable="0">
661+ <source-position filename="gdk/gdkcontentprovider.h" line="33"/>
662+ <parameters>
663+ <parameter name="obj">
664+ </parameter>
665+ </parameters>
666+ </function-macro>
667+ <function-macro name="CONTENT_PROVIDER_CLASS"
668+ c:identifier="GDK_CONTENT_PROVIDER_CLASS"
669+ introspectable="0">
670+ <source-position filename="gdk/gdkcontentprovider.h" line="35"/>
671+ <parameters>
672+ <parameter name="klass">
673+ </parameter>
674+ </parameters>
675+ </function-macro>
676+ <function-macro name="CONTENT_PROVIDER_GET_CLASS"
677+ c:identifier="GDK_CONTENT_PROVIDER_GET_CLASS"
678+ introspectable="0">
679+ <source-position filename="gdk/gdkcontentprovider.h" line="37"/>
680+ <parameters>
681+ <parameter name="obj">
682+ </parameter>
683+ </parameters>
684+ </function-macro>
685+ <function-macro name="CONTENT_SERIALIZER"
686+ c:identifier="GDK_CONTENT_SERIALIZER"
687+ introspectable="0">
688+ <source-position filename="gdk/gdkcontentserializer.h" line="32"/>
689+ <parameters>
690+ <parameter name="o">
691+ </parameter>
692+ </parameters>
693+ </function-macro>
694+ <constant name="CURRENT_TIME" value="0" c:type="GDK_CURRENT_TIME">
695+ <doc xml:space="preserve"
696+ filename="gdk/gdktypes.h"
697+ line="49">Represents the current time, and can be used anywhere a time is expected.</doc>
698+ <source-position filename="gdk/gdktypes.h" line="54"/>
699+ <type name="gint" c:type="gint"/>
700+ </constant>
701+ <function-macro name="CURSOR" c:identifier="GDK_CURSOR" introspectable="0">
702+ <source-position filename="gdk/gdkcursor.h" line="38"/>
703+ <parameters>
704+ <parameter name="object">
705+ </parameter>
706+ </parameters>
707+ </function-macro>
708+ <class name="CairoContext"
709+ c:symbol-prefix="cairo_context"
710+ c:type="GdkCairoContext"
711+ parent="DrawContext"
712+ abstract="1"
713+ glib:type-name="GdkCairoContext"
714+ glib:get-type="gdk_cairo_context_get_type">
715+ <doc xml:space="preserve"
716+ filename="gdk/gdkcairocontext.c"
717+ line="29">`GdkCairoContext` is an object representing the platform-specific
718+draw context.
719+
720+`GdkCairoContext`s are created for a surface using
721+[method@Gdk.Surface.create_cairo_context], and the context
722+can then be used to draw on that surface.</doc>
723+ <method name="cairo_create"
724+ c:identifier="gdk_cairo_context_cairo_create">
725+ <doc xml:space="preserve"
726+ filename="gdk/gdkcairocontext.c"
727+ line="59">Retrieves a Cairo context to be used to draw on the `GdkSurface`
728+of @context.
729+
730+A call to [method@Gdk.DrawContext.begin_frame] with this
731+@context must have been done or this function will return %NULL.
732+
733+The returned context is guaranteed to be valid until
734+[method@Gdk.DrawContext.end_frame] is called.</doc>
735+ <source-position filename="gdk/gdkcairocontext.h" line="45"/>
736+ <return-value transfer-ownership="full" nullable="1">
737+ <doc xml:space="preserve"
738+ filename="gdk/gdkcairocontext.c"
739+ line="72">a Cairo context
740+ to draw on `GdkSurface</doc>
741+ <type name="cairo.Context" c:type="cairo_t*"/>
742+ </return-value>
743+ <parameters>
744+ <instance-parameter name="self" transfer-ownership="none">
745+ <doc xml:space="preserve"
746+ filename="gdk/gdkcairocontext.c"
747+ line="61">a `GdkCairoContext` that is currently drawing</doc>
748+ <type name="CairoContext" c:type="GdkCairoContext*"/>
749+ </instance-parameter>
750+ </parameters>
751+ </method>
752+ </class>
753+ <class name="Clipboard"
754+ c:symbol-prefix="clipboard"
755+ c:type="GdkClipboard"
756+ parent="GObject.Object"
757+ glib:type-name="GdkClipboard"
758+ glib:get-type="gdk_clipboard_get_type">
759+ <doc xml:space="preserve"
760+ filename="gdk/gdkclipboard.c"
761+ line="36">The `GdkClipboard` object represents data shared between applications or
762+inside an application.
763+
764+To get a `GdkClipboard` object, use [method@Gdk.Display.get_clipboard] or
765+[method@Gdk.Display.get_primary_clipboard]. You can find out about the data
766+that is currently available in a clipboard using
767+[method@Gdk.Clipboard.get_formats].
768+
769+To make text or image data available in a clipboard, use
770+[method@Gdk.Clipboard.set_text] or [method@Gdk.Clipboard.set_texture].
771+For other data, you can use [method@Gdk.Clipboard.set_content], which
772+takes a [class@Gdk.ContentProvider] object.
773+
774+To read textual or image data from a clipboard, use
775+[method@Gdk.Clipboard.read_text_async] or
776+[method@Gdk.Clipboard.read_texture_async]. For other data, use
777+[method@Gdk.Clipboard.read_async], which provides a `GInputStream` object.</doc>
778+ <method name="get_content"
779+ c:identifier="gdk_clipboard_get_content"
780+ glib:get-property="content">
781+ <attribute name="org.gtk.Method.get_property" value="content"/>
782+ <doc xml:space="preserve"
783+ filename="gdk/gdkclipboard.c"
784+ line="491">Returns the `GdkContentProvider` currently set on @clipboard.
785+
786+If the @clipboard is empty or its contents are not owned by the
787+current process, %NULL will be returned.</doc>
788+ <source-position filename="gdk/gdkclipboard.h" line="47"/>
789+ <return-value transfer-ownership="none" nullable="1">
790+ <doc xml:space="preserve"
791+ filename="gdk/gdkclipboard.c"
792+ line="500">The content of a clipboard
793+ if the clipboard does not maintain any content</doc>
794+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
795+ </return-value>
796+ <parameters>
797+ <instance-parameter name="clipboard" transfer-ownership="none">
798+ <doc xml:space="preserve"
799+ filename="gdk/gdkclipboard.c"
800+ line="493">a `GdkClipboard`</doc>
801+ <type name="Clipboard" c:type="GdkClipboard*"/>
802+ </instance-parameter>
803+ </parameters>
804+ </method>
805+ <method name="get_display"
806+ c:identifier="gdk_clipboard_get_display"
807+ glib:get-property="display">
808+ <attribute name="org.gtk.Method.get_property" value="display"/>
809+ <doc xml:space="preserve"
810+ filename="gdk/gdkclipboard.c"
811+ line="431">Gets the `GdkDisplay` that the clipboard was created for.</doc>
812+ <source-position filename="gdk/gdkclipboard.h" line="41"/>
813+ <return-value transfer-ownership="none">
814+ <doc xml:space="preserve"
815+ filename="gdk/gdkclipboard.c"
816+ line="437">a `GdkDisplay`</doc>
817+ <type name="Display" c:type="GdkDisplay*"/>
818+ </return-value>
819+ <parameters>
820+ <instance-parameter name="clipboard" transfer-ownership="none">
821+ <doc xml:space="preserve"
822+ filename="gdk/gdkclipboard.c"
823+ line="433">a `GdkClipboard`</doc>
824+ <type name="Clipboard" c:type="GdkClipboard*"/>
825+ </instance-parameter>
826+ </parameters>
827+ </method>
828+ <method name="get_formats"
829+ c:identifier="gdk_clipboard_get_formats"
830+ glib:get-property="formats">
831+ <attribute name="org.gtk.Method.get_property" value="formats"/>
832+ <doc xml:space="preserve"
833+ filename="gdk/gdkclipboard.c"
834+ line="449">Gets the formats that the clipboard can provide its current contents in.</doc>
835+ <source-position filename="gdk/gdkclipboard.h" line="43"/>
836+ <return-value transfer-ownership="none">
837+ <doc xml:space="preserve"
838+ filename="gdk/gdkclipboard.c"
839+ line="455">The formats of the clipboard</doc>
840+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
841+ </return-value>
842+ <parameters>
843+ <instance-parameter name="clipboard" transfer-ownership="none">
844+ <doc xml:space="preserve"
845+ filename="gdk/gdkclipboard.c"
846+ line="451">a `GdkClipboard`</doc>
847+ <type name="Clipboard" c:type="GdkClipboard*"/>
848+ </instance-parameter>
849+ </parameters>
850+ </method>
851+ <method name="is_local" c:identifier="gdk_clipboard_is_local">
852+ <attribute name="org.gtk.Method.get_property" value="local"/>
853+ <doc xml:space="preserve"
854+ filename="gdk/gdkclipboard.c"
855+ line="467">Returns if the clipboard is local.
856+
857+A clipboard is considered local if it was last claimed
858+by the running application.
859+
860+Note that [method@Gdk.Clipboard.get_content] may return %NULL
861+even on a local clipboard. In this case the clipboard is empty.</doc>
862+ <source-position filename="gdk/gdkclipboard.h" line="45"/>
863+ <return-value transfer-ownership="none">
864+ <doc xml:space="preserve"
865+ filename="gdk/gdkclipboard.c"
866+ line="479">%TRUE if the clipboard is local</doc>
867+ <type name="gboolean" c:type="gboolean"/>
868+ </return-value>
869+ <parameters>
870+ <instance-parameter name="clipboard" transfer-ownership="none">
871+ <doc xml:space="preserve"
872+ filename="gdk/gdkclipboard.c"
873+ line="469">a `GdkClipboard`</doc>
874+ <type name="Clipboard" c:type="GdkClipboard*"/>
875+ </instance-parameter>
876+ </parameters>
877+ </method>
878+ <method name="read_async" c:identifier="gdk_clipboard_read_async">
879+ <doc xml:space="preserve"
880+ filename="gdk/gdkclipboard.c"
881+ line="628">Asynchronously requests an input stream to read the @clipboard's
882+contents from.
883+
884+When the operation is finished @callback will be called. You must then
885+call [method@Gdk.Clipboard.read_finish] to get the result of the operation.
886+
887+The clipboard will choose the most suitable mime type from the given list
888+to fulfill the request, preferring the ones listed first.</doc>
889+ <source-position filename="gdk/gdkclipboard.h" line="61"/>
890+ <return-value transfer-ownership="none">
891+ <type name="none" c:type="void"/>
892+ </return-value>
893+ <parameters>
894+ <instance-parameter name="clipboard" transfer-ownership="none">
895+ <doc xml:space="preserve"
896+ filename="gdk/gdkclipboard.c"
897+ line="630">a `GdkClipboard`</doc>
898+ <type name="Clipboard" c:type="GdkClipboard*"/>
899+ </instance-parameter>
900+ <parameter name="mime_types" transfer-ownership="none">
901+ <doc xml:space="preserve"
902+ filename="gdk/gdkclipboard.c"
903+ line="631">a %NULL-terminated array of mime types to choose from</doc>
904+ <array c:type="const char**">
905+ <type name="utf8" c:type="char*"/>
906+ </array>
907+ </parameter>
908+ <parameter name="io_priority" transfer-ownership="none">
909+ <doc xml:space="preserve"
910+ filename="gdk/gdkclipboard.c"
911+ line="632">the I/O priority of the request</doc>
912+ <type name="gint" c:type="int"/>
913+ </parameter>
914+ <parameter name="cancellable"
915+ transfer-ownership="none"
916+ nullable="1"
917+ allow-none="1">
918+ <doc xml:space="preserve"
919+ filename="gdk/gdkclipboard.c"
920+ line="633">optional `GCancellable` object</doc>
921+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
922+ </parameter>
923+ <parameter name="callback"
924+ transfer-ownership="none"
925+ nullable="1"
926+ allow-none="1"
927+ scope="async"
928+ closure="4">
929+ <doc xml:space="preserve"
930+ filename="gdk/gdkclipboard.c"
931+ line="634">callback to call when the request is satisfied</doc>
932+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
933+ </parameter>
934+ <parameter name="user_data"
935+ transfer-ownership="none"
936+ nullable="1"
937+ allow-none="1">
938+ <doc xml:space="preserve"
939+ filename="gdk/gdkclipboard.c"
940+ line="635">the data to pass to callback function</doc>
941+ <type name="gpointer" c:type="gpointer"/>
942+ </parameter>
943+ </parameters>
944+ </method>
945+ <method name="read_finish"
946+ c:identifier="gdk_clipboard_read_finish"
947+ throws="1">
948+ <doc xml:space="preserve"
949+ filename="gdk/gdkclipboard.c"
950+ line="668">Finishes an asynchronous clipboard read.
951+
952+See [method@Gdk.Clipboard.read_async].</doc>
953+ <source-position filename="gdk/gdkclipboard.h" line="68"/>
954+ <return-value transfer-ownership="full" nullable="1">
955+ <doc xml:space="preserve"
956+ filename="gdk/gdkclipboard.c"
957+ line="680">a `GInputStream`</doc>
958+ <type name="Gio.InputStream" c:type="GInputStream*"/>
959+ </return-value>
960+ <parameters>
961+ <instance-parameter name="clipboard" transfer-ownership="none">
962+ <doc xml:space="preserve"
963+ filename="gdk/gdkclipboard.c"
964+ line="670">a `GdkClipboard`</doc>
965+ <type name="Clipboard" c:type="GdkClipboard*"/>
966+ </instance-parameter>
967+ <parameter name="result" transfer-ownership="none">
968+ <doc xml:space="preserve"
969+ filename="gdk/gdkclipboard.c"
970+ line="671">a `GAsyncResult`</doc>
971+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
972+ </parameter>
973+ <parameter name="out_mime_type"
974+ direction="out"
975+ caller-allocates="0"
976+ transfer-ownership="none"
977+ optional="1"
978+ allow-none="1">
979+ <doc xml:space="preserve"
980+ filename="gdk/gdkclipboard.c"
981+ line="672">location to store
982+ the chosen mime type</doc>
983+ <type name="utf8" c:type="const char**"/>
984+ </parameter>
985+ </parameters>
986+ </method>
987+ <method name="read_text_async"
988+ c:identifier="gdk_clipboard_read_text_async">
989+ <doc xml:space="preserve"
990+ filename="gdk/gdkclipboard.c"
991+ line="953">Asynchronously request the @clipboard contents converted to a string.
992+
993+When the operation is finished @callback will be called. You must then
994+call [method@Gdk.Clipboard.read_text_finish] to get the result.
995+
996+This is a simple wrapper around [method@Gdk.Clipboard.read_value_async].
997+Use that function or [method@Gdk.Clipboard.read_async] directly if you
998+need more control over the operation.</doc>
999+ <source-position filename="gdk/gdkclipboard.h" line="93"/>
1000+ <return-value transfer-ownership="none">
1001+ <type name="none" c:type="void"/>
1002+ </return-value>
1003+ <parameters>
1004+ <instance-parameter name="clipboard" transfer-ownership="none">
1005+ <doc xml:space="preserve"
1006+ filename="gdk/gdkclipboard.c"
1007+ line="955">a `GdkClipboard`</doc>
1008+ <type name="Clipboard" c:type="GdkClipboard*"/>
1009+ </instance-parameter>
1010+ <parameter name="cancellable"
1011+ transfer-ownership="none"
1012+ nullable="1"
1013+ allow-none="1">
1014+ <doc xml:space="preserve"
1015+ filename="gdk/gdkclipboard.c"
1016+ line="956">optional `GCancellable` object</doc>
1017+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
1018+ </parameter>
1019+ <parameter name="callback"
1020+ transfer-ownership="none"
1021+ nullable="1"
1022+ allow-none="1"
1023+ scope="async"
1024+ closure="2">
1025+ <doc xml:space="preserve"
1026+ filename="gdk/gdkclipboard.c"
1027+ line="957">callback to call when the request is satisfied</doc>
1028+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
1029+ </parameter>
1030+ <parameter name="user_data"
1031+ transfer-ownership="none"
1032+ nullable="1"
1033+ allow-none="1">
1034+ <doc xml:space="preserve"
1035+ filename="gdk/gdkclipboard.c"
1036+ line="958">the data to pass to callback function</doc>
1037+ <type name="gpointer" c:type="gpointer"/>
1038+ </parameter>
1039+ </parameters>
1040+ </method>
1041+ <method name="read_text_finish"
1042+ c:identifier="gdk_clipboard_read_text_finish"
1043+ throws="1">
1044+ <doc xml:space="preserve"
1045+ filename="gdk/gdkclipboard.c"
1046+ line="988">Finishes an asynchronous clipboard read.
1047+
1048+See [method@Gdk.Clipboard.read_text_async].</doc>
1049+ <source-position filename="gdk/gdkclipboard.h" line="98"/>
1050+ <return-value transfer-ownership="full" nullable="1">
1051+ <doc xml:space="preserve"
1052+ filename="gdk/gdkclipboard.c"
1053+ line="998">a new string</doc>
1054+ <type name="utf8" c:type="char*"/>
1055+ </return-value>
1056+ <parameters>
1057+ <instance-parameter name="clipboard" transfer-ownership="none">
1058+ <doc xml:space="preserve"
1059+ filename="gdk/gdkclipboard.c"
1060+ line="990">a `GdkClipboard`</doc>
1061+ <type name="Clipboard" c:type="GdkClipboard*"/>
1062+ </instance-parameter>
1063+ <parameter name="result" transfer-ownership="none">
1064+ <doc xml:space="preserve"
1065+ filename="gdk/gdkclipboard.c"
1066+ line="991">a `GAsyncResult`</doc>
1067+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
1068+ </parameter>
1069+ </parameters>
1070+ </method>
1071+ <method name="read_texture_async"
1072+ c:identifier="gdk_clipboard_read_texture_async">
1073+ <doc xml:space="preserve"
1074+ filename="gdk/gdkclipboard.c"
1075+ line="888">Asynchronously request the @clipboard contents converted to a `GdkPixbuf`.
1076+
1077+When the operation is finished @callback will be called. You must then
1078+call [method@Gdk.Clipboard.read_texture_finish] to get the result.
1079+
1080+This is a simple wrapper around [method@Gdk.Clipboard.read_value_async].
1081+Use that function or [method@Gdk.Clipboard.read_async] directly if you
1082+need more control over the operation.</doc>
1083+ <source-position filename="gdk/gdkclipboard.h" line="84"/>
1084+ <return-value transfer-ownership="none">
1085+ <type name="none" c:type="void"/>
1086+ </return-value>
1087+ <parameters>
1088+ <instance-parameter name="clipboard" transfer-ownership="none">
1089+ <doc xml:space="preserve"
1090+ filename="gdk/gdkclipboard.c"
1091+ line="890">a `GdkClipboard`</doc>
1092+ <type name="Clipboard" c:type="GdkClipboard*"/>
1093+ </instance-parameter>
1094+ <parameter name="cancellable"
1095+ transfer-ownership="none"
1096+ nullable="1"
1097+ allow-none="1">
1098+ <doc xml:space="preserve"
1099+ filename="gdk/gdkclipboard.c"
1100+ line="891">optional `GCancellable` object, %NULL to ignore.</doc>
1101+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
1102+ </parameter>
1103+ <parameter name="callback"
1104+ transfer-ownership="none"
1105+ nullable="1"
1106+ allow-none="1"
1107+ scope="async"
1108+ closure="2">
1109+ <doc xml:space="preserve"
1110+ filename="gdk/gdkclipboard.c"
1111+ line="892">callback to call when the request is satisfied</doc>
1112+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
1113+ </parameter>
1114+ <parameter name="user_data"
1115+ transfer-ownership="none"
1116+ nullable="1"
1117+ allow-none="1">
1118+ <doc xml:space="preserve"
1119+ filename="gdk/gdkclipboard.c"
1120+ line="893">the data to pass to callback function</doc>
1121+ <type name="gpointer" c:type="gpointer"/>
1122+ </parameter>
1123+ </parameters>
1124+ </method>
1125+ <method name="read_texture_finish"
1126+ c:identifier="gdk_clipboard_read_texture_finish"
1127+ throws="1">
1128+ <doc xml:space="preserve"
1129+ filename="gdk/gdkclipboard.c"
1130+ line="923">Finishes an asynchronous clipboard read.
1131+
1132+See [method@Gdk.Clipboard.read_texture_async].</doc>
1133+ <source-position filename="gdk/gdkclipboard.h" line="89"/>
1134+ <return-value transfer-ownership="full" nullable="1">
1135+ <doc xml:space="preserve"
1136+ filename="gdk/gdkclipboard.c"
1137+ line="933">a new `GdkTexture`</doc>
1138+ <type name="Texture" c:type="GdkTexture*"/>
1139+ </return-value>
1140+ <parameters>
1141+ <instance-parameter name="clipboard" transfer-ownership="none">
1142+ <doc xml:space="preserve"
1143+ filename="gdk/gdkclipboard.c"
1144+ line="925">a `GdkClipboard`</doc>
1145+ <type name="Clipboard" c:type="GdkClipboard*"/>
1146+ </instance-parameter>
1147+ <parameter name="result" transfer-ownership="none">
1148+ <doc xml:space="preserve"
1149+ filename="gdk/gdkclipboard.c"
1150+ line="926">a `GAsyncResult`</doc>
1151+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
1152+ </parameter>
1153+ </parameters>
1154+ </method>
1155+ <method name="read_value_async"
1156+ c:identifier="gdk_clipboard_read_value_async">
1157+ <doc xml:space="preserve"
1158+ filename="gdk/gdkclipboard.c"
1159+ line="824">Asynchronously request the @clipboard contents converted to the given
1160+@type.
1161+
1162+When the operation is finished @callback will be called. You must then call
1163+[method@Gdk.Clipboard.read_value_finish] to get the resulting `GValue`.
1164+
1165+For local clipboard contents that are available in the given `GType`,
1166+the value will be copied directly. Otherwise, GDK will try to use
1167+[func@content_deserialize_async] to convert the clipboard's data.</doc>
1168+ <source-position filename="gdk/gdkclipboard.h" line="73"/>
1169+ <return-value transfer-ownership="none">
1170+ <type name="none" c:type="void"/>
1171+ </return-value>
1172+ <parameters>
1173+ <instance-parameter name="clipboard" transfer-ownership="none">
1174+ <doc xml:space="preserve"
1175+ filename="gdk/gdkclipboard.c"
1176+ line="826">a `GdkClipboard`</doc>
1177+ <type name="Clipboard" c:type="GdkClipboard*"/>
1178+ </instance-parameter>
1179+ <parameter name="type" transfer-ownership="none">
1180+ <doc xml:space="preserve"
1181+ filename="gdk/gdkclipboard.c"
1182+ line="827">a `GType` to read</doc>
1183+ <type name="GType" c:type="GType"/>
1184+ </parameter>
1185+ <parameter name="io_priority" transfer-ownership="none">
1186+ <doc xml:space="preserve"
1187+ filename="gdk/gdkclipboard.c"
1188+ line="828">the I/O priority of the request</doc>
1189+ <type name="gint" c:type="int"/>
1190+ </parameter>
1191+ <parameter name="cancellable"
1192+ transfer-ownership="none"
1193+ nullable="1"
1194+ allow-none="1">
1195+ <doc xml:space="preserve"
1196+ filename="gdk/gdkclipboard.c"
1197+ line="829">optional `GCancellable` object</doc>
1198+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
1199+ </parameter>
1200+ <parameter name="callback"
1201+ transfer-ownership="none"
1202+ nullable="1"
1203+ allow-none="1"
1204+ scope="async"
1205+ closure="4">
1206+ <doc xml:space="preserve"
1207+ filename="gdk/gdkclipboard.c"
1208+ line="830">callback to call when the request is satisfied</doc>
1209+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
1210+ </parameter>
1211+ <parameter name="user_data"
1212+ transfer-ownership="none"
1213+ nullable="1"
1214+ allow-none="1">
1215+ <doc xml:space="preserve"
1216+ filename="gdk/gdkclipboard.c"
1217+ line="831">the data to pass to callback function</doc>
1218+ <type name="gpointer" c:type="gpointer"/>
1219+ </parameter>
1220+ </parameters>
1221+ </method>
1222+ <method name="read_value_finish"
1223+ c:identifier="gdk_clipboard_read_value_finish"
1224+ throws="1">
1225+ <doc xml:space="preserve"
1226+ filename="gdk/gdkclipboard.c"
1227+ line="864">Finishes an asynchronous clipboard read.
1228+
1229+See [method@Gdk.Clipboard.read_value_async].</doc>
1230+ <source-position filename="gdk/gdkclipboard.h" line="80"/>
1231+ <return-value transfer-ownership="none">
1232+ <doc xml:space="preserve"
1233+ filename="gdk/gdkclipboard.c"
1234+ line="874">a `GValue` containing the result.</doc>
1235+ <type name="GObject.Value" c:type="const GValue*"/>
1236+ </return-value>
1237+ <parameters>
1238+ <instance-parameter name="clipboard" transfer-ownership="none">
1239+ <doc xml:space="preserve"
1240+ filename="gdk/gdkclipboard.c"
1241+ line="866">a `GdkClipboard`</doc>
1242+ <type name="Clipboard" c:type="GdkClipboard*"/>
1243+ </instance-parameter>
1244+ <parameter name="result" transfer-ownership="none">
1245+ <doc xml:space="preserve"
1246+ filename="gdk/gdkclipboard.c"
1247+ line="867">a `GAsyncResult`</doc>
1248+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
1249+ </parameter>
1250+ </parameters>
1251+ </method>
1252+ <method name="set"
1253+ c:identifier="gdk_clipboard_set"
1254+ shadowed-by="set_value"
1255+ introspectable="0">
1256+ <doc xml:space="preserve"
1257+ filename="gdk/gdkclipboard.c"
1258+ line="1242">Sets the clipboard to contain the value collected from the given varargs.
1259+
1260+Values should be passed the same way they are passed to other value
1261+collecting APIs, such as [`method@GObject.Object.set`] or
1262+[`func@GObject.signal_emit`].
1263+
1264+```c
1265+gdk_clipboard_set (clipboard, GTK_TYPE_STRING, "Hello World");
1266+
1267+gdk_clipboard_set (clipboard, GDK_TYPE_TEXTURE, some_texture);
1268+```</doc>
1269+ <source-position filename="gdk/gdkclipboard.h" line="106"/>
1270+ <return-value transfer-ownership="none">
1271+ <type name="none" c:type="void"/>
1272+ </return-value>
1273+ <parameters>
1274+ <instance-parameter name="clipboard" transfer-ownership="none">
1275+ <doc xml:space="preserve"
1276+ filename="gdk/gdkclipboard.c"
1277+ line="1244">a `GdkClipboard`</doc>
1278+ <type name="Clipboard" c:type="GdkClipboard*"/>
1279+ </instance-parameter>
1280+ <parameter name="type" transfer-ownership="none">
1281+ <doc xml:space="preserve"
1282+ filename="gdk/gdkclipboard.c"
1283+ line="1245">type of value to set</doc>
1284+ <type name="GType" c:type="GType"/>
1285+ </parameter>
1286+ <parameter name="..." transfer-ownership="none">
1287+ <doc xml:space="preserve"
1288+ filename="gdk/gdkclipboard.c"
1289+ line="1246">value contents conforming to @type</doc>
1290+ <varargs/>
1291+ </parameter>
1292+ </parameters>
1293+ </method>
1294+ <method name="set_content" c:identifier="gdk_clipboard_set_content">
1295+ <doc xml:space="preserve"
1296+ filename="gdk/gdkclipboard.c"
1297+ line="1187">Sets a new content provider on @clipboard.
1298+
1299+The clipboard will claim the `GdkDisplay`'s resources and advertise
1300+these new contents to other applications.
1301+
1302+In the rare case of a failure, this function will return %FALSE. The
1303+clipboard will then continue reporting its old contents and ignore
1304+@provider.
1305+
1306+If the contents are read by either an external application or the
1307+@clipboard's read functions, @clipboard will select the best format to
1308+transfer the contents and then request that format from @provider.</doc>
1309+ <source-position filename="gdk/gdkclipboard.h" line="103"/>
1310+ <return-value transfer-ownership="none">
1311+ <doc xml:space="preserve"
1312+ filename="gdk/gdkclipboard.c"
1313+ line="1206">%TRUE if setting the clipboard succeeded</doc>
1314+ <type name="gboolean" c:type="gboolean"/>
1315+ </return-value>
1316+ <parameters>
1317+ <instance-parameter name="clipboard" transfer-ownership="none">
1318+ <doc xml:space="preserve"
1319+ filename="gdk/gdkclipboard.c"
1320+ line="1189">a `GdkClipboard`</doc>
1321+ <type name="Clipboard" c:type="GdkClipboard*"/>
1322+ </instance-parameter>
1323+ <parameter name="provider"
1324+ transfer-ownership="none"
1325+ nullable="1"
1326+ allow-none="1">
1327+ <doc xml:space="preserve"
1328+ filename="gdk/gdkclipboard.c"
1329+ line="1190">the new contents of @clipboard
1330+ or %NULL to clear the clipboard</doc>
1331+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
1332+ </parameter>
1333+ </parameters>
1334+ </method>
1335+ <method name="set_text"
1336+ c:identifier="gdk_clipboard_set_text"
1337+ introspectable="0">
1338+ <doc xml:space="preserve"
1339+ filename="gdk/gdkclipboard.c"
1340+ line="1331">Puts the given @text into the clipboard.</doc>
1341+ <source-position filename="gdk/gdkclipboard.h" line="117"/>
1342+ <return-value transfer-ownership="none">
1343+ <type name="none" c:type="void"/>
1344+ </return-value>
1345+ <parameters>
1346+ <instance-parameter name="clipboard" transfer-ownership="none">
1347+ <doc xml:space="preserve"
1348+ filename="gdk/gdkclipboard.c"
1349+ line="1333">a `GdkClipboard`</doc>
1350+ <type name="Clipboard" c:type="GdkClipboard*"/>
1351+ </instance-parameter>
1352+ <parameter name="text" transfer-ownership="none">
1353+ <doc xml:space="preserve"
1354+ filename="gdk/gdkclipboard.c"
1355+ line="1334">Text to put into the clipboard</doc>
1356+ <type name="utf8" c:type="const char*"/>
1357+ </parameter>
1358+ </parameters>
1359+ </method>
1360+ <method name="set_texture"
1361+ c:identifier="gdk_clipboard_set_texture"
1362+ introspectable="0">
1363+ <doc xml:space="preserve"
1364+ filename="gdk/gdkclipboard.c"
1365+ line="1347">Puts the given @texture into the clipboard.</doc>
1366+ <source-position filename="gdk/gdkclipboard.h" line="120"/>
1367+ <return-value transfer-ownership="none">
1368+ <type name="none" c:type="void"/>
1369+ </return-value>
1370+ <parameters>
1371+ <instance-parameter name="clipboard" transfer-ownership="none">
1372+ <doc xml:space="preserve"
1373+ filename="gdk/gdkclipboard.c"
1374+ line="1349">a `GdkClipboard`</doc>
1375+ <type name="Clipboard" c:type="GdkClipboard*"/>
1376+ </instance-parameter>
1377+ <parameter name="texture" transfer-ownership="none">
1378+ <doc xml:space="preserve"
1379+ filename="gdk/gdkclipboard.c"
1380+ line="1350">a `GdkTexture` to put into the clipboard</doc>
1381+ <type name="Texture" c:type="GdkTexture*"/>
1382+ </parameter>
1383+ </parameters>
1384+ </method>
1385+ <method name="set_valist"
1386+ c:identifier="gdk_clipboard_set_valist"
1387+ introspectable="0">
1388+ <doc xml:space="preserve"
1389+ filename="gdk/gdkclipboard.c"
1390+ line="1274">Sets the clipboard to contain the value collected from the given @args.</doc>
1391+ <source-position filename="gdk/gdkclipboard.h" line="110"/>
1392+ <return-value transfer-ownership="none">
1393+ <type name="none" c:type="void"/>
1394+ </return-value>
1395+ <parameters>
1396+ <instance-parameter name="clipboard" transfer-ownership="none">
1397+ <doc xml:space="preserve"
1398+ filename="gdk/gdkclipboard.c"
1399+ line="1276">a `GdkClipboard`</doc>
1400+ <type name="Clipboard" c:type="GdkClipboard*"/>
1401+ </instance-parameter>
1402+ <parameter name="type" transfer-ownership="none">
1403+ <doc xml:space="preserve"
1404+ filename="gdk/gdkclipboard.c"
1405+ line="1277">type of value to set</doc>
1406+ <type name="GType" c:type="GType"/>
1407+ </parameter>
1408+ <parameter name="args" transfer-ownership="none">
1409+ <doc xml:space="preserve"
1410+ filename="gdk/gdkclipboard.c"
1411+ line="1278">varargs containing the value of @type</doc>
1412+ <type name="va_list" c:type="va_list"/>
1413+ </parameter>
1414+ </parameters>
1415+ </method>
1416+ <method name="set_value"
1417+ c:identifier="gdk_clipboard_set_value"
1418+ shadows="set">
1419+ <doc xml:space="preserve"
1420+ filename="gdk/gdkclipboard.c"
1421+ line="1309">Sets the @clipboard to contain the given @value.</doc>
1422+ <source-position filename="gdk/gdkclipboard.h" line="114"/>
1423+ <return-value transfer-ownership="none">
1424+ <type name="none" c:type="void"/>
1425+ </return-value>
1426+ <parameters>
1427+ <instance-parameter name="clipboard" transfer-ownership="none">
1428+ <doc xml:space="preserve"
1429+ filename="gdk/gdkclipboard.c"
1430+ line="1311">a `GdkClipboard`</doc>
1431+ <type name="Clipboard" c:type="GdkClipboard*"/>
1432+ </instance-parameter>
1433+ <parameter name="value" transfer-ownership="none">
1434+ <doc xml:space="preserve"
1435+ filename="gdk/gdkclipboard.c"
1436+ line="1312">a `GValue` to set</doc>
1437+ <type name="GObject.Value" c:type="const GValue*"/>
1438+ </parameter>
1439+ </parameters>
1440+ </method>
1441+ <method name="store_async" c:identifier="gdk_clipboard_store_async">
1442+ <doc xml:space="preserve"
1443+ filename="gdk/gdkclipboard.c"
1444+ line="513">Asynchronously instructs the @clipboard to store its contents remotely.
1445+
1446+If the clipboard is not local, this function does nothing but report success.
1447+
1448+The @callback must call [method@Gdk.Clipboard.store_finish].
1449+
1450+The purpose of this call is to preserve clipboard contents beyond the
1451+lifetime of an application, so this function is typically called on
1452+exit. Depending on the platform, the functionality may not be available
1453+unless a "clipboard manager" is running.
1454+
1455+This function is called automatically when a [class@Gtk.Application] is
1456+shut down, so you likely don't need to call it.</doc>
1457+ <source-position filename="gdk/gdkclipboard.h" line="50"/>
1458+ <return-value transfer-ownership="none">
1459+ <type name="none" c:type="void"/>
1460+ </return-value>
1461+ <parameters>
1462+ <instance-parameter name="clipboard" transfer-ownership="none">
1463+ <doc xml:space="preserve"
1464+ filename="gdk/gdkclipboard.c"
1465+ line="515">a `GdkClipboard`</doc>
1466+ <type name="Clipboard" c:type="GdkClipboard*"/>
1467+ </instance-parameter>
1468+ <parameter name="io_priority" transfer-ownership="none">
1469+ <doc xml:space="preserve"
1470+ filename="gdk/gdkclipboard.c"
1471+ line="516">the I/O priority of the request</doc>
1472+ <type name="gint" c:type="int"/>
1473+ </parameter>
1474+ <parameter name="cancellable"
1475+ transfer-ownership="none"
1476+ nullable="1"
1477+ allow-none="1">
1478+ <doc xml:space="preserve"
1479+ filename="gdk/gdkclipboard.c"
1480+ line="517">optional `GCancellable` object</doc>
1481+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
1482+ </parameter>
1483+ <parameter name="callback"
1484+ transfer-ownership="none"
1485+ nullable="1"
1486+ allow-none="1"
1487+ scope="async"
1488+ closure="3">
1489+ <doc xml:space="preserve"
1490+ filename="gdk/gdkclipboard.c"
1491+ line="518">callback to call when the request is satisfied</doc>
1492+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
1493+ </parameter>
1494+ <parameter name="user_data"
1495+ transfer-ownership="none"
1496+ nullable="1"
1497+ allow-none="1">
1498+ <doc xml:space="preserve"
1499+ filename="gdk/gdkclipboard.c"
1500+ line="519">the data to pass to callback function</doc>
1501+ <type name="gpointer" c:type="gpointer"/>
1502+ </parameter>
1503+ </parameters>
1504+ </method>
1505+ <method name="store_finish"
1506+ c:identifier="gdk_clipboard_store_finish"
1507+ throws="1">
1508+ <doc xml:space="preserve"
1509+ filename="gdk/gdkclipboard.c"
1510+ line="566">Finishes an asynchronous clipboard store.
1511+
1512+See [method@Gdk.Clipboard.store_async].</doc>
1513+ <source-position filename="gdk/gdkclipboard.h" line="56"/>
1514+ <return-value transfer-ownership="none">
1515+ <doc xml:space="preserve"
1516+ filename="gdk/gdkclipboard.c"
1517+ line="576">%TRUE if storing was successful.</doc>
1518+ <type name="gboolean" c:type="gboolean"/>
1519+ </return-value>
1520+ <parameters>
1521+ <instance-parameter name="clipboard" transfer-ownership="none">
1522+ <doc xml:space="preserve"
1523+ filename="gdk/gdkclipboard.c"
1524+ line="568">a `GdkClipboard`</doc>
1525+ <type name="Clipboard" c:type="GdkClipboard*"/>
1526+ </instance-parameter>
1527+ <parameter name="result" transfer-ownership="none">
1528+ <doc xml:space="preserve"
1529+ filename="gdk/gdkclipboard.c"
1530+ line="569">a `GAsyncResult`</doc>
1531+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
1532+ </parameter>
1533+ </parameters>
1534+ </method>
1535+ <property name="content" transfer-ownership="none" getter="get_content">
1536+ <attribute name="org.gtk.Property.get"
1537+ value="gdk_clipboard_get_content"/>
1538+ <doc xml:space="preserve"
1539+ filename="gdk/gdkclipboard.c"
1540+ line="392">The `GdkContentProvider` or %NULL if the clipboard is empty or contents are
1541+provided otherwise.</doc>
1542+ <type name="ContentProvider"/>
1543+ </property>
1544+ <property name="display"
1545+ writable="1"
1546+ construct-only="1"
1547+ transfer-ownership="none"
1548+ getter="get_display">
1549+ <attribute name="org.gtk.Property.get"
1550+ value="gdk_clipboard_get_display"/>
1551+ <doc xml:space="preserve"
1552+ filename="gdk/gdkclipboard.c"
1553+ line="355">The `GdkDisplay` that the clipboard belongs to.</doc>
1554+ <type name="Display"/>
1555+ </property>
1556+ <property name="formats" transfer-ownership="none" getter="get_formats">
1557+ <attribute name="org.gtk.Property.get"
1558+ value="gdk_clipboard_get_formats"/>
1559+ <doc xml:space="preserve"
1560+ filename="gdk/gdkclipboard.c"
1561+ line="368">The possible formats that the clipboard can provide its data in.</doc>
1562+ <type name="ContentFormats"/>
1563+ </property>
1564+ <property name="local" transfer-ownership="none">
1565+ <attribute name="org.gtk.Property.get" value="gdk_clipboard_is_local"/>
1566+ <doc xml:space="preserve"
1567+ filename="gdk/gdkclipboard.c"
1568+ line="380">%TRUE if the contents of the clipboard are owned by this process.</doc>
1569+ <type name="gboolean" c:type="gboolean"/>
1570+ </property>
1571+ <glib:signal name="changed" when="last">
1572+ <doc xml:space="preserve"
1573+ filename="gdk/gdkclipboard.c"
1574+ line="405">Emitted when the clipboard changes ownership.</doc>
1575+ <return-value transfer-ownership="none">
1576+ <type name="none" c:type="void"/>
1577+ </return-value>
1578+ </glib:signal>
1579+ </class>
1580+ <callback name="ContentDeserializeFunc" c:type="GdkContentDeserializeFunc">
1581+ <doc xml:space="preserve"
1582+ filename="gdk/gdkcontentdeserializer.h"
1583+ line="37">The type of a function that can be registered with gdk_content_register_deserializer().
1584+
1585+When the function gets called to operate on content, it can call functions on the
1586+@deserializer object to obtain the mime type, input stream, user data, etc. for its
1587+operation.</doc>
1588+ <source-position filename="gdk/gdkcontentdeserializer.h" line="47"/>
1589+ <return-value transfer-ownership="none">
1590+ <type name="none" c:type="void"/>
1591+ </return-value>
1592+ <parameters>
1593+ <parameter name="deserializer" transfer-ownership="none">
1594+ <doc xml:space="preserve"
1595+ filename="gdk/gdkcontentdeserializer.h"
1596+ line="39">a `GdkContentDeserializer`</doc>
1597+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1598+ </parameter>
1599+ </parameters>
1600+ </callback>
1601+ <class name="ContentDeserializer"
1602+ c:symbol-prefix="content_deserializer"
1603+ c:type="GdkContentDeserializer"
1604+ parent="GObject.Object"
1605+ glib:type-name="GdkContentDeserializer"
1606+ glib:get-type="gdk_content_deserializer_get_type">
1607+ <doc xml:space="preserve"
1608+ filename="gdk/gdkcontentdeserializer.c"
1609+ line="35">A `GdkContentDeserializer` is used to deserialize content received via
1610+inter-application data transfers.
1611+
1612+The `GdkContentDeserializer` transforms serialized content that is
1613+identified by a mime type into an object identified by a GType.
1614+
1615+GTK provides serializers and deserializers for common data types
1616+such as text, colors, images or file lists. To register your own
1617+deserialization functions, use [func@content_register_deserializer].
1618+
1619+Also see [class@Gdk.ContentSerializer].</doc>
1620+ <implements name="Gio.AsyncResult"/>
1621+ <method name="get_cancellable"
1622+ c:identifier="gdk_content_deserializer_get_cancellable">
1623+ <doc xml:space="preserve"
1624+ filename="gdk/gdkcontentdeserializer.c"
1625+ line="260">Gets the cancellable for the current operation.
1626+
1627+This is the `GCancellable` that was passed to [func@Gdk.content_deserialize_async].</doc>
1628+ <source-position filename="gdk/gdkcontentdeserializer.h" line="63"/>
1629+ <return-value transfer-ownership="none" nullable="1">
1630+ <doc xml:space="preserve"
1631+ filename="gdk/gdkcontentdeserializer.c"
1632+ line="268">the cancellable for the current operation</doc>
1633+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
1634+ </return-value>
1635+ <parameters>
1636+ <instance-parameter name="deserializer" transfer-ownership="none">
1637+ <doc xml:space="preserve"
1638+ filename="gdk/gdkcontentdeserializer.c"
1639+ line="262">a `GdkContentDeserializer`</doc>
1640+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1641+ </instance-parameter>
1642+ </parameters>
1643+ </method>
1644+ <method name="get_gtype"
1645+ c:identifier="gdk_content_deserializer_get_gtype">
1646+ <doc xml:space="preserve"
1647+ filename="gdk/gdkcontentdeserializer.c"
1648+ line="192">Gets the `GType` to create an instance of.</doc>
1649+ <source-position filename="gdk/gdkcontentdeserializer.h" line="55"/>
1650+ <return-value transfer-ownership="none">
1651+ <doc xml:space="preserve"
1652+ filename="gdk/gdkcontentdeserializer.c"
1653+ line="198">the `GType` for the current operation</doc>
1654+ <type name="GType" c:type="GType"/>
1655+ </return-value>
1656+ <parameters>
1657+ <instance-parameter name="deserializer" transfer-ownership="none">
1658+ <doc xml:space="preserve"
1659+ filename="gdk/gdkcontentdeserializer.c"
1660+ line="194">a `GdkContentDeserializer`</doc>
1661+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1662+ </instance-parameter>
1663+ </parameters>
1664+ </method>
1665+ <method name="get_input_stream"
1666+ c:identifier="gdk_content_deserializer_get_input_stream">
1667+ <doc xml:space="preserve"
1668+ filename="gdk/gdkcontentdeserializer.c"
1669+ line="224">Gets the input stream for the current operation.
1670+
1671+This is the stream that was passed to [func@Gdk.content_deserialize_async].</doc>
1672+ <source-position filename="gdk/gdkcontentdeserializer.h" line="59"/>
1673+ <return-value transfer-ownership="none">
1674+ <doc xml:space="preserve"
1675+ filename="gdk/gdkcontentdeserializer.c"
1676+ line="232">the input stream for the current operation</doc>
1677+ <type name="Gio.InputStream" c:type="GInputStream*"/>
1678+ </return-value>
1679+ <parameters>
1680+ <instance-parameter name="deserializer" transfer-ownership="none">
1681+ <doc xml:space="preserve"
1682+ filename="gdk/gdkcontentdeserializer.c"
1683+ line="226">a `GdkContentDeserializer`</doc>
1684+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1685+ </instance-parameter>
1686+ </parameters>
1687+ </method>
1688+ <method name="get_mime_type"
1689+ c:identifier="gdk_content_deserializer_get_mime_type">
1690+ <doc xml:space="preserve"
1691+ filename="gdk/gdkcontentdeserializer.c"
1692+ line="176">Gets the mime type to deserialize from.</doc>
1693+ <source-position filename="gdk/gdkcontentdeserializer.h" line="53"/>
1694+ <return-value transfer-ownership="none">
1695+ <doc xml:space="preserve"
1696+ filename="gdk/gdkcontentdeserializer.c"
1697+ line="182">the mime type for the current operation</doc>
1698+ <type name="utf8" c:type="const char*"/>
1699+ </return-value>
1700+ <parameters>
1701+ <instance-parameter name="deserializer" transfer-ownership="none">
1702+ <doc xml:space="preserve"
1703+ filename="gdk/gdkcontentdeserializer.c"
1704+ line="178">a `GdkContentDeserializer`</doc>
1705+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1706+ </instance-parameter>
1707+ </parameters>
1708+ </method>
1709+ <method name="get_priority"
1710+ c:identifier="gdk_content_deserializer_get_priority">
1711+ <doc xml:space="preserve"
1712+ filename="gdk/gdkcontentdeserializer.c"
1713+ line="242">Gets the I/O priority for the current operation.
1714+
1715+This is the priority that was passed to [func@Gdk.content_deserialize_async].</doc>
1716+ <source-position filename="gdk/gdkcontentdeserializer.h" line="61"/>
1717+ <return-value transfer-ownership="none">
1718+ <doc xml:space="preserve"
1719+ filename="gdk/gdkcontentdeserializer.c"
1720+ line="250">the I/O priority for the current operation</doc>
1721+ <type name="gint" c:type="int"/>
1722+ </return-value>
1723+ <parameters>
1724+ <instance-parameter name="deserializer" transfer-ownership="none">
1725+ <doc xml:space="preserve"
1726+ filename="gdk/gdkcontentdeserializer.c"
1727+ line="244">a `GdkContentDeserializer`</doc>
1728+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1729+ </instance-parameter>
1730+ </parameters>
1731+ </method>
1732+ <method name="get_task_data"
1733+ c:identifier="gdk_content_deserializer_get_task_data">
1734+ <doc xml:space="preserve"
1735+ filename="gdk/gdkcontentdeserializer.c"
1736+ line="316">Gets the data that was associated with the current operation.
1737+
1738+See [method@Gdk.ContentDeserializer.set_task_data].</doc>
1739+ <source-position filename="gdk/gdkcontentdeserializer.h" line="71"/>
1740+ <return-value transfer-ownership="none" nullable="1">
1741+ <doc xml:space="preserve"
1742+ filename="gdk/gdkcontentdeserializer.c"
1743+ line="324">the task data for @deserializer</doc>
1744+ <type name="gpointer" c:type="gpointer"/>
1745+ </return-value>
1746+ <parameters>
1747+ <instance-parameter name="deserializer" transfer-ownership="none">
1748+ <doc xml:space="preserve"
1749+ filename="gdk/gdkcontentdeserializer.c"
1750+ line="318">a `GdkContentDeserializer`</doc>
1751+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1752+ </instance-parameter>
1753+ </parameters>
1754+ </method>
1755+ <method name="get_user_data"
1756+ c:identifier="gdk_content_deserializer_get_user_data">
1757+ <doc xml:space="preserve"
1758+ filename="gdk/gdkcontentdeserializer.c"
1759+ line="278">Gets the user data that was passed when the deserializer was registered.</doc>
1760+ <source-position filename="gdk/gdkcontentdeserializer.h" line="65"/>
1761+ <return-value transfer-ownership="none" nullable="1">
1762+ <doc xml:space="preserve"
1763+ filename="gdk/gdkcontentdeserializer.c"
1764+ line="284">the user data for this deserializer</doc>
1765+ <type name="gpointer" c:type="gpointer"/>
1766+ </return-value>
1767+ <parameters>
1768+ <instance-parameter name="deserializer" transfer-ownership="none">
1769+ <doc xml:space="preserve"
1770+ filename="gdk/gdkcontentdeserializer.c"
1771+ line="280">a `GdkContentDeserializer`</doc>
1772+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1773+ </instance-parameter>
1774+ </parameters>
1775+ </method>
1776+ <method name="get_value"
1777+ c:identifier="gdk_content_deserializer_get_value">
1778+ <doc xml:space="preserve"
1779+ filename="gdk/gdkcontentdeserializer.c"
1780+ line="208">Gets the `GValue` to store the deserialized object in.</doc>
1781+ <source-position filename="gdk/gdkcontentdeserializer.h" line="57"/>
1782+ <return-value transfer-ownership="none">
1783+ <doc xml:space="preserve"
1784+ filename="gdk/gdkcontentdeserializer.c"
1785+ line="214">the `GValue` for the current operation</doc>
1786+ <type name="GObject.Value" c:type="GValue*"/>
1787+ </return-value>
1788+ <parameters>
1789+ <instance-parameter name="deserializer" transfer-ownership="none">
1790+ <doc xml:space="preserve"
1791+ filename="gdk/gdkcontentdeserializer.c"
1792+ line="210">a `GdkContentDeserializer`</doc>
1793+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1794+ </instance-parameter>
1795+ </parameters>
1796+ </method>
1797+ <method name="return_error"
1798+ c:identifier="gdk_content_deserializer_return_error">
1799+ <doc xml:space="preserve"
1800+ filename="gdk/gdkcontentdeserializer.c"
1801+ line="369">Indicate that the deserialization has ended with an error.
1802+
1803+This function consumes @error.</doc>
1804+ <source-position filename="gdk/gdkcontentdeserializer.h" line="76"/>
1805+ <return-value transfer-ownership="none">
1806+ <type name="none" c:type="void"/>
1807+ </return-value>
1808+ <parameters>
1809+ <instance-parameter name="deserializer" transfer-ownership="none">
1810+ <doc xml:space="preserve"
1811+ filename="gdk/gdkcontentdeserializer.c"
1812+ line="371">a `GdkContentDeserializer`</doc>
1813+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1814+ </instance-parameter>
1815+ <parameter name="error" transfer-ownership="full">
1816+ <doc xml:space="preserve"
1817+ filename="gdk/gdkcontentdeserializer.c"
1818+ line="372">a `GError`</doc>
1819+ <type name="GLib.Error" c:type="GError*"/>
1820+ </parameter>
1821+ </parameters>
1822+ </method>
1823+ <method name="return_success"
1824+ c:identifier="gdk_content_deserializer_return_success">
1825+ <doc xml:space="preserve"
1826+ filename="gdk/gdkcontentdeserializer.c"
1827+ line="347">Indicate that the deserialization has been successfully completed.</doc>
1828+ <source-position filename="gdk/gdkcontentdeserializer.h" line="74"/>
1829+ <return-value transfer-ownership="none">
1830+ <type name="none" c:type="void"/>
1831+ </return-value>
1832+ <parameters>
1833+ <instance-parameter name="deserializer" transfer-ownership="none">
1834+ <doc xml:space="preserve"
1835+ filename="gdk/gdkcontentdeserializer.c"
1836+ line="349">a `GdkContentDeserializer`</doc>
1837+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1838+ </instance-parameter>
1839+ </parameters>
1840+ </method>
1841+ <method name="set_task_data"
1842+ c:identifier="gdk_content_deserializer_set_task_data">
1843+ <doc xml:space="preserve"
1844+ filename="gdk/gdkcontentdeserializer.c"
1845+ line="294">Associate data with the current deserialization operation.</doc>
1846+ <source-position filename="gdk/gdkcontentdeserializer.h" line="67"/>
1847+ <return-value transfer-ownership="none">
1848+ <type name="none" c:type="void"/>
1849+ </return-value>
1850+ <parameters>
1851+ <instance-parameter name="deserializer" transfer-ownership="none">
1852+ <doc xml:space="preserve"
1853+ filename="gdk/gdkcontentdeserializer.c"
1854+ line="296">a `GdkContentDeserializer`</doc>
1855+ <type name="ContentDeserializer" c:type="GdkContentDeserializer*"/>
1856+ </instance-parameter>
1857+ <parameter name="data"
1858+ transfer-ownership="none"
1859+ nullable="1"
1860+ allow-none="1">
1861+ <doc xml:space="preserve"
1862+ filename="gdk/gdkcontentdeserializer.c"
1863+ line="297">data to associate with this operation</doc>
1864+ <type name="gpointer" c:type="gpointer"/>
1865+ </parameter>
1866+ <parameter name="notify" transfer-ownership="none" scope="async">
1867+ <doc xml:space="preserve"
1868+ filename="gdk/gdkcontentdeserializer.c"
1869+ line="298">destroy notify for @data</doc>
1870+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
1871+ </parameter>
1872+ </parameters>
1873+ </method>
1874+ </class>
1875+ <record name="ContentFormats"
1876+ c:type="GdkContentFormats"
1877+ glib:type-name="GdkContentFormats"
1878+ glib:get-type="gdk_content_formats_get_type"
1879+ c:symbol-prefix="content_formats">
1880+ <doc xml:space="preserve"
1881+ filename="gdk/gdkcontentformats.c"
1882+ line="18">The `GdkContentFormats` structure is used to advertise and negotiate the
1883+format of content.
1884+
1885+You will encounter `GdkContentFormats` when interacting with objects
1886+controlling operations that pass data between different widgets, window
1887+or application, like [class@Gdk.Drag], [class@Gdk.Drop],
1888+[class@Gdk.Clipboard] or [class@Gdk.ContentProvider].
1889+
1890+GDK supports content in 2 forms: `GType` and mime type.
1891+Using `GTypes` is meant only for in-process content transfers. Mime types
1892+are meant to be used for data passing both in-process and out-of-process.
1893+The details of how data is passed is described in the documentation of
1894+the actual implementations. To transform between the two forms,
1895+[class@Gdk.ContentSerializer] and [class@Gdk.ContentDeserializer] are used.
1896+
1897+A `GdkContentFormats` describes a set of possible formats content can be
1898+exchanged in. It is assumed that this set is ordered. `GTypes` are more
1899+important than mime types. Order between different `GTypes` or mime types
1900+is the order they were added in, most important first. Functions that
1901+care about order, such as [method@Gdk.ContentFormats.union], will describe
1902+in their documentation how they interpret that order, though in general the
1903+order of the first argument is considered the primary order of the result,
1904+followed by the order of further arguments.
1905+
1906+For debugging purposes, the function [method@Gdk.ContentFormats.to_string]
1907+exists. It will print a comma-separated list of formats from most important
1908+to least important.
1909+
1910+`GdkContentFormats` is an immutable struct. After creation, you cannot change
1911+the types it represents. Instead, new `GdkContentFormats` have to be created.
1912+The [struct@Gdk.ContentFormatsBuilder] structure is meant to help in this
1913+endeavor.</doc>
1914+ <source-position filename="gdk/gdktypes.h" line="76"/>
1915+ <constructor name="new" c:identifier="gdk_content_formats_new">
1916+ <doc xml:space="preserve"
1917+ filename="gdk/gdkcontentformats.c"
1918+ line="126">Creates a new `GdkContentFormats` from an array of mime types.
1919+
1920+The mime types must be valid and different from each other or the
1921+behavior of the return value is undefined. If you cannot guarantee
1922+this, use [struct@Gdk.ContentFormatsBuilder] instead.</doc>
1923+ <source-position filename="gdk/gdkcontentformats.h" line="39"/>
1924+ <return-value transfer-ownership="full">
1925+ <doc xml:space="preserve"
1926+ filename="gdk/gdkcontentformats.c"
1927+ line="138">the new `GdkContentFormats`.</doc>
1928+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
1929+ </return-value>
1930+ <parameters>
1931+ <parameter name="mime_types"
1932+ transfer-ownership="none"
1933+ nullable="1"
1934+ allow-none="1">
1935+ <doc xml:space="preserve"
1936+ filename="gdk/gdkcontentformats.c"
1937+ line="128">Pointer to an
1938+ array of mime types</doc>
1939+ <array length="1" zero-terminated="0" c:type="const char**">
1940+ <type name="utf8" c:type="char*"/>
1941+ </array>
1942+ </parameter>
1943+ <parameter name="n_mime_types" transfer-ownership="none">
1944+ <doc xml:space="preserve"
1945+ filename="gdk/gdkcontentformats.c"
1946+ line="130">number of entries in @mime_types.</doc>
1947+ <type name="guint" c:type="guint"/>
1948+ </parameter>
1949+ </parameters>
1950+ </constructor>
1951+ <constructor name="new_for_gtype"
1952+ c:identifier="gdk_content_formats_new_for_gtype">
1953+ <doc xml:space="preserve"
1954+ filename="gdk/gdkcontentformats.c"
1955+ line="160">Creates a new `GdkContentFormats` for a given `GType`.</doc>
1956+ <source-position filename="gdk/gdkcontentformats.h" line="42"/>
1957+ <return-value transfer-ownership="full">
1958+ <doc xml:space="preserve"
1959+ filename="gdk/gdkcontentformats.c"
1960+ line="166">a new `GdkContentFormats`</doc>
1961+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
1962+ </return-value>
1963+ <parameters>
1964+ <parameter name="type" transfer-ownership="none">
1965+ <doc xml:space="preserve"
1966+ filename="gdk/gdkcontentformats.c"
1967+ line="162">a `GType`</doc>
1968+ <type name="GType" c:type="GType"/>
1969+ </parameter>
1970+ </parameters>
1971+ </constructor>
1972+ <method name="contain_gtype"
1973+ c:identifier="gdk_content_formats_contain_gtype">
1974+ <doc xml:space="preserve"
1975+ filename="gdk/gdkcontentformats.c"
1976+ line="475">Checks if a given `GType` is part of the given @formats.</doc>
1977+ <source-position filename="gdk/gdkcontentformats.h" line="76"/>
1978+ <return-value transfer-ownership="none">
1979+ <doc xml:space="preserve"
1980+ filename="gdk/gdkcontentformats.c"
1981+ line="482">%TRUE if the `GType` was found</doc>
1982+ <type name="gboolean" c:type="gboolean"/>
1983+ </return-value>
1984+ <parameters>
1985+ <instance-parameter name="formats" transfer-ownership="none">
1986+ <doc xml:space="preserve"
1987+ filename="gdk/gdkcontentformats.c"
1988+ line="477">a `GdkContentFormats`</doc>
1989+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
1990+ </instance-parameter>
1991+ <parameter name="type" transfer-ownership="none">
1992+ <doc xml:space="preserve"
1993+ filename="gdk/gdkcontentformats.c"
1994+ line="478">the `GType` to search for</doc>
1995+ <type name="GType" c:type="GType"/>
1996+ </parameter>
1997+ </parameters>
1998+ </method>
1999+ <method name="contain_mime_type"
2000+ c:identifier="gdk_content_formats_contain_mime_type">
2001+ <doc xml:space="preserve"
2002+ filename="gdk/gdkcontentformats.c"
2003+ line="501">Checks if a given mime type is part of the given @formats.</doc>
2004+ <source-position filename="gdk/gdkcontentformats.h" line="79"/>
2005+ <return-value transfer-ownership="none">
2006+ <doc xml:space="preserve"
2007+ filename="gdk/gdkcontentformats.c"
2008+ line="508">%TRUE if the mime_type was found</doc>
2009+ <type name="gboolean" c:type="gboolean"/>
2010+ </return-value>
2011+ <parameters>
2012+ <instance-parameter name="formats" transfer-ownership="none">
2013+ <doc xml:space="preserve"
2014+ filename="gdk/gdkcontentformats.c"
2015+ line="503">a `GdkContentFormats`</doc>
2016+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2017+ </instance-parameter>
2018+ <parameter name="mime_type" transfer-ownership="none">
2019+ <doc xml:space="preserve"
2020+ filename="gdk/gdkcontentformats.c"
2021+ line="504">the mime type to search for</doc>
2022+ <type name="utf8" c:type="const char*"/>
2023+ </parameter>
2024+ </parameters>
2025+ </method>
2026+ <method name="get_gtypes" c:identifier="gdk_content_formats_get_gtypes">
2027+ <doc xml:space="preserve"
2028+ filename="gdk/gdkcontentformats.c"
2029+ line="521">Gets the `GType`s included in @formats.
2030+
2031+Note that @formats may not contain any `GType`s, in particular when
2032+they are empty. In that case %NULL will be returned.</doc>
2033+ <source-position filename="gdk/gdkcontentformats.h" line="57"/>
2034+ <return-value transfer-ownership="none" nullable="1">
2035+ <doc xml:space="preserve"
2036+ filename="gdk/gdkcontentformats.c"
2037+ line="532">
2038+ %G_TYPE_INVALID-terminated array of types included in @formats</doc>
2039+ <array length="0" zero-terminated="1" c:type="const GType*">
2040+ <type name="GType" c:type="GType"/>
2041+ </array>
2042+ </return-value>
2043+ <parameters>
2044+ <instance-parameter name="formats" transfer-ownership="none">
2045+ <doc xml:space="preserve"
2046+ filename="gdk/gdkcontentformats.c"
2047+ line="523">a `GdkContentFormats`</doc>
2048+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2049+ </instance-parameter>
2050+ <parameter name="n_gtypes"
2051+ direction="out"
2052+ caller-allocates="0"
2053+ transfer-ownership="full"
2054+ optional="1"
2055+ allow-none="1">
2056+ <doc xml:space="preserve"
2057+ filename="gdk/gdkcontentformats.c"
2058+ line="524">optional pointer to take the
2059+ number of `GType`s contained in the return value</doc>
2060+ <type name="gsize" c:type="gsize*"/>
2061+ </parameter>
2062+ </parameters>
2063+ </method>
2064+ <method name="get_mime_types"
2065+ c:identifier="gdk_content_formats_get_mime_types">
2066+ <doc xml:space="preserve"
2067+ filename="gdk/gdkcontentformats.c"
2068+ line="547">Gets the mime types included in @formats.
2069+
2070+Note that @formats may not contain any mime types, in particular
2071+when they are empty. In that case %NULL will be returned.</doc>
2072+ <source-position filename="gdk/gdkcontentformats.h" line="60"/>
2073+ <return-value transfer-ownership="none" nullable="1">
2074+ <doc xml:space="preserve"
2075+ filename="gdk/gdkcontentformats.c"
2076+ line="558">
2077+ %NULL-terminated array of interned strings of mime types included
2078+ in @formats</doc>
2079+ <array length="0" zero-terminated="1" c:type="const char* const*">
2080+ <type name="utf8"/>
2081+ </array>
2082+ </return-value>
2083+ <parameters>
2084+ <instance-parameter name="formats" transfer-ownership="none">
2085+ <doc xml:space="preserve"
2086+ filename="gdk/gdkcontentformats.c"
2087+ line="549">a `GdkContentFormats`</doc>
2088+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2089+ </instance-parameter>
2090+ <parameter name="n_mime_types"
2091+ direction="out"
2092+ caller-allocates="0"
2093+ transfer-ownership="full"
2094+ optional="1"
2095+ allow-none="1">
2096+ <doc xml:space="preserve"
2097+ filename="gdk/gdkcontentformats.c"
2098+ line="550">optional pointer to take the
2099+ number of mime types contained in the return value</doc>
2100+ <type name="gsize" c:type="gsize*"/>
2101+ </parameter>
2102+ </parameters>
2103+ </method>
2104+ <method name="match" c:identifier="gdk_content_formats_match">
2105+ <doc xml:space="preserve"
2106+ filename="gdk/gdkcontentformats.c"
2107+ line="395">Checks if @first and @second have any matching formats.</doc>
2108+ <source-position filename="gdk/gdkcontentformats.h" line="67"/>
2109+ <return-value transfer-ownership="none">
2110+ <doc xml:space="preserve"
2111+ filename="gdk/gdkcontentformats.c"
2112+ line="402">%TRUE if a matching format was found.</doc>
2113+ <type name="gboolean" c:type="gboolean"/>
2114+ </return-value>
2115+ <parameters>
2116+ <instance-parameter name="first" transfer-ownership="none">
2117+ <doc xml:space="preserve"
2118+ filename="gdk/gdkcontentformats.c"
2119+ line="397">the primary `GdkContentFormats` to intersect</doc>
2120+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2121+ </instance-parameter>
2122+ <parameter name="second" transfer-ownership="none">
2123+ <doc xml:space="preserve"
2124+ filename="gdk/gdkcontentformats.c"
2125+ line="398">the `GdkContentFormats` to intersect with</doc>
2126+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2127+ </parameter>
2128+ </parameters>
2129+ </method>
2130+ <method name="match_gtype"
2131+ c:identifier="gdk_content_formats_match_gtype">
2132+ <doc xml:space="preserve"
2133+ filename="gdk/gdkcontentformats.c"
2134+ line="415">Finds the first `GType` from @first that is also contained
2135+in @second.
2136+
2137+If no matching `GType` is found, %G_TYPE_INVALID is returned.</doc>
2138+ <source-position filename="gdk/gdkcontentformats.h" line="70"/>
2139+ <return-value transfer-ownership="none">
2140+ <doc xml:space="preserve"
2141+ filename="gdk/gdkcontentformats.c"
2142+ line="425">The first common `GType` or %G_TYPE_INVALID if none.</doc>
2143+ <type name="GType" c:type="GType"/>
2144+ </return-value>
2145+ <parameters>
2146+ <instance-parameter name="first" transfer-ownership="none">
2147+ <doc xml:space="preserve"
2148+ filename="gdk/gdkcontentformats.c"
2149+ line="417">the primary `GdkContentFormats` to intersect</doc>
2150+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2151+ </instance-parameter>
2152+ <parameter name="second" transfer-ownership="none">
2153+ <doc xml:space="preserve"
2154+ filename="gdk/gdkcontentformats.c"
2155+ line="418">the `GdkContentFormats` to intersect with</doc>
2156+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2157+ </parameter>
2158+ </parameters>
2159+ </method>
2160+ <method name="match_mime_type"
2161+ c:identifier="gdk_content_formats_match_mime_type">
2162+ <doc xml:space="preserve"
2163+ filename="gdk/gdkcontentformats.c"
2164+ line="445">Finds the first mime type from @first that is also contained
2165+in @second.
2166+
2167+If no matching mime type is found, %NULL is returned.</doc>
2168+ <source-position filename="gdk/gdkcontentformats.h" line="73"/>
2169+ <return-value transfer-ownership="none" nullable="1">
2170+ <doc xml:space="preserve"
2171+ filename="gdk/gdkcontentformats.c"
2172+ line="455">The first common mime type or %NULL if none</doc>
2173+ <type name="utf8" c:type="const char*"/>
2174+ </return-value>
2175+ <parameters>
2176+ <instance-parameter name="first" transfer-ownership="none">
2177+ <doc xml:space="preserve"
2178+ filename="gdk/gdkcontentformats.c"
2179+ line="447">the primary `GdkContentFormats` to intersect</doc>
2180+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2181+ </instance-parameter>
2182+ <parameter name="second" transfer-ownership="none">
2183+ <doc xml:space="preserve"
2184+ filename="gdk/gdkcontentformats.c"
2185+ line="448">the `GdkContentFormats` to intersect with</doc>
2186+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2187+ </parameter>
2188+ </parameters>
2189+ </method>
2190+ <method name="print" c:identifier="gdk_content_formats_print">
2191+ <doc xml:space="preserve"
2192+ filename="gdk/gdkcontentformats.c"
2193+ line="293">Prints the given @formats into a string for human consumption.
2194+
2195+The result of this function can later be parsed with
2196+[func@Gdk.ContentFormats.parse].</doc>
2197+ <source-position filename="gdk/gdkcontentformats.h" line="51"/>
2198+ <return-value transfer-ownership="none">
2199+ <type name="none" c:type="void"/>
2200+ </return-value>
2201+ <parameters>
2202+ <instance-parameter name="formats" transfer-ownership="none">
2203+ <doc xml:space="preserve"
2204+ filename="gdk/gdkcontentformats.c"
2205+ line="295">a `GdkContentFormats`</doc>
2206+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2207+ </instance-parameter>
2208+ <parameter name="string" transfer-ownership="none">
2209+ <doc xml:space="preserve"
2210+ filename="gdk/gdkcontentformats.c"
2211+ line="296">a `GString` to print into</doc>
2212+ <type name="GLib.String" c:type="GString*"/>
2213+ </parameter>
2214+ </parameters>
2215+ </method>
2216+ <method name="ref" c:identifier="gdk_content_formats_ref">
2217+ <doc xml:space="preserve"
2218+ filename="gdk/gdkcontentformats.c"
2219+ line="252">Increases the reference count of a `GdkContentFormats` by one.</doc>
2220+ <source-position filename="gdk/gdkcontentformats.h" line="46"/>
2221+ <return-value transfer-ownership="full">
2222+ <doc xml:space="preserve"
2223+ filename="gdk/gdkcontentformats.c"
2224+ line="258">the passed in `GdkContentFormats`.</doc>
2225+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2226+ </return-value>
2227+ <parameters>
2228+ <instance-parameter name="formats" transfer-ownership="none">
2229+ <doc xml:space="preserve"
2230+ filename="gdk/gdkcontentformats.c"
2231+ line="254">a `GdkContentFormats`</doc>
2232+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2233+ </instance-parameter>
2234+ </parameters>
2235+ </method>
2236+ <method name="to_string" c:identifier="gdk_content_formats_to_string">
2237+ <doc xml:space="preserve"
2238+ filename="gdk/gdkcontentformats.c"
2239+ line="326">Prints the given @formats into a human-readable string.
2240+
2241+The resulting string can be parsed with [func@Gdk.ContentFormats.parse].
2242+
2243+This is a small wrapper around [method@Gdk.ContentFormats.print]
2244+to help when debugging.</doc>
2245+ <source-position filename="gdk/gdkcontentformats.h" line="54"/>
2246+ <return-value transfer-ownership="full">
2247+ <doc xml:space="preserve"
2248+ filename="gdk/gdkcontentformats.c"
2249+ line="337">a new string</doc>
2250+ <type name="utf8" c:type="char*"/>
2251+ </return-value>
2252+ <parameters>
2253+ <instance-parameter name="formats" transfer-ownership="none">
2254+ <doc xml:space="preserve"
2255+ filename="gdk/gdkcontentformats.c"
2256+ line="328">a `GdkContentFormats`</doc>
2257+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2258+ </instance-parameter>
2259+ </parameters>
2260+ </method>
2261+ <method name="union" c:identifier="gdk_content_formats_union">
2262+ <doc xml:space="preserve"
2263+ filename="gdk/gdkcontentformats.c"
2264+ line="352">Append all missing types from @second to @first, in the order
2265+they had in @second.</doc>
2266+ <source-position filename="gdk/gdkcontentformats.h" line="64"/>
2267+ <return-value transfer-ownership="full">
2268+ <doc xml:space="preserve"
2269+ filename="gdk/gdkcontentformats.c"
2270+ line="360">a new `GdkContentFormats`</doc>
2271+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2272+ </return-value>
2273+ <parameters>
2274+ <instance-parameter name="first" transfer-ownership="full">
2275+ <doc xml:space="preserve"
2276+ filename="gdk/gdkcontentformats.c"
2277+ line="354">the `GdkContentFormats` to merge into</doc>
2278+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2279+ </instance-parameter>
2280+ <parameter name="second" transfer-ownership="none">
2281+ <doc xml:space="preserve"
2282+ filename="gdk/gdkcontentformats.c"
2283+ line="355">the `GdkContentFormats` to merge from</doc>
2284+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2285+ </parameter>
2286+ </parameters>
2287+ </method>
2288+ <method name="union_deserialize_gtypes"
2289+ c:identifier="gdk_content_formats_union_deserialize_gtypes">
2290+ <doc xml:space="preserve"
2291+ filename="gdk/gdkcontentdeserializer.c"
2292+ line="448">Add GTypes for mime types in @formats for which deserializers are
2293+registered.</doc>
2294+ <source-position filename="gdk/gdkcontentdeserializer.h" line="80"/>
2295+ <return-value transfer-ownership="full">
2296+ <doc xml:space="preserve"
2297+ filename="gdk/gdkcontentdeserializer.c"
2298+ line="455">a new `GdkContentFormats`</doc>
2299+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2300+ </return-value>
2301+ <parameters>
2302+ <instance-parameter name="formats" transfer-ownership="full">
2303+ <doc xml:space="preserve"
2304+ filename="gdk/gdkcontentdeserializer.c"
2305+ line="450">a `GdkContentFormats`</doc>
2306+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2307+ </instance-parameter>
2308+ </parameters>
2309+ </method>
2310+ <method name="union_deserialize_mime_types"
2311+ c:identifier="gdk_content_formats_union_deserialize_mime_types">
2312+ <doc xml:space="preserve"
2313+ filename="gdk/gdkcontentdeserializer.c"
2314+ line="483">Add mime types for GTypes in @formats for which deserializers are
2315+registered.</doc>
2316+ <source-position filename="gdk/gdkcontentdeserializer.h" line="82"/>
2317+ <return-value transfer-ownership="full">
2318+ <doc xml:space="preserve"
2319+ filename="gdk/gdkcontentdeserializer.c"
2320+ line="490">a new `GdkContentFormats`</doc>
2321+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2322+ </return-value>
2323+ <parameters>
2324+ <instance-parameter name="formats" transfer-ownership="full">
2325+ <doc xml:space="preserve"
2326+ filename="gdk/gdkcontentdeserializer.c"
2327+ line="485">a `GdkContentFormats`</doc>
2328+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2329+ </instance-parameter>
2330+ </parameters>
2331+ </method>
2332+ <method name="union_serialize_gtypes"
2333+ c:identifier="gdk_content_formats_union_serialize_gtypes">
2334+ <doc xml:space="preserve"
2335+ filename="gdk/gdkcontentserializer.c"
2336+ line="454">Add GTypes for the mime types in @formats for which serializers are
2337+registered.</doc>
2338+ <source-position filename="gdk/gdkcontentserializer.h" line="80"/>
2339+ <return-value transfer-ownership="full">
2340+ <doc xml:space="preserve"
2341+ filename="gdk/gdkcontentserializer.c"
2342+ line="461">a new `GdkContentFormats`</doc>
2343+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2344+ </return-value>
2345+ <parameters>
2346+ <instance-parameter name="formats" transfer-ownership="full">
2347+ <doc xml:space="preserve"
2348+ filename="gdk/gdkcontentserializer.c"
2349+ line="456">a `GdkContentFormats`</doc>
2350+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2351+ </instance-parameter>
2352+ </parameters>
2353+ </method>
2354+ <method name="union_serialize_mime_types"
2355+ c:identifier="gdk_content_formats_union_serialize_mime_types">
2356+ <doc xml:space="preserve"
2357+ filename="gdk/gdkcontentserializer.c"
2358+ line="489">Add mime types for GTypes in @formats for which serializers are
2359+registered.</doc>
2360+ <source-position filename="gdk/gdkcontentserializer.h" line="82"/>
2361+ <return-value transfer-ownership="full">
2362+ <doc xml:space="preserve"
2363+ filename="gdk/gdkcontentserializer.c"
2364+ line="496">a new `GdkContentFormats`</doc>
2365+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2366+ </return-value>
2367+ <parameters>
2368+ <instance-parameter name="formats" transfer-ownership="full">
2369+ <doc xml:space="preserve"
2370+ filename="gdk/gdkcontentserializer.c"
2371+ line="491">a `GdkContentFormats`</doc>
2372+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2373+ </instance-parameter>
2374+ </parameters>
2375+ </method>
2376+ <method name="unref" c:identifier="gdk_content_formats_unref">
2377+ <doc xml:space="preserve"
2378+ filename="gdk/gdkcontentformats.c"
2379+ line="270">Decreases the reference count of a `GdkContentFormats` by one.
2380+
2381+If the resulting reference count is zero, frees the formats.</doc>
2382+ <source-position filename="gdk/gdkcontentformats.h" line="48"/>
2383+ <return-value transfer-ownership="none">
2384+ <type name="none" c:type="void"/>
2385+ </return-value>
2386+ <parameters>
2387+ <instance-parameter name="formats" transfer-ownership="none">
2388+ <doc xml:space="preserve"
2389+ filename="gdk/gdkcontentformats.c"
2390+ line="272">a `GdkContentFormats`</doc>
2391+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2392+ </instance-parameter>
2393+ </parameters>
2394+ </method>
2395+ <function name="parse"
2396+ c:identifier="gdk_content_formats_parse"
2397+ version="4.4">
2398+ <doc xml:space="preserve"
2399+ filename="gdk/gdkcontentformats.c"
2400+ line="182">Parses the given @string into `GdkContentFormats` and
2401+returns the formats.
2402+
2403+Strings printed via [method@Gdk.ContentFormats.to_string]
2404+can be read in again successfully using this function.
2405+
2406+If @string does not describe valid content formats, %NULL
2407+is returned.</doc>
2408+ <source-position filename="gdk/gdkcontentformats.h" line="44"/>
2409+ <return-value transfer-ownership="full" nullable="1">
2410+ <doc xml:space="preserve"
2411+ filename="gdk/gdkcontentformats.c"
2412+ line="195">the content formats if @string is valid</doc>
2413+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2414+ </return-value>
2415+ <parameters>
2416+ <parameter name="string" transfer-ownership="none">
2417+ <doc xml:space="preserve"
2418+ filename="gdk/gdkcontentformats.c"
2419+ line="184">the string to parse</doc>
2420+ <type name="utf8" c:type="const char*"/>
2421+ </parameter>
2422+ </parameters>
2423+ </function>
2424+ </record>
2425+ <record name="ContentFormatsBuilder"
2426+ c:type="GdkContentFormatsBuilder"
2427+ glib:type-name="GdkContentFormatsBuilder"
2428+ glib:get-type="gdk_content_formats_builder_get_type"
2429+ c:symbol-prefix="content_formats_builder">
2430+ <doc xml:space="preserve"
2431+ filename="gdk/gdkcontentformats.c"
2432+ line="574">A `GdkContentFormatsBuilder` is an auxiliary struct used to create
2433+new `GdkContentFormats`, and should not be kept around.</doc>
2434+ <source-position filename="gdk/gdkcontentformats.h" line="84"/>
2435+ <constructor name="new" c:identifier="gdk_content_formats_builder_new">
2436+ <doc xml:space="preserve"
2437+ filename="gdk/gdkcontentformats.c"
2438+ line="599">Create a new `GdkContentFormatsBuilder` object.
2439+
2440+The resulting builder would create an empty `GdkContentFormats`.
2441+Use addition functions to add types to it.</doc>
2442+ <source-position filename="gdk/gdkcontentformats.h" line="90"/>
2443+ <return-value transfer-ownership="full">
2444+ <doc xml:space="preserve"
2445+ filename="gdk/gdkcontentformats.c"
2446+ line="607">a new `GdkContentFormatsBuilder`</doc>
2447+ <type name="ContentFormatsBuilder"
2448+ c:type="GdkContentFormatsBuilder*"/>
2449+ </return-value>
2450+ </constructor>
2451+ <method name="add_formats"
2452+ c:identifier="gdk_content_formats_builder_add_formats">
2453+ <doc xml:space="preserve"
2454+ filename="gdk/gdkcontentformats.c"
2455+ line="757">Appends all formats from @formats to @builder, skipping those that
2456+already exist.</doc>
2457+ <source-position filename="gdk/gdkcontentformats.h" line="100"/>
2458+ <return-value transfer-ownership="none">
2459+ <type name="none" c:type="void"/>
2460+ </return-value>
2461+ <parameters>
2462+ <instance-parameter name="builder" transfer-ownership="none">
2463+ <doc xml:space="preserve"
2464+ filename="gdk/gdkcontentformats.c"
2465+ line="759">a `GdkContentFormatsBuilder`</doc>
2466+ <type name="ContentFormatsBuilder"
2467+ c:type="GdkContentFormatsBuilder*"/>
2468+ </instance-parameter>
2469+ <parameter name="formats" transfer-ownership="none">
2470+ <doc xml:space="preserve"
2471+ filename="gdk/gdkcontentformats.c"
2472+ line="760">the formats to add</doc>
2473+ <type name="ContentFormats" c:type="const GdkContentFormats*"/>
2474+ </parameter>
2475+ </parameters>
2476+ </method>
2477+ <method name="add_gtype"
2478+ c:identifier="gdk_content_formats_builder_add_gtype">
2479+ <doc xml:space="preserve"
2480+ filename="gdk/gdkcontentformats.c"
2481+ line="781">Appends @type to @builder if it has not already been added.</doc>
2482+ <source-position filename="gdk/gdkcontentformats.h" line="106"/>
2483+ <return-value transfer-ownership="none">
2484+ <type name="none" c:type="void"/>
2485+ </return-value>
2486+ <parameters>
2487+ <instance-parameter name="builder" transfer-ownership="none">
2488+ <doc xml:space="preserve"
2489+ filename="gdk/gdkcontentformats.c"
2490+ line="783">a `GdkContentFormats`Builder</doc>
2491+ <type name="ContentFormatsBuilder"
2492+ c:type="GdkContentFormatsBuilder*"/>
2493+ </instance-parameter>
2494+ <parameter name="type" transfer-ownership="none">
2495+ <doc xml:space="preserve"
2496+ filename="gdk/gdkcontentformats.c"
2497+ line="784">a `GType`</doc>
2498+ <type name="GType" c:type="GType"/>
2499+ </parameter>
2500+ </parameters>
2501+ </method>
2502+ <method name="add_mime_type"
2503+ c:identifier="gdk_content_formats_builder_add_mime_type">
2504+ <doc xml:space="preserve"
2505+ filename="gdk/gdkcontentformats.c"
2506+ line="802">Appends @mime_type to @builder if it has not already been added.</doc>
2507+ <source-position filename="gdk/gdkcontentformats.h" line="103"/>
2508+ <return-value transfer-ownership="none">
2509+ <type name="none" c:type="void"/>
2510+ </return-value>
2511+ <parameters>
2512+ <instance-parameter name="builder" transfer-ownership="none">
2513+ <doc xml:space="preserve"
2514+ filename="gdk/gdkcontentformats.c"
2515+ line="804">a `GdkContentFormatsBuilder`</doc>
2516+ <type name="ContentFormatsBuilder"
2517+ c:type="GdkContentFormatsBuilder*"/>
2518+ </instance-parameter>
2519+ <parameter name="mime_type" transfer-ownership="none">
2520+ <doc xml:space="preserve"
2521+ filename="gdk/gdkcontentformats.c"
2522+ line="805">a mime type</doc>
2523+ <type name="utf8" c:type="const char*"/>
2524+ </parameter>
2525+ </parameters>
2526+ </method>
2527+ <method name="free_to_formats"
2528+ c:identifier="gdk_content_formats_builder_free_to_formats"
2529+ introspectable="0">
2530+ <doc xml:space="preserve"
2531+ filename="gdk/gdkcontentformats.c"
2532+ line="671">Creates a new `GdkContentFormats` from the current state of the
2533+given @builder, and frees the @builder instance.</doc>
2534+ <source-position filename="gdk/gdkcontentformats.h" line="96"/>
2535+ <return-value transfer-ownership="full">
2536+ <doc xml:space="preserve"
2537+ filename="gdk/gdkcontentformats.c"
2538+ line="678">the newly created `GdkContentFormats`
2539+ with all the formats added to @builder</doc>
2540+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2541+ </return-value>
2542+ <parameters>
2543+ <instance-parameter name="builder" transfer-ownership="none">
2544+ <doc xml:space="preserve"
2545+ filename="gdk/gdkcontentformats.c"
2546+ line="673">a `GdkContentFormatsBuilder`</doc>
2547+ <type name="ContentFormatsBuilder"
2548+ c:type="GdkContentFormatsBuilder*"/>
2549+ </instance-parameter>
2550+ </parameters>
2551+ </method>
2552+ <method name="ref" c:identifier="gdk_content_formats_builder_ref">
2553+ <doc xml:space="preserve"
2554+ filename="gdk/gdkcontentformats.c"
2555+ line="620">Acquires a reference on the given @builder.
2556+
2557+This function is intended primarily for bindings.
2558+`GdkContentFormatsBuilder` objects should not be kept around.</doc>
2559+ <source-position filename="gdk/gdkcontentformats.h" line="92"/>
2560+ <return-value transfer-ownership="none">
2561+ <doc xml:space="preserve"
2562+ filename="gdk/gdkcontentformats.c"
2563+ line="629">the given `GdkContentFormatsBuilder`
2564+ with its reference count increased</doc>
2565+ <type name="ContentFormatsBuilder"
2566+ c:type="GdkContentFormatsBuilder*"/>
2567+ </return-value>
2568+ <parameters>
2569+ <instance-parameter name="builder" transfer-ownership="none">
2570+ <doc xml:space="preserve"
2571+ filename="gdk/gdkcontentformats.c"
2572+ line="622">a `GdkContentFormatsBuilder`</doc>
2573+ <type name="ContentFormatsBuilder"
2574+ c:type="GdkContentFormatsBuilder*"/>
2575+ </instance-parameter>
2576+ </parameters>
2577+ </method>
2578+ <method name="to_formats"
2579+ c:identifier="gdk_content_formats_builder_to_formats">
2580+ <doc xml:space="preserve"
2581+ filename="gdk/gdkcontentformats.c"
2582+ line="695">Creates a new `GdkContentFormats` from the given @builder.
2583+
2584+The given `GdkContentFormatsBuilder` is reset once this function returns;
2585+you cannot call this function multiple times on the same @builder instance.
2586+
2587+This function is intended primarily for bindings. C code should use
2588+[method@Gdk.ContentFormatsBuilder.free_to_formats].</doc>
2589+ <source-position filename="gdk/gdkcontentformats.h" line="98"/>
2590+ <return-value transfer-ownership="full">
2591+ <doc xml:space="preserve"
2592+ filename="gdk/gdkcontentformats.c"
2593+ line="707">the newly created `GdkContentFormats`
2594+ with all the formats added to @builder</doc>
2595+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2596+ </return-value>
2597+ <parameters>
2598+ <instance-parameter name="builder" transfer-ownership="none">
2599+ <doc xml:space="preserve"
2600+ filename="gdk/gdkcontentformats.c"
2601+ line="697">a `GdkContentFormats`Builder</doc>
2602+ <type name="ContentFormatsBuilder"
2603+ c:type="GdkContentFormatsBuilder*"/>
2604+ </instance-parameter>
2605+ </parameters>
2606+ </method>
2607+ <method name="unref" c:identifier="gdk_content_formats_builder_unref">
2608+ <doc xml:space="preserve"
2609+ filename="gdk/gdkcontentformats.c"
2610+ line="650">Releases a reference on the given @builder.</doc>
2611+ <source-position filename="gdk/gdkcontentformats.h" line="94"/>
2612+ <return-value transfer-ownership="none">
2613+ <type name="none" c:type="void"/>
2614+ </return-value>
2615+ <parameters>
2616+ <instance-parameter name="builder" transfer-ownership="none">
2617+ <doc xml:space="preserve"
2618+ filename="gdk/gdkcontentformats.c"
2619+ line="652">a `GdkContentFormatsBuilder`</doc>
2620+ <type name="ContentFormatsBuilder"
2621+ c:type="GdkContentFormatsBuilder*"/>
2622+ </instance-parameter>
2623+ </parameters>
2624+ </method>
2625+ </record>
2626+ <class name="ContentProvider"
2627+ c:symbol-prefix="content_provider"
2628+ c:type="GdkContentProvider"
2629+ parent="GObject.Object"
2630+ glib:type-name="GdkContentProvider"
2631+ glib:get-type="gdk_content_provider_get_type"
2632+ glib:type-struct="ContentProviderClass">
2633+ <doc xml:space="preserve"
2634+ filename="gdk/gdkcontentprovider.c"
2635+ line="28">A `GdkContentProvider` is used to provide content for the clipboard or
2636+for drag-and-drop operations in a number of formats.
2637+
2638+To create a `GdkContentProvider`, use [ctor@Gdk.ContentProvider.new_for_value]
2639+or [ctor@Gdk.ContentProvider.new_for_bytes].
2640+
2641+GDK knows how to handle common text and image formats out-of-the-box. See
2642+[class@Gdk.ContentSerializer] and [class@Gdk.ContentDeserializer] if you want
2643+to add support for application-specific data formats.</doc>
2644+ <source-position filename="gdk/gdkcontentprovider.h" line="84"/>
2645+ <constructor name="new_for_bytes"
2646+ c:identifier="gdk_content_provider_new_for_bytes">
2647+ <doc xml:space="preserve"
2648+ filename="gdk/gdkcontentproviderimpl.c"
2649+ line="575">Create a content provider that provides the given @bytes as data for
2650+the given @mime_type.</doc>
2651+ <source-position filename="gdk/gdkcontentproviderimpl.h" line="41"/>
2652+ <return-value transfer-ownership="full">
2653+ <doc xml:space="preserve"
2654+ filename="gdk/gdkcontentproviderimpl.c"
2655+ line="583">a new `GdkContentProvider`</doc>
2656+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2657+ </return-value>
2658+ <parameters>
2659+ <parameter name="mime_type" transfer-ownership="none">
2660+ <doc xml:space="preserve"
2661+ filename="gdk/gdkcontentproviderimpl.c"
2662+ line="577">the mime type</doc>
2663+ <type name="utf8" c:type="const char*"/>
2664+ </parameter>
2665+ <parameter name="bytes" transfer-ownership="none">
2666+ <doc xml:space="preserve"
2667+ filename="gdk/gdkcontentproviderimpl.c"
2668+ line="578">a `GBytes` with the data for @mime_type</doc>
2669+ <type name="GLib.Bytes" c:type="GBytes*"/>
2670+ </parameter>
2671+ </parameters>
2672+ </constructor>
2673+ <constructor name="new_for_value"
2674+ c:identifier="gdk_content_provider_new_for_value">
2675+ <doc xml:space="preserve"
2676+ filename="gdk/gdkcontentproviderimpl.c"
2677+ line="109">Create a content provider that provides the given @value.</doc>
2678+ <source-position filename="gdk/gdkcontentproviderimpl.h" line="33"/>
2679+ <return-value transfer-ownership="full">
2680+ <doc xml:space="preserve"
2681+ filename="gdk/gdkcontentproviderimpl.c"
2682+ line="115">a new `GdkContentProvider`</doc>
2683+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2684+ </return-value>
2685+ <parameters>
2686+ <parameter name="value" transfer-ownership="none">
2687+ <doc xml:space="preserve"
2688+ filename="gdk/gdkcontentproviderimpl.c"
2689+ line="111">a `GValue`</doc>
2690+ <type name="GObject.Value" c:type="const GValue*"/>
2691+ </parameter>
2692+ </parameters>
2693+ </constructor>
2694+ <constructor name="new_typed"
2695+ c:identifier="gdk_content_provider_new_typed"
2696+ introspectable="0">
2697+ <doc xml:space="preserve"
2698+ filename="gdk/gdkcontentproviderimpl.c"
2699+ line="131">Create a content provider that provides the value of the given
2700+@type.
2701+
2702+The value is provided using G_VALUE_COLLECT(), so the same rules
2703+apply as when calling g_object_new() or g_object_set().</doc>
2704+ <source-position filename="gdk/gdkcontentproviderimpl.h" line="35"/>
2705+ <return-value transfer-ownership="full">
2706+ <doc xml:space="preserve"
2707+ filename="gdk/gdkcontentproviderimpl.c"
2708+ line="142">a new `GdkContentProvider`</doc>
2709+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2710+ </return-value>
2711+ <parameters>
2712+ <parameter name="type" transfer-ownership="none">
2713+ <doc xml:space="preserve"
2714+ filename="gdk/gdkcontentproviderimpl.c"
2715+ line="133">Type of value to follow</doc>
2716+ <type name="GType" c:type="GType"/>
2717+ </parameter>
2718+ <parameter name="..." transfer-ownership="none">
2719+ <doc xml:space="preserve"
2720+ filename="gdk/gdkcontentproviderimpl.c"
2721+ line="134">value</doc>
2722+ <varargs/>
2723+ </parameter>
2724+ </parameters>
2725+ </constructor>
2726+ <constructor name="new_union"
2727+ c:identifier="gdk_content_provider_new_union">
2728+ <doc xml:space="preserve"
2729+ filename="gdk/gdkcontentproviderimpl.c"
2730+ line="394">Creates a content provider that represents all the given @providers.
2731+
2732+Whenever data needs to be written, the union provider will try the given
2733+@providers in the given order and the first one supporting a format will
2734+be chosen to provide it.
2735+
2736+This allows an easy way to support providing data in different formats.
2737+For example, an image may be provided by its file and by the image
2738+contents with a call such as
2739+```c
2740+gdk_content_provider_new_union ((GdkContentProvider *[2]) {
2741+ gdk_content_provider_new_typed (G_TYPE_FILE, file),
2742+ gdk_content_provider_new_typed (G_TYPE_TEXTURE, texture)
2743+ }, 2);
2744+```</doc>
2745+ <source-position filename="gdk/gdkcontentproviderimpl.h" line="38"/>
2746+ <return-value transfer-ownership="full">
2747+ <doc xml:space="preserve"
2748+ filename="gdk/gdkcontentproviderimpl.c"
2749+ line="416">a new `GdkContentProvider`</doc>
2750+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2751+ </return-value>
2752+ <parameters>
2753+ <parameter name="providers"
2754+ transfer-ownership="full"
2755+ nullable="1"
2756+ allow-none="1">
2757+ <doc xml:space="preserve"
2758+ filename="gdk/gdkcontentproviderimpl.c"
2759+ line="396">
2760+ The `GdkContentProvider`s to present the union of</doc>
2761+ <array length="1"
2762+ zero-terminated="0"
2763+ c:type="GdkContentProvider**">
2764+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2765+ </array>
2766+ </parameter>
2767+ <parameter name="n_providers" transfer-ownership="none">
2768+ <doc xml:space="preserve"
2769+ filename="gdk/gdkcontentproviderimpl.c"
2770+ line="398">the number of providers</doc>
2771+ <type name="gsize" c:type="gsize"/>
2772+ </parameter>
2773+ </parameters>
2774+ </constructor>
2775+ <virtual-method name="attach_clipboard">
2776+ <source-position filename="gdk/gdkcontentprovider.h" line="61"/>
2777+ <return-value transfer-ownership="none">
2778+ <type name="none" c:type="void"/>
2779+ </return-value>
2780+ <parameters>
2781+ <instance-parameter name="provider" transfer-ownership="none">
2782+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2783+ </instance-parameter>
2784+ <parameter name="clipboard" transfer-ownership="none">
2785+ <type name="Clipboard" c:type="GdkClipboard*"/>
2786+ </parameter>
2787+ </parameters>
2788+ </virtual-method>
2789+ <virtual-method name="content_changed" invoker="content_changed">
2790+ <doc xml:space="preserve"
2791+ filename="gdk/gdkcontentprovider.c"
2792+ line="253">Emits the ::content-changed signal.</doc>
2793+ <source-position filename="gdk/gdkcontentprovider.h" line="57"/>
2794+ <return-value transfer-ownership="none">
2795+ <type name="none" c:type="void"/>
2796+ </return-value>
2797+ <parameters>
2798+ <instance-parameter name="provider" transfer-ownership="none">
2799+ <doc xml:space="preserve"
2800+ filename="gdk/gdkcontentprovider.c"
2801+ line="255">a `GdkContentProvider`</doc>
2802+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2803+ </instance-parameter>
2804+ </parameters>
2805+ </virtual-method>
2806+ <virtual-method name="detach_clipboard">
2807+ <source-position filename="gdk/gdkcontentprovider.h" line="63"/>
2808+ <return-value transfer-ownership="none">
2809+ <type name="none" c:type="void"/>
2810+ </return-value>
2811+ <parameters>
2812+ <instance-parameter name="provider" transfer-ownership="none">
2813+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2814+ </instance-parameter>
2815+ <parameter name="clipboard" transfer-ownership="none">
2816+ <type name="Clipboard" c:type="GdkClipboard*"/>
2817+ </parameter>
2818+ </parameters>
2819+ </virtual-method>
2820+ <virtual-method name="get_value" invoker="get_value" throws="1">
2821+ <doc xml:space="preserve"
2822+ filename="gdk/gdkcontentprovider.c"
2823+ line="339">Gets the contents of @provider stored in @value.
2824+
2825+The @value will have been initialized to the `GType` the value should be
2826+provided in. This given `GType` does not need to be listed in the formats
2827+returned by [method@Gdk.ContentProvider.ref_formats]. However, if the
2828+given `GType` is not supported, this operation can fail and
2829+`G_IO_ERROR_NOT_SUPPORTED` will be reported.</doc>
2830+ <source-position filename="gdk/gdkcontentprovider.h" line="78"/>
2831+ <return-value transfer-ownership="none">
2832+ <doc xml:space="preserve"
2833+ filename="gdk/gdkcontentprovider.c"
2834+ line="353">%TRUE if the value was set successfully. Otherwise
2835+ @error will be set to describe the failure.</doc>
2836+ <type name="gboolean" c:type="gboolean"/>
2837+ </return-value>
2838+ <parameters>
2839+ <instance-parameter name="provider" transfer-ownership="none">
2840+ <doc xml:space="preserve"
2841+ filename="gdk/gdkcontentprovider.c"
2842+ line="341">a `GdkContentProvider`</doc>
2843+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2844+ </instance-parameter>
2845+ <parameter name="value"
2846+ direction="out"
2847+ caller-allocates="1"
2848+ transfer-ownership="none">
2849+ <doc xml:space="preserve"
2850+ filename="gdk/gdkcontentprovider.c"
2851+ line="342">the `GValue` to fill</doc>
2852+ <type name="GObject.Value" c:type="GValue*"/>
2853+ </parameter>
2854+ </parameters>
2855+ </virtual-method>
2856+ <virtual-method name="ref_formats" invoker="ref_formats">
2857+ <attribute name="org.gtk.Method.get_property" value="formats"/>
2858+ <doc xml:space="preserve"
2859+ filename="gdk/gdkcontentprovider.c"
2860+ line="216">Gets the formats that the provider can provide its current contents in.</doc>
2861+ <source-position filename="gdk/gdkcontentprovider.h" line="66"/>
2862+ <return-value transfer-ownership="full">
2863+ <doc xml:space="preserve"
2864+ filename="gdk/gdkcontentprovider.c"
2865+ line="222">The formats of the provider</doc>
2866+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2867+ </return-value>
2868+ <parameters>
2869+ <instance-parameter name="provider" transfer-ownership="none">
2870+ <doc xml:space="preserve"
2871+ filename="gdk/gdkcontentprovider.c"
2872+ line="218">a `GdkContentProvider`</doc>
2873+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2874+ </instance-parameter>
2875+ </parameters>
2876+ </virtual-method>
2877+ <virtual-method name="ref_storable_formats"
2878+ invoker="ref_storable_formats">
2879+ <attribute name="org.gtk.Method.get_property"
2880+ value="storable-formats"/>
2881+ <doc xml:space="preserve"
2882+ filename="gdk/gdkcontentprovider.c"
2883+ line="232">Gets the formats that the provider suggests other applications to store
2884+the data in.
2885+
2886+An example of such an application would be a clipboard manager.
2887+
2888+This can be assumed to be a subset of [method@Gdk.ContentProvider.ref_formats].</doc>
2889+ <source-position filename="gdk/gdkcontentprovider.h" line="67"/>
2890+ <return-value transfer-ownership="full">
2891+ <doc xml:space="preserve"
2892+ filename="gdk/gdkcontentprovider.c"
2893+ line="243">The storable formats of the provider</doc>
2894+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
2895+ </return-value>
2896+ <parameters>
2897+ <instance-parameter name="provider" transfer-ownership="none">
2898+ <doc xml:space="preserve"
2899+ filename="gdk/gdkcontentprovider.c"
2900+ line="234">a `GdkContentProvider`</doc>
2901+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2902+ </instance-parameter>
2903+ </parameters>
2904+ </virtual-method>
2905+ <virtual-method name="write_mime_type_async"
2906+ invoker="write_mime_type_async">
2907+ <doc xml:space="preserve"
2908+ filename="gdk/gdkcontentprovider.c"
2909+ line="269">Asynchronously writes the contents of @provider to @stream in the given
2910+@mime_type.
2911+
2912+When the operation is finished @callback will be called. You must then call
2913+[method@Gdk.ContentProvider.write_mime_type_finish] to get the result
2914+of the operation.
2915+
2916+The given mime type does not need to be listed in the formats returned by
2917+[method@Gdk.ContentProvider.ref_formats]. However, if the given `GType` is
2918+not supported, `G_IO_ERROR_NOT_SUPPORTED` will be reported.
2919+
2920+The given @stream will not be closed.</doc>
2921+ <source-position filename="gdk/gdkcontentprovider.h" line="68"/>
2922+ <return-value transfer-ownership="none">
2923+ <type name="none" c:type="void"/>
2924+ </return-value>
2925+ <parameters>
2926+ <instance-parameter name="provider" transfer-ownership="none">
2927+ <doc xml:space="preserve"
2928+ filename="gdk/gdkcontentprovider.c"
2929+ line="271">a `GdkContentProvider`</doc>
2930+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
2931+ </instance-parameter>
2932+ <parameter name="mime_type" transfer-ownership="none">
2933+ <doc xml:space="preserve"
2934+ filename="gdk/gdkcontentprovider.c"
2935+ line="272">the mime type to provide the data in</doc>
2936+ <type name="utf8" c:type="const char*"/>
2937+ </parameter>
2938+ <parameter name="stream" transfer-ownership="none">
2939+ <doc xml:space="preserve"
2940+ filename="gdk/gdkcontentprovider.c"
2941+ line="273">the `GOutputStream` to write to</doc>
2942+ <type name="Gio.OutputStream" c:type="GOutputStream*"/>
2943+ </parameter>
2944+ <parameter name="io_priority" transfer-ownership="none">
2945+ <doc xml:space="preserve"
2946+ filename="gdk/gdkcontentprovider.c"
2947+ line="274">I/O priority of the request.</doc>
2948+ <type name="gint" c:type="int"/>
2949+ </parameter>
2950+ <parameter name="cancellable"
2951+ transfer-ownership="none"
2952+ nullable="1"
2953+ allow-none="1">
2954+ <doc xml:space="preserve"
2955+ filename="gdk/gdkcontentprovider.c"
2956+ line="275">optional `GCancellable` object, %NULL to ignore.</doc>
2957+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
2958+ </parameter>
2959+ <parameter name="callback"
2960+ transfer-ownership="none"
2961+ nullable="1"
2962+ allow-none="1"
2963+ scope="async"
2964+ closure="5">
2965+ <doc xml:space="preserve"
2966+ filename="gdk/gdkcontentprovider.c"
2967+ line="276">callback to call when the request is satisfied</doc>
2968+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
2969+ </parameter>
2970+ <parameter name="user_data"
2971+ transfer-ownership="none"
2972+ nullable="1"
2973+ allow-none="1"
2974+ closure="5">
2975+ <doc xml:space="preserve"
2976+ filename="gdk/gdkcontentprovider.c"
2977+ line="277">the data to pass to callback function</doc>
2978+ <type name="gpointer" c:type="gpointer"/>
2979+ </parameter>
2980+ </parameters>
2981+ </virtual-method>
2982+ <virtual-method name="write_mime_type_finish"
2983+ invoker="write_mime_type_finish"
2984+ throws="1">
2985+ <doc xml:space="preserve"
2986+ filename="gdk/gdkcontentprovider.c"
2987+ line="315">Finishes an asynchronous write operation.
2988+
2989+See [method@Gdk.ContentProvider.write_mime_type_async].</doc>
2990+ <source-position filename="gdk/gdkcontentprovider.h" line="75"/>
2991+ <return-value transfer-ownership="none">
2992+ <doc xml:space="preserve"
2993+ filename="gdk/gdkcontentprovider.c"
2994+ line="325">%TRUE if the operation was completed successfully. Otherwise
2995+ @error will be set to describe the failure.</doc>
2996+ <type name="gboolean" c:type="gboolean"/>
2997+ </return-value>
2998+ <parameters>
2999+ <instance-parameter name="provider" transfer-ownership="none">
3000+ <doc xml:space="preserve"
3001+ filename="gdk/gdkcontentprovider.c"
3002+ line="317">a `GdkContentProvider`</doc>
3003+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3004+ </instance-parameter>
3005+ <parameter name="result" transfer-ownership="none">
3006+ <doc xml:space="preserve"
3007+ filename="gdk/gdkcontentprovider.c"
3008+ line="318">a `GAsyncResult`</doc>
3009+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
3010+ </parameter>
3011+ </parameters>
3012+ </virtual-method>
3013+ <method name="content_changed"
3014+ c:identifier="gdk_content_provider_content_changed">
3015+ <doc xml:space="preserve"
3016+ filename="gdk/gdkcontentprovider.c"
3017+ line="253">Emits the ::content-changed signal.</doc>
3018+ <source-position filename="gdk/gdkcontentprovider.h" line="96"/>
3019+ <return-value transfer-ownership="none">
3020+ <type name="none" c:type="void"/>
3021+ </return-value>
3022+ <parameters>
3023+ <instance-parameter name="provider" transfer-ownership="none">
3024+ <doc xml:space="preserve"
3025+ filename="gdk/gdkcontentprovider.c"
3026+ line="255">a `GdkContentProvider`</doc>
3027+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3028+ </instance-parameter>
3029+ </parameters>
3030+ </method>
3031+ <method name="get_value"
3032+ c:identifier="gdk_content_provider_get_value"
3033+ throws="1">
3034+ <doc xml:space="preserve"
3035+ filename="gdk/gdkcontentprovider.c"
3036+ line="339">Gets the contents of @provider stored in @value.
3037+
3038+The @value will have been initialized to the `GType` the value should be
3039+provided in. This given `GType` does not need to be listed in the formats
3040+returned by [method@Gdk.ContentProvider.ref_formats]. However, if the
3041+given `GType` is not supported, this operation can fail and
3042+`G_IO_ERROR_NOT_SUPPORTED` will be reported.</doc>
3043+ <source-position filename="gdk/gdkcontentprovider.h" line="111"/>
3044+ <return-value transfer-ownership="none">
3045+ <doc xml:space="preserve"
3046+ filename="gdk/gdkcontentprovider.c"
3047+ line="353">%TRUE if the value was set successfully. Otherwise
3048+ @error will be set to describe the failure.</doc>
3049+ <type name="gboolean" c:type="gboolean"/>
3050+ </return-value>
3051+ <parameters>
3052+ <instance-parameter name="provider" transfer-ownership="none">
3053+ <doc xml:space="preserve"
3054+ filename="gdk/gdkcontentprovider.c"
3055+ line="341">a `GdkContentProvider`</doc>
3056+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3057+ </instance-parameter>
3058+ <parameter name="value"
3059+ direction="out"
3060+ caller-allocates="1"
3061+ transfer-ownership="none">
3062+ <doc xml:space="preserve"
3063+ filename="gdk/gdkcontentprovider.c"
3064+ line="342">the `GValue` to fill</doc>
3065+ <type name="GObject.Value" c:type="GValue*"/>
3066+ </parameter>
3067+ </parameters>
3068+ </method>
3069+ <method name="ref_formats"
3070+ c:identifier="gdk_content_provider_ref_formats">
3071+ <attribute name="org.gtk.Method.get_property" value="formats"/>
3072+ <doc xml:space="preserve"
3073+ filename="gdk/gdkcontentprovider.c"
3074+ line="216">Gets the formats that the provider can provide its current contents in.</doc>
3075+ <source-position filename="gdk/gdkcontentprovider.h" line="91"/>
3076+ <return-value transfer-ownership="full">
3077+ <doc xml:space="preserve"
3078+ filename="gdk/gdkcontentprovider.c"
3079+ line="222">The formats of the provider</doc>
3080+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
3081+ </return-value>
3082+ <parameters>
3083+ <instance-parameter name="provider" transfer-ownership="none">
3084+ <doc xml:space="preserve"
3085+ filename="gdk/gdkcontentprovider.c"
3086+ line="218">a `GdkContentProvider`</doc>
3087+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3088+ </instance-parameter>
3089+ </parameters>
3090+ </method>
3091+ <method name="ref_storable_formats"
3092+ c:identifier="gdk_content_provider_ref_storable_formats">
3093+ <attribute name="org.gtk.Method.get_property"
3094+ value="storable-formats"/>
3095+ <doc xml:space="preserve"
3096+ filename="gdk/gdkcontentprovider.c"
3097+ line="232">Gets the formats that the provider suggests other applications to store
3098+the data in.
3099+
3100+An example of such an application would be a clipboard manager.
3101+
3102+This can be assumed to be a subset of [method@Gdk.ContentProvider.ref_formats].</doc>
3103+ <source-position filename="gdk/gdkcontentprovider.h" line="93"/>
3104+ <return-value transfer-ownership="full">
3105+ <doc xml:space="preserve"
3106+ filename="gdk/gdkcontentprovider.c"
3107+ line="243">The storable formats of the provider</doc>
3108+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
3109+ </return-value>
3110+ <parameters>
3111+ <instance-parameter name="provider" transfer-ownership="none">
3112+ <doc xml:space="preserve"
3113+ filename="gdk/gdkcontentprovider.c"
3114+ line="234">a `GdkContentProvider`</doc>
3115+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3116+ </instance-parameter>
3117+ </parameters>
3118+ </method>
3119+ <method name="write_mime_type_async"
3120+ c:identifier="gdk_content_provider_write_mime_type_async">
3121+ <doc xml:space="preserve"
3122+ filename="gdk/gdkcontentprovider.c"
3123+ line="269">Asynchronously writes the contents of @provider to @stream in the given
3124+@mime_type.
3125+
3126+When the operation is finished @callback will be called. You must then call
3127+[method@Gdk.ContentProvider.write_mime_type_finish] to get the result
3128+of the operation.
3129+
3130+The given mime type does not need to be listed in the formats returned by
3131+[method@Gdk.ContentProvider.ref_formats]. However, if the given `GType` is
3132+not supported, `G_IO_ERROR_NOT_SUPPORTED` will be reported.
3133+
3134+The given @stream will not be closed.</doc>
3135+ <source-position filename="gdk/gdkcontentprovider.h" line="99"/>
3136+ <return-value transfer-ownership="none">
3137+ <type name="none" c:type="void"/>
3138+ </return-value>
3139+ <parameters>
3140+ <instance-parameter name="provider" transfer-ownership="none">
3141+ <doc xml:space="preserve"
3142+ filename="gdk/gdkcontentprovider.c"
3143+ line="271">a `GdkContentProvider`</doc>
3144+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3145+ </instance-parameter>
3146+ <parameter name="mime_type" transfer-ownership="none">
3147+ <doc xml:space="preserve"
3148+ filename="gdk/gdkcontentprovider.c"
3149+ line="272">the mime type to provide the data in</doc>
3150+ <type name="utf8" c:type="const char*"/>
3151+ </parameter>
3152+ <parameter name="stream" transfer-ownership="none">
3153+ <doc xml:space="preserve"
3154+ filename="gdk/gdkcontentprovider.c"
3155+ line="273">the `GOutputStream` to write to</doc>
3156+ <type name="Gio.OutputStream" c:type="GOutputStream*"/>
3157+ </parameter>
3158+ <parameter name="io_priority" transfer-ownership="none">
3159+ <doc xml:space="preserve"
3160+ filename="gdk/gdkcontentprovider.c"
3161+ line="274">I/O priority of the request.</doc>
3162+ <type name="gint" c:type="int"/>
3163+ </parameter>
3164+ <parameter name="cancellable"
3165+ transfer-ownership="none"
3166+ nullable="1"
3167+ allow-none="1">
3168+ <doc xml:space="preserve"
3169+ filename="gdk/gdkcontentprovider.c"
3170+ line="275">optional `GCancellable` object, %NULL to ignore.</doc>
3171+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
3172+ </parameter>
3173+ <parameter name="callback"
3174+ transfer-ownership="none"
3175+ nullable="1"
3176+ allow-none="1"
3177+ scope="async"
3178+ closure="5">
3179+ <doc xml:space="preserve"
3180+ filename="gdk/gdkcontentprovider.c"
3181+ line="276">callback to call when the request is satisfied</doc>
3182+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
3183+ </parameter>
3184+ <parameter name="user_data"
3185+ transfer-ownership="none"
3186+ nullable="1"
3187+ allow-none="1">
3188+ <doc xml:space="preserve"
3189+ filename="gdk/gdkcontentprovider.c"
3190+ line="277">the data to pass to callback function</doc>
3191+ <type name="gpointer" c:type="gpointer"/>
3192+ </parameter>
3193+ </parameters>
3194+ </method>
3195+ <method name="write_mime_type_finish"
3196+ c:identifier="gdk_content_provider_write_mime_type_finish"
3197+ throws="1">
3198+ <doc xml:space="preserve"
3199+ filename="gdk/gdkcontentprovider.c"
3200+ line="315">Finishes an asynchronous write operation.
3201+
3202+See [method@Gdk.ContentProvider.write_mime_type_async].</doc>
3203+ <source-position filename="gdk/gdkcontentprovider.h" line="107"/>
3204+ <return-value transfer-ownership="none">
3205+ <doc xml:space="preserve"
3206+ filename="gdk/gdkcontentprovider.c"
3207+ line="325">%TRUE if the operation was completed successfully. Otherwise
3208+ @error will be set to describe the failure.</doc>
3209+ <type name="gboolean" c:type="gboolean"/>
3210+ </return-value>
3211+ <parameters>
3212+ <instance-parameter name="provider" transfer-ownership="none">
3213+ <doc xml:space="preserve"
3214+ filename="gdk/gdkcontentprovider.c"
3215+ line="317">a `GdkContentProvider`</doc>
3216+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3217+ </instance-parameter>
3218+ <parameter name="result" transfer-ownership="none">
3219+ <doc xml:space="preserve"
3220+ filename="gdk/gdkcontentprovider.c"
3221+ line="318">a `GAsyncResult`</doc>
3222+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
3223+ </parameter>
3224+ </parameters>
3225+ </method>
3226+ <property name="formats" transfer-ownership="none">
3227+ <attribute name="org.gtk.Property.get"
3228+ value="gdk_content_provider_ref_formats"/>
3229+ <doc xml:space="preserve"
3230+ filename="gdk/gdkcontentprovider.c"
3231+ line="171">The possible formats that the provider can provide its data in.</doc>
3232+ <type name="ContentFormats"/>
3233+ </property>
3234+ <property name="storable-formats" transfer-ownership="none">
3235+ <attribute name="org.gtk.Property.get"
3236+ value="gdk_content_provider_ref_storable_formats"/>
3237+ <doc xml:space="preserve"
3238+ filename="gdk/gdkcontentprovider.c"
3239+ line="183">The subset of formats that clipboard managers should store this provider's data in.</doc>
3240+ <type name="ContentFormats"/>
3241+ </property>
3242+ <field name="parent">
3243+ <type name="GObject.Object" c:type="GObject"/>
3244+ </field>
3245+ <glib:signal name="content-changed" when="last">
3246+ <doc xml:space="preserve"
3247+ filename="gdk/gdkcontentprovider.c"
3248+ line="195">Emitted whenever the content provided by this provider has changed.</doc>
3249+ <return-value transfer-ownership="none">
3250+ <type name="none" c:type="void"/>
3251+ </return-value>
3252+ </glib:signal>
3253+ </class>
3254+ <record name="ContentProviderClass"
3255+ c:type="GdkContentProviderClass"
3256+ glib:is-gtype-struct-for="ContentProvider">
3257+ <doc xml:space="preserve"
3258+ filename="gdk/gdkcontentprovider.h"
3259+ line="46">Class structure for `GdkContentProvider`.</doc>
3260+ <source-position filename="gdk/gdkcontentprovider.h" line="84"/>
3261+ <field name="parent_class">
3262+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
3263+ </field>
3264+ <field name="content_changed">
3265+ <callback name="content_changed">
3266+ <source-position filename="gdk/gdkcontentprovider.h" line="57"/>
3267+ <return-value transfer-ownership="none">
3268+ <type name="none" c:type="void"/>
3269+ </return-value>
3270+ <parameters>
3271+ <parameter name="provider" transfer-ownership="none">
3272+ <doc xml:space="preserve"
3273+ filename="gdk/gdkcontentprovider.c"
3274+ line="255">a `GdkContentProvider`</doc>
3275+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3276+ </parameter>
3277+ </parameters>
3278+ </callback>
3279+ </field>
3280+ <field name="attach_clipboard">
3281+ <callback name="attach_clipboard">
3282+ <source-position filename="gdk/gdkcontentprovider.h" line="61"/>
3283+ <return-value transfer-ownership="none">
3284+ <type name="none" c:type="void"/>
3285+ </return-value>
3286+ <parameters>
3287+ <parameter name="provider" transfer-ownership="none">
3288+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3289+ </parameter>
3290+ <parameter name="clipboard" transfer-ownership="none">
3291+ <type name="Clipboard" c:type="GdkClipboard*"/>
3292+ </parameter>
3293+ </parameters>
3294+ </callback>
3295+ </field>
3296+ <field name="detach_clipboard">
3297+ <callback name="detach_clipboard">
3298+ <source-position filename="gdk/gdkcontentprovider.h" line="63"/>
3299+ <return-value transfer-ownership="none">
3300+ <type name="none" c:type="void"/>
3301+ </return-value>
3302+ <parameters>
3303+ <parameter name="provider" transfer-ownership="none">
3304+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3305+ </parameter>
3306+ <parameter name="clipboard" transfer-ownership="none">
3307+ <type name="Clipboard" c:type="GdkClipboard*"/>
3308+ </parameter>
3309+ </parameters>
3310+ </callback>
3311+ </field>
3312+ <field name="ref_formats">
3313+ <callback name="ref_formats">
3314+ <source-position filename="gdk/gdkcontentprovider.h" line="66"/>
3315+ <return-value transfer-ownership="full">
3316+ <doc xml:space="preserve"
3317+ filename="gdk/gdkcontentprovider.c"
3318+ line="222">The formats of the provider</doc>
3319+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
3320+ </return-value>
3321+ <parameters>
3322+ <parameter name="provider" transfer-ownership="none">
3323+ <doc xml:space="preserve"
3324+ filename="gdk/gdkcontentprovider.c"
3325+ line="218">a `GdkContentProvider`</doc>
3326+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3327+ </parameter>
3328+ </parameters>
3329+ </callback>
3330+ </field>
3331+ <field name="ref_storable_formats">
3332+ <callback name="ref_storable_formats">
3333+ <source-position filename="gdk/gdkcontentprovider.h" line="67"/>
3334+ <return-value transfer-ownership="full">
3335+ <doc xml:space="preserve"
3336+ filename="gdk/gdkcontentprovider.c"
3337+ line="243">The storable formats of the provider</doc>
3338+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
3339+ </return-value>
3340+ <parameters>
3341+ <parameter name="provider" transfer-ownership="none">
3342+ <doc xml:space="preserve"
3343+ filename="gdk/gdkcontentprovider.c"
3344+ line="234">a `GdkContentProvider`</doc>
3345+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3346+ </parameter>
3347+ </parameters>
3348+ </callback>
3349+ </field>
3350+ <field name="write_mime_type_async">
3351+ <callback name="write_mime_type_async">
3352+ <source-position filename="gdk/gdkcontentprovider.h" line="68"/>
3353+ <return-value transfer-ownership="none">
3354+ <type name="none" c:type="void"/>
3355+ </return-value>
3356+ <parameters>
3357+ <parameter name="provider" transfer-ownership="none">
3358+ <doc xml:space="preserve"
3359+ filename="gdk/gdkcontentprovider.c"
3360+ line="271">a `GdkContentProvider`</doc>
3361+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3362+ </parameter>
3363+ <parameter name="mime_type" transfer-ownership="none">
3364+ <doc xml:space="preserve"
3365+ filename="gdk/gdkcontentprovider.c"
3366+ line="272">the mime type to provide the data in</doc>
3367+ <type name="utf8" c:type="const char*"/>
3368+ </parameter>
3369+ <parameter name="stream" transfer-ownership="none">
3370+ <doc xml:space="preserve"
3371+ filename="gdk/gdkcontentprovider.c"
3372+ line="273">the `GOutputStream` to write to</doc>
3373+ <type name="Gio.OutputStream" c:type="GOutputStream*"/>
3374+ </parameter>
3375+ <parameter name="io_priority" transfer-ownership="none">
3376+ <doc xml:space="preserve"
3377+ filename="gdk/gdkcontentprovider.c"
3378+ line="274">I/O priority of the request.</doc>
3379+ <type name="gint" c:type="int"/>
3380+ </parameter>
3381+ <parameter name="cancellable"
3382+ transfer-ownership="none"
3383+ nullable="1"
3384+ allow-none="1">
3385+ <doc xml:space="preserve"
3386+ filename="gdk/gdkcontentprovider.c"
3387+ line="275">optional `GCancellable` object, %NULL to ignore.</doc>
3388+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
3389+ </parameter>
3390+ <parameter name="callback"
3391+ transfer-ownership="none"
3392+ nullable="1"
3393+ allow-none="1"
3394+ scope="async"
3395+ closure="6">
3396+ <doc xml:space="preserve"
3397+ filename="gdk/gdkcontentprovider.c"
3398+ line="276">callback to call when the request is satisfied</doc>
3399+ <type name="Gio.AsyncReadyCallback"
3400+ c:type="GAsyncReadyCallback"/>
3401+ </parameter>
3402+ <parameter name="user_data"
3403+ transfer-ownership="none"
3404+ nullable="1"
3405+ allow-none="1"
3406+ closure="6">
3407+ <doc xml:space="preserve"
3408+ filename="gdk/gdkcontentprovider.c"
3409+ line="277">the data to pass to callback function</doc>
3410+ <type name="gpointer" c:type="gpointer"/>
3411+ </parameter>
3412+ </parameters>
3413+ </callback>
3414+ </field>
3415+ <field name="write_mime_type_finish">
3416+ <callback name="write_mime_type_finish" throws="1">
3417+ <source-position filename="gdk/gdkcontentprovider.h" line="75"/>
3418+ <return-value transfer-ownership="none">
3419+ <doc xml:space="preserve"
3420+ filename="gdk/gdkcontentprovider.c"
3421+ line="325">%TRUE if the operation was completed successfully. Otherwise
3422+ @error will be set to describe the failure.</doc>
3423+ <type name="gboolean" c:type="gboolean"/>
3424+ </return-value>
3425+ <parameters>
3426+ <parameter name="provider" transfer-ownership="none">
3427+ <doc xml:space="preserve"
3428+ filename="gdk/gdkcontentprovider.c"
3429+ line="317">a `GdkContentProvider`</doc>
3430+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3431+ </parameter>
3432+ <parameter name="result" transfer-ownership="none">
3433+ <doc xml:space="preserve"
3434+ filename="gdk/gdkcontentprovider.c"
3435+ line="318">a `GAsyncResult`</doc>
3436+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
3437+ </parameter>
3438+ </parameters>
3439+ </callback>
3440+ </field>
3441+ <field name="get_value">
3442+ <callback name="get_value" throws="1">
3443+ <source-position filename="gdk/gdkcontentprovider.h" line="78"/>
3444+ <return-value transfer-ownership="none">
3445+ <doc xml:space="preserve"
3446+ filename="gdk/gdkcontentprovider.c"
3447+ line="353">%TRUE if the value was set successfully. Otherwise
3448+ @error will be set to describe the failure.</doc>
3449+ <type name="gboolean" c:type="gboolean"/>
3450+ </return-value>
3451+ <parameters>
3452+ <parameter name="provider" transfer-ownership="none">
3453+ <doc xml:space="preserve"
3454+ filename="gdk/gdkcontentprovider.c"
3455+ line="341">a `GdkContentProvider`</doc>
3456+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
3457+ </parameter>
3458+ <parameter name="value"
3459+ direction="out"
3460+ caller-allocates="1"
3461+ transfer-ownership="none">
3462+ <doc xml:space="preserve"
3463+ filename="gdk/gdkcontentprovider.c"
3464+ line="342">the `GValue` to fill</doc>
3465+ <type name="GObject.Value" c:type="GValue*"/>
3466+ </parameter>
3467+ </parameters>
3468+ </callback>
3469+ </field>
3470+ <field name="padding" readable="0" private="1">
3471+ <array zero-terminated="0" fixed-size="8">
3472+ <type name="gpointer" c:type="gpointer"/>
3473+ </array>
3474+ </field>
3475+ </record>
3476+ <callback name="ContentSerializeFunc" c:type="GdkContentSerializeFunc">
3477+ <doc xml:space="preserve"
3478+ filename="gdk/gdkcontentserializer.h"
3479+ line="37">The type of a function that can be registered with gdk_content_register_serializer().
3480+
3481+When the function gets called to operate on content, it can call functions on the
3482+@serializer object to obtain the mime type, output stream, user data, etc. for its
3483+operation.</doc>
3484+ <source-position filename="gdk/gdkcontentserializer.h" line="47"/>
3485+ <return-value transfer-ownership="none">
3486+ <type name="none" c:type="void"/>
3487+ </return-value>
3488+ <parameters>
3489+ <parameter name="serializer" transfer-ownership="none">
3490+ <doc xml:space="preserve"
3491+ filename="gdk/gdkcontentserializer.h"
3492+ line="39">a `GdkContentSerializer`</doc>
3493+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3494+ </parameter>
3495+ </parameters>
3496+ </callback>
3497+ <class name="ContentSerializer"
3498+ c:symbol-prefix="content_serializer"
3499+ c:type="GdkContentSerializer"
3500+ parent="GObject.Object"
3501+ glib:type-name="GdkContentSerializer"
3502+ glib:get-type="gdk_content_serializer_get_type">
3503+ <doc xml:space="preserve"
3504+ filename="gdk/gdkcontentserializer.c"
3505+ line="39">A `GdkContentSerializer` is used to serialize content for
3506+inter-application data transfers.
3507+
3508+The `GdkContentSerializer` transforms an object that is identified
3509+by a GType into a serialized form (i.e. a byte stream) that is
3510+identified by a mime type.
3511+
3512+GTK provides serializers and deserializers for common data types
3513+such as text, colors, images or file lists. To register your own
3514+serialization functions, use [func@Gdk.content_register_serializer].
3515+
3516+Also see [class@Gdk.ContentDeserializer].</doc>
3517+ <implements name="Gio.AsyncResult"/>
3518+ <method name="get_cancellable"
3519+ c:identifier="gdk_content_serializer_get_cancellable">
3520+ <doc xml:space="preserve"
3521+ filename="gdk/gdkcontentserializer.c"
3522+ line="266">Gets the cancellable for the current operation.
3523+
3524+This is the `GCancellable` that was passed to [func@content_serialize_async].</doc>
3525+ <source-position filename="gdk/gdkcontentserializer.h" line="63"/>
3526+ <return-value transfer-ownership="none" nullable="1">
3527+ <doc xml:space="preserve"
3528+ filename="gdk/gdkcontentserializer.c"
3529+ line="274">the cancellable for the current operation</doc>
3530+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
3531+ </return-value>
3532+ <parameters>
3533+ <instance-parameter name="serializer" transfer-ownership="none">
3534+ <doc xml:space="preserve"
3535+ filename="gdk/gdkcontentserializer.c"
3536+ line="268">a `GdkContentSerializer`</doc>
3537+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3538+ </instance-parameter>
3539+ </parameters>
3540+ </method>
3541+ <method name="get_gtype" c:identifier="gdk_content_serializer_get_gtype">
3542+ <doc xml:space="preserve"
3543+ filename="gdk/gdkcontentserializer.c"
3544+ line="198">Gets the `GType` to of the object to serialize.</doc>
3545+ <source-position filename="gdk/gdkcontentserializer.h" line="55"/>
3546+ <return-value transfer-ownership="none">
3547+ <doc xml:space="preserve"
3548+ filename="gdk/gdkcontentserializer.c"
3549+ line="204">the `GType` for the current operation</doc>
3550+ <type name="GType" c:type="GType"/>
3551+ </return-value>
3552+ <parameters>
3553+ <instance-parameter name="serializer" transfer-ownership="none">
3554+ <doc xml:space="preserve"
3555+ filename="gdk/gdkcontentserializer.c"
3556+ line="200">a `GdkContentSerializer`</doc>
3557+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3558+ </instance-parameter>
3559+ </parameters>
3560+ </method>
3561+ <method name="get_mime_type"
3562+ c:identifier="gdk_content_serializer_get_mime_type">
3563+ <doc xml:space="preserve"
3564+ filename="gdk/gdkcontentserializer.c"
3565+ line="182">Gets the mime type to serialize to.</doc>
3566+ <source-position filename="gdk/gdkcontentserializer.h" line="53"/>
3567+ <return-value transfer-ownership="none">
3568+ <doc xml:space="preserve"
3569+ filename="gdk/gdkcontentserializer.c"
3570+ line="188">the mime type for the current operation</doc>
3571+ <type name="utf8" c:type="const char*"/>
3572+ </return-value>
3573+ <parameters>
3574+ <instance-parameter name="serializer" transfer-ownership="none">
3575+ <doc xml:space="preserve"
3576+ filename="gdk/gdkcontentserializer.c"
3577+ line="184">a `GdkContentSerializer`</doc>
3578+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3579+ </instance-parameter>
3580+ </parameters>
3581+ </method>
3582+ <method name="get_output_stream"
3583+ c:identifier="gdk_content_serializer_get_output_stream">
3584+ <doc xml:space="preserve"
3585+ filename="gdk/gdkcontentserializer.c"
3586+ line="230">Gets the output stream for the current operation.
3587+
3588+This is the stream that was passed to [func@content_serialize_async].</doc>
3589+ <source-position filename="gdk/gdkcontentserializer.h" line="59"/>
3590+ <return-value transfer-ownership="none">
3591+ <doc xml:space="preserve"
3592+ filename="gdk/gdkcontentserializer.c"
3593+ line="238">the output stream for the current operation</doc>
3594+ <type name="Gio.OutputStream" c:type="GOutputStream*"/>
3595+ </return-value>
3596+ <parameters>
3597+ <instance-parameter name="serializer" transfer-ownership="none">
3598+ <doc xml:space="preserve"
3599+ filename="gdk/gdkcontentserializer.c"
3600+ line="232">a `GdkContentSerializer`</doc>
3601+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3602+ </instance-parameter>
3603+ </parameters>
3604+ </method>
3605+ <method name="get_priority"
3606+ c:identifier="gdk_content_serializer_get_priority">
3607+ <doc xml:space="preserve"
3608+ filename="gdk/gdkcontentserializer.c"
3609+ line="248">Gets the I/O priority for the current operation.
3610+
3611+This is the priority that was passed to [func@content_serialize_async].</doc>
3612+ <source-position filename="gdk/gdkcontentserializer.h" line="61"/>
3613+ <return-value transfer-ownership="none">
3614+ <doc xml:space="preserve"
3615+ filename="gdk/gdkcontentserializer.c"
3616+ line="256">the I/O priority for the current operation</doc>
3617+ <type name="gint" c:type="int"/>
3618+ </return-value>
3619+ <parameters>
3620+ <instance-parameter name="serializer" transfer-ownership="none">
3621+ <doc xml:space="preserve"
3622+ filename="gdk/gdkcontentserializer.c"
3623+ line="250">a `GdkContentSerializer`</doc>
3624+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3625+ </instance-parameter>
3626+ </parameters>
3627+ </method>
3628+ <method name="get_task_data"
3629+ c:identifier="gdk_content_serializer_get_task_data">
3630+ <doc xml:space="preserve"
3631+ filename="gdk/gdkcontentserializer.c"
3632+ line="322">Gets the data that was associated with the current operation.
3633+
3634+See [method@Gdk.ContentSerializer.set_task_data].</doc>
3635+ <source-position filename="gdk/gdkcontentserializer.h" line="71"/>
3636+ <return-value transfer-ownership="none" nullable="1">
3637+ <doc xml:space="preserve"
3638+ filename="gdk/gdkcontentserializer.c"
3639+ line="330">the task data for @serializer</doc>
3640+ <type name="gpointer" c:type="gpointer"/>
3641+ </return-value>
3642+ <parameters>
3643+ <instance-parameter name="serializer" transfer-ownership="none">
3644+ <doc xml:space="preserve"
3645+ filename="gdk/gdkcontentserializer.c"
3646+ line="324">a `GdkContentSerializer`</doc>
3647+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3648+ </instance-parameter>
3649+ </parameters>
3650+ </method>
3651+ <method name="get_user_data"
3652+ c:identifier="gdk_content_serializer_get_user_data">
3653+ <doc xml:space="preserve"
3654+ filename="gdk/gdkcontentserializer.c"
3655+ line="284">Gets the user data that was passed when the serializer was registered.</doc>
3656+ <source-position filename="gdk/gdkcontentserializer.h" line="65"/>
3657+ <return-value transfer-ownership="none" nullable="1">
3658+ <doc xml:space="preserve"
3659+ filename="gdk/gdkcontentserializer.c"
3660+ line="290">the user data for this serializer</doc>
3661+ <type name="gpointer" c:type="gpointer"/>
3662+ </return-value>
3663+ <parameters>
3664+ <instance-parameter name="serializer" transfer-ownership="none">
3665+ <doc xml:space="preserve"
3666+ filename="gdk/gdkcontentserializer.c"
3667+ line="286">a `GdkContentSerializer`</doc>
3668+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3669+ </instance-parameter>
3670+ </parameters>
3671+ </method>
3672+ <method name="get_value" c:identifier="gdk_content_serializer_get_value">
3673+ <doc xml:space="preserve"
3674+ filename="gdk/gdkcontentserializer.c"
3675+ line="214">Gets the `GValue` to read the object to serialize from.</doc>
3676+ <source-position filename="gdk/gdkcontentserializer.h" line="57"/>
3677+ <return-value transfer-ownership="none">
3678+ <doc xml:space="preserve"
3679+ filename="gdk/gdkcontentserializer.c"
3680+ line="220">the `GValue` for the current operation</doc>
3681+ <type name="GObject.Value" c:type="const GValue*"/>
3682+ </return-value>
3683+ <parameters>
3684+ <instance-parameter name="serializer" transfer-ownership="none">
3685+ <doc xml:space="preserve"
3686+ filename="gdk/gdkcontentserializer.c"
3687+ line="216">a `GdkContentSerializer`</doc>
3688+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3689+ </instance-parameter>
3690+ </parameters>
3691+ </method>
3692+ <method name="return_error"
3693+ c:identifier="gdk_content_serializer_return_error">
3694+ <doc xml:space="preserve"
3695+ filename="gdk/gdkcontentserializer.c"
3696+ line="375">Indicate that the serialization has ended with an error.
3697+
3698+This function consumes @error.</doc>
3699+ <source-position filename="gdk/gdkcontentserializer.h" line="76"/>
3700+ <return-value transfer-ownership="none">
3701+ <type name="none" c:type="void"/>
3702+ </return-value>
3703+ <parameters>
3704+ <instance-parameter name="serializer" transfer-ownership="none">
3705+ <doc xml:space="preserve"
3706+ filename="gdk/gdkcontentserializer.c"
3707+ line="377">a `GdkContentSerializer`</doc>
3708+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3709+ </instance-parameter>
3710+ <parameter name="error" transfer-ownership="full">
3711+ <doc xml:space="preserve"
3712+ filename="gdk/gdkcontentserializer.c"
3713+ line="378">a `GError`</doc>
3714+ <type name="GLib.Error" c:type="GError*"/>
3715+ </parameter>
3716+ </parameters>
3717+ </method>
3718+ <method name="return_success"
3719+ c:identifier="gdk_content_serializer_return_success">
3720+ <doc xml:space="preserve"
3721+ filename="gdk/gdkcontentserializer.c"
3722+ line="353">Indicate that the serialization has been successfully completed.</doc>
3723+ <source-position filename="gdk/gdkcontentserializer.h" line="74"/>
3724+ <return-value transfer-ownership="none">
3725+ <type name="none" c:type="void"/>
3726+ </return-value>
3727+ <parameters>
3728+ <instance-parameter name="serializer" transfer-ownership="none">
3729+ <doc xml:space="preserve"
3730+ filename="gdk/gdkcontentserializer.c"
3731+ line="355">a `GdkContentSerializer`</doc>
3732+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3733+ </instance-parameter>
3734+ </parameters>
3735+ </method>
3736+ <method name="set_task_data"
3737+ c:identifier="gdk_content_serializer_set_task_data">
3738+ <doc xml:space="preserve"
3739+ filename="gdk/gdkcontentserializer.c"
3740+ line="300">Associate data with the current serialization operation.</doc>
3741+ <source-position filename="gdk/gdkcontentserializer.h" line="67"/>
3742+ <return-value transfer-ownership="none">
3743+ <type name="none" c:type="void"/>
3744+ </return-value>
3745+ <parameters>
3746+ <instance-parameter name="serializer" transfer-ownership="none">
3747+ <doc xml:space="preserve"
3748+ filename="gdk/gdkcontentserializer.c"
3749+ line="302">a `GdkContentSerializer`</doc>
3750+ <type name="ContentSerializer" c:type="GdkContentSerializer*"/>
3751+ </instance-parameter>
3752+ <parameter name="data"
3753+ transfer-ownership="none"
3754+ nullable="1"
3755+ allow-none="1">
3756+ <doc xml:space="preserve"
3757+ filename="gdk/gdkcontentserializer.c"
3758+ line="303">data to associate with this operation</doc>
3759+ <type name="gpointer" c:type="gpointer"/>
3760+ </parameter>
3761+ <parameter name="notify" transfer-ownership="none" scope="async">
3762+ <doc xml:space="preserve"
3763+ filename="gdk/gdkcontentserializer.c"
3764+ line="304">destroy notify for @data</doc>
3765+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3766+ </parameter>
3767+ </parameters>
3768+ </method>
3769+ </class>
3770+ <class name="CrossingEvent"
3771+ c:symbol-prefix="crossing_event"
3772+ c:type="GdkCrossingEvent"
3773+ parent="Event"
3774+ glib:type-name="GdkCrossingEvent"
3775+ glib:get-type="gdk_crossing_event_get_type"
3776+ glib:fundamental="1">
3777+ <doc xml:space="preserve"
3778+ filename="gdk/gdkevents.c"
3779+ line="2112">An event caused by a pointing device moving between surfaces.</doc>
3780+ <method name="get_detail" c:identifier="gdk_crossing_event_get_detail">
3781+ <doc xml:space="preserve"
3782+ filename="gdk/gdkevents.c"
3783+ line="2232">Extracts the notify detail from a crossing event.</doc>
3784+ <source-position filename="gdk/gdkevents.h" line="460"/>
3785+ <return-value transfer-ownership="none">
3786+ <doc xml:space="preserve"
3787+ filename="gdk/gdkevents.c"
3788+ line="2238">the notify detail of @event</doc>
3789+ <type name="NotifyType" c:type="GdkNotifyType"/>
3790+ </return-value>
3791+ <parameters>
3792+ <instance-parameter name="event" transfer-ownership="none">
3793+ <doc xml:space="preserve"
3794+ filename="gdk/gdkevents.c"
3795+ line="2234">a crossing event</doc>
3796+ <type name="CrossingEvent" c:type="GdkEvent*"/>
3797+ </instance-parameter>
3798+ </parameters>
3799+ </method>
3800+ <method name="get_focus" c:identifier="gdk_crossing_event_get_focus">
3801+ <doc xml:space="preserve"
3802+ filename="gdk/gdkevents.c"
3803+ line="2212">Checks if the @event surface is the focus surface.</doc>
3804+ <source-position filename="gdk/gdkevents.h" line="462"/>
3805+ <return-value transfer-ownership="none">
3806+ <doc xml:space="preserve"
3807+ filename="gdk/gdkevents.c"
3808+ line="2218">%TRUE if the surface is the focus surface</doc>
3809+ <type name="gboolean" c:type="gboolean"/>
3810+ </return-value>
3811+ <parameters>
3812+ <instance-parameter name="event" transfer-ownership="none">
3813+ <doc xml:space="preserve"
3814+ filename="gdk/gdkevents.c"
3815+ line="2214">a crossing event</doc>
3816+ <type name="CrossingEvent" c:type="GdkEvent*"/>
3817+ </instance-parameter>
3818+ </parameters>
3819+ </method>
3820+ <method name="get_mode" c:identifier="gdk_crossing_event_get_mode">
3821+ <doc xml:space="preserve"
3822+ filename="gdk/gdkevents.c"
3823+ line="2192">Extracts the crossing mode from a crossing event.</doc>
3824+ <source-position filename="gdk/gdkevents.h" line="458"/>
3825+ <return-value transfer-ownership="none">
3826+ <doc xml:space="preserve"
3827+ filename="gdk/gdkevents.c"
3828+ line="2198">the mode of @event</doc>
3829+ <type name="CrossingMode" c:type="GdkCrossingMode"/>
3830+ </return-value>
3831+ <parameters>
3832+ <instance-parameter name="event" transfer-ownership="none">
3833+ <doc xml:space="preserve"
3834+ filename="gdk/gdkevents.c"
3835+ line="2194">a crossing event</doc>
3836+ <type name="CrossingEvent" c:type="GdkEvent*"/>
3837+ </instance-parameter>
3838+ </parameters>
3839+ </method>
3840+ </class>
3841+ <enumeration name="CrossingMode"
3842+ glib:type-name="GdkCrossingMode"
3843+ glib:get-type="gdk_crossing_mode_get_type"
3844+ c:type="GdkCrossingMode">
3845+ <doc xml:space="preserve"
3846+ filename="gdk/gdkevents.h"
3847+ line="329">Specifies the crossing mode for enter and leave events.</doc>
3848+ <member name="normal"
3849+ value="0"
3850+ c:identifier="GDK_CROSSING_NORMAL"
3851+ glib:nick="normal"
3852+ glib:name="GDK_CROSSING_NORMAL">
3853+ <doc xml:space="preserve"
3854+ filename="gdk/gdkevents.h"
3855+ line="331">crossing because of pointer motion.</doc>
3856+ </member>
3857+ <member name="grab"
3858+ value="1"
3859+ c:identifier="GDK_CROSSING_GRAB"
3860+ glib:nick="grab"
3861+ glib:name="GDK_CROSSING_GRAB">
3862+ <doc xml:space="preserve"
3863+ filename="gdk/gdkevents.h"
3864+ line="332">crossing because a grab is activated.</doc>
3865+ </member>
3866+ <member name="ungrab"
3867+ value="2"
3868+ c:identifier="GDK_CROSSING_UNGRAB"
3869+ glib:nick="ungrab"
3870+ glib:name="GDK_CROSSING_UNGRAB">
3871+ <doc xml:space="preserve"
3872+ filename="gdk/gdkevents.h"
3873+ line="333">crossing because a grab is deactivated.</doc>
3874+ </member>
3875+ <member name="gtk_grab"
3876+ value="3"
3877+ c:identifier="GDK_CROSSING_GTK_GRAB"
3878+ glib:nick="gtk-grab"
3879+ glib:name="GDK_CROSSING_GTK_GRAB">
3880+ <doc xml:space="preserve"
3881+ filename="gdk/gdkevents.h"
3882+ line="334">crossing because a GTK grab is activated.</doc>
3883+ </member>
3884+ <member name="gtk_ungrab"
3885+ value="4"
3886+ c:identifier="GDK_CROSSING_GTK_UNGRAB"
3887+ glib:nick="gtk-ungrab"
3888+ glib:name="GDK_CROSSING_GTK_UNGRAB">
3889+ <doc xml:space="preserve"
3890+ filename="gdk/gdkevents.h"
3891+ line="335">crossing because a GTK grab is deactivated.</doc>
3892+ </member>
3893+ <member name="state_changed"
3894+ value="5"
3895+ c:identifier="GDK_CROSSING_STATE_CHANGED"
3896+ glib:nick="state-changed"
3897+ glib:name="GDK_CROSSING_STATE_CHANGED">
3898+ <doc xml:space="preserve"
3899+ filename="gdk/gdkevents.h"
3900+ line="336">crossing because a GTK widget changed
3901+ state (e.g. sensitivity).</doc>
3902+ </member>
3903+ <member name="touch_begin"
3904+ value="6"
3905+ c:identifier="GDK_CROSSING_TOUCH_BEGIN"
3906+ glib:nick="touch-begin"
3907+ glib:name="GDK_CROSSING_TOUCH_BEGIN">
3908+ <doc xml:space="preserve"
3909+ filename="gdk/gdkevents.h"
3910+ line="338">crossing because a touch sequence has begun,
3911+ this event is synthetic as the pointer might have not left the surface.</doc>
3912+ </member>
3913+ <member name="touch_end"
3914+ value="7"
3915+ c:identifier="GDK_CROSSING_TOUCH_END"
3916+ glib:nick="touch-end"
3917+ glib:name="GDK_CROSSING_TOUCH_END">
3918+ <doc xml:space="preserve"
3919+ filename="gdk/gdkevents.h"
3920+ line="340">crossing because a touch sequence has ended,
3921+ this event is synthetic as the pointer might have not left the surface.</doc>
3922+ </member>
3923+ <member name="device_switch"
3924+ value="8"
3925+ c:identifier="GDK_CROSSING_DEVICE_SWITCH"
3926+ glib:nick="device-switch"
3927+ glib:name="GDK_CROSSING_DEVICE_SWITCH">
3928+ <doc xml:space="preserve"
3929+ filename="gdk/gdkevents.h"
3930+ line="342">crossing because of a device switch (i.e.
3931+ a mouse taking control of the pointer after a touch device), this event
3932+ is synthetic as the pointer didn’t leave the surface.</doc>
3933+ </member>
3934+ </enumeration>
3935+ <class name="Cursor"
3936+ c:symbol-prefix="cursor"
3937+ c:type="GdkCursor"
3938+ parent="GObject.Object"
3939+ glib:type-name="GdkCursor"
3940+ glib:get-type="gdk_cursor_get_type">
3941+ <doc xml:space="preserve"
3942+ filename="gdk/gdkcursor.c"
3943+ line="38">`GdkCursor` is used to create and destroy cursors.
3944+
3945+Cursors are immutable objects, so once you created them, there is no way
3946+to modify them later. You should create a new cursor when you want to change
3947+something about it.
3948+
3949+Cursors by themselves are not very interesting: they must be bound to a
3950+window for users to see them. This is done with [method@Gdk.Surface.set_cursor]
3951+or [method@Gdk.Surface.set_device_cursor]. Applications will typically
3952+use higher-level GTK functions such as [method@Gtk.Widget.set_cursor] instead.
3953+
3954+Cursors are not bound to a given [class@Gdk.Display], so they can be shared.
3955+However, the appearance of cursors may vary when used on different
3956+platforms.
3957+
3958+## Named and texture cursors
3959+
3960+There are multiple ways to create cursors. The platform's own cursors
3961+can be created with [ctor@Gdk.Cursor.new_from_name]. That function lists
3962+the commonly available names that are shared with the CSS specification.
3963+Other names may be available, depending on the platform in use. On some
3964+platforms, what images are used for named cursors may be influenced by
3965+the cursor theme.
3966+
3967+Another option to create a cursor is to use [ctor@Gdk.Cursor.new_from_texture]
3968+and provide an image to use for the cursor.
3969+
3970+To ease work with unsupported cursors, a fallback cursor can be provided.
3971+If a [class@Gdk.Surface] cannot use a cursor because of the reasons mentioned
3972+above, it will try the fallback cursor. Fallback cursors can themselves have
3973+fallback cursors again, so it is possible to provide a chain of progressively
3974+easier to support cursors. If none of the provided cursors can be supported,
3975+the default cursor will be the ultimate fallback.</doc>
3976+ <constructor name="new_from_name"
3977+ c:identifier="gdk_cursor_new_from_name">
3978+ <doc xml:space="preserve"
3979+ filename="gdk/gdkcursor.c"
3980+ line="286">Creates a new cursor by looking up @name in the current cursor
3981+theme.
3982+
3983+A recommended set of cursor names that will work across different
3984+platforms can be found in the CSS specification:
3985+
3986+| | | | |
3987+| --- | --- | ---- | --- |
3988+| "none" | ![](default_cursor.png) "default" | ![](help_cursor.png) "help" | ![](pointer_cursor.png) "pointer" |
3989+| ![](context_menu_cursor.png) "context-menu" | ![](progress_cursor.png) "progress" | ![](wait_cursor.png) "wait" | ![](cell_cursor.png) "cell" |
3990+| ![](crosshair_cursor.png) "crosshair" | ![](text_cursor.png) "text" | ![](vertical_text_cursor.png) "vertical-text" | ![](alias_cursor.png) "alias" |
3991+| ![](copy_cursor.png) "copy" | ![](no_drop_cursor.png) "no-drop" | ![](move_cursor.png) "move" | ![](not_allowed_cursor.png) "not-allowed" |
3992+| ![](grab_cursor.png) "grab" | ![](grabbing_cursor.png) "grabbing" | ![](all_scroll_cursor.png) "all-scroll" | ![](col_resize_cursor.png) "col-resize" |
3993+| ![](row_resize_cursor.png) "row-resize" | ![](n_resize_cursor.png) "n-resize" | ![](e_resize_cursor.png) "e-resize" | ![](s_resize_cursor.png) "s-resize" |
3994+| ![](w_resize_cursor.png) "w-resize" | ![](ne_resize_cursor.png) "ne-resize" | ![](nw_resize_cursor.png) "nw-resize" | ![](sw_resize_cursor.png) "sw-resize" |
3995+| ![](se_resize_cursor.png) "se-resize" | ![](ew_resize_cursor.png) "ew-resize" | ![](ns_resize_cursor.png) "ns-resize" | ![](nesw_resize_cursor.png) "nesw-resize" |
3996+| ![](nwse_resize_cursor.png) "nwse-resize" | ![](zoom_in_cursor.png) "zoom-in" | ![](zoom_out_cursor.png) "zoom-out" | |</doc>
3997+ <source-position filename="gdk/gdkcursor.h" line="53"/>
3998+ <return-value transfer-ownership="full" nullable="1">
3999+ <doc xml:space="preserve"
4000+ filename="gdk/gdkcursor.c"
4001+ line="310">a new `GdkCursor`, or %NULL if there is no
4002+ cursor with the given name</doc>
4003+ <type name="Cursor" c:type="GdkCursor*"/>
4004+ </return-value>
4005+ <parameters>
4006+ <parameter name="name" transfer-ownership="none">
4007+ <doc xml:space="preserve"
4008+ filename="gdk/gdkcursor.c"
4009+ line="288">the name of the cursor</doc>
4010+ <type name="utf8" c:type="const char*"/>
4011+ </parameter>
4012+ <parameter name="fallback"
4013+ transfer-ownership="none"
4014+ nullable="1"
4015+ allow-none="1">
4016+ <doc xml:space="preserve"
4017+ filename="gdk/gdkcursor.c"
4018+ line="289">%NULL or the `GdkCursor` to fall back to when
4019+ this one cannot be supported</doc>
4020+ <type name="Cursor" c:type="GdkCursor*"/>
4021+ </parameter>
4022+ </parameters>
4023+ </constructor>
4024+ <constructor name="new_from_texture"
4025+ c:identifier="gdk_cursor_new_from_texture">
4026+ <doc xml:space="preserve"
4027+ filename="gdk/gdkcursor.c"
4028+ line="326">Creates a new cursor from a `GdkTexture`.</doc>
4029+ <source-position filename="gdk/gdkcursor.h" line="48"/>
4030+ <return-value transfer-ownership="full">
4031+ <doc xml:space="preserve"
4032+ filename="gdk/gdkcursor.c"
4033+ line="336">a new `GdkCursor`</doc>
4034+ <type name="Cursor" c:type="GdkCursor*"/>
4035+ </return-value>
4036+ <parameters>
4037+ <parameter name="texture" transfer-ownership="none">
4038+ <doc xml:space="preserve"
4039+ filename="gdk/gdkcursor.c"
4040+ line="328">the texture providing the pixel data</doc>
4041+ <type name="Texture" c:type="GdkTexture*"/>
4042+ </parameter>
4043+ <parameter name="hotspot_x" transfer-ownership="none">
4044+ <doc xml:space="preserve"
4045+ filename="gdk/gdkcursor.c"
4046+ line="329">the horizontal offset of the “hotspot” of the cursor</doc>
4047+ <type name="gint" c:type="int"/>
4048+ </parameter>
4049+ <parameter name="hotspot_y" transfer-ownership="none">
4050+ <doc xml:space="preserve"
4051+ filename="gdk/gdkcursor.c"
4052+ line="330">the vertical offset of the “hotspot” of the cursor</doc>
4053+ <type name="gint" c:type="int"/>
4054+ </parameter>
4055+ <parameter name="fallback"
4056+ transfer-ownership="none"
4057+ nullable="1"
4058+ allow-none="1">
4059+ <doc xml:space="preserve"
4060+ filename="gdk/gdkcursor.c"
4061+ line="331">the `GdkCursor` to fall back to when
4062+ this one cannot be supported</doc>
4063+ <type name="Cursor" c:type="GdkCursor*"/>
4064+ </parameter>
4065+ </parameters>
4066+ </constructor>
4067+ <method name="get_fallback"
4068+ c:identifier="gdk_cursor_get_fallback"
4069+ glib:get-property="fallback">
4070+ <attribute name="org.gtk.Method.get_property" value="fallback"/>
4071+ <doc xml:space="preserve"
4072+ filename="gdk/gdkcursor.c"
4073+ line="357">Returns the fallback for this @cursor.
4074+
4075+The fallback will be used if this cursor is not available on a given
4076+`GdkDisplay`. For named cursors, this can happen when using nonstandard
4077+names or when using an incomplete cursor theme. For textured cursors,
4078+this can happen when the texture is too large or when the `GdkDisplay`
4079+it is used on does not support textured cursors.</doc>
4080+ <source-position filename="gdk/gdkcursor.h" line="57"/>
4081+ <return-value transfer-ownership="none" nullable="1">
4082+ <doc xml:space="preserve"
4083+ filename="gdk/gdkcursor.c"
4084+ line="369">the fallback of the cursor or %NULL
4085+ to use the default cursor as fallback</doc>
4086+ <type name="Cursor" c:type="GdkCursor*"/>
4087+ </return-value>
4088+ <parameters>
4089+ <instance-parameter name="cursor" transfer-ownership="none">
4090+ <doc xml:space="preserve"
4091+ filename="gdk/gdkcursor.c"
4092+ line="359">a `GdkCursor`</doc>
4093+ <type name="Cursor" c:type="GdkCursor*"/>
4094+ </instance-parameter>
4095+ </parameters>
4096+ </method>
4097+ <method name="get_hotspot_x"
4098+ c:identifier="gdk_cursor_get_hotspot_x"
4099+ glib:get-property="hotspot-x">
4100+ <attribute name="org.gtk.Method.get_property" value="hotspot-x"/>
4101+ <doc xml:space="preserve"
4102+ filename="gdk/gdkcursor.c"
4103+ line="418">Returns the horizontal offset of the hotspot.
4104+
4105+The hotspot indicates the pixel that will be directly above the cursor.
4106+
4107+Note that named cursors may have a nonzero hotspot, but this function
4108+will only return the hotspot position for cursors created with
4109+[ctor@Gdk.Cursor.new_from_texture].</doc>
4110+ <source-position filename="gdk/gdkcursor.h" line="63"/>
4111+ <return-value transfer-ownership="none">
4112+ <doc xml:space="preserve"
4113+ filename="gdk/gdkcursor.c"
4114+ line="430">the horizontal offset of the hotspot or 0 for named cursors</doc>
4115+ <type name="gint" c:type="int"/>
4116+ </return-value>
4117+ <parameters>
4118+ <instance-parameter name="cursor" transfer-ownership="none">
4119+ <doc xml:space="preserve"
4120+ filename="gdk/gdkcursor.c"
4121+ line="420">a `GdkCursor`</doc>
4122+ <type name="Cursor" c:type="GdkCursor*"/>
4123+ </instance-parameter>
4124+ </parameters>
4125+ </method>
4126+ <method name="get_hotspot_y"
4127+ c:identifier="gdk_cursor_get_hotspot_y"
4128+ glib:get-property="hotspot-y">
4129+ <attribute name="org.gtk.Method.get_property" value="hotspot-y"/>
4130+ <doc xml:space="preserve"
4131+ filename="gdk/gdkcursor.c"
4132+ line="440">Returns the vertical offset of the hotspot.
4133+
4134+The hotspot indicates the pixel that will be directly above the cursor.
4135+
4136+Note that named cursors may have a nonzero hotspot, but this function
4137+will only return the hotspot position for cursors created with
4138+[ctor@Gdk.Cursor.new_from_texture].</doc>
4139+ <source-position filename="gdk/gdkcursor.h" line="65"/>
4140+ <return-value transfer-ownership="none">
4141+ <doc xml:space="preserve"
4142+ filename="gdk/gdkcursor.c"
4143+ line="452">the vertical offset of the hotspot or 0 for named cursors</doc>
4144+ <type name="gint" c:type="int"/>
4145+ </return-value>
4146+ <parameters>
4147+ <instance-parameter name="cursor" transfer-ownership="none">
4148+ <doc xml:space="preserve"
4149+ filename="gdk/gdkcursor.c"
4150+ line="442">a `GdkCursor`</doc>
4151+ <type name="Cursor" c:type="GdkCursor*"/>
4152+ </instance-parameter>
4153+ </parameters>
4154+ </method>
4155+ <method name="get_name"
4156+ c:identifier="gdk_cursor_get_name"
4157+ glib:get-property="name">
4158+ <attribute name="org.gtk.Method.get_property" value="name"/>
4159+ <doc xml:space="preserve"
4160+ filename="gdk/gdkcursor.c"
4161+ line="380">Returns the name of the cursor.
4162+
4163+If the cursor is not a named cursor, %NULL will be returned.</doc>
4164+ <source-position filename="gdk/gdkcursor.h" line="59"/>
4165+ <return-value transfer-ownership="none" nullable="1">
4166+ <doc xml:space="preserve"
4167+ filename="gdk/gdkcursor.c"
4168+ line="388">the name of the cursor or %NULL
4169+ if it is not a named cursor</doc>
4170+ <type name="utf8" c:type="const char*"/>
4171+ </return-value>
4172+ <parameters>
4173+ <instance-parameter name="cursor" transfer-ownership="none">
4174+ <doc xml:space="preserve"
4175+ filename="gdk/gdkcursor.c"
4176+ line="382">a `GdkCursor`</doc>
4177+ <type name="Cursor" c:type="GdkCursor*"/>
4178+ </instance-parameter>
4179+ </parameters>
4180+ </method>
4181+ <method name="get_texture"
4182+ c:identifier="gdk_cursor_get_texture"
4183+ glib:get-property="texture">
4184+ <doc xml:space="preserve"
4185+ filename="gdk/gdkcursor.c"
4186+ line="399">Returns the texture for the cursor.
4187+
4188+If the cursor is a named cursor, %NULL will be returned.</doc>
4189+ <source-position filename="gdk/gdkcursor.h" line="61"/>
4190+ <return-value transfer-ownership="none" nullable="1">
4191+ <doc xml:space="preserve"
4192+ filename="gdk/gdkcursor.c"
4193+ line="407">the texture for cursor or %NULL
4194+ if it is a named cursor</doc>
4195+ <type name="Texture" c:type="GdkTexture*"/>
4196+ </return-value>
4197+ <parameters>
4198+ <instance-parameter name="cursor" transfer-ownership="none">
4199+ <doc xml:space="preserve"
4200+ filename="gdk/gdkcursor.c"
4201+ line="401">a `GdkCursor`</doc>
4202+ <type name="Cursor" c:type="GdkCursor*"/>
4203+ </instance-parameter>
4204+ </parameters>
4205+ </method>
4206+ <property name="fallback"
4207+ writable="1"
4208+ construct-only="1"
4209+ transfer-ownership="none"
4210+ getter="get_fallback">
4211+ <attribute name="org.gtk.Property.get"
4212+ value="gdk_cursor_get_fallback"/>
4213+ <doc xml:space="preserve"
4214+ filename="gdk/gdkcursor.c"
4215+ line="170">Cursor to fall back to if this cursor cannot be displayed.</doc>
4216+ <type name="Cursor"/>
4217+ </property>
4218+ <property name="hotspot-x"
4219+ writable="1"
4220+ construct-only="1"
4221+ transfer-ownership="none"
4222+ getter="get_hotspot_x">
4223+ <attribute name="org.gtk.Property.get"
4224+ value="gdk_cursor_get_hotspot_x"/>
4225+ <doc xml:space="preserve"
4226+ filename="gdk/gdkcursor.c"
4227+ line="182">X position of the cursor hotspot in the cursor image.</doc>
4228+ <type name="gint" c:type="gint"/>
4229+ </property>
4230+ <property name="hotspot-y"
4231+ writable="1"
4232+ construct-only="1"
4233+ transfer-ownership="none"
4234+ getter="get_hotspot_y">
4235+ <attribute name="org.gtk.Property.get"
4236+ value="gdk_cursor_get_hotspot_y"/>
4237+ <doc xml:space="preserve"
4238+ filename="gdk/gdkcursor.c"
4239+ line="194">Y position of the cursor hotspot in the cursor image.</doc>
4240+ <type name="gint" c:type="gint"/>
4241+ </property>
4242+ <property name="name"
4243+ writable="1"
4244+ construct-only="1"
4245+ transfer-ownership="none"
4246+ getter="get_name">
4247+ <attribute name="org.gtk.Property.get" value="gdk_cursor_get_name"/>
4248+ <doc xml:space="preserve"
4249+ filename="gdk/gdkcursor.c"
4250+ line="206">Name of this this cursor.
4251+
4252+The name will be %NULL if the cursor was created from a texture.</doc>
4253+ <type name="utf8" c:type="gchar*"/>
4254+ </property>
4255+ <property name="texture"
4256+ writable="1"
4257+ construct-only="1"
4258+ transfer-ownership="none"
4259+ getter="get_texture">
4260+ <doc xml:space="preserve"
4261+ filename="gdk/gdkcursor.c"
4262+ line="220">The texture displayed by this cursor.
4263+
4264+The texture will be %NULL if the cursor was created from a name.</doc>
4265+ <type name="Texture"/>
4266+ </property>
4267+ </class>
4268+ <function-macro name="DECLARE_INTERNAL_TYPE"
4269+ c:identifier="GDK_DECLARE_INTERNAL_TYPE"
4270+ introspectable="0">
4271+ <source-position filename="gdk/gdktypes.h" line="115"/>
4272+ <parameters>
4273+ <parameter name="ModuleObjName">
4274+ </parameter>
4275+ <parameter name="module_obj_name">
4276+ </parameter>
4277+ <parameter name="MODULE">
4278+ </parameter>
4279+ <parameter name="OBJ_NAME">
4280+ </parameter>
4281+ <parameter name="ParentName">
4282+ </parameter>
4283+ </parameters>
4284+ </function-macro>
4285+ <function-macro name="DEVICE" c:identifier="GDK_DEVICE" introspectable="0">
4286+ <source-position filename="gdk/gdkdevice.h" line="34"/>
4287+ <parameters>
4288+ <parameter name="o">
4289+ </parameter>
4290+ </parameters>
4291+ </function-macro>
4292+ <function-macro name="DEVICE_PAD"
4293+ c:identifier="GDK_DEVICE_PAD"
4294+ introspectable="0">
4295+ <source-position filename="gdk/gdkdevicepad.h" line="33"/>
4296+ <parameters>
4297+ <parameter name="o">
4298+ </parameter>
4299+ </parameters>
4300+ </function-macro>
4301+ <function-macro name="DEVICE_TOOL"
4302+ c:identifier="GDK_DEVICE_TOOL"
4303+ introspectable="0">
4304+ <source-position filename="gdk/gdkdevicetool.h" line="33"/>
4305+ <parameters>
4306+ <parameter name="o">
4307+ </parameter>
4308+ </parameters>
4309+ </function-macro>
4310+ <function-macro name="DISPLAY"
4311+ c:identifier="GDK_DISPLAY"
4312+ introspectable="0">
4313+ <source-position filename="gdk/gdkdisplay.h" line="38"/>
4314+ <parameters>
4315+ <parameter name="object">
4316+ </parameter>
4317+ </parameters>
4318+ </function-macro>
4319+ <function-macro name="DISPLAY_MANAGER"
4320+ c:identifier="GDK_DISPLAY_MANAGER"
4321+ introspectable="0">
4322+ <source-position filename="gdk/gdkdisplaymanager.h" line="38"/>
4323+ <parameters>
4324+ <parameter name="object">
4325+ </parameter>
4326+ </parameters>
4327+ </function-macro>
4328+ <class name="DNDEvent"
4329+ c:symbol-prefix="dnd_event"
4330+ c:type="GdkDNDEvent"
4331+ parent="Event"
4332+ glib:type-name="GdkDNDEvent"
4333+ glib:get-type="gdk_dnd_event_get_type"
4334+ glib:fundamental="1">
4335+ <doc xml:space="preserve"
4336+ filename="gdk/gdkevents.c"
4337+ line="3261">An event related to drag and drop operations.</doc>
4338+ <method name="get_drop" c:identifier="gdk_dnd_event_get_drop">
4339+ <doc xml:space="preserve"
4340+ filename="gdk/gdkevents.c"
4341+ line="3341">Gets the `GdkDrop` object from a DND event.</doc>
4342+ <source-position filename="gdk/gdkevents.h" line="493"/>
4343+ <return-value transfer-ownership="none" nullable="1">
4344+ <doc xml:space="preserve"
4345+ filename="gdk/gdkevents.c"
4346+ line="3347">the drop</doc>
4347+ <type name="Drop" c:type="GdkDrop*"/>
4348+ </return-value>
4349+ <parameters>
4350+ <instance-parameter name="event" transfer-ownership="none">
4351+ <doc xml:space="preserve"
4352+ filename="gdk/gdkevents.c"
4353+ line="3343">a DND event</doc>
4354+ <type name="DNDEvent" c:type="GdkEvent*"/>
4355+ </instance-parameter>
4356+ </parameters>
4357+ </method>
4358+ </class>
4359+ <function-macro name="DRAG" c:identifier="GDK_DRAG" introspectable="0">
4360+ <source-position filename="gdk/gdkdrag.h" line="40"/>
4361+ <parameters>
4362+ <parameter name="object">
4363+ </parameter>
4364+ </parameters>
4365+ </function-macro>
4366+ <function-macro name="DRAW_CONTEXT"
4367+ c:identifier="GDK_DRAW_CONTEXT"
4368+ introspectable="0">
4369+ <source-position filename="gdk/gdkdrawcontext.h" line="34"/>
4370+ <parameters>
4371+ <parameter name="obj">
4372+ </parameter>
4373+ </parameters>
4374+ </function-macro>
4375+ <function-macro name="DROP" c:identifier="GDK_DROP" introspectable="0">
4376+ <source-position filename="gdk/gdkdrop.h" line="35"/>
4377+ <parameters>
4378+ <parameter name="object">
4379+ </parameter>
4380+ </parameters>
4381+ </function-macro>
4382+ <class name="DeleteEvent"
4383+ c:symbol-prefix="delete_event"
4384+ c:type="GdkDeleteEvent"
4385+ parent="Event"
4386+ glib:type-name="GdkDeleteEvent"
4387+ glib:get-type="gdk_delete_event_get_type"
4388+ glib:fundamental="1">
4389+ <doc xml:space="preserve"
4390+ filename="gdk/gdkevents.c"
4391+ line="2256">An event related to closing a top-level surface.</doc>
4392+ </class>
4393+ <class name="Device"
4394+ c:symbol-prefix="device"
4395+ c:type="GdkDevice"
4396+ parent="GObject.Object"
4397+ abstract="1"
4398+ glib:type-name="GdkDevice"
4399+ glib:get-type="gdk_device_get_type">
4400+ <doc xml:space="preserve"
4401+ filename="gdk/gdkdevice.c"
4402+ line="28">The `GdkDevice` object represents an input device, such
4403+as a keyboard, a mouse, or a touchpad.
4404+
4405+See the [class@Gdk.Seat] documentation for more information
4406+about the various kinds of devices, and their relationships.</doc>
4407+ <method name="get_caps_lock_state"
4408+ c:identifier="gdk_device_get_caps_lock_state"
4409+ glib:get-property="caps-lock-state">
4410+ <attribute name="org.gtk.Method.get_property" value="caps-lock-state"/>
4411+ <doc xml:space="preserve"
4412+ filename="gdk/gdkdevice.c"
4413+ line="1219">Retrieves whether the Caps Lock modifier of the keyboard is locked.
4414+
4415+This is only relevant for keyboard devices.</doc>
4416+ <source-position filename="gdk/gdkdevice.h" line="116"/>
4417+ <return-value transfer-ownership="none">
4418+ <doc xml:space="preserve"
4419+ filename="gdk/gdkdevice.c"
4420+ line="1227">%TRUE if Caps Lock is on for @device</doc>
4421+ <type name="gboolean" c:type="gboolean"/>
4422+ </return-value>
4423+ <parameters>
4424+ <instance-parameter name="device" transfer-ownership="none">
4425+ <doc xml:space="preserve"
4426+ filename="gdk/gdkdevice.c"
4427+ line="1221">a `GdkDevice`</doc>
4428+ <type name="Device" c:type="GdkDevice*"/>
4429+ </instance-parameter>
4430+ </parameters>
4431+ </method>
4432+ <method name="get_device_tool" c:identifier="gdk_device_get_device_tool">
4433+ <attribute name="org.gtk.Method.get_property" value="tool"/>
4434+ <doc xml:space="preserve"
4435+ filename="gdk/gdkdevice.c"
4436+ line="1203">Retrieves the current tool for @device.</doc>
4437+ <source-position filename="gdk/gdkdevice.h" line="101"/>
4438+ <return-value transfer-ownership="none" nullable="1">
4439+ <doc xml:space="preserve"
4440+ filename="gdk/gdkdevice.c"
4441+ line="1209">the `GdkDeviceTool`</doc>
4442+ <type name="DeviceTool" c:type="GdkDeviceTool*"/>
4443+ </return-value>
4444+ <parameters>
4445+ <instance-parameter name="device" transfer-ownership="none">
4446+ <doc xml:space="preserve"
4447+ filename="gdk/gdkdevice.c"
4448+ line="1205">a `GdkDevice`</doc>
4449+ <type name="Device" c:type="GdkDevice*"/>
4450+ </instance-parameter>
4451+ </parameters>
4452+ </method>
4453+ <method name="get_direction"
4454+ c:identifier="gdk_device_get_direction"
4455+ glib:get-property="direction">
4456+ <attribute name="org.gtk.Method.get_property" value="direction"/>
4457+ <doc xml:space="preserve"
4458+ filename="gdk/gdkdevice.c"
4459+ line="1303">Returns the direction of effective layout of the keyboard.
4460+
4461+This is only relevant for keyboard devices.
4462+
4463+The direction of a layout is the direction of the majority
4464+of its symbols. See [func@Pango.unichar_direction].</doc>
4465+ <source-position filename="gdk/gdkdevice.h" line="112"/>
4466+ <return-value transfer-ownership="none">
4467+ <doc xml:space="preserve"
4468+ filename="gdk/gdkdevice.c"
4469+ line="1314">%PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL
4470+ if it can determine the direction. %PANGO_DIRECTION_NEUTRAL
4471+ otherwise</doc>
4472+ <type name="Pango.Direction" c:type="PangoDirection"/>
4473+ </return-value>
4474+ <parameters>
4475+ <instance-parameter name="device" transfer-ownership="none">
4476+ <doc xml:space="preserve"
4477+ filename="gdk/gdkdevice.c"
4478+ line="1305">a `GdkDevice`</doc>
4479+ <type name="Device" c:type="GdkDevice*"/>
4480+ </instance-parameter>
4481+ </parameters>
4482+ </method>
4483+ <method name="get_display"
4484+ c:identifier="gdk_device_get_display"
4485+ glib:get-property="display">
4486+ <attribute name="org.gtk.Method.get_property" value="display"/>
4487+ <doc xml:space="preserve"
4488+ filename="gdk/gdkdevice.c"
4489+ line="600">Returns the `GdkDisplay` to which @device pertains.</doc>
4490+ <source-position filename="gdk/gdkdevice.h" line="97"/>
4491+ <return-value transfer-ownership="none">
4492+ <doc xml:space="preserve"
4493+ filename="gdk/gdkdevice.c"
4494+ line="606">a `GdkDisplay`</doc>
4495+ <type name="Display" c:type="GdkDisplay*"/>
4496+ </return-value>
4497+ <parameters>
4498+ <instance-parameter name="device" transfer-ownership="none">
4499+ <doc xml:space="preserve"
4500+ filename="gdk/gdkdevice.c"
4501+ line="602">a `GdkDevice`</doc>
4502+ <type name="Device" c:type="GdkDevice*"/>
4503+ </instance-parameter>
4504+ </parameters>
4505+ </method>
4506+ <method name="get_has_cursor"
4507+ c:identifier="gdk_device_get_has_cursor"
4508+ glib:get-property="has-cursor">
4509+ <attribute name="org.gtk.Method.get_property" value="has-cursor"/>
4510+ <doc xml:space="preserve"
4511+ filename="gdk/gdkdevice.c"
4512+ line="541">Determines whether the pointer follows device motion.
4513+
4514+This is not meaningful for keyboard devices, which
4515+don't have a pointer.</doc>
4516+ <source-position filename="gdk/gdkdevice.h" line="106"/>
4517+ <return-value transfer-ownership="none">
4518+ <doc xml:space="preserve"
4519+ filename="gdk/gdkdevice.c"
4520+ line="550">%TRUE if the pointer follows device motion</doc>
4521+ <type name="gboolean" c:type="gboolean"/>
4522+ </return-value>
4523+ <parameters>
4524+ <instance-parameter name="device" transfer-ownership="none">
4525+ <doc xml:space="preserve"
4526+ filename="gdk/gdkdevice.c"
4527+ line="543">a `GdkDevice`</doc>
4528+ <type name="Device" c:type="GdkDevice*"/>
4529+ </instance-parameter>
4530+ </parameters>
4531+ </method>
4532+ <method name="get_modifier_state"
4533+ c:identifier="gdk_device_get_modifier_state"
4534+ glib:get-property="modifier-state">
4535+ <attribute name="org.gtk.Method.get_property" value="modifier-state"/>
4536+ <doc xml:space="preserve"
4537+ filename="gdk/gdkdevice.c"
4538+ line="1282">Retrieves the current modifier state of the keyboard.
4539+
4540+This is only relevant for keyboard devices.</doc>
4541+ <source-position filename="gdk/gdkdevice.h" line="110"/>
4542+ <return-value transfer-ownership="none">
4543+ <doc xml:space="preserve"
4544+ filename="gdk/gdkdevice.c"
4545+ line="1290">the current modifier state</doc>
4546+ <type name="ModifierType" c:type="GdkModifierType"/>
4547+ </return-value>
4548+ <parameters>
4549+ <instance-parameter name="device" transfer-ownership="none">
4550+ <doc xml:space="preserve"
4551+ filename="gdk/gdkdevice.c"
4552+ line="1284">a `GdkDevice`</doc>
4553+ <type name="Device" c:type="GdkDevice*"/>
4554+ </instance-parameter>
4555+ </parameters>
4556+ </method>
4557+ <method name="get_name"
4558+ c:identifier="gdk_device_get_name"
4559+ glib:get-property="name">
4560+ <doc xml:space="preserve"
4561+ filename="gdk/gdkdevice.c"
4562+ line="525">The name of the device, suitable for showing in a user interface.</doc>
4563+ <source-position filename="gdk/gdkdevice.h" line="90"/>
4564+ <return-value transfer-ownership="none">
4565+ <doc xml:space="preserve"
4566+ filename="gdk/gdkdevice.c"
4567+ line="531">a name</doc>
4568+ <type name="utf8" c:type="const char*"/>
4569+ </return-value>
4570+ <parameters>
4571+ <instance-parameter name="device" transfer-ownership="none">
4572+ <doc xml:space="preserve"
4573+ filename="gdk/gdkdevice.c"
4574+ line="527">a GdkDevice`</doc>
4575+ <type name="Device" c:type="GdkDevice*"/>
4576+ </instance-parameter>
4577+ </parameters>
4578+ </method>
4579+ <method name="get_num_lock_state"
4580+ c:identifier="gdk_device_get_num_lock_state"
4581+ glib:get-property="num-lock-state">
4582+ <attribute name="org.gtk.Method.get_property" value="num-lock-state"/>
4583+ <doc xml:space="preserve"
4584+ filename="gdk/gdkdevice.c"
4585+ line="1240">Retrieves whether the Num Lock modifier of the keyboard is locked.
4586+
4587+This is only relevant for keyboard devices.</doc>
4588+ <source-position filename="gdk/gdkdevice.h" line="118"/>
4589+ <return-value transfer-ownership="none">
4590+ <doc xml:space="preserve"
4591+ filename="gdk/gdkdevice.c"
4592+ line="1248">%TRUE if Num Lock is on for @device</doc>
4593+ <type name="gboolean" c:type="gboolean"/>
4594+ </return-value>
4595+ <parameters>
4596+ <instance-parameter name="device" transfer-ownership="none">
4597+ <doc xml:space="preserve"
4598+ filename="gdk/gdkdevice.c"
4599+ line="1242">a ``GdkDevice`</doc>
4600+ <type name="Device" c:type="GdkDevice*"/>
4601+ </instance-parameter>
4602+ </parameters>
4603+ </method>
4604+ <method name="get_num_touches"
4605+ c:identifier="gdk_device_get_num_touches"
4606+ glib:get-property="num-touches">
4607+ <doc xml:space="preserve"
4608+ filename="gdk/gdkdevice.c"
4609+ line="1187">Retrieves the number of touch points associated to @device.</doc>
4610+ <source-position filename="gdk/gdkdevice.h" line="108"/>
4611+ <return-value transfer-ownership="none">
4612+ <doc xml:space="preserve"
4613+ filename="gdk/gdkdevice.c"
4614+ line="1193">the number of touch points</doc>
4615+ <type name="guint" c:type="guint"/>
4616+ </return-value>
4617+ <parameters>
4618+ <instance-parameter name="device" transfer-ownership="none">
4619+ <doc xml:space="preserve"
4620+ filename="gdk/gdkdevice.c"
4621+ line="1189">a `GdkDevice`</doc>
4622+ <type name="Device" c:type="GdkDevice*"/>
4623+ </instance-parameter>
4624+ </parameters>
4625+ </method>
4626+ <method name="get_product_id"
4627+ c:identifier="gdk_device_get_product_id"
4628+ glib:get-property="product-id">
4629+ <attribute name="org.gtk.Method.get_property" value="product-id"/>
4630+ <doc xml:space="preserve"
4631+ filename="gdk/gdkdevice.c"
4632+ line="1125">Returns the product ID of this device.
4633+
4634+This ID is retrieved from the device, and does not change.
4635+See [method@Gdk.Device.get_vendor_id] for more information.</doc>
4636+ <source-position filename="gdk/gdkdevice.h" line="94"/>
4637+ <return-value transfer-ownership="none" nullable="1">
4638+ <doc xml:space="preserve"
4639+ filename="gdk/gdkdevice.c"
4640+ line="1134">the product ID</doc>
4641+ <type name="utf8" c:type="const char*"/>
4642+ </return-value>
4643+ <parameters>
4644+ <instance-parameter name="device" transfer-ownership="none">
4645+ <doc xml:space="preserve"
4646+ filename="gdk/gdkdevice.c"
4647+ line="1127">a physical `GdkDevice`</doc>
4648+ <type name="Device" c:type="GdkDevice*"/>
4649+ </instance-parameter>
4650+ </parameters>
4651+ </method>
4652+ <method name="get_scroll_lock_state"
4653+ c:identifier="gdk_device_get_scroll_lock_state"
4654+ glib:get-property="scroll-lock-state">
4655+ <attribute name="org.gtk.Method.get_property"
4656+ value="scroll-lock-state"/>
4657+ <doc xml:space="preserve"
4658+ filename="gdk/gdkdevice.c"
4659+ line="1261">Retrieves whether the Scroll Lock modifier of the keyboard is locked.
4660+
4661+This is only relevant for keyboard devices.</doc>
4662+ <source-position filename="gdk/gdkdevice.h" line="120"/>
4663+ <return-value transfer-ownership="none">
4664+ <doc xml:space="preserve"
4665+ filename="gdk/gdkdevice.c"
4666+ line="1269">%TRUE if Scroll Lock is on for @device</doc>
4667+ <type name="gboolean" c:type="gboolean"/>
4668+ </return-value>
4669+ <parameters>
4670+ <instance-parameter name="device" transfer-ownership="none">
4671+ <doc xml:space="preserve"
4672+ filename="gdk/gdkdevice.c"
4673+ line="1263">a `GdkDevice`</doc>
4674+ <type name="Device" c:type="GdkDevice*"/>
4675+ </instance-parameter>
4676+ </parameters>
4677+ </method>
4678+ <method name="get_seat"
4679+ c:identifier="gdk_device_get_seat"
4680+ glib:get-property="seat">
4681+ <attribute name="org.gtk.Method.get_property" value="seat"/>
4682+ <doc xml:space="preserve"
4683+ filename="gdk/gdkdevice.c"
4684+ line="1158">Returns the `GdkSeat` the device belongs to.</doc>
4685+ <source-position filename="gdk/gdkdevice.h" line="99"/>
4686+ <return-value transfer-ownership="none">
4687+ <doc xml:space="preserve"
4688+ filename="gdk/gdkdevice.c"
4689+ line="1164">a `GdkSeat`</doc>
4690+ <type name="Seat" c:type="GdkSeat*"/>
4691+ </return-value>
4692+ <parameters>
4693+ <instance-parameter name="device" transfer-ownership="none">
4694+ <doc xml:space="preserve"
4695+ filename="gdk/gdkdevice.c"
4696+ line="1160">A `GdkDevice`</doc>
4697+ <type name="Device" c:type="GdkDevice*"/>
4698+ </instance-parameter>
4699+ </parameters>
4700+ </method>
4701+ <method name="get_source"
4702+ c:identifier="gdk_device_get_source"
4703+ glib:get-property="source">
4704+ <attribute name="org.gtk.Method.get_property" value="source"/>
4705+ <doc xml:space="preserve"
4706+ filename="gdk/gdkdevice.c"
4707+ line="560">Determines the type of the device.</doc>
4708+ <source-position filename="gdk/gdkdevice.h" line="104"/>
4709+ <return-value transfer-ownership="none">
4710+ <doc xml:space="preserve"
4711+ filename="gdk/gdkdevice.c"
4712+ line="566">a `GdkInputSource`</doc>
4713+ <type name="InputSource" c:type="GdkInputSource"/>
4714+ </return-value>
4715+ <parameters>
4716+ <instance-parameter name="device" transfer-ownership="none">
4717+ <doc xml:space="preserve"
4718+ filename="gdk/gdkdevice.c"
4719+ line="562">a `GdkDevice`</doc>
4720+ <type name="Device" c:type="GdkDevice*"/>
4721+ </instance-parameter>
4722+ </parameters>
4723+ </method>
4724+ <method name="get_surface_at_position"
4725+ c:identifier="gdk_device_get_surface_at_position">
4726+ <doc xml:space="preserve"
4727+ filename="gdk/gdkdevice.c"
4728+ line="487">Obtains the surface underneath @device, returning the location of the
4729+device in @win_x and @win_y.
4730+
4731+Returns %NULL if the surface tree under @device is not known to GDK
4732+(for example, belongs to another application).</doc>
4733+ <source-position filename="gdk/gdkdevice.h" line="123"/>
4734+ <return-value transfer-ownership="none" nullable="1">
4735+ <doc xml:space="preserve"
4736+ filename="gdk/gdkdevice.c"
4737+ line="501">the `GdkSurface` under the
4738+ device position</doc>
4739+ <type name="Surface" c:type="GdkSurface*"/>
4740+ </return-value>
4741+ <parameters>
4742+ <instance-parameter name="device" transfer-ownership="none">
4743+ <doc xml:space="preserve"
4744+ filename="gdk/gdkdevice.c"
4745+ line="489">pointer `GdkDevice` to query info to</doc>
4746+ <type name="Device" c:type="GdkDevice*"/>
4747+ </instance-parameter>
4748+ <parameter name="win_x"
4749+ direction="out"
4750+ caller-allocates="0"
4751+ transfer-ownership="full"
4752+ optional="1"
4753+ allow-none="1">
4754+ <doc xml:space="preserve"
4755+ filename="gdk/gdkdevice.c"
4756+ line="490">return location for the X coordinate
4757+ of the device location relative to the surface origin</doc>
4758+ <type name="gdouble" c:type="double*"/>
4759+ </parameter>
4760+ <parameter name="win_y"
4761+ direction="out"
4762+ caller-allocates="0"
4763+ transfer-ownership="full"
4764+ optional="1"
4765+ allow-none="1">
4766+ <doc xml:space="preserve"
4767+ filename="gdk/gdkdevice.c"
4768+ line="492">return location for the Y coordinate
4769+ of the device location relative to the surface origin</doc>
4770+ <type name="gdouble" c:type="double*"/>
4771+ </parameter>
4772+ </parameters>
4773+ </method>
4774+ <method name="get_timestamp"
4775+ c:identifier="gdk_device_get_timestamp"
4776+ version="4.2">
4777+ <doc xml:space="preserve"
4778+ filename="gdk/gdkdevice.c"
4779+ line="1358">Returns the timestamp of the last activity for this device.
4780+
4781+In practice, this means the timestamp of the last event that was
4782+received from the OS for this device. (GTK may occasionally produce
4783+events for a device that are not received from the OS, and will not
4784+update the timestamp).</doc>
4785+ <source-position filename="gdk/gdkdevice.h" line="128"/>
4786+ <return-value transfer-ownership="none">
4787+ <doc xml:space="preserve"
4788+ filename="gdk/gdkdevice.c"
4789+ line="1369">the timestamp of the last activity for this device</doc>
4790+ <type name="guint32" c:type="guint32"/>
4791+ </return-value>
4792+ <parameters>
4793+ <instance-parameter name="device" transfer-ownership="none">
4794+ <doc xml:space="preserve"
4795+ filename="gdk/gdkdevice.c"
4796+ line="1360">a `GdkDevice`</doc>
4797+ <type name="Device" c:type="GdkDevice*"/>
4798+ </instance-parameter>
4799+ </parameters>
4800+ </method>
4801+ <method name="get_vendor_id"
4802+ c:identifier="gdk_device_get_vendor_id"
4803+ glib:get-property="vendor-id">
4804+ <attribute name="org.gtk.Method.get_property" value="vendor-id"/>
4805+ <doc xml:space="preserve"
4806+ filename="gdk/gdkdevice.c"
4807+ line="1083">Returns the vendor ID of this device.
4808+
4809+This ID is retrieved from the device, and does not change.
4810+
4811+This function, together with [method@Gdk.Device.get_product_id],
4812+can be used to eg. compose `GSettings` paths to store settings
4813+for this device.
4814+
4815+```c
4816+ static GSettings *
4817+ get_device_settings (GdkDevice *device)
4818+ {
4819+ const char *vendor, *product;
4820+ GSettings *settings;
4821+ GdkDevice *device;
4822+ char *path;
4823+
4824+ vendor = gdk_device_get_vendor_id (device);
4825+ product = gdk_device_get_product_id (device);
4826+
4827+ path = g_strdup_printf ("/org/example/app/devices/%s:%s/", vendor, product);
4828+ settings = g_settings_new_with_path (DEVICE_SCHEMA, path);
4829+ g_free (path);
4830+
4831+ return settings;
4832+ }
4833+```</doc>
4834+ <source-position filename="gdk/gdkdevice.h" line="92"/>
4835+ <return-value transfer-ownership="none" nullable="1">
4836+ <doc xml:space="preserve"
4837+ filename="gdk/gdkdevice.c"
4838+ line="1115">the vendor ID</doc>
4839+ <type name="utf8" c:type="const char*"/>
4840+ </return-value>
4841+ <parameters>
4842+ <instance-parameter name="device" transfer-ownership="none">
4843+ <doc xml:space="preserve"
4844+ filename="gdk/gdkdevice.c"
4845+ line="1085">a physical `GdkDevice`</doc>
4846+ <type name="Device" c:type="GdkDevice*"/>
4847+ </instance-parameter>
4848+ </parameters>
4849+ </method>
4850+ <method name="has_bidi_layouts"
4851+ c:identifier="gdk_device_has_bidi_layouts"
4852+ glib:get-property="has-bidi-layouts">
4853+ <attribute name="org.gtk.Method.get_property"
4854+ value="has-bidi-layouts"/>
4855+ <doc xml:space="preserve"
4856+ filename="gdk/gdkdevice.c"
4857+ line="1329">Determines if layouts for both right-to-left and
4858+left-to-right languages are in use on the keyboard.
4859+
4860+This is only relevant for keyboard devices.</doc>
4861+ <source-position filename="gdk/gdkdevice.h" line="114"/>
4862+ <return-value transfer-ownership="none">
4863+ <doc xml:space="preserve"
4864+ filename="gdk/gdkdevice.c"
4865+ line="1338">%TRUE if there are layouts with both directions, %FALSE otherwise</doc>
4866+ <type name="gboolean" c:type="gboolean"/>
4867+ </return-value>
4868+ <parameters>
4869+ <instance-parameter name="device" transfer-ownership="none">
4870+ <doc xml:space="preserve"
4871+ filename="gdk/gdkdevice.c"
4872+ line="1331">a `GdkDevice`</doc>
4873+ <type name="Device" c:type="GdkDevice*"/>
4874+ </instance-parameter>
4875+ </parameters>
4876+ </method>
4877+ <property name="caps-lock-state"
4878+ transfer-ownership="none"
4879+ getter="get_caps_lock_state">
4880+ <attribute name="org.gtk.Property.get"
4881+ value="gdk_device_get_caps_lock_state"/>
4882+ <doc xml:space="preserve"
4883+ filename="gdk/gdkdevice.c"
4884+ line="247">Whether Caps Lock is on.
4885+
4886+This is only relevant for keyboard devices.</doc>
4887+ <type name="gboolean" c:type="gboolean"/>
4888+ </property>
4889+ <property name="direction"
4890+ transfer-ownership="none"
4891+ getter="get_direction">
4892+ <attribute name="org.gtk.Property.get"
4893+ value="gdk_device_get_direction"/>
4894+ <doc xml:space="preserve"
4895+ filename="gdk/gdkdevice.c"
4896+ line="223">The direction of the current layout.
4897+
4898+This is only relevant for keyboard devices.</doc>
4899+ <type name="Pango.Direction"/>
4900+ </property>
4901+ <property name="display"
4902+ writable="1"
4903+ construct-only="1"
4904+ transfer-ownership="none"
4905+ getter="get_display">
4906+ <attribute name="org.gtk.Property.get" value="gdk_device_get_display"/>
4907+ <doc xml:space="preserve"
4908+ filename="gdk/gdkdevice.c"
4909+ line="106">The `GdkDisplay` the `GdkDevice` pertains to.</doc>
4910+ <type name="Display"/>
4911+ </property>
4912+ <property name="has-bidi-layouts"
4913+ transfer-ownership="none"
4914+ getter="has_bidi_layouts">
4915+ <attribute name="org.gtk.Property.get"
4916+ value="gdk_device_has_bidi_layouts"/>
4917+ <doc xml:space="preserve"
4918+ filename="gdk/gdkdevice.c"
4919+ line="235">Whether the device has both right-to-left and left-to-right layouts.
4920+
4921+This is only relevant for keyboard devices.</doc>
4922+ <type name="gboolean" c:type="gboolean"/>
4923+ </property>
4924+ <property name="has-cursor"
4925+ writable="1"
4926+ construct-only="1"
4927+ transfer-ownership="none"
4928+ getter="get_has_cursor">
4929+ <attribute name="org.gtk.Property.get"
4930+ value="gdk_device_get_has_cursor"/>
4931+ <doc xml:space="preserve"
4932+ filename="gdk/gdkdevice.c"
4933+ line="139">Whether the device is represented by a cursor on the screen.</doc>
4934+ <type name="gboolean" c:type="gboolean"/>
4935+ </property>
4936+ <property name="modifier-state"
4937+ transfer-ownership="none"
4938+ getter="get_modifier_state">
4939+ <attribute name="org.gtk.Property.get"
4940+ value="gdk_device_get_modifier_state"/>
4941+ <doc xml:space="preserve"
4942+ filename="gdk/gdkdevice.c"
4943+ line="283">The current modifier state of the device.
4944+
4945+This is only relevant for keyboard devices.</doc>
4946+ <type name="ModifierType"/>
4947+ </property>
4948+ <property name="n-axes" transfer-ownership="none">
4949+ <doc xml:space="preserve"
4950+ filename="gdk/gdkdevice.c"
4951+ line="150">Number of axes in the device.</doc>
4952+ <type name="guint" c:type="guint"/>
4953+ </property>
4954+ <property name="name"
4955+ writable="1"
4956+ construct-only="1"
4957+ transfer-ownership="none"
4958+ getter="get_name">
4959+ <attribute name="org.gtk.Property.get" value="gdk_device_get_name"/>
4960+ <doc xml:space="preserve"
4961+ filename="gdk/gdkdevice.c"
4962+ line="116">The device name.</doc>
4963+ <type name="utf8" c:type="gchar*"/>
4964+ </property>
4965+ <property name="num-lock-state"
4966+ transfer-ownership="none"
4967+ getter="get_num_lock_state">
4968+ <attribute name="org.gtk.Property.get"
4969+ value="gdk_device_get_num_lock_state"/>
4970+ <doc xml:space="preserve"
4971+ filename="gdk/gdkdevice.c"
4972+ line="259">Whether Num Lock is on.
4973+
4974+This is only relevant for keyboard devices.</doc>
4975+ <type name="gboolean" c:type="gboolean"/>
4976+ </property>
4977+ <property name="num-touches"
4978+ writable="1"
4979+ construct-only="1"
4980+ transfer-ownership="none"
4981+ getter="get_num_touches">
4982+ <attribute name="org.gtk.Property.get"
4983+ value="gdk_device_get_num_touches"/>
4984+ <doc xml:space="preserve"
4985+ filename="gdk/gdkdevice.c"
4986+ line="198">The maximal number of concurrent touches on a touch device.
4987+
4988+Will be 0 if the device is not a touch device or if the number
4989+of touches is unknown.</doc>
4990+ <type name="guint" c:type="guint"/>
4991+ </property>
4992+ <property name="product-id"
4993+ writable="1"
4994+ construct-only="1"
4995+ transfer-ownership="none"
4996+ getter="get_product_id">
4997+ <attribute name="org.gtk.Property.get"
4998+ value="gdk_device_get_product_id"/>
4999+ <doc xml:space="preserve"
5000+ filename="gdk/gdkdevice.c"
5001+ line="174">Product ID of this device.
5002+
5003+See [method@Gdk.Device.get_product_id].</doc>
5004+ <type name="utf8" c:type="gchar*"/>
5005+ </property>
5006+ <property name="scroll-lock-state"
5007+ transfer-ownership="none"
5008+ getter="get_scroll_lock_state">
5009+ <attribute name="org.gtk.Property.get"
5010+ value="gdk_device_get_scroll_lock_state"/>
5011+ <doc xml:space="preserve"
5012+ filename="gdk/gdkdevice.c"
5013+ line="271">Whether Scroll Lock is on.
5014+
5015+This is only relevant for keyboard devices.</doc>
5016+ <type name="gboolean" c:type="gboolean"/>
5017+ </property>
5018+ <property name="seat"
5019+ writable="1"
5020+ transfer-ownership="none"
5021+ getter="get_seat">
5022+ <attribute name="org.gtk.Property.get" value="gdk_device_get_seat"/>
5023+ <doc xml:space="preserve"
5024+ filename="gdk/gdkdevice.c"
5025+ line="187">`GdkSeat` of this device.</doc>
5026+ <type name="Seat"/>
5027+ </property>
5028+ <property name="source"
5029+ writable="1"
5030+ construct-only="1"
5031+ transfer-ownership="none"
5032+ getter="get_source">
5033+ <attribute name="org.gtk.Property.get" value="gdk_device_get_source"/>
5034+ <doc xml:space="preserve"
5035+ filename="gdk/gdkdevice.c"
5036+ line="127">Source type for the device.</doc>
5037+ <type name="InputSource"/>
5038+ </property>
5039+ <property name="tool" transfer-ownership="none">
5040+ <attribute name="org.gtk.Property.get"
5041+ value="gdk_device_get_device_tool"/>
5042+ <doc xml:space="preserve"
5043+ filename="gdk/gdkdevice.c"
5044+ line="213">The `GdkDeviceTool` that is currently used with this device.</doc>
5045+ <type name="DeviceTool"/>
5046+ </property>
5047+ <property name="vendor-id"
5048+ writable="1"
5049+ construct-only="1"
5050+ transfer-ownership="none"
5051+ getter="get_vendor_id">
5052+ <attribute name="org.gtk.Property.get"
5053+ value="gdk_device_get_vendor_id"/>
5054+ <doc xml:space="preserve"
5055+ filename="gdk/gdkdevice.c"
5056+ line="161">Vendor ID of this device.
5057+
5058+See [method@Gdk.Device.get_vendor_id].</doc>
5059+ <type name="utf8" c:type="gchar*"/>
5060+ </property>
5061+ <glib:signal name="changed" when="last">
5062+ <doc xml:space="preserve"
5063+ filename="gdk/gdkdevice.c"
5064+ line="297">Emitted either when the number of either axes or keys changes.
5065+
5066+On X11 this will normally happen when the physical device
5067+routing events through the logical device changes (for
5068+example, user switches from the USB mouse to a tablet); in
5069+that case the logical device will change to reflect the axes
5070+and keys on the new physical device.</doc>
5071+ <return-value transfer-ownership="none">
5072+ <type name="none" c:type="void"/>
5073+ </return-value>
5074+ </glib:signal>
5075+ <glib:signal name="tool-changed" when="last">
5076+ <doc xml:space="preserve"
5077+ filename="gdk/gdkdevice.c"
5078+ line="317">Emitted on pen/eraser devices whenever tools enter or leave proximity.</doc>
5079+ <return-value transfer-ownership="none">
5080+ <type name="none" c:type="void"/>
5081+ </return-value>
5082+ <parameters>
5083+ <parameter name="tool" transfer-ownership="none">
5084+ <doc xml:space="preserve"
5085+ filename="gdk/gdkdevice.c"
5086+ line="320">The new current tool</doc>
5087+ <type name="DeviceTool"/>
5088+ </parameter>
5089+ </parameters>
5090+ </glib:signal>
5091+ </class>
5092+ <interface name="DevicePad"
5093+ c:symbol-prefix="device_pad"
5094+ c:type="GdkDevicePad"
5095+ glib:type-name="GdkDevicePad"
5096+ glib:get-type="gdk_device_pad_get_type"
5097+ glib:type-struct="DevicePadInterface">
5098+ <doc xml:space="preserve"
5099+ filename="gdk/gdkdevicepad.c"
5100+ line="20">`GdkDevicePad` is an interface implemented by devices of type
5101+%GDK_SOURCE_TABLET_PAD
5102+
5103+It allows querying the features provided by the pad device.
5104+
5105+Tablet pads may contain one or more groups, each containing a subset
5106+of the buttons/rings/strips available. [method@Gdk.DevicePad.get_n_groups]
5107+can be used to obtain the number of groups, [method@Gdk.DevicePad.get_n_features]
5108+and [method@Gdk.DevicePad.get_feature_group] can be combined to find out
5109+the number of buttons/rings/strips the device has, and how are they grouped.
5110+
5111+Each of those groups have different modes, which may be used to map each
5112+individual pad feature to multiple actions. Only one mode is effective
5113+(current) for each given group, different groups may have different
5114+current modes. The number of available modes in a group can be found
5115+out through [method@Gdk.DevicePad.get_group_n_modes], and the current mode
5116+for a given group will be notified through events of type `GDK_PAD_GROUP_MODE`.</doc>
5117+ <source-position filename="gdk/gdkdevicepad.h" line="37"/>
5118+ <prerequisite name="Device"/>
5119+ <method name="get_feature_group"
5120+ c:identifier="gdk_device_pad_get_feature_group">
5121+ <doc xml:space="preserve"
5122+ filename="gdk/gdkdevicepad.c"
5123+ line="118">Returns the group the given @feature and @idx belong to.
5124+
5125+f the feature or index do not exist in @pad, -1 is returned.</doc>
5126+ <source-position filename="gdk/gdkdevicepad.h" line="68"/>
5127+ <return-value transfer-ownership="none">
5128+ <doc xml:space="preserve"
5129+ filename="gdk/gdkdevicepad.c"
5130+ line="128">The group number of the queried pad feature.</doc>
5131+ <type name="gint" c:type="int"/>
5132+ </return-value>
5133+ <parameters>
5134+ <instance-parameter name="pad" transfer-ownership="none">
5135+ <doc xml:space="preserve"
5136+ filename="gdk/gdkdevicepad.c"
5137+ line="120">a `GdkDevicePad`</doc>
5138+ <type name="DevicePad" c:type="GdkDevicePad*"/>
5139+ </instance-parameter>
5140+ <parameter name="feature" transfer-ownership="none">
5141+ <doc xml:space="preserve"
5142+ filename="gdk/gdkdevicepad.c"
5143+ line="121">the feature type to get the group from</doc>
5144+ <type name="DevicePadFeature" c:type="GdkDevicePadFeature"/>
5145+ </parameter>
5146+ <parameter name="feature_idx" transfer-ownership="none">
5147+ <doc xml:space="preserve"
5148+ filename="gdk/gdkdevicepad.c"
5149+ line="122">the index of the feature to get the group from</doc>
5150+ <type name="gint" c:type="int"/>
5151+ </parameter>
5152+ </parameters>
5153+ </method>
5154+ <method name="get_group_n_modes"
5155+ c:identifier="gdk_device_pad_get_group_n_modes">
5156+ <doc xml:space="preserve"
5157+ filename="gdk/gdkdevicepad.c"
5158+ line="77">Returns the number of modes that @group may have.</doc>
5159+ <source-position filename="gdk/gdkdevicepad.h" line="60"/>
5160+ <return-value transfer-ownership="none">
5161+ <doc xml:space="preserve"
5162+ filename="gdk/gdkdevicepad.c"
5163+ line="84">The number of modes available in @group.</doc>
5164+ <type name="gint" c:type="int"/>
5165+ </return-value>
5166+ <parameters>
5167+ <instance-parameter name="pad" transfer-ownership="none">
5168+ <doc xml:space="preserve"
5169+ filename="gdk/gdkdevicepad.c"
5170+ line="79">a `GdkDevicePad`</doc>
5171+ <type name="DevicePad" c:type="GdkDevicePad*"/>
5172+ </instance-parameter>
5173+ <parameter name="group_idx" transfer-ownership="none">
5174+ <doc xml:space="preserve"
5175+ filename="gdk/gdkdevicepad.c"
5176+ line="80">group to get the number of available modes from</doc>
5177+ <type name="gint" c:type="int"/>
5178+ </parameter>
5179+ </parameters>
5180+ </method>
5181+ <method name="get_n_features"
5182+ c:identifier="gdk_device_pad_get_n_features">
5183+ <doc xml:space="preserve"
5184+ filename="gdk/gdkdevicepad.c"
5185+ line="98">Returns the number of features a tablet pad has.</doc>
5186+ <source-position filename="gdk/gdkdevicepad.h" line="64"/>
5187+ <return-value transfer-ownership="none">
5188+ <doc xml:space="preserve"
5189+ filename="gdk/gdkdevicepad.c"
5190+ line="105">The amount of elements of type @feature that this pad has.</doc>
5191+ <type name="gint" c:type="int"/>
5192+ </return-value>
5193+ <parameters>
5194+ <instance-parameter name="pad" transfer-ownership="none">
5195+ <doc xml:space="preserve"
5196+ filename="gdk/gdkdevicepad.c"
5197+ line="100">a `GdkDevicePad`</doc>
5198+ <type name="DevicePad" c:type="GdkDevicePad*"/>
5199+ </instance-parameter>
5200+ <parameter name="feature" transfer-ownership="none">
5201+ <doc xml:space="preserve"
5202+ filename="gdk/gdkdevicepad.c"
5203+ line="101">a pad feature</doc>
5204+ <type name="DevicePadFeature" c:type="GdkDevicePadFeature"/>
5205+ </parameter>
5206+ </parameters>
5207+ </method>
5208+ <method name="get_n_groups" c:identifier="gdk_device_pad_get_n_groups">
5209+ <doc xml:space="preserve"
5210+ filename="gdk/gdkdevicepad.c"
5211+ line="55">Returns the number of groups this pad device has.
5212+
5213+Pads have at least one group. A pad group is a subcollection of
5214+buttons/strip/rings that is affected collectively by a same
5215+current mode.</doc>
5216+ <source-position filename="gdk/gdkdevicepad.h" line="57"/>
5217+ <return-value transfer-ownership="none">
5218+ <doc xml:space="preserve"
5219+ filename="gdk/gdkdevicepad.c"
5220+ line="65">The number of button/ring/strip groups in the pad.</doc>
5221+ <type name="gint" c:type="int"/>
5222+ </return-value>
5223+ <parameters>
5224+ <instance-parameter name="pad" transfer-ownership="none">
5225+ <doc xml:space="preserve"
5226+ filename="gdk/gdkdevicepad.c"
5227+ line="57">a `GdkDevicePad`</doc>
5228+ <type name="DevicePad" c:type="GdkDevicePad*"/>
5229+ </instance-parameter>
5230+ </parameters>
5231+ </method>
5232+ </interface>
5233+ <enumeration name="DevicePadFeature"
5234+ glib:type-name="GdkDevicePadFeature"
5235+ glib:get-type="gdk_device_pad_feature_get_type"
5236+ c:type="GdkDevicePadFeature">
5237+ <doc xml:space="preserve"
5238+ filename="gdk/gdkdevicepad.h"
5239+ line="39">A pad feature.</doc>
5240+ <member name="button"
5241+ value="0"
5242+ c:identifier="GDK_DEVICE_PAD_FEATURE_BUTTON"
5243+ glib:nick="button"
5244+ glib:name="GDK_DEVICE_PAD_FEATURE_BUTTON">
5245+ <doc xml:space="preserve"
5246+ filename="gdk/gdkdevicepad.h"
5247+ line="41">a button</doc>
5248+ </member>
5249+ <member name="ring"
5250+ value="1"
5251+ c:identifier="GDK_DEVICE_PAD_FEATURE_RING"
5252+ glib:nick="ring"
5253+ glib:name="GDK_DEVICE_PAD_FEATURE_RING">
5254+ <doc xml:space="preserve"
5255+ filename="gdk/gdkdevicepad.h"
5256+ line="42">a ring-shaped interactive area</doc>
5257+ </member>
5258+ <member name="strip"
5259+ value="2"
5260+ c:identifier="GDK_DEVICE_PAD_FEATURE_STRIP"
5261+ glib:nick="strip"
5262+ glib:name="GDK_DEVICE_PAD_FEATURE_STRIP">
5263+ <doc xml:space="preserve"
5264+ filename="gdk/gdkdevicepad.h"
5265+ line="43">a straight interactive area</doc>
5266+ </member>
5267+ </enumeration>
5268+ <record name="DevicePadInterface"
5269+ c:type="GdkDevicePadInterface"
5270+ disguised="1"
5271+ glib:is-gtype-struct-for="DevicePad">
5272+ <source-position filename="gdk/gdkdevicepad.h" line="37"/>
5273+ </record>
5274+ <class name="DeviceTool"
5275+ c:symbol-prefix="device_tool"
5276+ c:type="GdkDeviceTool"
5277+ parent="GObject.Object"
5278+ glib:type-name="GdkDeviceTool"
5279+ glib:get-type="gdk_device_tool_get_type">
5280+ <doc xml:space="preserve"
5281+ filename="gdk/gdkdevicetool.c"
5282+ line="26">A physical tool associated to a `GdkDevice`.</doc>
5283+ <method name="get_axes"
5284+ c:identifier="gdk_device_tool_get_axes"
5285+ glib:get-property="axes">
5286+ <attribute name="org.gtk.Method.get_property" value="axes"/>
5287+ <doc xml:space="preserve"
5288+ filename="gdk/gdkdevicetool.c"
5289+ line="238">Gets the axes of the tool.</doc>
5290+ <source-position filename="gdk/gdkdevicetool.h" line="76"/>
5291+ <return-value transfer-ownership="none">
5292+ <doc xml:space="preserve"
5293+ filename="gdk/gdkdevicetool.c"
5294+ line="244">the axes of @tool</doc>
5295+ <type name="AxisFlags" c:type="GdkAxisFlags"/>
5296+ </return-value>
5297+ <parameters>
5298+ <instance-parameter name="tool" transfer-ownership="none">
5299+ <doc xml:space="preserve"
5300+ filename="gdk/gdkdevicetool.c"
5301+ line="240">a `GdkDeviceTool`</doc>
5302+ <type name="DeviceTool" c:type="GdkDeviceTool*"/>
5303+ </instance-parameter>
5304+ </parameters>
5305+ </method>
5306+ <method name="get_hardware_id"
5307+ c:identifier="gdk_device_tool_get_hardware_id"
5308+ glib:get-property="hardware-id">
5309+ <attribute name="org.gtk.Method.get_property" value="hardware-id"/>
5310+ <doc xml:space="preserve"
5311+ filename="gdk/gdkdevicetool.c"
5312+ line="194">Gets the hardware ID of this tool, or 0 if it's not known.
5313+
5314+When non-zero, the identificator is unique for the given tool model,
5315+meaning that two identical tools will share the same @hardware_id,
5316+but will have different serial numbers (see
5317+[method@Gdk.DeviceTool.get_serial]).
5318+
5319+This is a more concrete (and device specific) method to identify
5320+a `GdkDeviceTool` than [method@Gdk.DeviceTool.get_tool_type],
5321+as a tablet may support multiple devices with the same
5322+`GdkDeviceToolType`, but different hardware identificators.</doc>
5323+ <source-position filename="gdk/gdkdevicetool.h" line="70"/>
5324+ <return-value transfer-ownership="none">
5325+ <doc xml:space="preserve"
5326+ filename="gdk/gdkdevicetool.c"
5327+ line="210">The hardware identificator of this tool.</doc>
5328+ <type name="guint64" c:type="guint64"/>
5329+ </return-value>
5330+ <parameters>
5331+ <instance-parameter name="tool" transfer-ownership="none">
5332+ <doc xml:space="preserve"
5333+ filename="gdk/gdkdevicetool.c"
5334+ line="196">a `GdkDeviceTool`</doc>
5335+ <type name="DeviceTool" c:type="GdkDeviceTool*"/>
5336+ </instance-parameter>
5337+ </parameters>
5338+ </method>
5339+ <method name="get_serial"
5340+ c:identifier="gdk_device_tool_get_serial"
5341+ glib:get-property="serial">
5342+ <attribute name="org.gtk.Method.get_property" value="serial"/>
5343+ <doc xml:space="preserve"
5344+ filename="gdk/gdkdevicetool.c"
5345+ line="175">Gets the serial number of this tool.
5346+
5347+This value can be used to identify a physical tool
5348+(eg. a tablet pen) across program executions.</doc>
5349+ <source-position filename="gdk/gdkdevicetool.h" line="67"/>
5350+ <return-value transfer-ownership="none">
5351+ <doc xml:space="preserve"
5352+ filename="gdk/gdkdevicetool.c"
5353+ line="184">The serial ID for this tool</doc>
5354+ <type name="guint64" c:type="guint64"/>
5355+ </return-value>
5356+ <parameters>
5357+ <instance-parameter name="tool" transfer-ownership="none">
5358+ <doc xml:space="preserve"
5359+ filename="gdk/gdkdevicetool.c"
5360+ line="177">a `GdkDeviceTool`</doc>
5361+ <type name="DeviceTool" c:type="GdkDeviceTool*"/>
5362+ </instance-parameter>
5363+ </parameters>
5364+ </method>
5365+ <method name="get_tool_type"
5366+ c:identifier="gdk_device_tool_get_tool_type"
5367+ glib:get-property="tool-type">
5368+ <attribute name="org.gtk.Method.get_property" value="tool-type"/>
5369+ <doc xml:space="preserve"
5370+ filename="gdk/gdkdevicetool.c"
5371+ line="220">Gets the `GdkDeviceToolType` of the tool.</doc>
5372+ <source-position filename="gdk/gdkdevicetool.h" line="73"/>
5373+ <return-value transfer-ownership="none">
5374+ <doc xml:space="preserve"
5375+ filename="gdk/gdkdevicetool.c"
5376+ line="226">The physical type for this tool. This can be used to
5377+ figure out what sort of pen is being used, such as an airbrush
5378+ or a pencil.</doc>
5379+ <type name="DeviceToolType" c:type="GdkDeviceToolType"/>
5380+ </return-value>
5381+ <parameters>
5382+ <instance-parameter name="tool" transfer-ownership="none">
5383+ <doc xml:space="preserve"
5384+ filename="gdk/gdkdevicetool.c"
5385+ line="222">a `GdkDeviceTool`</doc>
5386+ <type name="DeviceTool" c:type="GdkDeviceTool*"/>
5387+ </instance-parameter>
5388+ </parameters>
5389+ </method>
5390+ <property name="axes"
5391+ writable="1"
5392+ construct-only="1"
5393+ transfer-ownership="none"
5394+ getter="get_axes">
5395+ <attribute name="org.gtk.Property.get"
5396+ value="gdk_device_tool_get_axes"/>
5397+ <doc xml:space="preserve"
5398+ filename="gdk/gdkdevicetool.c"
5399+ line="132">The axes of the tool.</doc>
5400+ <type name="AxisFlags"/>
5401+ </property>
5402+ <property name="hardware-id"
5403+ writable="1"
5404+ construct-only="1"
5405+ transfer-ownership="none"
5406+ getter="get_hardware_id">
5407+ <attribute name="org.gtk.Property.get"
5408+ value="gdk_device_tool_get_hardware_id"/>
5409+ <doc xml:space="preserve"
5410+ filename="gdk/gdkdevicetool.c"
5411+ line="142">The hardware ID of the tool.</doc>
5412+ <type name="guint64" c:type="guint64"/>
5413+ </property>
5414+ <property name="serial"
5415+ writable="1"
5416+ construct-only="1"
5417+ transfer-ownership="none"
5418+ getter="get_serial">
5419+ <attribute name="org.gtk.Property.get"
5420+ value="gdk_device_tool_get_serial"/>
5421+ <doc xml:space="preserve"
5422+ filename="gdk/gdkdevicetool.c"
5423+ line="109">The serial number of the tool.</doc>
5424+ <type name="guint64" c:type="guint64"/>
5425+ </property>
5426+ <property name="tool-type"
5427+ writable="1"
5428+ construct-only="1"
5429+ transfer-ownership="none"
5430+ getter="get_tool_type">
5431+ <attribute name="org.gtk.Property.get"
5432+ value="gdk_device_tool_get_tool_type"/>
5433+ <doc xml:space="preserve"
5434+ filename="gdk/gdkdevicetool.c"
5435+ line="120">The type of the tool.</doc>
5436+ <type name="DeviceToolType"/>
5437+ </property>
5438+ </class>
5439+ <enumeration name="DeviceToolType"
5440+ glib:type-name="GdkDeviceToolType"
5441+ glib:get-type="gdk_device_tool_type_get_type"
5442+ c:type="GdkDeviceToolType">
5443+ <doc xml:space="preserve"
5444+ filename="gdk/gdkdevicetool.h"
5445+ line="38">Indicates the specific type of tool being used being a tablet. Such as an
5446+airbrush, pencil, etc.</doc>
5447+ <member name="unknown"
5448+ value="0"
5449+ c:identifier="GDK_DEVICE_TOOL_TYPE_UNKNOWN"
5450+ glib:nick="unknown"
5451+ glib:name="GDK_DEVICE_TOOL_TYPE_UNKNOWN">
5452+ <doc xml:space="preserve"
5453+ filename="gdk/gdkdevicetool.h"
5454+ line="40">Tool is of an unknown type.</doc>
5455+ </member>
5456+ <member name="pen"
5457+ value="1"
5458+ c:identifier="GDK_DEVICE_TOOL_TYPE_PEN"
5459+ glib:nick="pen"
5460+ glib:name="GDK_DEVICE_TOOL_TYPE_PEN">
5461+ <doc xml:space="preserve"
5462+ filename="gdk/gdkdevicetool.h"
5463+ line="41">Tool is a standard tablet stylus.</doc>
5464+ </member>
5465+ <member name="eraser"
5466+ value="2"
5467+ c:identifier="GDK_DEVICE_TOOL_TYPE_ERASER"
5468+ glib:nick="eraser"
5469+ glib:name="GDK_DEVICE_TOOL_TYPE_ERASER">
5470+ <doc xml:space="preserve"
5471+ filename="gdk/gdkdevicetool.h"
5472+ line="42">Tool is standard tablet eraser.</doc>
5473+ </member>
5474+ <member name="brush"
5475+ value="3"
5476+ c:identifier="GDK_DEVICE_TOOL_TYPE_BRUSH"
5477+ glib:nick="brush"
5478+ glib:name="GDK_DEVICE_TOOL_TYPE_BRUSH">
5479+ <doc xml:space="preserve"
5480+ filename="gdk/gdkdevicetool.h"
5481+ line="43">Tool is a brush stylus.</doc>
5482+ </member>
5483+ <member name="pencil"
5484+ value="4"
5485+ c:identifier="GDK_DEVICE_TOOL_TYPE_PENCIL"
5486+ glib:nick="pencil"
5487+ glib:name="GDK_DEVICE_TOOL_TYPE_PENCIL">
5488+ <doc xml:space="preserve"
5489+ filename="gdk/gdkdevicetool.h"
5490+ line="44">Tool is a pencil stylus.</doc>
5491+ </member>
5492+ <member name="airbrush"
5493+ value="5"
5494+ c:identifier="GDK_DEVICE_TOOL_TYPE_AIRBRUSH"
5495+ glib:nick="airbrush"
5496+ glib:name="GDK_DEVICE_TOOL_TYPE_AIRBRUSH">
5497+ <doc xml:space="preserve"
5498+ filename="gdk/gdkdevicetool.h"
5499+ line="45">Tool is an airbrush stylus.</doc>
5500+ </member>
5501+ <member name="mouse"
5502+ value="6"
5503+ c:identifier="GDK_DEVICE_TOOL_TYPE_MOUSE"
5504+ glib:nick="mouse"
5505+ glib:name="GDK_DEVICE_TOOL_TYPE_MOUSE">
5506+ <doc xml:space="preserve"
5507+ filename="gdk/gdkdevicetool.h"
5508+ line="46">Tool is a mouse.</doc>
5509+ </member>
5510+ <member name="lens"
5511+ value="7"
5512+ c:identifier="GDK_DEVICE_TOOL_TYPE_LENS"
5513+ glib:nick="lens"
5514+ glib:name="GDK_DEVICE_TOOL_TYPE_LENS">
5515+ <doc xml:space="preserve"
5516+ filename="gdk/gdkdevicetool.h"
5517+ line="47">Tool is a lens cursor.</doc>
5518+ </member>
5519+ </enumeration>
5520+ <class name="Display"
5521+ c:symbol-prefix="display"
5522+ c:type="GdkDisplay"
5523+ parent="GObject.Object"
5524+ glib:type-name="GdkDisplay"
5525+ glib:get-type="gdk_display_get_type">
5526+ <doc xml:space="preserve"
5527+ filename="gdk/gdkdisplay.c"
5528+ line="45">`GdkDisplay` objects are the GDK representation of a workstation.
5529+
5530+Their purpose are two-fold:
5531+
5532+- To manage and provide information about input devices (pointers, keyboards, etc)
5533+- To manage and provide information about output devices (monitors, projectors, etc)
5534+
5535+Most of the input device handling has been factored out into separate
5536+[class@Gdk.Seat] objects. Every display has a one or more seats, which
5537+can be accessed with [method@Gdk.Display.get_default_seat] and
5538+[method@Gdk.Display.list_seats].
5539+
5540+Output devices are represented by [class@Gdk.Monitor] objects, which can
5541+be accessed with [method@Gdk.Display.get_monitor_at_surface] and similar APIs.</doc>
5542+ <function name="get_default" c:identifier="gdk_display_get_default">
5543+ <doc xml:space="preserve"
5544+ filename="gdk/gdkdisplaymanager.c"
5545+ line="317">Gets the default `GdkDisplay`.
5546+
5547+This is a convenience function for:
5548+
5549+ gdk_display_manager_get_default_display (gdk_display_manager_get ())</doc>
5550+ <source-position filename="gdk/gdkdisplay.h" line="79"/>
5551+ <return-value transfer-ownership="none" nullable="1">
5552+ <doc xml:space="preserve"
5553+ filename="gdk/gdkdisplaymanager.c"
5554+ line="326">a `GdkDisplay`, or %NULL if
5555+ there is no default display</doc>
5556+ <type name="Display" c:type="GdkDisplay*"/>
5557+ </return-value>
5558+ </function>
5559+ <function name="open" c:identifier="gdk_display_open">
5560+ <doc xml:space="preserve"
5561+ filename="gdk/gdkdisplay.c"
5562+ line="1115">Opens a display.
5563+
5564+If opening the display fails, `NULL` is returned.</doc>
5565+ <source-position filename="gdk/gdkdisplay.h" line="44"/>
5566+ <return-value transfer-ownership="none" nullable="1">
5567+ <doc xml:space="preserve"
5568+ filename="gdk/gdkdisplay.c"
5569+ line="1123">a `GdkDisplay`</doc>
5570+ <type name="Display" c:type="GdkDisplay*"/>
5571+ </return-value>
5572+ <parameters>
5573+ <parameter name="display_name" transfer-ownership="none">
5574+ <doc xml:space="preserve"
5575+ filename="gdk/gdkdisplay.c"
5576+ line="1117">the name of the display to open</doc>
5577+ <type name="utf8" c:type="const char*"/>
5578+ </parameter>
5579+ </parameters>
5580+ </function>
5581+ <method name="beep" c:identifier="gdk_display_beep">
5582+ <doc xml:space="preserve"
5583+ filename="gdk/gdkdisplay.c"
5584+ line="946">Emits a short beep on @display</doc>
5585+ <source-position filename="gdk/gdkdisplay.h" line="53"/>
5586+ <return-value transfer-ownership="none">
5587+ <type name="none" c:type="void"/>
5588+ </return-value>
5589+ <parameters>
5590+ <instance-parameter name="display" transfer-ownership="none">
5591+ <doc xml:space="preserve"
5592+ filename="gdk/gdkdisplay.c"
5593+ line="948">a `GdkDisplay`</doc>
5594+ <type name="Display" c:type="GdkDisplay*"/>
5595+ </instance-parameter>
5596+ </parameters>
5597+ </method>
5598+ <method name="close" c:identifier="gdk_display_close">
5599+ <doc xml:space="preserve"
5600+ filename="gdk/gdkdisplay.c"
5601+ line="405">Closes the connection to the windowing system for the given display.
5602+
5603+This cleans up associated resources.</doc>
5604+ <source-position filename="gdk/gdkdisplay.h" line="60"/>
5605+ <return-value transfer-ownership="none">
5606+ <type name="none" c:type="void"/>
5607+ </return-value>
5608+ <parameters>
5609+ <instance-parameter name="display" transfer-ownership="none">
5610+ <doc xml:space="preserve"
5611+ filename="gdk/gdkdisplay.c"
5612+ line="407">a `GdkDisplay`</doc>
5613+ <type name="Display" c:type="GdkDisplay*"/>
5614+ </instance-parameter>
5615+ </parameters>
5616+ </method>
5617+ <method name="create_gl_context"
5618+ c:identifier="gdk_display_create_gl_context"
5619+ version="4.6"
5620+ throws="1">
5621+ <doc xml:space="preserve"
5622+ filename="gdk/gdkdisplay.c"
5623+ line="1322">Creates a new `GdkGLContext` for the `GdkDisplay`.
5624+
5625+The context is disconnected from any particular surface or surface
5626+and cannot be used to draw to any surface. It can only be used to
5627+draw to non-surface framebuffers like textures.
5628+
5629+If the creation of the `GdkGLContext` failed, @error will be set.
5630+Before using the returned `GdkGLContext`, you will need to
5631+call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].</doc>
5632+ <source-position filename="gdk/gdkdisplay.h" line="75"/>
5633+ <return-value transfer-ownership="full">
5634+ <doc xml:space="preserve"
5635+ filename="gdk/gdkdisplay.c"
5636+ line="1337">the newly created `GdkGLContext`</doc>
5637+ <type name="GLContext" c:type="GdkGLContext*"/>
5638+ </return-value>
5639+ <parameters>
5640+ <instance-parameter name="self" transfer-ownership="none">
5641+ <doc xml:space="preserve"
5642+ filename="gdk/gdkdisplay.c"
5643+ line="1324">a `GdkDisplay`</doc>
5644+ <type name="Display" c:type="GdkDisplay*"/>
5645+ </instance-parameter>
5646+ </parameters>
5647+ </method>
5648+ <method name="device_is_grabbed"
5649+ c:identifier="gdk_display_device_is_grabbed">
5650+ <doc xml:space="preserve"
5651+ filename="gdk/gdkdisplay.c"
5652+ line="903">Returns %TRUE if there is an ongoing grab on @device for @display.</doc>
5653+ <source-position filename="gdk/gdkdisplay.h" line="50"/>
5654+ <return-value transfer-ownership="none">
5655+ <doc xml:space="preserve"
5656+ filename="gdk/gdkdisplay.c"
5657+ line="910">%TRUE if there is a grab in effect for @device.</doc>
5658+ <type name="gboolean" c:type="gboolean"/>
5659+ </return-value>
5660+ <parameters>
5661+ <instance-parameter name="display" transfer-ownership="none">
5662+ <doc xml:space="preserve"
5663+ filename="gdk/gdkdisplay.c"
5664+ line="905">a `GdkDisplay`</doc>
5665+ <type name="Display" c:type="GdkDisplay*"/>
5666+ </instance-parameter>
5667+ <parameter name="device" transfer-ownership="none">
5668+ <doc xml:space="preserve"
5669+ filename="gdk/gdkdisplay.c"
5670+ line="906">a `GdkDevice`</doc>
5671+ <type name="Device" c:type="GdkDevice*"/>
5672+ </parameter>
5673+ </parameters>
5674+ </method>
5675+ <method name="flush" c:identifier="gdk_display_flush">
5676+ <doc xml:space="preserve"
5677+ filename="gdk/gdkdisplay.c"
5678+ line="983">Flushes any requests queued for the windowing system.
5679+
5680+This happens automatically when the main loop blocks waiting for new events,
5681+but if your application is drawing without returning control to the main loop,
5682+you may need to call this function explicitly. A common case where this function
5683+needs to be called is when an application is executing drawing commands
5684+from a thread other than the thread where the main loop is running.
5685+
5686+This is most useful for X11. On windowing systems where requests are
5687+handled synchronously, this function will do nothing.</doc>
5688+ <source-position filename="gdk/gdkdisplay.h" line="57"/>
5689+ <return-value transfer-ownership="none">
5690+ <type name="none" c:type="void"/>
5691+ </return-value>
5692+ <parameters>
5693+ <instance-parameter name="display" transfer-ownership="none">
5694+ <doc xml:space="preserve"
5695+ filename="gdk/gdkdisplay.c"
5696+ line="985">a `GdkDisplay`</doc>
5697+ <type name="Display" c:type="GdkDisplay*"/>
5698+ </instance-parameter>
5699+ </parameters>
5700+ </method>
5701+ <method name="get_app_launch_context"
5702+ c:identifier="gdk_display_get_app_launch_context">
5703+ <doc xml:space="preserve"
5704+ filename="gdk/gdkdisplay.c"
5705+ line="1098">Returns a `GdkAppLaunchContext` suitable for launching
5706+applications on the given display.</doc>
5707+ <source-position filename="gdk/gdkdisplay.h" line="93"/>
5708+ <return-value transfer-ownership="full">
5709+ <doc xml:space="preserve"
5710+ filename="gdk/gdkdisplay.c"
5711+ line="1105">a new `GdkAppLaunchContext` for @display</doc>
5712+ <type name="AppLaunchContext" c:type="GdkAppLaunchContext*"/>
5713+ </return-value>
5714+ <parameters>
5715+ <instance-parameter name="display" transfer-ownership="none">
5716+ <doc xml:space="preserve"
5717+ filename="gdk/gdkdisplay.c"
5718+ line="1100">a `GdkDisplay`</doc>
5719+ <type name="Display" c:type="GdkDisplay*"/>
5720+ </instance-parameter>
5721+ </parameters>
5722+ </method>
5723+ <method name="get_clipboard" c:identifier="gdk_display_get_clipboard">
5724+ <doc xml:space="preserve"
5725+ filename="gdk/gdkdisplay.c"
5726+ line="1006">Gets the clipboard used for copy/paste operations.</doc>
5727+ <source-position filename="gdk/gdkdisplay.h" line="82"/>
5728+ <return-value transfer-ownership="none">
5729+ <doc xml:space="preserve"
5730+ filename="gdk/gdkdisplay.c"
5731+ line="1012">the display's clipboard</doc>
5732+ <type name="Clipboard" c:type="GdkClipboard*"/>
5733+ </return-value>
5734+ <parameters>
5735+ <instance-parameter name="display" transfer-ownership="none">
5736+ <doc xml:space="preserve"
5737+ filename="gdk/gdkdisplay.c"
5738+ line="1008">a `GdkDisplay`</doc>
5739+ <type name="Display" c:type="GdkDisplay*"/>
5740+ </instance-parameter>
5741+ </parameters>
5742+ </method>
5743+ <method name="get_default_seat"
5744+ c:identifier="gdk_display_get_default_seat">
5745+ <doc xml:space="preserve"
5746+ filename="gdk/gdkdisplay.c"
5747+ line="1946">Returns the default `GdkSeat` for this display.
5748+
5749+Note that a display may not have a seat. In this case,
5750+this function will return %NULL.</doc>
5751+ <source-position filename="gdk/gdkdisplay.h" line="96"/>
5752+ <return-value transfer-ownership="none" nullable="1">
5753+ <doc xml:space="preserve"
5754+ filename="gdk/gdkdisplay.c"
5755+ line="1955">the default seat.</doc>
5756+ <type name="Seat" c:type="GdkSeat*"/>
5757+ </return-value>
5758+ <parameters>
5759+ <instance-parameter name="display" transfer-ownership="none">
5760+ <doc xml:space="preserve"
5761+ filename="gdk/gdkdisplay.c"
5762+ line="1948">a `GdkDisplay`</doc>
5763+ <type name="Display" c:type="GdkDisplay*"/>
5764+ </instance-parameter>
5765+ </parameters>
5766+ </method>
5767+ <method name="get_monitor_at_surface"
5768+ c:identifier="gdk_display_get_monitor_at_surface">
5769+ <doc xml:space="preserve"
5770+ filename="gdk/gdkdisplay.c"
5771+ line="2008">Gets the monitor in which the largest area of @surface
5772+resides.
5773+
5774+Returns a monitor close to @surface if it is outside
5775+of all monitors.</doc>
5776+ <source-position filename="gdk/gdkdisplay.h" line="104"/>
5777+ <return-value transfer-ownership="none">
5778+ <doc xml:space="preserve"
5779+ filename="gdk/gdkdisplay.c"
5780+ line="2019">the monitor with the largest
5781+ overlap with @surface</doc>
5782+ <type name="Monitor" c:type="GdkMonitor*"/>
5783+ </return-value>
5784+ <parameters>
5785+ <instance-parameter name="display" transfer-ownership="none">
5786+ <doc xml:space="preserve"
5787+ filename="gdk/gdkdisplay.c"
5788+ line="2010">a `GdkDisplay`</doc>
5789+ <type name="Display" c:type="GdkDisplay*"/>
5790+ </instance-parameter>
5791+ <parameter name="surface" transfer-ownership="none">
5792+ <doc xml:space="preserve"
5793+ filename="gdk/gdkdisplay.c"
5794+ line="2011">a `GdkSurface`</doc>
5795+ <type name="Surface" c:type="GdkSurface*"/>
5796+ </parameter>
5797+ </parameters>
5798+ </method>
5799+ <method name="get_monitors" c:identifier="gdk_display_get_monitors">
5800+ <doc xml:space="preserve"
5801+ filename="gdk/gdkdisplay.c"
5802+ line="1986">Gets the list of monitors associated with this display.
5803+
5804+Subsequent calls to this function will always return the
5805+same list for the same display.
5806+
5807+You can listen to the GListModel::items-changed signal on
5808+this list to monitor changes to the monitor of this display.</doc>
5809+ <source-position filename="gdk/gdkdisplay.h" line="102"/>
5810+ <return-value transfer-ownership="none">
5811+ <doc xml:space="preserve"
5812+ filename="gdk/gdkdisplay.c"
5813+ line="1998">a `GListModel` of `GdkMonitor`</doc>
5814+ <type name="Gio.ListModel" c:type="GListModel*"/>
5815+ </return-value>
5816+ <parameters>
5817+ <instance-parameter name="self" transfer-ownership="none">
5818+ <doc xml:space="preserve"
5819+ filename="gdk/gdkdisplay.c"
5820+ line="1988">a `GdkDisplay`</doc>
5821+ <type name="Display" c:type="GdkDisplay*"/>
5822+ </instance-parameter>
5823+ </parameters>
5824+ </method>
5825+ <method name="get_name" c:identifier="gdk_display_get_name">
5826+ <doc xml:space="preserve"
5827+ filename="gdk/gdkdisplay.c"
5828+ line="929">Gets the name of the display.</doc>
5829+ <source-position filename="gdk/gdkdisplay.h" line="47"/>
5830+ <return-value transfer-ownership="none">
5831+ <doc xml:space="preserve"
5832+ filename="gdk/gdkdisplay.c"
5833+ line="935">a string representing the display name. This string is owned
5834+ by GDK and should not be modified or freed.</doc>
5835+ <type name="utf8" c:type="const char*"/>
5836+ </return-value>
5837+ <parameters>
5838+ <instance-parameter name="display" transfer-ownership="none">
5839+ <doc xml:space="preserve"
5840+ filename="gdk/gdkdisplay.c"
5841+ line="931">a `GdkDisplay`</doc>
5842+ <type name="Display" c:type="GdkDisplay*"/>
5843+ </instance-parameter>
5844+ </parameters>
5845+ </method>
5846+ <method name="get_primary_clipboard"
5847+ c:identifier="gdk_display_get_primary_clipboard">
5848+ <doc xml:space="preserve"
5849+ filename="gdk/gdkdisplay.c"
5850+ line="1025">Gets the clipboard used for the primary selection.
5851+
5852+On backends where the primary clipboard is not supported natively,
5853+GDK emulates this clipboard locally.</doc>
5854+ <source-position filename="gdk/gdkdisplay.h" line="84"/>
5855+ <return-value transfer-ownership="none">
5856+ <doc xml:space="preserve"
5857+ filename="gdk/gdkdisplay.c"
5858+ line="1034">the primary clipboard</doc>
5859+ <type name="Clipboard" c:type="GdkClipboard*"/>
5860+ </return-value>
5861+ <parameters>
5862+ <instance-parameter name="display" transfer-ownership="none">
5863+ <doc xml:space="preserve"
5864+ filename="gdk/gdkdisplay.c"
5865+ line="1027">a `GdkDisplay`</doc>
5866+ <type name="Display" c:type="GdkDisplay*"/>
5867+ </instance-parameter>
5868+ </parameters>
5869+ </method>
5870+ <method name="get_setting" c:identifier="gdk_display_get_setting">
5871+ <doc xml:space="preserve"
5872+ filename="gdk/gdkdisplay.c"
5873+ line="2076">Retrieves a desktop-wide setting such as double-click time
5874+for the @display.</doc>
5875+ <source-position filename="gdk/gdkdisplay.h" line="135"/>
5876+ <return-value transfer-ownership="none">
5877+ <doc xml:space="preserve"
5878+ filename="gdk/gdkdisplay.c"
5879+ line="2085">%TRUE if the setting existed and a value was stored
5880+ in @value, %FALSE otherwise</doc>
5881+ <type name="gboolean" c:type="gboolean"/>
5882+ </return-value>
5883+ <parameters>
5884+ <instance-parameter name="display" transfer-ownership="none">
5885+ <doc xml:space="preserve"
5886+ filename="gdk/gdkdisplay.c"
5887+ line="2078">a `GdkDisplay`</doc>
5888+ <type name="Display" c:type="GdkDisplay*"/>
5889+ </instance-parameter>
5890+ <parameter name="name" transfer-ownership="none">
5891+ <doc xml:space="preserve"
5892+ filename="gdk/gdkdisplay.c"
5893+ line="2079">the name of the setting</doc>
5894+ <type name="utf8" c:type="const char*"/>
5895+ </parameter>
5896+ <parameter name="value" transfer-ownership="none">
5897+ <doc xml:space="preserve"
5898+ filename="gdk/gdkdisplay.c"
5899+ line="2080">location to store the value of the setting</doc>
5900+ <type name="GObject.Value" c:type="GValue*"/>
5901+ </parameter>
5902+ </parameters>
5903+ </method>
5904+ <method name="get_startup_notification_id"
5905+ c:identifier="gdk_display_get_startup_notification_id">
5906+ <doc xml:space="preserve"
5907+ filename="gdk/gdkdisplay.c"
5908+ line="1161">Gets the startup notification ID for a Wayland display, or %NULL
5909+if no ID has been defined.</doc>
5910+ <source-position filename="gdk/gdkdisplay.h" line="90"/>
5911+ <return-value transfer-ownership="none" nullable="1">
5912+ <doc xml:space="preserve"
5913+ filename="gdk/gdkdisplay.c"
5914+ line="1168">the startup notification ID for @display</doc>
5915+ <type name="utf8" c:type="const char*"/>
5916+ </return-value>
5917+ <parameters>
5918+ <instance-parameter name="display" transfer-ownership="none">
5919+ <doc xml:space="preserve"
5920+ filename="gdk/gdkdisplay.c"
5921+ line="1163">a `GdkDisplay`</doc>
5922+ <type name="Display" c:type="GdkDisplay*"/>
5923+ </instance-parameter>
5924+ </parameters>
5925+ </method>
5926+ <method name="is_closed" c:identifier="gdk_display_is_closed">
5927+ <doc xml:space="preserve"
5928+ filename="gdk/gdkdisplay.c"
5929+ line="429">Finds out if the display has been closed.</doc>
5930+ <source-position filename="gdk/gdkdisplay.h" line="62"/>
5931+ <return-value transfer-ownership="none">
5932+ <doc xml:space="preserve"
5933+ filename="gdk/gdkdisplay.c"
5934+ line="435">%TRUE if the display is closed.</doc>
5935+ <type name="gboolean" c:type="gboolean"/>
5936+ </return-value>
5937+ <parameters>
5938+ <instance-parameter name="display" transfer-ownership="none">
5939+ <doc xml:space="preserve"
5940+ filename="gdk/gdkdisplay.c"
5941+ line="431">a `GdkDisplay`</doc>
5942+ <type name="Display" c:type="GdkDisplay*"/>
5943+ </instance-parameter>
5944+ </parameters>
5945+ </method>
5946+ <method name="is_composited" c:identifier="gdk_display_is_composited">
5947+ <attribute name="org.gtk.Method.get_property" value="composited"/>
5948+ <doc xml:space="preserve"
5949+ filename="gdk/gdkdisplay.c"
5950+ line="1810">Returns whether surfaces can reasonably be expected to have
5951+their alpha channel drawn correctly on the screen.
5952+
5953+Check [method@Gdk.Display.is_rgba] for whether the display
5954+supports an alpha channel.
5955+
5956+On X11 this function returns whether a compositing manager is
5957+compositing on @display.
5958+
5959+On modern displays, this value is always %TRUE.</doc>
5960+ <source-position filename="gdk/gdkdisplay.h" line="65"/>
5961+ <return-value transfer-ownership="none">
5962+ <doc xml:space="preserve"
5963+ filename="gdk/gdkdisplay.c"
5964+ line="1825">Whether surfaces with RGBA visuals can reasonably
5965+ be expected to have their alpha channels drawn correctly
5966+ on the screen.</doc>
5967+ <type name="gboolean" c:type="gboolean"/>
5968+ </return-value>
5969+ <parameters>
5970+ <instance-parameter name="display" transfer-ownership="none">
5971+ <doc xml:space="preserve"
5972+ filename="gdk/gdkdisplay.c"
5973+ line="1812">a `GdkDisplay`</doc>
5974+ <type name="Display" c:type="GdkDisplay*"/>
5975+ </instance-parameter>
5976+ </parameters>
5977+ </method>
5978+ <method name="is_rgba" c:identifier="gdk_display_is_rgba">
5979+ <attribute name="org.gtk.Method.get_property" value="rgba"/>
5980+ <doc xml:space="preserve"
5981+ filename="gdk/gdkdisplay.c"
5982+ line="1855">Returns whether surfaces on this @display are created with an
5983+alpha channel.
5984+
5985+Even if a %TRUE is returned, it is possible that the
5986+surface’s alpha channel won’t be honored when displaying the
5987+surface on the screen: in particular, for X an appropriate
5988+windowing manager and compositing manager must be running to
5989+provide appropriate display. Use [method@Gdk.Display.is_composited]
5990+to check if that is the case.
5991+
5992+On modern displays, this value is always %TRUE.</doc>
5993+ <source-position filename="gdk/gdkdisplay.h" line="67"/>
5994+ <return-value transfer-ownership="none">
5995+ <doc xml:space="preserve"
5996+ filename="gdk/gdkdisplay.c"
5997+ line="1871">%TRUE if surfaces are created with an alpha channel or
5998+ %FALSE if the display does not support this functionality.</doc>
5999+ <type name="gboolean" c:type="gboolean"/>
6000+ </return-value>
6001+ <parameters>
6002+ <instance-parameter name="display" transfer-ownership="none">
6003+ <doc xml:space="preserve"
6004+ filename="gdk/gdkdisplay.c"
6005+ line="1857">a `GdkDisplay`</doc>
6006+ <type name="Display" c:type="GdkDisplay*"/>
6007+ </instance-parameter>
6008+ </parameters>
6009+ </method>
6010+ <method name="list_seats" c:identifier="gdk_display_list_seats">
6011+ <doc xml:space="preserve"
6012+ filename="gdk/gdkdisplay.c"
6013+ line="1969">Returns the list of seats known to @display.</doc>
6014+ <source-position filename="gdk/gdkdisplay.h" line="99"/>
6015+ <return-value transfer-ownership="container">
6016+ <doc xml:space="preserve"
6017+ filename="gdk/gdkdisplay.c"
6018+ line="1975">the
6019+ list of seats known to the `GdkDisplay`</doc>
6020+ <type name="GLib.List" c:type="GList*">
6021+ <type name="Seat"/>
6022+ </type>
6023+ </return-value>
6024+ <parameters>
6025+ <instance-parameter name="display" transfer-ownership="none">
6026+ <doc xml:space="preserve"
6027+ filename="gdk/gdkdisplay.c"
6028+ line="1971">a `GdkDisplay`</doc>
6029+ <type name="Display" c:type="GdkDisplay*"/>
6030+ </instance-parameter>
6031+ </parameters>
6032+ </method>
6033+ <method name="map_keycode" c:identifier="gdk_display_map_keycode">
6034+ <doc xml:space="preserve"
6035+ filename="gdk/gdkdisplay.c"
6036+ line="2168">Returns the keyvals bound to @keycode.
6037+
6038+The Nth `GdkKeymapKey` in @keys is bound to the Nth keyval in @keyvals.
6039+
6040+When a keycode is pressed by the user, the keyval from
6041+this list of entries is selected by considering the effective
6042+keyboard group and level.
6043+
6044+Free the returned arrays with g_free().</doc>
6045+ <source-position filename="gdk/gdkdisplay.h" line="118"/>
6046+ <return-value transfer-ownership="none">
6047+ <doc xml:space="preserve"
6048+ filename="gdk/gdkdisplay.c"
6049+ line="2188">%TRUE if there were any entries</doc>
6050+ <type name="gboolean" c:type="gboolean"/>
6051+ </return-value>
6052+ <parameters>
6053+ <instance-parameter name="display" transfer-ownership="none">
6054+ <doc xml:space="preserve"
6055+ filename="gdk/gdkdisplay.c"
6056+ line="2170">a `GdkDisplay`</doc>
6057+ <type name="Display" c:type="GdkDisplay*"/>
6058+ </instance-parameter>
6059+ <parameter name="keycode" transfer-ownership="none">
6060+ <doc xml:space="preserve"
6061+ filename="gdk/gdkdisplay.c"
6062+ line="2171">a keycode</doc>
6063+ <type name="guint" c:type="guint"/>
6064+ </parameter>
6065+ <parameter name="keys"
6066+ direction="out"
6067+ caller-allocates="0"
6068+ transfer-ownership="full"
6069+ optional="1"
6070+ allow-none="1">
6071+ <doc xml:space="preserve"
6072+ filename="gdk/gdkdisplay.c"
6073+ line="2172">return
6074+ location for array of `GdkKeymapKey`</doc>
6075+ <array length="3" zero-terminated="0" c:type="GdkKeymapKey**">
6076+ <type name="KeymapKey" c:type="GdkKeymapKey*"/>
6077+ </array>
6078+ </parameter>
6079+ <parameter name="keyvals"
6080+ direction="out"
6081+ caller-allocates="0"
6082+ transfer-ownership="full"
6083+ optional="1"
6084+ allow-none="1">
6085+ <doc xml:space="preserve"
6086+ filename="gdk/gdkdisplay.c"
6087+ line="2174">return
6088+ location for array of keyvals</doc>
6089+ <array length="3" zero-terminated="0" c:type="guint**">
6090+ <type name="guint" c:type="guint*"/>
6091+ </array>
6092+ </parameter>
6093+ <parameter name="n_entries"
6094+ direction="out"
6095+ caller-allocates="0"
6096+ transfer-ownership="full">
6097+ <doc xml:space="preserve"
6098+ filename="gdk/gdkdisplay.c"
6099+ line="2176">length of @keys and @keyvals</doc>
6100+ <type name="gint" c:type="int*"/>
6101+ </parameter>
6102+ </parameters>
6103+ </method>
6104+ <method name="map_keyval" c:identifier="gdk_display_map_keyval">
6105+ <doc xml:space="preserve"
6106+ filename="gdk/gdkdisplay.c"
6107+ line="2130">Obtains a list of keycode/group/level combinations that will
6108+generate @keyval.
6109+
6110+Groups and levels are two kinds of keyboard mode; in general, the level
6111+determines whether the top or bottom symbol on a key is used, and the
6112+group determines whether the left or right symbol is used.
6113+
6114+On US keyboards, the shift key changes the keyboard level, and there
6115+are no groups. A group switch key might convert a keyboard between
6116+Hebrew to English modes, for example.
6117+
6118+`GdkEventKey` contains a %group field that indicates the active
6119+keyboard group. The level is computed from the modifier mask.
6120+
6121+The returned array should be freed with g_free().</doc>
6122+ <source-position filename="gdk/gdkdisplay.h" line="112"/>
6123+ <return-value transfer-ownership="none">
6124+ <doc xml:space="preserve"
6125+ filename="gdk/gdkdisplay.c"
6126+ line="2154">%TRUE if keys were found and returned</doc>
6127+ <type name="gboolean" c:type="gboolean"/>
6128+ </return-value>
6129+ <parameters>
6130+ <instance-parameter name="display" transfer-ownership="none">
6131+ <doc xml:space="preserve"
6132+ filename="gdk/gdkdisplay.c"
6133+ line="2132">a `GdkDisplay`</doc>
6134+ <type name="Display" c:type="GdkDisplay*"/>
6135+ </instance-parameter>
6136+ <parameter name="keyval" transfer-ownership="none">
6137+ <doc xml:space="preserve"
6138+ filename="gdk/gdkdisplay.c"
6139+ line="2133">a keyval, such as %GDK_KEY_a, %GDK_KEY_Up, %GDK_KEY_Return, etc.</doc>
6140+ <type name="guint" c:type="guint"/>
6141+ </parameter>
6142+ <parameter name="keys"
6143+ direction="out"
6144+ caller-allocates="0"
6145+ transfer-ownership="full">
6146+ <doc xml:space="preserve"
6147+ filename="gdk/gdkdisplay.c"
6148+ line="2134">return location
6149+ for an array of `GdkKeymapKey`</doc>
6150+ <array length="2" zero-terminated="0" c:type="GdkKeymapKey**">
6151+ <type name="KeymapKey" c:type="GdkKeymapKey*"/>
6152+ </array>
6153+ </parameter>
6154+ <parameter name="n_keys"
6155+ direction="out"
6156+ caller-allocates="0"
6157+ transfer-ownership="full">
6158+ <doc xml:space="preserve"
6159+ filename="gdk/gdkdisplay.c"
6160+ line="2136">return location for number of elements in returned array</doc>
6161+ <type name="gint" c:type="int*"/>
6162+ </parameter>
6163+ </parameters>
6164+ </method>
6165+ <method name="notify_startup_complete"
6166+ c:identifier="gdk_display_notify_startup_complete">
6167+ <doc xml:space="preserve"
6168+ filename="gdk/gdkdisplay.c"
6169+ line="1138">Indicates to the GUI environment that the application has
6170+finished loading, using a given identifier.
6171+
6172+GTK will call this function automatically for [class@Gtk.Window]
6173+with custom startup-notification identifier unless
6174+[method@Gtk.Window.set_auto_startup_notification]
6175+is called to disable that feature.</doc>
6176+ <source-position filename="gdk/gdkdisplay.h" line="87"/>
6177+ <return-value transfer-ownership="none">
6178+ <type name="none" c:type="void"/>
6179+ </return-value>
6180+ <parameters>
6181+ <instance-parameter name="display" transfer-ownership="none">
6182+ <doc xml:space="preserve"
6183+ filename="gdk/gdkdisplay.c"
6184+ line="1140">a `GdkDisplay`</doc>
6185+ <type name="Display" c:type="GdkDisplay*"/>
6186+ </instance-parameter>
6187+ <parameter name="startup_id" transfer-ownership="none">
6188+ <doc xml:space="preserve"
6189+ filename="gdk/gdkdisplay.c"
6190+ line="1141">a startup-notification identifier, for which
6191+ notification process should be completed</doc>
6192+ <type name="utf8" c:type="const char*"/>
6193+ </parameter>
6194+ </parameters>
6195+ </method>
6196+ <method name="prepare_gl"
6197+ c:identifier="gdk_display_prepare_gl"
6198+ version="4.4"
6199+ throws="1">
6200+ <doc xml:space="preserve"
6201+ filename="gdk/gdkdisplay.c"
6202+ line="1269">Checks that OpenGL is available for @self and ensures that it is
6203+properly initialized.
6204+When this fails, an @error will be set describing the error and this
6205+function returns %FALSE.
6206+
6207+Note that even if this function succeeds, creating a `GdkGLContext`
6208+may still fail.
6209+
6210+This function is idempotent. Calling it multiple times will just
6211+return the same value or error.
6212+
6213+You never need to call this function, GDK will call it automatically
6214+as needed. But you can use it as a check when setting up code that
6215+might make use of OpenGL.</doc>
6216+ <source-position filename="gdk/gdkdisplay.h" line="72"/>
6217+ <return-value transfer-ownership="none">
6218+ <doc xml:space="preserve"
6219+ filename="gdk/gdkdisplay.c"
6220+ line="1289">%TRUE if the display supports OpenGL</doc>
6221+ <type name="gboolean" c:type="gboolean"/>
6222+ </return-value>
6223+ <parameters>
6224+ <instance-parameter name="self" transfer-ownership="none">
6225+ <doc xml:space="preserve"
6226+ filename="gdk/gdkdisplay.c"
6227+ line="1271">a `GdkDisplay`</doc>
6228+ <type name="Display" c:type="GdkDisplay*"/>
6229+ </instance-parameter>
6230+ </parameters>
6231+ </method>
6232+ <method name="put_event" c:identifier="gdk_display_put_event">
6233+ <doc xml:space="preserve"
6234+ filename="gdk/gdkdisplay.c"
6235+ line="466">Appends the given event onto the front of the event
6236+queue for @display.
6237+
6238+This function is only useful in very special situations
6239+and should not be used by applications.</doc>
6240+ <source-position filename="gdk/gdkdisplay.h" line="108"/>
6241+ <return-value transfer-ownership="none">
6242+ <type name="none" c:type="void"/>
6243+ </return-value>
6244+ <parameters>
6245+ <instance-parameter name="display" transfer-ownership="none">
6246+ <doc xml:space="preserve"
6247+ filename="gdk/gdkdisplay.c"
6248+ line="468">a `GdkDisplay`</doc>
6249+ <type name="Display" c:type="GdkDisplay*"/>
6250+ </instance-parameter>
6251+ <parameter name="event" transfer-ownership="none">
6252+ <doc xml:space="preserve"
6253+ filename="gdk/gdkdisplay.c"
6254+ line="469">a `GdkEvent`</doc>
6255+ <type name="Event" c:type="GdkEvent*"/>
6256+ </parameter>
6257+ </parameters>
6258+ </method>
6259+ <method name="supports_input_shapes"
6260+ c:identifier="gdk_display_supports_input_shapes">
6261+ <attribute name="org.gtk.Method.get_property" value="input-shapes"/>
6262+ <doc xml:space="preserve"
6263+ filename="gdk/gdkdisplay.c"
6264+ line="1047">Returns %TRUE if the display supports input shapes.
6265+
6266+This means that [method@Gdk.Surface.set_input_region] can
6267+be used to modify the input shape of surfaces on @display.
6268+
6269+On modern displays, this value is always %TRUE.</doc>
6270+ <source-position filename="gdk/gdkdisplay.h" line="69"/>
6271+ <return-value transfer-ownership="none">
6272+ <doc xml:space="preserve"
6273+ filename="gdk/gdkdisplay.c"
6274+ line="1058">%TRUE if surfaces with modified input shape are supported</doc>
6275+ <type name="gboolean" c:type="gboolean"/>
6276+ </return-value>
6277+ <parameters>
6278+ <instance-parameter name="display" transfer-ownership="none">
6279+ <doc xml:space="preserve"
6280+ filename="gdk/gdkdisplay.c"
6281+ line="1049">a `GdkDisplay`</doc>
6282+ <type name="Display" c:type="GdkDisplay*"/>
6283+ </instance-parameter>
6284+ </parameters>
6285+ </method>
6286+ <method name="sync" c:identifier="gdk_display_sync">
6287+ <doc xml:space="preserve"
6288+ filename="gdk/gdkdisplay.c"
6289+ line="960">Flushes any requests queued for the windowing system and waits until all
6290+requests have been handled.
6291+
6292+This is often used for making sure that the display is synchronized
6293+with the current state of the program. Calling [method@Gdk.Display.sync]
6294+before [method@GdkX11.Display.error_trap_pop] makes sure that any errors
6295+generated from earlier requests are handled before the error trap is removed.
6296+
6297+This is most useful for X11. On windowing systems where requests are
6298+handled synchronously, this function will do nothing.</doc>
6299+ <source-position filename="gdk/gdkdisplay.h" line="55"/>
6300+ <return-value transfer-ownership="none">
6301+ <type name="none" c:type="void"/>
6302+ </return-value>
6303+ <parameters>
6304+ <instance-parameter name="display" transfer-ownership="none">
6305+ <doc xml:space="preserve"
6306+ filename="gdk/gdkdisplay.c"
6307+ line="962">a `GdkDisplay`</doc>
6308+ <type name="Display" c:type="GdkDisplay*"/>
6309+ </instance-parameter>
6310+ </parameters>
6311+ </method>
6312+ <method name="translate_key" c:identifier="gdk_display_translate_key">
6313+ <doc xml:space="preserve"
6314+ filename="gdk/gdkdisplay.c"
6315+ line="2204">Translates the contents of a `GdkEventKey` into a keyval, effective group,
6316+and level.
6317+
6318+Modifiers that affected the translation and are thus unavailable for
6319+application use are returned in @consumed_modifiers.
6320+
6321+The @effective_group is the group that was actually used for the
6322+translation; some keys such as Enter are not affected by the active
6323+keyboard group. The @level is derived from @state.
6324+
6325+@consumed_modifiers gives modifiers that should be masked out
6326+from @state when comparing this key press to a keyboard shortcut.
6327+For instance, on a US keyboard, the `plus` symbol is shifted, so
6328+when comparing a key press to a `&lt;Control&gt;plus` accelerator `&lt;Shift&gt;`
6329+should be masked out.
6330+
6331+This function should rarely be needed, since `GdkEventKey` already
6332+contains the translated keyval. It is exported for the benefit of
6333+virtualized test environments.</doc>
6334+ <source-position filename="gdk/gdkdisplay.h" line="125"/>
6335+ <return-value transfer-ownership="none">
6336+ <doc xml:space="preserve"
6337+ filename="gdk/gdkdisplay.c"
6338+ line="2236">%TRUE if there was a keyval bound to keycode/state/group.</doc>
6339+ <type name="gboolean" c:type="gboolean"/>
6340+ </return-value>
6341+ <parameters>
6342+ <instance-parameter name="display" transfer-ownership="none">
6343+ <doc xml:space="preserve"
6344+ filename="gdk/gdkdisplay.c"
6345+ line="2206">a `GdkDisplay`</doc>
6346+ <type name="Display" c:type="GdkDisplay*"/>
6347+ </instance-parameter>
6348+ <parameter name="keycode" transfer-ownership="none">
6349+ <doc xml:space="preserve"
6350+ filename="gdk/gdkdisplay.c"
6351+ line="2207">a keycode</doc>
6352+ <type name="guint" c:type="guint"/>
6353+ </parameter>
6354+ <parameter name="state" transfer-ownership="none">
6355+ <doc xml:space="preserve"
6356+ filename="gdk/gdkdisplay.c"
6357+ line="2208">a modifier state</doc>
6358+ <type name="ModifierType" c:type="GdkModifierType"/>
6359+ </parameter>
6360+ <parameter name="group" transfer-ownership="none">
6361+ <doc xml:space="preserve"
6362+ filename="gdk/gdkdisplay.c"
6363+ line="2209">active keyboard group</doc>
6364+ <type name="gint" c:type="int"/>
6365+ </parameter>
6366+ <parameter name="keyval"
6367+ direction="out"
6368+ caller-allocates="0"
6369+ transfer-ownership="full"
6370+ optional="1"
6371+ allow-none="1">
6372+ <doc xml:space="preserve"
6373+ filename="gdk/gdkdisplay.c"
6374+ line="2210">return location for keyval</doc>
6375+ <type name="guint" c:type="guint*"/>
6376+ </parameter>
6377+ <parameter name="effective_group"
6378+ direction="out"
6379+ caller-allocates="0"
6380+ transfer-ownership="full"
6381+ optional="1"
6382+ allow-none="1">
6383+ <doc xml:space="preserve"
6384+ filename="gdk/gdkdisplay.c"
6385+ line="2211">return location for effective group</doc>
6386+ <type name="gint" c:type="int*"/>
6387+ </parameter>
6388+ <parameter name="level"
6389+ direction="out"
6390+ caller-allocates="0"
6391+ transfer-ownership="full"
6392+ optional="1"
6393+ allow-none="1">
6394+ <doc xml:space="preserve"
6395+ filename="gdk/gdkdisplay.c"
6396+ line="2212">return location for level</doc>
6397+ <type name="gint" c:type="int*"/>
6398+ </parameter>
6399+ <parameter name="consumed"
6400+ direction="out"
6401+ caller-allocates="0"
6402+ transfer-ownership="full"
6403+ optional="1"
6404+ allow-none="1">
6405+ <doc xml:space="preserve"
6406+ filename="gdk/gdkdisplay.c"
6407+ line="2213">return location for modifiers that were used
6408+ to determine the group or level</doc>
6409+ <type name="ModifierType" c:type="GdkModifierType*"/>
6410+ </parameter>
6411+ </parameters>
6412+ </method>
6413+ <property name="composited" transfer-ownership="none">
6414+ <attribute name="org.gtk.Property.get"
6415+ value="gdk_display_is_composited"/>
6416+ <doc xml:space="preserve"
6417+ filename="gdk/gdkdisplay.c"
6418+ line="210">%TRUE if the display properly composites the alpha channel.</doc>
6419+ <type name="gboolean" c:type="gboolean"/>
6420+ </property>
6421+ <property name="input-shapes" transfer-ownership="none">
6422+ <attribute name="org.gtk.Property.get"
6423+ value="gdk_display_supports_input_shapes"/>
6424+ <doc xml:space="preserve"
6425+ filename="gdk/gdkdisplay.c"
6426+ line="230">%TRUE if the display supports input shapes.</doc>
6427+ <type name="gboolean" c:type="gboolean"/>
6428+ </property>
6429+ <property name="rgba" transfer-ownership="none">
6430+ <attribute name="org.gtk.Property.get" value="gdk_display_is_rgba"/>
6431+ <doc xml:space="preserve"
6432+ filename="gdk/gdkdisplay.c"
6433+ line="220">%TRUE if the display supports an alpha channel.</doc>
6434+ <type name="gboolean" c:type="gboolean"/>
6435+ </property>
6436+ <glib:signal name="closed" when="last">
6437+ <doc xml:space="preserve"
6438+ filename="gdk/gdkdisplay.c"
6439+ line="257">Emitted when the connection to the windowing system for @display is closed.</doc>
6440+ <return-value transfer-ownership="none">
6441+ <type name="none" c:type="void"/>
6442+ </return-value>
6443+ <parameters>
6444+ <parameter name="is_error" transfer-ownership="none">
6445+ <doc xml:space="preserve"
6446+ filename="gdk/gdkdisplay.c"
6447+ line="260">%TRUE if the display was closed due to an error</doc>
6448+ <type name="gboolean" c:type="gboolean"/>
6449+ </parameter>
6450+ </parameters>
6451+ </glib:signal>
6452+ <glib:signal name="opened" when="last">
6453+ <doc xml:space="preserve"
6454+ filename="gdk/gdkdisplay.c"
6455+ line="242">Emitted when the connection to the windowing system for @display is opened.</doc>
6456+ <return-value transfer-ownership="none">
6457+ <type name="none" c:type="void"/>
6458+ </return-value>
6459+ </glib:signal>
6460+ <glib:signal name="seat-added" when="last">
6461+ <doc xml:space="preserve"
6462+ filename="gdk/gdkdisplay.c"
6463+ line="275">Emitted whenever a new seat is made known to the windowing system.</doc>
6464+ <return-value transfer-ownership="none">
6465+ <type name="none" c:type="void"/>
6466+ </return-value>
6467+ <parameters>
6468+ <parameter name="seat" transfer-ownership="none">
6469+ <doc xml:space="preserve"
6470+ filename="gdk/gdkdisplay.c"
6471+ line="278">the seat that was just added</doc>
6472+ <type name="Seat"/>
6473+ </parameter>
6474+ </parameters>
6475+ </glib:signal>
6476+ <glib:signal name="seat-removed" when="last">
6477+ <doc xml:space="preserve"
6478+ filename="gdk/gdkdisplay.c"
6479+ line="290">Emitted whenever a seat is removed by the windowing system.</doc>
6480+ <return-value transfer-ownership="none">
6481+ <type name="none" c:type="void"/>
6482+ </return-value>
6483+ <parameters>
6484+ <parameter name="seat" transfer-ownership="none">
6485+ <doc xml:space="preserve"
6486+ filename="gdk/gdkdisplay.c"
6487+ line="293">the seat that was just removed</doc>
6488+ <type name="Seat"/>
6489+ </parameter>
6490+ </parameters>
6491+ </glib:signal>
6492+ <glib:signal name="setting-changed" when="last">
6493+ <doc xml:space="preserve"
6494+ filename="gdk/gdkdisplay.c"
6495+ line="305">Emitted whenever a setting changes its value.</doc>
6496+ <return-value transfer-ownership="none">
6497+ <type name="none" c:type="void"/>
6498+ </return-value>
6499+ <parameters>
6500+ <parameter name="setting" transfer-ownership="none">
6501+ <doc xml:space="preserve"
6502+ filename="gdk/gdkdisplay.c"
6503+ line="308">the name of the setting that changed</doc>
6504+ <type name="utf8" c:type="gchar*"/>
6505+ </parameter>
6506+ </parameters>
6507+ </glib:signal>
6508+ </class>
6509+ <class name="DisplayManager"
6510+ c:symbol-prefix="display_manager"
6511+ c:type="GdkDisplayManager"
6512+ parent="GObject.Object"
6513+ glib:type-name="GdkDisplayManager"
6514+ glib:get-type="gdk_display_manager_get_type">
6515+ <doc xml:space="preserve"
6516+ filename="gdk/gdkdisplaymanager.c"
6517+ line="55">A singleton object that offers notification when displays appear or
6518+disappear.
6519+
6520+You can use [func@Gdk.DisplayManager.get] to obtain the `GdkDisplayManager`
6521+singleton, but that should be rarely necessary. Typically, initializing
6522+GTK opens a display that you can work with without ever accessing the
6523+`GdkDisplayManager`.
6524+
6525+The GDK library can be built with support for multiple backends.
6526+The `GdkDisplayManager` object determines which backend is used
6527+at runtime.
6528+
6529+In the rare case that you need to influence which of the backends
6530+is being used, you can use [func@Gdk.set_allowed_backends]. Note
6531+that you need to call this function before initializing GTK.
6532+
6533+## Backend-specific code
6534+
6535+When writing backend-specific code that is supposed to work with
6536+multiple GDK backends, you have to consider both compile time and
6537+runtime. At compile time, use the `GDK_WINDOWING_X11`, `GDK_WINDOWING_WIN32`
6538+macros, etc. to find out which backends are present in the GDK library
6539+you are building your application against. At runtime, use type-check
6540+macros like GDK_IS_X11_DISPLAY() to find out which backend is in use:
6541+
6542+```c
6543+#ifdef GDK_WINDOWING_X11
6544+ if (GDK_IS_X11_DISPLAY (display))
6545+ {
6546+ // make X11-specific calls here
6547+ }
6548+ else
6549+#endif
6550+#ifdef GDK_WINDOWING_MACOS
6551+ if (GDK_IS_MACOS_DISPLAY (display))
6552+ {
6553+ // make Quartz-specific calls here
6554+ }
6555+ else
6556+#endif
6557+ g_error ("Unsupported GDK backend");
6558+```</doc>
6559+ <function name="get" c:identifier="gdk_display_manager_get">
6560+ <doc xml:space="preserve"
6561+ filename="gdk/gdkdisplaymanager.c"
6562+ line="277">Gets the singleton `GdkDisplayManager` object.
6563+
6564+When called for the first time, this function consults the
6565+`GDK_BACKEND` environment variable to find out which of the
6566+supported GDK backends to use (in case GDK has been compiled
6567+with multiple backends).
6568+
6569+Applications can use [func@set_allowed_backends] to limit what
6570+backends wil be used.</doc>
6571+ <source-position filename="gdk/gdkdisplaymanager.h" line="46"/>
6572+ <return-value transfer-ownership="none">
6573+ <doc xml:space="preserve"
6574+ filename="gdk/gdkdisplaymanager.c"
6575+ line="290">The global `GdkDisplayManager` singleton</doc>
6576+ <type name="DisplayManager" c:type="GdkDisplayManager*"/>
6577+ </return-value>
6578+ </function>
6579+ <method name="get_default_display"
6580+ c:identifier="gdk_display_manager_get_default_display"
6581+ glib:get-property="default-display">
6582+ <attribute name="org.gtk.Method.get_property" value="default-display"/>
6583+ <doc xml:space="preserve"
6584+ filename="gdk/gdkdisplaymanager.c"
6585+ line="303">Gets the default `GdkDisplay`.</doc>
6586+ <source-position filename="gdk/gdkdisplaymanager.h" line="48"/>
6587+ <return-value transfer-ownership="none" nullable="1">
6588+ <doc xml:space="preserve"
6589+ filename="gdk/gdkdisplaymanager.c"
6590+ line="309">a `GdkDisplay`</doc>
6591+ <type name="Display" c:type="GdkDisplay*"/>
6592+ </return-value>
6593+ <parameters>
6594+ <instance-parameter name="manager" transfer-ownership="none">
6595+ <doc xml:space="preserve"
6596+ filename="gdk/gdkdisplaymanager.c"
6597+ line="305">a `GdkDisplayManager`</doc>
6598+ <type name="DisplayManager" c:type="GdkDisplayManager*"/>
6599+ </instance-parameter>
6600+ </parameters>
6601+ </method>
6602+ <method name="list_displays"
6603+ c:identifier="gdk_display_manager_list_displays">
6604+ <doc xml:space="preserve"
6605+ filename="gdk/gdkdisplaymanager.c"
6606+ line="354">List all currently open displays.</doc>
6607+ <source-position filename="gdk/gdkdisplaymanager.h" line="53"/>
6608+ <return-value transfer-ownership="container">
6609+ <doc xml:space="preserve"
6610+ filename="gdk/gdkdisplaymanager.c"
6611+ line="360">a newly
6612+ allocated `GSList` of `GdkDisplay` objects</doc>
6613+ <type name="GLib.SList" c:type="GSList*">
6614+ <type name="Display"/>
6615+ </type>
6616+ </return-value>
6617+ <parameters>
6618+ <instance-parameter name="manager" transfer-ownership="none">
6619+ <doc xml:space="preserve"
6620+ filename="gdk/gdkdisplaymanager.c"
6621+ line="356">a `GdkDisplayManager`</doc>
6622+ <type name="DisplayManager" c:type="GdkDisplayManager*"/>
6623+ </instance-parameter>
6624+ </parameters>
6625+ </method>
6626+ <method name="open_display"
6627+ c:identifier="gdk_display_manager_open_display">
6628+ <doc xml:space="preserve"
6629+ filename="gdk/gdkdisplaymanager.c"
6630+ line="369">Opens a display.</doc>
6631+ <source-position filename="gdk/gdkdisplaymanager.h" line="55"/>
6632+ <return-value transfer-ownership="none" nullable="1">
6633+ <doc xml:space="preserve"
6634+ filename="gdk/gdkdisplaymanager.c"
6635+ line="376">a `GdkDisplay`, or %NULL
6636+ if the display could not be opened</doc>
6637+ <type name="Display" c:type="GdkDisplay*"/>
6638+ </return-value>
6639+ <parameters>
6640+ <instance-parameter name="manager" transfer-ownership="none">
6641+ <doc xml:space="preserve"
6642+ filename="gdk/gdkdisplaymanager.c"
6643+ line="371">a `GdkDisplayManager`</doc>
6644+ <type name="DisplayManager" c:type="GdkDisplayManager*"/>
6645+ </instance-parameter>
6646+ <parameter name="name" transfer-ownership="none">
6647+ <doc xml:space="preserve"
6648+ filename="gdk/gdkdisplaymanager.c"
6649+ line="372">the name of the display to open</doc>
6650+ <type name="utf8" c:type="const char*"/>
6651+ </parameter>
6652+ </parameters>
6653+ </method>
6654+ <method name="set_default_display"
6655+ c:identifier="gdk_display_manager_set_default_display"
6656+ glib:set-property="default-display">
6657+ <doc xml:space="preserve"
6658+ filename="gdk/gdkdisplaymanager.c"
6659+ line="335">Sets @display as the default display.</doc>
6660+ <source-position filename="gdk/gdkdisplaymanager.h" line="50"/>
6661+ <return-value transfer-ownership="none">
6662+ <type name="none" c:type="void"/>
6663+ </return-value>
6664+ <parameters>
6665+ <instance-parameter name="manager" transfer-ownership="none">
6666+ <doc xml:space="preserve"
6667+ filename="gdk/gdkdisplaymanager.c"
6668+ line="337">a `GdkDisplayManager`</doc>
6669+ <type name="DisplayManager" c:type="GdkDisplayManager*"/>
6670+ </instance-parameter>
6671+ <parameter name="display" transfer-ownership="none">
6672+ <doc xml:space="preserve"
6673+ filename="gdk/gdkdisplaymanager.c"
6674+ line="338">a `GdkDisplay`</doc>
6675+ <type name="Display" c:type="GdkDisplay*"/>
6676+ </parameter>
6677+ </parameters>
6678+ </method>
6679+ <property name="default-display"
6680+ writable="1"
6681+ transfer-ownership="none"
6682+ setter="set_default_display"
6683+ getter="get_default_display">
6684+ <attribute name="org.gtk.Property.get"
6685+ value="gdk_display_manager_get_default_display"/>
6686+ <doc xml:space="preserve"
6687+ filename="gdk/gdkdisplaymanager.c"
6688+ line="151">The default display.</doc>
6689+ <type name="Display"/>
6690+ </property>
6691+ <glib:signal name="display-opened" when="last">
6692+ <doc xml:space="preserve"
6693+ filename="gdk/gdkdisplaymanager.c"
6694+ line="133">Emitted when a display is opened.</doc>
6695+ <return-value transfer-ownership="none">
6696+ <type name="none" c:type="void"/>
6697+ </return-value>
6698+ <parameters>
6699+ <parameter name="display" transfer-ownership="none">
6700+ <doc xml:space="preserve"
6701+ filename="gdk/gdkdisplaymanager.c"
6702+ line="136">the opened display</doc>
6703+ <type name="Display"/>
6704+ </parameter>
6705+ </parameters>
6706+ </glib:signal>
6707+ </class>
6708+ <class name="Drag"
6709+ c:symbol-prefix="drag"
6710+ c:type="GdkDrag"
6711+ parent="GObject.Object"
6712+ abstract="1"
6713+ glib:type-name="GdkDrag"
6714+ glib:get-type="gdk_drag_get_type">
6715+ <doc xml:space="preserve"
6716+ filename="gdk/gdkdrag.c"
6717+ line="25">The `GdkDrag` object represents the source of an ongoing DND operation.
6718+
6719+A `GdkDrag` is created when a drag is started, and stays alive for duration of
6720+the DND operation. After a drag has been started with [func@Gdk.Drag.begin],
6721+the caller gets informed about the status of the ongoing drag operation
6722+with signals on the `GdkDrag` object.
6723+
6724+GTK provides a higher level abstraction based on top of these functions,
6725+and so they are not normally needed in GTK applications. See the
6726+"Drag and Drop" section of the GTK documentation for more information.</doc>
6727+ <function name="begin" c:identifier="gdk_drag_begin">
6728+ <doc xml:space="preserve"
6729+ filename="gdk/gdksurface.c"
6730+ line="2391">Starts a drag and creates a new drag context for it.
6731+
6732+This function is called by the drag source. After this call, you
6733+probably want to set up the drag icon using the surface returned
6734+by [method@Gdk.Drag.get_drag_surface].
6735+
6736+This function returns a reference to the [class@Gdk.Drag] object,
6737+but GTK keeps its own reference as well, as long as the DND operation
6738+is going on.
6739+
6740+Note: if @actions include %GDK_ACTION_MOVE, you need to listen for
6741+the [signal@Gdk.Drag::dnd-finished] signal and delete the data at
6742+the source if [method@Gdk.Drag.get_selected_action] returns
6743+%GDK_ACTION_MOVE.</doc>
6744+ <source-position filename="gdk/gdkdrag.h" line="76"/>
6745+ <return-value transfer-ownership="full" nullable="1">
6746+ <doc xml:space="preserve"
6747+ filename="gdk/gdksurface.c"
6748+ line="2415">a newly created `GdkDrag`</doc>
6749+ <type name="Drag" c:type="GdkDrag*"/>
6750+ </return-value>
6751+ <parameters>
6752+ <parameter name="surface" transfer-ownership="none">
6753+ <doc xml:space="preserve"
6754+ filename="gdk/gdksurface.c"
6755+ line="2393">the source surface for this drag</doc>
6756+ <type name="Surface" c:type="GdkSurface*"/>
6757+ </parameter>
6758+ <parameter name="device" transfer-ownership="none">
6759+ <doc xml:space="preserve"
6760+ filename="gdk/gdksurface.c"
6761+ line="2394">the device that controls this drag</doc>
6762+ <type name="Device" c:type="GdkDevice*"/>
6763+ </parameter>
6764+ <parameter name="content" transfer-ownership="none">
6765+ <doc xml:space="preserve"
6766+ filename="gdk/gdksurface.c"
6767+ line="2395">the offered content</doc>
6768+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
6769+ </parameter>
6770+ <parameter name="actions" transfer-ownership="none">
6771+ <doc xml:space="preserve"
6772+ filename="gdk/gdksurface.c"
6773+ line="2396">the actions supported by this drag</doc>
6774+ <type name="DragAction" c:type="GdkDragAction"/>
6775+ </parameter>
6776+ <parameter name="dx" transfer-ownership="none">
6777+ <doc xml:space="preserve"
6778+ filename="gdk/gdksurface.c"
6779+ line="2397">the x offset to @device's position where the drag nominally started</doc>
6780+ <type name="gdouble" c:type="double"/>
6781+ </parameter>
6782+ <parameter name="dy" transfer-ownership="none">
6783+ <doc xml:space="preserve"
6784+ filename="gdk/gdksurface.c"
6785+ line="2398">the y offset to @device's position where the drag nominally started</doc>
6786+ <type name="gdouble" c:type="double"/>
6787+ </parameter>
6788+ </parameters>
6789+ </function>
6790+ <method name="drop_done" c:identifier="gdk_drag_drop_done">
6791+ <doc xml:space="preserve"
6792+ filename="gdk/gdkdrag.c"
6793+ line="716">Informs GDK that the drop ended.
6794+
6795+Passing %FALSE for @success may trigger a drag cancellation
6796+animation.
6797+
6798+This function is called by the drag source, and should be the
6799+last call before dropping the reference to the @drag.
6800+
6801+The `GdkDrag` will only take the first [method@Gdk.Drag.drop_done]
6802+call as effective, if this function is called multiple times,
6803+all subsequent calls will be ignored.</doc>
6804+ <source-position filename="gdk/gdkdrag.h" line="84"/>
6805+ <return-value transfer-ownership="none">
6806+ <type name="none" c:type="void"/>
6807+ </return-value>
6808+ <parameters>
6809+ <instance-parameter name="drag" transfer-ownership="none">
6810+ <doc xml:space="preserve"
6811+ filename="gdk/gdkdrag.c"
6812+ line="718">a `GdkDrag`</doc>
6813+ <type name="Drag" c:type="GdkDrag*"/>
6814+ </instance-parameter>
6815+ <parameter name="success" transfer-ownership="none">
6816+ <doc xml:space="preserve"
6817+ filename="gdk/gdkdrag.c"
6818+ line="719">whether the drag was ultimatively successful</doc>
6819+ <type name="gboolean" c:type="gboolean"/>
6820+ </parameter>
6821+ </parameters>
6822+ </method>
6823+ <method name="get_actions"
6824+ c:identifier="gdk_drag_get_actions"
6825+ glib:get-property="actions">
6826+ <attribute name="org.gtk.Method.get_property" value="actions"/>
6827+ <doc xml:space="preserve"
6828+ filename="gdk/gdkdrag.c"
6829+ line="142">Determines the bitmask of possible actions proposed by the source.</doc>
6830+ <source-position filename="gdk/gdkdrag.h" line="68"/>
6831+ <return-value transfer-ownership="none">
6832+ <doc xml:space="preserve"
6833+ filename="gdk/gdkdrag.c"
6834+ line="148">the `GdkDragAction` flags</doc>
6835+ <type name="DragAction" c:type="GdkDragAction"/>
6836+ </return-value>
6837+ <parameters>
6838+ <instance-parameter name="drag" transfer-ownership="none">
6839+ <doc xml:space="preserve"
6840+ filename="gdk/gdkdrag.c"
6841+ line="144">a `GdkDrag`</doc>
6842+ <type name="Drag" c:type="GdkDrag*"/>
6843+ </instance-parameter>
6844+ </parameters>
6845+ </method>
6846+ <method name="get_content"
6847+ c:identifier="gdk_drag_get_content"
6848+ glib:get-property="content">
6849+ <attribute name="org.gtk.Method.get_property" value="content"/>
6850+ <doc xml:space="preserve"
6851+ filename="gdk/gdkdrag.c"
6852+ line="196">Returns the `GdkContentProvider` associated to the `GdkDrag` object.</doc>
6853+ <source-position filename="gdk/gdkdrag.h" line="97"/>
6854+ <return-value transfer-ownership="none">
6855+ <doc xml:space="preserve"
6856+ filename="gdk/gdkdrag.c"
6857+ line="202">The `GdkContentProvider` associated to @drag.</doc>
6858+ <type name="ContentProvider" c:type="GdkContentProvider*"/>
6859+ </return-value>
6860+ <parameters>
6861+ <instance-parameter name="drag" transfer-ownership="none">
6862+ <doc xml:space="preserve"
6863+ filename="gdk/gdkdrag.c"
6864+ line="198">a `GdkDrag`</doc>
6865+ <type name="Drag" c:type="GdkDrag*"/>
6866+ </instance-parameter>
6867+ </parameters>
6868+ </method>
6869+ <method name="get_device"
6870+ c:identifier="gdk_drag_get_device"
6871+ glib:get-property="device">
6872+ <attribute name="org.gtk.Method.get_property" value="device"/>
6873+ <doc xml:space="preserve"
6874+ filename="gdk/gdkdrag.c"
6875+ line="178">Returns the `GdkDevice` associated to the `GdkDrag` object.</doc>
6876+ <source-position filename="gdk/gdkdrag.h" line="63"/>
6877+ <return-value transfer-ownership="none">
6878+ <doc xml:space="preserve"
6879+ filename="gdk/gdkdrag.c"
6880+ line="184">The `GdkDevice` associated to @drag.</doc>
6881+ <type name="Device" c:type="GdkDevice*"/>
6882+ </return-value>
6883+ <parameters>
6884+ <instance-parameter name="drag" transfer-ownership="none">
6885+ <doc xml:space="preserve"
6886+ filename="gdk/gdkdrag.c"
6887+ line="180">a `GdkDrag`</doc>
6888+ <type name="Drag" c:type="GdkDrag*"/>
6889+ </instance-parameter>
6890+ </parameters>
6891+ </method>
6892+ <method name="get_display"
6893+ c:identifier="gdk_drag_get_display"
6894+ glib:get-property="display">
6895+ <attribute name="org.gtk.Method.get_property" value="display"/>
6896+ <doc xml:space="preserve"
6897+ filename="gdk/gdkdrag.c"
6898+ line="106">Gets the `GdkDisplay` that the drag object was created for.</doc>
6899+ <source-position filename="gdk/gdkdrag.h" line="61"/>
6900+ <return-value transfer-ownership="none">
6901+ <doc xml:space="preserve"
6902+ filename="gdk/gdkdrag.c"
6903+ line="112">a `GdkDisplay`</doc>
6904+ <type name="Display" c:type="GdkDisplay*"/>
6905+ </return-value>
6906+ <parameters>
6907+ <instance-parameter name="drag" transfer-ownership="none">
6908+ <doc xml:space="preserve"
6909+ filename="gdk/gdkdrag.c"
6910+ line="108">a `GdkDrag`</doc>
6911+ <type name="Drag" c:type="GdkDrag*"/>
6912+ </instance-parameter>
6913+ </parameters>
6914+ </method>
6915+ <method name="get_drag_surface" c:identifier="gdk_drag_get_drag_surface">
6916+ <doc xml:space="preserve"
6917+ filename="gdk/gdkdrag.c"
6918+ line="669">Returns the surface on which the drag icon should be rendered
6919+during the drag operation.
6920+
6921+Note that the surface may not be available until the drag operation
6922+has begun. GDK will move the surface in accordance with the ongoing
6923+drag operation. The surface is owned by @drag and will be destroyed
6924+when the drag operation is over.</doc>
6925+ <source-position filename="gdk/gdkdrag.h" line="88"/>
6926+ <return-value transfer-ownership="none" nullable="1">
6927+ <doc xml:space="preserve"
6928+ filename="gdk/gdkdrag.c"
6929+ line="681">the drag surface</doc>
6930+ <type name="Surface" c:type="GdkSurface*"/>
6931+ </return-value>
6932+ <parameters>
6933+ <instance-parameter name="drag" transfer-ownership="none">
6934+ <doc xml:space="preserve"
6935+ filename="gdk/gdkdrag.c"
6936+ line="671">a `GdkDrag`</doc>
6937+ <type name="Drag" c:type="GdkDrag*"/>
6938+ </instance-parameter>
6939+ </parameters>
6940+ </method>
6941+ <method name="get_formats"
6942+ c:identifier="gdk_drag_get_formats"
6943+ glib:get-property="formats">
6944+ <attribute name="org.gtk.Method.get_property" value="formats"/>
6945+ <doc xml:space="preserve"
6946+ filename="gdk/gdkdrag.c"
6947+ line="124">Retrieves the formats supported by this `GdkDrag` object.</doc>
6948+ <source-position filename="gdk/gdkdrag.h" line="66"/>
6949+ <return-value transfer-ownership="none">
6950+ <doc xml:space="preserve"
6951+ filename="gdk/gdkdrag.c"
6952+ line="130">a `GdkContentFormats`</doc>
6953+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
6954+ </return-value>
6955+ <parameters>
6956+ <instance-parameter name="drag" transfer-ownership="none">
6957+ <doc xml:space="preserve"
6958+ filename="gdk/gdkdrag.c"
6959+ line="126">a `GdkDrag`</doc>
6960+ <type name="Drag" c:type="GdkDrag*"/>
6961+ </instance-parameter>
6962+ </parameters>
6963+ </method>
6964+ <method name="get_selected_action"
6965+ c:identifier="gdk_drag_get_selected_action"
6966+ glib:get-property="selected-action">
6967+ <attribute name="org.gtk.Method.get_property" value="selected-action"/>
6968+ <doc xml:space="preserve"
6969+ filename="gdk/gdkdrag.c"
6970+ line="160">Determines the action chosen by the drag destination.</doc>
6971+ <source-position filename="gdk/gdkdrag.h" line="70"/>
6972+ <return-value transfer-ownership="none">
6973+ <doc xml:space="preserve"
6974+ filename="gdk/gdkdrag.c"
6975+ line="166">a `GdkDragAction` value</doc>
6976+ <type name="DragAction" c:type="GdkDragAction"/>
6977+ </return-value>
6978+ <parameters>
6979+ <instance-parameter name="drag" transfer-ownership="none">
6980+ <doc xml:space="preserve"
6981+ filename="gdk/gdkdrag.c"
6982+ line="162">a `GdkDrag`</doc>
6983+ <type name="Drag" c:type="GdkDrag*"/>
6984+ </instance-parameter>
6985+ </parameters>
6986+ </method>
6987+ <method name="get_surface"
6988+ c:identifier="gdk_drag_get_surface"
6989+ glib:get-property="surface">
6990+ <attribute name="org.gtk.Method.get_property" value="surface"/>
6991+ <doc xml:space="preserve"
6992+ filename="gdk/gdkdrag.c"
6993+ line="214">Returns the `GdkSurface` where the drag originates.</doc>
6994+ <source-position filename="gdk/gdkdrag.h" line="100"/>
6995+ <return-value transfer-ownership="none">
6996+ <doc xml:space="preserve"
6997+ filename="gdk/gdkdrag.c"
6998+ line="220">The `GdkSurface` where the drag originates</doc>
6999+ <type name="Surface" c:type="GdkSurface*"/>
7000+ </return-value>
7001+ <parameters>
7002+ <instance-parameter name="drag" transfer-ownership="none">
7003+ <doc xml:space="preserve"
7004+ filename="gdk/gdkdrag.c"
7005+ line="216">a `GdkDrag`</doc>
7006+ <type name="Drag" c:type="GdkDrag*"/>
7007+ </instance-parameter>
7008+ </parameters>
7009+ </method>
7010+ <method name="set_hotspot" c:identifier="gdk_drag_set_hotspot">
7011+ <doc xml:space="preserve"
7012+ filename="gdk/gdkdrag.c"
7013+ line="694">Sets the position of the drag surface that will be kept
7014+under the cursor hotspot.
7015+
7016+Initially, the hotspot is at the top left corner of the drag surface.</doc>
7017+ <source-position filename="gdk/gdkdrag.h" line="91"/>
7018+ <return-value transfer-ownership="none">
7019+ <type name="none" c:type="void"/>
7020+ </return-value>
7021+ <parameters>
7022+ <instance-parameter name="drag" transfer-ownership="none">
7023+ <doc xml:space="preserve"
7024+ filename="gdk/gdkdrag.c"
7025+ line="696">a `GdkDrag`</doc>
7026+ <type name="Drag" c:type="GdkDrag*"/>
7027+ </instance-parameter>
7028+ <parameter name="hot_x" transfer-ownership="none">
7029+ <doc xml:space="preserve"
7030+ filename="gdk/gdkdrag.c"
7031+ line="697">x coordinate of the drag surface hotspot</doc>
7032+ <type name="gint" c:type="int"/>
7033+ </parameter>
7034+ <parameter name="hot_y" transfer-ownership="none">
7035+ <doc xml:space="preserve"
7036+ filename="gdk/gdkdrag.c"
7037+ line="698">y coordinate of the drag surface hotspot</doc>
7038+ <type name="gint" c:type="int"/>
7039+ </parameter>
7040+ </parameters>
7041+ </method>
7042+ <property name="actions"
7043+ writable="1"
7044+ transfer-ownership="none"
7045+ getter="get_actions">
7046+ <attribute name="org.gtk.Property.get" value="gdk_drag_get_actions"/>
7047+ <doc xml:space="preserve"
7048+ filename="gdk/gdkdrag.c"
7049+ line="440">The possible actions of this drag.</doc>
7050+ <type name="DragAction"/>
7051+ </property>
7052+ <property name="content"
7053+ writable="1"
7054+ construct-only="1"
7055+ transfer-ownership="none"
7056+ getter="get_content">
7057+ <attribute name="org.gtk.Property.get" value="gdk_drag_get_content"/>
7058+ <doc xml:space="preserve"
7059+ filename="gdk/gdkdrag.c"
7060+ line="376">The `GdkContentProvider`.</doc>
7061+ <type name="ContentProvider"/>
7062+ </property>
7063+ <property name="device"
7064+ writable="1"
7065+ construct-only="1"
7066+ transfer-ownership="none"
7067+ getter="get_device">
7068+ <attribute name="org.gtk.Property.get" value="gdk_drag_get_device"/>
7069+ <doc xml:space="preserve"
7070+ filename="gdk/gdkdrag.c"
7071+ line="389">The `GdkDevice` that is performing the drag.</doc>
7072+ <type name="Device"/>
7073+ </property>
7074+ <property name="display" transfer-ownership="none" getter="get_display">
7075+ <attribute name="org.gtk.Property.get" value="gdk_drag_get_display"/>
7076+ <doc xml:space="preserve"
7077+ filename="gdk/gdkdrag.c"
7078+ line="402">The `GdkDisplay` that the drag belongs to.</doc>
7079+ <type name="Display"/>
7080+ </property>
7081+ <property name="formats"
7082+ writable="1"
7083+ construct-only="1"
7084+ transfer-ownership="none"
7085+ getter="get_formats">
7086+ <attribute name="org.gtk.Property.get" value="gdk_drag_get_formats"/>
7087+ <doc xml:space="preserve"
7088+ filename="gdk/gdkdrag.c"
7089+ line="414">The possible formats that the drag can provide its data in.</doc>
7090+ <type name="ContentFormats"/>
7091+ </property>
7092+ <property name="selected-action"
7093+ writable="1"
7094+ transfer-ownership="none"
7095+ getter="get_selected_action">
7096+ <attribute name="org.gtk.Property.get"
7097+ value="gdk_drag_get_selected_action"/>
7098+ <doc xml:space="preserve"
7099+ filename="gdk/gdkdrag.c"
7100+ line="427">The currently selected action of the drag.</doc>
7101+ <type name="DragAction"/>
7102+ </property>
7103+ <property name="surface"
7104+ writable="1"
7105+ construct-only="1"
7106+ transfer-ownership="none"
7107+ getter="get_surface">
7108+ <attribute name="org.gtk.Property.get" value="gdk_drag_get_surface"/>
7109+ <doc xml:space="preserve"
7110+ filename="gdk/gdkdrag.c"
7111+ line="453">The surface where the drag originates.</doc>
7112+ <type name="Surface"/>
7113+ </property>
7114+ <glib:signal name="cancel" when="last">
7115+ <doc xml:space="preserve"
7116+ filename="gdk/gdkdrag.c"
7117+ line="466">Emitted when the drag operation is cancelled.</doc>
7118+ <return-value transfer-ownership="none">
7119+ <type name="none" c:type="void"/>
7120+ </return-value>
7121+ <parameters>
7122+ <parameter name="reason" transfer-ownership="none">
7123+ <doc xml:space="preserve"
7124+ filename="gdk/gdkdrag.c"
7125+ line="469">The reason the drag was cancelled</doc>
7126+ <type name="DragCancelReason"/>
7127+ </parameter>
7128+ </parameters>
7129+ </glib:signal>
7130+ <glib:signal name="dnd-finished" when="last">
7131+ <doc xml:space="preserve"
7132+ filename="gdk/gdkdrag.c"
7133+ line="497">Emitted when the destination side has finished reading all data.
7134+
7135+The drag object can now free all miscellaneous data.</doc>
7136+ <return-value transfer-ownership="none">
7137+ <type name="none" c:type="void"/>
7138+ </return-value>
7139+ </glib:signal>
7140+ <glib:signal name="drop-performed" when="last">
7141+ <doc xml:space="preserve"
7142+ filename="gdk/gdkdrag.c"
7143+ line="482">Emitted when the drop operation is performed on an accepting client.</doc>
7144+ <return-value transfer-ownership="none">
7145+ <type name="none" c:type="void"/>
7146+ </return-value>
7147+ </glib:signal>
7148+ </class>
7149+ <bitfield name="DragAction"
7150+ glib:type-name="GdkDragAction"
7151+ glib:get-type="gdk_drag_action_get_type"
7152+ c:type="GdkDragAction">
7153+ <doc xml:space="preserve"
7154+ filename="gdk/gdkenums.h"
7155+ line="231">Used in `GdkDrop` and `GdkDrag` to indicate the actions that the
7156+destination can and should do with the dropped data.</doc>
7157+ <member name="copy"
7158+ value="1"
7159+ c:identifier="GDK_ACTION_COPY"
7160+ glib:nick="copy"
7161+ glib:name="GDK_ACTION_COPY">
7162+ <doc xml:space="preserve"
7163+ filename="gdk/gdkenums.h"
7164+ line="233">Copy the data.</doc>
7165+ </member>
7166+ <member name="move"
7167+ value="2"
7168+ c:identifier="GDK_ACTION_MOVE"
7169+ glib:nick="move"
7170+ glib:name="GDK_ACTION_MOVE">
7171+ <doc xml:space="preserve"
7172+ filename="gdk/gdkenums.h"
7173+ line="234">Move the data, i.e. first copy it, then delete
7174+ it from the source using the DELETE target of the X selection protocol.</doc>
7175+ </member>
7176+ <member name="link"
7177+ value="4"
7178+ c:identifier="GDK_ACTION_LINK"
7179+ glib:nick="link"
7180+ glib:name="GDK_ACTION_LINK">
7181+ <doc xml:space="preserve"
7182+ filename="gdk/gdkenums.h"
7183+ line="236">Add a link to the data. Note that this is only
7184+ useful if source and destination agree on what it means, and is not
7185+ supported on all platforms.</doc>
7186+ </member>
7187+ <member name="ask"
7188+ value="8"
7189+ c:identifier="GDK_ACTION_ASK"
7190+ glib:nick="ask"
7191+ glib:name="GDK_ACTION_ASK">
7192+ <doc xml:space="preserve"
7193+ filename="gdk/gdkenums.h"
7194+ line="239">Ask the user what to do with the data.</doc>
7195+ </member>
7196+ <function name="is_unique" c:identifier="gdk_drag_action_is_unique">
7197+ <doc xml:space="preserve"
7198+ filename="gdk/gdkdrag.c"
7199+ line="805">Checks if @action represents a single action or includes
7200+multiple actions.
7201+
7202+When @action is 0 - ie no action was given, %TRUE
7203+is returned.</doc>
7204+ <source-position filename="gdk/gdkdrag.h" line="73"/>
7205+ <return-value transfer-ownership="none">
7206+ <doc xml:space="preserve"
7207+ filename="gdk/gdkdrag.c"
7208+ line="815">%TRUE if exactly one action was given</doc>
7209+ <type name="gboolean" c:type="gboolean"/>
7210+ </return-value>
7211+ <parameters>
7212+ <parameter name="action" transfer-ownership="none">
7213+ <doc xml:space="preserve"
7214+ filename="gdk/gdkdrag.c"
7215+ line="807">a `GdkDragAction`</doc>
7216+ <type name="DragAction" c:type="GdkDragAction"/>
7217+ </parameter>
7218+ </parameters>
7219+ </function>
7220+ </bitfield>
7221+ <enumeration name="DragCancelReason"
7222+ glib:type-name="GdkDragCancelReason"
7223+ glib:get-type="gdk_drag_cancel_reason_get_type"
7224+ c:type="GdkDragCancelReason">
7225+ <doc xml:space="preserve"
7226+ filename="gdk/gdkdrag.h"
7227+ line="43">Used in `GdkDrag` to the reason of a cancelled DND operation.</doc>
7228+ <member name="no_target"
7229+ value="0"
7230+ c:identifier="GDK_DRAG_CANCEL_NO_TARGET"
7231+ glib:nick="no-target"
7232+ glib:name="GDK_DRAG_CANCEL_NO_TARGET">
7233+ <doc xml:space="preserve"
7234+ filename="gdk/gdkdrag.h"
7235+ line="45">There is no suitable drop target.</doc>
7236+ </member>
7237+ <member name="user_cancelled"
7238+ value="1"
7239+ c:identifier="GDK_DRAG_CANCEL_USER_CANCELLED"
7240+ glib:nick="user-cancelled"
7241+ glib:name="GDK_DRAG_CANCEL_USER_CANCELLED">
7242+ <doc xml:space="preserve"
7243+ filename="gdk/gdkdrag.h"
7244+ line="46">Drag cancelled by the user</doc>
7245+ </member>
7246+ <member name="error"
7247+ value="2"
7248+ c:identifier="GDK_DRAG_CANCEL_ERROR"
7249+ glib:nick="error"
7250+ glib:name="GDK_DRAG_CANCEL_ERROR">
7251+ <doc xml:space="preserve"
7252+ filename="gdk/gdkdrag.h"
7253+ line="47">Unspecified error.</doc>
7254+ </member>
7255+ </enumeration>
7256+ <interface name="DragSurface"
7257+ c:symbol-prefix="drag_surface"
7258+ c:type="GdkDragSurface"
7259+ glib:type-name="GdkDragSurface"
7260+ glib:get-type="gdk_drag_surface_get_type"
7261+ glib:type-struct="DragSurfaceInterface">
7262+ <doc xml:space="preserve"
7263+ filename="gdk/gdkdragsurface.c"
7264+ line="26">A `GdkDragSurface` is an interface for surfaces used during DND.</doc>
7265+ <source-position filename="gdk/gdkdragsurface.h" line="34"/>
7266+ <prerequisite name="Surface"/>
7267+ <method name="present" c:identifier="gdk_drag_surface_present">
7268+ <doc xml:space="preserve"
7269+ filename="gdk/gdkdragsurface.c"
7270+ line="54">Present @drag_surface.</doc>
7271+ <source-position filename="gdk/gdkdragsurface.h" line="37"/>
7272+ <return-value transfer-ownership="none">
7273+ <doc xml:space="preserve"
7274+ filename="gdk/gdkdragsurface.c"
7275+ line="62">%FALSE if it failed to be presented, otherwise %TRUE.</doc>
7276+ <type name="gboolean" c:type="gboolean"/>
7277+ </return-value>
7278+ <parameters>
7279+ <instance-parameter name="drag_surface" transfer-ownership="none">
7280+ <doc xml:space="preserve"
7281+ filename="gdk/gdkdragsurface.c"
7282+ line="56">the `GdkDragSurface` to show</doc>
7283+ <type name="DragSurface" c:type="GdkDragSurface*"/>
7284+ </instance-parameter>
7285+ <parameter name="width" transfer-ownership="none">
7286+ <doc xml:space="preserve"
7287+ filename="gdk/gdkdragsurface.c"
7288+ line="57">the unconstrained drag_surface width to layout</doc>
7289+ <type name="gint" c:type="int"/>
7290+ </parameter>
7291+ <parameter name="height" transfer-ownership="none">
7292+ <doc xml:space="preserve"
7293+ filename="gdk/gdkdragsurface.c"
7294+ line="58">the unconstrained drag_surface height to layout</doc>
7295+ <type name="gint" c:type="int"/>
7296+ </parameter>
7297+ </parameters>
7298+ </method>
7299+ </interface>
7300+ <record name="DragSurfaceInterface"
7301+ c:type="GdkDragSurfaceInterface"
7302+ disguised="1"
7303+ glib:is-gtype-struct-for="DragSurface">
7304+ <doc xml:space="preserve"
7305+ filename="gdk/gdkdragsurface.c"
7306+ line="32">The `GdkDragSurfaceInterface` implementation is private to GDK.</doc>
7307+ <source-position filename="gdk/gdkdragsurface.h" line="34"/>
7308+ </record>
7309+ <class name="DrawContext"
7310+ c:symbol-prefix="draw_context"
7311+ c:type="GdkDrawContext"
7312+ parent="GObject.Object"
7313+ abstract="1"
7314+ glib:type-name="GdkDrawContext"
7315+ glib:get-type="gdk_draw_context_get_type">
7316+ <doc xml:space="preserve"
7317+ filename="gdk/gdkdrawcontext.c"
7318+ line="30">Base class for objects implementing different rendering methods.
7319+
7320+`GdkDrawContext` is the base object used by contexts implementing different
7321+rendering methods, such as [class@Gdk.CairoContext] or [class@Gdk.GLContext].
7322+It provides shared functionality between those contexts.
7323+
7324+You will always interact with one of those subclasses.
7325+
7326+A `GdkDrawContext` is always associated with a single toplevel surface.</doc>
7327+ <method name="begin_frame" c:identifier="gdk_draw_context_begin_frame">
7328+ <doc xml:space="preserve"
7329+ filename="gdk/gdkdrawcontext.c"
7330+ line="273">Indicates that you are beginning the process of redrawing @region
7331+on the @context's surface.
7332+
7333+Calling this function begins a drawing operation using @context on the
7334+surface that @context was created from. The actual requirements and
7335+guarantees for the drawing operation vary for different implementations
7336+of drawing, so a [class@Gdk.CairoContext] and a [class@Gdk.GLContext]
7337+need to be treated differently.
7338+
7339+A call to this function is a requirement for drawing and must be
7340+followed by a call to [method@Gdk.DrawContext.end_frame], which will
7341+complete the drawing operation and ensure the contents become visible
7342+on screen.
7343+
7344+Note that the @region passed to this function is the minimum region that
7345+needs to be drawn and depending on implementation, windowing system and
7346+hardware in use, it might be necessary to draw a larger region. Drawing
7347+implementation must use [method@Gdk.DrawContext.get_frame_region] to
7348+query the region that must be drawn.
7349+
7350+When using GTK, the widget system automatically places calls to
7351+gdk_draw_context_begin_frame() and gdk_draw_context_end_frame() via the
7352+use of [class@Gsk.Renderer]s, so application code does not need to call
7353+these functions explicitly.</doc>
7354+ <source-position filename="gdk/gdkdrawcontext.h" line="46"/>
7355+ <return-value transfer-ownership="none">
7356+ <type name="none" c:type="void"/>
7357+ </return-value>
7358+ <parameters>
7359+ <instance-parameter name="context" transfer-ownership="none">
7360+ <doc xml:space="preserve"
7361+ filename="gdk/gdkdrawcontext.c"
7362+ line="275">the `GdkDrawContext` used to draw the frame. The context must
7363+ have a surface.</doc>
7364+ <type name="DrawContext" c:type="GdkDrawContext*"/>
7365+ </instance-parameter>
7366+ <parameter name="region" transfer-ownership="none">
7367+ <doc xml:space="preserve"
7368+ filename="gdk/gdkdrawcontext.c"
7369+ line="277">minimum region that should be drawn</doc>
7370+ <type name="cairo.Region" c:type="const cairo_region_t*"/>
7371+ </parameter>
7372+ </parameters>
7373+ </method>
7374+ <method name="end_frame" c:identifier="gdk_draw_context_end_frame">
7375+ <doc xml:space="preserve"
7376+ filename="gdk/gdkdrawcontext.c"
7377+ line="395">Ends a drawing operation started with gdk_draw_context_begin_frame().
7378+
7379+This makes the drawing available on screen.
7380+See [method@Gdk.DrawContext.begin_frame] for more details about drawing.
7381+
7382+When using a [class@Gdk.GLContext], this function may call `glFlush()`
7383+implicitly before returning; it is not recommended to call `glFlush()`
7384+explicitly before calling this function.</doc>
7385+ <source-position filename="gdk/gdkdrawcontext.h" line="49"/>
7386+ <return-value transfer-ownership="none">
7387+ <type name="none" c:type="void"/>
7388+ </return-value>
7389+ <parameters>
7390+ <instance-parameter name="context" transfer-ownership="none">
7391+ <doc xml:space="preserve"
7392+ filename="gdk/gdkdrawcontext.c"
7393+ line="397">a `GdkDrawContext`</doc>
7394+ <type name="DrawContext" c:type="GdkDrawContext*"/>
7395+ </instance-parameter>
7396+ </parameters>
7397+ </method>
7398+ <method name="get_display"
7399+ c:identifier="gdk_draw_context_get_display"
7400+ glib:get-property="display">
7401+ <attribute name="org.gtk.Method.get_property" value="display"/>
7402+ <doc xml:space="preserve"
7403+ filename="gdk/gdkdrawcontext.c"
7404+ line="237">Retrieves the `GdkDisplay` the @context is created for</doc>
7405+ <source-position filename="gdk/gdkdrawcontext.h" line="41"/>
7406+ <return-value transfer-ownership="none" nullable="1">
7407+ <doc xml:space="preserve"
7408+ filename="gdk/gdkdrawcontext.c"
7409+ line="243">the `GdkDisplay`</doc>
7410+ <type name="Display" c:type="GdkDisplay*"/>
7411+ </return-value>
7412+ <parameters>
7413+ <instance-parameter name="context" transfer-ownership="none">
7414+ <doc xml:space="preserve"
7415+ filename="gdk/gdkdrawcontext.c"
7416+ line="239">a `GdkDrawContext`</doc>
7417+ <type name="DrawContext" c:type="GdkDrawContext*"/>
7418+ </instance-parameter>
7419+ </parameters>
7420+ </method>
7421+ <method name="get_frame_region"
7422+ c:identifier="gdk_draw_context_get_frame_region">
7423+ <doc xml:space="preserve"
7424+ filename="gdk/gdkdrawcontext.c"
7425+ line="442">Retrieves the region that is currently being repainted.
7426+
7427+After a call to [method@Gdk.DrawContext.begin_frame] this function will
7428+return a union of the region passed to that function and the area of the
7429+surface that the @context determined needs to be repainted.
7430+
7431+If @context is not in between calls to [method@Gdk.DrawContext.begin_frame]
7432+and [method@Gdk.DrawContext.end_frame], %NULL will be returned.</doc>
7433+ <source-position filename="gdk/gdkdrawcontext.h" line="53"/>
7434+ <return-value transfer-ownership="none" nullable="1">
7435+ <doc xml:space="preserve"
7436+ filename="gdk/gdkdrawcontext.c"
7437+ line="455">a Cairo region</doc>
7438+ <type name="cairo.Region" c:type="const cairo_region_t*"/>
7439+ </return-value>
7440+ <parameters>
7441+ <instance-parameter name="context" transfer-ownership="none">
7442+ <doc xml:space="preserve"
7443+ filename="gdk/gdkdrawcontext.c"
7444+ line="444">a `GdkDrawContext`</doc>
7445+ <type name="DrawContext" c:type="GdkDrawContext*"/>
7446+ </instance-parameter>
7447+ </parameters>
7448+ </method>
7449+ <method name="get_surface"
7450+ c:identifier="gdk_draw_context_get_surface"
7451+ glib:get-property="surface">
7452+ <attribute name="org.gtk.Method.get_property" value="surface"/>
7453+ <doc xml:space="preserve"
7454+ filename="gdk/gdkdrawcontext.c"
7455+ line="255">Retrieves the surface that @context is bound to.</doc>
7456+ <source-position filename="gdk/gdkdrawcontext.h" line="43"/>
7457+ <return-value transfer-ownership="none" nullable="1">
7458+ <doc xml:space="preserve"
7459+ filename="gdk/gdkdrawcontext.c"
7460+ line="261">a `GdkSurface`</doc>
7461+ <type name="Surface" c:type="GdkSurface*"/>
7462+ </return-value>
7463+ <parameters>
7464+ <instance-parameter name="context" transfer-ownership="none">
7465+ <doc xml:space="preserve"
7466+ filename="gdk/gdkdrawcontext.c"
7467+ line="257">a `GdkDrawContext`</doc>
7468+ <type name="DrawContext" c:type="GdkDrawContext*"/>
7469+ </instance-parameter>
7470+ </parameters>
7471+ </method>
7472+ <method name="is_in_frame" c:identifier="gdk_draw_context_is_in_frame">
7473+ <doc xml:space="preserve"
7474+ filename="gdk/gdkdrawcontext.c"
7475+ line="201">Returns %TRUE if @context is in the process of drawing to its surface.
7476+
7477+This is the case between calls to [method@Gdk.DrawContext.begin_frame]
7478+and [method@Gdk.DrawContext.end_frame]. In this situation, drawing commands
7479+may be effecting the contents of the @context's surface.</doc>
7480+ <source-position filename="gdk/gdkdrawcontext.h" line="51"/>
7481+ <return-value transfer-ownership="none">
7482+ <doc xml:space="preserve"
7483+ filename="gdk/gdkdrawcontext.c"
7484+ line="211">%TRUE if the context is between [method@Gdk.DrawContext.begin_frame]
7485+ and [method@Gdk.DrawContext.end_frame] calls.</doc>
7486+ <type name="gboolean" c:type="gboolean"/>
7487+ </return-value>
7488+ <parameters>
7489+ <instance-parameter name="context" transfer-ownership="none">
7490+ <doc xml:space="preserve"
7491+ filename="gdk/gdkdrawcontext.c"
7492+ line="203">a `GdkDrawContext`</doc>
7493+ <type name="DrawContext" c:type="GdkDrawContext*"/>
7494+ </instance-parameter>
7495+ </parameters>
7496+ </method>
7497+ <property name="display"
7498+ writable="1"
7499+ construct-only="1"
7500+ transfer-ownership="none"
7501+ getter="get_display">
7502+ <attribute name="org.gtk.Property.get"
7503+ value="gdk_draw_context_get_display"/>
7504+ <doc xml:space="preserve"
7505+ filename="gdk/gdkdrawcontext.c"
7506+ line="165">The `GdkDisplay` used to create the `GdkDrawContext`.</doc>
7507+ <type name="Display"/>
7508+ </property>
7509+ <property name="surface"
7510+ writable="1"
7511+ construct-only="1"
7512+ transfer-ownership="none"
7513+ getter="get_surface">
7514+ <attribute name="org.gtk.Property.get"
7515+ value="gdk_draw_context_get_surface"/>
7516+ <doc xml:space="preserve"
7517+ filename="gdk/gdkdrawcontext.c"
7518+ line="177">The `GdkSurface` the context is bound to.</doc>
7519+ <type name="Surface"/>
7520+ </property>
7521+ </class>
7522+ <class name="Drop"
7523+ c:symbol-prefix="drop"
7524+ c:type="GdkDrop"
7525+ parent="GObject.Object"
7526+ abstract="1"
7527+ glib:type-name="GdkDrop"
7528+ glib:get-type="gdk_drop_get_type">
7529+ <doc xml:space="preserve"
7530+ filename="gdk/gdkdrop.c"
7531+ line="20">The `GdkDrop` object represents the target of an ongoing DND operation.
7532+
7533+Possible drop sites get informed about the status of the ongoing drag
7534+operation with events of type %GDK_DRAG_ENTER, %GDK_DRAG_LEAVE,
7535+%GDK_DRAG_MOTION and %GDK_DROP_START. The `GdkDrop` object can be obtained
7536+from these [class@Gdk.Event] types using [method@Gdk.DNDEvent.get_drop].
7537+
7538+The actual data transfer is initiated from the target side via an async
7539+read, using one of the `GdkDrop` methods for this purpose:
7540+[method@Gdk.Drop.read_async] or [method@Gdk.Drop.read_value_async].
7541+
7542+GTK provides a higher level abstraction based on top of these functions,
7543+and so they are not normally needed in GTK applications. See the
7544+"Drag and Drop" section of the GTK documentation for more information.</doc>
7545+ <method name="finish" c:identifier="gdk_drop_finish">
7546+ <doc xml:space="preserve"
7547+ filename="gdk/gdkdrop.c"
7548+ line="590">Ends the drag operation after a drop.
7549+
7550+The @action must be a single action selected from the actions
7551+available via [method@Gdk.Drop.get_actions].</doc>
7552+ <source-position filename="gdk/gdkdrop.h" line="59"/>
7553+ <return-value transfer-ownership="none">
7554+ <type name="none" c:type="void"/>
7555+ </return-value>
7556+ <parameters>
7557+ <instance-parameter name="self" transfer-ownership="none">
7558+ <doc xml:space="preserve"
7559+ filename="gdk/gdkdrop.c"
7560+ line="592">a `GdkDrop`</doc>
7561+ <type name="Drop" c:type="GdkDrop*"/>
7562+ </instance-parameter>
7563+ <parameter name="action" transfer-ownership="none">
7564+ <doc xml:space="preserve"
7565+ filename="gdk/gdkdrop.c"
7566+ line="593">the action performed by the destination or 0 if the drop failed</doc>
7567+ <type name="DragAction" c:type="GdkDragAction"/>
7568+ </parameter>
7569+ </parameters>
7570+ </method>
7571+ <method name="get_actions"
7572+ c:identifier="gdk_drop_get_actions"
7573+ glib:get-property="actions">
7574+ <attribute name="org.gtk.Method.get_property" value="actions"/>
7575+ <doc xml:space="preserve"
7576+ filename="gdk/gdkdrop.c"
7577+ line="481">Returns the possible actions for this `GdkDrop`.
7578+
7579+If this value contains multiple actions - i.e.
7580+[func@Gdk.DragAction.is_unique] returns %FALSE for the result -
7581+[method@Gdk.Drop.finish] must choose the action to use when
7582+accepting the drop. This will only happen if you passed
7583+%GDK_ACTION_ASK as one of the possible actions in
7584+[method@Gdk.Drop.status]. %GDK_ACTION_ASK itself will not
7585+be included in the actions returned by this function.
7586+
7587+This value may change over the lifetime of the [class@Gdk.Drop]
7588+both as a response to source side actions as well as to calls to
7589+[method@Gdk.Drop.status] or [method@Gdk.Drop.finish]. The source
7590+side will not change this value anymore once a drop has started.</doc>
7591+ <source-position filename="gdk/gdkdrop.h" line="50"/>
7592+ <return-value transfer-ownership="none">
7593+ <doc xml:space="preserve"
7594+ filename="gdk/gdkdrop.c"
7595+ line="500">The possible `GdkDragActions`</doc>
7596+ <type name="DragAction" c:type="GdkDragAction"/>
7597+ </return-value>
7598+ <parameters>
7599+ <instance-parameter name="self" transfer-ownership="none">
7600+ <doc xml:space="preserve"
7601+ filename="gdk/gdkdrop.c"
7602+ line="483">a `GdkDrop`</doc>
7603+ <type name="Drop" c:type="GdkDrop*"/>
7604+ </instance-parameter>
7605+ </parameters>
7606+ </method>
7607+ <method name="get_device"
7608+ c:identifier="gdk_drop_get_device"
7609+ glib:get-property="device">
7610+ <attribute name="org.gtk.Method.get_property" value="device"/>
7611+ <doc xml:space="preserve"
7612+ filename="gdk/gdkdrop.c"
7613+ line="426">Returns the `GdkDevice` performing the drop.</doc>
7614+ <source-position filename="gdk/gdkdrop.h" line="44"/>
7615+ <return-value transfer-ownership="none">
7616+ <doc xml:space="preserve"
7617+ filename="gdk/gdkdrop.c"
7618+ line="432">The `GdkDevice` performing the drop.</doc>
7619+ <type name="Device" c:type="GdkDevice*"/>
7620+ </return-value>
7621+ <parameters>
7622+ <instance-parameter name="self" transfer-ownership="none">
7623+ <doc xml:space="preserve"
7624+ filename="gdk/gdkdrop.c"
7625+ line="428">a `GdkDrop`</doc>
7626+ <type name="Drop" c:type="GdkDrop*"/>
7627+ </instance-parameter>
7628+ </parameters>
7629+ </method>
7630+ <method name="get_display"
7631+ c:identifier="gdk_drop_get_display"
7632+ glib:get-property="display">
7633+ <attribute name="org.gtk.Method.get_property" value="display"/>
7634+ <doc xml:space="preserve"
7635+ filename="gdk/gdkdrop.c"
7636+ line="408">Gets the `GdkDisplay` that @self was created for.</doc>
7637+ <source-position filename="gdk/gdkdrop.h" line="42"/>
7638+ <return-value transfer-ownership="none">
7639+ <doc xml:space="preserve"
7640+ filename="gdk/gdkdrop.c"
7641+ line="414">a `GdkDisplay`</doc>
7642+ <type name="Display" c:type="GdkDisplay*"/>
7643+ </return-value>
7644+ <parameters>
7645+ <instance-parameter name="self" transfer-ownership="none">
7646+ <doc xml:space="preserve"
7647+ filename="gdk/gdkdrop.c"
7648+ line="410">a `GdkDrop`</doc>
7649+ <type name="Drop" c:type="GdkDrop*"/>
7650+ </instance-parameter>
7651+ </parameters>
7652+ </method>
7653+ <method name="get_drag"
7654+ c:identifier="gdk_drop_get_drag"
7655+ glib:get-property="drag">
7656+ <attribute name="org.gtk.Method.get_property" value="drag"/>
7657+ <doc xml:space="preserve"
7658+ filename="gdk/gdkdrop.c"
7659+ line="530">If this is an in-app drag-and-drop operation, returns the `GdkDrag`
7660+that corresponds to this drop.
7661+
7662+If it is not, %NULL is returned.</doc>
7663+ <source-position filename="gdk/gdkdrop.h" line="52"/>
7664+ <return-value transfer-ownership="none" nullable="1">
7665+ <doc xml:space="preserve"
7666+ filename="gdk/gdkdrop.c"
7667+ line="539">the corresponding `GdkDrag`</doc>
7668+ <type name="Drag" c:type="GdkDrag*"/>
7669+ </return-value>
7670+ <parameters>
7671+ <instance-parameter name="self" transfer-ownership="none">
7672+ <doc xml:space="preserve"
7673+ filename="gdk/gdkdrop.c"
7674+ line="532">a `GdkDrop`</doc>
7675+ <type name="Drop" c:type="GdkDrop*"/>
7676+ </instance-parameter>
7677+ </parameters>
7678+ </method>
7679+ <method name="get_formats"
7680+ c:identifier="gdk_drop_get_formats"
7681+ glib:get-property="formats">
7682+ <attribute name="org.gtk.Method.get_property" value="formats"/>
7683+ <doc xml:space="preserve"
7684+ filename="gdk/gdkdrop.c"
7685+ line="444">Returns the `GdkContentFormats` that the drop offers the data
7686+to be read in.</doc>
7687+ <source-position filename="gdk/gdkdrop.h" line="48"/>
7688+ <return-value transfer-ownership="none">
7689+ <doc xml:space="preserve"
7690+ filename="gdk/gdkdrop.c"
7691+ line="451">The possible `GdkContentFormats`</doc>
7692+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
7693+ </return-value>
7694+ <parameters>
7695+ <instance-parameter name="self" transfer-ownership="none">
7696+ <doc xml:space="preserve"
7697+ filename="gdk/gdkdrop.c"
7698+ line="446">a `GdkDrop`</doc>
7699+ <type name="Drop" c:type="GdkDrop*"/>
7700+ </instance-parameter>
7701+ </parameters>
7702+ </method>
7703+ <method name="get_surface"
7704+ c:identifier="gdk_drop_get_surface"
7705+ glib:get-property="surface">
7706+ <attribute name="org.gtk.Method.get_property" value="surface"/>
7707+ <doc xml:space="preserve"
7708+ filename="gdk/gdkdrop.c"
7709+ line="463">Returns the `GdkSurface` performing the drop.</doc>
7710+ <source-position filename="gdk/gdkdrop.h" line="46"/>
7711+ <return-value transfer-ownership="none">
7712+ <doc xml:space="preserve"
7713+ filename="gdk/gdkdrop.c"
7714+ line="469">The `GdkSurface` performing the drop.</doc>
7715+ <type name="Surface" c:type="GdkSurface*"/>
7716+ </return-value>
7717+ <parameters>
7718+ <instance-parameter name="self" transfer-ownership="none">
7719+ <doc xml:space="preserve"
7720+ filename="gdk/gdkdrop.c"
7721+ line="465">a `GdkDrop`</doc>
7722+ <type name="Drop" c:type="GdkDrop*"/>
7723+ </instance-parameter>
7724+ </parameters>
7725+ </method>
7726+ <method name="read_async" c:identifier="gdk_drop_read_async">
7727+ <doc xml:space="preserve"
7728+ filename="gdk/gdkdrop.c"
7729+ line="647">Asynchronously read the dropped data from a `GdkDrop`
7730+in a format that complies with one of the mime types.</doc>
7731+ <source-position filename="gdk/gdkdrop.h" line="63"/>
7732+ <return-value transfer-ownership="none">
7733+ <type name="none" c:type="void"/>
7734+ </return-value>
7735+ <parameters>
7736+ <instance-parameter name="self" transfer-ownership="none">
7737+ <doc xml:space="preserve"
7738+ filename="gdk/gdkdrop.c"
7739+ line="649">a `GdkDrop`</doc>
7740+ <type name="Drop" c:type="GdkDrop*"/>
7741+ </instance-parameter>
7742+ <parameter name="mime_types" transfer-ownership="none">
7743+ <doc xml:space="preserve"
7744+ filename="gdk/gdkdrop.c"
7745+ line="650">
7746+ pointer to an array of mime types</doc>
7747+ <array c:type="const char**">
7748+ <type name="utf8"/>
7749+ </array>
7750+ </parameter>
7751+ <parameter name="io_priority" transfer-ownership="none">
7752+ <doc xml:space="preserve"
7753+ filename="gdk/gdkdrop.c"
7754+ line="652">the I/O priority for the read operation</doc>
7755+ <type name="gint" c:type="int"/>
7756+ </parameter>
7757+ <parameter name="cancellable"
7758+ transfer-ownership="none"
7759+ nullable="1"
7760+ allow-none="1">
7761+ <doc xml:space="preserve"
7762+ filename="gdk/gdkdrop.c"
7763+ line="653">optional `GCancellable` object</doc>
7764+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
7765+ </parameter>
7766+ <parameter name="callback"
7767+ transfer-ownership="none"
7768+ nullable="1"
7769+ allow-none="1"
7770+ scope="async"
7771+ closure="4">
7772+ <doc xml:space="preserve"
7773+ filename="gdk/gdkdrop.c"
7774+ line="654">a `GAsyncReadyCallback` to call when
7775+ the request is satisfied</doc>
7776+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
7777+ </parameter>
7778+ <parameter name="user_data"
7779+ transfer-ownership="none"
7780+ nullable="1"
7781+ allow-none="1">
7782+ <doc xml:space="preserve"
7783+ filename="gdk/gdkdrop.c"
7784+ line="656">the data to pass to @callback</doc>
7785+ <type name="gpointer" c:type="gpointer"/>
7786+ </parameter>
7787+ </parameters>
7788+ </method>
7789+ <method name="read_finish"
7790+ c:identifier="gdk_drop_read_finish"
7791+ throws="1">
7792+ <doc xml:space="preserve"
7793+ filename="gdk/gdkdrop.c"
7794+ line="683">Finishes an async drop read operation.
7795+
7796+Note that you must not use blocking read calls on the returned stream
7797+in the GTK thread, since some platforms might require communication with
7798+GTK to complete the data transfer. You can use async APIs such as
7799+g_input_stream_read_bytes_async().
7800+
7801+See [method@Gdk.Drop.read_async].</doc>
7802+ <source-position filename="gdk/gdkdrop.h" line="70"/>
7803+ <return-value transfer-ownership="full" nullable="1">
7804+ <doc xml:space="preserve"
7805+ filename="gdk/gdkdrop.c"
7806+ line="699">the `GInputStream`</doc>
7807+ <type name="Gio.InputStream" c:type="GInputStream*"/>
7808+ </return-value>
7809+ <parameters>
7810+ <instance-parameter name="self" transfer-ownership="none">
7811+ <doc xml:space="preserve"
7812+ filename="gdk/gdkdrop.c"
7813+ line="685">a `GdkDrop`</doc>
7814+ <type name="Drop" c:type="GdkDrop*"/>
7815+ </instance-parameter>
7816+ <parameter name="result" transfer-ownership="none">
7817+ <doc xml:space="preserve"
7818+ filename="gdk/gdkdrop.c"
7819+ line="686">a `GAsyncResult`</doc>
7820+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
7821+ </parameter>
7822+ <parameter name="out_mime_type"
7823+ direction="out"
7824+ caller-allocates="0"
7825+ transfer-ownership="full">
7826+ <doc xml:space="preserve"
7827+ filename="gdk/gdkdrop.c"
7828+ line="687">return location for the used mime type</doc>
7829+ <type name="utf8" c:type="const char**"/>
7830+ </parameter>
7831+ </parameters>
7832+ </method>
7833+ <method name="read_value_async" c:identifier="gdk_drop_read_value_async">
7834+ <doc xml:space="preserve"
7835+ filename="gdk/gdkdrop.c"
7836+ line="840">Asynchronously request the drag operation's contents converted
7837+to the given @type.
7838+
7839+When the operation is finished @callback will be called. You must
7840+then call [method@Gdk.Drop.read_value_finish] to get the resulting
7841+`GValue`.
7842+
7843+For local drag-and-drop operations that are available in the given
7844+`GType`, the value will be copied directly. Otherwise, GDK will
7845+try to use [func@Gdk.content_deserialize_async] to convert the data.</doc>
7846+ <source-position filename="gdk/gdkdrop.h" line="75"/>
7847+ <return-value transfer-ownership="none">
7848+ <type name="none" c:type="void"/>
7849+ </return-value>
7850+ <parameters>
7851+ <instance-parameter name="self" transfer-ownership="none">
7852+ <doc xml:space="preserve"
7853+ filename="gdk/gdkdrop.c"
7854+ line="842">a `GdkDrop`</doc>
7855+ <type name="Drop" c:type="GdkDrop*"/>
7856+ </instance-parameter>
7857+ <parameter name="type" transfer-ownership="none">
7858+ <doc xml:space="preserve"
7859+ filename="gdk/gdkdrop.c"
7860+ line="843">a `GType` to read</doc>
7861+ <type name="GType" c:type="GType"/>
7862+ </parameter>
7863+ <parameter name="io_priority" transfer-ownership="none">
7864+ <doc xml:space="preserve"
7865+ filename="gdk/gdkdrop.c"
7866+ line="844">the I/O priority of the request.</doc>
7867+ <type name="gint" c:type="int"/>
7868+ </parameter>
7869+ <parameter name="cancellable"
7870+ transfer-ownership="none"
7871+ nullable="1"
7872+ allow-none="1">
7873+ <doc xml:space="preserve"
7874+ filename="gdk/gdkdrop.c"
7875+ line="845">optional `GCancellable` object, %NULL to ignore.</doc>
7876+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
7877+ </parameter>
7878+ <parameter name="callback"
7879+ transfer-ownership="none"
7880+ nullable="1"
7881+ allow-none="1"
7882+ scope="async"
7883+ closure="4">
7884+ <doc xml:space="preserve"
7885+ filename="gdk/gdkdrop.c"
7886+ line="846">callback to call when the request is satisfied</doc>
7887+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
7888+ </parameter>
7889+ <parameter name="user_data"
7890+ transfer-ownership="none"
7891+ nullable="1"
7892+ allow-none="1">
7893+ <doc xml:space="preserve"
7894+ filename="gdk/gdkdrop.c"
7895+ line="847">the data to pass to callback function</doc>
7896+ <type name="gpointer" c:type="gpointer"/>
7897+ </parameter>
7898+ </parameters>
7899+ </method>
7900+ <method name="read_value_finish"
7901+ c:identifier="gdk_drop_read_value_finish"
7902+ throws="1">
7903+ <doc xml:space="preserve"
7904+ filename="gdk/gdkdrop.c"
7905+ line="881">Finishes an async drop read.
7906+
7907+See [method@Gdk.Drop.read_value_async].</doc>
7908+ <source-position filename="gdk/gdkdrop.h" line="82"/>
7909+ <return-value transfer-ownership="none">
7910+ <doc xml:space="preserve"
7911+ filename="gdk/gdkdrop.c"
7912+ line="891">a `GValue` containing the result.</doc>
7913+ <type name="GObject.Value" c:type="const GValue*"/>
7914+ </return-value>
7915+ <parameters>
7916+ <instance-parameter name="self" transfer-ownership="none">
7917+ <doc xml:space="preserve"
7918+ filename="gdk/gdkdrop.c"
7919+ line="883">a `GdkDrop`</doc>
7920+ <type name="Drop" c:type="GdkDrop*"/>
7921+ </instance-parameter>
7922+ <parameter name="result" transfer-ownership="none">
7923+ <doc xml:space="preserve"
7924+ filename="gdk/gdkdrop.c"
7925+ line="884">a `GAsyncResult`</doc>
7926+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
7927+ </parameter>
7928+ </parameters>
7929+ </method>
7930+ <method name="status" c:identifier="gdk_drop_status">
7931+ <doc xml:space="preserve"
7932+ filename="gdk/gdkdrop.c"
7933+ line="551">Selects all actions that are potentially supported by the destination.
7934+
7935+When calling this function, do not restrict the passed in actions to
7936+the ones provided by [method@Gdk.Drop.get_actions]. Those actions may
7937+change in the future, even depending on the actions you provide here.
7938+
7939+The @preferred action is a hint to the drag-and-drop mechanism about which
7940+action to use when multiple actions are possible.
7941+
7942+This function should be called by drag destinations in response to
7943+%GDK_DRAG_ENTER or %GDK_DRAG_MOTION events. If the destination does
7944+not yet know the exact actions it supports, it should set any possible
7945+actions first and then later call this function again.</doc>
7946+ <source-position filename="gdk/gdkdrop.h" line="55"/>
7947+ <return-value transfer-ownership="none">
7948+ <type name="none" c:type="void"/>
7949+ </return-value>
7950+ <parameters>
7951+ <instance-parameter name="self" transfer-ownership="none">
7952+ <doc xml:space="preserve"
7953+ filename="gdk/gdkdrop.c"
7954+ line="553">a `GdkDrop`</doc>
7955+ <type name="Drop" c:type="GdkDrop*"/>
7956+ </instance-parameter>
7957+ <parameter name="actions" transfer-ownership="none">
7958+ <doc xml:space="preserve"
7959+ filename="gdk/gdkdrop.c"
7960+ line="554">Supported actions of the destination, or 0 to indicate
7961+ that a drop will not be accepted</doc>
7962+ <type name="DragAction" c:type="GdkDragAction"/>
7963+ </parameter>
7964+ <parameter name="preferred" transfer-ownership="none">
7965+ <doc xml:space="preserve"
7966+ filename="gdk/gdkdrop.c"
7967+ line="556">A unique action that's a member of @actions indicating the
7968+ preferred action</doc>
7969+ <type name="DragAction" c:type="GdkDragAction"/>
7970+ </parameter>
7971+ </parameters>
7972+ </method>
7973+ <property name="actions"
7974+ writable="1"
7975+ construct-only="1"
7976+ transfer-ownership="none"
7977+ getter="get_actions">
7978+ <attribute name="org.gtk.Property.get" value="gdk_drop_get_actions"/>
7979+ <doc xml:space="preserve"
7980+ filename="gdk/gdkdrop.c"
7981+ line="322">The possible actions for this drop</doc>
7982+ <type name="DragAction"/>
7983+ </property>
7984+ <property name="device"
7985+ writable="1"
7986+ construct-only="1"
7987+ transfer-ownership="none"
7988+ getter="get_device">
7989+ <attribute name="org.gtk.Property.get" value="gdk_drop_get_device"/>
7990+ <doc xml:space="preserve"
7991+ filename="gdk/gdkdrop.c"
7992+ line="336">The `GdkDevice` performing the drop</doc>
7993+ <type name="Device"/>
7994+ </property>
7995+ <property name="display" transfer-ownership="none" getter="get_display">
7996+ <attribute name="org.gtk.Property.get" value="gdk_drop_get_display"/>
7997+ <doc xml:space="preserve"
7998+ filename="gdk/gdkdrop.c"
7999+ line="349">The `GdkDisplay` that the drop belongs to.</doc>
8000+ <type name="Display"/>
8001+ </property>
8002+ <property name="drag"
8003+ writable="1"
8004+ construct-only="1"
8005+ transfer-ownership="none"
8006+ getter="get_drag">
8007+ <attribute name="org.gtk.Property.get" value="gdk_drop_get_drag"/>
8008+ <doc xml:space="preserve"
8009+ filename="gdk/gdkdrop.c"
8010+ line="361">The `GdkDrag` that initiated this drop</doc>
8011+ <type name="Drag"/>
8012+ </property>
8013+ <property name="formats"
8014+ writable="1"
8015+ construct-only="1"
8016+ transfer-ownership="none"
8017+ getter="get_formats">
8018+ <attribute name="org.gtk.Property.get" value="gdk_drop_get_formats"/>
8019+ <doc xml:space="preserve"
8020+ filename="gdk/gdkdrop.c"
8021+ line="374">The possible formats that the drop can provide its data in.</doc>
8022+ <type name="ContentFormats"/>
8023+ </property>
8024+ <property name="surface"
8025+ writable="1"
8026+ construct-only="1"
8027+ transfer-ownership="none"
8028+ getter="get_surface">
8029+ <attribute name="org.gtk.Property.get" value="gdk_drop_get_surface"/>
8030+ <doc xml:space="preserve"
8031+ filename="gdk/gdkdrop.c"
8032+ line="387">The `GdkSurface` the drop happens on</doc>
8033+ <type name="Surface"/>
8034+ </property>
8035+ </class>
8036+ <function-macro name="EVENT" c:identifier="GDK_EVENT" introspectable="0">
8037+ <source-position filename="gdk/gdkevents.h" line="45"/>
8038+ <parameters>
8039+ <parameter name="obj">
8040+ </parameter>
8041+ </parameters>
8042+ </function-macro>
8043+ <constant name="EVENT_PROPAGATE"
8044+ value="false"
8045+ c:type="GDK_EVENT_PROPAGATE">
8046+ <doc xml:space="preserve"
8047+ filename="gdk/gdkevents.h"
8048+ line="64">Use this macro as the return value for continuing the propagation of
8049+an event handler.</doc>
8050+ <source-position filename="gdk/gdkevents.h" line="70"/>
8051+ <type name="gboolean" c:type="gboolean"/>
8052+ </constant>
8053+ <constant name="EVENT_STOP" value="true" c:type="GDK_EVENT_STOP">
8054+ <doc xml:space="preserve"
8055+ filename="gdk/gdkevents.h"
8056+ line="72">Use this macro as the return value for stopping the propagation of
8057+an event handler.</doc>
8058+ <source-position filename="gdk/gdkevents.h" line="78"/>
8059+ <type name="gboolean" c:type="gboolean"/>
8060+ </constant>
8061+ <class name="Event"
8062+ c:symbol-prefix="event"
8063+ c:type="GdkEvent"
8064+ abstract="1"
8065+ glib:type-name="GdkEvent"
8066+ glib:get-type="gdk_event_get_type"
8067+ glib:fundamental="1"
8068+ glib:ref-func="gdk_event_ref"
8069+ glib:unref-func="gdk_event_unref">
8070+ <doc xml:space="preserve"
8071+ filename="gdk/gdkevents.c"
8072+ line="41">`GdkEvent`s are immutable data structures, created by GDK to
8073+represent windowing system events.
8074+
8075+In GTK applications the events are handled automatically by toplevel
8076+widgets and passed on to the event controllers of appropriate widgets,
8077+so using `GdkEvent` and its related API is rarely needed.</doc>
8078+ <method name="_get_angle"
8079+ c:identifier="gdk_events_get_angle"
8080+ moved-to="events_get_angle">
8081+ <doc xml:space="preserve"
8082+ filename="gdk/gdkevents.c"
8083+ line="1064">Returns the relative angle from @event1 to @event2.
8084+
8085+The relative angle is the angle between the X axis and the line
8086+through both events' positions. The rotation direction for positive
8087+angles is from the positive X axis towards the positive Y axis.
8088+
8089+This assumes that both events have X/Y information.
8090+If not, this function returns %FALSE.</doc>
8091+ <source-position filename="gdk/gdkevents.h" line="517"/>
8092+ <return-value transfer-ownership="none">
8093+ <doc xml:space="preserve"
8094+ filename="gdk/gdkevents.c"
8095+ line="1079">%TRUE if the angle could be calculated.</doc>
8096+ <type name="gboolean" c:type="gboolean"/>
8097+ </return-value>
8098+ <parameters>
8099+ <instance-parameter name="event1" transfer-ownership="none">
8100+ <doc xml:space="preserve"
8101+ filename="gdk/gdkevents.c"
8102+ line="1066">first `GdkEvent`</doc>
8103+ <type name="Event" c:type="GdkEvent*"/>
8104+ </instance-parameter>
8105+ <parameter name="event2" transfer-ownership="none">
8106+ <doc xml:space="preserve"
8107+ filename="gdk/gdkevents.c"
8108+ line="1067">second `GdkEvent`</doc>
8109+ <type name="Event" c:type="GdkEvent*"/>
8110+ </parameter>
8111+ <parameter name="angle"
8112+ direction="out"
8113+ caller-allocates="0"
8114+ transfer-ownership="full">
8115+ <doc xml:space="preserve"
8116+ filename="gdk/gdkevents.c"
8117+ line="1068">return location for the relative angle between both events</doc>
8118+ <type name="gdouble" c:type="double*"/>
8119+ </parameter>
8120+ </parameters>
8121+ </method>
8122+ <method name="_get_center"
8123+ c:identifier="gdk_events_get_center"
8124+ moved-to="events_get_center">
8125+ <doc xml:space="preserve"
8126+ filename="gdk/gdkevents.c"
8127+ line="1110">Returns the point halfway between the events' positions.
8128+
8129+This assumes that both events have X/Y information.
8130+If not, this function returns %FALSE.</doc>
8131+ <source-position filename="gdk/gdkevents.h" line="521"/>
8132+ <return-value transfer-ownership="none">
8133+ <doc xml:space="preserve"
8134+ filename="gdk/gdkevents.c"
8135+ line="1122">%TRUE if the center could be calculated.</doc>
8136+ <type name="gboolean" c:type="gboolean"/>
8137+ </return-value>
8138+ <parameters>
8139+ <instance-parameter name="event1" transfer-ownership="none">
8140+ <doc xml:space="preserve"
8141+ filename="gdk/gdkevents.c"
8142+ line="1112">first `GdkEvent`</doc>
8143+ <type name="Event" c:type="GdkEvent*"/>
8144+ </instance-parameter>
8145+ <parameter name="event2" transfer-ownership="none">
8146+ <doc xml:space="preserve"
8147+ filename="gdk/gdkevents.c"
8148+ line="1113">second `GdkEvent`</doc>
8149+ <type name="Event" c:type="GdkEvent*"/>
8150+ </parameter>
8151+ <parameter name="x"
8152+ direction="out"
8153+ caller-allocates="0"
8154+ transfer-ownership="full">
8155+ <doc xml:space="preserve"
8156+ filename="gdk/gdkevents.c"
8157+ line="1114">return location for the X coordinate of the center</doc>
8158+ <type name="gdouble" c:type="double*"/>
8159+ </parameter>
8160+ <parameter name="y"
8161+ direction="out"
8162+ caller-allocates="0"
8163+ transfer-ownership="full">
8164+ <doc xml:space="preserve"
8165+ filename="gdk/gdkevents.c"
8166+ line="1115">return location for the Y coordinate of the center</doc>
8167+ <type name="gdouble" c:type="double*"/>
8168+ </parameter>
8169+ </parameters>
8170+ </method>
8171+ <method name="_get_distance"
8172+ c:identifier="gdk_events_get_distance"
8173+ moved-to="events_get_distance">
8174+ <doc xml:space="preserve"
8175+ filename="gdk/gdkevents.c"
8176+ line="1041">Returns the distance between the event locations.
8177+
8178+This assumes that both events have X/Y information.
8179+If not, this function returns %FALSE.</doc>
8180+ <source-position filename="gdk/gdkevents.h" line="513"/>
8181+ <return-value transfer-ownership="none">
8182+ <doc xml:space="preserve"
8183+ filename="gdk/gdkevents.c"
8184+ line="1052">%TRUE if the distance could be calculated.</doc>
8185+ <type name="gboolean" c:type="gboolean"/>
8186+ </return-value>
8187+ <parameters>
8188+ <instance-parameter name="event1" transfer-ownership="none">
8189+ <doc xml:space="preserve"
8190+ filename="gdk/gdkevents.c"
8191+ line="1043">first `GdkEvent`</doc>
8192+ <type name="Event" c:type="GdkEvent*"/>
8193+ </instance-parameter>
8194+ <parameter name="event2" transfer-ownership="none">
8195+ <doc xml:space="preserve"
8196+ filename="gdk/gdkevents.c"
8197+ line="1044">second `GdkEvent`</doc>
8198+ <type name="Event" c:type="GdkEvent*"/>
8199+ </parameter>
8200+ <parameter name="distance"
8201+ direction="out"
8202+ caller-allocates="0"
8203+ transfer-ownership="full">
8204+ <doc xml:space="preserve"
8205+ filename="gdk/gdkevents.c"
8206+ line="1045">return location for the distance</doc>
8207+ <type name="gdouble" c:type="double*"/>
8208+ </parameter>
8209+ </parameters>
8210+ </method>
8211+ <method name="get_axes" c:identifier="gdk_event_get_axes">
8212+ <doc xml:space="preserve"
8213+ filename="gdk/gdkevents.c"
8214+ line="1163">Extracts all axis values from an event.
8215+
8216+To find out which axes are used, use [method@Gdk.DeviceTool.get_axes]
8217+on the device tool returned by [method@Gdk.Event.get_device_tool].</doc>
8218+ <source-position filename="gdk/gdkevents.h" line="403"/>
8219+ <return-value transfer-ownership="none">
8220+ <doc xml:space="preserve"
8221+ filename="gdk/gdkevents.c"
8222+ line="1174">%TRUE on success, otherwise %FALSE</doc>
8223+ <type name="gboolean" c:type="gboolean"/>
8224+ </return-value>
8225+ <parameters>
8226+ <instance-parameter name="event" transfer-ownership="none">
8227+ <doc xml:space="preserve"
8228+ filename="gdk/gdkevents.c"
8229+ line="1165">a `GdkEvent`</doc>
8230+ <type name="Event" c:type="GdkEvent*"/>
8231+ </instance-parameter>
8232+ <parameter name="axes"
8233+ direction="out"
8234+ caller-allocates="0"
8235+ transfer-ownership="none">
8236+ <doc xml:space="preserve"
8237+ filename="gdk/gdkevents.c"
8238+ line="1166">the array of values for all axes</doc>
8239+ <array length="1" zero-terminated="0" c:type="double**">
8240+ <type name="gdouble" c:type="double*"/>
8241+ </array>
8242+ </parameter>
8243+ <parameter name="n_axes"
8244+ direction="out"
8245+ caller-allocates="0"
8246+ transfer-ownership="full">
8247+ <doc xml:space="preserve"
8248+ filename="gdk/gdkevents.c"
8249+ line="1167">the length of array</doc>
8250+ <type name="guint" c:type="guint*"/>
8251+ </parameter>
8252+ </parameters>
8253+ </method>
8254+ <method name="get_axis" c:identifier="gdk_event_get_axis">
8255+ <doc xml:space="preserve"
8256+ filename="gdk/gdkevents.c"
8257+ line="933">Extract the axis value for a particular axis use from
8258+an event structure.
8259+
8260+To find out which axes are used, use [method@Gdk.DeviceTool.get_axes]
8261+on the device tool returned by [method@Gdk.Event.get_device_tool].</doc>
8262+ <source-position filename="gdk/gdkevents.h" line="407"/>
8263+ <return-value transfer-ownership="none">
8264+ <doc xml:space="preserve"
8265+ filename="gdk/gdkevents.c"
8266+ line="945">%TRUE if the specified axis was found, otherwise %FALSE</doc>
8267+ <type name="gboolean" c:type="gboolean"/>
8268+ </return-value>
8269+ <parameters>
8270+ <instance-parameter name="event" transfer-ownership="none">
8271+ <doc xml:space="preserve"
8272+ filename="gdk/gdkevents.c"
8273+ line="935">a `GdkEvent`</doc>
8274+ <type name="Event" c:type="GdkEvent*"/>
8275+ </instance-parameter>
8276+ <parameter name="axis_use" transfer-ownership="none">
8277+ <doc xml:space="preserve"
8278+ filename="gdk/gdkevents.c"
8279+ line="936">the axis use to look for</doc>
8280+ <type name="AxisUse" c:type="GdkAxisUse"/>
8281+ </parameter>
8282+ <parameter name="value"
8283+ direction="out"
8284+ caller-allocates="0"
8285+ transfer-ownership="full">
8286+ <doc xml:space="preserve"
8287+ filename="gdk/gdkevents.c"
8288+ line="937">location to store the value found</doc>
8289+ <type name="gdouble" c:type="double*"/>
8290+ </parameter>
8291+ </parameters>
8292+ </method>
8293+ <method name="get_device" c:identifier="gdk_event_get_device">
8294+ <doc xml:space="preserve"
8295+ filename="gdk/gdkevents.c"
8296+ line="1250">Returns the device of an event.</doc>
8297+ <source-position filename="gdk/gdkevents.h" line="381"/>
8298+ <return-value transfer-ownership="none" nullable="1">
8299+ <doc xml:space="preserve"
8300+ filename="gdk/gdkevents.c"
8301+ line="1256">a `GdkDevice`</doc>
8302+ <type name="Device" c:type="GdkDevice*"/>
8303+ </return-value>
8304+ <parameters>
8305+ <instance-parameter name="event" transfer-ownership="none">
8306+ <doc xml:space="preserve"
8307+ filename="gdk/gdkevents.c"
8308+ line="1252">a `GdkEvent`.</doc>
8309+ <type name="Event" c:type="GdkEvent*"/>
8310+ </instance-parameter>
8311+ </parameters>
8312+ </method>
8313+ <method name="get_device_tool" c:identifier="gdk_event_get_device_tool">
8314+ <doc xml:space="preserve"
8315+ filename="gdk/gdkevents.c"
8316+ line="1266">Returns a `GdkDeviceTool` representing the tool that
8317+caused the event.
8318+
8319+If the was not generated by a device that supports
8320+different tools (such as a tablet), this function will
8321+return %NULL.
8322+
8323+Note: the `GdkDeviceTool` will be constant during
8324+the application lifetime, if settings must be stored
8325+persistently across runs, see [method@Gdk.DeviceTool.get_serial].</doc>
8326+ <source-position filename="gdk/gdkevents.h" line="384"/>
8327+ <return-value transfer-ownership="none" nullable="1">
8328+ <doc xml:space="preserve"
8329+ filename="gdk/gdkevents.c"
8330+ line="1281">The current device tool</doc>
8331+ <type name="DeviceTool" c:type="GdkDeviceTool*"/>
8332+ </return-value>
8333+ <parameters>
8334+ <instance-parameter name="event" transfer-ownership="none">
8335+ <doc xml:space="preserve"
8336+ filename="gdk/gdkevents.c"
8337+ line="1268">a `GdkEvent`</doc>
8338+ <type name="Event" c:type="GdkEvent*"/>
8339+ </instance-parameter>
8340+ </parameters>
8341+ </method>
8342+ <method name="get_display" c:identifier="gdk_event_get_display">
8343+ <doc xml:space="preserve"
8344+ filename="gdk/gdkevents.c"
8345+ line="1310">Retrieves the display associated to the @event.</doc>
8346+ <source-position filename="gdk/gdkevents.h" line="390"/>
8347+ <return-value transfer-ownership="none" nullable="1">
8348+ <doc xml:space="preserve"
8349+ filename="gdk/gdkevents.c"
8350+ line="1316">a `GdkDisplay`</doc>
8351+ <type name="Display" c:type="GdkDisplay*"/>
8352+ </return-value>
8353+ <parameters>
8354+ <instance-parameter name="event" transfer-ownership="none">
8355+ <doc xml:space="preserve"
8356+ filename="gdk/gdkevents.c"
8357+ line="1312">a `GdkEvent`</doc>
8358+ <type name="Event" c:type="GdkEvent*"/>
8359+ </instance-parameter>
8360+ </parameters>
8361+ </method>
8362+ <method name="get_event_sequence"
8363+ c:identifier="gdk_event_get_event_sequence">
8364+ <doc xml:space="preserve"
8365+ filename="gdk/gdkevents.c"
8366+ line="1329">Retuns the event sequence to which the event belongs.
8367+
8368+Related touch events are connected in a sequence. Other
8369+events typically don't have event sequence information.</doc>
8370+ <source-position filename="gdk/gdkevents.h" line="393"/>
8371+ <return-value transfer-ownership="none">
8372+ <doc xml:space="preserve"
8373+ filename="gdk/gdkevents.c"
8374+ line="1338">the event sequence that the event belongs to</doc>
8375+ <type name="EventSequence" c:type="GdkEventSequence*"/>
8376+ </return-value>
8377+ <parameters>
8378+ <instance-parameter name="event" transfer-ownership="none">
8379+ <doc xml:space="preserve"
8380+ filename="gdk/gdkevents.c"
8381+ line="1331">a `GdkEvent`</doc>
8382+ <type name="Event" c:type="GdkEvent*"/>
8383+ </instance-parameter>
8384+ </parameters>
8385+ </method>
8386+ <method name="get_event_type" c:identifier="gdk_event_get_event_type">
8387+ <doc xml:space="preserve"
8388+ filename="gdk/gdkevents.c"
8389+ line="1202">Retrieves the type of the event.</doc>
8390+ <source-position filename="gdk/gdkevents.h" line="372"/>
8391+ <return-value transfer-ownership="none">
8392+ <doc xml:space="preserve"
8393+ filename="gdk/gdkevents.c"
8394+ line="1208">a `GdkEvent`Type</doc>
8395+ <type name="EventType" c:type="GdkEventType"/>
8396+ </return-value>
8397+ <parameters>
8398+ <instance-parameter name="event" transfer-ownership="none">
8399+ <doc xml:space="preserve"
8400+ filename="gdk/gdkevents.c"
8401+ line="1204">a `GdkEvent`</doc>
8402+ <type name="Event" c:type="GdkEvent*"/>
8403+ </instance-parameter>
8404+ </parameters>
8405+ </method>
8406+ <method name="get_history" c:identifier="gdk_event_get_history">
8407+ <doc xml:space="preserve"
8408+ filename="gdk/gdkevents.c"
8409+ line="3138">Retrieves the history of the device that @event is for, as a list of
8410+time and coordinates.
8411+
8412+The history includes positions that are not delivered as separate events
8413+to the application because they occurred in the same frame as @event.
8414+
8415+Note that only motion and scroll events record history, and motion
8416+events do it only if one of the mouse buttons is down, or the device
8417+has a tool.</doc>
8418+ <source-position filename="gdk/gdkevents.h" line="411"/>
8419+ <return-value transfer-ownership="container" nullable="1">
8420+ <doc xml:space="preserve"
8421+ filename="gdk/gdkevents.c"
8422+ line="3153">an
8423+ array of time and coordinates</doc>
8424+ <array length="0" zero-terminated="0" c:type="GdkTimeCoord*">
8425+ <type name="TimeCoord" c:type="GdkTimeCoord"/>
8426+ </array>
8427+ </return-value>
8428+ <parameters>
8429+ <instance-parameter name="event" transfer-ownership="none">
8430+ <doc xml:space="preserve"
8431+ filename="gdk/gdkevents.c"
8432+ line="3140">a motion or scroll event</doc>
8433+ <type name="Event" c:type="GdkEvent*"/>
8434+ </instance-parameter>
8435+ <parameter name="out_n_coords"
8436+ direction="out"
8437+ caller-allocates="0"
8438+ transfer-ownership="full">
8439+ <doc xml:space="preserve"
8440+ filename="gdk/gdkevents.c"
8441+ line="3141">Return location for the length of the returned array</doc>
8442+ <type name="guint" c:type="guint*"/>
8443+ </parameter>
8444+ </parameters>
8445+ </method>
8446+ <method name="get_modifier_state"
8447+ c:identifier="gdk_event_get_modifier_state">
8448+ <doc xml:space="preserve"
8449+ filename="gdk/gdkevents.c"
8450+ line="1348">Returns the modifier state field of an event.</doc>
8451+ <source-position filename="gdk/gdkevents.h" line="396"/>
8452+ <return-value transfer-ownership="none">
8453+ <doc xml:space="preserve"
8454+ filename="gdk/gdkevents.c"
8455+ line="1354">the modifier state of @event</doc>
8456+ <type name="ModifierType" c:type="GdkModifierType"/>
8457+ </return-value>
8458+ <parameters>
8459+ <instance-parameter name="event" transfer-ownership="none">
8460+ <doc xml:space="preserve"
8461+ filename="gdk/gdkevents.c"
8462+ line="1350">a `GdkEvent`</doc>
8463+ <type name="Event" c:type="GdkEvent*"/>
8464+ </instance-parameter>
8465+ </parameters>
8466+ </method>
8467+ <method name="get_pointer_emulated"
8468+ c:identifier="gdk_event_get_pointer_emulated">
8469+ <doc xml:space="preserve"
8470+ filename="gdk/gdkevents.c"
8471+ line="901">Returns whether this event is an 'emulated' pointer event.
8472+
8473+Emulated pointer events typically originate from a touch events.</doc>
8474+ <source-position filename="gdk/gdkevents.h" line="414"/>
8475+ <return-value transfer-ownership="none">
8476+ <doc xml:space="preserve"
8477+ filename="gdk/gdkevents.c"
8478+ line="909">%TRUE if this event is emulated</doc>
8479+ <type name="gboolean" c:type="gboolean"/>
8480+ </return-value>
8481+ <parameters>
8482+ <instance-parameter name="event" transfer-ownership="none">
8483+ <doc xml:space="preserve"
8484+ filename="gdk/gdkevents.c"
8485+ line="903">a `GdkEvent`</doc>
8486+ <type name="Event" c:type="GdkEvent*"/>
8487+ </instance-parameter>
8488+ </parameters>
8489+ </method>
8490+ <method name="get_position" c:identifier="gdk_event_get_position">
8491+ <doc xml:space="preserve"
8492+ filename="gdk/gdkevents.c"
8493+ line="1364">Extract the event surface relative x/y coordinates from an event.</doc>
8494+ <source-position filename="gdk/gdkevents.h" line="399"/>
8495+ <return-value transfer-ownership="none">
8496+ <type name="gboolean" c:type="gboolean"/>
8497+ </return-value>
8498+ <parameters>
8499+ <instance-parameter name="event" transfer-ownership="none">
8500+ <doc xml:space="preserve"
8501+ filename="gdk/gdkevents.c"
8502+ line="1366">a `GdkEvent`</doc>
8503+ <type name="Event" c:type="GdkEvent*"/>
8504+ </instance-parameter>
8505+ <parameter name="x"
8506+ direction="out"
8507+ caller-allocates="0"
8508+ transfer-ownership="full">
8509+ <doc xml:space="preserve"
8510+ filename="gdk/gdkevents.c"
8511+ line="1367">location to put event surface x coordinate</doc>
8512+ <type name="gdouble" c:type="double*"/>
8513+ </parameter>
8514+ <parameter name="y"
8515+ direction="out"
8516+ caller-allocates="0"
8517+ transfer-ownership="full">
8518+ <doc xml:space="preserve"
8519+ filename="gdk/gdkevents.c"
8520+ line="1368">location to put event surface y coordinate</doc>
8521+ <type name="gdouble" c:type="double*"/>
8522+ </parameter>
8523+ </parameters>
8524+ </method>
8525+ <method name="get_seat" c:identifier="gdk_event_get_seat">
8526+ <doc xml:space="preserve"
8527+ filename="gdk/gdkevents.c"
8528+ line="1234">Returns the seat that originated the event.</doc>
8529+ <source-position filename="gdk/gdkevents.h" line="378"/>
8530+ <return-value transfer-ownership="none" nullable="1">
8531+ <doc xml:space="preserve"
8532+ filename="gdk/gdkevents.c"
8533+ line="1240">a `GdkSeat`.</doc>
8534+ <type name="Seat" c:type="GdkSeat*"/>
8535+ </return-value>
8536+ <parameters>
8537+ <instance-parameter name="event" transfer-ownership="none">
8538+ <doc xml:space="preserve"
8539+ filename="gdk/gdkevents.c"
8540+ line="1236">a `GdkEvent`</doc>
8541+ <type name="Event" c:type="GdkEvent*"/>
8542+ </instance-parameter>
8543+ </parameters>
8544+ </method>
8545+ <method name="get_surface" c:identifier="gdk_event_get_surface">
8546+ <doc xml:space="preserve"
8547+ filename="gdk/gdkevents.c"
8548+ line="1218">Extracts the surface associated with an event.</doc>
8549+ <source-position filename="gdk/gdkevents.h" line="375"/>
8550+ <return-value transfer-ownership="none" nullable="1">
8551+ <doc xml:space="preserve"
8552+ filename="gdk/gdkevents.c"
8553+ line="1224">The `GdkSurface` associated with the event</doc>
8554+ <type name="Surface" c:type="GdkSurface*"/>
8555+ </return-value>
8556+ <parameters>
8557+ <instance-parameter name="event" transfer-ownership="none">
8558+ <doc xml:space="preserve"
8559+ filename="gdk/gdkevents.c"
8560+ line="1220">a `GdkEvent`</doc>
8561+ <type name="Event" c:type="GdkEvent*"/>
8562+ </instance-parameter>
8563+ </parameters>
8564+ </method>
8565+ <method name="get_time" c:identifier="gdk_event_get_time">
8566+ <doc xml:space="preserve"
8567+ filename="gdk/gdkevents.c"
8568+ line="1291">Returns the timestamp of @event.
8569+
8570+Not all events have timestamps. In that case, this function
8571+returns %GDK_CURRENT_TIME.</doc>
8572+ <source-position filename="gdk/gdkevents.h" line="387"/>
8573+ <return-value transfer-ownership="none">
8574+ <doc xml:space="preserve"
8575+ filename="gdk/gdkevents.c"
8576+ line="1300">timestamp field from @event</doc>
8577+ <type name="guint32" c:type="guint32"/>
8578+ </return-value>
8579+ <parameters>
8580+ <instance-parameter name="event" transfer-ownership="none">
8581+ <doc xml:space="preserve"
8582+ filename="gdk/gdkevents.c"
8583+ line="1293">a `GdkEvent`</doc>
8584+ <type name="Event" c:type="GdkEvent*"/>
8585+ </instance-parameter>
8586+ </parameters>
8587+ </method>
8588+ <method name="ref" c:identifier="gdk_event_ref">
8589+ <doc xml:space="preserve"
8590+ filename="gdk/gdkevents.c"
8591+ line="866">Increase the ref count of @event.</doc>
8592+ <source-position filename="gdk/gdkevents.h" line="367"/>
8593+ <return-value transfer-ownership="full">
8594+ <doc xml:space="preserve"
8595+ filename="gdk/gdkevents.c"
8596+ line="872">@event</doc>
8597+ <type name="Event" c:type="GdkEvent*"/>
8598+ </return-value>
8599+ <parameters>
8600+ <instance-parameter name="event" transfer-ownership="none">
8601+ <doc xml:space="preserve"
8602+ filename="gdk/gdkevents.c"
8603+ line="868">a `GdkEvent`</doc>
8604+ <type name="Event" c:type="GdkEvent*"/>
8605+ </instance-parameter>
8606+ </parameters>
8607+ </method>
8608+ <method name="triggers_context_menu"
8609+ c:identifier="gdk_event_triggers_context_menu">
8610+ <doc xml:space="preserve"
8611+ filename="gdk/gdkevents.c"
8612+ line="979">Returns whether a `GdkEvent` should trigger a context menu,
8613+according to platform conventions.
8614+
8615+The right mouse button typically triggers context menus.
8616+
8617+This function should always be used instead of simply checking for
8618+event-&gt;button == %GDK_BUTTON_SECONDARY.</doc>
8619+ <source-position filename="gdk/gdkevents.h" line="510"/>
8620+ <return-value transfer-ownership="none">
8621+ <doc xml:space="preserve"
8622+ filename="gdk/gdkevents.c"
8623+ line="991">%TRUE if the event should trigger a context menu.</doc>
8624+ <type name="gboolean" c:type="gboolean"/>
8625+ </return-value>
8626+ <parameters>
8627+ <instance-parameter name="event" transfer-ownership="none">
8628+ <doc xml:space="preserve"
8629+ filename="gdk/gdkevents.c"
8630+ line="981">a `GdkEvent`, currently only button events are meaningful values</doc>
8631+ <type name="Event" c:type="GdkEvent*"/>
8632+ </instance-parameter>
8633+ </parameters>
8634+ </method>
8635+ <method name="unref" c:identifier="gdk_event_unref">
8636+ <doc xml:space="preserve"
8637+ filename="gdk/gdkevents.c"
8638+ line="884">Decrease the ref count of @event.
8639+
8640+If the last reference is dropped, the structure is freed.</doc>
8641+ <source-position filename="gdk/gdkevents.h" line="369"/>
8642+ <return-value transfer-ownership="none">
8643+ <type name="none" c:type="void"/>
8644+ </return-value>
8645+ <parameters>
8646+ <instance-parameter name="event" transfer-ownership="full">
8647+ <doc xml:space="preserve"
8648+ filename="gdk/gdkevents.c"
8649+ line="886">a `GdkEvent`</doc>
8650+ <type name="Event" c:type="GdkEvent*"/>
8651+ </instance-parameter>
8652+ </parameters>
8653+ </method>
8654+ </class>
8655+ <record name="EventSequence"
8656+ c:type="GdkEventSequence"
8657+ glib:type-name="GdkEventSequence"
8658+ glib:get-type="gdk_event_sequence_get_type"
8659+ c:symbol-prefix="event_sequence">
8660+ <doc xml:space="preserve"
8661+ filename="gdk/gdkevents.c"
8662+ line="52">`GdkEventSequence` is an opaque type representing a sequence
8663+of related touch events.</doc>
8664+ <source-position filename="gdk/gdkevents.h" line="103"/>
8665+ </record>
8666+ <enumeration name="EventType"
8667+ glib:type-name="GdkEventType"
8668+ glib:get-type="gdk_event_type_get_type"
8669+ c:type="GdkEventType">
8670+ <doc xml:space="preserve"
8671+ filename="gdk/gdkevents.h"
8672+ line="134">Specifies the type of the event.</doc>
8673+ <member name="delete"
8674+ value="0"
8675+ c:identifier="GDK_DELETE"
8676+ glib:nick="delete"
8677+ glib:name="GDK_DELETE">
8678+ <doc xml:space="preserve"
8679+ filename="gdk/gdkevents.h"
8680+ line="136">the window manager has requested that the toplevel surface be
8681+ hidden or destroyed, usually when the user clicks on a special icon in the
8682+ title bar.</doc>
8683+ </member>
8684+ <member name="motion_notify"
8685+ value="1"
8686+ c:identifier="GDK_MOTION_NOTIFY"
8687+ glib:nick="motion-notify"
8688+ glib:name="GDK_MOTION_NOTIFY">
8689+ <doc xml:space="preserve"
8690+ filename="gdk/gdkevents.h"
8691+ line="139">the pointer (usually a mouse) has moved.</doc>
8692+ </member>
8693+ <member name="button_press"
8694+ value="2"
8695+ c:identifier="GDK_BUTTON_PRESS"
8696+ glib:nick="button-press"
8697+ glib:name="GDK_BUTTON_PRESS">
8698+ <doc xml:space="preserve"
8699+ filename="gdk/gdkevents.h"
8700+ line="140">a mouse button has been pressed.</doc>
8701+ </member>
8702+ <member name="button_release"
8703+ value="3"
8704+ c:identifier="GDK_BUTTON_RELEASE"
8705+ glib:nick="button-release"
8706+ glib:name="GDK_BUTTON_RELEASE">
8707+ <doc xml:space="preserve"
8708+ filename="gdk/gdkevents.h"
8709+ line="141">a mouse button has been released.</doc>
8710+ </member>
8711+ <member name="key_press"
8712+ value="4"
8713+ c:identifier="GDK_KEY_PRESS"
8714+ glib:nick="key-press"
8715+ glib:name="GDK_KEY_PRESS">
8716+ <doc xml:space="preserve"
8717+ filename="gdk/gdkevents.h"
8718+ line="142">a key has been pressed.</doc>
8719+ </member>
8720+ <member name="key_release"
8721+ value="5"
8722+ c:identifier="GDK_KEY_RELEASE"
8723+ glib:nick="key-release"
8724+ glib:name="GDK_KEY_RELEASE">
8725+ <doc xml:space="preserve"
8726+ filename="gdk/gdkevents.h"
8727+ line="143">a key has been released.</doc>
8728+ </member>
8729+ <member name="enter_notify"
8730+ value="6"
8731+ c:identifier="GDK_ENTER_NOTIFY"
8732+ glib:nick="enter-notify"
8733+ glib:name="GDK_ENTER_NOTIFY">
8734+ <doc xml:space="preserve"
8735+ filename="gdk/gdkevents.h"
8736+ line="144">the pointer has entered the surface.</doc>
8737+ </member>
8738+ <member name="leave_notify"
8739+ value="7"
8740+ c:identifier="GDK_LEAVE_NOTIFY"
8741+ glib:nick="leave-notify"
8742+ glib:name="GDK_LEAVE_NOTIFY">
8743+ <doc xml:space="preserve"
8744+ filename="gdk/gdkevents.h"
8745+ line="145">the pointer has left the surface.</doc>
8746+ </member>
8747+ <member name="focus_change"
8748+ value="8"
8749+ c:identifier="GDK_FOCUS_CHANGE"
8750+ glib:nick="focus-change"
8751+ glib:name="GDK_FOCUS_CHANGE">
8752+ <doc xml:space="preserve"
8753+ filename="gdk/gdkevents.h"
8754+ line="146">the keyboard focus has entered or left the surface.</doc>
8755+ </member>
8756+ <member name="proximity_in"
8757+ value="9"
8758+ c:identifier="GDK_PROXIMITY_IN"
8759+ glib:nick="proximity-in"
8760+ glib:name="GDK_PROXIMITY_IN">
8761+ <doc xml:space="preserve"
8762+ filename="gdk/gdkevents.h"
8763+ line="147">an input device has moved into contact with a sensing
8764+ surface (e.g. a touchscreen or graphics tablet).</doc>
8765+ </member>
8766+ <member name="proximity_out"
8767+ value="10"
8768+ c:identifier="GDK_PROXIMITY_OUT"
8769+ glib:nick="proximity-out"
8770+ glib:name="GDK_PROXIMITY_OUT">
8771+ <doc xml:space="preserve"
8772+ filename="gdk/gdkevents.h"
8773+ line="149">an input device has moved out of contact with a sensing
8774+ surface.</doc>
8775+ </member>
8776+ <member name="drag_enter"
8777+ value="11"
8778+ c:identifier="GDK_DRAG_ENTER"
8779+ glib:nick="drag-enter"
8780+ glib:name="GDK_DRAG_ENTER">
8781+ <doc xml:space="preserve"
8782+ filename="gdk/gdkevents.h"
8783+ line="151">the mouse has entered the surface while a drag is in progress.</doc>
8784+ </member>
8785+ <member name="drag_leave"
8786+ value="12"
8787+ c:identifier="GDK_DRAG_LEAVE"
8788+ glib:nick="drag-leave"
8789+ glib:name="GDK_DRAG_LEAVE">
8790+ <doc xml:space="preserve"
8791+ filename="gdk/gdkevents.h"
8792+ line="152">the mouse has left the surface while a drag is in progress.</doc>
8793+ </member>
8794+ <member name="drag_motion"
8795+ value="13"
8796+ c:identifier="GDK_DRAG_MOTION"
8797+ glib:nick="drag-motion"
8798+ glib:name="GDK_DRAG_MOTION">
8799+ <doc xml:space="preserve"
8800+ filename="gdk/gdkevents.h"
8801+ line="153">the mouse has moved in the surface while a drag is in
8802+ progress.</doc>
8803+ </member>
8804+ <member name="drop_start"
8805+ value="14"
8806+ c:identifier="GDK_DROP_START"
8807+ glib:nick="drop-start"
8808+ glib:name="GDK_DROP_START">
8809+ <doc xml:space="preserve"
8810+ filename="gdk/gdkevents.h"
8811+ line="155">a drop operation onto the surface has started.</doc>
8812+ </member>
8813+ <member name="scroll"
8814+ value="15"
8815+ c:identifier="GDK_SCROLL"
8816+ glib:nick="scroll"
8817+ glib:name="GDK_SCROLL">
8818+ <doc xml:space="preserve"
8819+ filename="gdk/gdkevents.h"
8820+ line="156">the scroll wheel was turned</doc>
8821+ </member>
8822+ <member name="grab_broken"
8823+ value="16"
8824+ c:identifier="GDK_GRAB_BROKEN"
8825+ glib:nick="grab-broken"
8826+ glib:name="GDK_GRAB_BROKEN">
8827+ <doc xml:space="preserve"
8828+ filename="gdk/gdkevents.h"
8829+ line="157">a pointer or keyboard grab was broken.</doc>
8830+ </member>
8831+ <member name="touch_begin"
8832+ value="17"
8833+ c:identifier="GDK_TOUCH_BEGIN"
8834+ glib:nick="touch-begin"
8835+ glib:name="GDK_TOUCH_BEGIN">
8836+ <doc xml:space="preserve"
8837+ filename="gdk/gdkevents.h"
8838+ line="158">A new touch event sequence has just started.</doc>
8839+ </member>
8840+ <member name="touch_update"
8841+ value="18"
8842+ c:identifier="GDK_TOUCH_UPDATE"
8843+ glib:nick="touch-update"
8844+ glib:name="GDK_TOUCH_UPDATE">
8845+ <doc xml:space="preserve"
8846+ filename="gdk/gdkevents.h"
8847+ line="159">A touch event sequence has been updated.</doc>
8848+ </member>
8849+ <member name="touch_end"
8850+ value="19"
8851+ c:identifier="GDK_TOUCH_END"
8852+ glib:nick="touch-end"
8853+ glib:name="GDK_TOUCH_END">
8854+ <doc xml:space="preserve"
8855+ filename="gdk/gdkevents.h"
8856+ line="160">A touch event sequence has finished.</doc>
8857+ </member>
8858+ <member name="touch_cancel"
8859+ value="20"
8860+ c:identifier="GDK_TOUCH_CANCEL"
8861+ glib:nick="touch-cancel"
8862+ glib:name="GDK_TOUCH_CANCEL">
8863+ <doc xml:space="preserve"
8864+ filename="gdk/gdkevents.h"
8865+ line="161">A touch event sequence has been canceled.</doc>
8866+ </member>
8867+ <member name="touchpad_swipe"
8868+ value="21"
8869+ c:identifier="GDK_TOUCHPAD_SWIPE"
8870+ glib:nick="touchpad-swipe"
8871+ glib:name="GDK_TOUCHPAD_SWIPE">
8872+ <doc xml:space="preserve"
8873+ filename="gdk/gdkevents.h"
8874+ line="162">A touchpad swipe gesture event, the current state
8875+ is determined by its phase field.</doc>
8876+ </member>
8877+ <member name="touchpad_pinch"
8878+ value="22"
8879+ c:identifier="GDK_TOUCHPAD_PINCH"
8880+ glib:nick="touchpad-pinch"
8881+ glib:name="GDK_TOUCHPAD_PINCH">
8882+ <doc xml:space="preserve"
8883+ filename="gdk/gdkevents.h"
8884+ line="164">A touchpad pinch gesture event, the current state
8885+ is determined by its phase field.</doc>
8886+ </member>
8887+ <member name="pad_button_press"
8888+ value="23"
8889+ c:identifier="GDK_PAD_BUTTON_PRESS"
8890+ glib:nick="pad-button-press"
8891+ glib:name="GDK_PAD_BUTTON_PRESS">
8892+ <doc xml:space="preserve"
8893+ filename="gdk/gdkevents.h"
8894+ line="166">A tablet pad button press event.</doc>
8895+ </member>
8896+ <member name="pad_button_release"
8897+ value="24"
8898+ c:identifier="GDK_PAD_BUTTON_RELEASE"
8899+ glib:nick="pad-button-release"
8900+ glib:name="GDK_PAD_BUTTON_RELEASE">
8901+ <doc xml:space="preserve"
8902+ filename="gdk/gdkevents.h"
8903+ line="167">A tablet pad button release event.</doc>
8904+ </member>
8905+ <member name="pad_ring"
8906+ value="25"
8907+ c:identifier="GDK_PAD_RING"
8908+ glib:nick="pad-ring"
8909+ glib:name="GDK_PAD_RING">
8910+ <doc xml:space="preserve"
8911+ filename="gdk/gdkevents.h"
8912+ line="168">A tablet pad axis event from a "ring".</doc>
8913+ </member>
8914+ <member name="pad_strip"
8915+ value="26"
8916+ c:identifier="GDK_PAD_STRIP"
8917+ glib:nick="pad-strip"
8918+ glib:name="GDK_PAD_STRIP">
8919+ <doc xml:space="preserve"
8920+ filename="gdk/gdkevents.h"
8921+ line="169">A tablet pad axis event from a "strip".</doc>
8922+ </member>
8923+ <member name="pad_group_mode"
8924+ value="27"
8925+ c:identifier="GDK_PAD_GROUP_MODE"
8926+ glib:nick="pad-group-mode"
8927+ glib:name="GDK_PAD_GROUP_MODE">
8928+ <doc xml:space="preserve"
8929+ filename="gdk/gdkevents.h"
8930+ line="170">A tablet pad group mode change.</doc>
8931+ </member>
8932+ <member name="touchpad_hold"
8933+ value="28"
8934+ c:identifier="GDK_TOUCHPAD_HOLD"
8935+ glib:nick="touchpad-hold"
8936+ glib:name="GDK_TOUCHPAD_HOLD">
8937+ <doc xml:space="preserve"
8938+ filename="gdk/gdkevents.h"
8939+ line="171">A touchpad hold gesture event, the current state
8940+ is determined by its phase field. Since: 4.6</doc>
8941+ </member>
8942+ <member name="event_last"
8943+ value="29"
8944+ c:identifier="GDK_EVENT_LAST"
8945+ glib:nick="event-last"
8946+ glib:name="GDK_EVENT_LAST">
8947+ <doc xml:space="preserve"
8948+ filename="gdk/gdkevents.h"
8949+ line="173">marks the end of the GdkEventType enumeration.</doc>
8950+ </member>
8951+ </enumeration>
8952+ <function-macro name="FRAME_CLOCK"
8953+ c:identifier="GDK_FRAME_CLOCK"
8954+ introspectable="0">
8955+ <source-position filename="gdk/gdkframeclock.h" line="37"/>
8956+ <parameters>
8957+ <parameter name="obj">
8958+ </parameter>
8959+ </parameters>
8960+ </function-macro>
8961+ <function-macro name="FRAME_CLOCK_CLASS"
8962+ c:identifier="GDK_FRAME_CLOCK_CLASS"
8963+ introspectable="0">
8964+ <source-position filename="gdk/gdkframeclock.h" line="38"/>
8965+ <parameters>
8966+ <parameter name="klass">
8967+ </parameter>
8968+ </parameters>
8969+ </function-macro>
8970+ <function-macro name="FRAME_CLOCK_GET_CLASS"
8971+ c:identifier="GDK_FRAME_CLOCK_GET_CLASS"
8972+ introspectable="0">
8973+ <source-position filename="gdk/gdkframeclock.h" line="41"/>
8974+ <parameters>
8975+ <parameter name="obj">
8976+ </parameter>
8977+ </parameters>
8978+ </function-macro>
8979+ <record name="FileList"
8980+ c:type="GdkFileList"
8981+ version="4.6"
8982+ glib:type-name="GdkFileList"
8983+ glib:get-type="gdk_file_list_get_type"
8984+ c:symbol-prefix="file_list">
8985+ <doc xml:space="preserve"
8986+ filename="gdk/gdkcontentformats.h"
8987+ line="116">An opaque type representing a list of files.</doc>
8988+ <source-position filename="gdk/gdkcontentformats.h" line="123"/>
8989+ <constructor name="new_from_array"
8990+ c:identifier="gdk_file_list_new_from_array"
8991+ version="4.8">
8992+ <doc xml:space="preserve"
8993+ filename="gdk/gdkcontentformats.c"
8994+ line="884">Creates a new `GdkFileList` for the given array of files.
8995+
8996+This function is meant to be used by language bindings.</doc>
8997+ <source-position filename="gdk/gdkcontentformats.h" line="130"/>
8998+ <return-value transfer-ownership="full">
8999+ <doc xml:space="preserve"
9000+ filename="gdk/gdkcontentformats.c"
9001+ line="893">the newly create files list</doc>
9002+ <type name="FileList" c:type="GdkFileList*"/>
9003+ </return-value>
9004+ <parameters>
9005+ <parameter name="files" transfer-ownership="none">
9006+ <doc xml:space="preserve"
9007+ filename="gdk/gdkcontentformats.c"
9008+ line="886">the files to add to the list</doc>
9009+ <array length="1" zero-terminated="0" c:type="GFile**">
9010+ <type name="Gio.File" c:type="GFile*"/>
9011+ </array>
9012+ </parameter>
9013+ <parameter name="n_files" transfer-ownership="none">
9014+ <doc xml:space="preserve"
9015+ filename="gdk/gdkcontentformats.c"
9016+ line="887">the number of files in the array</doc>
9017+ <type name="gsize" c:type="gsize"/>
9018+ </parameter>
9019+ </parameters>
9020+ </constructor>
9021+ <constructor name="new_from_list"
9022+ c:identifier="gdk_file_list_new_from_list"
9023+ version="4.8">
9024+ <doc xml:space="preserve"
9025+ filename="gdk/gdkcontentformats.c"
9026+ line="865">Creates a new files list container from a singly linked list of
9027+`GFile` instances.
9028+
9029+This function is meant to be used by language bindings</doc>
9030+ <source-position filename="gdk/gdkcontentformats.h" line="128"/>
9031+ <return-value transfer-ownership="full">
9032+ <doc xml:space="preserve"
9033+ filename="gdk/gdkcontentformats.c"
9034+ line="874">the newly created files list</doc>
9035+ <type name="FileList" c:type="GdkFileList*"/>
9036+ </return-value>
9037+ <parameters>
9038+ <parameter name="files" transfer-ownership="none">
9039+ <doc xml:space="preserve"
9040+ filename="gdk/gdkcontentformats.c"
9041+ line="867">a list of files</doc>
9042+ <type name="GLib.SList" c:type="GSList*">
9043+ <type name="Gio.File"/>
9044+ </type>
9045+ </parameter>
9046+ </parameters>
9047+ </constructor>
9048+ <method name="get_files"
9049+ c:identifier="gdk_file_list_get_files"
9050+ version="4.6">
9051+ <doc xml:space="preserve"
9052+ filename="gdk/gdkcontentformats.c"
9053+ line="847">Retrieves the list of files inside a `GdkFileList`.
9054+
9055+This function is meant for language bindings.</doc>
9056+ <source-position filename="gdk/gdkcontentformats.h" line="126"/>
9057+ <return-value transfer-ownership="container">
9058+ <doc xml:space="preserve"
9059+ filename="gdk/gdkcontentformats.c"
9060+ line="855">the files inside the list</doc>
9061+ <type name="GLib.SList" c:type="GSList*">
9062+ <type name="Gio.File"/>
9063+ </type>
9064+ </return-value>
9065+ <parameters>
9066+ <instance-parameter name="file_list" transfer-ownership="none">
9067+ <doc xml:space="preserve"
9068+ filename="gdk/gdkcontentformats.c"
9069+ line="849">the file list</doc>
9070+ <type name="FileList" c:type="GdkFileList*"/>
9071+ </instance-parameter>
9072+ </parameters>
9073+ </method>
9074+ </record>
9075+ <class name="FocusEvent"
9076+ c:symbol-prefix="focus_event"
9077+ c:type="GdkFocusEvent"
9078+ parent="Event"
9079+ glib:type-name="GdkFocusEvent"
9080+ glib:get-type="gdk_focus_event_get_type"
9081+ glib:fundamental="1">
9082+ <doc xml:space="preserve"
9083+ filename="gdk/gdkevents.c"
9084+ line="2287">An event related to a keyboard focus change.</doc>
9085+ <method name="get_in" c:identifier="gdk_focus_event_get_in">
9086+ <doc xml:space="preserve"
9087+ filename="gdk/gdkevents.c"
9088+ line="2320">Extracts whether this event is about focus entering or
9089+leaving the surface.</doc>
9090+ <source-position filename="gdk/gdkevents.h" line="450"/>
9091+ <return-value transfer-ownership="none">
9092+ <doc xml:space="preserve"
9093+ filename="gdk/gdkevents.c"
9094+ line="2327">%TRUE of the focus is entering</doc>
9095+ <type name="gboolean" c:type="gboolean"/>
9096+ </return-value>
9097+ <parameters>
9098+ <instance-parameter name="event" transfer-ownership="none">
9099+ <doc xml:space="preserve"
9100+ filename="gdk/gdkevents.c"
9101+ line="2322">a focus change event</doc>
9102+ <type name="FocusEvent" c:type="GdkEvent*"/>
9103+ </instance-parameter>
9104+ </parameters>
9105+ </method>
9106+ </class>
9107+ <class name="FrameClock"
9108+ c:symbol-prefix="frame_clock"
9109+ c:type="GdkFrameClock"
9110+ parent="GObject.Object"
9111+ abstract="1"
9112+ glib:type-name="GdkFrameClock"
9113+ glib:get-type="gdk_frame_clock_get_type"
9114+ glib:type-struct="FrameClockClass">
9115+ <doc xml:space="preserve"
9116+ filename="gdk/gdkframeclock.c"
9117+ line="29">A `GdkFrameClock` tells the application when to update and repaint
9118+a surface.
9119+
9120+This may be synced to the vertical refresh rate of the monitor, for example.
9121+Even when the frame clock uses a simple timer rather than a hardware-based
9122+vertical sync, the frame clock helps because it ensures everything paints at
9123+the same time (reducing the total number of frames).
9124+
9125+The frame clock can also automatically stop painting when it knows the frames
9126+will not be visible, or scale back animation framerates.
9127+
9128+`GdkFrameClock` is designed to be compatible with an OpenGL-based implementation
9129+or with mozRequestAnimationFrame in Firefox, for example.
9130+
9131+A frame clock is idle until someone requests a frame with
9132+[method@Gdk.FrameClock.request_phase]. At some later point that makes sense
9133+for the synchronization being implemented, the clock will process a frame and
9134+emit signals for each phase that has been requested. (See the signals of the
9135+`GdkFrameClock` class for documentation of the phases.
9136+%GDK_FRAME_CLOCK_PHASE_UPDATE and the [signal@GdkFrameClock::update] signal
9137+are most interesting for application writers, and are used to update the
9138+animations, using the frame time given by [method@Gdk.FrameClock.get_frame_time].
9139+
9140+The frame time is reported in microseconds and generally in the same
9141+timescale as g_get_monotonic_time(), however, it is not the same
9142+as g_get_monotonic_time(). The frame time does not advance during
9143+the time a frame is being painted, and outside of a frame, an attempt
9144+is made so that all calls to [method@Gdk.FrameClock.get_frame_time] that
9145+are called at a “similar” time get the same value. This means that
9146+if different animations are timed by looking at the difference in
9147+time between an initial value from [method@Gdk.FrameClock.get_frame_time]
9148+and the value inside the [signal@GdkFrameClock::update] signal of the clock,
9149+they will stay exactly synchronized.</doc>
9150+ <source-position filename="gdk/gdkframeclock.h" line="45"/>
9151+ <method name="begin_updating"
9152+ c:identifier="gdk_frame_clock_begin_updating">
9153+ <doc xml:space="preserve"
9154+ filename="gdk/gdkframeclock.c"
9155+ line="313">Starts updates for an animation.
9156+
9157+Until a matching call to [method@Gdk.FrameClock.end_updating] is made,
9158+the frame clock will continually request a new frame with the
9159+%GDK_FRAME_CLOCK_PHASE_UPDATE phase. This function may be called multiple
9160+times and frames will be requested until gdk_frame_clock_end_updating()
9161+is called the same number of times.</doc>
9162+ <source-position filename="gdk/gdkframeclock.h" line="84"/>
9163+ <return-value transfer-ownership="none">
9164+ <type name="none" c:type="void"/>
9165+ </return-value>
9166+ <parameters>
9167+ <instance-parameter name="frame_clock" transfer-ownership="none">
9168+ <doc xml:space="preserve"
9169+ filename="gdk/gdkframeclock.c"
9170+ line="315">a `GdkFrameClock`</doc>
9171+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9172+ </instance-parameter>
9173+ </parameters>
9174+ </method>
9175+ <method name="end_updating" c:identifier="gdk_frame_clock_end_updating">
9176+ <doc xml:space="preserve"
9177+ filename="gdk/gdkframeclock.c"
9178+ line="333">Stops updates for an animation.
9179+
9180+See the documentation for [method@Gdk.FrameClock.begin_updating].</doc>
9181+ <source-position filename="gdk/gdkframeclock.h" line="86"/>
9182+ <return-value transfer-ownership="none">
9183+ <type name="none" c:type="void"/>
9184+ </return-value>
9185+ <parameters>
9186+ <instance-parameter name="frame_clock" transfer-ownership="none">
9187+ <doc xml:space="preserve"
9188+ filename="gdk/gdkframeclock.c"
9189+ line="335">a `GdkFrameClock`</doc>
9190+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9191+ </instance-parameter>
9192+ </parameters>
9193+ </method>
9194+ <method name="get_current_timings"
9195+ c:identifier="gdk_frame_clock_get_current_timings">
9196+ <doc xml:space="preserve"
9197+ filename="gdk/gdkframeclock.c"
9198+ line="511">Gets the frame timings for the current frame.</doc>
9199+ <source-position filename="gdk/gdkframeclock.h" line="98"/>
9200+ <return-value transfer-ownership="none" nullable="1">
9201+ <doc xml:space="preserve"
9202+ filename="gdk/gdkframeclock.c"
9203+ line="517">the `GdkFrameTimings` for the
9204+ frame currently being processed, or even no frame is being
9205+ processed, for the previous frame. Before any frames have been
9206+ processed, returns %NULL.</doc>
9207+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9208+ </return-value>
9209+ <parameters>
9210+ <instance-parameter name="frame_clock" transfer-ownership="none">
9211+ <doc xml:space="preserve"
9212+ filename="gdk/gdkframeclock.c"
9213+ line="513">a `GdkFrameClock`</doc>
9214+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9215+ </instance-parameter>
9216+ </parameters>
9217+ </method>
9218+ <method name="get_fps" c:identifier="gdk_frame_clock_get_fps">
9219+ <doc xml:space="preserve"
9220+ filename="gdk/gdkframeclock.c"
9221+ line="759">Calculates the current frames-per-second, based on the
9222+frame timings of @frame_clock.</doc>
9223+ <source-position filename="gdk/gdkframeclock.h" line="107"/>
9224+ <return-value transfer-ownership="none">
9225+ <doc xml:space="preserve"
9226+ filename="gdk/gdkframeclock.c"
9227+ line="766">the current fps, as a `double`</doc>
9228+ <type name="gdouble" c:type="double"/>
9229+ </return-value>
9230+ <parameters>
9231+ <instance-parameter name="frame_clock" transfer-ownership="none">
9232+ <doc xml:space="preserve"
9233+ filename="gdk/gdkframeclock.c"
9234+ line="761">a `GdkFrameClock`</doc>
9235+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9236+ </instance-parameter>
9237+ </parameters>
9238+ </method>
9239+ <method name="get_frame_counter"
9240+ c:identifier="gdk_frame_clock_get_frame_counter">
9241+ <doc xml:space="preserve"
9242+ filename="gdk/gdkframeclock.c"
9243+ line="393">`GdkFrameClock` maintains a 64-bit counter that increments for
9244+each frame drawn.</doc>
9245+ <source-position filename="gdk/gdkframeclock.h" line="90"/>
9246+ <return-value transfer-ownership="none">
9247+ <doc xml:space="preserve"
9248+ filename="gdk/gdkframeclock.c"
9249+ line="400">inside frame processing, the value of the frame counter
9250+ for the current frame. Outside of frame processing, the frame
9251+ counter for the last frame.</doc>
9252+ <type name="gint64" c:type="gint64"/>
9253+ </return-value>
9254+ <parameters>
9255+ <instance-parameter name="frame_clock" transfer-ownership="none">
9256+ <doc xml:space="preserve"
9257+ filename="gdk/gdkframeclock.c"
9258+ line="395">a `GdkFrameClock`</doc>
9259+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9260+ </instance-parameter>
9261+ </parameters>
9262+ </method>
9263+ <method name="get_frame_time"
9264+ c:identifier="gdk_frame_clock_get_frame_time">
9265+ <doc xml:space="preserve"
9266+ filename="gdk/gdkframeclock.c"
9267+ line="264">Gets the time that should currently be used for animations.
9268+
9269+Inside the processing of a frame, it’s the time used to compute the
9270+animation position of everything in a frame. Outside of a frame, it's
9271+the time of the conceptual “previous frame,” which may be either
9272+the actual previous frame time, or if that’s too old, an updated
9273+time.</doc>
9274+ <source-position filename="gdk/gdkframeclock.h" line="77"/>
9275+ <return-value transfer-ownership="none">
9276+ <doc xml:space="preserve"
9277+ filename="gdk/gdkframeclock.c"
9278+ line="276">a timestamp in microseconds, in the timescale of
9279+ of g_get_monotonic_time().</doc>
9280+ <type name="gint64" c:type="gint64"/>
9281+ </return-value>
9282+ <parameters>
9283+ <instance-parameter name="frame_clock" transfer-ownership="none">
9284+ <doc xml:space="preserve"
9285+ filename="gdk/gdkframeclock.c"
9286+ line="266">a `GdkFrameClock`</doc>
9287+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9288+ </instance-parameter>
9289+ </parameters>
9290+ </method>
9291+ <method name="get_history_start"
9292+ c:identifier="gdk_frame_clock_get_history_start">
9293+ <doc xml:space="preserve"
9294+ filename="gdk/gdkframeclock.c"
9295+ line="416">Returns the frame counter for the oldest frame available in history.
9296+
9297+`GdkFrameClock` internally keeps a history of `GdkFrameTimings`
9298+objects for recent frames that can be retrieved with
9299+[method@Gdk.FrameClock.get_timings]. The set of stored frames
9300+is the set from the counter values given by
9301+[method@Gdk.FrameClock.get_history_start] and
9302+[method@Gdk.FrameClock.get_frame_counter], inclusive.</doc>
9303+ <source-position filename="gdk/gdkframeclock.h" line="92"/>
9304+ <return-value transfer-ownership="none">
9305+ <doc xml:space="preserve"
9306+ filename="gdk/gdkframeclock.c"
9307+ line="429">the frame counter value for the oldest frame
9308+ that is available in the internal frame history of the
9309+ `GdkFrameClock`</doc>
9310+ <type name="gint64" c:type="gint64"/>
9311+ </return-value>
9312+ <parameters>
9313+ <instance-parameter name="frame_clock" transfer-ownership="none">
9314+ <doc xml:space="preserve"
9315+ filename="gdk/gdkframeclock.c"
9316+ line="418">a `GdkFrameClock`</doc>
9317+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9318+ </instance-parameter>
9319+ </parameters>
9320+ </method>
9321+ <method name="get_refresh_info"
9322+ c:identifier="gdk_frame_clock_get_refresh_info">
9323+ <doc xml:space="preserve"
9324+ filename="gdk/gdkframeclock.c"
9325+ line="587">Predicts a presentation time, based on history.
9326+
9327+Using the frame history stored in the frame clock, finds the last
9328+known presentation time and refresh interval, and assuming that
9329+presentation times are separated by the refresh interval,
9330+predicts a presentation time that is a multiple of the refresh
9331+interval after the last presentation time, and later than @base_time.</doc>
9332+ <source-position filename="gdk/gdkframeclock.h" line="101"/>
9333+ <return-value transfer-ownership="none">
9334+ <type name="none" c:type="void"/>
9335+ </return-value>
9336+ <parameters>
9337+ <instance-parameter name="frame_clock" transfer-ownership="none">
9338+ <doc xml:space="preserve"
9339+ filename="gdk/gdkframeclock.c"
9340+ line="589">a `GdkFrameClock`</doc>
9341+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9342+ </instance-parameter>
9343+ <parameter name="base_time" transfer-ownership="none">
9344+ <doc xml:space="preserve"
9345+ filename="gdk/gdkframeclock.c"
9346+ line="590">base time for determining a presentaton time</doc>
9347+ <type name="gint64" c:type="gint64"/>
9348+ </parameter>
9349+ <parameter name="refresh_interval_return"
9350+ direction="out"
9351+ caller-allocates="0"
9352+ transfer-ownership="full"
9353+ optional="1"
9354+ allow-none="1">
9355+ <doc xml:space="preserve"
9356+ filename="gdk/gdkframeclock.c"
9357+ line="591">a location to store the
9358+ determined refresh interval, or %NULL. A default refresh interval of
9359+ 1/60th of a second will be stored if no history is present.</doc>
9360+ <type name="gint64" c:type="gint64*"/>
9361+ </parameter>
9362+ <parameter name="presentation_time_return"
9363+ direction="out"
9364+ caller-allocates="0"
9365+ transfer-ownership="full">
9366+ <doc xml:space="preserve"
9367+ filename="gdk/gdkframeclock.c"
9368+ line="594">a location to store the next
9369+ candidate presentation time after the given base time.
9370+ 0 will be will be stored if no history is present.</doc>
9371+ <type name="gint64" c:type="gint64*"/>
9372+ </parameter>
9373+ </parameters>
9374+ </method>
9375+ <method name="get_timings" c:identifier="gdk_frame_clock_get_timings">
9376+ <doc xml:space="preserve"
9377+ filename="gdk/gdkframeclock.c"
9378+ line="473">Retrieves a `GdkFrameTimings` object holding timing information
9379+for the current frame or a recent frame.
9380+
9381+The `GdkFrameTimings` object may not yet be complete: see
9382+[method@Gdk.FrameTimings.get_complete] and
9383+[method@Gdk.FrameClock.get_history_start].</doc>
9384+ <source-position filename="gdk/gdkframeclock.h" line="94"/>
9385+ <return-value transfer-ownership="none" nullable="1">
9386+ <doc xml:space="preserve"
9387+ filename="gdk/gdkframeclock.c"
9388+ line="486">the `GdkFrameTimings` object
9389+ for the specified frame, or %NULL if it is not available</doc>
9390+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9391+ </return-value>
9392+ <parameters>
9393+ <instance-parameter name="frame_clock" transfer-ownership="none">
9394+ <doc xml:space="preserve"
9395+ filename="gdk/gdkframeclock.c"
9396+ line="475">a `GdkFrameClock`</doc>
9397+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9398+ </instance-parameter>
9399+ <parameter name="frame_counter" transfer-ownership="none">
9400+ <doc xml:space="preserve"
9401+ filename="gdk/gdkframeclock.c"
9402+ line="476">the frame counter value identifying the frame to
9403+ be received</doc>
9404+ <type name="gint64" c:type="gint64"/>
9405+ </parameter>
9406+ </parameters>
9407+ </method>
9408+ <method name="request_phase"
9409+ c:identifier="gdk_frame_clock_request_phase">
9410+ <doc xml:space="preserve"
9411+ filename="gdk/gdkframeclock.c"
9412+ line="287">Asks the frame clock to run a particular phase.
9413+
9414+The signal corresponding the requested phase will be emitted the next
9415+time the frame clock processes. Multiple calls to
9416+gdk_frame_clock_request_phase() will be combined together
9417+and only one frame processed. If you are displaying animated
9418+content and want to continually request the
9419+%GDK_FRAME_CLOCK_PHASE_UPDATE phase for a period of time,
9420+you should use [method@Gdk.FrameClock.begin_updating] instead,
9421+since this allows GTK to adjust system parameters to get maximally
9422+smooth animations.</doc>
9423+ <source-position filename="gdk/gdkframeclock.h" line="80"/>
9424+ <return-value transfer-ownership="none">
9425+ <type name="none" c:type="void"/>
9426+ </return-value>
9427+ <parameters>
9428+ <instance-parameter name="frame_clock" transfer-ownership="none">
9429+ <doc xml:space="preserve"
9430+ filename="gdk/gdkframeclock.c"
9431+ line="289">a `GdkFrameClock`</doc>
9432+ <type name="FrameClock" c:type="GdkFrameClock*"/>
9433+ </instance-parameter>
9434+ <parameter name="phase" transfer-ownership="none">
9435+ <doc xml:space="preserve"
9436+ filename="gdk/gdkframeclock.c"
9437+ line="290">the phase that is requested</doc>
9438+ <type name="FrameClockPhase" c:type="GdkFrameClockPhase"/>
9439+ </parameter>
9440+ </parameters>
9441+ </method>
9442+ <glib:signal name="after-paint" when="last">
9443+ <doc xml:space="preserve"
9444+ filename="gdk/gdkframeclock.c"
9445+ line="216">This signal ends processing of the frame.
9446+
9447+Applications should generally not handle this signal.</doc>
9448+ <return-value transfer-ownership="none">
9449+ <type name="none" c:type="void"/>
9450+ </return-value>
9451+ </glib:signal>
9452+ <glib:signal name="before-paint" when="last">
9453+ <doc xml:space="preserve"
9454+ filename="gdk/gdkframeclock.c"
9455+ line="144">Begins processing of the frame.
9456+
9457+Applications should generally not handle this signal.</doc>
9458+ <return-value transfer-ownership="none">
9459+ <type name="none" c:type="void"/>
9460+ </return-value>
9461+ </glib:signal>
9462+ <glib:signal name="flush-events" when="last">
9463+ <doc xml:space="preserve"
9464+ filename="gdk/gdkframeclock.c"
9465+ line="127">Used to flush pending motion events that are being batched up and
9466+compressed together.
9467+
9468+Applications should not handle this signal.</doc>
9469+ <return-value transfer-ownership="none">
9470+ <type name="none" c:type="void"/>
9471+ </return-value>
9472+ </glib:signal>
9473+ <glib:signal name="layout" when="last">
9474+ <doc xml:space="preserve"
9475+ filename="gdk/gdkframeclock.c"
9476+ line="179">Emitted as the second step of toolkit and application processing
9477+of the frame.
9478+
9479+Any work to update sizes and positions of application elements
9480+should be performed. GTK normally handles this internally.</doc>
9481+ <return-value transfer-ownership="none">
9482+ <type name="none" c:type="void"/>
9483+ </return-value>
9484+ </glib:signal>
9485+ <glib:signal name="paint" when="last">
9486+ <doc xml:space="preserve"
9487+ filename="gdk/gdkframeclock.c"
9488+ line="197">Emitted as the third step of toolkit and application processing
9489+of the frame.
9490+
9491+The frame is repainted. GDK normally handles this internally and
9492+emits [signal@Gdk.Surface::render] signals which are turned into
9493+[signal@Gtk.Widget::snapshot] signals by GTK.</doc>
9494+ <return-value transfer-ownership="none">
9495+ <type name="none" c:type="void"/>
9496+ </return-value>
9497+ </glib:signal>
9498+ <glib:signal name="resume-events" when="last">
9499+ <doc xml:space="preserve"
9500+ filename="gdk/gdkframeclock.c"
9501+ line="232">Emitted after processing of the frame is finished.
9502+
9503+This signal is handled internally by GTK to resume normal
9504+event processing. Applications should not handle this signal.</doc>
9505+ <return-value transfer-ownership="none">
9506+ <type name="none" c:type="void"/>
9507+ </return-value>
9508+ </glib:signal>
9509+ <glib:signal name="update" when="last">
9510+ <doc xml:space="preserve"
9511+ filename="gdk/gdkframeclock.c"
9512+ line="160">Emitted as the first step of toolkit and application processing
9513+of the frame.
9514+
9515+Animations should be updated using [method@Gdk.FrameClock.get_frame_time].
9516+Applications can connect directly to this signal, or use
9517+[method@Gtk.Widget.add_tick_callback] as a more convenient interface.</doc>
9518+ <return-value transfer-ownership="none">
9519+ <type name="none" c:type="void"/>
9520+ </return-value>
9521+ </glib:signal>
9522+ </class>
9523+ <record name="FrameClockClass"
9524+ c:type="GdkFrameClockClass"
9525+ disguised="1"
9526+ glib:is-gtype-struct-for="FrameClock">
9527+ <source-position filename="gdk/gdkframeclock.h" line="45"/>
9528+ </record>
9529+ <bitfield name="FrameClockPhase"
9530+ glib:type-name="GdkFrameClockPhase"
9531+ glib:get-type="gdk_frame_clock_phase_get_type"
9532+ c:type="GdkFrameClockPhase">
9533+ <doc xml:space="preserve"
9534+ filename="gdk/gdkframeclock.h"
9535+ line="47">Used to represent the different paint clock phases that can be requested.
9536+
9537+The elements of the enumeration correspond to the signals of `GdkFrameClock`.</doc>
9538+ <member name="none"
9539+ value="0"
9540+ c:identifier="GDK_FRAME_CLOCK_PHASE_NONE"
9541+ glib:nick="none"
9542+ glib:name="GDK_FRAME_CLOCK_PHASE_NONE">
9543+ <doc xml:space="preserve"
9544+ filename="gdk/gdkframeclock.h"
9545+ line="49">no phase</doc>
9546+ </member>
9547+ <member name="flush_events"
9548+ value="1"
9549+ c:identifier="GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS"
9550+ glib:nick="flush-events"
9551+ glib:name="GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS">
9552+ <doc xml:space="preserve"
9553+ filename="gdk/gdkframeclock.h"
9554+ line="50">corresponds to GdkFrameClock::flush-events. Should not be handled by applications.</doc>
9555+ </member>
9556+ <member name="before_paint"
9557+ value="2"
9558+ c:identifier="GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT"
9559+ glib:nick="before-paint"
9560+ glib:name="GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT">
9561+ <doc xml:space="preserve"
9562+ filename="gdk/gdkframeclock.h"
9563+ line="51">corresponds to GdkFrameClock::before-paint. Should not be handled by applications.</doc>
9564+ </member>
9565+ <member name="update"
9566+ value="4"
9567+ c:identifier="GDK_FRAME_CLOCK_PHASE_UPDATE"
9568+ glib:nick="update"
9569+ glib:name="GDK_FRAME_CLOCK_PHASE_UPDATE">
9570+ <doc xml:space="preserve"
9571+ filename="gdk/gdkframeclock.h"
9572+ line="52">corresponds to GdkFrameClock::update.</doc>
9573+ </member>
9574+ <member name="layout"
9575+ value="8"
9576+ c:identifier="GDK_FRAME_CLOCK_PHASE_LAYOUT"
9577+ glib:nick="layout"
9578+ glib:name="GDK_FRAME_CLOCK_PHASE_LAYOUT">
9579+ <doc xml:space="preserve"
9580+ filename="gdk/gdkframeclock.h"
9581+ line="53">corresponds to GdkFrameClock::layout. Should not be handled by applications.</doc>
9582+ </member>
9583+ <member name="paint"
9584+ value="16"
9585+ c:identifier="GDK_FRAME_CLOCK_PHASE_PAINT"
9586+ glib:nick="paint"
9587+ glib:name="GDK_FRAME_CLOCK_PHASE_PAINT">
9588+ <doc xml:space="preserve"
9589+ filename="gdk/gdkframeclock.h"
9590+ line="54">corresponds to GdkFrameClock::paint.</doc>
9591+ </member>
9592+ <member name="resume_events"
9593+ value="32"
9594+ c:identifier="GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS"
9595+ glib:nick="resume-events"
9596+ glib:name="GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS">
9597+ <doc xml:space="preserve"
9598+ filename="gdk/gdkframeclock.h"
9599+ line="55">corresponds to GdkFrameClock::resume-events. Should not be handled by applications.</doc>
9600+ </member>
9601+ <member name="after_paint"
9602+ value="64"
9603+ c:identifier="GDK_FRAME_CLOCK_PHASE_AFTER_PAINT"
9604+ glib:nick="after-paint"
9605+ glib:name="GDK_FRAME_CLOCK_PHASE_AFTER_PAINT">
9606+ <doc xml:space="preserve"
9607+ filename="gdk/gdkframeclock.h"
9608+ line="56">corresponds to GdkFrameClock::after-paint. Should not be handled by applications.</doc>
9609+ </member>
9610+ </bitfield>
9611+ <record name="FrameClockPrivate"
9612+ c:type="GdkFrameClockPrivate"
9613+ disguised="1">
9614+ <source-position filename="gdk/gdkframeclock.h" line="44"/>
9615+ </record>
9616+ <record name="FrameTimings"
9617+ c:type="GdkFrameTimings"
9618+ glib:type-name="GdkFrameTimings"
9619+ glib:get-type="gdk_frame_timings_get_type"
9620+ c:symbol-prefix="frame_timings">
9621+ <doc xml:space="preserve"
9622+ filename="gdk/gdkframetimings.c"
9623+ line="24">A `GdkFrameTimings` object holds timing information for a single frame
9624+of the application’s displays.
9625+
9626+To retrieve `GdkFrameTimings` objects, use [method@Gdk.FrameClock.get_timings]
9627+or [method@Gdk.FrameClock.get_current_timings]. The information in
9628+`GdkFrameTimings` is useful for precise synchronization of video with
9629+the event or audio streams, and for measuring quality metrics for the
9630+application’s display, such as latency and jitter.</doc>
9631+ <source-position filename="gdk/gdkframetimings.h" line="30"/>
9632+ <method name="get_complete"
9633+ c:identifier="gdk_frame_timings_get_complete">
9634+ <doc xml:space="preserve"
9635+ filename="gdk/gdkframetimings.c"
9636+ line="122">Returns whether @timings are complete.
9637+
9638+The timing information in a `GdkFrameTimings` is filled in
9639+incrementally as the frame as drawn and passed off to the
9640+window system for processing and display to the user. The
9641+accessor functions for `GdkFrameTimings` can return 0 to
9642+indicate an unavailable value for two reasons: either because
9643+the information is not yet available, or because it isn't
9644+available at all.
9645+
9646+Once this function returns %TRUE for a frame, you can be
9647+certain that no further values will become available and be
9648+stored in the `GdkFrameTimings`.</doc>
9649+ <source-position filename="gdk/gdkframetimings.h" line="43"/>
9650+ <return-value transfer-ownership="none">
9651+ <doc xml:space="preserve"
9652+ filename="gdk/gdkframetimings.c"
9653+ line="140">%TRUE if all information that will be available
9654+ for the frame has been filled in.</doc>
9655+ <type name="gboolean" c:type="gboolean"/>
9656+ </return-value>
9657+ <parameters>
9658+ <instance-parameter name="timings" transfer-ownership="none">
9659+ <doc xml:space="preserve"
9660+ filename="gdk/gdkframetimings.c"
9661+ line="124">a `GdkFrameTimings`</doc>
9662+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9663+ </instance-parameter>
9664+ </parameters>
9665+ </method>
9666+ <method name="get_frame_counter"
9667+ c:identifier="gdk_frame_timings_get_frame_counter">
9668+ <doc xml:space="preserve"
9669+ filename="gdk/gdkframetimings.c"
9670+ line="107">Gets the frame counter value of the `GdkFrameClock` when
9671+this frame was drawn.</doc>
9672+ <source-position filename="gdk/gdkframetimings.h" line="41"/>
9673+ <return-value transfer-ownership="none">
9674+ <doc xml:space="preserve"
9675+ filename="gdk/gdkframetimings.c"
9676+ line="114">the frame counter value for this frame</doc>
9677+ <type name="gint64" c:type="gint64"/>
9678+ </return-value>
9679+ <parameters>
9680+ <instance-parameter name="timings" transfer-ownership="none">
9681+ <doc xml:space="preserve"
9682+ filename="gdk/gdkframetimings.c"
9683+ line="109">a `GdkFrameTimings`</doc>
9684+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9685+ </instance-parameter>
9686+ </parameters>
9687+ </method>
9688+ <method name="get_frame_time"
9689+ c:identifier="gdk_frame_timings_get_frame_time">
9690+ <doc xml:space="preserve"
9691+ filename="gdk/gdkframetimings.c"
9692+ line="151">Returns the frame time for the frame.
9693+
9694+This is the time value that is typically used to time
9695+animations for the frame. See [method@Gdk.FrameClock.get_frame_time].</doc>
9696+ <source-position filename="gdk/gdkframetimings.h" line="45"/>
9697+ <return-value transfer-ownership="none">
9698+ <doc xml:space="preserve"
9699+ filename="gdk/gdkframetimings.c"
9700+ line="160">the frame time for the frame, in the timescale
9701+ of g_get_monotonic_time()</doc>
9702+ <type name="gint64" c:type="gint64"/>
9703+ </return-value>
9704+ <parameters>
9705+ <instance-parameter name="timings" transfer-ownership="none">
9706+ <doc xml:space="preserve"
9707+ filename="gdk/gdkframetimings.c"
9708+ line="153">A `GdkFrameTimings`</doc>
9709+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9710+ </instance-parameter>
9711+ </parameters>
9712+ </method>
9713+ <method name="get_predicted_presentation_time"
9714+ c:identifier="gdk_frame_timings_get_predicted_presentation_time">
9715+ <doc xml:space="preserve"
9716+ filename="gdk/gdkframetimings.c"
9717+ line="191">Gets the predicted time at which this frame will be displayed.
9718+
9719+Although no predicted time may be available, if one is available,
9720+it will be available while the frame is being generated, in contrast
9721+to [method@Gdk.FrameTimings.get_presentation_time], which is only
9722+available after the frame has been presented.
9723+
9724+In general, if you are simply animating, you should use
9725+[method@Gdk.FrameClock.get_frame_time] rather than this function,
9726+but this function is useful for applications that want exact control
9727+over latency. For example, a movie player may want this information
9728+for Audio/Video synchronization.</doc>
9729+ <source-position filename="gdk/gdkframetimings.h" line="52"/>
9730+ <return-value transfer-ownership="none">
9731+ <doc xml:space="preserve"
9732+ filename="gdk/gdkframetimings.c"
9733+ line="208">The predicted time at which the frame will be presented,
9734+ in the timescale of g_get_monotonic_time(), or 0 if no predicted
9735+ presentation time is available.</doc>
9736+ <type name="gint64" c:type="gint64"/>
9737+ </return-value>
9738+ <parameters>
9739+ <instance-parameter name="timings" transfer-ownership="none">
9740+ <doc xml:space="preserve"
9741+ filename="gdk/gdkframetimings.c"
9742+ line="193">a `GdkFrameTimings`</doc>
9743+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9744+ </instance-parameter>
9745+ </parameters>
9746+ </method>
9747+ <method name="get_presentation_time"
9748+ c:identifier="gdk_frame_timings_get_presentation_time">
9749+ <doc xml:space="preserve"
9750+ filename="gdk/gdkframetimings.c"
9751+ line="171">Reurns the presentation time.
9752+
9753+This is the time at which the frame became visible to the user.</doc>
9754+ <source-position filename="gdk/gdkframetimings.h" line="47"/>
9755+ <return-value transfer-ownership="none">
9756+ <doc xml:space="preserve"
9757+ filename="gdk/gdkframetimings.c"
9758+ line="179">the time the frame was displayed to the user, in the
9759+ timescale of g_get_monotonic_time(), or 0 if no presentation
9760+ time is available. See [method@Gdk.FrameTimings.get_complete]</doc>
9761+ <type name="gint64" c:type="gint64"/>
9762+ </return-value>
9763+ <parameters>
9764+ <instance-parameter name="timings" transfer-ownership="none">
9765+ <doc xml:space="preserve"
9766+ filename="gdk/gdkframetimings.c"
9767+ line="173">a `GdkFrameTimings`</doc>
9768+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9769+ </instance-parameter>
9770+ </parameters>
9771+ </method>
9772+ <method name="get_refresh_interval"
9773+ c:identifier="gdk_frame_timings_get_refresh_interval">
9774+ <doc xml:space="preserve"
9775+ filename="gdk/gdkframetimings.c"
9776+ line="220">Gets the natural interval between presentation times for
9777+the display that this frame was displayed on.
9778+
9779+Frame presentation usually happens during the “vertical
9780+blanking interval”.</doc>
9781+ <source-position filename="gdk/gdkframetimings.h" line="49"/>
9782+ <return-value transfer-ownership="none">
9783+ <doc xml:space="preserve"
9784+ filename="gdk/gdkframetimings.c"
9785+ line="230">the refresh interval of the display, in microseconds,
9786+ or 0 if the refresh interval is not available.
9787+ See [method@Gdk.FrameTimings.get_complete].</doc>
9788+ <type name="gint64" c:type="gint64"/>
9789+ </return-value>
9790+ <parameters>
9791+ <instance-parameter name="timings" transfer-ownership="none">
9792+ <doc xml:space="preserve"
9793+ filename="gdk/gdkframetimings.c"
9794+ line="222">a `GdkFrameTimings`</doc>
9795+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9796+ </instance-parameter>
9797+ </parameters>
9798+ </method>
9799+ <method name="ref" c:identifier="gdk_frame_timings_ref">
9800+ <doc xml:space="preserve"
9801+ filename="gdk/gdkframetimings.c"
9802+ line="68">Increases the reference count of @timings.</doc>
9803+ <source-position filename="gdk/gdkframetimings.h" line="36"/>
9804+ <return-value transfer-ownership="full">
9805+ <doc xml:space="preserve"
9806+ filename="gdk/gdkframetimings.c"
9807+ line="74">@timings</doc>
9808+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9809+ </return-value>
9810+ <parameters>
9811+ <instance-parameter name="timings" transfer-ownership="none">
9812+ <doc xml:space="preserve"
9813+ filename="gdk/gdkframetimings.c"
9814+ line="70">a `GdkFrameTimings`</doc>
9815+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9816+ </instance-parameter>
9817+ </parameters>
9818+ </method>
9819+ <method name="unref" c:identifier="gdk_frame_timings_unref">
9820+ <doc xml:space="preserve"
9821+ filename="gdk/gdkframetimings.c"
9822+ line="86">Decreases the reference count of @timings.
9823+
9824+If @timings is no longer referenced, it will be freed.</doc>
9825+ <source-position filename="gdk/gdkframetimings.h" line="38"/>
9826+ <return-value transfer-ownership="none">
9827+ <type name="none" c:type="void"/>
9828+ </return-value>
9829+ <parameters>
9830+ <instance-parameter name="timings" transfer-ownership="none">
9831+ <doc xml:space="preserve"
9832+ filename="gdk/gdkframetimings.c"
9833+ line="88">a `GdkFrameTimings`</doc>
9834+ <type name="FrameTimings" c:type="GdkFrameTimings*"/>
9835+ </instance-parameter>
9836+ </parameters>
9837+ </method>
9838+ </record>
9839+ <enumeration name="FullscreenMode"
9840+ glib:type-name="GdkFullscreenMode"
9841+ glib:get-type="gdk_fullscreen_mode_get_type"
9842+ c:type="GdkFullscreenMode">
9843+ <doc xml:space="preserve"
9844+ filename="gdk/gdktoplevel.h"
9845+ line="58">Indicates which monitor a surface should span over when in fullscreen mode.</doc>
9846+ <member name="current_monitor"
9847+ value="0"
9848+ c:identifier="GDK_FULLSCREEN_ON_CURRENT_MONITOR"
9849+ glib:nick="current-monitor"
9850+ glib:name="GDK_FULLSCREEN_ON_CURRENT_MONITOR">
9851+ <doc xml:space="preserve"
9852+ filename="gdk/gdktoplevel.h"
9853+ line="60">Fullscreen on current monitor only.</doc>
9854+ </member>
9855+ <member name="all_monitors"
9856+ value="1"
9857+ c:identifier="GDK_FULLSCREEN_ON_ALL_MONITORS"
9858+ glib:nick="all-monitors"
9859+ glib:name="GDK_FULLSCREEN_ON_ALL_MONITORS">
9860+ <doc xml:space="preserve"
9861+ filename="gdk/gdktoplevel.h"
9862+ line="61">Span across all monitors when fullscreen.</doc>
9863+ </member>
9864+ </enumeration>
9865+ <bitfield name="GLAPI"
9866+ version="4.6"
9867+ glib:type-name="GdkGLAPI"
9868+ glib:get-type="gdk_gl_api_get_type"
9869+ c:type="GdkGLAPI">
9870+ <doc xml:space="preserve"
9871+ filename="gdk/gdkglcontext.h"
9872+ line="33">The list of the different APIs that GdkGLContext can potentially support.</doc>
9873+ <member name="gl"
9874+ value="1"
9875+ c:identifier="GDK_GL_API_GL"
9876+ glib:nick="gl"
9877+ glib:name="GDK_GL_API_GL">
9878+ <doc xml:space="preserve"
9879+ filename="gdk/gdkglcontext.h"
9880+ line="35">The OpenGL API</doc>
9881+ </member>
9882+ <member name="gles"
9883+ value="2"
9884+ c:identifier="GDK_GL_API_GLES"
9885+ glib:nick="gles"
9886+ glib:name="GDK_GL_API_GLES">
9887+ <doc xml:space="preserve"
9888+ filename="gdk/gdkglcontext.h"
9889+ line="36">The OpenGL ES API</doc>
9890+ </member>
9891+ </bitfield>
9892+ <class name="GLContext"
9893+ c:symbol-prefix="gl_context"
9894+ c:type="GdkGLContext"
9895+ parent="DrawContext"
9896+ abstract="1"
9897+ glib:type-name="GdkGLContext"
9898+ glib:get-type="gdk_gl_context_get_type">
9899+ <doc xml:space="preserve"
9900+ filename="gdk/gdkglcontext.c"
9901+ line="21">`GdkGLContext` is an object representing a platform-specific
9902+OpenGL draw context.
9903+
9904+`GdkGLContext`s are created for a surface using
9905+[method@Gdk.Surface.create_gl_context], and the context will match
9906+the characteristics of the surface.
9907+
9908+A `GdkGLContext` is not tied to any particular normal framebuffer.
9909+For instance, it cannot draw to the surface back buffer. The GDK
9910+repaint system is in full control of the painting to that. Instead,
9911+you can create render buffers or textures and use [func@cairo_draw_from_gl]
9912+in the draw function of your widget to draw them. Then GDK will handle
9913+the integration of your rendering with that of other widgets.
9914+
9915+Support for `GdkGLContext` is platform-specific and context creation
9916+can fail, returning %NULL context.
9917+
9918+A `GdkGLContext` has to be made "current" in order to start using
9919+it, otherwise any OpenGL call will be ignored.
9920+
9921+## Creating a new OpenGL context
9922+
9923+In order to create a new `GdkGLContext` instance you need a `GdkSurface`,
9924+which you typically get during the realize call of a widget.
9925+
9926+A `GdkGLContext` is not realized until either [method@Gdk.GLContext.make_current]
9927+or [method@Gdk.GLContext.realize] is called. It is possible to specify
9928+details of the GL context like the OpenGL version to be used, or whether
9929+the GL context should have extra state validation enabled after calling
9930+[method@Gdk.Surface.create_gl_context] by calling [method@Gdk.GLContext.realize].
9931+If the realization fails you have the option to change the settings of
9932+the `GdkGLContext` and try again.
9933+
9934+## Using a GdkGLContext
9935+
9936+You will need to make the `GdkGLContext` the current context before issuing
9937+OpenGL calls; the system sends OpenGL commands to whichever context is current.
9938+It is possible to have multiple contexts, so you always need to ensure that
9939+the one which you want to draw with is the current one before issuing commands:
9940+
9941+```c
9942+gdk_gl_context_make_current (context);
9943+```
9944+
9945+You can now perform your drawing using OpenGL commands.
9946+
9947+You can check which `GdkGLContext` is the current one by using
9948+[func@Gdk.GLContext.get_current]; you can also unset any `GdkGLContext`
9949+that is currently set by calling [func@Gdk.GLContext.clear_current].</doc>
9950+ <function name="clear_current"
9951+ c:identifier="gdk_gl_context_clear_current">
9952+ <doc xml:space="preserve"
9953+ filename="gdk/gdkglcontext.c"
9954+ line="1684">Clears the current `GdkGLContext`.
9955+
9956+Any OpenGL call after this function returns will be ignored
9957+until [method@Gdk.GLContext.make_current] is called.</doc>
9958+ <source-position filename="gdk/gdkglcontext.h" line="115"/>
9959+ <return-value transfer-ownership="none">
9960+ <type name="none" c:type="void"/>
9961+ </return-value>
9962+ </function>
9963+ <function name="get_current" c:identifier="gdk_gl_context_get_current">
9964+ <doc xml:space="preserve"
9965+ filename="gdk/gdkglcontext.c"
9966+ line="1732">Retrieves the current `GdkGLContext`.</doc>
9967+ <source-position filename="gdk/gdkglcontext.h" line="113"/>
9968+ <return-value transfer-ownership="none" nullable="1">
9969+ <doc xml:space="preserve"
9970+ filename="gdk/gdkglcontext.c"
9971+ line="1737">the current `GdkGLContext`</doc>
9972+ <type name="GLContext" c:type="GdkGLContext*"/>
9973+ </return-value>
9974+ </function>
9975+ <method name="get_allowed_apis"
9976+ c:identifier="gdk_gl_context_get_allowed_apis"
9977+ glib:get-property="allowed-apis"
9978+ version="4.6">
9979+ <attribute name="org.gtk.Method.get_property" value="allowed-apis"/>
9980+ <doc xml:space="preserve"
9981+ filename="gdk/gdkglcontext.c"
9982+ line="1219">Gets the allowed APIs set via gdk_gl_context_set_allowed_apis().</doc>
9983+ <source-position filename="gdk/gdkglcontext.h" line="97"/>
9984+ <return-value transfer-ownership="none">
9985+ <doc xml:space="preserve"
9986+ filename="gdk/gdkglcontext.c"
9987+ line="1225">the allowed APIs</doc>
9988+ <type name="GLAPI" c:type="GdkGLAPI"/>
9989+ </return-value>
9990+ <parameters>
9991+ <instance-parameter name="self" transfer-ownership="none">
9992+ <doc xml:space="preserve"
9993+ filename="gdk/gdkglcontext.c"
9994+ line="1221">a GL context</doc>
9995+ <type name="GLContext" c:type="GdkGLContext*"/>
9996+ </instance-parameter>
9997+ </parameters>
9998+ </method>
9999+ <method name="get_api"
10000+ c:identifier="gdk_gl_context_get_api"
10001+ glib:get-property="api"
10002+ version="4.6">
10003+ <attribute name="org.gtk.Method.get_property" value="api"/>
10004+ <doc xml:space="preserve"
10005+ filename="gdk/gdkglcontext.c"
10006+ line="1239">Gets the API currently in use.
10007+
10008+If the renderer has not been realized yet, 0 is returned.</doc>
10009+ <source-position filename="gdk/gdkglcontext.h" line="99"/>
10010+ <return-value transfer-ownership="none">
10011+ <doc xml:space="preserve"
10012+ filename="gdk/gdkglcontext.c"
10013+ line="1247">the currently used API</doc>
10014+ <type name="GLAPI" c:type="GdkGLAPI"/>
10015+ </return-value>
10016+ <parameters>
10017+ <instance-parameter name="self" transfer-ownership="none">
10018+ <doc xml:space="preserve"
10019+ filename="gdk/gdkglcontext.c"
10020+ line="1241">a GL context</doc>
10021+ <type name="GLContext" c:type="GdkGLContext*"/>
10022+ </instance-parameter>
10023+ </parameters>
10024+ </method>
10025+ <method name="get_debug_enabled"
10026+ c:identifier="gdk_gl_context_get_debug_enabled">
10027+ <doc xml:space="preserve"
10028+ filename="gdk/gdkglcontext.c"
10029+ line="886">Retrieves whether the context is doing extra validations and runtime checking.
10030+
10031+See [method@Gdk.GLContext.set_debug_enabled].</doc>
10032+ <source-position filename="gdk/gdkglcontext.h" line="87"/>
10033+ <return-value transfer-ownership="none">
10034+ <doc xml:space="preserve"
10035+ filename="gdk/gdkglcontext.c"
10036+ line="894">%TRUE if debugging is enabled</doc>
10037+ <type name="gboolean" c:type="gboolean"/>
10038+ </return-value>
10039+ <parameters>
10040+ <instance-parameter name="context" transfer-ownership="none">
10041+ <doc xml:space="preserve"
10042+ filename="gdk/gdkglcontext.c"
10043+ line="888">a `GdkGLContext`</doc>
10044+ <type name="GLContext" c:type="GdkGLContext*"/>
10045+ </instance-parameter>
10046+ </parameters>
10047+ </method>
10048+ <method name="get_display" c:identifier="gdk_gl_context_get_display">
10049+ <doc xml:space="preserve"
10050+ filename="gdk/gdkglcontext.c"
10051+ line="1600">Retrieves the display the @context is created for</doc>
10052+ <source-position filename="gdk/gdkglcontext.h" line="60"/>
10053+ <return-value transfer-ownership="none" nullable="1">
10054+ <doc xml:space="preserve"
10055+ filename="gdk/gdkglcontext.c"
10056+ line="1606">a `GdkDisplay`</doc>
10057+ <type name="Display" c:type="GdkDisplay*"/>
10058+ </return-value>
10059+ <parameters>
10060+ <instance-parameter name="context" transfer-ownership="none">
10061+ <doc xml:space="preserve"
10062+ filename="gdk/gdkglcontext.c"
10063+ line="1602">a `GdkGLContext`</doc>
10064+ <type name="GLContext" c:type="GdkGLContext*"/>
10065+ </instance-parameter>
10066+ </parameters>
10067+ </method>
10068+ <method name="get_forward_compatible"
10069+ c:identifier="gdk_gl_context_get_forward_compatible">
10070+ <doc xml:space="preserve"
10071+ filename="gdk/gdkglcontext.c"
10072+ line="935">Retrieves whether the context is forward-compatible.
10073+
10074+See [method@Gdk.GLContext.set_forward_compatible].</doc>
10075+ <source-position filename="gdk/gdkglcontext.h" line="92"/>
10076+ <return-value transfer-ownership="none">
10077+ <doc xml:space="preserve"
10078+ filename="gdk/gdkglcontext.c"
10079+ line="943">%TRUE if the context should be forward-compatible</doc>
10080+ <type name="gboolean" c:type="gboolean"/>
10081+ </return-value>
10082+ <parameters>
10083+ <instance-parameter name="context" transfer-ownership="none">
10084+ <doc xml:space="preserve"
10085+ filename="gdk/gdkglcontext.c"
10086+ line="937">a `GdkGLContext`</doc>
10087+ <type name="GLContext" c:type="GdkGLContext*"/>
10088+ </instance-parameter>
10089+ </parameters>
10090+ </method>
10091+ <method name="get_required_version"
10092+ c:identifier="gdk_gl_context_get_required_version">
10093+ <doc xml:space="preserve"
10094+ filename="gdk/gdkglcontext.c"
10095+ line="1057">Retrieves required OpenGL version set as a requirement for the @context
10096+realization. It will not change even if a greater OpenGL version is supported
10097+and used after the @context is realized. See
10098+[method@Gdk.GLContext.get_version] for the real version in use.
10099+
10100+See [method@Gdk.GLContext.set_required_version].</doc>
10101+ <source-position filename="gdk/gdkglcontext.h" line="80"/>
10102+ <return-value transfer-ownership="none">
10103+ <type name="none" c:type="void"/>
10104+ </return-value>
10105+ <parameters>
10106+ <instance-parameter name="context" transfer-ownership="none">
10107+ <doc xml:space="preserve"
10108+ filename="gdk/gdkglcontext.c"
10109+ line="1059">a `GdkGLContext`</doc>
10110+ <type name="GLContext" c:type="GdkGLContext*"/>
10111+ </instance-parameter>
10112+ <parameter name="major"
10113+ direction="out"
10114+ caller-allocates="0"
10115+ transfer-ownership="full"
10116+ nullable="1">
10117+ <doc xml:space="preserve"
10118+ filename="gdk/gdkglcontext.c"
10119+ line="1060">return location for the major version to request</doc>
10120+ <type name="gint" c:type="int*"/>
10121+ </parameter>
10122+ <parameter name="minor"
10123+ direction="out"
10124+ caller-allocates="0"
10125+ transfer-ownership="full"
10126+ nullable="1">
10127+ <doc xml:space="preserve"
10128+ filename="gdk/gdkglcontext.c"
10129+ line="1061">return location for the minor version to request</doc>
10130+ <type name="gint" c:type="int*"/>
10131+ </parameter>
10132+ </parameters>
10133+ </method>
10134+ <method name="get_shared_context"
10135+ c:identifier="gdk_gl_context_get_shared_context"
10136+ glib:get-property="shared-context"
10137+ deprecated="1"
10138+ deprecated-version="4.4">
10139+ <attribute name="org.gtk.Method.get_property" value="shared-context"/>
10140+ <doc xml:space="preserve"
10141+ filename="gdk/gdkglcontext.c"
10142+ line="1632">Used to retrieves the `GdkGLContext` that this @context share data with.
10143+
10144+As many contexts can share data now and no single shared context exists
10145+anymore, this function has been deprecated and now always returns %NULL.</doc>
10146+ <doc-deprecated xml:space="preserve">Use [method@Gdk.GLContext.is_shared] to check if contexts
10147+ can be shared.</doc-deprecated>
10148+ <source-position filename="gdk/gdkglcontext.h" line="64"/>
10149+ <return-value transfer-ownership="none" nullable="1">
10150+ <doc xml:space="preserve"
10151+ filename="gdk/gdkglcontext.c"
10152+ line="1641">%NULL</doc>
10153+ <type name="GLContext" c:type="GdkGLContext*"/>
10154+ </return-value>
10155+ <parameters>
10156+ <instance-parameter name="context" transfer-ownership="none">
10157+ <doc xml:space="preserve"
10158+ filename="gdk/gdkglcontext.c"
10159+ line="1634">a `GdkGLContext`</doc>
10160+ <type name="GLContext" c:type="GdkGLContext*"/>
10161+ </instance-parameter>
10162+ </parameters>
10163+ </method>
10164+ <method name="get_surface" c:identifier="gdk_gl_context_get_surface">
10165+ <doc xml:space="preserve"
10166+ filename="gdk/gdkglcontext.c"
10167+ line="1616">Retrieves the surface used by the @context.</doc>
10168+ <source-position filename="gdk/gdkglcontext.h" line="62"/>
10169+ <return-value transfer-ownership="none" nullable="1">
10170+ <doc xml:space="preserve"
10171+ filename="gdk/gdkglcontext.c"
10172+ line="1622">a `GdkSurface`</doc>
10173+ <type name="Surface" c:type="GdkSurface*"/>
10174+ </return-value>
10175+ <parameters>
10176+ <instance-parameter name="context" transfer-ownership="none">
10177+ <doc xml:space="preserve"
10178+ filename="gdk/gdkglcontext.c"
10179+ line="1618">a `GdkGLContext`</doc>
10180+ <type name="GLContext" c:type="GdkGLContext*"/>
10181+ </instance-parameter>
10182+ </parameters>
10183+ </method>
10184+ <method name="get_use_es" c:identifier="gdk_gl_context_get_use_es">
10185+ <doc xml:space="preserve"
10186+ filename="gdk/gdkglcontext.c"
10187+ line="1332">Checks whether the @context is using an OpenGL or OpenGL ES profile.</doc>
10188+ <source-position filename="gdk/gdkglcontext.h" line="104"/>
10189+ <return-value transfer-ownership="none">
10190+ <doc xml:space="preserve"
10191+ filename="gdk/gdkglcontext.c"
10192+ line="1338">%TRUE if the `GdkGLContext` is using an OpenGL ES profile;
10193+%FALSE if other profile is in use of if the @context has not yet
10194+been realized.</doc>
10195+ <type name="gboolean" c:type="gboolean"/>
10196+ </return-value>
10197+ <parameters>
10198+ <instance-parameter name="context" transfer-ownership="none">
10199+ <doc xml:space="preserve"
10200+ filename="gdk/gdkglcontext.c"
10201+ line="1334">a `GdkGLContext`</doc>
10202+ <type name="GLContext" c:type="GdkGLContext*"/>
10203+ </instance-parameter>
10204+ </parameters>
10205+ </method>
10206+ <method name="get_version" c:identifier="gdk_gl_context_get_version">
10207+ <doc xml:space="preserve"
10208+ filename="gdk/gdkglcontext.c"
10209+ line="1654">Retrieves the OpenGL version of the @context.
10210+
10211+The @context must be realized prior to calling this function.
10212+
10213+If the @context has never been made current, the version cannot
10214+be known and it will return 0 for both @major and @minor.</doc>
10215+ <source-position filename="gdk/gdkglcontext.h" line="66"/>
10216+ <return-value transfer-ownership="none">
10217+ <type name="none" c:type="void"/>
10218+ </return-value>
10219+ <parameters>
10220+ <instance-parameter name="context" transfer-ownership="none">
10221+ <doc xml:space="preserve"
10222+ filename="gdk/gdkglcontext.c"
10223+ line="1656">a `GdkGLContext`</doc>
10224+ <type name="GLContext" c:type="GdkGLContext*"/>
10225+ </instance-parameter>
10226+ <parameter name="major"
10227+ direction="out"
10228+ caller-allocates="0"
10229+ transfer-ownership="full">
10230+ <doc xml:space="preserve"
10231+ filename="gdk/gdkglcontext.c"
10232+ line="1657">return location for the major version</doc>
10233+ <type name="gint" c:type="int*"/>
10234+ </parameter>
10235+ <parameter name="minor"
10236+ direction="out"
10237+ caller-allocates="0"
10238+ transfer-ownership="full">
10239+ <doc xml:space="preserve"
10240+ filename="gdk/gdkglcontext.c"
10241+ line="1658">return location for the minor version</doc>
10242+ <type name="gint" c:type="int*"/>
10243+ </parameter>
10244+ </parameters>
10245+ </method>
10246+ <method name="is_legacy" c:identifier="gdk_gl_context_is_legacy">
10247+ <doc xml:space="preserve"
10248+ filename="gdk/gdkglcontext.c"
10249+ line="1109">Whether the `GdkGLContext` is in legacy mode or not.
10250+
10251+The `GdkGLContext` must be realized before calling this function.
10252+
10253+When realizing a GL context, GDK will try to use the OpenGL 3.2 core
10254+profile; this profile removes all the OpenGL API that was deprecated
10255+prior to the 3.2 version of the specification. If the realization is
10256+successful, this function will return %FALSE.
10257+
10258+If the underlying OpenGL implementation does not support core profiles,
10259+GDK will fall back to a pre-3.2 compatibility profile, and this function
10260+will return %TRUE.
10261+
10262+You can use the value returned by this function to decide which kind
10263+of OpenGL API to use, or whether to do extension discovery, or what
10264+kind of shader programs to load.</doc>
10265+ <source-position filename="gdk/gdkglcontext.h" line="70"/>
10266+ <return-value transfer-ownership="none">
10267+ <doc xml:space="preserve"
10268+ filename="gdk/gdkglcontext.c"
10269+ line="1130">%TRUE if the GL context is in legacy mode</doc>
10270+ <type name="gboolean" c:type="gboolean"/>
10271+ </return-value>
10272+ <parameters>
10273+ <instance-parameter name="context" transfer-ownership="none">
10274+ <doc xml:space="preserve"
10275+ filename="gdk/gdkglcontext.c"
10276+ line="1111">a `GdkGLContext`</doc>
10277+ <type name="GLContext" c:type="GdkGLContext*"/>
10278+ </instance-parameter>
10279+ </parameters>
10280+ </method>
10281+ <method name="is_shared"
10282+ c:identifier="gdk_gl_context_is_shared"
10283+ version="4.4">
10284+ <doc xml:space="preserve"
10285+ filename="gdk/gdkglcontext.c"
10286+ line="1152">Checks if the two GL contexts can share resources.
10287+
10288+When they can, the texture IDs from @other can be used in @self. This
10289+is particularly useful when passing `GdkGLTexture` objects between
10290+different contexts.
10291+
10292+Contexts created for the same display with the same properties will
10293+always be compatible, even if they are created for different surfaces.
10294+For other contexts it depends on the GL backend.
10295+
10296+Both contexts must be realized for this check to succeed. If either one
10297+is not, this function will return %FALSE.</doc>
10298+ <source-position filename="gdk/gdkglcontext.h" line="72"/>
10299+ <return-value transfer-ownership="none">
10300+ <doc xml:space="preserve"
10301+ filename="gdk/gdkglcontext.c"
10302+ line="1170">%TRUE if the two GL contexts are compatible.</doc>
10303+ <type name="gboolean" c:type="gboolean"/>
10304+ </return-value>
10305+ <parameters>
10306+ <instance-parameter name="self" transfer-ownership="none">
10307+ <doc xml:space="preserve"
10308+ filename="gdk/gdkglcontext.c"
10309+ line="1154">a `GdkGLContext`</doc>
10310+ <type name="GLContext" c:type="GdkGLContext*"/>
10311+ </instance-parameter>
10312+ <parameter name="other" transfer-ownership="none">
10313+ <doc xml:space="preserve"
10314+ filename="gdk/gdkglcontext.c"
10315+ line="1155">the `GdkGLContext` that should be compatible with @self</doc>
10316+ <type name="GLContext" c:type="GdkGLContext*"/>
10317+ </parameter>
10318+ </parameters>
10319+ </method>
10320+ <method name="make_current" c:identifier="gdk_gl_context_make_current">
10321+ <doc xml:space="preserve"
10322+ filename="gdk/gdkglcontext.c"
10323+ line="1554">Makes the @context the current one.</doc>
10324+ <source-position filename="gdk/gdkglcontext.h" line="111"/>
10325+ <return-value transfer-ownership="none">
10326+ <type name="none" c:type="void"/>
10327+ </return-value>
10328+ <parameters>
10329+ <instance-parameter name="context" transfer-ownership="none">
10330+ <doc xml:space="preserve"
10331+ filename="gdk/gdkglcontext.c"
10332+ line="1556">a `GdkGLContext`</doc>
10333+ <type name="GLContext" c:type="GdkGLContext*"/>
10334+ </instance-parameter>
10335+ </parameters>
10336+ </method>
10337+ <method name="realize" c:identifier="gdk_gl_context_realize" throws="1">
10338+ <doc xml:space="preserve"
10339+ filename="gdk/gdkglcontext.c"
10340+ line="1453">Realizes the given `GdkGLContext`.
10341+
10342+It is safe to call this function on a realized `GdkGLContext`.</doc>
10343+ <source-position filename="gdk/gdkglcontext.h" line="107"/>
10344+ <return-value transfer-ownership="none">
10345+ <doc xml:space="preserve"
10346+ filename="gdk/gdkglcontext.c"
10347+ line="1462">%TRUE if the context is realized</doc>
10348+ <type name="gboolean" c:type="gboolean"/>
10349+ </return-value>
10350+ <parameters>
10351+ <instance-parameter name="context" transfer-ownership="none">
10352+ <doc xml:space="preserve"
10353+ filename="gdk/gdkglcontext.c"
10354+ line="1455">a `GdkGLContext`</doc>
10355+ <type name="GLContext" c:type="GdkGLContext*"/>
10356+ </instance-parameter>
10357+ </parameters>
10358+ </method>
10359+ <method name="set_allowed_apis"
10360+ c:identifier="gdk_gl_context_set_allowed_apis"
10361+ glib:set-property="allowed-apis"
10362+ version="4.6">
10363+ <attribute name="org.gtk.Method.set_property" value="allowed-apis"/>
10364+ <doc xml:space="preserve"
10365+ filename="gdk/gdkglcontext.c"
10366+ line="1188">Sets the allowed APIs. When gdk_gl_context_realize() is called, only the
10367+allowed APIs will be tried. If you set this to 0, realizing will always fail.
10368+
10369+If you set it on a realized context, the property will not have any effect.
10370+It is only relevant during gdk_gl_context_realize().
10371+
10372+By default, all APIs are allowed.</doc>
10373+ <source-position filename="gdk/gdkglcontext.h" line="94"/>
10374+ <return-value transfer-ownership="none">
10375+ <type name="none" c:type="void"/>
10376+ </return-value>
10377+ <parameters>
10378+ <instance-parameter name="self" transfer-ownership="none">
10379+ <doc xml:space="preserve"
10380+ filename="gdk/gdkglcontext.c"
10381+ line="1190">a GL context</doc>
10382+ <type name="GLContext" c:type="GdkGLContext*"/>
10383+ </instance-parameter>
10384+ <parameter name="apis" transfer-ownership="none">
10385+ <doc xml:space="preserve"
10386+ filename="gdk/gdkglcontext.c"
10387+ line="1191">the allowed APIs</doc>
10388+ <type name="GLAPI" c:type="GdkGLAPI"/>
10389+ </parameter>
10390+ </parameters>
10391+ </method>
10392+ <method name="set_debug_enabled"
10393+ c:identifier="gdk_gl_context_set_debug_enabled">
10394+ <doc xml:space="preserve"
10395+ filename="gdk/gdkglcontext.c"
10396+ line="859">Sets whether the `GdkGLContext` should perform extra validations and
10397+runtime checking.
10398+
10399+This is useful during development, but has additional overhead.
10400+
10401+The `GdkGLContext` must not be realized or made current prior to
10402+calling this function.</doc>
10403+ <source-position filename="gdk/gdkglcontext.h" line="84"/>
10404+ <return-value transfer-ownership="none">
10405+ <type name="none" c:type="void"/>
10406+ </return-value>
10407+ <parameters>
10408+ <instance-parameter name="context" transfer-ownership="none">
10409+ <doc xml:space="preserve"
10410+ filename="gdk/gdkglcontext.c"
10411+ line="861">a `GdkGLContext`</doc>
10412+ <type name="GLContext" c:type="GdkGLContext*"/>
10413+ </instance-parameter>
10414+ <parameter name="enabled" transfer-ownership="none">
10415+ <doc xml:space="preserve"
10416+ filename="gdk/gdkglcontext.c"
10417+ line="862">whether to enable debugging in the context</doc>
10418+ <type name="gboolean" c:type="gboolean"/>
10419+ </parameter>
10420+ </parameters>
10421+ </method>
10422+ <method name="set_forward_compatible"
10423+ c:identifier="gdk_gl_context_set_forward_compatible">
10424+ <doc xml:space="preserve"
10425+ filename="gdk/gdkglcontext.c"
10426+ line="906">Sets whether the `GdkGLContext` should be forward-compatible.
10427+
10428+Forward-compatible contexts must not support OpenGL functionality that
10429+has been marked as deprecated in the requested version; non-forward
10430+compatible contexts, on the other hand, must support both deprecated and
10431+non deprecated functionality.
10432+
10433+The `GdkGLContext` must not be realized or made current prior to calling
10434+this function.</doc>
10435+ <source-position filename="gdk/gdkglcontext.h" line="89"/>
10436+ <return-value transfer-ownership="none">
10437+ <type name="none" c:type="void"/>
10438+ </return-value>
10439+ <parameters>
10440+ <instance-parameter name="context" transfer-ownership="none">
10441+ <doc xml:space="preserve"
10442+ filename="gdk/gdkglcontext.c"
10443+ line="908">a `GdkGLContext`</doc>
10444+ <type name="GLContext" c:type="GdkGLContext*"/>
10445+ </instance-parameter>
10446+ <parameter name="compatible" transfer-ownership="none">
10447+ <doc xml:space="preserve"
10448+ filename="gdk/gdkglcontext.c"
10449+ line="909">whether the context should be forward-compatible</doc>
10450+ <type name="gboolean" c:type="gboolean"/>
10451+ </parameter>
10452+ </parameters>
10453+ </method>
10454+ <method name="set_required_version"
10455+ c:identifier="gdk_gl_context_set_required_version">
10456+ <doc xml:space="preserve"
10457+ filename="gdk/gdkglcontext.c"
10458+ line="997">Sets the major and minor version of OpenGL to request.
10459+
10460+Setting @major and @minor to zero will use the default values.
10461+
10462+Setting @major and @minor lower than the minimum versions required
10463+by GTK will result in the context choosing the minimum version.
10464+
10465+The @context must not be realized or made current prior to calling
10466+this function.</doc>
10467+ <source-position filename="gdk/gdkglcontext.h" line="76"/>
10468+ <return-value transfer-ownership="none">
10469+ <type name="none" c:type="void"/>
10470+ </return-value>
10471+ <parameters>
10472+ <instance-parameter name="context" transfer-ownership="none">
10473+ <doc xml:space="preserve"
10474+ filename="gdk/gdkglcontext.c"
10475+ line="999">a `GdkGLContext`</doc>
10476+ <type name="GLContext" c:type="GdkGLContext*"/>
10477+ </instance-parameter>
10478+ <parameter name="major" transfer-ownership="none">
10479+ <doc xml:space="preserve"
10480+ filename="gdk/gdkglcontext.c"
10481+ line="1000">the major version to request</doc>
10482+ <type name="gint" c:type="int"/>
10483+ </parameter>
10484+ <parameter name="minor" transfer-ownership="none">
10485+ <doc xml:space="preserve"
10486+ filename="gdk/gdkglcontext.c"
10487+ line="1001">the minor version to request</doc>
10488+ <type name="gint" c:type="int"/>
10489+ </parameter>
10490+ </parameters>
10491+ </method>
10492+ <method name="set_use_es" c:identifier="gdk_gl_context_set_use_es">
10493+ <doc xml:space="preserve"
10494+ filename="gdk/gdkglcontext.c"
10495+ line="1288">Requests that GDK create an OpenGL ES context instead of an OpenGL one.
10496+
10497+Not all platforms support OpenGL ES.
10498+
10499+The @context must not have been realized.
10500+
10501+By default, GDK will attempt to automatically detect whether the
10502+underlying GL implementation is OpenGL or OpenGL ES once the @context
10503+is realized.
10504+
10505+You should check the return value of [method@Gdk.GLContext.get_use_es]
10506+after calling [method@Gdk.GLContext.realize] to decide whether to use
10507+the OpenGL or OpenGL ES API, extensions, or shaders.</doc>
10508+ <source-position filename="gdk/gdkglcontext.h" line="101"/>
10509+ <return-value transfer-ownership="none">
10510+ <type name="none" c:type="void"/>
10511+ </return-value>
10512+ <parameters>
10513+ <instance-parameter name="context" transfer-ownership="none">
10514+ <doc xml:space="preserve"
10515+ filename="gdk/gdkglcontext.c"
10516+ line="1290">a `GdkGLContext`</doc>
10517+ <type name="GLContext" c:type="GdkGLContext*"/>
10518+ </instance-parameter>
10519+ <parameter name="use_es" transfer-ownership="none">
10520+ <doc xml:space="preserve"
10521+ filename="gdk/gdkglcontext.c"
10522+ line="1291">whether the context should use OpenGL ES instead of OpenGL,
10523+ or -1 to allow auto-detection</doc>
10524+ <type name="gint" c:type="int"/>
10525+ </parameter>
10526+ </parameters>
10527+ </method>
10528+ <property name="allowed-apis"
10529+ version="4.6"
10530+ writable="1"
10531+ transfer-ownership="none"
10532+ setter="set_allowed_apis"
10533+ getter="get_allowed_apis">
10534+ <attribute name="org.gtk.Property.get"
10535+ value="gdk_gl_context_get_allowed_apis"/>
10536+ <doc xml:space="preserve"
10537+ filename="gdk/gdkglcontext.c"
10538+ line="698">The allowed APIs.</doc>
10539+ <type name="GLAPI"/>
10540+ </property>
10541+ <property name="api"
10542+ version="4.6"
10543+ transfer-ownership="none"
10544+ getter="get_api">
10545+ <attribute name="org.gtk.Property.get" value="gdk_gl_context_get_api"/>
10546+ <doc xml:space="preserve"
10547+ filename="gdk/gdkglcontext.c"
10548+ line="713">The API currently in use.</doc>
10549+ <type name="GLAPI"/>
10550+ </property>
10551+ <property name="shared-context"
10552+ deprecated="1"
10553+ deprecated-version="4.4"
10554+ writable="1"
10555+ construct-only="1"
10556+ transfer-ownership="none"
10557+ getter="get_shared_context">
10558+ <attribute name="org.gtk.Property.get"
10559+ value="gdk_gl_context_get_shared_context"/>
10560+ <doc xml:space="preserve"
10561+ filename="gdk/gdkglcontext.c"
10562+ line="679">Always %NULL
10563+
10564+As many contexts can share data now and no single shared context exists
10565+anymore, this function has been deprecated and now always returns %NULL.</doc>
10566+ <doc-deprecated xml:space="preserve">Use [method@Gdk.GLContext.is_shared] to check if contexts
10567+ can be shared.</doc-deprecated>
10568+ <type name="GLContext"/>
10569+ </property>
10570+ </class>
10571+ <enumeration name="GLError"
10572+ glib:type-name="GdkGLError"
10573+ glib:get-type="gdk_gl_error_get_type"
10574+ c:type="GdkGLError"
10575+ glib:error-domain="gdk-gl-error-quark">
10576+ <doc xml:space="preserve"
10577+ filename="gdk/gdkenums.h"
10578+ line="130">Error enumeration for `GdkGLContext`.</doc>
10579+ <member name="not_available"
10580+ value="0"
10581+ c:identifier="GDK_GL_ERROR_NOT_AVAILABLE"
10582+ glib:nick="not-available"
10583+ glib:name="GDK_GL_ERROR_NOT_AVAILABLE">
10584+ <doc xml:space="preserve"
10585+ filename="gdk/gdkenums.h"
10586+ line="132">OpenGL support is not available</doc>
10587+ </member>
10588+ <member name="unsupported_format"
10589+ value="1"
10590+ c:identifier="GDK_GL_ERROR_UNSUPPORTED_FORMAT"
10591+ glib:nick="unsupported-format"
10592+ glib:name="GDK_GL_ERROR_UNSUPPORTED_FORMAT">
10593+ <doc xml:space="preserve"
10594+ filename="gdk/gdkenums.h"
10595+ line="133">The requested visual format is not supported</doc>
10596+ </member>
10597+ <member name="unsupported_profile"
10598+ value="2"
10599+ c:identifier="GDK_GL_ERROR_UNSUPPORTED_PROFILE"
10600+ glib:nick="unsupported-profile"
10601+ glib:name="GDK_GL_ERROR_UNSUPPORTED_PROFILE">
10602+ <doc xml:space="preserve"
10603+ filename="gdk/gdkenums.h"
10604+ line="134">The requested profile is not supported</doc>
10605+ </member>
10606+ <member name="compilation_failed"
10607+ value="3"
10608+ c:identifier="GDK_GL_ERROR_COMPILATION_FAILED"
10609+ glib:nick="compilation-failed"
10610+ glib:name="GDK_GL_ERROR_COMPILATION_FAILED">
10611+ <doc xml:space="preserve"
10612+ filename="gdk/gdkenums.h"
10613+ line="135">The shader compilation failed</doc>
10614+ </member>
10615+ <member name="link_failed"
10616+ value="4"
10617+ c:identifier="GDK_GL_ERROR_LINK_FAILED"
10618+ glib:nick="link-failed"
10619+ glib:name="GDK_GL_ERROR_LINK_FAILED">
10620+ <doc xml:space="preserve"
10621+ filename="gdk/gdkenums.h"
10622+ line="136">The shader linking failed</doc>
10623+ </member>
10624+ <function name="quark" c:identifier="gdk_gl_error_quark">
10625+ <return-value transfer-ownership="none">
10626+ <type name="GLib.Quark" c:type="GQuark"/>
10627+ </return-value>
10628+ </function>
10629+ </enumeration>
10630+ <class name="GLTexture"
10631+ c:symbol-prefix="gl_texture"
10632+ c:type="GdkGLTexture"
10633+ parent="Texture"
10634+ glib:type-name="GdkGLTexture"
10635+ glib:get-type="gdk_gl_texture_get_type"
10636+ glib:type-struct="GLTextureClass">
10637+ <doc xml:space="preserve"
10638+ filename="gdk/gdkgltexture.c"
10639+ line="31">A GdkTexture representing a GL texture object.</doc>
10640+ <source-position filename="gdk/gdkgltexture.h" line="37"/>
10641+ <implements name="Paintable"/>
10642+ <implements name="Gio.Icon"/>
10643+ <implements name="Gio.LoadableIcon"/>
10644+ <constructor name="new" c:identifier="gdk_gl_texture_new">
10645+ <doc xml:space="preserve"
10646+ filename="gdk/gdkgltexture.c"
10647+ line="415">Creates a new texture for an existing GL texture.
10648+
10649+Note that the GL texture must not be modified until @destroy is called,
10650+which will happen when the GdkTexture object is finalized, or due to
10651+an explicit call of [method@Gdk.GLTexture.release].</doc>
10652+ <source-position filename="gdk/gdkgltexture.h" line="43"/>
10653+ <return-value transfer-ownership="full">
10654+ <doc xml:space="preserve"
10655+ filename="gdk/gdkgltexture.c"
10656+ line="431">A newly-created
10657+ `GdkTexture`</doc>
10658+ <type name="GLTexture" c:type="GdkTexture*"/>
10659+ </return-value>
10660+ <parameters>
10661+ <parameter name="context" transfer-ownership="none">
10662+ <doc xml:space="preserve"
10663+ filename="gdk/gdkgltexture.c"
10664+ line="417">a `GdkGLContext`</doc>
10665+ <type name="GLContext" c:type="GdkGLContext*"/>
10666+ </parameter>
10667+ <parameter name="id" transfer-ownership="none">
10668+ <doc xml:space="preserve"
10669+ filename="gdk/gdkgltexture.c"
10670+ line="418">the ID of a texture that was created with @context</doc>
10671+ <type name="guint" c:type="guint"/>
10672+ </parameter>
10673+ <parameter name="width" transfer-ownership="none">
10674+ <doc xml:space="preserve"
10675+ filename="gdk/gdkgltexture.c"
10676+ line="419">the nominal width of the texture</doc>
10677+ <type name="gint" c:type="int"/>
10678+ </parameter>
10679+ <parameter name="height" transfer-ownership="none">
10680+ <doc xml:space="preserve"
10681+ filename="gdk/gdkgltexture.c"
10682+ line="420">the nominal height of the texture</doc>
10683+ <type name="gint" c:type="int"/>
10684+ </parameter>
10685+ <parameter name="destroy" transfer-ownership="none" scope="async">
10686+ <doc xml:space="preserve"
10687+ filename="gdk/gdkgltexture.c"
10688+ line="421">a destroy notify that will be called when the GL resources
10689+ are released</doc>
10690+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
10691+ </parameter>
10692+ <parameter name="data"
10693+ transfer-ownership="none"
10694+ nullable="1"
10695+ allow-none="1">
10696+ <doc xml:space="preserve"
10697+ filename="gdk/gdkgltexture.c"
10698+ line="423">data that gets passed to @destroy</doc>
10699+ <type name="gpointer" c:type="gpointer"/>
10700+ </parameter>
10701+ </parameters>
10702+ </constructor>
10703+ <method name="release" c:identifier="gdk_gl_texture_release">
10704+ <doc xml:space="preserve"
10705+ filename="gdk/gdkgltexture.c"
10706+ line="278">Releases the GL resources held by a `GdkGLTexture`.
10707+
10708+The texture contents are still available via the
10709+[method@Gdk.Texture.download] function, after this
10710+function has been called.</doc>
10711+ <source-position filename="gdk/gdkgltexture.h" line="51"/>
10712+ <return-value transfer-ownership="none">
10713+ <type name="none" c:type="void"/>
10714+ </return-value>
10715+ <parameters>
10716+ <instance-parameter name="self" transfer-ownership="none">
10717+ <doc xml:space="preserve"
10718+ filename="gdk/gdkgltexture.c"
10719+ line="280">a `GdkTexture` wrapping a GL texture</doc>
10720+ <type name="GLTexture" c:type="GdkGLTexture*"/>
10721+ </instance-parameter>
10722+ </parameters>
10723+ </method>
10724+ </class>
10725+ <record name="GLTextureClass"
10726+ c:type="GdkGLTextureClass"
10727+ disguised="1"
10728+ glib:is-gtype-struct-for="GLTexture">
10729+ <source-position filename="gdk/gdkgltexture.h" line="37"/>
10730+ </record>
10731+ <function-macro name="GL_CONTEXT"
10732+ c:identifier="GDK_GL_CONTEXT"
10733+ introspectable="0">
10734+ <source-position filename="gdk/gdkglcontext.h" line="48"/>
10735+ <parameters>
10736+ <parameter name="obj">
10737+ </parameter>
10738+ </parameters>
10739+ </function-macro>
10740+ <function-macro name="GL_TEXTURE"
10741+ c:identifier="GDK_GL_TEXTURE"
10742+ introspectable="0">
10743+ <source-position filename="gdk/gdkgltexture.h" line="33"/>
10744+ <parameters>
10745+ <parameter name="obj">
10746+ </parameter>
10747+ </parameters>
10748+ </function-macro>
10749+ <class name="GrabBrokenEvent"
10750+ c:symbol-prefix="grab_broken_event"
10751+ c:type="GdkGrabBrokenEvent"
10752+ parent="Event"
10753+ glib:type-name="GdkGrabBrokenEvent"
10754+ glib:get-type="gdk_grab_broken_event_get_type"
10755+ glib:fundamental="1">
10756+ <doc xml:space="preserve"
10757+ filename="gdk/gdkevents.c"
10758+ line="3367">An event related to a broken windowing system grab.</doc>
10759+ <method name="get_grab_surface"
10760+ c:identifier="gdk_grab_broken_event_get_grab_surface">
10761+ <doc xml:space="preserve"
10762+ filename="gdk/gdkevents.c"
10763+ line="3403">Extracts the grab surface from a grab broken event.</doc>
10764+ <source-position filename="gdk/gdkevents.h" line="497"/>
10765+ <return-value transfer-ownership="none">
10766+ <doc xml:space="preserve"
10767+ filename="gdk/gdkevents.c"
10768+ line="3409">the grab surface of @event</doc>
10769+ <type name="Surface" c:type="GdkSurface*"/>
10770+ </return-value>
10771+ <parameters>
10772+ <instance-parameter name="event" transfer-ownership="none">
10773+ <doc xml:space="preserve"
10774+ filename="gdk/gdkevents.c"
10775+ line="3405">a grab broken event</doc>
10776+ <type name="GrabBrokenEvent" c:type="GdkEvent*"/>
10777+ </instance-parameter>
10778+ </parameters>
10779+ </method>
10780+ <method name="get_implicit"
10781+ c:identifier="gdk_grab_broken_event_get_implicit">
10782+ <doc xml:space="preserve"
10783+ filename="gdk/gdkevents.c"
10784+ line="3422">Checks whether the grab broken event is for an implicit grab.</doc>
10785+ <source-position filename="gdk/gdkevents.h" line="499"/>
10786+ <return-value transfer-ownership="none">
10787+ <doc xml:space="preserve"
10788+ filename="gdk/gdkevents.c"
10789+ line="3428">%TRUE if the an implicit grab was broken</doc>
10790+ <type name="gboolean" c:type="gboolean"/>
10791+ </return-value>
10792+ <parameters>
10793+ <instance-parameter name="event" transfer-ownership="none">
10794+ <doc xml:space="preserve"
10795+ filename="gdk/gdkevents.c"
10796+ line="3424">a grab broken event</doc>
10797+ <type name="GrabBrokenEvent" c:type="GdkEvent*"/>
10798+ </instance-parameter>
10799+ </parameters>
10800+ </method>
10801+ </class>
10802+ <enumeration name="Gravity"
10803+ glib:type-name="GdkGravity"
10804+ glib:get-type="gdk_gravity_get_type"
10805+ c:type="GdkGravity">
10806+ <doc xml:space="preserve"
10807+ filename="gdk/gdkenums.h"
10808+ line="40">Defines the reference point of a surface and is used in `GdkPopupLayout`.</doc>
10809+ <member name="north_west"
10810+ value="1"
10811+ c:identifier="GDK_GRAVITY_NORTH_WEST"
10812+ glib:nick="north-west"
10813+ glib:name="GDK_GRAVITY_NORTH_WEST">
10814+ <doc xml:space="preserve"
10815+ filename="gdk/gdkenums.h"
10816+ line="42">the reference point is at the top left corner.</doc>
10817+ </member>
10818+ <member name="north"
10819+ value="2"
10820+ c:identifier="GDK_GRAVITY_NORTH"
10821+ glib:nick="north"
10822+ glib:name="GDK_GRAVITY_NORTH">
10823+ <doc xml:space="preserve"
10824+ filename="gdk/gdkenums.h"
10825+ line="43">the reference point is in the middle of the top edge.</doc>
10826+ </member>
10827+ <member name="north_east"
10828+ value="3"
10829+ c:identifier="GDK_GRAVITY_NORTH_EAST"
10830+ glib:nick="north-east"
10831+ glib:name="GDK_GRAVITY_NORTH_EAST">
10832+ <doc xml:space="preserve"
10833+ filename="gdk/gdkenums.h"
10834+ line="44">the reference point is at the top right corner.</doc>
10835+ </member>
10836+ <member name="west"
10837+ value="4"
10838+ c:identifier="GDK_GRAVITY_WEST"
10839+ glib:nick="west"
10840+ glib:name="GDK_GRAVITY_WEST">
10841+ <doc xml:space="preserve"
10842+ filename="gdk/gdkenums.h"
10843+ line="45">the reference point is at the middle of the left edge.</doc>
10844+ </member>
10845+ <member name="center"
10846+ value="5"
10847+ c:identifier="GDK_GRAVITY_CENTER"
10848+ glib:nick="center"
10849+ glib:name="GDK_GRAVITY_CENTER">
10850+ <doc xml:space="preserve"
10851+ filename="gdk/gdkenums.h"
10852+ line="46">the reference point is at the center of the surface.</doc>
10853+ </member>
10854+ <member name="east"
10855+ value="6"
10856+ c:identifier="GDK_GRAVITY_EAST"
10857+ glib:nick="east"
10858+ glib:name="GDK_GRAVITY_EAST">
10859+ <doc xml:space="preserve"
10860+ filename="gdk/gdkenums.h"
10861+ line="47">the reference point is at the middle of the right edge.</doc>
10862+ </member>
10863+ <member name="south_west"
10864+ value="7"
10865+ c:identifier="GDK_GRAVITY_SOUTH_WEST"
10866+ glib:nick="south-west"
10867+ glib:name="GDK_GRAVITY_SOUTH_WEST">
10868+ <doc xml:space="preserve"
10869+ filename="gdk/gdkenums.h"
10870+ line="48">the reference point is at the lower left corner.</doc>
10871+ </member>
10872+ <member name="south"
10873+ value="8"
10874+ c:identifier="GDK_GRAVITY_SOUTH"
10875+ glib:nick="south"
10876+ glib:name="GDK_GRAVITY_SOUTH">
10877+ <doc xml:space="preserve"
10878+ filename="gdk/gdkenums.h"
10879+ line="49">the reference point is at the middle of the lower edge.</doc>
10880+ </member>
10881+ <member name="south_east"
10882+ value="9"
10883+ c:identifier="GDK_GRAVITY_SOUTH_EAST"
10884+ glib:nick="south-east"
10885+ glib:name="GDK_GRAVITY_SOUTH_EAST">
10886+ <doc xml:space="preserve"
10887+ filename="gdk/gdkenums.h"
10888+ line="50">the reference point is at the lower right corner.</doc>
10889+ </member>
10890+ <member name="static"
10891+ value="10"
10892+ c:identifier="GDK_GRAVITY_STATIC"
10893+ glib:nick="static"
10894+ glib:name="GDK_GRAVITY_STATIC">
10895+ <doc xml:space="preserve"
10896+ filename="gdk/gdkenums.h"
10897+ line="51">the reference point is at the top left corner of the
10898+ surface itself, ignoring window manager decorations.</doc>
10899+ </member>
10900+ </enumeration>
10901+ <function-macro name="IS_APP_LAUNCH_CONTEXT"
10902+ c:identifier="GDK_IS_APP_LAUNCH_CONTEXT"
10903+ introspectable="0">
10904+ <source-position filename="gdk/gdkapplaunchcontext.h" line="35"/>
10905+ <parameters>
10906+ <parameter name="o">
10907+ </parameter>
10908+ </parameters>
10909+ </function-macro>
10910+ <function-macro name="IS_CAIRO_CONTEXT"
10911+ c:identifier="GDK_IS_CAIRO_CONTEXT"
10912+ introspectable="0">
10913+ <source-position filename="gdk/gdkcairocontext.h" line="37"/>
10914+ <parameters>
10915+ <parameter name="obj">
10916+ </parameter>
10917+ </parameters>
10918+ </function-macro>
10919+ <function-macro name="IS_CLIPBOARD"
10920+ c:identifier="GDK_IS_CLIPBOARD"
10921+ introspectable="0">
10922+ <source-position filename="gdk/gdkclipboard.h" line="35"/>
10923+ <parameters>
10924+ <parameter name="obj">
10925+ </parameter>
10926+ </parameters>
10927+ </function-macro>
10928+ <function-macro name="IS_CONTENT_DESERIALIZER"
10929+ c:identifier="GDK_IS_CONTENT_DESERIALIZER"
10930+ introspectable="0">
10931+ <source-position filename="gdk/gdkcontentdeserializer.h" line="33"/>
10932+ <parameters>
10933+ <parameter name="o">
10934+ </parameter>
10935+ </parameters>
10936+ </function-macro>
10937+ <function-macro name="IS_CONTENT_PROVIDER"
10938+ c:identifier="GDK_IS_CONTENT_PROVIDER"
10939+ introspectable="0">
10940+ <source-position filename="gdk/gdkcontentprovider.h" line="34"/>
10941+ <parameters>
10942+ <parameter name="obj">
10943+ </parameter>
10944+ </parameters>
10945+ </function-macro>
10946+ <function-macro name="IS_CONTENT_PROVIDER_CLASS"
10947+ c:identifier="GDK_IS_CONTENT_PROVIDER_CLASS"
10948+ introspectable="0">
10949+ <source-position filename="gdk/gdkcontentprovider.h" line="36"/>
10950+ <parameters>
10951+ <parameter name="klass">
10952+ </parameter>
10953+ </parameters>
10954+ </function-macro>
10955+ <function-macro name="IS_CONTENT_SERIALIZER"
10956+ c:identifier="GDK_IS_CONTENT_SERIALIZER"
10957+ introspectable="0">
10958+ <source-position filename="gdk/gdkcontentserializer.h" line="33"/>
10959+ <parameters>
10960+ <parameter name="o">
10961+ </parameter>
10962+ </parameters>
10963+ </function-macro>
10964+ <function-macro name="IS_CURSOR"
10965+ c:identifier="GDK_IS_CURSOR"
10966+ introspectable="0">
10967+ <source-position filename="gdk/gdkcursor.h" line="39"/>
10968+ <parameters>
10969+ <parameter name="object">
10970+ </parameter>
10971+ </parameters>
10972+ </function-macro>
10973+ <function-macro name="IS_DEVICE"
10974+ c:identifier="GDK_IS_DEVICE"
10975+ introspectable="0">
10976+ <source-position filename="gdk/gdkdevice.h" line="35"/>
10977+ <parameters>
10978+ <parameter name="o">
10979+ </parameter>
10980+ </parameters>
10981+ </function-macro>
10982+ <function-macro name="IS_DEVICE_PAD"
10983+ c:identifier="GDK_IS_DEVICE_PAD"
10984+ introspectable="0">
10985+ <source-position filename="gdk/gdkdevicepad.h" line="34"/>
10986+ <parameters>
10987+ <parameter name="o">
10988+ </parameter>
10989+ </parameters>
10990+ </function-macro>
10991+ <function-macro name="IS_DEVICE_TOOL"
10992+ c:identifier="GDK_IS_DEVICE_TOOL"
10993+ introspectable="0">
10994+ <source-position filename="gdk/gdkdevicetool.h" line="34"/>
10995+ <parameters>
10996+ <parameter name="o">
10997+ </parameter>
10998+ </parameters>
10999+ </function-macro>
11000+ <function-macro name="IS_DISPLAY"
11001+ c:identifier="GDK_IS_DISPLAY"
11002+ introspectable="0">
11003+ <source-position filename="gdk/gdkdisplay.h" line="39"/>
11004+ <parameters>
11005+ <parameter name="object">
11006+ </parameter>
11007+ </parameters>
11008+ </function-macro>
11009+ <function-macro name="IS_DISPLAY_MANAGER"
11010+ c:identifier="GDK_IS_DISPLAY_MANAGER"
11011+ introspectable="0">
11012+ <source-position filename="gdk/gdkdisplaymanager.h" line="39"/>
11013+ <parameters>
11014+ <parameter name="object">
11015+ </parameter>
11016+ </parameters>
11017+ </function-macro>
11018+ <function-macro name="IS_DRAG"
11019+ c:identifier="GDK_IS_DRAG"
11020+ introspectable="0">
11021+ <source-position filename="gdk/gdkdrag.h" line="41"/>
11022+ <parameters>
11023+ <parameter name="object">
11024+ </parameter>
11025+ </parameters>
11026+ </function-macro>
11027+ <function-macro name="IS_DRAW_CONTEXT"
11028+ c:identifier="GDK_IS_DRAW_CONTEXT"
11029+ introspectable="0">
11030+ <source-position filename="gdk/gdkdrawcontext.h" line="35"/>
11031+ <parameters>
11032+ <parameter name="obj">
11033+ </parameter>
11034+ </parameters>
11035+ </function-macro>
11036+ <function-macro name="IS_DROP"
11037+ c:identifier="GDK_IS_DROP"
11038+ introspectable="0">
11039+ <source-position filename="gdk/gdkdrop.h" line="36"/>
11040+ <parameters>
11041+ <parameter name="object">
11042+ </parameter>
11043+ </parameters>
11044+ </function-macro>
11045+ <function-macro name="IS_EVENT"
11046+ c:identifier="GDK_IS_EVENT"
11047+ introspectable="0">
11048+ <source-position filename="gdk/gdkevents.h" line="44"/>
11049+ <parameters>
11050+ <parameter name="obj">
11051+ </parameter>
11052+ </parameters>
11053+ </function-macro>
11054+ <function-macro name="IS_EVENT_TYPE"
11055+ c:identifier="GDK_IS_EVENT_TYPE"
11056+ introspectable="0">
11057+ <source-position filename="gdk/gdkevents.h" line="47"/>
11058+ <parameters>
11059+ <parameter name="event">
11060+ </parameter>
11061+ <parameter name="type">
11062+ </parameter>
11063+ </parameters>
11064+ </function-macro>
11065+ <function-macro name="IS_FRAME_CLOCK"
11066+ c:identifier="GDK_IS_FRAME_CLOCK"
11067+ introspectable="0">
11068+ <source-position filename="gdk/gdkframeclock.h" line="39"/>
11069+ <parameters>
11070+ <parameter name="obj">
11071+ </parameter>
11072+ </parameters>
11073+ </function-macro>
11074+ <function-macro name="IS_FRAME_CLOCK_CLASS"
11075+ c:identifier="GDK_IS_FRAME_CLOCK_CLASS"
11076+ introspectable="0">
11077+ <source-position filename="gdk/gdkframeclock.h" line="40"/>
11078+ <parameters>
11079+ <parameter name="klass">
11080+ </parameter>
11081+ </parameters>
11082+ </function-macro>
11083+ <function-macro name="IS_GL_CONTEXT"
11084+ c:identifier="GDK_IS_GL_CONTEXT"
11085+ introspectable="0">
11086+ <source-position filename="gdk/gdkglcontext.h" line="49"/>
11087+ <parameters>
11088+ <parameter name="obj">
11089+ </parameter>
11090+ </parameters>
11091+ </function-macro>
11092+ <function-macro name="IS_GL_TEXTURE"
11093+ c:identifier="GDK_IS_GL_TEXTURE"
11094+ introspectable="0">
11095+ <source-position filename="gdk/gdkgltexture.h" line="34"/>
11096+ <parameters>
11097+ <parameter name="obj">
11098+ </parameter>
11099+ </parameters>
11100+ </function-macro>
11101+ <function-macro name="IS_MEMORY_TEXTURE"
11102+ c:identifier="GDK_IS_MEMORY_TEXTURE"
11103+ introspectable="0">
11104+ <source-position filename="gdk/gdkmemorytexture.h" line="54"/>
11105+ <parameters>
11106+ <parameter name="obj">
11107+ </parameter>
11108+ </parameters>
11109+ </function-macro>
11110+ <function-macro name="IS_MONITOR"
11111+ c:identifier="GDK_IS_MONITOR"
11112+ introspectable="0">
11113+ <source-position filename="gdk/gdkmonitor.h" line="37"/>
11114+ <parameters>
11115+ <parameter name="object">
11116+ </parameter>
11117+ </parameters>
11118+ </function-macro>
11119+ <function-macro name="IS_SEAT"
11120+ c:identifier="GDK_IS_SEAT"
11121+ introspectable="0">
11122+ <source-position filename="gdk/gdkseat.h" line="36"/>
11123+ <parameters>
11124+ <parameter name="o">
11125+ </parameter>
11126+ </parameters>
11127+ </function-macro>
11128+ <function-macro name="IS_SNAPSHOT"
11129+ c:identifier="GDK_IS_SNAPSHOT"
11130+ introspectable="0">
11131+ <source-position filename="gdk/gdksnapshot.h" line="37"/>
11132+ <parameters>
11133+ <parameter name="obj">
11134+ </parameter>
11135+ </parameters>
11136+ </function-macro>
11137+ <function-macro name="IS_SURFACE"
11138+ c:identifier="GDK_IS_SURFACE"
11139+ introspectable="0">
11140+ <source-position filename="gdk/gdksurface.h" line="46"/>
11141+ <parameters>
11142+ <parameter name="object">
11143+ </parameter>
11144+ </parameters>
11145+ </function-macro>
11146+ <function-macro name="IS_SURFACE_CLASS"
11147+ c:identifier="GDK_IS_SURFACE_CLASS"
11148+ introspectable="0">
11149+ <source-position filename="gdk/gdksurface.h" line="47"/>
11150+ <parameters>
11151+ <parameter name="klass">
11152+ </parameter>
11153+ </parameters>
11154+ </function-macro>
11155+ <function-macro name="IS_TEXTURE"
11156+ c:identifier="GDK_IS_TEXTURE"
11157+ introspectable="0">
11158+ <source-position filename="gdk/gdktexture.h" line="35"/>
11159+ <parameters>
11160+ <parameter name="obj">
11161+ </parameter>
11162+ </parameters>
11163+ </function-macro>
11164+ <function-macro name="IS_VULKAN_CONTEXT"
11165+ c:identifier="GDK_IS_VULKAN_CONTEXT"
11166+ introspectable="0">
11167+ <source-position filename="gdk/gdkvulkancontext.h" line="39"/>
11168+ <parameters>
11169+ <parameter name="obj">
11170+ </parameter>
11171+ </parameters>
11172+ </function-macro>
11173+ <enumeration name="InputSource"
11174+ glib:type-name="GdkInputSource"
11175+ glib:get-type="gdk_input_source_get_type"
11176+ c:type="GdkInputSource">
11177+ <doc xml:space="preserve"
11178+ filename="gdk/gdkdevice.h"
11179+ line="39">An enumeration describing the type of an input device in general terms.</doc>
11180+ <member name="mouse"
11181+ value="0"
11182+ c:identifier="GDK_SOURCE_MOUSE"
11183+ glib:nick="mouse"
11184+ glib:name="GDK_SOURCE_MOUSE">
11185+ <doc xml:space="preserve"
11186+ filename="gdk/gdkdevice.h"
11187+ line="41">the device is a mouse. (This will be reported for the core
11188+ pointer, even if it is something else, such as a trackball.)</doc>
11189+ </member>
11190+ <member name="pen"
11191+ value="1"
11192+ c:identifier="GDK_SOURCE_PEN"
11193+ glib:nick="pen"
11194+ glib:name="GDK_SOURCE_PEN">
11195+ <doc xml:space="preserve"
11196+ filename="gdk/gdkdevice.h"
11197+ line="43">the device is a stylus of a graphics tablet or similar device.</doc>
11198+ </member>
11199+ <member name="keyboard"
11200+ value="2"
11201+ c:identifier="GDK_SOURCE_KEYBOARD"
11202+ glib:nick="keyboard"
11203+ glib:name="GDK_SOURCE_KEYBOARD">
11204+ <doc xml:space="preserve"
11205+ filename="gdk/gdkdevice.h"
11206+ line="44">the device is a keyboard.</doc>
11207+ </member>
11208+ <member name="touchscreen"
11209+ value="3"
11210+ c:identifier="GDK_SOURCE_TOUCHSCREEN"
11211+ glib:nick="touchscreen"
11212+ glib:name="GDK_SOURCE_TOUCHSCREEN">
11213+ <doc xml:space="preserve"
11214+ filename="gdk/gdkdevice.h"
11215+ line="45">the device is a direct-input touch device, such
11216+ as a touchscreen or tablet</doc>
11217+ </member>
11218+ <member name="touchpad"
11219+ value="4"
11220+ c:identifier="GDK_SOURCE_TOUCHPAD"
11221+ glib:nick="touchpad"
11222+ glib:name="GDK_SOURCE_TOUCHPAD">
11223+ <doc xml:space="preserve"
11224+ filename="gdk/gdkdevice.h"
11225+ line="47">the device is an indirect touch device, such
11226+ as a touchpad</doc>
11227+ </member>
11228+ <member name="trackpoint"
11229+ value="5"
11230+ c:identifier="GDK_SOURCE_TRACKPOINT"
11231+ glib:nick="trackpoint"
11232+ glib:name="GDK_SOURCE_TRACKPOINT">
11233+ <doc xml:space="preserve"
11234+ filename="gdk/gdkdevice.h"
11235+ line="49">the device is a trackpoint</doc>
11236+ </member>
11237+ <member name="tablet_pad"
11238+ value="6"
11239+ c:identifier="GDK_SOURCE_TABLET_PAD"
11240+ glib:nick="tablet-pad"
11241+ glib:name="GDK_SOURCE_TABLET_PAD">
11242+ <doc xml:space="preserve"
11243+ filename="gdk/gdkdevice.h"
11244+ line="50">the device is a "pad", a collection of buttons,
11245+ rings and strips found in drawing tablets</doc>
11246+ </member>
11247+ </enumeration>
11248+ <constant name="KEY_0" value="48" c:type="GDK_KEY_0">
11249+ <source-position filename="gdk/gdkkeysyms.h" line="402"/>
11250+ <type name="gint" c:type="gint"/>
11251+ </constant>
11252+ <constant name="KEY_1" value="49" c:type="GDK_KEY_1">
11253+ <source-position filename="gdk/gdkkeysyms.h" line="403"/>
11254+ <type name="gint" c:type="gint"/>
11255+ </constant>
11256+ <constant name="KEY_2" value="50" c:type="GDK_KEY_2">
11257+ <source-position filename="gdk/gdkkeysyms.h" line="404"/>
11258+ <type name="gint" c:type="gint"/>
11259+ </constant>
11260+ <constant name="KEY_3" value="51" c:type="GDK_KEY_3">
11261+ <source-position filename="gdk/gdkkeysyms.h" line="405"/>
11262+ <type name="gint" c:type="gint"/>
11263+ </constant>
11264+ <constant name="KEY_3270_AltCursor"
11265+ value="64784"
11266+ c:type="GDK_KEY_3270_AltCursor">
11267+ <source-position filename="gdk/gdkkeysyms.h" line="370"/>
11268+ <type name="gint" c:type="gint"/>
11269+ </constant>
11270+ <constant name="KEY_3270_Attn" value="64782" c:type="GDK_KEY_3270_Attn">
11271+ <source-position filename="gdk/gdkkeysyms.h" line="368"/>
11272+ <type name="gint" c:type="gint"/>
11273+ </constant>
11274+ <constant name="KEY_3270_BackTab"
11275+ value="64773"
11276+ c:type="GDK_KEY_3270_BackTab">
11277+ <source-position filename="gdk/gdkkeysyms.h" line="359"/>
11278+ <type name="gint" c:type="gint"/>
11279+ </constant>
11280+ <constant name="KEY_3270_ChangeScreen"
11281+ value="64793"
11282+ c:type="GDK_KEY_3270_ChangeScreen">
11283+ <source-position filename="gdk/gdkkeysyms.h" line="379"/>
11284+ <type name="gint" c:type="gint"/>
11285+ </constant>
11286+ <constant name="KEY_3270_Copy" value="64789" c:type="GDK_KEY_3270_Copy">
11287+ <source-position filename="gdk/gdkkeysyms.h" line="375"/>
11288+ <type name="gint" c:type="gint"/>
11289+ </constant>
11290+ <constant name="KEY_3270_CursorBlink"
11291+ value="64783"
11292+ c:type="GDK_KEY_3270_CursorBlink">
11293+ <source-position filename="gdk/gdkkeysyms.h" line="369"/>
11294+ <type name="gint" c:type="gint"/>
11295+ </constant>
11296+ <constant name="KEY_3270_CursorSelect"
11297+ value="64796"
11298+ c:type="GDK_KEY_3270_CursorSelect">
11299+ <source-position filename="gdk/gdkkeysyms.h" line="382"/>
11300+ <type name="gint" c:type="gint"/>
11301+ </constant>
11302+ <constant name="KEY_3270_DeleteWord"
11303+ value="64794"
11304+ c:type="GDK_KEY_3270_DeleteWord">
11305+ <source-position filename="gdk/gdkkeysyms.h" line="380"/>
11306+ <type name="gint" c:type="gint"/>
11307+ </constant>
11308+ <constant name="KEY_3270_Duplicate"
11309+ value="64769"
11310+ c:type="GDK_KEY_3270_Duplicate">
11311+ <source-position filename="gdk/gdkkeysyms.h" line="355"/>
11312+ <type name="gint" c:type="gint"/>
11313+ </constant>
11314+ <constant name="KEY_3270_Enter" value="64798" c:type="GDK_KEY_3270_Enter">
11315+ <source-position filename="gdk/gdkkeysyms.h" line="384"/>
11316+ <type name="gint" c:type="gint"/>
11317+ </constant>
11318+ <constant name="KEY_3270_EraseEOF"
11319+ value="64774"
11320+ c:type="GDK_KEY_3270_EraseEOF">
11321+ <source-position filename="gdk/gdkkeysyms.h" line="360"/>
11322+ <type name="gint" c:type="gint"/>
11323+ </constant>
11324+ <constant name="KEY_3270_EraseInput"
11325+ value="64775"
11326+ c:type="GDK_KEY_3270_EraseInput">
11327+ <source-position filename="gdk/gdkkeysyms.h" line="361"/>
11328+ <type name="gint" c:type="gint"/>
11329+ </constant>
11330+ <constant name="KEY_3270_ExSelect"
11331+ value="64795"
11332+ c:type="GDK_KEY_3270_ExSelect">
11333+ <source-position filename="gdk/gdkkeysyms.h" line="381"/>
11334+ <type name="gint" c:type="gint"/>
11335+ </constant>
11336+ <constant name="KEY_3270_FieldMark"
11337+ value="64770"
11338+ c:type="GDK_KEY_3270_FieldMark">
11339+ <source-position filename="gdk/gdkkeysyms.h" line="356"/>
11340+ <type name="gint" c:type="gint"/>
11341+ </constant>
11342+ <constant name="KEY_3270_Ident" value="64787" c:type="GDK_KEY_3270_Ident">
11343+ <source-position filename="gdk/gdkkeysyms.h" line="373"/>
11344+ <type name="gint" c:type="gint"/>
11345+ </constant>
11346+ <constant name="KEY_3270_Jump" value="64786" c:type="GDK_KEY_3270_Jump">
11347+ <source-position filename="gdk/gdkkeysyms.h" line="372"/>
11348+ <type name="gint" c:type="gint"/>
11349+ </constant>
11350+ <constant name="KEY_3270_KeyClick"
11351+ value="64785"
11352+ c:type="GDK_KEY_3270_KeyClick">
11353+ <source-position filename="gdk/gdkkeysyms.h" line="371"/>
11354+ <type name="gint" c:type="gint"/>
11355+ </constant>
11356+ <constant name="KEY_3270_Left2" value="64772" c:type="GDK_KEY_3270_Left2">
11357+ <source-position filename="gdk/gdkkeysyms.h" line="358"/>
11358+ <type name="gint" c:type="gint"/>
11359+ </constant>
11360+ <constant name="KEY_3270_PA1" value="64778" c:type="GDK_KEY_3270_PA1">
11361+ <source-position filename="gdk/gdkkeysyms.h" line="364"/>
11362+ <type name="gint" c:type="gint"/>
11363+ </constant>
11364+ <constant name="KEY_3270_PA2" value="64779" c:type="GDK_KEY_3270_PA2">
11365+ <source-position filename="gdk/gdkkeysyms.h" line="365"/>
11366+ <type name="gint" c:type="gint"/>
11367+ </constant>
11368+ <constant name="KEY_3270_PA3" value="64780" c:type="GDK_KEY_3270_PA3">
11369+ <source-position filename="gdk/gdkkeysyms.h" line="366"/>
11370+ <type name="gint" c:type="gint"/>
11371+ </constant>
11372+ <constant name="KEY_3270_Play" value="64790" c:type="GDK_KEY_3270_Play">
11373+ <source-position filename="gdk/gdkkeysyms.h" line="376"/>
11374+ <type name="gint" c:type="gint"/>
11375+ </constant>
11376+ <constant name="KEY_3270_PrintScreen"
11377+ value="64797"
11378+ c:type="GDK_KEY_3270_PrintScreen">
11379+ <source-position filename="gdk/gdkkeysyms.h" line="383"/>
11380+ <type name="gint" c:type="gint"/>
11381+ </constant>
11382+ <constant name="KEY_3270_Quit" value="64777" c:type="GDK_KEY_3270_Quit">
11383+ <source-position filename="gdk/gdkkeysyms.h" line="363"/>
11384+ <type name="gint" c:type="gint"/>
11385+ </constant>
11386+ <constant name="KEY_3270_Record"
11387+ value="64792"
11388+ c:type="GDK_KEY_3270_Record">
11389+ <source-position filename="gdk/gdkkeysyms.h" line="378"/>
11390+ <type name="gint" c:type="gint"/>
11391+ </constant>
11392+ <constant name="KEY_3270_Reset" value="64776" c:type="GDK_KEY_3270_Reset">
11393+ <source-position filename="gdk/gdkkeysyms.h" line="362"/>
11394+ <type name="gint" c:type="gint"/>
11395+ </constant>
11396+ <constant name="KEY_3270_Right2"
11397+ value="64771"
11398+ c:type="GDK_KEY_3270_Right2">
11399+ <source-position filename="gdk/gdkkeysyms.h" line="357"/>
11400+ <type name="gint" c:type="gint"/>
11401+ </constant>
11402+ <constant name="KEY_3270_Rule" value="64788" c:type="GDK_KEY_3270_Rule">
11403+ <source-position filename="gdk/gdkkeysyms.h" line="374"/>
11404+ <type name="gint" c:type="gint"/>
11405+ </constant>
11406+ <constant name="KEY_3270_Setup" value="64791" c:type="GDK_KEY_3270_Setup">
11407+ <source-position filename="gdk/gdkkeysyms.h" line="377"/>
11408+ <type name="gint" c:type="gint"/>
11409+ </constant>
11410+ <constant name="KEY_3270_Test" value="64781" c:type="GDK_KEY_3270_Test">
11411+ <source-position filename="gdk/gdkkeysyms.h" line="367"/>
11412+ <type name="gint" c:type="gint"/>
11413+ </constant>
11414+ <constant name="KEY_4" value="52" c:type="GDK_KEY_4">
11415+ <source-position filename="gdk/gdkkeysyms.h" line="406"/>
11416+ <type name="gint" c:type="gint"/>
11417+ </constant>
11418+ <constant name="KEY_5" value="53" c:type="GDK_KEY_5">
11419+ <source-position filename="gdk/gdkkeysyms.h" line="407"/>
11420+ <type name="gint" c:type="gint"/>
11421+ </constant>
11422+ <constant name="KEY_6" value="54" c:type="GDK_KEY_6">
11423+ <source-position filename="gdk/gdkkeysyms.h" line="408"/>
11424+ <type name="gint" c:type="gint"/>
11425+ </constant>
11426+ <constant name="KEY_7" value="55" c:type="GDK_KEY_7">
11427+ <source-position filename="gdk/gdkkeysyms.h" line="409"/>
11428+ <type name="gint" c:type="gint"/>
11429+ </constant>
11430+ <constant name="KEY_8" value="56" c:type="GDK_KEY_8">
11431+ <source-position filename="gdk/gdkkeysyms.h" line="410"/>
11432+ <type name="gint" c:type="gint"/>
11433+ </constant>
11434+ <constant name="KEY_9" value="57" c:type="GDK_KEY_9">
11435+ <source-position filename="gdk/gdkkeysyms.h" line="411"/>
11436+ <type name="gint" c:type="gint"/>
11437+ </constant>
11438+ <constant name="KEY_A" value="65" c:type="GDK_KEY_A">
11439+ <source-position filename="gdk/gdkkeysyms.h" line="419"/>
11440+ <type name="gint" c:type="gint"/>
11441+ </constant>
11442+ <constant name="KEY_AE" value="198" c:type="GDK_KEY_AE">
11443+ <source-position filename="gdk/gdkkeysyms.h" line="520"/>
11444+ <type name="gint" c:type="gint"/>
11445+ </constant>
11446+ <constant name="KEY_Aacute" value="193" c:type="GDK_KEY_Aacute">
11447+ <source-position filename="gdk/gdkkeysyms.h" line="515"/>
11448+ <type name="gint" c:type="gint"/>
11449+ </constant>
11450+ <constant name="KEY_Abelowdot" value="16785056" c:type="GDK_KEY_Abelowdot">
11451+ <source-position filename="gdk/gdkkeysyms.h" line="1655"/>
11452+ <type name="gint" c:type="gint"/>
11453+ </constant>
11454+ <constant name="KEY_Abreve" value="451" c:type="GDK_KEY_Abreve">
11455+ <source-position filename="gdk/gdkkeysyms.h" line="607"/>
11456+ <type name="gint" c:type="gint"/>
11457+ </constant>
11458+ <constant name="KEY_Abreveacute"
11459+ value="16785070"
11460+ c:type="GDK_KEY_Abreveacute">
11461+ <source-position filename="gdk/gdkkeysyms.h" line="1669"/>
11462+ <type name="gint" c:type="gint"/>
11463+ </constant>
11464+ <constant name="KEY_Abrevebelowdot"
11465+ value="16785078"
11466+ c:type="GDK_KEY_Abrevebelowdot">
11467+ <source-position filename="gdk/gdkkeysyms.h" line="1677"/>
11468+ <type name="gint" c:type="gint"/>
11469+ </constant>
11470+ <constant name="KEY_Abrevegrave"
11471+ value="16785072"
11472+ c:type="GDK_KEY_Abrevegrave">
11473+ <source-position filename="gdk/gdkkeysyms.h" line="1671"/>
11474+ <type name="gint" c:type="gint"/>
11475+ </constant>
11476+ <constant name="KEY_Abrevehook"
11477+ value="16785074"
11478+ c:type="GDK_KEY_Abrevehook">
11479+ <source-position filename="gdk/gdkkeysyms.h" line="1673"/>
11480+ <type name="gint" c:type="gint"/>
11481+ </constant>
11482+ <constant name="KEY_Abrevetilde"
11483+ value="16785076"
11484+ c:type="GDK_KEY_Abrevetilde">
11485+ <source-position filename="gdk/gdkkeysyms.h" line="1675"/>
11486+ <type name="gint" c:type="gint"/>
11487+ </constant>
11488+ <constant name="KEY_AccessX_Enable"
11489+ value="65136"
11490+ c:type="GDK_KEY_AccessX_Enable">
11491+ <source-position filename="gdk/gdkkeysyms.h" line="308"/>
11492+ <type name="gint" c:type="gint"/>
11493+ </constant>
11494+ <constant name="KEY_AccessX_Feedback_Enable"
11495+ value="65137"
11496+ c:type="GDK_KEY_AccessX_Feedback_Enable">
11497+ <source-position filename="gdk/gdkkeysyms.h" line="309"/>
11498+ <type name="gint" c:type="gint"/>
11499+ </constant>
11500+ <constant name="KEY_Acircumflex" value="194" c:type="GDK_KEY_Acircumflex">
11501+ <source-position filename="gdk/gdkkeysyms.h" line="516"/>
11502+ <type name="gint" c:type="gint"/>
11503+ </constant>
11504+ <constant name="KEY_Acircumflexacute"
11505+ value="16785060"
11506+ c:type="GDK_KEY_Acircumflexacute">
11507+ <source-position filename="gdk/gdkkeysyms.h" line="1659"/>
11508+ <type name="gint" c:type="gint"/>
11509+ </constant>
11510+ <constant name="KEY_Acircumflexbelowdot"
11511+ value="16785068"
11512+ c:type="GDK_KEY_Acircumflexbelowdot">
11513+ <source-position filename="gdk/gdkkeysyms.h" line="1667"/>
11514+ <type name="gint" c:type="gint"/>
11515+ </constant>
11516+ <constant name="KEY_Acircumflexgrave"
11517+ value="16785062"
11518+ c:type="GDK_KEY_Acircumflexgrave">
11519+ <source-position filename="gdk/gdkkeysyms.h" line="1661"/>
11520+ <type name="gint" c:type="gint"/>
11521+ </constant>
11522+ <constant name="KEY_Acircumflexhook"
11523+ value="16785064"
11524+ c:type="GDK_KEY_Acircumflexhook">
11525+ <source-position filename="gdk/gdkkeysyms.h" line="1663"/>
11526+ <type name="gint" c:type="gint"/>
11527+ </constant>
11528+ <constant name="KEY_Acircumflextilde"
11529+ value="16785066"
11530+ c:type="GDK_KEY_Acircumflextilde">
11531+ <source-position filename="gdk/gdkkeysyms.h" line="1665"/>
11532+ <type name="gint" c:type="gint"/>
11533+ </constant>
11534+ <constant name="KEY_AddFavorite"
11535+ value="269025081"
11536+ c:type="GDK_KEY_AddFavorite">
11537+ <source-position filename="gdk/gdkkeysyms.h" line="2185"/>
11538+ <type name="gint" c:type="gint"/>
11539+ </constant>
11540+ <constant name="KEY_Adiaeresis" value="196" c:type="GDK_KEY_Adiaeresis">
11541+ <source-position filename="gdk/gdkkeysyms.h" line="518"/>
11542+ <type name="gint" c:type="gint"/>
11543+ </constant>
11544+ <constant name="KEY_Agrave" value="192" c:type="GDK_KEY_Agrave">
11545+ <source-position filename="gdk/gdkkeysyms.h" line="514"/>
11546+ <type name="gint" c:type="gint"/>
11547+ </constant>
11548+ <constant name="KEY_Ahook" value="16785058" c:type="GDK_KEY_Ahook">
11549+ <source-position filename="gdk/gdkkeysyms.h" line="1657"/>
11550+ <type name="gint" c:type="gint"/>
11551+ </constant>
11552+ <constant name="KEY_Alt_L" value="65513" c:type="GDK_KEY_Alt_L">
11553+ <source-position filename="gdk/gdkkeysyms.h" line="205"/>
11554+ <type name="gint" c:type="gint"/>
11555+ </constant>
11556+ <constant name="KEY_Alt_R" value="65514" c:type="GDK_KEY_Alt_R">
11557+ <source-position filename="gdk/gdkkeysyms.h" line="206"/>
11558+ <type name="gint" c:type="gint"/>
11559+ </constant>
11560+ <constant name="KEY_Amacron" value="960" c:type="GDK_KEY_Amacron">
11561+ <source-position filename="gdk/gdkkeysyms.h" line="677"/>
11562+ <type name="gint" c:type="gint"/>
11563+ </constant>
11564+ <constant name="KEY_Aogonek" value="417" c:type="GDK_KEY_Aogonek">
11565+ <source-position filename="gdk/gdkkeysyms.h" line="582"/>
11566+ <type name="gint" c:type="gint"/>
11567+ </constant>
11568+ <constant name="KEY_ApplicationLeft"
11569+ value="269025104"
11570+ c:type="GDK_KEY_ApplicationLeft">
11571+ <source-position filename="gdk/gdkkeysyms.h" line="2208"/>
11572+ <type name="gint" c:type="gint"/>
11573+ </constant>
11574+ <constant name="KEY_ApplicationRight"
11575+ value="269025105"
11576+ c:type="GDK_KEY_ApplicationRight">
11577+ <source-position filename="gdk/gdkkeysyms.h" line="2209"/>
11578+ <type name="gint" c:type="gint"/>
11579+ </constant>
11580+ <constant name="KEY_Arabic_0" value="16778848" c:type="GDK_KEY_Arabic_0">
11581+ <source-position filename="gdk/gdkkeysyms.h" line="815"/>
11582+ <type name="gint" c:type="gint"/>
11583+ </constant>
11584+ <constant name="KEY_Arabic_1" value="16778849" c:type="GDK_KEY_Arabic_1">
11585+ <source-position filename="gdk/gdkkeysyms.h" line="816"/>
11586+ <type name="gint" c:type="gint"/>
11587+ </constant>
11588+ <constant name="KEY_Arabic_2" value="16778850" c:type="GDK_KEY_Arabic_2">
11589+ <source-position filename="gdk/gdkkeysyms.h" line="817"/>
11590+ <type name="gint" c:type="gint"/>
11591+ </constant>
11592+ <constant name="KEY_Arabic_3" value="16778851" c:type="GDK_KEY_Arabic_3">
11593+ <source-position filename="gdk/gdkkeysyms.h" line="818"/>
11594+ <type name="gint" c:type="gint"/>
11595+ </constant>
11596+ <constant name="KEY_Arabic_4" value="16778852" c:type="GDK_KEY_Arabic_4">
11597+ <source-position filename="gdk/gdkkeysyms.h" line="819"/>
11598+ <type name="gint" c:type="gint"/>
11599+ </constant>
11600+ <constant name="KEY_Arabic_5" value="16778853" c:type="GDK_KEY_Arabic_5">
11601+ <source-position filename="gdk/gdkkeysyms.h" line="820"/>
11602+ <type name="gint" c:type="gint"/>
11603+ </constant>
11604+ <constant name="KEY_Arabic_6" value="16778854" c:type="GDK_KEY_Arabic_6">
11605+ <source-position filename="gdk/gdkkeysyms.h" line="821"/>
11606+ <type name="gint" c:type="gint"/>
11607+ </constant>
11608+ <constant name="KEY_Arabic_7" value="16778855" c:type="GDK_KEY_Arabic_7">
11609+ <source-position filename="gdk/gdkkeysyms.h" line="822"/>
11610+ <type name="gint" c:type="gint"/>
11611+ </constant>
11612+ <constant name="KEY_Arabic_8" value="16778856" c:type="GDK_KEY_Arabic_8">
11613+ <source-position filename="gdk/gdkkeysyms.h" line="823"/>
11614+ <type name="gint" c:type="gint"/>
11615+ </constant>
11616+ <constant name="KEY_Arabic_9" value="16778857" c:type="GDK_KEY_Arabic_9">
11617+ <source-position filename="gdk/gdkkeysyms.h" line="824"/>
11618+ <type name="gint" c:type="gint"/>
11619+ </constant>
11620+ <constant name="KEY_Arabic_ain" value="1497" c:type="GDK_KEY_Arabic_ain">
11621+ <source-position filename="gdk/gdkkeysyms.h" line="851"/>
11622+ <type name="gint" c:type="gint"/>
11623+ </constant>
11624+ <constant name="KEY_Arabic_alef" value="1479" c:type="GDK_KEY_Arabic_alef">
11625+ <source-position filename="gdk/gdkkeysyms.h" line="833"/>
11626+ <type name="gint" c:type="gint"/>
11627+ </constant>
11628+ <constant name="KEY_Arabic_alefmaksura"
11629+ value="1513"
11630+ c:type="GDK_KEY_Arabic_alefmaksura">
11631+ <source-position filename="gdk/gdkkeysyms.h" line="863"/>
11632+ <type name="gint" c:type="gint"/>
11633+ </constant>
11634+ <constant name="KEY_Arabic_beh" value="1480" c:type="GDK_KEY_Arabic_beh">
11635+ <source-position filename="gdk/gdkkeysyms.h" line="834"/>
11636+ <type name="gint" c:type="gint"/>
11637+ </constant>
11638+ <constant name="KEY_Arabic_comma"
11639+ value="1452"
11640+ c:type="GDK_KEY_Arabic_comma">
11641+ <source-position filename="gdk/gdkkeysyms.h" line="813"/>
11642+ <type name="gint" c:type="gint"/>
11643+ </constant>
11644+ <constant name="KEY_Arabic_dad" value="1494" c:type="GDK_KEY_Arabic_dad">
11645+ <source-position filename="gdk/gdkkeysyms.h" line="848"/>
11646+ <type name="gint" c:type="gint"/>
11647+ </constant>
11648+ <constant name="KEY_Arabic_dal" value="1487" c:type="GDK_KEY_Arabic_dal">
11649+ <source-position filename="gdk/gdkkeysyms.h" line="841"/>
11650+ <type name="gint" c:type="gint"/>
11651+ </constant>
11652+ <constant name="KEY_Arabic_damma"
11653+ value="1519"
11654+ c:type="GDK_KEY_Arabic_damma">
11655+ <source-position filename="gdk/gdkkeysyms.h" line="869"/>
11656+ <type name="gint" c:type="gint"/>
11657+ </constant>
11658+ <constant name="KEY_Arabic_dammatan"
11659+ value="1516"
11660+ c:type="GDK_KEY_Arabic_dammatan">
11661+ <source-position filename="gdk/gdkkeysyms.h" line="866"/>
11662+ <type name="gint" c:type="gint"/>
11663+ </constant>
11664+ <constant name="KEY_Arabic_ddal"
11665+ value="16778888"
11666+ c:type="GDK_KEY_Arabic_ddal">
11667+ <source-position filename="gdk/gdkkeysyms.h" line="811"/>
11668+ <type name="gint" c:type="gint"/>
11669+ </constant>
11670+ <constant name="KEY_Arabic_farsi_yeh"
11671+ value="16778956"
11672+ c:type="GDK_KEY_Arabic_farsi_yeh">
11673+ <source-position filename="gdk/gdkkeysyms.h" line="883"/>
11674+ <type name="gint" c:type="gint"/>
11675+ </constant>
11676+ <constant name="KEY_Arabic_fatha"
11677+ value="1518"
11678+ c:type="GDK_KEY_Arabic_fatha">
11679+ <source-position filename="gdk/gdkkeysyms.h" line="868"/>
11680+ <type name="gint" c:type="gint"/>
11681+ </constant>
11682+ <constant name="KEY_Arabic_fathatan"
11683+ value="1515"
11684+ c:type="GDK_KEY_Arabic_fathatan">
11685+ <source-position filename="gdk/gdkkeysyms.h" line="865"/>
11686+ <type name="gint" c:type="gint"/>
11687+ </constant>
11688+ <constant name="KEY_Arabic_feh" value="1505" c:type="GDK_KEY_Arabic_feh">
11689+ <source-position filename="gdk/gdkkeysyms.h" line="854"/>
11690+ <type name="gint" c:type="gint"/>
11691+ </constant>
11692+ <constant name="KEY_Arabic_fullstop"
11693+ value="16778964"
11694+ c:type="GDK_KEY_Arabic_fullstop">
11695+ <source-position filename="gdk/gdkkeysyms.h" line="814"/>
11696+ <type name="gint" c:type="gint"/>
11697+ </constant>
11698+ <constant name="KEY_Arabic_gaf"
11699+ value="16778927"
11700+ c:type="GDK_KEY_Arabic_gaf">
11701+ <source-position filename="gdk/gdkkeysyms.h" line="879"/>
11702+ <type name="gint" c:type="gint"/>
11703+ </constant>
11704+ <constant name="KEY_Arabic_ghain"
11705+ value="1498"
11706+ c:type="GDK_KEY_Arabic_ghain">
11707+ <source-position filename="gdk/gdkkeysyms.h" line="852"/>
11708+ <type name="gint" c:type="gint"/>
11709+ </constant>
11710+ <constant name="KEY_Arabic_ha" value="1511" c:type="GDK_KEY_Arabic_ha">
11711+ <source-position filename="gdk/gdkkeysyms.h" line="860"/>
11712+ <type name="gint" c:type="gint"/>
11713+ </constant>
11714+ <constant name="KEY_Arabic_hah" value="1485" c:type="GDK_KEY_Arabic_hah">
11715+ <source-position filename="gdk/gdkkeysyms.h" line="839"/>
11716+ <type name="gint" c:type="gint"/>
11717+ </constant>
11718+ <constant name="KEY_Arabic_hamza"
11719+ value="1473"
11720+ c:type="GDK_KEY_Arabic_hamza">
11721+ <source-position filename="gdk/gdkkeysyms.h" line="827"/>
11722+ <type name="gint" c:type="gint"/>
11723+ </constant>
11724+ <constant name="KEY_Arabic_hamza_above"
11725+ value="16778836"
11726+ c:type="GDK_KEY_Arabic_hamza_above">
11727+ <source-position filename="gdk/gdkkeysyms.h" line="874"/>
11728+ <type name="gint" c:type="gint"/>
11729+ </constant>
11730+ <constant name="KEY_Arabic_hamza_below"
11731+ value="16778837"
11732+ c:type="GDK_KEY_Arabic_hamza_below">
11733+ <source-position filename="gdk/gdkkeysyms.h" line="875"/>
11734+ <type name="gint" c:type="gint"/>
11735+ </constant>
11736+ <constant name="KEY_Arabic_hamzaonalef"
11737+ value="1475"
11738+ c:type="GDK_KEY_Arabic_hamzaonalef">
11739+ <source-position filename="gdk/gdkkeysyms.h" line="829"/>
11740+ <type name="gint" c:type="gint"/>
11741+ </constant>
11742+ <constant name="KEY_Arabic_hamzaonwaw"
11743+ value="1476"
11744+ c:type="GDK_KEY_Arabic_hamzaonwaw">
11745+ <source-position filename="gdk/gdkkeysyms.h" line="830"/>
11746+ <type name="gint" c:type="gint"/>
11747+ </constant>
11748+ <constant name="KEY_Arabic_hamzaonyeh"
11749+ value="1478"
11750+ c:type="GDK_KEY_Arabic_hamzaonyeh">
11751+ <source-position filename="gdk/gdkkeysyms.h" line="832"/>
11752+ <type name="gint" c:type="gint"/>
11753+ </constant>
11754+ <constant name="KEY_Arabic_hamzaunderalef"
11755+ value="1477"
11756+ c:type="GDK_KEY_Arabic_hamzaunderalef">
11757+ <source-position filename="gdk/gdkkeysyms.h" line="831"/>
11758+ <type name="gint" c:type="gint"/>
11759+ </constant>
11760+ <constant name="KEY_Arabic_heh" value="1511" c:type="GDK_KEY_Arabic_heh">
11761+ <source-position filename="gdk/gdkkeysyms.h" line="861"/>
11762+ <type name="gint" c:type="gint"/>
11763+ </constant>
11764+ <constant name="KEY_Arabic_heh_doachashmee"
11765+ value="16778942"
11766+ c:type="GDK_KEY_Arabic_heh_doachashmee">
11767+ <source-position filename="gdk/gdkkeysyms.h" line="881"/>
11768+ <type name="gint" c:type="gint"/>
11769+ </constant>
11770+ <constant name="KEY_Arabic_heh_goal"
11771+ value="16778945"
11772+ c:type="GDK_KEY_Arabic_heh_goal">
11773+ <source-position filename="gdk/gdkkeysyms.h" line="885"/>
11774+ <type name="gint" c:type="gint"/>
11775+ </constant>
11776+ <constant name="KEY_Arabic_jeem" value="1484" c:type="GDK_KEY_Arabic_jeem">
11777+ <source-position filename="gdk/gdkkeysyms.h" line="838"/>
11778+ <type name="gint" c:type="gint"/>
11779+ </constant>
11780+ <constant name="KEY_Arabic_jeh"
11781+ value="16778904"
11782+ c:type="GDK_KEY_Arabic_jeh">
11783+ <source-position filename="gdk/gdkkeysyms.h" line="876"/>
11784+ <type name="gint" c:type="gint"/>
11785+ </constant>
11786+ <constant name="KEY_Arabic_kaf" value="1507" c:type="GDK_KEY_Arabic_kaf">
11787+ <source-position filename="gdk/gdkkeysyms.h" line="856"/>
11788+ <type name="gint" c:type="gint"/>
11789+ </constant>
11790+ <constant name="KEY_Arabic_kasra"
11791+ value="1520"
11792+ c:type="GDK_KEY_Arabic_kasra">
11793+ <source-position filename="gdk/gdkkeysyms.h" line="870"/>
11794+ <type name="gint" c:type="gint"/>
11795+ </constant>
11796+ <constant name="KEY_Arabic_kasratan"
11797+ value="1517"
11798+ c:type="GDK_KEY_Arabic_kasratan">
11799+ <source-position filename="gdk/gdkkeysyms.h" line="867"/>
11800+ <type name="gint" c:type="gint"/>
11801+ </constant>
11802+ <constant name="KEY_Arabic_keheh"
11803+ value="16778921"
11804+ c:type="GDK_KEY_Arabic_keheh">
11805+ <source-position filename="gdk/gdkkeysyms.h" line="878"/>
11806+ <type name="gint" c:type="gint"/>
11807+ </constant>
11808+ <constant name="KEY_Arabic_khah" value="1486" c:type="GDK_KEY_Arabic_khah">
11809+ <source-position filename="gdk/gdkkeysyms.h" line="840"/>
11810+ <type name="gint" c:type="gint"/>
11811+ </constant>
11812+ <constant name="KEY_Arabic_lam" value="1508" c:type="GDK_KEY_Arabic_lam">
11813+ <source-position filename="gdk/gdkkeysyms.h" line="857"/>
11814+ <type name="gint" c:type="gint"/>
11815+ </constant>
11816+ <constant name="KEY_Arabic_madda_above"
11817+ value="16778835"
11818+ c:type="GDK_KEY_Arabic_madda_above">
11819+ <source-position filename="gdk/gdkkeysyms.h" line="873"/>
11820+ <type name="gint" c:type="gint"/>
11821+ </constant>
11822+ <constant name="KEY_Arabic_maddaonalef"
11823+ value="1474"
11824+ c:type="GDK_KEY_Arabic_maddaonalef">
11825+ <source-position filename="gdk/gdkkeysyms.h" line="828"/>
11826+ <type name="gint" c:type="gint"/>
11827+ </constant>
11828+ <constant name="KEY_Arabic_meem" value="1509" c:type="GDK_KEY_Arabic_meem">
11829+ <source-position filename="gdk/gdkkeysyms.h" line="858"/>
11830+ <type name="gint" c:type="gint"/>
11831+ </constant>
11832+ <constant name="KEY_Arabic_noon" value="1510" c:type="GDK_KEY_Arabic_noon">
11833+ <source-position filename="gdk/gdkkeysyms.h" line="859"/>
11834+ <type name="gint" c:type="gint"/>
11835+ </constant>
11836+ <constant name="KEY_Arabic_noon_ghunna"
11837+ value="16778938"
11838+ c:type="GDK_KEY_Arabic_noon_ghunna">
11839+ <source-position filename="gdk/gdkkeysyms.h" line="880"/>
11840+ <type name="gint" c:type="gint"/>
11841+ </constant>
11842+ <constant name="KEY_Arabic_peh"
11843+ value="16778878"
11844+ c:type="GDK_KEY_Arabic_peh">
11845+ <source-position filename="gdk/gdkkeysyms.h" line="809"/>
11846+ <type name="gint" c:type="gint"/>
11847+ </constant>
11848+ <constant name="KEY_Arabic_percent"
11849+ value="16778858"
11850+ c:type="GDK_KEY_Arabic_percent">
11851+ <source-position filename="gdk/gdkkeysyms.h" line="806"/>
11852+ <type name="gint" c:type="gint"/>
11853+ </constant>
11854+ <constant name="KEY_Arabic_qaf" value="1506" c:type="GDK_KEY_Arabic_qaf">
11855+ <source-position filename="gdk/gdkkeysyms.h" line="855"/>
11856+ <type name="gint" c:type="gint"/>
11857+ </constant>
11858+ <constant name="KEY_Arabic_question_mark"
11859+ value="1471"
11860+ c:type="GDK_KEY_Arabic_question_mark">
11861+ <source-position filename="gdk/gdkkeysyms.h" line="826"/>
11862+ <type name="gint" c:type="gint"/>
11863+ </constant>
11864+ <constant name="KEY_Arabic_ra" value="1489" c:type="GDK_KEY_Arabic_ra">
11865+ <source-position filename="gdk/gdkkeysyms.h" line="843"/>
11866+ <type name="gint" c:type="gint"/>
11867+ </constant>
11868+ <constant name="KEY_Arabic_rreh"
11869+ value="16778897"
11870+ c:type="GDK_KEY_Arabic_rreh">
11871+ <source-position filename="gdk/gdkkeysyms.h" line="812"/>
11872+ <type name="gint" c:type="gint"/>
11873+ </constant>
11874+ <constant name="KEY_Arabic_sad" value="1493" c:type="GDK_KEY_Arabic_sad">
11875+ <source-position filename="gdk/gdkkeysyms.h" line="847"/>
11876+ <type name="gint" c:type="gint"/>
11877+ </constant>
11878+ <constant name="KEY_Arabic_seen" value="1491" c:type="GDK_KEY_Arabic_seen">
11879+ <source-position filename="gdk/gdkkeysyms.h" line="845"/>
11880+ <type name="gint" c:type="gint"/>
11881+ </constant>
11882+ <constant name="KEY_Arabic_semicolon"
11883+ value="1467"
11884+ c:type="GDK_KEY_Arabic_semicolon">
11885+ <source-position filename="gdk/gdkkeysyms.h" line="825"/>
11886+ <type name="gint" c:type="gint"/>
11887+ </constant>
11888+ <constant name="KEY_Arabic_shadda"
11889+ value="1521"
11890+ c:type="GDK_KEY_Arabic_shadda">
11891+ <source-position filename="gdk/gdkkeysyms.h" line="871"/>
11892+ <type name="gint" c:type="gint"/>
11893+ </constant>
11894+ <constant name="KEY_Arabic_sheen"
11895+ value="1492"
11896+ c:type="GDK_KEY_Arabic_sheen">
11897+ <source-position filename="gdk/gdkkeysyms.h" line="846"/>
11898+ <type name="gint" c:type="gint"/>
11899+ </constant>
11900+ <constant name="KEY_Arabic_sukun"
11901+ value="1522"
11902+ c:type="GDK_KEY_Arabic_sukun">
11903+ <source-position filename="gdk/gdkkeysyms.h" line="872"/>
11904+ <type name="gint" c:type="gint"/>
11905+ </constant>
11906+ <constant name="KEY_Arabic_superscript_alef"
11907+ value="16778864"
11908+ c:type="GDK_KEY_Arabic_superscript_alef">
11909+ <source-position filename="gdk/gdkkeysyms.h" line="807"/>
11910+ <type name="gint" c:type="gint"/>
11911+ </constant>
11912+ <constant name="KEY_Arabic_switch"
11913+ value="65406"
11914+ c:type="GDK_KEY_Arabic_switch">
11915+ <source-position filename="gdk/gdkkeysyms.h" line="886"/>
11916+ <type name="gint" c:type="gint"/>
11917+ </constant>
11918+ <constant name="KEY_Arabic_tah" value="1495" c:type="GDK_KEY_Arabic_tah">
11919+ <source-position filename="gdk/gdkkeysyms.h" line="849"/>
11920+ <type name="gint" c:type="gint"/>
11921+ </constant>
11922+ <constant name="KEY_Arabic_tatweel"
11923+ value="1504"
11924+ c:type="GDK_KEY_Arabic_tatweel">
11925+ <source-position filename="gdk/gdkkeysyms.h" line="853"/>
11926+ <type name="gint" c:type="gint"/>
11927+ </constant>
11928+ <constant name="KEY_Arabic_tcheh"
11929+ value="16778886"
11930+ c:type="GDK_KEY_Arabic_tcheh">
11931+ <source-position filename="gdk/gdkkeysyms.h" line="810"/>
11932+ <type name="gint" c:type="gint"/>
11933+ </constant>
11934+ <constant name="KEY_Arabic_teh" value="1482" c:type="GDK_KEY_Arabic_teh">
11935+ <source-position filename="gdk/gdkkeysyms.h" line="836"/>
11936+ <type name="gint" c:type="gint"/>
11937+ </constant>
11938+ <constant name="KEY_Arabic_tehmarbuta"
11939+ value="1481"
11940+ c:type="GDK_KEY_Arabic_tehmarbuta">
11941+ <source-position filename="gdk/gdkkeysyms.h" line="835"/>
11942+ <type name="gint" c:type="gint"/>
11943+ </constant>
11944+ <constant name="KEY_Arabic_thal" value="1488" c:type="GDK_KEY_Arabic_thal">
11945+ <source-position filename="gdk/gdkkeysyms.h" line="842"/>
11946+ <type name="gint" c:type="gint"/>
11947+ </constant>
11948+ <constant name="KEY_Arabic_theh" value="1483" c:type="GDK_KEY_Arabic_theh">
11949+ <source-position filename="gdk/gdkkeysyms.h" line="837"/>
11950+ <type name="gint" c:type="gint"/>
11951+ </constant>
11952+ <constant name="KEY_Arabic_tteh"
11953+ value="16778873"
11954+ c:type="GDK_KEY_Arabic_tteh">
11955+ <source-position filename="gdk/gdkkeysyms.h" line="808"/>
11956+ <type name="gint" c:type="gint"/>
11957+ </constant>
11958+ <constant name="KEY_Arabic_veh"
11959+ value="16778916"
11960+ c:type="GDK_KEY_Arabic_veh">
11961+ <source-position filename="gdk/gdkkeysyms.h" line="877"/>
11962+ <type name="gint" c:type="gint"/>
11963+ </constant>
11964+ <constant name="KEY_Arabic_waw" value="1512" c:type="GDK_KEY_Arabic_waw">
11965+ <source-position filename="gdk/gdkkeysyms.h" line="862"/>
11966+ <type name="gint" c:type="gint"/>
11967+ </constant>
11968+ <constant name="KEY_Arabic_yeh" value="1514" c:type="GDK_KEY_Arabic_yeh">
11969+ <source-position filename="gdk/gdkkeysyms.h" line="864"/>
11970+ <type name="gint" c:type="gint"/>
11971+ </constant>
11972+ <constant name="KEY_Arabic_yeh_baree"
11973+ value="16778962"
11974+ c:type="GDK_KEY_Arabic_yeh_baree">
11975+ <source-position filename="gdk/gdkkeysyms.h" line="884"/>
11976+ <type name="gint" c:type="gint"/>
11977+ </constant>
11978+ <constant name="KEY_Arabic_zah" value="1496" c:type="GDK_KEY_Arabic_zah">
11979+ <source-position filename="gdk/gdkkeysyms.h" line="850"/>
11980+ <type name="gint" c:type="gint"/>
11981+ </constant>
11982+ <constant name="KEY_Arabic_zain" value="1490" c:type="GDK_KEY_Arabic_zain">
11983+ <source-position filename="gdk/gdkkeysyms.h" line="844"/>
11984+ <type name="gint" c:type="gint"/>
11985+ </constant>
11986+ <constant name="KEY_Aring" value="197" c:type="GDK_KEY_Aring">
11987+ <source-position filename="gdk/gdkkeysyms.h" line="519"/>
11988+ <type name="gint" c:type="gint"/>
11989+ </constant>
11990+ <constant name="KEY_Armenian_AT"
11991+ value="16778552"
11992+ c:type="GDK_KEY_Armenian_AT">
11993+ <source-position filename="gdk/gdkkeysyms.h" line="1535"/>
11994+ <type name="gint" c:type="gint"/>
11995+ </constant>
11996+ <constant name="KEY_Armenian_AYB"
11997+ value="16778545"
11998+ c:type="GDK_KEY_Armenian_AYB">
11999+ <source-position filename="gdk/gdkkeysyms.h" line="1521"/>
12000+ <type name="gint" c:type="gint"/>
12001+ </constant>
12002+ <constant name="KEY_Armenian_BEN"
12003+ value="16778546"
12004+ c:type="GDK_KEY_Armenian_BEN">
12005+ <source-position filename="gdk/gdkkeysyms.h" line="1523"/>
12006+ <type name="gint" c:type="gint"/>
12007+ </constant>
12008+ <constant name="KEY_Armenian_CHA"
12009+ value="16778569"
12010+ c:type="GDK_KEY_Armenian_CHA">
12011+ <source-position filename="gdk/gdkkeysyms.h" line="1569"/>
12012+ <type name="gint" c:type="gint"/>
12013+ </constant>
12014+ <constant name="KEY_Armenian_DA"
12015+ value="16778548"
12016+ c:type="GDK_KEY_Armenian_DA">
12017+ <source-position filename="gdk/gdkkeysyms.h" line="1527"/>
12018+ <type name="gint" c:type="gint"/>
12019+ </constant>
12020+ <constant name="KEY_Armenian_DZA"
12021+ value="16778561"
12022+ c:type="GDK_KEY_Armenian_DZA">
12023+ <source-position filename="gdk/gdkkeysyms.h" line="1553"/>
12024+ <type name="gint" c:type="gint"/>
12025+ </constant>
12026+ <constant name="KEY_Armenian_E"
12027+ value="16778551"
12028+ c:type="GDK_KEY_Armenian_E">
12029+ <source-position filename="gdk/gdkkeysyms.h" line="1533"/>
12030+ <type name="gint" c:type="gint"/>
12031+ </constant>
12032+ <constant name="KEY_Armenian_FE"
12033+ value="16778582"
12034+ c:type="GDK_KEY_Armenian_FE">
12035+ <source-position filename="gdk/gdkkeysyms.h" line="1595"/>
12036+ <type name="gint" c:type="gint"/>
12037+ </constant>
12038+ <constant name="KEY_Armenian_GHAT"
12039+ value="16778562"
12040+ c:type="GDK_KEY_Armenian_GHAT">
12041+ <source-position filename="gdk/gdkkeysyms.h" line="1555"/>
12042+ <type name="gint" c:type="gint"/>
12043+ </constant>
12044+ <constant name="KEY_Armenian_GIM"
12045+ value="16778547"
12046+ c:type="GDK_KEY_Armenian_GIM">
12047+ <source-position filename="gdk/gdkkeysyms.h" line="1525"/>
12048+ <type name="gint" c:type="gint"/>
12049+ </constant>
12050+ <constant name="KEY_Armenian_HI"
12051+ value="16778565"
12052+ c:type="GDK_KEY_Armenian_HI">
12053+ <source-position filename="gdk/gdkkeysyms.h" line="1561"/>
12054+ <type name="gint" c:type="gint"/>
12055+ </constant>
12056+ <constant name="KEY_Armenian_HO"
12057+ value="16778560"
12058+ c:type="GDK_KEY_Armenian_HO">
12059+ <source-position filename="gdk/gdkkeysyms.h" line="1551"/>
12060+ <type name="gint" c:type="gint"/>
12061+ </constant>
12062+ <constant name="KEY_Armenian_INI"
12063+ value="16778555"
12064+ c:type="GDK_KEY_Armenian_INI">
12065+ <source-position filename="gdk/gdkkeysyms.h" line="1541"/>
12066+ <type name="gint" c:type="gint"/>
12067+ </constant>
12068+ <constant name="KEY_Armenian_JE"
12069+ value="16778571"
12070+ c:type="GDK_KEY_Armenian_JE">
12071+ <source-position filename="gdk/gdkkeysyms.h" line="1573"/>
12072+ <type name="gint" c:type="gint"/>
12073+ </constant>
12074+ <constant name="KEY_Armenian_KE"
12075+ value="16778580"
12076+ c:type="GDK_KEY_Armenian_KE">
12077+ <source-position filename="gdk/gdkkeysyms.h" line="1591"/>
12078+ <type name="gint" c:type="gint"/>
12079+ </constant>
12080+ <constant name="KEY_Armenian_KEN"
12081+ value="16778559"
12082+ c:type="GDK_KEY_Armenian_KEN">
12083+ <source-position filename="gdk/gdkkeysyms.h" line="1549"/>
12084+ <type name="gint" c:type="gint"/>
12085+ </constant>
12086+ <constant name="KEY_Armenian_KHE"
12087+ value="16778557"
12088+ c:type="GDK_KEY_Armenian_KHE">
12089+ <source-position filename="gdk/gdkkeysyms.h" line="1545"/>
12090+ <type name="gint" c:type="gint"/>
12091+ </constant>
12092+ <constant name="KEY_Armenian_LYUN"
12093+ value="16778556"
12094+ c:type="GDK_KEY_Armenian_LYUN">
12095+ <source-position filename="gdk/gdkkeysyms.h" line="1543"/>
12096+ <type name="gint" c:type="gint"/>
12097+ </constant>
12098+ <constant name="KEY_Armenian_MEN"
12099+ value="16778564"
12100+ c:type="GDK_KEY_Armenian_MEN">
12101+ <source-position filename="gdk/gdkkeysyms.h" line="1559"/>
12102+ <type name="gint" c:type="gint"/>
12103+ </constant>
12104+ <constant name="KEY_Armenian_NU"
12105+ value="16778566"
12106+ c:type="GDK_KEY_Armenian_NU">
12107+ <source-position filename="gdk/gdkkeysyms.h" line="1563"/>
12108+ <type name="gint" c:type="gint"/>
12109+ </constant>
12110+ <constant name="KEY_Armenian_O"
12111+ value="16778581"
12112+ c:type="GDK_KEY_Armenian_O">
12113+ <source-position filename="gdk/gdkkeysyms.h" line="1593"/>
12114+ <type name="gint" c:type="gint"/>
12115+ </constant>
12116+ <constant name="KEY_Armenian_PE"
12117+ value="16778570"
12118+ c:type="GDK_KEY_Armenian_PE">
12119+ <source-position filename="gdk/gdkkeysyms.h" line="1571"/>
12120+ <type name="gint" c:type="gint"/>
12121+ </constant>
12122+ <constant name="KEY_Armenian_PYUR"
12123+ value="16778579"
12124+ c:type="GDK_KEY_Armenian_PYUR">
12125+ <source-position filename="gdk/gdkkeysyms.h" line="1589"/>
12126+ <type name="gint" c:type="gint"/>
12127+ </constant>
12128+ <constant name="KEY_Armenian_RA"
12129+ value="16778572"
12130+ c:type="GDK_KEY_Armenian_RA">
12131+ <source-position filename="gdk/gdkkeysyms.h" line="1575"/>
12132+ <type name="gint" c:type="gint"/>
12133+ </constant>
12134+ <constant name="KEY_Armenian_RE"
12135+ value="16778576"
12136+ c:type="GDK_KEY_Armenian_RE">
12137+ <source-position filename="gdk/gdkkeysyms.h" line="1583"/>
12138+ <type name="gint" c:type="gint"/>
12139+ </constant>
12140+ <constant name="KEY_Armenian_SE"
12141+ value="16778573"
12142+ c:type="GDK_KEY_Armenian_SE">
12143+ <source-position filename="gdk/gdkkeysyms.h" line="1577"/>
12144+ <type name="gint" c:type="gint"/>
12145+ </constant>
12146+ <constant name="KEY_Armenian_SHA"
12147+ value="16778567"
12148+ c:type="GDK_KEY_Armenian_SHA">
12149+ <source-position filename="gdk/gdkkeysyms.h" line="1565"/>
12150+ <type name="gint" c:type="gint"/>
12151+ </constant>
12152+ <constant name="KEY_Armenian_TCHE"
12153+ value="16778563"
12154+ c:type="GDK_KEY_Armenian_TCHE">
12155+ <source-position filename="gdk/gdkkeysyms.h" line="1557"/>
12156+ <type name="gint" c:type="gint"/>
12157+ </constant>
12158+ <constant name="KEY_Armenian_TO"
12159+ value="16778553"
12160+ c:type="GDK_KEY_Armenian_TO">
12161+ <source-position filename="gdk/gdkkeysyms.h" line="1537"/>
12162+ <type name="gint" c:type="gint"/>
12163+ </constant>
12164+ <constant name="KEY_Armenian_TSA"
12165+ value="16778558"
12166+ c:type="GDK_KEY_Armenian_TSA">
12167+ <source-position filename="gdk/gdkkeysyms.h" line="1547"/>
12168+ <type name="gint" c:type="gint"/>
12169+ </constant>
12170+ <constant name="KEY_Armenian_TSO"
12171+ value="16778577"
12172+ c:type="GDK_KEY_Armenian_TSO">
12173+ <source-position filename="gdk/gdkkeysyms.h" line="1585"/>
12174+ <type name="gint" c:type="gint"/>
12175+ </constant>
12176+ <constant name="KEY_Armenian_TYUN"
12177+ value="16778575"
12178+ c:type="GDK_KEY_Armenian_TYUN">
12179+ <source-position filename="gdk/gdkkeysyms.h" line="1581"/>
12180+ <type name="gint" c:type="gint"/>
12181+ </constant>
12182+ <constant name="KEY_Armenian_VEV"
12183+ value="16778574"
12184+ c:type="GDK_KEY_Armenian_VEV">
12185+ <source-position filename="gdk/gdkkeysyms.h" line="1579"/>
12186+ <type name="gint" c:type="gint"/>
12187+ </constant>
12188+ <constant name="KEY_Armenian_VO"
12189+ value="16778568"
12190+ c:type="GDK_KEY_Armenian_VO">
12191+ <source-position filename="gdk/gdkkeysyms.h" line="1567"/>
12192+ <type name="gint" c:type="gint"/>
12193+ </constant>
12194+ <constant name="KEY_Armenian_VYUN"
12195+ value="16778578"
12196+ c:type="GDK_KEY_Armenian_VYUN">
12197+ <source-position filename="gdk/gdkkeysyms.h" line="1587"/>
12198+ <type name="gint" c:type="gint"/>
12199+ </constant>
12200+ <constant name="KEY_Armenian_YECH"
12201+ value="16778549"
12202+ c:type="GDK_KEY_Armenian_YECH">
12203+ <source-position filename="gdk/gdkkeysyms.h" line="1529"/>
12204+ <type name="gint" c:type="gint"/>
12205+ </constant>
12206+ <constant name="KEY_Armenian_ZA"
12207+ value="16778550"
12208+ c:type="GDK_KEY_Armenian_ZA">
12209+ <source-position filename="gdk/gdkkeysyms.h" line="1531"/>
12210+ <type name="gint" c:type="gint"/>
12211+ </constant>
12212+ <constant name="KEY_Armenian_ZHE"
12213+ value="16778554"
12214+ c:type="GDK_KEY_Armenian_ZHE">
12215+ <source-position filename="gdk/gdkkeysyms.h" line="1539"/>
12216+ <type name="gint" c:type="gint"/>
12217+ </constant>
12218+ <constant name="KEY_Armenian_accent"
12219+ value="16778587"
12220+ c:type="GDK_KEY_Armenian_accent">
12221+ <source-position filename="gdk/gdkkeysyms.h" line="1517"/>
12222+ <type name="gint" c:type="gint"/>
12223+ </constant>
12224+ <constant name="KEY_Armenian_amanak"
12225+ value="16778588"
12226+ c:type="GDK_KEY_Armenian_amanak">
12227+ <source-position filename="gdk/gdkkeysyms.h" line="1516"/>
12228+ <type name="gint" c:type="gint"/>
12229+ </constant>
12230+ <constant name="KEY_Armenian_apostrophe"
12231+ value="16778586"
12232+ c:type="GDK_KEY_Armenian_apostrophe">
12233+ <source-position filename="gdk/gdkkeysyms.h" line="1597"/>
12234+ <type name="gint" c:type="gint"/>
12235+ </constant>
12236+ <constant name="KEY_Armenian_at"
12237+ value="16778600"
12238+ c:type="GDK_KEY_Armenian_at">
12239+ <source-position filename="gdk/gdkkeysyms.h" line="1536"/>
12240+ <type name="gint" c:type="gint"/>
12241+ </constant>
12242+ <constant name="KEY_Armenian_ayb"
12243+ value="16778593"
12244+ c:type="GDK_KEY_Armenian_ayb">
12245+ <source-position filename="gdk/gdkkeysyms.h" line="1522"/>
12246+ <type name="gint" c:type="gint"/>
12247+ </constant>
12248+ <constant name="KEY_Armenian_ben"
12249+ value="16778594"
12250+ c:type="GDK_KEY_Armenian_ben">
12251+ <source-position filename="gdk/gdkkeysyms.h" line="1524"/>
12252+ <type name="gint" c:type="gint"/>
12253+ </constant>
12254+ <constant name="KEY_Armenian_but"
12255+ value="16778589"
12256+ c:type="GDK_KEY_Armenian_but">
12257+ <source-position filename="gdk/gdkkeysyms.h" line="1512"/>
12258+ <type name="gint" c:type="gint"/>
12259+ </constant>
12260+ <constant name="KEY_Armenian_cha"
12261+ value="16778617"
12262+ c:type="GDK_KEY_Armenian_cha">
12263+ <source-position filename="gdk/gdkkeysyms.h" line="1570"/>
12264+ <type name="gint" c:type="gint"/>
12265+ </constant>
12266+ <constant name="KEY_Armenian_da"
12267+ value="16778596"
12268+ c:type="GDK_KEY_Armenian_da">
12269+ <source-position filename="gdk/gdkkeysyms.h" line="1528"/>
12270+ <type name="gint" c:type="gint"/>
12271+ </constant>
12272+ <constant name="KEY_Armenian_dza"
12273+ value="16778609"
12274+ c:type="GDK_KEY_Armenian_dza">
12275+ <source-position filename="gdk/gdkkeysyms.h" line="1554"/>
12276+ <type name="gint" c:type="gint"/>
12277+ </constant>
12278+ <constant name="KEY_Armenian_e"
12279+ value="16778599"
12280+ c:type="GDK_KEY_Armenian_e">
12281+ <source-position filename="gdk/gdkkeysyms.h" line="1534"/>
12282+ <type name="gint" c:type="gint"/>
12283+ </constant>
12284+ <constant name="KEY_Armenian_exclam"
12285+ value="16778588"
12286+ c:type="GDK_KEY_Armenian_exclam">
12287+ <source-position filename="gdk/gdkkeysyms.h" line="1515"/>
12288+ <type name="gint" c:type="gint"/>
12289+ </constant>
12290+ <constant name="KEY_Armenian_fe"
12291+ value="16778630"
12292+ c:type="GDK_KEY_Armenian_fe">
12293+ <source-position filename="gdk/gdkkeysyms.h" line="1596"/>
12294+ <type name="gint" c:type="gint"/>
12295+ </constant>
12296+ <constant name="KEY_Armenian_full_stop"
12297+ value="16778633"
12298+ c:type="GDK_KEY_Armenian_full_stop">
12299+ <source-position filename="gdk/gdkkeysyms.h" line="1509"/>
12300+ <type name="gint" c:type="gint"/>
12301+ </constant>
12302+ <constant name="KEY_Armenian_ghat"
12303+ value="16778610"
12304+ c:type="GDK_KEY_Armenian_ghat">
12305+ <source-position filename="gdk/gdkkeysyms.h" line="1556"/>
12306+ <type name="gint" c:type="gint"/>
12307+ </constant>
12308+ <constant name="KEY_Armenian_gim"
12309+ value="16778595"
12310+ c:type="GDK_KEY_Armenian_gim">
12311+ <source-position filename="gdk/gdkkeysyms.h" line="1526"/>
12312+ <type name="gint" c:type="gint"/>
12313+ </constant>
12314+ <constant name="KEY_Armenian_hi"
12315+ value="16778613"
12316+ c:type="GDK_KEY_Armenian_hi">
12317+ <source-position filename="gdk/gdkkeysyms.h" line="1562"/>
12318+ <type name="gint" c:type="gint"/>
12319+ </constant>
12320+ <constant name="KEY_Armenian_ho"
12321+ value="16778608"
12322+ c:type="GDK_KEY_Armenian_ho">
12323+ <source-position filename="gdk/gdkkeysyms.h" line="1552"/>
12324+ <type name="gint" c:type="gint"/>
12325+ </constant>
12326+ <constant name="KEY_Armenian_hyphen"
12327+ value="16778634"
12328+ c:type="GDK_KEY_Armenian_hyphen">
12329+ <source-position filename="gdk/gdkkeysyms.h" line="1513"/>
12330+ <type name="gint" c:type="gint"/>
12331+ </constant>
12332+ <constant name="KEY_Armenian_ini"
12333+ value="16778603"
12334+ c:type="GDK_KEY_Armenian_ini">
12335+ <source-position filename="gdk/gdkkeysyms.h" line="1542"/>
12336+ <type name="gint" c:type="gint"/>
12337+ </constant>
12338+ <constant name="KEY_Armenian_je"
12339+ value="16778619"
12340+ c:type="GDK_KEY_Armenian_je">
12341+ <source-position filename="gdk/gdkkeysyms.h" line="1574"/>
12342+ <type name="gint" c:type="gint"/>
12343+ </constant>
12344+ <constant name="KEY_Armenian_ke"
12345+ value="16778628"
12346+ c:type="GDK_KEY_Armenian_ke">
12347+ <source-position filename="gdk/gdkkeysyms.h" line="1592"/>
12348+ <type name="gint" c:type="gint"/>
12349+ </constant>
12350+ <constant name="KEY_Armenian_ken"
12351+ value="16778607"
12352+ c:type="GDK_KEY_Armenian_ken">
12353+ <source-position filename="gdk/gdkkeysyms.h" line="1550"/>
12354+ <type name="gint" c:type="gint"/>
12355+ </constant>
12356+ <constant name="KEY_Armenian_khe"
12357+ value="16778605"
12358+ c:type="GDK_KEY_Armenian_khe">
12359+ <source-position filename="gdk/gdkkeysyms.h" line="1546"/>
12360+ <type name="gint" c:type="gint"/>
12361+ </constant>
12362+ <constant name="KEY_Armenian_ligature_ew"
12363+ value="16778631"
12364+ c:type="GDK_KEY_Armenian_ligature_ew">
12365+ <source-position filename="gdk/gdkkeysyms.h" line="1508"/>
12366+ <type name="gint" c:type="gint"/>
12367+ </constant>
12368+ <constant name="KEY_Armenian_lyun"
12369+ value="16778604"
12370+ c:type="GDK_KEY_Armenian_lyun">
12371+ <source-position filename="gdk/gdkkeysyms.h" line="1544"/>
12372+ <type name="gint" c:type="gint"/>
12373+ </constant>
12374+ <constant name="KEY_Armenian_men"
12375+ value="16778612"
12376+ c:type="GDK_KEY_Armenian_men">
12377+ <source-position filename="gdk/gdkkeysyms.h" line="1560"/>
12378+ <type name="gint" c:type="gint"/>
12379+ </constant>
12380+ <constant name="KEY_Armenian_nu"
12381+ value="16778614"
12382+ c:type="GDK_KEY_Armenian_nu">
12383+ <source-position filename="gdk/gdkkeysyms.h" line="1564"/>
12384+ <type name="gint" c:type="gint"/>
12385+ </constant>
12386+ <constant name="KEY_Armenian_o"
12387+ value="16778629"
12388+ c:type="GDK_KEY_Armenian_o">
12389+ <source-position filename="gdk/gdkkeysyms.h" line="1594"/>
12390+ <type name="gint" c:type="gint"/>
12391+ </constant>
12392+ <constant name="KEY_Armenian_paruyk"
12393+ value="16778590"
12394+ c:type="GDK_KEY_Armenian_paruyk">
12395+ <source-position filename="gdk/gdkkeysyms.h" line="1520"/>
12396+ <type name="gint" c:type="gint"/>
12397+ </constant>
12398+ <constant name="KEY_Armenian_pe"
12399+ value="16778618"
12400+ c:type="GDK_KEY_Armenian_pe">
12401+ <source-position filename="gdk/gdkkeysyms.h" line="1572"/>
12402+ <type name="gint" c:type="gint"/>
12403+ </constant>
12404+ <constant name="KEY_Armenian_pyur"
12405+ value="16778627"
12406+ c:type="GDK_KEY_Armenian_pyur">
12407+ <source-position filename="gdk/gdkkeysyms.h" line="1590"/>
12408+ <type name="gint" c:type="gint"/>
12409+ </constant>
12410+ <constant name="KEY_Armenian_question"
12411+ value="16778590"
12412+ c:type="GDK_KEY_Armenian_question">
12413+ <source-position filename="gdk/gdkkeysyms.h" line="1519"/>
12414+ <type name="gint" c:type="gint"/>
12415+ </constant>
12416+ <constant name="KEY_Armenian_ra"
12417+ value="16778620"
12418+ c:type="GDK_KEY_Armenian_ra">
12419+ <source-position filename="gdk/gdkkeysyms.h" line="1576"/>
12420+ <type name="gint" c:type="gint"/>
12421+ </constant>
12422+ <constant name="KEY_Armenian_re"
12423+ value="16778624"
12424+ c:type="GDK_KEY_Armenian_re">
12425+ <source-position filename="gdk/gdkkeysyms.h" line="1584"/>
12426+ <type name="gint" c:type="gint"/>
12427+ </constant>
12428+ <constant name="KEY_Armenian_se"
12429+ value="16778621"
12430+ c:type="GDK_KEY_Armenian_se">
12431+ <source-position filename="gdk/gdkkeysyms.h" line="1578"/>
12432+ <type name="gint" c:type="gint"/>
12433+ </constant>
12434+ <constant name="KEY_Armenian_separation_mark"
12435+ value="16778589"
12436+ c:type="GDK_KEY_Armenian_separation_mark">
12437+ <source-position filename="gdk/gdkkeysyms.h" line="1511"/>
12438+ <type name="gint" c:type="gint"/>
12439+ </constant>
12440+ <constant name="KEY_Armenian_sha"
12441+ value="16778615"
12442+ c:type="GDK_KEY_Armenian_sha">
12443+ <source-position filename="gdk/gdkkeysyms.h" line="1566"/>
12444+ <type name="gint" c:type="gint"/>
12445+ </constant>
12446+ <constant name="KEY_Armenian_shesht"
12447+ value="16778587"
12448+ c:type="GDK_KEY_Armenian_shesht">
12449+ <source-position filename="gdk/gdkkeysyms.h" line="1518"/>
12450+ <type name="gint" c:type="gint"/>
12451+ </constant>
12452+ <constant name="KEY_Armenian_tche"
12453+ value="16778611"
12454+ c:type="GDK_KEY_Armenian_tche">
12455+ <source-position filename="gdk/gdkkeysyms.h" line="1558"/>
12456+ <type name="gint" c:type="gint"/>
12457+ </constant>
12458+ <constant name="KEY_Armenian_to"
12459+ value="16778601"
12460+ c:type="GDK_KEY_Armenian_to">
12461+ <source-position filename="gdk/gdkkeysyms.h" line="1538"/>
12462+ <type name="gint" c:type="gint"/>
12463+ </constant>
12464+ <constant name="KEY_Armenian_tsa"
12465+ value="16778606"
12466+ c:type="GDK_KEY_Armenian_tsa">
12467+ <source-position filename="gdk/gdkkeysyms.h" line="1548"/>
12468+ <type name="gint" c:type="gint"/>
12469+ </constant>
12470+ <constant name="KEY_Armenian_tso"
12471+ value="16778625"
12472+ c:type="GDK_KEY_Armenian_tso">
12473+ <source-position filename="gdk/gdkkeysyms.h" line="1586"/>
12474+ <type name="gint" c:type="gint"/>
12475+ </constant>
12476+ <constant name="KEY_Armenian_tyun"
12477+ value="16778623"
12478+ c:type="GDK_KEY_Armenian_tyun">
12479+ <source-position filename="gdk/gdkkeysyms.h" line="1582"/>
12480+ <type name="gint" c:type="gint"/>
12481+ </constant>
12482+ <constant name="KEY_Armenian_verjaket"
12483+ value="16778633"
12484+ c:type="GDK_KEY_Armenian_verjaket">
12485+ <source-position filename="gdk/gdkkeysyms.h" line="1510"/>
12486+ <type name="gint" c:type="gint"/>
12487+ </constant>
12488+ <constant name="KEY_Armenian_vev"
12489+ value="16778622"
12490+ c:type="GDK_KEY_Armenian_vev">
12491+ <source-position filename="gdk/gdkkeysyms.h" line="1580"/>
12492+ <type name="gint" c:type="gint"/>
12493+ </constant>
12494+ <constant name="KEY_Armenian_vo"
12495+ value="16778616"
12496+ c:type="GDK_KEY_Armenian_vo">
12497+ <source-position filename="gdk/gdkkeysyms.h" line="1568"/>
12498+ <type name="gint" c:type="gint"/>
12499+ </constant>
12500+ <constant name="KEY_Armenian_vyun"
12501+ value="16778626"
12502+ c:type="GDK_KEY_Armenian_vyun">
12503+ <source-position filename="gdk/gdkkeysyms.h" line="1588"/>
12504+ <type name="gint" c:type="gint"/>
12505+ </constant>
12506+ <constant name="KEY_Armenian_yech"
12507+ value="16778597"
12508+ c:type="GDK_KEY_Armenian_yech">
12509+ <source-position filename="gdk/gdkkeysyms.h" line="1530"/>
12510+ <type name="gint" c:type="gint"/>
12511+ </constant>
12512+ <constant name="KEY_Armenian_yentamna"
12513+ value="16778634"
12514+ c:type="GDK_KEY_Armenian_yentamna">
12515+ <source-position filename="gdk/gdkkeysyms.h" line="1514"/>
12516+ <type name="gint" c:type="gint"/>
12517+ </constant>
12518+ <constant name="KEY_Armenian_za"
12519+ value="16778598"
12520+ c:type="GDK_KEY_Armenian_za">
12521+ <source-position filename="gdk/gdkkeysyms.h" line="1532"/>
12522+ <type name="gint" c:type="gint"/>
12523+ </constant>
12524+ <constant name="KEY_Armenian_zhe"
12525+ value="16778602"
12526+ c:type="GDK_KEY_Armenian_zhe">
12527+ <source-position filename="gdk/gdkkeysyms.h" line="1540"/>
12528+ <type name="gint" c:type="gint"/>
12529+ </constant>
12530+ <constant name="KEY_Atilde" value="195" c:type="GDK_KEY_Atilde">
12531+ <source-position filename="gdk/gdkkeysyms.h" line="517"/>
12532+ <type name="gint" c:type="gint"/>
12533+ </constant>
12534+ <constant name="KEY_AudibleBell_Enable"
12535+ value="65146"
12536+ c:type="GDK_KEY_AudibleBell_Enable">
12537+ <source-position filename="gdk/gdkkeysyms.h" line="318"/>
12538+ <type name="gint" c:type="gint"/>
12539+ </constant>
12540+ <constant name="KEY_AudioCycleTrack"
12541+ value="269025179"
12542+ c:type="GDK_KEY_AudioCycleTrack">
12543+ <source-position filename="gdk/gdkkeysyms.h" line="2277"/>
12544+ <type name="gint" c:type="gint"/>
12545+ </constant>
12546+ <constant name="KEY_AudioForward"
12547+ value="269025175"
12548+ c:type="GDK_KEY_AudioForward">
12549+ <source-position filename="gdk/gdkkeysyms.h" line="2273"/>
12550+ <type name="gint" c:type="gint"/>
12551+ </constant>
12552+ <constant name="KEY_AudioLowerVolume"
12553+ value="269025041"
12554+ c:type="GDK_KEY_AudioLowerVolume">
12555+ <source-position filename="gdk/gdkkeysyms.h" line="2145"/>
12556+ <type name="gint" c:type="gint"/>
12557+ </constant>
12558+ <constant name="KEY_AudioMedia"
12559+ value="269025074"
12560+ c:type="GDK_KEY_AudioMedia">
12561+ <source-position filename="gdk/gdkkeysyms.h" line="2178"/>
12562+ <type name="gint" c:type="gint"/>
12563+ </constant>
12564+ <constant name="KEY_AudioMicMute"
12565+ value="269025202"
12566+ c:type="GDK_KEY_AudioMicMute">
12567+ <source-position filename="gdk/gdkkeysyms.h" line="2294"/>
12568+ <type name="gint" c:type="gint"/>
12569+ </constant>
12570+ <constant name="KEY_AudioMute"
12571+ value="269025042"
12572+ c:type="GDK_KEY_AudioMute">
12573+ <source-position filename="gdk/gdkkeysyms.h" line="2146"/>
12574+ <type name="gint" c:type="gint"/>
12575+ </constant>
12576+ <constant name="KEY_AudioNext"
12577+ value="269025047"
12578+ c:type="GDK_KEY_AudioNext">
12579+ <source-position filename="gdk/gdkkeysyms.h" line="2151"/>
12580+ <type name="gint" c:type="gint"/>
12581+ </constant>
12582+ <constant name="KEY_AudioPause"
12583+ value="269025073"
12584+ c:type="GDK_KEY_AudioPause">
12585+ <source-position filename="gdk/gdkkeysyms.h" line="2177"/>
12586+ <type name="gint" c:type="gint"/>
12587+ </constant>
12588+ <constant name="KEY_AudioPlay"
12589+ value="269025044"
12590+ c:type="GDK_KEY_AudioPlay">
12591+ <source-position filename="gdk/gdkkeysyms.h" line="2148"/>
12592+ <type name="gint" c:type="gint"/>
12593+ </constant>
12594+ <constant name="KEY_AudioPreset"
12595+ value="269025206"
12596+ c:type="GDK_KEY_AudioPreset">
12597+ <source-position filename="gdk/gdkkeysyms.h" line="2298"/>
12598+ <type name="gint" c:type="gint"/>
12599+ </constant>
12600+ <constant name="KEY_AudioPrev"
12601+ value="269025046"
12602+ c:type="GDK_KEY_AudioPrev">
12603+ <source-position filename="gdk/gdkkeysyms.h" line="2150"/>
12604+ <type name="gint" c:type="gint"/>
12605+ </constant>
12606+ <constant name="KEY_AudioRaiseVolume"
12607+ value="269025043"
12608+ c:type="GDK_KEY_AudioRaiseVolume">
12609+ <source-position filename="gdk/gdkkeysyms.h" line="2147"/>
12610+ <type name="gint" c:type="gint"/>
12611+ </constant>
12612+ <constant name="KEY_AudioRandomPlay"
12613+ value="269025177"
12614+ c:type="GDK_KEY_AudioRandomPlay">
12615+ <source-position filename="gdk/gdkkeysyms.h" line="2275"/>
12616+ <type name="gint" c:type="gint"/>
12617+ </constant>
12618+ <constant name="KEY_AudioRecord"
12619+ value="269025052"
12620+ c:type="GDK_KEY_AudioRecord">
12621+ <source-position filename="gdk/gdkkeysyms.h" line="2156"/>
12622+ <type name="gint" c:type="gint"/>
12623+ </constant>
12624+ <constant name="KEY_AudioRepeat"
12625+ value="269025176"
12626+ c:type="GDK_KEY_AudioRepeat">
12627+ <source-position filename="gdk/gdkkeysyms.h" line="2274"/>
12628+ <type name="gint" c:type="gint"/>
12629+ </constant>
12630+ <constant name="KEY_AudioRewind"
12631+ value="269025086"
12632+ c:type="GDK_KEY_AudioRewind">
12633+ <source-position filename="gdk/gdkkeysyms.h" line="2190"/>
12634+ <type name="gint" c:type="gint"/>
12635+ </constant>
12636+ <constant name="KEY_AudioStop"
12637+ value="269025045"
12638+ c:type="GDK_KEY_AudioStop">
12639+ <source-position filename="gdk/gdkkeysyms.h" line="2149"/>
12640+ <type name="gint" c:type="gint"/>
12641+ </constant>
12642+ <constant name="KEY_Away" value="269025165" c:type="GDK_KEY_Away">
12643+ <source-position filename="gdk/gdkkeysyms.h" line="2263"/>
12644+ <type name="gint" c:type="gint"/>
12645+ </constant>
12646+ <constant name="KEY_B" value="66" c:type="GDK_KEY_B">
12647+ <source-position filename="gdk/gdkkeysyms.h" line="420"/>
12648+ <type name="gint" c:type="gint"/>
12649+ </constant>
12650+ <constant name="KEY_Babovedot" value="16784898" c:type="GDK_KEY_Babovedot">
12651+ <source-position filename="gdk/gdkkeysyms.h" line="701"/>
12652+ <type name="gint" c:type="gint"/>
12653+ </constant>
12654+ <constant name="KEY_Back" value="269025062" c:type="GDK_KEY_Back">
12655+ <source-position filename="gdk/gdkkeysyms.h" line="2166"/>
12656+ <type name="gint" c:type="gint"/>
12657+ </constant>
12658+ <constant name="KEY_BackForward"
12659+ value="269025087"
12660+ c:type="GDK_KEY_BackForward">
12661+ <source-position filename="gdk/gdkkeysyms.h" line="2191"/>
12662+ <type name="gint" c:type="gint"/>
12663+ </constant>
12664+ <constant name="KEY_BackSpace" value="65288" c:type="GDK_KEY_BackSpace">
12665+ <source-position filename="gdk/gdkkeysyms.h" line="40"/>
12666+ <type name="gint" c:type="gint"/>
12667+ </constant>
12668+ <constant name="KEY_Battery" value="269025171" c:type="GDK_KEY_Battery">
12669+ <source-position filename="gdk/gdkkeysyms.h" line="2269"/>
12670+ <type name="gint" c:type="gint"/>
12671+ </constant>
12672+ <constant name="KEY_Begin" value="65368" c:type="GDK_KEY_Begin">
12673+ <source-position filename="gdk/gdkkeysyms.h" line="85"/>
12674+ <type name="gint" c:type="gint"/>
12675+ </constant>
12676+ <constant name="KEY_Blue" value="269025190" c:type="GDK_KEY_Blue">
12677+ <source-position filename="gdk/gdkkeysyms.h" line="2288"/>
12678+ <type name="gint" c:type="gint"/>
12679+ </constant>
12680+ <constant name="KEY_Bluetooth"
12681+ value="269025172"
12682+ c:type="GDK_KEY_Bluetooth">
12683+ <source-position filename="gdk/gdkkeysyms.h" line="2270"/>
12684+ <type name="gint" c:type="gint"/>
12685+ </constant>
12686+ <constant name="KEY_Book" value="269025106" c:type="GDK_KEY_Book">
12687+ <source-position filename="gdk/gdkkeysyms.h" line="2210"/>
12688+ <type name="gint" c:type="gint"/>
12689+ </constant>
12690+ <constant name="KEY_BounceKeys_Enable"
12691+ value="65140"
12692+ c:type="GDK_KEY_BounceKeys_Enable">
12693+ <source-position filename="gdk/gdkkeysyms.h" line="312"/>
12694+ <type name="gint" c:type="gint"/>
12695+ </constant>
12696+ <constant name="KEY_Break" value="65387" c:type="GDK_KEY_Break">
12697+ <source-position filename="gdk/gdkkeysyms.h" line="96"/>
12698+ <type name="gint" c:type="gint"/>
12699+ </constant>
12700+ <constant name="KEY_BrightnessAdjust"
12701+ value="269025083"
12702+ c:type="GDK_KEY_BrightnessAdjust">
12703+ <source-position filename="gdk/gdkkeysyms.h" line="2187"/>
12704+ <type name="gint" c:type="gint"/>
12705+ </constant>
12706+ <constant name="KEY_Byelorussian_SHORTU"
12707+ value="1726"
12708+ c:type="GDK_KEY_Byelorussian_SHORTU">
12709+ <source-position filename="gdk/gdkkeysyms.h" line="959"/>
12710+ <type name="gint" c:type="gint"/>
12711+ </constant>
12712+ <constant name="KEY_Byelorussian_shortu"
12713+ value="1710"
12714+ c:type="GDK_KEY_Byelorussian_shortu">
12715+ <source-position filename="gdk/gdkkeysyms.h" line="936"/>
12716+ <type name="gint" c:type="gint"/>
12717+ </constant>
12718+ <constant name="KEY_C" value="67" c:type="GDK_KEY_C">
12719+ <source-position filename="gdk/gdkkeysyms.h" line="421"/>
12720+ <type name="gint" c:type="gint"/>
12721+ </constant>
12722+ <constant name="KEY_CD" value="269025107" c:type="GDK_KEY_CD">
12723+ <source-position filename="gdk/gdkkeysyms.h" line="2211"/>
12724+ <type name="gint" c:type="gint"/>
12725+ </constant>
12726+ <constant name="KEY_CH" value="65186" c:type="GDK_KEY_CH">
12727+ <source-position filename="gdk/gdkkeysyms.h" line="351"/>
12728+ <type name="gint" c:type="gint"/>
12729+ </constant>
12730+ <constant name="KEY_C_H" value="65189" c:type="GDK_KEY_C_H">
12731+ <source-position filename="gdk/gdkkeysyms.h" line="354"/>
12732+ <type name="gint" c:type="gint"/>
12733+ </constant>
12734+ <constant name="KEY_C_h" value="65188" c:type="GDK_KEY_C_h">
12735+ <source-position filename="gdk/gdkkeysyms.h" line="353"/>
12736+ <type name="gint" c:type="gint"/>
12737+ </constant>
12738+ <constant name="KEY_Cabovedot" value="709" c:type="GDK_KEY_Cabovedot">
12739+ <source-position filename="gdk/gdkkeysyms.h" line="649"/>
12740+ <type name="gint" c:type="gint"/>
12741+ </constant>
12742+ <constant name="KEY_Cacute" value="454" c:type="GDK_KEY_Cacute">
12743+ <source-position filename="gdk/gdkkeysyms.h" line="609"/>
12744+ <type name="gint" c:type="gint"/>
12745+ </constant>
12746+ <constant name="KEY_Calculator"
12747+ value="269025053"
12748+ c:type="GDK_KEY_Calculator">
12749+ <source-position filename="gdk/gdkkeysyms.h" line="2157"/>
12750+ <type name="gint" c:type="gint"/>
12751+ </constant>
12752+ <constant name="KEY_Calendar" value="269025056" c:type="GDK_KEY_Calendar">
12753+ <source-position filename="gdk/gdkkeysyms.h" line="2160"/>
12754+ <type name="gint" c:type="gint"/>
12755+ </constant>
12756+ <constant name="KEY_Cancel" value="65385" c:type="GDK_KEY_Cancel">
12757+ <source-position filename="gdk/gdkkeysyms.h" line="94"/>
12758+ <type name="gint" c:type="gint"/>
12759+ </constant>
12760+ <constant name="KEY_Caps_Lock" value="65509" c:type="GDK_KEY_Caps_Lock">
12761+ <source-position filename="gdk/gdkkeysyms.h" line="201"/>
12762+ <type name="gint" c:type="gint"/>
12763+ </constant>
12764+ <constant name="KEY_Ccaron" value="456" c:type="GDK_KEY_Ccaron">
12765+ <source-position filename="gdk/gdkkeysyms.h" line="610"/>
12766+ <type name="gint" c:type="gint"/>
12767+ </constant>
12768+ <constant name="KEY_Ccedilla" value="199" c:type="GDK_KEY_Ccedilla">
12769+ <source-position filename="gdk/gdkkeysyms.h" line="521"/>
12770+ <type name="gint" c:type="gint"/>
12771+ </constant>
12772+ <constant name="KEY_Ccircumflex" value="710" c:type="GDK_KEY_Ccircumflex">
12773+ <source-position filename="gdk/gdkkeysyms.h" line="650"/>
12774+ <type name="gint" c:type="gint"/>
12775+ </constant>
12776+ <constant name="KEY_Ch" value="65185" c:type="GDK_KEY_Ch">
12777+ <source-position filename="gdk/gdkkeysyms.h" line="350"/>
12778+ <type name="gint" c:type="gint"/>
12779+ </constant>
12780+ <constant name="KEY_Clear" value="65291" c:type="GDK_KEY_Clear">
12781+ <source-position filename="gdk/gdkkeysyms.h" line="43"/>
12782+ <type name="gint" c:type="gint"/>
12783+ </constant>
12784+ <constant name="KEY_ClearGrab"
12785+ value="269024801"
12786+ c:type="GDK_KEY_ClearGrab">
12787+ <source-position filename="gdk/gdkkeysyms.h" line="2312"/>
12788+ <type name="gint" c:type="gint"/>
12789+ </constant>
12790+ <constant name="KEY_Close" value="269025110" c:type="GDK_KEY_Close">
12791+ <source-position filename="gdk/gdkkeysyms.h" line="2213"/>
12792+ <type name="gint" c:type="gint"/>
12793+ </constant>
12794+ <constant name="KEY_Codeinput" value="65335" c:type="GDK_KEY_Codeinput">
12795+ <source-position filename="gdk/gdkkeysyms.h" line="51"/>
12796+ <type name="gint" c:type="gint"/>
12797+ </constant>
12798+ <constant name="KEY_ColonSign" value="16785569" c:type="GDK_KEY_ColonSign">
12799+ <source-position filename="gdk/gdkkeysyms.h" line="1748"/>
12800+ <type name="gint" c:type="gint"/>
12801+ </constant>
12802+ <constant name="KEY_Community"
12803+ value="269025085"
12804+ c:type="GDK_KEY_Community">
12805+ <source-position filename="gdk/gdkkeysyms.h" line="2189"/>
12806+ <type name="gint" c:type="gint"/>
12807+ </constant>
12808+ <constant name="KEY_ContrastAdjust"
12809+ value="269025058"
12810+ c:type="GDK_KEY_ContrastAdjust">
12811+ <source-position filename="gdk/gdkkeysyms.h" line="2162"/>
12812+ <type name="gint" c:type="gint"/>
12813+ </constant>
12814+ <constant name="KEY_Control_L" value="65507" c:type="GDK_KEY_Control_L">
12815+ <source-position filename="gdk/gdkkeysyms.h" line="199"/>
12816+ <type name="gint" c:type="gint"/>
12817+ </constant>
12818+ <constant name="KEY_Control_R" value="65508" c:type="GDK_KEY_Control_R">
12819+ <source-position filename="gdk/gdkkeysyms.h" line="200"/>
12820+ <type name="gint" c:type="gint"/>
12821+ </constant>
12822+ <constant name="KEY_Copy" value="269025111" c:type="GDK_KEY_Copy">
12823+ <source-position filename="gdk/gdkkeysyms.h" line="2214"/>
12824+ <type name="gint" c:type="gint"/>
12825+ </constant>
12826+ <constant name="KEY_CruzeiroSign"
12827+ value="16785570"
12828+ c:type="GDK_KEY_CruzeiroSign">
12829+ <source-position filename="gdk/gdkkeysyms.h" line="1749"/>
12830+ <type name="gint" c:type="gint"/>
12831+ </constant>
12832+ <constant name="KEY_Cut" value="269025112" c:type="GDK_KEY_Cut">
12833+ <source-position filename="gdk/gdkkeysyms.h" line="2215"/>
12834+ <type name="gint" c:type="gint"/>
12835+ </constant>
12836+ <constant name="KEY_CycleAngle"
12837+ value="269025180"
12838+ c:type="GDK_KEY_CycleAngle">
12839+ <source-position filename="gdk/gdkkeysyms.h" line="2278"/>
12840+ <type name="gint" c:type="gint"/>
12841+ </constant>
12842+ <constant name="KEY_Cyrillic_A" value="1761" c:type="GDK_KEY_Cyrillic_A">
12843+ <source-position filename="gdk/gdkkeysyms.h" line="995"/>
12844+ <type name="gint" c:type="gint"/>
12845+ </constant>
12846+ <constant name="KEY_Cyrillic_BE" value="1762" c:type="GDK_KEY_Cyrillic_BE">
12847+ <source-position filename="gdk/gdkkeysyms.h" line="996"/>
12848+ <type name="gint" c:type="gint"/>
12849+ </constant>
12850+ <constant name="KEY_Cyrillic_CHE"
12851+ value="1790"
12852+ c:type="GDK_KEY_Cyrillic_CHE">
12853+ <source-position filename="gdk/gdkkeysyms.h" line="1024"/>
12854+ <type name="gint" c:type="gint"/>
12855+ </constant>
12856+ <constant name="KEY_Cyrillic_CHE_descender"
12857+ value="16778422"
12858+ c:type="GDK_KEY_Cyrillic_CHE_descender">
12859+ <source-position filename="gdk/gdkkeysyms.h" line="903"/>
12860+ <type name="gint" c:type="gint"/>
12861+ </constant>
12862+ <constant name="KEY_Cyrillic_CHE_vertstroke"
12863+ value="16778424"
12864+ c:type="GDK_KEY_Cyrillic_CHE_vertstroke">
12865+ <source-position filename="gdk/gdkkeysyms.h" line="905"/>
12866+ <type name="gint" c:type="gint"/>
12867+ </constant>
12868+ <constant name="KEY_Cyrillic_DE" value="1764" c:type="GDK_KEY_Cyrillic_DE">
12869+ <source-position filename="gdk/gdkkeysyms.h" line="998"/>
12870+ <type name="gint" c:type="gint"/>
12871+ </constant>
12872+ <constant name="KEY_Cyrillic_DZHE"
12873+ value="1727"
12874+ c:type="GDK_KEY_Cyrillic_DZHE">
12875+ <source-position filename="gdk/gdkkeysyms.h" line="960"/>
12876+ <type name="gint" c:type="gint"/>
12877+ </constant>
12878+ <constant name="KEY_Cyrillic_E" value="1788" c:type="GDK_KEY_Cyrillic_E">
12879+ <source-position filename="gdk/gdkkeysyms.h" line="1022"/>
12880+ <type name="gint" c:type="gint"/>
12881+ </constant>
12882+ <constant name="KEY_Cyrillic_EF" value="1766" c:type="GDK_KEY_Cyrillic_EF">
12883+ <source-position filename="gdk/gdkkeysyms.h" line="1000"/>
12884+ <type name="gint" c:type="gint"/>
12885+ </constant>
12886+ <constant name="KEY_Cyrillic_EL" value="1772" c:type="GDK_KEY_Cyrillic_EL">
12887+ <source-position filename="gdk/gdkkeysyms.h" line="1006"/>
12888+ <type name="gint" c:type="gint"/>
12889+ </constant>
12890+ <constant name="KEY_Cyrillic_EM" value="1773" c:type="GDK_KEY_Cyrillic_EM">
12891+ <source-position filename="gdk/gdkkeysyms.h" line="1007"/>
12892+ <type name="gint" c:type="gint"/>
12893+ </constant>
12894+ <constant name="KEY_Cyrillic_EN" value="1774" c:type="GDK_KEY_Cyrillic_EN">
12895+ <source-position filename="gdk/gdkkeysyms.h" line="1008"/>
12896+ <type name="gint" c:type="gint"/>
12897+ </constant>
12898+ <constant name="KEY_Cyrillic_EN_descender"
12899+ value="16778402"
12900+ c:type="GDK_KEY_Cyrillic_EN_descender">
12901+ <source-position filename="gdk/gdkkeysyms.h" line="895"/>
12902+ <type name="gint" c:type="gint"/>
12903+ </constant>
12904+ <constant name="KEY_Cyrillic_ER" value="1778" c:type="GDK_KEY_Cyrillic_ER">
12905+ <source-position filename="gdk/gdkkeysyms.h" line="1012"/>
12906+ <type name="gint" c:type="gint"/>
12907+ </constant>
12908+ <constant name="KEY_Cyrillic_ES" value="1779" c:type="GDK_KEY_Cyrillic_ES">
12909+ <source-position filename="gdk/gdkkeysyms.h" line="1013"/>
12910+ <type name="gint" c:type="gint"/>
12911+ </constant>
12912+ <constant name="KEY_Cyrillic_GHE"
12913+ value="1767"
12914+ c:type="GDK_KEY_Cyrillic_GHE">
12915+ <source-position filename="gdk/gdkkeysyms.h" line="1001"/>
12916+ <type name="gint" c:type="gint"/>
12917+ </constant>
12918+ <constant name="KEY_Cyrillic_GHE_bar"
12919+ value="16778386"
12920+ c:type="GDK_KEY_Cyrillic_GHE_bar">
12921+ <source-position filename="gdk/gdkkeysyms.h" line="887"/>
12922+ <type name="gint" c:type="gint"/>
12923+ </constant>
12924+ <constant name="KEY_Cyrillic_HA" value="1768" c:type="GDK_KEY_Cyrillic_HA">
12925+ <source-position filename="gdk/gdkkeysyms.h" line="1002"/>
12926+ <type name="gint" c:type="gint"/>
12927+ </constant>
12928+ <constant name="KEY_Cyrillic_HARDSIGN"
12929+ value="1791"
12930+ c:type="GDK_KEY_Cyrillic_HARDSIGN">
12931+ <source-position filename="gdk/gdkkeysyms.h" line="1025"/>
12932+ <type name="gint" c:type="gint"/>
12933+ </constant>
12934+ <constant name="KEY_Cyrillic_HA_descender"
12935+ value="16778418"
12936+ c:type="GDK_KEY_Cyrillic_HA_descender">
12937+ <source-position filename="gdk/gdkkeysyms.h" line="901"/>
12938+ <type name="gint" c:type="gint"/>
12939+ </constant>
12940+ <constant name="KEY_Cyrillic_I" value="1769" c:type="GDK_KEY_Cyrillic_I">
12941+ <source-position filename="gdk/gdkkeysyms.h" line="1003"/>
12942+ <type name="gint" c:type="gint"/>
12943+ </constant>
12944+ <constant name="KEY_Cyrillic_IE" value="1765" c:type="GDK_KEY_Cyrillic_IE">
12945+ <source-position filename="gdk/gdkkeysyms.h" line="999"/>
12946+ <type name="gint" c:type="gint"/>
12947+ </constant>
12948+ <constant name="KEY_Cyrillic_IO" value="1715" c:type="GDK_KEY_Cyrillic_IO">
12949+ <source-position filename="gdk/gdkkeysyms.h" line="942"/>
12950+ <type name="gint" c:type="gint"/>
12951+ </constant>
12952+ <constant name="KEY_Cyrillic_I_macron"
12953+ value="16778466"
12954+ c:type="GDK_KEY_Cyrillic_I_macron">
12955+ <source-position filename="gdk/gdkkeysyms.h" line="911"/>
12956+ <type name="gint" c:type="gint"/>
12957+ </constant>
12958+ <constant name="KEY_Cyrillic_JE" value="1720" c:type="GDK_KEY_Cyrillic_JE">
12959+ <source-position filename="gdk/gdkkeysyms.h" line="950"/>
12960+ <type name="gint" c:type="gint"/>
12961+ </constant>
12962+ <constant name="KEY_Cyrillic_KA" value="1771" c:type="GDK_KEY_Cyrillic_KA">
12963+ <source-position filename="gdk/gdkkeysyms.h" line="1005"/>
12964+ <type name="gint" c:type="gint"/>
12965+ </constant>
12966+ <constant name="KEY_Cyrillic_KA_descender"
12967+ value="16778394"
12968+ c:type="GDK_KEY_Cyrillic_KA_descender">
12969+ <source-position filename="gdk/gdkkeysyms.h" line="891"/>
12970+ <type name="gint" c:type="gint"/>
12971+ </constant>
12972+ <constant name="KEY_Cyrillic_KA_vertstroke"
12973+ value="16778396"
12974+ c:type="GDK_KEY_Cyrillic_KA_vertstroke">
12975+ <source-position filename="gdk/gdkkeysyms.h" line="893"/>
12976+ <type name="gint" c:type="gint"/>
12977+ </constant>
12978+ <constant name="KEY_Cyrillic_LJE"
12979+ value="1721"
12980+ c:type="GDK_KEY_Cyrillic_LJE">
12981+ <source-position filename="gdk/gdkkeysyms.h" line="952"/>
12982+ <type name="gint" c:type="gint"/>
12983+ </constant>
12984+ <constant name="KEY_Cyrillic_NJE"
12985+ value="1722"
12986+ c:type="GDK_KEY_Cyrillic_NJE">
12987+ <source-position filename="gdk/gdkkeysyms.h" line="954"/>
12988+ <type name="gint" c:type="gint"/>
12989+ </constant>
12990+ <constant name="KEY_Cyrillic_O" value="1775" c:type="GDK_KEY_Cyrillic_O">
12991+ <source-position filename="gdk/gdkkeysyms.h" line="1009"/>
12992+ <type name="gint" c:type="gint"/>
12993+ </constant>
12994+ <constant name="KEY_Cyrillic_O_bar"
12995+ value="16778472"
12996+ c:type="GDK_KEY_Cyrillic_O_bar">
12997+ <source-position filename="gdk/gdkkeysyms.h" line="913"/>
12998+ <type name="gint" c:type="gint"/>
12999+ </constant>
13000+ <constant name="KEY_Cyrillic_PE" value="1776" c:type="GDK_KEY_Cyrillic_PE">
13001+ <source-position filename="gdk/gdkkeysyms.h" line="1010"/>
13002+ <type name="gint" c:type="gint"/>
13003+ </constant>
13004+ <constant name="KEY_Cyrillic_SCHWA"
13005+ value="16778456"
13006+ c:type="GDK_KEY_Cyrillic_SCHWA">
13007+ <source-position filename="gdk/gdkkeysyms.h" line="909"/>
13008+ <type name="gint" c:type="gint"/>
13009+ </constant>
13010+ <constant name="KEY_Cyrillic_SHA"
13011+ value="1787"
13012+ c:type="GDK_KEY_Cyrillic_SHA">
13013+ <source-position filename="gdk/gdkkeysyms.h" line="1021"/>
13014+ <type name="gint" c:type="gint"/>
13015+ </constant>
13016+ <constant name="KEY_Cyrillic_SHCHA"
13017+ value="1789"
13018+ c:type="GDK_KEY_Cyrillic_SHCHA">
13019+ <source-position filename="gdk/gdkkeysyms.h" line="1023"/>
13020+ <type name="gint" c:type="gint"/>
13021+ </constant>
13022+ <constant name="KEY_Cyrillic_SHHA"
13023+ value="16778426"
13024+ c:type="GDK_KEY_Cyrillic_SHHA">
13025+ <source-position filename="gdk/gdkkeysyms.h" line="907"/>
13026+ <type name="gint" c:type="gint"/>
13027+ </constant>
13028+ <constant name="KEY_Cyrillic_SHORTI"
13029+ value="1770"
13030+ c:type="GDK_KEY_Cyrillic_SHORTI">
13031+ <source-position filename="gdk/gdkkeysyms.h" line="1004"/>
13032+ <type name="gint" c:type="gint"/>
13033+ </constant>
13034+ <constant name="KEY_Cyrillic_SOFTSIGN"
13035+ value="1784"
13036+ c:type="GDK_KEY_Cyrillic_SOFTSIGN">
13037+ <source-position filename="gdk/gdkkeysyms.h" line="1018"/>
13038+ <type name="gint" c:type="gint"/>
13039+ </constant>
13040+ <constant name="KEY_Cyrillic_TE" value="1780" c:type="GDK_KEY_Cyrillic_TE">
13041+ <source-position filename="gdk/gdkkeysyms.h" line="1014"/>
13042+ <type name="gint" c:type="gint"/>
13043+ </constant>
13044+ <constant name="KEY_Cyrillic_TSE"
13045+ value="1763"
13046+ c:type="GDK_KEY_Cyrillic_TSE">
13047+ <source-position filename="gdk/gdkkeysyms.h" line="997"/>
13048+ <type name="gint" c:type="gint"/>
13049+ </constant>
13050+ <constant name="KEY_Cyrillic_U" value="1781" c:type="GDK_KEY_Cyrillic_U">
13051+ <source-position filename="gdk/gdkkeysyms.h" line="1015"/>
13052+ <type name="gint" c:type="gint"/>
13053+ </constant>
13054+ <constant name="KEY_Cyrillic_U_macron"
13055+ value="16778478"
13056+ c:type="GDK_KEY_Cyrillic_U_macron">
13057+ <source-position filename="gdk/gdkkeysyms.h" line="915"/>
13058+ <type name="gint" c:type="gint"/>
13059+ </constant>
13060+ <constant name="KEY_Cyrillic_U_straight"
13061+ value="16778414"
13062+ c:type="GDK_KEY_Cyrillic_U_straight">
13063+ <source-position filename="gdk/gdkkeysyms.h" line="897"/>
13064+ <type name="gint" c:type="gint"/>
13065+ </constant>
13066+ <constant name="KEY_Cyrillic_U_straight_bar"
13067+ value="16778416"
13068+ c:type="GDK_KEY_Cyrillic_U_straight_bar">
13069+ <source-position filename="gdk/gdkkeysyms.h" line="899"/>
13070+ <type name="gint" c:type="gint"/>
13071+ </constant>
13072+ <constant name="KEY_Cyrillic_VE" value="1783" c:type="GDK_KEY_Cyrillic_VE">
13073+ <source-position filename="gdk/gdkkeysyms.h" line="1017"/>
13074+ <type name="gint" c:type="gint"/>
13075+ </constant>
13076+ <constant name="KEY_Cyrillic_YA" value="1777" c:type="GDK_KEY_Cyrillic_YA">
13077+ <source-position filename="gdk/gdkkeysyms.h" line="1011"/>
13078+ <type name="gint" c:type="gint"/>
13079+ </constant>
13080+ <constant name="KEY_Cyrillic_YERU"
13081+ value="1785"
13082+ c:type="GDK_KEY_Cyrillic_YERU">
13083+ <source-position filename="gdk/gdkkeysyms.h" line="1019"/>
13084+ <type name="gint" c:type="gint"/>
13085+ </constant>
13086+ <constant name="KEY_Cyrillic_YU" value="1760" c:type="GDK_KEY_Cyrillic_YU">
13087+ <source-position filename="gdk/gdkkeysyms.h" line="994"/>
13088+ <type name="gint" c:type="gint"/>
13089+ </constant>
13090+ <constant name="KEY_Cyrillic_ZE" value="1786" c:type="GDK_KEY_Cyrillic_ZE">
13091+ <source-position filename="gdk/gdkkeysyms.h" line="1020"/>
13092+ <type name="gint" c:type="gint"/>
13093+ </constant>
13094+ <constant name="KEY_Cyrillic_ZHE"
13095+ value="1782"
13096+ c:type="GDK_KEY_Cyrillic_ZHE">
13097+ <source-position filename="gdk/gdkkeysyms.h" line="1016"/>
13098+ <type name="gint" c:type="gint"/>
13099+ </constant>
13100+ <constant name="KEY_Cyrillic_ZHE_descender"
13101+ value="16778390"
13102+ c:type="GDK_KEY_Cyrillic_ZHE_descender">
13103+ <source-position filename="gdk/gdkkeysyms.h" line="889"/>
13104+ <type name="gint" c:type="gint"/>
13105+ </constant>
13106+ <constant name="KEY_Cyrillic_a" value="1729" c:type="GDK_KEY_Cyrillic_a">
13107+ <source-position filename="gdk/gdkkeysyms.h" line="963"/>
13108+ <type name="gint" c:type="gint"/>
13109+ </constant>
13110+ <constant name="KEY_Cyrillic_be" value="1730" c:type="GDK_KEY_Cyrillic_be">
13111+ <source-position filename="gdk/gdkkeysyms.h" line="964"/>
13112+ <type name="gint" c:type="gint"/>
13113+ </constant>
13114+ <constant name="KEY_Cyrillic_che"
13115+ value="1758"
13116+ c:type="GDK_KEY_Cyrillic_che">
13117+ <source-position filename="gdk/gdkkeysyms.h" line="992"/>
13118+ <type name="gint" c:type="gint"/>
13119+ </constant>
13120+ <constant name="KEY_Cyrillic_che_descender"
13121+ value="16778423"
13122+ c:type="GDK_KEY_Cyrillic_che_descender">
13123+ <source-position filename="gdk/gdkkeysyms.h" line="904"/>
13124+ <type name="gint" c:type="gint"/>
13125+ </constant>
13126+ <constant name="KEY_Cyrillic_che_vertstroke"
13127+ value="16778425"
13128+ c:type="GDK_KEY_Cyrillic_che_vertstroke">
13129+ <source-position filename="gdk/gdkkeysyms.h" line="906"/>
13130+ <type name="gint" c:type="gint"/>
13131+ </constant>
13132+ <constant name="KEY_Cyrillic_de" value="1732" c:type="GDK_KEY_Cyrillic_de">
13133+ <source-position filename="gdk/gdkkeysyms.h" line="966"/>
13134+ <type name="gint" c:type="gint"/>
13135+ </constant>
13136+ <constant name="KEY_Cyrillic_dzhe"
13137+ value="1711"
13138+ c:type="GDK_KEY_Cyrillic_dzhe">
13139+ <source-position filename="gdk/gdkkeysyms.h" line="937"/>
13140+ <type name="gint" c:type="gint"/>
13141+ </constant>
13142+ <constant name="KEY_Cyrillic_e" value="1756" c:type="GDK_KEY_Cyrillic_e">
13143+ <source-position filename="gdk/gdkkeysyms.h" line="990"/>
13144+ <type name="gint" c:type="gint"/>
13145+ </constant>
13146+ <constant name="KEY_Cyrillic_ef" value="1734" c:type="GDK_KEY_Cyrillic_ef">
13147+ <source-position filename="gdk/gdkkeysyms.h" line="968"/>
13148+ <type name="gint" c:type="gint"/>
13149+ </constant>
13150+ <constant name="KEY_Cyrillic_el" value="1740" c:type="GDK_KEY_Cyrillic_el">
13151+ <source-position filename="gdk/gdkkeysyms.h" line="974"/>
13152+ <type name="gint" c:type="gint"/>
13153+ </constant>
13154+ <constant name="KEY_Cyrillic_em" value="1741" c:type="GDK_KEY_Cyrillic_em">
13155+ <source-position filename="gdk/gdkkeysyms.h" line="975"/>
13156+ <type name="gint" c:type="gint"/>
13157+ </constant>
13158+ <constant name="KEY_Cyrillic_en" value="1742" c:type="GDK_KEY_Cyrillic_en">
13159+ <source-position filename="gdk/gdkkeysyms.h" line="976"/>
13160+ <type name="gint" c:type="gint"/>
13161+ </constant>
13162+ <constant name="KEY_Cyrillic_en_descender"
13163+ value="16778403"
13164+ c:type="GDK_KEY_Cyrillic_en_descender">
13165+ <source-position filename="gdk/gdkkeysyms.h" line="896"/>
13166+ <type name="gint" c:type="gint"/>
13167+ </constant>
13168+ <constant name="KEY_Cyrillic_er" value="1746" c:type="GDK_KEY_Cyrillic_er">
13169+ <source-position filename="gdk/gdkkeysyms.h" line="980"/>
13170+ <type name="gint" c:type="gint"/>
13171+ </constant>
13172+ <constant name="KEY_Cyrillic_es" value="1747" c:type="GDK_KEY_Cyrillic_es">
13173+ <source-position filename="gdk/gdkkeysyms.h" line="981"/>
13174+ <type name="gint" c:type="gint"/>
13175+ </constant>
13176+ <constant name="KEY_Cyrillic_ghe"
13177+ value="1735"
13178+ c:type="GDK_KEY_Cyrillic_ghe">
13179+ <source-position filename="gdk/gdkkeysyms.h" line="969"/>
13180+ <type name="gint" c:type="gint"/>
13181+ </constant>
13182+ <constant name="KEY_Cyrillic_ghe_bar"
13183+ value="16778387"
13184+ c:type="GDK_KEY_Cyrillic_ghe_bar">
13185+ <source-position filename="gdk/gdkkeysyms.h" line="888"/>
13186+ <type name="gint" c:type="gint"/>
13187+ </constant>
13188+ <constant name="KEY_Cyrillic_ha" value="1736" c:type="GDK_KEY_Cyrillic_ha">
13189+ <source-position filename="gdk/gdkkeysyms.h" line="970"/>
13190+ <type name="gint" c:type="gint"/>
13191+ </constant>
13192+ <constant name="KEY_Cyrillic_ha_descender"
13193+ value="16778419"
13194+ c:type="GDK_KEY_Cyrillic_ha_descender">
13195+ <source-position filename="gdk/gdkkeysyms.h" line="902"/>
13196+ <type name="gint" c:type="gint"/>
13197+ </constant>
13198+ <constant name="KEY_Cyrillic_hardsign"
13199+ value="1759"
13200+ c:type="GDK_KEY_Cyrillic_hardsign">
13201+ <source-position filename="gdk/gdkkeysyms.h" line="993"/>
13202+ <type name="gint" c:type="gint"/>
13203+ </constant>
13204+ <constant name="KEY_Cyrillic_i" value="1737" c:type="GDK_KEY_Cyrillic_i">
13205+ <source-position filename="gdk/gdkkeysyms.h" line="971"/>
13206+ <type name="gint" c:type="gint"/>
13207+ </constant>
13208+ <constant name="KEY_Cyrillic_i_macron"
13209+ value="16778467"
13210+ c:type="GDK_KEY_Cyrillic_i_macron">
13211+ <source-position filename="gdk/gdkkeysyms.h" line="912"/>
13212+ <type name="gint" c:type="gint"/>
13213+ </constant>
13214+ <constant name="KEY_Cyrillic_ie" value="1733" c:type="GDK_KEY_Cyrillic_ie">
13215+ <source-position filename="gdk/gdkkeysyms.h" line="967"/>
13216+ <type name="gint" c:type="gint"/>
13217+ </constant>
13218+ <constant name="KEY_Cyrillic_io" value="1699" c:type="GDK_KEY_Cyrillic_io">
13219+ <source-position filename="gdk/gdkkeysyms.h" line="919"/>
13220+ <type name="gint" c:type="gint"/>
13221+ </constant>
13222+ <constant name="KEY_Cyrillic_je" value="1704" c:type="GDK_KEY_Cyrillic_je">
13223+ <source-position filename="gdk/gdkkeysyms.h" line="927"/>
13224+ <type name="gint" c:type="gint"/>
13225+ </constant>
13226+ <constant name="KEY_Cyrillic_ka" value="1739" c:type="GDK_KEY_Cyrillic_ka">
13227+ <source-position filename="gdk/gdkkeysyms.h" line="973"/>
13228+ <type name="gint" c:type="gint"/>
13229+ </constant>
13230+ <constant name="KEY_Cyrillic_ka_descender"
13231+ value="16778395"
13232+ c:type="GDK_KEY_Cyrillic_ka_descender">
13233+ <source-position filename="gdk/gdkkeysyms.h" line="892"/>
13234+ <type name="gint" c:type="gint"/>
13235+ </constant>
13236+ <constant name="KEY_Cyrillic_ka_vertstroke"
13237+ value="16778397"
13238+ c:type="GDK_KEY_Cyrillic_ka_vertstroke">
13239+ <source-position filename="gdk/gdkkeysyms.h" line="894"/>
13240+ <type name="gint" c:type="gint"/>
13241+ </constant>
13242+ <constant name="KEY_Cyrillic_lje"
13243+ value="1705"
13244+ c:type="GDK_KEY_Cyrillic_lje">
13245+ <source-position filename="gdk/gdkkeysyms.h" line="929"/>
13246+ <type name="gint" c:type="gint"/>
13247+ </constant>
13248+ <constant name="KEY_Cyrillic_nje"
13249+ value="1706"
13250+ c:type="GDK_KEY_Cyrillic_nje">
13251+ <source-position filename="gdk/gdkkeysyms.h" line="931"/>
13252+ <type name="gint" c:type="gint"/>
13253+ </constant>
13254+ <constant name="KEY_Cyrillic_o" value="1743" c:type="GDK_KEY_Cyrillic_o">
13255+ <source-position filename="gdk/gdkkeysyms.h" line="977"/>
13256+ <type name="gint" c:type="gint"/>
13257+ </constant>
13258+ <constant name="KEY_Cyrillic_o_bar"
13259+ value="16778473"
13260+ c:type="GDK_KEY_Cyrillic_o_bar">
13261+ <source-position filename="gdk/gdkkeysyms.h" line="914"/>
13262+ <type name="gint" c:type="gint"/>
13263+ </constant>
13264+ <constant name="KEY_Cyrillic_pe" value="1744" c:type="GDK_KEY_Cyrillic_pe">
13265+ <source-position filename="gdk/gdkkeysyms.h" line="978"/>
13266+ <type name="gint" c:type="gint"/>
13267+ </constant>
13268+ <constant name="KEY_Cyrillic_schwa"
13269+ value="16778457"
13270+ c:type="GDK_KEY_Cyrillic_schwa">
13271+ <source-position filename="gdk/gdkkeysyms.h" line="910"/>
13272+ <type name="gint" c:type="gint"/>
13273+ </constant>
13274+ <constant name="KEY_Cyrillic_sha"
13275+ value="1755"
13276+ c:type="GDK_KEY_Cyrillic_sha">
13277+ <source-position filename="gdk/gdkkeysyms.h" line="989"/>
13278+ <type name="gint" c:type="gint"/>
13279+ </constant>
13280+ <constant name="KEY_Cyrillic_shcha"
13281+ value="1757"
13282+ c:type="GDK_KEY_Cyrillic_shcha">
13283+ <source-position filename="gdk/gdkkeysyms.h" line="991"/>
13284+ <type name="gint" c:type="gint"/>
13285+ </constant>
13286+ <constant name="KEY_Cyrillic_shha"
13287+ value="16778427"
13288+ c:type="GDK_KEY_Cyrillic_shha">
13289+ <source-position filename="gdk/gdkkeysyms.h" line="908"/>
13290+ <type name="gint" c:type="gint"/>
13291+ </constant>
13292+ <constant name="KEY_Cyrillic_shorti"
13293+ value="1738"
13294+ c:type="GDK_KEY_Cyrillic_shorti">
13295+ <source-position filename="gdk/gdkkeysyms.h" line="972"/>
13296+ <type name="gint" c:type="gint"/>
13297+ </constant>
13298+ <constant name="KEY_Cyrillic_softsign"
13299+ value="1752"
13300+ c:type="GDK_KEY_Cyrillic_softsign">
13301+ <source-position filename="gdk/gdkkeysyms.h" line="986"/>
13302+ <type name="gint" c:type="gint"/>
13303+ </constant>
13304+ <constant name="KEY_Cyrillic_te" value="1748" c:type="GDK_KEY_Cyrillic_te">
13305+ <source-position filename="gdk/gdkkeysyms.h" line="982"/>
13306+ <type name="gint" c:type="gint"/>
13307+ </constant>
13308+ <constant name="KEY_Cyrillic_tse"
13309+ value="1731"
13310+ c:type="GDK_KEY_Cyrillic_tse">
13311+ <source-position filename="gdk/gdkkeysyms.h" line="965"/>
13312+ <type name="gint" c:type="gint"/>
13313+ </constant>
13314+ <constant name="KEY_Cyrillic_u" value="1749" c:type="GDK_KEY_Cyrillic_u">
13315+ <source-position filename="gdk/gdkkeysyms.h" line="983"/>
13316+ <type name="gint" c:type="gint"/>
13317+ </constant>
13318+ <constant name="KEY_Cyrillic_u_macron"
13319+ value="16778479"
13320+ c:type="GDK_KEY_Cyrillic_u_macron">
13321+ <source-position filename="gdk/gdkkeysyms.h" line="916"/>
13322+ <type name="gint" c:type="gint"/>
13323+ </constant>
13324+ <constant name="KEY_Cyrillic_u_straight"
13325+ value="16778415"
13326+ c:type="GDK_KEY_Cyrillic_u_straight">
13327+ <source-position filename="gdk/gdkkeysyms.h" line="898"/>
13328+ <type name="gint" c:type="gint"/>
13329+ </constant>
13330+ <constant name="KEY_Cyrillic_u_straight_bar"
13331+ value="16778417"
13332+ c:type="GDK_KEY_Cyrillic_u_straight_bar">
13333+ <source-position filename="gdk/gdkkeysyms.h" line="900"/>
13334+ <type name="gint" c:type="gint"/>
13335+ </constant>
13336+ <constant name="KEY_Cyrillic_ve" value="1751" c:type="GDK_KEY_Cyrillic_ve">
13337+ <source-position filename="gdk/gdkkeysyms.h" line="985"/>
13338+ <type name="gint" c:type="gint"/>
13339+ </constant>
13340+ <constant name="KEY_Cyrillic_ya" value="1745" c:type="GDK_KEY_Cyrillic_ya">
13341+ <source-position filename="gdk/gdkkeysyms.h" line="979"/>
13342+ <type name="gint" c:type="gint"/>
13343+ </constant>
13344+ <constant name="KEY_Cyrillic_yeru"
13345+ value="1753"
13346+ c:type="GDK_KEY_Cyrillic_yeru">
13347+ <source-position filename="gdk/gdkkeysyms.h" line="987"/>
13348+ <type name="gint" c:type="gint"/>
13349+ </constant>
13350+ <constant name="KEY_Cyrillic_yu" value="1728" c:type="GDK_KEY_Cyrillic_yu">
13351+ <source-position filename="gdk/gdkkeysyms.h" line="962"/>
13352+ <type name="gint" c:type="gint"/>
13353+ </constant>
13354+ <constant name="KEY_Cyrillic_ze" value="1754" c:type="GDK_KEY_Cyrillic_ze">
13355+ <source-position filename="gdk/gdkkeysyms.h" line="988"/>
13356+ <type name="gint" c:type="gint"/>
13357+ </constant>
13358+ <constant name="KEY_Cyrillic_zhe"
13359+ value="1750"
13360+ c:type="GDK_KEY_Cyrillic_zhe">
13361+ <source-position filename="gdk/gdkkeysyms.h" line="984"/>
13362+ <type name="gint" c:type="gint"/>
13363+ </constant>
13364+ <constant name="KEY_Cyrillic_zhe_descender"
13365+ value="16778391"
13366+ c:type="GDK_KEY_Cyrillic_zhe_descender">
13367+ <source-position filename="gdk/gdkkeysyms.h" line="890"/>
13368+ <type name="gint" c:type="gint"/>
13369+ </constant>
13370+ <constant name="KEY_D" value="68" c:type="GDK_KEY_D">
13371+ <source-position filename="gdk/gdkkeysyms.h" line="422"/>
13372+ <type name="gint" c:type="gint"/>
13373+ </constant>
13374+ <constant name="KEY_DOS" value="269025114" c:type="GDK_KEY_DOS">
13375+ <source-position filename="gdk/gdkkeysyms.h" line="2217"/>
13376+ <type name="gint" c:type="gint"/>
13377+ </constant>
13378+ <constant name="KEY_Dabovedot" value="16784906" c:type="GDK_KEY_Dabovedot">
13379+ <source-position filename="gdk/gdkkeysyms.h" line="703"/>
13380+ <type name="gint" c:type="gint"/>
13381+ </constant>
13382+ <constant name="KEY_Dcaron" value="463" c:type="GDK_KEY_Dcaron">
13383+ <source-position filename="gdk/gdkkeysyms.h" line="613"/>
13384+ <type name="gint" c:type="gint"/>
13385+ </constant>
13386+ <constant name="KEY_Delete" value="65535" c:type="GDK_KEY_Delete">
13387+ <source-position filename="gdk/gdkkeysyms.h" line="49"/>
13388+ <type name="gint" c:type="gint"/>
13389+ </constant>
13390+ <constant name="KEY_Display" value="269025113" c:type="GDK_KEY_Display">
13391+ <source-position filename="gdk/gdkkeysyms.h" line="2216"/>
13392+ <type name="gint" c:type="gint"/>
13393+ </constant>
13394+ <constant name="KEY_Documents"
13395+ value="269025115"
13396+ c:type="GDK_KEY_Documents">
13397+ <source-position filename="gdk/gdkkeysyms.h" line="2218"/>
13398+ <type name="gint" c:type="gint"/>
13399+ </constant>
13400+ <constant name="KEY_DongSign" value="16785579" c:type="GDK_KEY_DongSign">
13401+ <source-position filename="gdk/gdkkeysyms.h" line="1758"/>
13402+ <type name="gint" c:type="gint"/>
13403+ </constant>
13404+ <constant name="KEY_Down" value="65364" c:type="GDK_KEY_Down">
13405+ <source-position filename="gdk/gdkkeysyms.h" line="79"/>
13406+ <type name="gint" c:type="gint"/>
13407+ </constant>
13408+ <constant name="KEY_Dstroke" value="464" c:type="GDK_KEY_Dstroke">
13409+ <source-position filename="gdk/gdkkeysyms.h" line="614"/>
13410+ <type name="gint" c:type="gint"/>
13411+ </constant>
13412+ <constant name="KEY_E" value="69" c:type="GDK_KEY_E">
13413+ <source-position filename="gdk/gdkkeysyms.h" line="423"/>
13414+ <type name="gint" c:type="gint"/>
13415+ </constant>
13416+ <constant name="KEY_ENG" value="957" c:type="GDK_KEY_ENG">
13417+ <source-position filename="gdk/gdkkeysyms.h" line="675"/>
13418+ <type name="gint" c:type="gint"/>
13419+ </constant>
13420+ <constant name="KEY_ETH" value="208" c:type="GDK_KEY_ETH">
13421+ <source-position filename="gdk/gdkkeysyms.h" line="530"/>
13422+ <type name="gint" c:type="gint"/>
13423+ </constant>
13424+ <constant name="KEY_EZH" value="16777655" c:type="GDK_KEY_EZH">
13425+ <source-position filename="gdk/gdkkeysyms.h" line="1651"/>
13426+ <type name="gint" c:type="gint"/>
13427+ </constant>
13428+ <constant name="KEY_Eabovedot" value="972" c:type="GDK_KEY_Eabovedot">
13429+ <source-position filename="gdk/gdkkeysyms.h" line="679"/>
13430+ <type name="gint" c:type="gint"/>
13431+ </constant>
13432+ <constant name="KEY_Eacute" value="201" c:type="GDK_KEY_Eacute">
13433+ <source-position filename="gdk/gdkkeysyms.h" line="523"/>
13434+ <type name="gint" c:type="gint"/>
13435+ </constant>
13436+ <constant name="KEY_Ebelowdot" value="16785080" c:type="GDK_KEY_Ebelowdot">
13437+ <source-position filename="gdk/gdkkeysyms.h" line="1679"/>
13438+ <type name="gint" c:type="gint"/>
13439+ </constant>
13440+ <constant name="KEY_Ecaron" value="460" c:type="GDK_KEY_Ecaron">
13441+ <source-position filename="gdk/gdkkeysyms.h" line="612"/>
13442+ <type name="gint" c:type="gint"/>
13443+ </constant>
13444+ <constant name="KEY_Ecircumflex" value="202" c:type="GDK_KEY_Ecircumflex">
13445+ <source-position filename="gdk/gdkkeysyms.h" line="524"/>
13446+ <type name="gint" c:type="gint"/>
13447+ </constant>
13448+ <constant name="KEY_Ecircumflexacute"
13449+ value="16785086"
13450+ c:type="GDK_KEY_Ecircumflexacute">
13451+ <source-position filename="gdk/gdkkeysyms.h" line="1685"/>
13452+ <type name="gint" c:type="gint"/>
13453+ </constant>
13454+ <constant name="KEY_Ecircumflexbelowdot"
13455+ value="16785094"
13456+ c:type="GDK_KEY_Ecircumflexbelowdot">
13457+ <source-position filename="gdk/gdkkeysyms.h" line="1693"/>
13458+ <type name="gint" c:type="gint"/>
13459+ </constant>
13460+ <constant name="KEY_Ecircumflexgrave"
13461+ value="16785088"
13462+ c:type="GDK_KEY_Ecircumflexgrave">
13463+ <source-position filename="gdk/gdkkeysyms.h" line="1687"/>
13464+ <type name="gint" c:type="gint"/>
13465+ </constant>
13466+ <constant name="KEY_Ecircumflexhook"
13467+ value="16785090"
13468+ c:type="GDK_KEY_Ecircumflexhook">
13469+ <source-position filename="gdk/gdkkeysyms.h" line="1689"/>
13470+ <type name="gint" c:type="gint"/>
13471+ </constant>
13472+ <constant name="KEY_Ecircumflextilde"
13473+ value="16785092"
13474+ c:type="GDK_KEY_Ecircumflextilde">
13475+ <source-position filename="gdk/gdkkeysyms.h" line="1691"/>
13476+ <type name="gint" c:type="gint"/>
13477+ </constant>
13478+ <constant name="KEY_EcuSign" value="16785568" c:type="GDK_KEY_EcuSign">
13479+ <source-position filename="gdk/gdkkeysyms.h" line="1747"/>
13480+ <type name="gint" c:type="gint"/>
13481+ </constant>
13482+ <constant name="KEY_Ediaeresis" value="203" c:type="GDK_KEY_Ediaeresis">
13483+ <source-position filename="gdk/gdkkeysyms.h" line="525"/>
13484+ <type name="gint" c:type="gint"/>
13485+ </constant>
13486+ <constant name="KEY_Egrave" value="200" c:type="GDK_KEY_Egrave">
13487+ <source-position filename="gdk/gdkkeysyms.h" line="522"/>
13488+ <type name="gint" c:type="gint"/>
13489+ </constant>
13490+ <constant name="KEY_Ehook" value="16785082" c:type="GDK_KEY_Ehook">
13491+ <source-position filename="gdk/gdkkeysyms.h" line="1681"/>
13492+ <type name="gint" c:type="gint"/>
13493+ </constant>
13494+ <constant name="KEY_Eisu_Shift" value="65327" c:type="GDK_KEY_Eisu_Shift">
13495+ <source-position filename="gdk/gdkkeysyms.h" line="70"/>
13496+ <type name="gint" c:type="gint"/>
13497+ </constant>
13498+ <constant name="KEY_Eisu_toggle"
13499+ value="65328"
13500+ c:type="GDK_KEY_Eisu_toggle">
13501+ <source-position filename="gdk/gdkkeysyms.h" line="71"/>
13502+ <type name="gint" c:type="gint"/>
13503+ </constant>
13504+ <constant name="KEY_Eject" value="269025068" c:type="GDK_KEY_Eject">
13505+ <source-position filename="gdk/gdkkeysyms.h" line="2172"/>
13506+ <type name="gint" c:type="gint"/>
13507+ </constant>
13508+ <constant name="KEY_Emacron" value="938" c:type="GDK_KEY_Emacron">
13509+ <source-position filename="gdk/gdkkeysyms.h" line="666"/>
13510+ <type name="gint" c:type="gint"/>
13511+ </constant>
13512+ <constant name="KEY_End" value="65367" c:type="GDK_KEY_End">
13513+ <source-position filename="gdk/gdkkeysyms.h" line="84"/>
13514+ <type name="gint" c:type="gint"/>
13515+ </constant>
13516+ <constant name="KEY_Eogonek" value="458" c:type="GDK_KEY_Eogonek">
13517+ <source-position filename="gdk/gdkkeysyms.h" line="611"/>
13518+ <type name="gint" c:type="gint"/>
13519+ </constant>
13520+ <constant name="KEY_Escape" value="65307" c:type="GDK_KEY_Escape">
13521+ <source-position filename="gdk/gdkkeysyms.h" line="48"/>
13522+ <type name="gint" c:type="gint"/>
13523+ </constant>
13524+ <constant name="KEY_Eth" value="208" c:type="GDK_KEY_Eth">
13525+ <source-position filename="gdk/gdkkeysyms.h" line="531"/>
13526+ <type name="gint" c:type="gint"/>
13527+ </constant>
13528+ <constant name="KEY_Etilde" value="16785084" c:type="GDK_KEY_Etilde">
13529+ <source-position filename="gdk/gdkkeysyms.h" line="1683"/>
13530+ <type name="gint" c:type="gint"/>
13531+ </constant>
13532+ <constant name="KEY_EuroSign" value="8364" c:type="GDK_KEY_EuroSign">
13533+ <source-position filename="gdk/gdkkeysyms.h" line="1759"/>
13534+ <type name="gint" c:type="gint"/>
13535+ </constant>
13536+ <constant name="KEY_Excel" value="269025116" c:type="GDK_KEY_Excel">
13537+ <source-position filename="gdk/gdkkeysyms.h" line="2219"/>
13538+ <type name="gint" c:type="gint"/>
13539+ </constant>
13540+ <constant name="KEY_Execute" value="65378" c:type="GDK_KEY_Execute">
13541+ <source-position filename="gdk/gdkkeysyms.h" line="88"/>
13542+ <type name="gint" c:type="gint"/>
13543+ </constant>
13544+ <constant name="KEY_Explorer" value="269025117" c:type="GDK_KEY_Explorer">
13545+ <source-position filename="gdk/gdkkeysyms.h" line="2220"/>
13546+ <type name="gint" c:type="gint"/>
13547+ </constant>
13548+ <constant name="KEY_F" value="70" c:type="GDK_KEY_F">
13549+ <source-position filename="gdk/gdkkeysyms.h" line="424"/>
13550+ <type name="gint" c:type="gint"/>
13551+ </constant>
13552+ <constant name="KEY_F1" value="65470" c:type="GDK_KEY_F1">
13553+ <source-position filename="gdk/gdkkeysyms.h" line="137"/>
13554+ <type name="gint" c:type="gint"/>
13555+ </constant>
13556+ <constant name="KEY_F10" value="65479" c:type="GDK_KEY_F10">
13557+ <source-position filename="gdk/gdkkeysyms.h" line="146"/>
13558+ <type name="gint" c:type="gint"/>
13559+ </constant>
13560+ <constant name="KEY_F11" value="65480" c:type="GDK_KEY_F11">
13561+ <source-position filename="gdk/gdkkeysyms.h" line="147"/>
13562+ <type name="gint" c:type="gint"/>
13563+ </constant>
13564+ <constant name="KEY_F12" value="65481" c:type="GDK_KEY_F12">
13565+ <source-position filename="gdk/gdkkeysyms.h" line="149"/>
13566+ <type name="gint" c:type="gint"/>
13567+ </constant>
13568+ <constant name="KEY_F13" value="65482" c:type="GDK_KEY_F13">
13569+ <source-position filename="gdk/gdkkeysyms.h" line="151"/>
13570+ <type name="gint" c:type="gint"/>
13571+ </constant>
13572+ <constant name="KEY_F14" value="65483" c:type="GDK_KEY_F14">
13573+ <source-position filename="gdk/gdkkeysyms.h" line="153"/>
13574+ <type name="gint" c:type="gint"/>
13575+ </constant>
13576+ <constant name="KEY_F15" value="65484" c:type="GDK_KEY_F15">
13577+ <source-position filename="gdk/gdkkeysyms.h" line="155"/>
13578+ <type name="gint" c:type="gint"/>
13579+ </constant>
13580+ <constant name="KEY_F16" value="65485" c:type="GDK_KEY_F16">
13581+ <source-position filename="gdk/gdkkeysyms.h" line="157"/>
13582+ <type name="gint" c:type="gint"/>
13583+ </constant>
13584+ <constant name="KEY_F17" value="65486" c:type="GDK_KEY_F17">
13585+ <source-position filename="gdk/gdkkeysyms.h" line="159"/>
13586+ <type name="gint" c:type="gint"/>
13587+ </constant>
13588+ <constant name="KEY_F18" value="65487" c:type="GDK_KEY_F18">
13589+ <source-position filename="gdk/gdkkeysyms.h" line="161"/>
13590+ <type name="gint" c:type="gint"/>
13591+ </constant>
13592+ <constant name="KEY_F19" value="65488" c:type="GDK_KEY_F19">
13593+ <source-position filename="gdk/gdkkeysyms.h" line="163"/>
13594+ <type name="gint" c:type="gint"/>
13595+ </constant>
13596+ <constant name="KEY_F2" value="65471" c:type="GDK_KEY_F2">
13597+ <source-position filename="gdk/gdkkeysyms.h" line="138"/>
13598+ <type name="gint" c:type="gint"/>
13599+ </constant>
13600+ <constant name="KEY_F20" value="65489" c:type="GDK_KEY_F20">
13601+ <source-position filename="gdk/gdkkeysyms.h" line="165"/>
13602+ <type name="gint" c:type="gint"/>
13603+ </constant>
13604+ <constant name="KEY_F21" value="65490" c:type="GDK_KEY_F21">
13605+ <source-position filename="gdk/gdkkeysyms.h" line="167"/>
13606+ <type name="gint" c:type="gint"/>
13607+ </constant>
13608+ <constant name="KEY_F22" value="65491" c:type="GDK_KEY_F22">
13609+ <source-position filename="gdk/gdkkeysyms.h" line="169"/>
13610+ <type name="gint" c:type="gint"/>
13611+ </constant>
13612+ <constant name="KEY_F23" value="65492" c:type="GDK_KEY_F23">
13613+ <source-position filename="gdk/gdkkeysyms.h" line="171"/>
13614+ <type name="gint" c:type="gint"/>
13615+ </constant>
13616+ <constant name="KEY_F24" value="65493" c:type="GDK_KEY_F24">
13617+ <source-position filename="gdk/gdkkeysyms.h" line="173"/>
13618+ <type name="gint" c:type="gint"/>
13619+ </constant>
13620+ <constant name="KEY_F25" value="65494" c:type="GDK_KEY_F25">
13621+ <source-position filename="gdk/gdkkeysyms.h" line="175"/>
13622+ <type name="gint" c:type="gint"/>
13623+ </constant>
13624+ <constant name="KEY_F26" value="65495" c:type="GDK_KEY_F26">
13625+ <source-position filename="gdk/gdkkeysyms.h" line="177"/>
13626+ <type name="gint" c:type="gint"/>
13627+ </constant>
13628+ <constant name="KEY_F27" value="65496" c:type="GDK_KEY_F27">
13629+ <source-position filename="gdk/gdkkeysyms.h" line="179"/>
13630+ <type name="gint" c:type="gint"/>
13631+ </constant>
13632+ <constant name="KEY_F28" value="65497" c:type="GDK_KEY_F28">
13633+ <source-position filename="gdk/gdkkeysyms.h" line="181"/>
13634+ <type name="gint" c:type="gint"/>
13635+ </constant>
13636+ <constant name="KEY_F29" value="65498" c:type="GDK_KEY_F29">
13637+ <source-position filename="gdk/gdkkeysyms.h" line="183"/>
13638+ <type name="gint" c:type="gint"/>
13639+ </constant>
13640+ <constant name="KEY_F3" value="65472" c:type="GDK_KEY_F3">
13641+ <source-position filename="gdk/gdkkeysyms.h" line="139"/>
13642+ <type name="gint" c:type="gint"/>
13643+ </constant>
13644+ <constant name="KEY_F30" value="65499" c:type="GDK_KEY_F30">
13645+ <source-position filename="gdk/gdkkeysyms.h" line="185"/>
13646+ <type name="gint" c:type="gint"/>
13647+ </constant>
13648+ <constant name="KEY_F31" value="65500" c:type="GDK_KEY_F31">
13649+ <source-position filename="gdk/gdkkeysyms.h" line="187"/>
13650+ <type name="gint" c:type="gint"/>
13651+ </constant>
13652+ <constant name="KEY_F32" value="65501" c:type="GDK_KEY_F32">
13653+ <source-position filename="gdk/gdkkeysyms.h" line="189"/>
13654+ <type name="gint" c:type="gint"/>
13655+ </constant>
13656+ <constant name="KEY_F33" value="65502" c:type="GDK_KEY_F33">
13657+ <source-position filename="gdk/gdkkeysyms.h" line="191"/>
13658+ <type name="gint" c:type="gint"/>
13659+ </constant>
13660+ <constant name="KEY_F34" value="65503" c:type="GDK_KEY_F34">
13661+ <source-position filename="gdk/gdkkeysyms.h" line="193"/>
13662+ <type name="gint" c:type="gint"/>
13663+ </constant>
13664+ <constant name="KEY_F35" value="65504" c:type="GDK_KEY_F35">
13665+ <source-position filename="gdk/gdkkeysyms.h" line="195"/>
13666+ <type name="gint" c:type="gint"/>
13667+ </constant>
13668+ <constant name="KEY_F4" value="65473" c:type="GDK_KEY_F4">
13669+ <source-position filename="gdk/gdkkeysyms.h" line="140"/>
13670+ <type name="gint" c:type="gint"/>
13671+ </constant>
13672+ <constant name="KEY_F5" value="65474" c:type="GDK_KEY_F5">
13673+ <source-position filename="gdk/gdkkeysyms.h" line="141"/>
13674+ <type name="gint" c:type="gint"/>
13675+ </constant>
13676+ <constant name="KEY_F6" value="65475" c:type="GDK_KEY_F6">
13677+ <source-position filename="gdk/gdkkeysyms.h" line="142"/>
13678+ <type name="gint" c:type="gint"/>
13679+ </constant>
13680+ <constant name="KEY_F7" value="65476" c:type="GDK_KEY_F7">
13681+ <source-position filename="gdk/gdkkeysyms.h" line="143"/>
13682+ <type name="gint" c:type="gint"/>
13683+ </constant>
13684+ <constant name="KEY_F8" value="65477" c:type="GDK_KEY_F8">
13685+ <source-position filename="gdk/gdkkeysyms.h" line="144"/>
13686+ <type name="gint" c:type="gint"/>
13687+ </constant>
13688+ <constant name="KEY_F9" value="65478" c:type="GDK_KEY_F9">
13689+ <source-position filename="gdk/gdkkeysyms.h" line="145"/>
13690+ <type name="gint" c:type="gint"/>
13691+ </constant>
13692+ <constant name="KEY_FFrancSign"
13693+ value="16785571"
13694+ c:type="GDK_KEY_FFrancSign">
13695+ <source-position filename="gdk/gdkkeysyms.h" line="1750"/>
13696+ <type name="gint" c:type="gint"/>
13697+ </constant>
13698+ <constant name="KEY_Fabovedot" value="16784926" c:type="GDK_KEY_Fabovedot">
13699+ <source-position filename="gdk/gdkkeysyms.h" line="705"/>
13700+ <type name="gint" c:type="gint"/>
13701+ </constant>
13702+ <constant name="KEY_Farsi_0" value="16778992" c:type="GDK_KEY_Farsi_0">
13703+ <source-position filename="gdk/gdkkeysyms.h" line="796"/>
13704+ <type name="gint" c:type="gint"/>
13705+ </constant>
13706+ <constant name="KEY_Farsi_1" value="16778993" c:type="GDK_KEY_Farsi_1">
13707+ <source-position filename="gdk/gdkkeysyms.h" line="797"/>
13708+ <type name="gint" c:type="gint"/>
13709+ </constant>
13710+ <constant name="KEY_Farsi_2" value="16778994" c:type="GDK_KEY_Farsi_2">
13711+ <source-position filename="gdk/gdkkeysyms.h" line="798"/>
13712+ <type name="gint" c:type="gint"/>
13713+ </constant>
13714+ <constant name="KEY_Farsi_3" value="16778995" c:type="GDK_KEY_Farsi_3">
13715+ <source-position filename="gdk/gdkkeysyms.h" line="799"/>
13716+ <type name="gint" c:type="gint"/>
13717+ </constant>
13718+ <constant name="KEY_Farsi_4" value="16778996" c:type="GDK_KEY_Farsi_4">
13719+ <source-position filename="gdk/gdkkeysyms.h" line="800"/>
13720+ <type name="gint" c:type="gint"/>
13721+ </constant>
13722+ <constant name="KEY_Farsi_5" value="16778997" c:type="GDK_KEY_Farsi_5">
13723+ <source-position filename="gdk/gdkkeysyms.h" line="801"/>
13724+ <type name="gint" c:type="gint"/>
13725+ </constant>
13726+ <constant name="KEY_Farsi_6" value="16778998" c:type="GDK_KEY_Farsi_6">
13727+ <source-position filename="gdk/gdkkeysyms.h" line="802"/>
13728+ <type name="gint" c:type="gint"/>
13729+ </constant>
13730+ <constant name="KEY_Farsi_7" value="16778999" c:type="GDK_KEY_Farsi_7">
13731+ <source-position filename="gdk/gdkkeysyms.h" line="803"/>
13732+ <type name="gint" c:type="gint"/>
13733+ </constant>
13734+ <constant name="KEY_Farsi_8" value="16779000" c:type="GDK_KEY_Farsi_8">
13735+ <source-position filename="gdk/gdkkeysyms.h" line="804"/>
13736+ <type name="gint" c:type="gint"/>
13737+ </constant>
13738+ <constant name="KEY_Farsi_9" value="16779001" c:type="GDK_KEY_Farsi_9">
13739+ <source-position filename="gdk/gdkkeysyms.h" line="805"/>
13740+ <type name="gint" c:type="gint"/>
13741+ </constant>
13742+ <constant name="KEY_Farsi_yeh" value="16778956" c:type="GDK_KEY_Farsi_yeh">
13743+ <source-position filename="gdk/gdkkeysyms.h" line="882"/>
13744+ <type name="gint" c:type="gint"/>
13745+ </constant>
13746+ <constant name="KEY_Favorites"
13747+ value="269025072"
13748+ c:type="GDK_KEY_Favorites">
13749+ <source-position filename="gdk/gdkkeysyms.h" line="2176"/>
13750+ <type name="gint" c:type="gint"/>
13751+ </constant>
13752+ <constant name="KEY_Finance" value="269025084" c:type="GDK_KEY_Finance">
13753+ <source-position filename="gdk/gdkkeysyms.h" line="2188"/>
13754+ <type name="gint" c:type="gint"/>
13755+ </constant>
13756+ <constant name="KEY_Find" value="65384" c:type="GDK_KEY_Find">
13757+ <source-position filename="gdk/gdkkeysyms.h" line="93"/>
13758+ <type name="gint" c:type="gint"/>
13759+ </constant>
13760+ <constant name="KEY_First_Virtual_Screen"
13761+ value="65232"
13762+ c:type="GDK_KEY_First_Virtual_Screen">
13763+ <source-position filename="gdk/gdkkeysyms.h" line="303"/>
13764+ <type name="gint" c:type="gint"/>
13765+ </constant>
13766+ <constant name="KEY_Forward" value="269025063" c:type="GDK_KEY_Forward">
13767+ <source-position filename="gdk/gdkkeysyms.h" line="2167"/>
13768+ <type name="gint" c:type="gint"/>
13769+ </constant>
13770+ <constant name="KEY_FrameBack"
13771+ value="269025181"
13772+ c:type="GDK_KEY_FrameBack">
13773+ <source-position filename="gdk/gdkkeysyms.h" line="2279"/>
13774+ <type name="gint" c:type="gint"/>
13775+ </constant>
13776+ <constant name="KEY_FrameForward"
13777+ value="269025182"
13778+ c:type="GDK_KEY_FrameForward">
13779+ <source-position filename="gdk/gdkkeysyms.h" line="2280"/>
13780+ <type name="gint" c:type="gint"/>
13781+ </constant>
13782+ <constant name="KEY_G" value="71" c:type="GDK_KEY_G">
13783+ <source-position filename="gdk/gdkkeysyms.h" line="425"/>
13784+ <type name="gint" c:type="gint"/>
13785+ </constant>
13786+ <constant name="KEY_Gabovedot" value="725" c:type="GDK_KEY_Gabovedot">
13787+ <source-position filename="gdk/gdkkeysyms.h" line="651"/>
13788+ <type name="gint" c:type="gint"/>
13789+ </constant>
13790+ <constant name="KEY_Game" value="269025118" c:type="GDK_KEY_Game">
13791+ <source-position filename="gdk/gdkkeysyms.h" line="2221"/>
13792+ <type name="gint" c:type="gint"/>
13793+ </constant>
13794+ <constant name="KEY_Gbreve" value="683" c:type="GDK_KEY_Gbreve">
13795+ <source-position filename="gdk/gdkkeysyms.h" line="642"/>
13796+ <type name="gint" c:type="gint"/>
13797+ </constant>
13798+ <constant name="KEY_Gcaron" value="16777702" c:type="GDK_KEY_Gcaron">
13799+ <source-position filename="gdk/gdkkeysyms.h" line="1640"/>
13800+ <type name="gint" c:type="gint"/>
13801+ </constant>
13802+ <constant name="KEY_Gcedilla" value="939" c:type="GDK_KEY_Gcedilla">
13803+ <source-position filename="gdk/gdkkeysyms.h" line="667"/>
13804+ <type name="gint" c:type="gint"/>
13805+ </constant>
13806+ <constant name="KEY_Gcircumflex" value="728" c:type="GDK_KEY_Gcircumflex">
13807+ <source-position filename="gdk/gdkkeysyms.h" line="652"/>
13808+ <type name="gint" c:type="gint"/>
13809+ </constant>
13810+ <constant name="KEY_Georgian_an"
13811+ value="16781520"
13812+ c:type="GDK_KEY_Georgian_an">
13813+ <source-position filename="gdk/gdkkeysyms.h" line="1598"/>
13814+ <type name="gint" c:type="gint"/>
13815+ </constant>
13816+ <constant name="KEY_Georgian_ban"
13817+ value="16781521"
13818+ c:type="GDK_KEY_Georgian_ban">
13819+ <source-position filename="gdk/gdkkeysyms.h" line="1599"/>
13820+ <type name="gint" c:type="gint"/>
13821+ </constant>
13822+ <constant name="KEY_Georgian_can"
13823+ value="16781546"
13824+ c:type="GDK_KEY_Georgian_can">
13825+ <source-position filename="gdk/gdkkeysyms.h" line="1624"/>
13826+ <type name="gint" c:type="gint"/>
13827+ </constant>
13828+ <constant name="KEY_Georgian_char"
13829+ value="16781549"
13830+ c:type="GDK_KEY_Georgian_char">
13831+ <source-position filename="gdk/gdkkeysyms.h" line="1627"/>
13832+ <type name="gint" c:type="gint"/>
13833+ </constant>
13834+ <constant name="KEY_Georgian_chin"
13835+ value="16781545"
13836+ c:type="GDK_KEY_Georgian_chin">
13837+ <source-position filename="gdk/gdkkeysyms.h" line="1623"/>
13838+ <type name="gint" c:type="gint"/>
13839+ </constant>
13840+ <constant name="KEY_Georgian_cil"
13841+ value="16781548"
13842+ c:type="GDK_KEY_Georgian_cil">
13843+ <source-position filename="gdk/gdkkeysyms.h" line="1626"/>
13844+ <type name="gint" c:type="gint"/>
13845+ </constant>
13846+ <constant name="KEY_Georgian_don"
13847+ value="16781523"
13848+ c:type="GDK_KEY_Georgian_don">
13849+ <source-position filename="gdk/gdkkeysyms.h" line="1601"/>
13850+ <type name="gint" c:type="gint"/>
13851+ </constant>
13852+ <constant name="KEY_Georgian_en"
13853+ value="16781524"
13854+ c:type="GDK_KEY_Georgian_en">
13855+ <source-position filename="gdk/gdkkeysyms.h" line="1602"/>
13856+ <type name="gint" c:type="gint"/>
13857+ </constant>
13858+ <constant name="KEY_Georgian_fi"
13859+ value="16781558"
13860+ c:type="GDK_KEY_Georgian_fi">
13861+ <source-position filename="gdk/gdkkeysyms.h" line="1636"/>
13862+ <type name="gint" c:type="gint"/>
13863+ </constant>
13864+ <constant name="KEY_Georgian_gan"
13865+ value="16781522"
13866+ c:type="GDK_KEY_Georgian_gan">
13867+ <source-position filename="gdk/gdkkeysyms.h" line="1600"/>
13868+ <type name="gint" c:type="gint"/>
13869+ </constant>
13870+ <constant name="KEY_Georgian_ghan"
13871+ value="16781542"
13872+ c:type="GDK_KEY_Georgian_ghan">
13873+ <source-position filename="gdk/gdkkeysyms.h" line="1620"/>
13874+ <type name="gint" c:type="gint"/>
13875+ </constant>
13876+ <constant name="KEY_Georgian_hae"
13877+ value="16781552"
13878+ c:type="GDK_KEY_Georgian_hae">
13879+ <source-position filename="gdk/gdkkeysyms.h" line="1630"/>
13880+ <type name="gint" c:type="gint"/>
13881+ </constant>
13882+ <constant name="KEY_Georgian_har"
13883+ value="16781556"
13884+ c:type="GDK_KEY_Georgian_har">
13885+ <source-position filename="gdk/gdkkeysyms.h" line="1634"/>
13886+ <type name="gint" c:type="gint"/>
13887+ </constant>
13888+ <constant name="KEY_Georgian_he"
13889+ value="16781553"
13890+ c:type="GDK_KEY_Georgian_he">
13891+ <source-position filename="gdk/gdkkeysyms.h" line="1631"/>
13892+ <type name="gint" c:type="gint"/>
13893+ </constant>
13894+ <constant name="KEY_Georgian_hie"
13895+ value="16781554"
13896+ c:type="GDK_KEY_Georgian_hie">
13897+ <source-position filename="gdk/gdkkeysyms.h" line="1632"/>
13898+ <type name="gint" c:type="gint"/>
13899+ </constant>
13900+ <constant name="KEY_Georgian_hoe"
13901+ value="16781557"
13902+ c:type="GDK_KEY_Georgian_hoe">
13903+ <source-position filename="gdk/gdkkeysyms.h" line="1635"/>
13904+ <type name="gint" c:type="gint"/>
13905+ </constant>
13906+ <constant name="KEY_Georgian_in"
13907+ value="16781528"
13908+ c:type="GDK_KEY_Georgian_in">
13909+ <source-position filename="gdk/gdkkeysyms.h" line="1606"/>
13910+ <type name="gint" c:type="gint"/>
13911+ </constant>
13912+ <constant name="KEY_Georgian_jhan"
13913+ value="16781551"
13914+ c:type="GDK_KEY_Georgian_jhan">
13915+ <source-position filename="gdk/gdkkeysyms.h" line="1629"/>
13916+ <type name="gint" c:type="gint"/>
13917+ </constant>
13918+ <constant name="KEY_Georgian_jil"
13919+ value="16781547"
13920+ c:type="GDK_KEY_Georgian_jil">
13921+ <source-position filename="gdk/gdkkeysyms.h" line="1625"/>
13922+ <type name="gint" c:type="gint"/>
13923+ </constant>
13924+ <constant name="KEY_Georgian_kan"
13925+ value="16781529"
13926+ c:type="GDK_KEY_Georgian_kan">
13927+ <source-position filename="gdk/gdkkeysyms.h" line="1607"/>
13928+ <type name="gint" c:type="gint"/>
13929+ </constant>
13930+ <constant name="KEY_Georgian_khar"
13931+ value="16781541"
13932+ c:type="GDK_KEY_Georgian_khar">
13933+ <source-position filename="gdk/gdkkeysyms.h" line="1619"/>
13934+ <type name="gint" c:type="gint"/>
13935+ </constant>
13936+ <constant name="KEY_Georgian_las"
13937+ value="16781530"
13938+ c:type="GDK_KEY_Georgian_las">
13939+ <source-position filename="gdk/gdkkeysyms.h" line="1608"/>
13940+ <type name="gint" c:type="gint"/>
13941+ </constant>
13942+ <constant name="KEY_Georgian_man"
13943+ value="16781531"
13944+ c:type="GDK_KEY_Georgian_man">
13945+ <source-position filename="gdk/gdkkeysyms.h" line="1609"/>
13946+ <type name="gint" c:type="gint"/>
13947+ </constant>
13948+ <constant name="KEY_Georgian_nar"
13949+ value="16781532"
13950+ c:type="GDK_KEY_Georgian_nar">
13951+ <source-position filename="gdk/gdkkeysyms.h" line="1610"/>
13952+ <type name="gint" c:type="gint"/>
13953+ </constant>
13954+ <constant name="KEY_Georgian_on"
13955+ value="16781533"
13956+ c:type="GDK_KEY_Georgian_on">
13957+ <source-position filename="gdk/gdkkeysyms.h" line="1611"/>
13958+ <type name="gint" c:type="gint"/>
13959+ </constant>
13960+ <constant name="KEY_Georgian_par"
13961+ value="16781534"
13962+ c:type="GDK_KEY_Georgian_par">
13963+ <source-position filename="gdk/gdkkeysyms.h" line="1612"/>
13964+ <type name="gint" c:type="gint"/>
13965+ </constant>
13966+ <constant name="KEY_Georgian_phar"
13967+ value="16781540"
13968+ c:type="GDK_KEY_Georgian_phar">
13969+ <source-position filename="gdk/gdkkeysyms.h" line="1618"/>
13970+ <type name="gint" c:type="gint"/>
13971+ </constant>
13972+ <constant name="KEY_Georgian_qar"
13973+ value="16781543"
13974+ c:type="GDK_KEY_Georgian_qar">
13975+ <source-position filename="gdk/gdkkeysyms.h" line="1621"/>
13976+ <type name="gint" c:type="gint"/>
13977+ </constant>
13978+ <constant name="KEY_Georgian_rae"
13979+ value="16781536"
13980+ c:type="GDK_KEY_Georgian_rae">
13981+ <source-position filename="gdk/gdkkeysyms.h" line="1614"/>
13982+ <type name="gint" c:type="gint"/>
13983+ </constant>
13984+ <constant name="KEY_Georgian_san"
13985+ value="16781537"
13986+ c:type="GDK_KEY_Georgian_san">
13987+ <source-position filename="gdk/gdkkeysyms.h" line="1615"/>
13988+ <type name="gint" c:type="gint"/>
13989+ </constant>
13990+ <constant name="KEY_Georgian_shin"
13991+ value="16781544"
13992+ c:type="GDK_KEY_Georgian_shin">
13993+ <source-position filename="gdk/gdkkeysyms.h" line="1622"/>
13994+ <type name="gint" c:type="gint"/>
13995+ </constant>
13996+ <constant name="KEY_Georgian_tan"
13997+ value="16781527"
13998+ c:type="GDK_KEY_Georgian_tan">
13999+ <source-position filename="gdk/gdkkeysyms.h" line="1605"/>
14000+ <type name="gint" c:type="gint"/>
14001+ </constant>
14002+ <constant name="KEY_Georgian_tar"
14003+ value="16781538"
14004+ c:type="GDK_KEY_Georgian_tar">
14005+ <source-position filename="gdk/gdkkeysyms.h" line="1616"/>
14006+ <type name="gint" c:type="gint"/>
14007+ </constant>
14008+ <constant name="KEY_Georgian_un"
14009+ value="16781539"
14010+ c:type="GDK_KEY_Georgian_un">
14011+ <source-position filename="gdk/gdkkeysyms.h" line="1617"/>
14012+ <type name="gint" c:type="gint"/>
14013+ </constant>
14014+ <constant name="KEY_Georgian_vin"
14015+ value="16781525"
14016+ c:type="GDK_KEY_Georgian_vin">
14017+ <source-position filename="gdk/gdkkeysyms.h" line="1603"/>
14018+ <type name="gint" c:type="gint"/>
14019+ </constant>
14020+ <constant name="KEY_Georgian_we"
14021+ value="16781555"
14022+ c:type="GDK_KEY_Georgian_we">
14023+ <source-position filename="gdk/gdkkeysyms.h" line="1633"/>
14024+ <type name="gint" c:type="gint"/>
14025+ </constant>
14026+ <constant name="KEY_Georgian_xan"
14027+ value="16781550"
14028+ c:type="GDK_KEY_Georgian_xan">
14029+ <source-position filename="gdk/gdkkeysyms.h" line="1628"/>
14030+ <type name="gint" c:type="gint"/>
14031+ </constant>
14032+ <constant name="KEY_Georgian_zen"
14033+ value="16781526"
14034+ c:type="GDK_KEY_Georgian_zen">
14035+ <source-position filename="gdk/gdkkeysyms.h" line="1604"/>
14036+ <type name="gint" c:type="gint"/>
14037+ </constant>
14038+ <constant name="KEY_Georgian_zhar"
14039+ value="16781535"
14040+ c:type="GDK_KEY_Georgian_zhar">
14041+ <source-position filename="gdk/gdkkeysyms.h" line="1613"/>
14042+ <type name="gint" c:type="gint"/>
14043+ </constant>
14044+ <constant name="KEY_Go" value="269025119" c:type="GDK_KEY_Go">
14045+ <source-position filename="gdk/gdkkeysyms.h" line="2222"/>
14046+ <type name="gint" c:type="gint"/>
14047+ </constant>
14048+ <constant name="KEY_Greek_ALPHA" value="1985" c:type="GDK_KEY_Greek_ALPHA">
14049+ <source-position filename="gdk/gdkkeysyms.h" line="1049"/>
14050+ <type name="gint" c:type="gint"/>
14051+ </constant>
14052+ <constant name="KEY_Greek_ALPHAaccent"
14053+ value="1953"
14054+ c:type="GDK_KEY_Greek_ALPHAaccent">
14055+ <source-position filename="gdk/gdkkeysyms.h" line="1026"/>
14056+ <type name="gint" c:type="gint"/>
14057+ </constant>
14058+ <constant name="KEY_Greek_BETA" value="1986" c:type="GDK_KEY_Greek_BETA">
14059+ <source-position filename="gdk/gdkkeysyms.h" line="1050"/>
14060+ <type name="gint" c:type="gint"/>
14061+ </constant>
14062+ <constant name="KEY_Greek_CHI" value="2007" c:type="GDK_KEY_Greek_CHI">
14063+ <source-position filename="gdk/gdkkeysyms.h" line="1071"/>
14064+ <type name="gint" c:type="gint"/>
14065+ </constant>
14066+ <constant name="KEY_Greek_DELTA" value="1988" c:type="GDK_KEY_Greek_DELTA">
14067+ <source-position filename="gdk/gdkkeysyms.h" line="1052"/>
14068+ <type name="gint" c:type="gint"/>
14069+ </constant>
14070+ <constant name="KEY_Greek_EPSILON"
14071+ value="1989"
14072+ c:type="GDK_KEY_Greek_EPSILON">
14073+ <source-position filename="gdk/gdkkeysyms.h" line="1053"/>
14074+ <type name="gint" c:type="gint"/>
14075+ </constant>
14076+ <constant name="KEY_Greek_EPSILONaccent"
14077+ value="1954"
14078+ c:type="GDK_KEY_Greek_EPSILONaccent">
14079+ <source-position filename="gdk/gdkkeysyms.h" line="1027"/>
14080+ <type name="gint" c:type="gint"/>
14081+ </constant>
14082+ <constant name="KEY_Greek_ETA" value="1991" c:type="GDK_KEY_Greek_ETA">
14083+ <source-position filename="gdk/gdkkeysyms.h" line="1055"/>
14084+ <type name="gint" c:type="gint"/>
14085+ </constant>
14086+ <constant name="KEY_Greek_ETAaccent"
14087+ value="1955"
14088+ c:type="GDK_KEY_Greek_ETAaccent">
14089+ <source-position filename="gdk/gdkkeysyms.h" line="1028"/>
14090+ <type name="gint" c:type="gint"/>
14091+ </constant>
14092+ <constant name="KEY_Greek_GAMMA" value="1987" c:type="GDK_KEY_Greek_GAMMA">
14093+ <source-position filename="gdk/gdkkeysyms.h" line="1051"/>
14094+ <type name="gint" c:type="gint"/>
14095+ </constant>
14096+ <constant name="KEY_Greek_IOTA" value="1993" c:type="GDK_KEY_Greek_IOTA">
14097+ <source-position filename="gdk/gdkkeysyms.h" line="1057"/>
14098+ <type name="gint" c:type="gint"/>
14099+ </constant>
14100+ <constant name="KEY_Greek_IOTAaccent"
14101+ value="1956"
14102+ c:type="GDK_KEY_Greek_IOTAaccent">
14103+ <source-position filename="gdk/gdkkeysyms.h" line="1029"/>
14104+ <type name="gint" c:type="gint"/>
14105+ </constant>
14106+ <constant name="KEY_Greek_IOTAdiaeresis"
14107+ value="1957"
14108+ c:type="GDK_KEY_Greek_IOTAdiaeresis">
14109+ <source-position filename="gdk/gdkkeysyms.h" line="1031"/>
14110+ <type name="gint" c:type="gint"/>
14111+ </constant>
14112+ <constant name="KEY_Greek_IOTAdieresis"
14113+ value="1957"
14114+ c:type="GDK_KEY_Greek_IOTAdieresis">
14115+ <source-position filename="gdk/gdkkeysyms.h" line="1030"/>
14116+ <type name="gint" c:type="gint"/>
14117+ </constant>
14118+ <constant name="KEY_Greek_KAPPA" value="1994" c:type="GDK_KEY_Greek_KAPPA">
14119+ <source-position filename="gdk/gdkkeysyms.h" line="1058"/>
14120+ <type name="gint" c:type="gint"/>
14121+ </constant>
14122+ <constant name="KEY_Greek_LAMBDA"
14123+ value="1995"
14124+ c:type="GDK_KEY_Greek_LAMBDA">
14125+ <source-position filename="gdk/gdkkeysyms.h" line="1060"/>
14126+ <type name="gint" c:type="gint"/>
14127+ </constant>
14128+ <constant name="KEY_Greek_LAMDA" value="1995" c:type="GDK_KEY_Greek_LAMDA">
14129+ <source-position filename="gdk/gdkkeysyms.h" line="1059"/>
14130+ <type name="gint" c:type="gint"/>
14131+ </constant>
14132+ <constant name="KEY_Greek_MU" value="1996" c:type="GDK_KEY_Greek_MU">
14133+ <source-position filename="gdk/gdkkeysyms.h" line="1061"/>
14134+ <type name="gint" c:type="gint"/>
14135+ </constant>
14136+ <constant name="KEY_Greek_NU" value="1997" c:type="GDK_KEY_Greek_NU">
14137+ <source-position filename="gdk/gdkkeysyms.h" line="1062"/>
14138+ <type name="gint" c:type="gint"/>
14139+ </constant>
14140+ <constant name="KEY_Greek_OMEGA" value="2009" c:type="GDK_KEY_Greek_OMEGA">
14141+ <source-position filename="gdk/gdkkeysyms.h" line="1073"/>
14142+ <type name="gint" c:type="gint"/>
14143+ </constant>
14144+ <constant name="KEY_Greek_OMEGAaccent"
14145+ value="1963"
14146+ c:type="GDK_KEY_Greek_OMEGAaccent">
14147+ <source-position filename="gdk/gdkkeysyms.h" line="1035"/>
14148+ <type name="gint" c:type="gint"/>
14149+ </constant>
14150+ <constant name="KEY_Greek_OMICRON"
14151+ value="1999"
14152+ c:type="GDK_KEY_Greek_OMICRON">
14153+ <source-position filename="gdk/gdkkeysyms.h" line="1064"/>
14154+ <type name="gint" c:type="gint"/>
14155+ </constant>
14156+ <constant name="KEY_Greek_OMICRONaccent"
14157+ value="1959"
14158+ c:type="GDK_KEY_Greek_OMICRONaccent">
14159+ <source-position filename="gdk/gdkkeysyms.h" line="1032"/>
14160+ <type name="gint" c:type="gint"/>
14161+ </constant>
14162+ <constant name="KEY_Greek_PHI" value="2006" c:type="GDK_KEY_Greek_PHI">
14163+ <source-position filename="gdk/gdkkeysyms.h" line="1070"/>
14164+ <type name="gint" c:type="gint"/>
14165+ </constant>
14166+ <constant name="KEY_Greek_PI" value="2000" c:type="GDK_KEY_Greek_PI">
14167+ <source-position filename="gdk/gdkkeysyms.h" line="1065"/>
14168+ <type name="gint" c:type="gint"/>
14169+ </constant>
14170+ <constant name="KEY_Greek_PSI" value="2008" c:type="GDK_KEY_Greek_PSI">
14171+ <source-position filename="gdk/gdkkeysyms.h" line="1072"/>
14172+ <type name="gint" c:type="gint"/>
14173+ </constant>
14174+ <constant name="KEY_Greek_RHO" value="2001" c:type="GDK_KEY_Greek_RHO">
14175+ <source-position filename="gdk/gdkkeysyms.h" line="1066"/>
14176+ <type name="gint" c:type="gint"/>
14177+ </constant>
14178+ <constant name="KEY_Greek_SIGMA" value="2002" c:type="GDK_KEY_Greek_SIGMA">
14179+ <source-position filename="gdk/gdkkeysyms.h" line="1067"/>
14180+ <type name="gint" c:type="gint"/>
14181+ </constant>
14182+ <constant name="KEY_Greek_TAU" value="2004" c:type="GDK_KEY_Greek_TAU">
14183+ <source-position filename="gdk/gdkkeysyms.h" line="1068"/>
14184+ <type name="gint" c:type="gint"/>
14185+ </constant>
14186+ <constant name="KEY_Greek_THETA" value="1992" c:type="GDK_KEY_Greek_THETA">
14187+ <source-position filename="gdk/gdkkeysyms.h" line="1056"/>
14188+ <type name="gint" c:type="gint"/>
14189+ </constant>
14190+ <constant name="KEY_Greek_UPSILON"
14191+ value="2005"
14192+ c:type="GDK_KEY_Greek_UPSILON">
14193+ <source-position filename="gdk/gdkkeysyms.h" line="1069"/>
14194+ <type name="gint" c:type="gint"/>
14195+ </constant>
14196+ <constant name="KEY_Greek_UPSILONaccent"
14197+ value="1960"
14198+ c:type="GDK_KEY_Greek_UPSILONaccent">
14199+ <source-position filename="gdk/gdkkeysyms.h" line="1033"/>
14200+ <type name="gint" c:type="gint"/>
14201+ </constant>
14202+ <constant name="KEY_Greek_UPSILONdieresis"
14203+ value="1961"
14204+ c:type="GDK_KEY_Greek_UPSILONdieresis">
14205+ <source-position filename="gdk/gdkkeysyms.h" line="1034"/>
14206+ <type name="gint" c:type="gint"/>
14207+ </constant>
14208+ <constant name="KEY_Greek_XI" value="1998" c:type="GDK_KEY_Greek_XI">
14209+ <source-position filename="gdk/gdkkeysyms.h" line="1063"/>
14210+ <type name="gint" c:type="gint"/>
14211+ </constant>
14212+ <constant name="KEY_Greek_ZETA" value="1990" c:type="GDK_KEY_Greek_ZETA">
14213+ <source-position filename="gdk/gdkkeysyms.h" line="1054"/>
14214+ <type name="gint" c:type="gint"/>
14215+ </constant>
14216+ <constant name="KEY_Greek_accentdieresis"
14217+ value="1966"
14218+ c:type="GDK_KEY_Greek_accentdieresis">
14219+ <source-position filename="gdk/gdkkeysyms.h" line="1036"/>
14220+ <type name="gint" c:type="gint"/>
14221+ </constant>
14222+ <constant name="KEY_Greek_alpha" value="2017" c:type="GDK_KEY_Greek_alpha">
14223+ <source-position filename="gdk/gdkkeysyms.h" line="1074"/>
14224+ <type name="gint" c:type="gint"/>
14225+ </constant>
14226+ <constant name="KEY_Greek_alphaaccent"
14227+ value="1969"
14228+ c:type="GDK_KEY_Greek_alphaaccent">
14229+ <source-position filename="gdk/gdkkeysyms.h" line="1038"/>
14230+ <type name="gint" c:type="gint"/>
14231+ </constant>
14232+ <constant name="KEY_Greek_beta" value="2018" c:type="GDK_KEY_Greek_beta">
14233+ <source-position filename="gdk/gdkkeysyms.h" line="1075"/>
14234+ <type name="gint" c:type="gint"/>
14235+ </constant>
14236+ <constant name="KEY_Greek_chi" value="2039" c:type="GDK_KEY_Greek_chi">
14237+ <source-position filename="gdk/gdkkeysyms.h" line="1097"/>
14238+ <type name="gint" c:type="gint"/>
14239+ </constant>
14240+ <constant name="KEY_Greek_delta" value="2020" c:type="GDK_KEY_Greek_delta">
14241+ <source-position filename="gdk/gdkkeysyms.h" line="1077"/>
14242+ <type name="gint" c:type="gint"/>
14243+ </constant>
14244+ <constant name="KEY_Greek_epsilon"
14245+ value="2021"
14246+ c:type="GDK_KEY_Greek_epsilon">
14247+ <source-position filename="gdk/gdkkeysyms.h" line="1078"/>
14248+ <type name="gint" c:type="gint"/>
14249+ </constant>
14250+ <constant name="KEY_Greek_epsilonaccent"
14251+ value="1970"
14252+ c:type="GDK_KEY_Greek_epsilonaccent">
14253+ <source-position filename="gdk/gdkkeysyms.h" line="1039"/>
14254+ <type name="gint" c:type="gint"/>
14255+ </constant>
14256+ <constant name="KEY_Greek_eta" value="2023" c:type="GDK_KEY_Greek_eta">
14257+ <source-position filename="gdk/gdkkeysyms.h" line="1080"/>
14258+ <type name="gint" c:type="gint"/>
14259+ </constant>
14260+ <constant name="KEY_Greek_etaaccent"
14261+ value="1971"
14262+ c:type="GDK_KEY_Greek_etaaccent">
14263+ <source-position filename="gdk/gdkkeysyms.h" line="1040"/>
14264+ <type name="gint" c:type="gint"/>
14265+ </constant>
14266+ <constant name="KEY_Greek_finalsmallsigma"
14267+ value="2035"
14268+ c:type="GDK_KEY_Greek_finalsmallsigma">
14269+ <source-position filename="gdk/gdkkeysyms.h" line="1093"/>
14270+ <type name="gint" c:type="gint"/>
14271+ </constant>
14272+ <constant name="KEY_Greek_gamma" value="2019" c:type="GDK_KEY_Greek_gamma">
14273+ <source-position filename="gdk/gdkkeysyms.h" line="1076"/>
14274+ <type name="gint" c:type="gint"/>
14275+ </constant>
14276+ <constant name="KEY_Greek_horizbar"
14277+ value="1967"
14278+ c:type="GDK_KEY_Greek_horizbar">
14279+ <source-position filename="gdk/gdkkeysyms.h" line="1037"/>
14280+ <type name="gint" c:type="gint"/>
14281+ </constant>
14282+ <constant name="KEY_Greek_iota" value="2025" c:type="GDK_KEY_Greek_iota">
14283+ <source-position filename="gdk/gdkkeysyms.h" line="1082"/>
14284+ <type name="gint" c:type="gint"/>
14285+ </constant>
14286+ <constant name="KEY_Greek_iotaaccent"
14287+ value="1972"
14288+ c:type="GDK_KEY_Greek_iotaaccent">
14289+ <source-position filename="gdk/gdkkeysyms.h" line="1041"/>
14290+ <type name="gint" c:type="gint"/>
14291+ </constant>
14292+ <constant name="KEY_Greek_iotaaccentdieresis"
14293+ value="1974"
14294+ c:type="GDK_KEY_Greek_iotaaccentdieresis">
14295+ <source-position filename="gdk/gdkkeysyms.h" line="1043"/>
14296+ <type name="gint" c:type="gint"/>
14297+ </constant>
14298+ <constant name="KEY_Greek_iotadieresis"
14299+ value="1973"
14300+ c:type="GDK_KEY_Greek_iotadieresis">
14301+ <source-position filename="gdk/gdkkeysyms.h" line="1042"/>
14302+ <type name="gint" c:type="gint"/>
14303+ </constant>
14304+ <constant name="KEY_Greek_kappa" value="2026" c:type="GDK_KEY_Greek_kappa">
14305+ <source-position filename="gdk/gdkkeysyms.h" line="1083"/>
14306+ <type name="gint" c:type="gint"/>
14307+ </constant>
14308+ <constant name="KEY_Greek_lambda"
14309+ value="2027"
14310+ c:type="GDK_KEY_Greek_lambda">
14311+ <source-position filename="gdk/gdkkeysyms.h" line="1085"/>
14312+ <type name="gint" c:type="gint"/>
14313+ </constant>
14314+ <constant name="KEY_Greek_lamda" value="2027" c:type="GDK_KEY_Greek_lamda">
14315+ <source-position filename="gdk/gdkkeysyms.h" line="1084"/>
14316+ <type name="gint" c:type="gint"/>
14317+ </constant>
14318+ <constant name="KEY_Greek_mu" value="2028" c:type="GDK_KEY_Greek_mu">
14319+ <source-position filename="gdk/gdkkeysyms.h" line="1086"/>
14320+ <type name="gint" c:type="gint"/>
14321+ </constant>
14322+ <constant name="KEY_Greek_nu" value="2029" c:type="GDK_KEY_Greek_nu">
14323+ <source-position filename="gdk/gdkkeysyms.h" line="1087"/>
14324+ <type name="gint" c:type="gint"/>
14325+ </constant>
14326+ <constant name="KEY_Greek_omega" value="2041" c:type="GDK_KEY_Greek_omega">
14327+ <source-position filename="gdk/gdkkeysyms.h" line="1099"/>
14328+ <type name="gint" c:type="gint"/>
14329+ </constant>
14330+ <constant name="KEY_Greek_omegaaccent"
14331+ value="1979"
14332+ c:type="GDK_KEY_Greek_omegaaccent">
14333+ <source-position filename="gdk/gdkkeysyms.h" line="1048"/>
14334+ <type name="gint" c:type="gint"/>
14335+ </constant>
14336+ <constant name="KEY_Greek_omicron"
14337+ value="2031"
14338+ c:type="GDK_KEY_Greek_omicron">
14339+ <source-position filename="gdk/gdkkeysyms.h" line="1089"/>
14340+ <type name="gint" c:type="gint"/>
14341+ </constant>
14342+ <constant name="KEY_Greek_omicronaccent"
14343+ value="1975"
14344+ c:type="GDK_KEY_Greek_omicronaccent">
14345+ <source-position filename="gdk/gdkkeysyms.h" line="1044"/>
14346+ <type name="gint" c:type="gint"/>
14347+ </constant>
14348+ <constant name="KEY_Greek_phi" value="2038" c:type="GDK_KEY_Greek_phi">
14349+ <source-position filename="gdk/gdkkeysyms.h" line="1096"/>
14350+ <type name="gint" c:type="gint"/>
14351+ </constant>
14352+ <constant name="KEY_Greek_pi" value="2032" c:type="GDK_KEY_Greek_pi">
14353+ <source-position filename="gdk/gdkkeysyms.h" line="1090"/>
14354+ <type name="gint" c:type="gint"/>
14355+ </constant>
14356+ <constant name="KEY_Greek_psi" value="2040" c:type="GDK_KEY_Greek_psi">
14357+ <source-position filename="gdk/gdkkeysyms.h" line="1098"/>
14358+ <type name="gint" c:type="gint"/>
14359+ </constant>
14360+ <constant name="KEY_Greek_rho" value="2033" c:type="GDK_KEY_Greek_rho">
14361+ <source-position filename="gdk/gdkkeysyms.h" line="1091"/>
14362+ <type name="gint" c:type="gint"/>
14363+ </constant>
14364+ <constant name="KEY_Greek_sigma" value="2034" c:type="GDK_KEY_Greek_sigma">
14365+ <source-position filename="gdk/gdkkeysyms.h" line="1092"/>
14366+ <type name="gint" c:type="gint"/>
14367+ </constant>
14368+ <constant name="KEY_Greek_switch"
14369+ value="65406"
14370+ c:type="GDK_KEY_Greek_switch">
14371+ <source-position filename="gdk/gdkkeysyms.h" line="1100"/>
14372+ <type name="gint" c:type="gint"/>
14373+ </constant>
14374+ <constant name="KEY_Greek_tau" value="2036" c:type="GDK_KEY_Greek_tau">
14375+ <source-position filename="gdk/gdkkeysyms.h" line="1094"/>
14376+ <type name="gint" c:type="gint"/>
14377+ </constant>
14378+ <constant name="KEY_Greek_theta" value="2024" c:type="GDK_KEY_Greek_theta">
14379+ <source-position filename="gdk/gdkkeysyms.h" line="1081"/>
14380+ <type name="gint" c:type="gint"/>
14381+ </constant>
14382+ <constant name="KEY_Greek_upsilon"
14383+ value="2037"
14384+ c:type="GDK_KEY_Greek_upsilon">
14385+ <source-position filename="gdk/gdkkeysyms.h" line="1095"/>
14386+ <type name="gint" c:type="gint"/>
14387+ </constant>
14388+ <constant name="KEY_Greek_upsilonaccent"
14389+ value="1976"
14390+ c:type="GDK_KEY_Greek_upsilonaccent">
14391+ <source-position filename="gdk/gdkkeysyms.h" line="1045"/>
14392+ <type name="gint" c:type="gint"/>
14393+ </constant>
14394+ <constant name="KEY_Greek_upsilonaccentdieresis"
14395+ value="1978"
14396+ c:type="GDK_KEY_Greek_upsilonaccentdieresis">
14397+ <source-position filename="gdk/gdkkeysyms.h" line="1047"/>
14398+ <type name="gint" c:type="gint"/>
14399+ </constant>
14400+ <constant name="KEY_Greek_upsilondieresis"
14401+ value="1977"
14402+ c:type="GDK_KEY_Greek_upsilondieresis">
14403+ <source-position filename="gdk/gdkkeysyms.h" line="1046"/>
14404+ <type name="gint" c:type="gint"/>
14405+ </constant>
14406+ <constant name="KEY_Greek_xi" value="2030" c:type="GDK_KEY_Greek_xi">
14407+ <source-position filename="gdk/gdkkeysyms.h" line="1088"/>
14408+ <type name="gint" c:type="gint"/>
14409+ </constant>
14410+ <constant name="KEY_Greek_zeta" value="2022" c:type="GDK_KEY_Greek_zeta">
14411+ <source-position filename="gdk/gdkkeysyms.h" line="1079"/>
14412+ <type name="gint" c:type="gint"/>
14413+ </constant>
14414+ <constant name="KEY_Green" value="269025188" c:type="GDK_KEY_Green">
14415+ <source-position filename="gdk/gdkkeysyms.h" line="2286"/>
14416+ <type name="gint" c:type="gint"/>
14417+ </constant>
14418+ <constant name="KEY_H" value="72" c:type="GDK_KEY_H">
14419+ <source-position filename="gdk/gdkkeysyms.h" line="426"/>
14420+ <type name="gint" c:type="gint"/>
14421+ </constant>
14422+ <constant name="KEY_Hangul" value="65329" c:type="GDK_KEY_Hangul">
14423+ <source-position filename="gdk/gdkkeysyms.h" line="1401"/>
14424+ <type name="gint" c:type="gint"/>
14425+ </constant>
14426+ <constant name="KEY_Hangul_A" value="3775" c:type="GDK_KEY_Hangul_A">
14427+ <source-position filename="gdk/gdkkeysyms.h" line="1447"/>
14428+ <type name="gint" c:type="gint"/>
14429+ </constant>
14430+ <constant name="KEY_Hangul_AE" value="3776" c:type="GDK_KEY_Hangul_AE">
14431+ <source-position filename="gdk/gdkkeysyms.h" line="1448"/>
14432+ <type name="gint" c:type="gint"/>
14433+ </constant>
14434+ <constant name="KEY_Hangul_AraeA"
14435+ value="3830"
14436+ c:type="GDK_KEY_Hangul_AraeA">
14437+ <source-position filename="gdk/gdkkeysyms.h" line="1502"/>
14438+ <type name="gint" c:type="gint"/>
14439+ </constant>
14440+ <constant name="KEY_Hangul_AraeAE"
14441+ value="3831"
14442+ c:type="GDK_KEY_Hangul_AraeAE">
14443+ <source-position filename="gdk/gdkkeysyms.h" line="1503"/>
14444+ <type name="gint" c:type="gint"/>
14445+ </constant>
14446+ <constant name="KEY_Hangul_Banja"
14447+ value="65337"
14448+ c:type="GDK_KEY_Hangul_Banja">
14449+ <source-position filename="gdk/gdkkeysyms.h" line="1409"/>
14450+ <type name="gint" c:type="gint"/>
14451+ </constant>
14452+ <constant name="KEY_Hangul_Cieuc"
14453+ value="3770"
14454+ c:type="GDK_KEY_Hangul_Cieuc">
14455+ <source-position filename="gdk/gdkkeysyms.h" line="1442"/>
14456+ <type name="gint" c:type="gint"/>
14457+ </constant>
14458+ <constant name="KEY_Hangul_Codeinput"
14459+ value="65335"
14460+ c:type="GDK_KEY_Hangul_Codeinput">
14461+ <source-position filename="gdk/gdkkeysyms.h" line="1407"/>
14462+ <type name="gint" c:type="gint"/>
14463+ </constant>
14464+ <constant name="KEY_Hangul_Dikeud"
14465+ value="3751"
14466+ c:type="GDK_KEY_Hangul_Dikeud">
14467+ <source-position filename="gdk/gdkkeysyms.h" line="1423"/>
14468+ <type name="gint" c:type="gint"/>
14469+ </constant>
14470+ <constant name="KEY_Hangul_E" value="3780" c:type="GDK_KEY_Hangul_E">
14471+ <source-position filename="gdk/gdkkeysyms.h" line="1452"/>
14472+ <type name="gint" c:type="gint"/>
14473+ </constant>
14474+ <constant name="KEY_Hangul_EO" value="3779" c:type="GDK_KEY_Hangul_EO">
14475+ <source-position filename="gdk/gdkkeysyms.h" line="1451"/>
14476+ <type name="gint" c:type="gint"/>
14477+ </constant>
14478+ <constant name="KEY_Hangul_EU" value="3793" c:type="GDK_KEY_Hangul_EU">
14479+ <source-position filename="gdk/gdkkeysyms.h" line="1465"/>
14480+ <type name="gint" c:type="gint"/>
14481+ </constant>
14482+ <constant name="KEY_Hangul_End" value="65331" c:type="GDK_KEY_Hangul_End">
14483+ <source-position filename="gdk/gdkkeysyms.h" line="1403"/>
14484+ <type name="gint" c:type="gint"/>
14485+ </constant>
14486+ <constant name="KEY_Hangul_Hanja"
14487+ value="65332"
14488+ c:type="GDK_KEY_Hangul_Hanja">
14489+ <source-position filename="gdk/gdkkeysyms.h" line="1404"/>
14490+ <type name="gint" c:type="gint"/>
14491+ </constant>
14492+ <constant name="KEY_Hangul_Hieuh"
14493+ value="3774"
14494+ c:type="GDK_KEY_Hangul_Hieuh">
14495+ <source-position filename="gdk/gdkkeysyms.h" line="1446"/>
14496+ <type name="gint" c:type="gint"/>
14497+ </constant>
14498+ <constant name="KEY_Hangul_I" value="3795" c:type="GDK_KEY_Hangul_I">
14499+ <source-position filename="gdk/gdkkeysyms.h" line="1467"/>
14500+ <type name="gint" c:type="gint"/>
14501+ </constant>
14502+ <constant name="KEY_Hangul_Ieung"
14503+ value="3767"
14504+ c:type="GDK_KEY_Hangul_Ieung">
14505+ <source-position filename="gdk/gdkkeysyms.h" line="1439"/>
14506+ <type name="gint" c:type="gint"/>
14507+ </constant>
14508+ <constant name="KEY_Hangul_J_Cieuc"
14509+ value="3818"
14510+ c:type="GDK_KEY_Hangul_J_Cieuc">
14511+ <source-position filename="gdk/gdkkeysyms.h" line="1490"/>
14512+ <type name="gint" c:type="gint"/>
14513+ </constant>
14514+ <constant name="KEY_Hangul_J_Dikeud"
14515+ value="3802"
14516+ c:type="GDK_KEY_Hangul_J_Dikeud">
14517+ <source-position filename="gdk/gdkkeysyms.h" line="1474"/>
14518+ <type name="gint" c:type="gint"/>
14519+ </constant>
14520+ <constant name="KEY_Hangul_J_Hieuh"
14521+ value="3822"
14522+ c:type="GDK_KEY_Hangul_J_Hieuh">
14523+ <source-position filename="gdk/gdkkeysyms.h" line="1494"/>
14524+ <type name="gint" c:type="gint"/>
14525+ </constant>
14526+ <constant name="KEY_Hangul_J_Ieung"
14527+ value="3816"
14528+ c:type="GDK_KEY_Hangul_J_Ieung">
14529+ <source-position filename="gdk/gdkkeysyms.h" line="1488"/>
14530+ <type name="gint" c:type="gint"/>
14531+ </constant>
14532+ <constant name="KEY_Hangul_J_Jieuj"
14533+ value="3817"
14534+ c:type="GDK_KEY_Hangul_J_Jieuj">
14535+ <source-position filename="gdk/gdkkeysyms.h" line="1489"/>
14536+ <type name="gint" c:type="gint"/>
14537+ </constant>
14538+ <constant name="KEY_Hangul_J_Khieuq"
14539+ value="3819"
14540+ c:type="GDK_KEY_Hangul_J_Khieuq">
14541+ <source-position filename="gdk/gdkkeysyms.h" line="1491"/>
14542+ <type name="gint" c:type="gint"/>
14543+ </constant>
14544+ <constant name="KEY_Hangul_J_Kiyeog"
14545+ value="3796"
14546+ c:type="GDK_KEY_Hangul_J_Kiyeog">
14547+ <source-position filename="gdk/gdkkeysyms.h" line="1468"/>
14548+ <type name="gint" c:type="gint"/>
14549+ </constant>
14550+ <constant name="KEY_Hangul_J_KiyeogSios"
14551+ value="3798"
14552+ c:type="GDK_KEY_Hangul_J_KiyeogSios">
14553+ <source-position filename="gdk/gdkkeysyms.h" line="1470"/>
14554+ <type name="gint" c:type="gint"/>
14555+ </constant>
14556+ <constant name="KEY_Hangul_J_KkogjiDalrinIeung"
14557+ value="3833"
14558+ c:type="GDK_KEY_Hangul_J_KkogjiDalrinIeung">
14559+ <source-position filename="gdk/gdkkeysyms.h" line="1505"/>
14560+ <type name="gint" c:type="gint"/>
14561+ </constant>
14562+ <constant name="KEY_Hangul_J_Mieum"
14563+ value="3811"
14564+ c:type="GDK_KEY_Hangul_J_Mieum">
14565+ <source-position filename="gdk/gdkkeysyms.h" line="1483"/>
14566+ <type name="gint" c:type="gint"/>
14567+ </constant>
14568+ <constant name="KEY_Hangul_J_Nieun"
14569+ value="3799"
14570+ c:type="GDK_KEY_Hangul_J_Nieun">
14571+ <source-position filename="gdk/gdkkeysyms.h" line="1471"/>
14572+ <type name="gint" c:type="gint"/>
14573+ </constant>
14574+ <constant name="KEY_Hangul_J_NieunHieuh"
14575+ value="3801"
14576+ c:type="GDK_KEY_Hangul_J_NieunHieuh">
14577+ <source-position filename="gdk/gdkkeysyms.h" line="1473"/>
14578+ <type name="gint" c:type="gint"/>
14579+ </constant>
14580+ <constant name="KEY_Hangul_J_NieunJieuj"
14581+ value="3800"
14582+ c:type="GDK_KEY_Hangul_J_NieunJieuj">
14583+ <source-position filename="gdk/gdkkeysyms.h" line="1472"/>
14584+ <type name="gint" c:type="gint"/>
14585+ </constant>
14586+ <constant name="KEY_Hangul_J_PanSios"
14587+ value="3832"
14588+ c:type="GDK_KEY_Hangul_J_PanSios">
14589+ <source-position filename="gdk/gdkkeysyms.h" line="1504"/>
14590+ <type name="gint" c:type="gint"/>
14591+ </constant>
14592+ <constant name="KEY_Hangul_J_Phieuf"
14593+ value="3821"
14594+ c:type="GDK_KEY_Hangul_J_Phieuf">
14595+ <source-position filename="gdk/gdkkeysyms.h" line="1493"/>
14596+ <type name="gint" c:type="gint"/>
14597+ </constant>
14598+ <constant name="KEY_Hangul_J_Pieub"
14599+ value="3812"
14600+ c:type="GDK_KEY_Hangul_J_Pieub">
14601+ <source-position filename="gdk/gdkkeysyms.h" line="1484"/>
14602+ <type name="gint" c:type="gint"/>
14603+ </constant>
14604+ <constant name="KEY_Hangul_J_PieubSios"
14605+ value="3813"
14606+ c:type="GDK_KEY_Hangul_J_PieubSios">
14607+ <source-position filename="gdk/gdkkeysyms.h" line="1485"/>
14608+ <type name="gint" c:type="gint"/>
14609+ </constant>
14610+ <constant name="KEY_Hangul_J_Rieul"
14611+ value="3803"
14612+ c:type="GDK_KEY_Hangul_J_Rieul">
14613+ <source-position filename="gdk/gdkkeysyms.h" line="1475"/>
14614+ <type name="gint" c:type="gint"/>
14615+ </constant>
14616+ <constant name="KEY_Hangul_J_RieulHieuh"
14617+ value="3810"
14618+ c:type="GDK_KEY_Hangul_J_RieulHieuh">
14619+ <source-position filename="gdk/gdkkeysyms.h" line="1482"/>
14620+ <type name="gint" c:type="gint"/>
14621+ </constant>
14622+ <constant name="KEY_Hangul_J_RieulKiyeog"
14623+ value="3804"
14624+ c:type="GDK_KEY_Hangul_J_RieulKiyeog">
14625+ <source-position filename="gdk/gdkkeysyms.h" line="1476"/>
14626+ <type name="gint" c:type="gint"/>
14627+ </constant>
14628+ <constant name="KEY_Hangul_J_RieulMieum"
14629+ value="3805"
14630+ c:type="GDK_KEY_Hangul_J_RieulMieum">
14631+ <source-position filename="gdk/gdkkeysyms.h" line="1477"/>
14632+ <type name="gint" c:type="gint"/>
14633+ </constant>
14634+ <constant name="KEY_Hangul_J_RieulPhieuf"
14635+ value="3809"
14636+ c:type="GDK_KEY_Hangul_J_RieulPhieuf">
14637+ <source-position filename="gdk/gdkkeysyms.h" line="1481"/>
14638+ <type name="gint" c:type="gint"/>
14639+ </constant>
14640+ <constant name="KEY_Hangul_J_RieulPieub"
14641+ value="3806"
14642+ c:type="GDK_KEY_Hangul_J_RieulPieub">
14643+ <source-position filename="gdk/gdkkeysyms.h" line="1478"/>
14644+ <type name="gint" c:type="gint"/>
14645+ </constant>
14646+ <constant name="KEY_Hangul_J_RieulSios"
14647+ value="3807"
14648+ c:type="GDK_KEY_Hangul_J_RieulSios">
14649+ <source-position filename="gdk/gdkkeysyms.h" line="1479"/>
14650+ <type name="gint" c:type="gint"/>
14651+ </constant>
14652+ <constant name="KEY_Hangul_J_RieulTieut"
14653+ value="3808"
14654+ c:type="GDK_KEY_Hangul_J_RieulTieut">
14655+ <source-position filename="gdk/gdkkeysyms.h" line="1480"/>
14656+ <type name="gint" c:type="gint"/>
14657+ </constant>
14658+ <constant name="KEY_Hangul_J_Sios"
14659+ value="3814"
14660+ c:type="GDK_KEY_Hangul_J_Sios">
14661+ <source-position filename="gdk/gdkkeysyms.h" line="1486"/>
14662+ <type name="gint" c:type="gint"/>
14663+ </constant>
14664+ <constant name="KEY_Hangul_J_SsangKiyeog"
14665+ value="3797"
14666+ c:type="GDK_KEY_Hangul_J_SsangKiyeog">
14667+ <source-position filename="gdk/gdkkeysyms.h" line="1469"/>
14668+ <type name="gint" c:type="gint"/>
14669+ </constant>
14670+ <constant name="KEY_Hangul_J_SsangSios"
14671+ value="3815"
14672+ c:type="GDK_KEY_Hangul_J_SsangSios">
14673+ <source-position filename="gdk/gdkkeysyms.h" line="1487"/>
14674+ <type name="gint" c:type="gint"/>
14675+ </constant>
14676+ <constant name="KEY_Hangul_J_Tieut"
14677+ value="3820"
14678+ c:type="GDK_KEY_Hangul_J_Tieut">
14679+ <source-position filename="gdk/gdkkeysyms.h" line="1492"/>
14680+ <type name="gint" c:type="gint"/>
14681+ </constant>
14682+ <constant name="KEY_Hangul_J_YeorinHieuh"
14683+ value="3834"
14684+ c:type="GDK_KEY_Hangul_J_YeorinHieuh">
14685+ <source-position filename="gdk/gdkkeysyms.h" line="1506"/>
14686+ <type name="gint" c:type="gint"/>
14687+ </constant>
14688+ <constant name="KEY_Hangul_Jamo"
14689+ value="65333"
14690+ c:type="GDK_KEY_Hangul_Jamo">
14691+ <source-position filename="gdk/gdkkeysyms.h" line="1405"/>
14692+ <type name="gint" c:type="gint"/>
14693+ </constant>
14694+ <constant name="KEY_Hangul_Jeonja"
14695+ value="65336"
14696+ c:type="GDK_KEY_Hangul_Jeonja">
14697+ <source-position filename="gdk/gdkkeysyms.h" line="1408"/>
14698+ <type name="gint" c:type="gint"/>
14699+ </constant>
14700+ <constant name="KEY_Hangul_Jieuj"
14701+ value="3768"
14702+ c:type="GDK_KEY_Hangul_Jieuj">
14703+ <source-position filename="gdk/gdkkeysyms.h" line="1440"/>
14704+ <type name="gint" c:type="gint"/>
14705+ </constant>
14706+ <constant name="KEY_Hangul_Khieuq"
14707+ value="3771"
14708+ c:type="GDK_KEY_Hangul_Khieuq">
14709+ <source-position filename="gdk/gdkkeysyms.h" line="1443"/>
14710+ <type name="gint" c:type="gint"/>
14711+ </constant>
14712+ <constant name="KEY_Hangul_Kiyeog"
14713+ value="3745"
14714+ c:type="GDK_KEY_Hangul_Kiyeog">
14715+ <source-position filename="gdk/gdkkeysyms.h" line="1417"/>
14716+ <type name="gint" c:type="gint"/>
14717+ </constant>
14718+ <constant name="KEY_Hangul_KiyeogSios"
14719+ value="3747"
14720+ c:type="GDK_KEY_Hangul_KiyeogSios">
14721+ <source-position filename="gdk/gdkkeysyms.h" line="1419"/>
14722+ <type name="gint" c:type="gint"/>
14723+ </constant>
14724+ <constant name="KEY_Hangul_KkogjiDalrinIeung"
14725+ value="3827"
14726+ c:type="GDK_KEY_Hangul_KkogjiDalrinIeung">
14727+ <source-position filename="gdk/gdkkeysyms.h" line="1499"/>
14728+ <type name="gint" c:type="gint"/>
14729+ </constant>
14730+ <constant name="KEY_Hangul_Mieum"
14731+ value="3761"
14732+ c:type="GDK_KEY_Hangul_Mieum">
14733+ <source-position filename="gdk/gdkkeysyms.h" line="1433"/>
14734+ <type name="gint" c:type="gint"/>
14735+ </constant>
14736+ <constant name="KEY_Hangul_MultipleCandidate"
14737+ value="65341"
14738+ c:type="GDK_KEY_Hangul_MultipleCandidate">
14739+ <source-position filename="gdk/gdkkeysyms.h" line="1413"/>
14740+ <type name="gint" c:type="gint"/>
14741+ </constant>
14742+ <constant name="KEY_Hangul_Nieun"
14743+ value="3748"
14744+ c:type="GDK_KEY_Hangul_Nieun">
14745+ <source-position filename="gdk/gdkkeysyms.h" line="1420"/>
14746+ <type name="gint" c:type="gint"/>
14747+ </constant>
14748+ <constant name="KEY_Hangul_NieunHieuh"
14749+ value="3750"
14750+ c:type="GDK_KEY_Hangul_NieunHieuh">
14751+ <source-position filename="gdk/gdkkeysyms.h" line="1422"/>
14752+ <type name="gint" c:type="gint"/>
14753+ </constant>
14754+ <constant name="KEY_Hangul_NieunJieuj"
14755+ value="3749"
14756+ c:type="GDK_KEY_Hangul_NieunJieuj">
14757+ <source-position filename="gdk/gdkkeysyms.h" line="1421"/>
14758+ <type name="gint" c:type="gint"/>
14759+ </constant>
14760+ <constant name="KEY_Hangul_O" value="3783" c:type="GDK_KEY_Hangul_O">
14761+ <source-position filename="gdk/gdkkeysyms.h" line="1455"/>
14762+ <type name="gint" c:type="gint"/>
14763+ </constant>
14764+ <constant name="KEY_Hangul_OE" value="3786" c:type="GDK_KEY_Hangul_OE">
14765+ <source-position filename="gdk/gdkkeysyms.h" line="1458"/>
14766+ <type name="gint" c:type="gint"/>
14767+ </constant>
14768+ <constant name="KEY_Hangul_PanSios"
14769+ value="3826"
14770+ c:type="GDK_KEY_Hangul_PanSios">
14771+ <source-position filename="gdk/gdkkeysyms.h" line="1498"/>
14772+ <type name="gint" c:type="gint"/>
14773+ </constant>
14774+ <constant name="KEY_Hangul_Phieuf"
14775+ value="3773"
14776+ c:type="GDK_KEY_Hangul_Phieuf">
14777+ <source-position filename="gdk/gdkkeysyms.h" line="1445"/>
14778+ <type name="gint" c:type="gint"/>
14779+ </constant>
14780+ <constant name="KEY_Hangul_Pieub"
14781+ value="3762"
14782+ c:type="GDK_KEY_Hangul_Pieub">
14783+ <source-position filename="gdk/gdkkeysyms.h" line="1434"/>
14784+ <type name="gint" c:type="gint"/>
14785+ </constant>
14786+ <constant name="KEY_Hangul_PieubSios"
14787+ value="3764"
14788+ c:type="GDK_KEY_Hangul_PieubSios">
14789+ <source-position filename="gdk/gdkkeysyms.h" line="1436"/>
14790+ <type name="gint" c:type="gint"/>
14791+ </constant>
14792+ <constant name="KEY_Hangul_PostHanja"
14793+ value="65339"
14794+ c:type="GDK_KEY_Hangul_PostHanja">
14795+ <source-position filename="gdk/gdkkeysyms.h" line="1411"/>
14796+ <type name="gint" c:type="gint"/>
14797+ </constant>
14798+ <constant name="KEY_Hangul_PreHanja"
14799+ value="65338"
14800+ c:type="GDK_KEY_Hangul_PreHanja">
14801+ <source-position filename="gdk/gdkkeysyms.h" line="1410"/>
14802+ <type name="gint" c:type="gint"/>
14803+ </constant>
14804+ <constant name="KEY_Hangul_PreviousCandidate"
14805+ value="65342"
14806+ c:type="GDK_KEY_Hangul_PreviousCandidate">
14807+ <source-position filename="gdk/gdkkeysyms.h" line="1414"/>
14808+ <type name="gint" c:type="gint"/>
14809+ </constant>
14810+ <constant name="KEY_Hangul_Rieul"
14811+ value="3753"
14812+ c:type="GDK_KEY_Hangul_Rieul">
14813+ <source-position filename="gdk/gdkkeysyms.h" line="1425"/>
14814+ <type name="gint" c:type="gint"/>
14815+ </constant>
14816+ <constant name="KEY_Hangul_RieulHieuh"
14817+ value="3760"
14818+ c:type="GDK_KEY_Hangul_RieulHieuh">
14819+ <source-position filename="gdk/gdkkeysyms.h" line="1432"/>
14820+ <type name="gint" c:type="gint"/>
14821+ </constant>
14822+ <constant name="KEY_Hangul_RieulKiyeog"
14823+ value="3754"
14824+ c:type="GDK_KEY_Hangul_RieulKiyeog">
14825+ <source-position filename="gdk/gdkkeysyms.h" line="1426"/>
14826+ <type name="gint" c:type="gint"/>
14827+ </constant>
14828+ <constant name="KEY_Hangul_RieulMieum"
14829+ value="3755"
14830+ c:type="GDK_KEY_Hangul_RieulMieum">
14831+ <source-position filename="gdk/gdkkeysyms.h" line="1427"/>
14832+ <type name="gint" c:type="gint"/>
14833+ </constant>
14834+ <constant name="KEY_Hangul_RieulPhieuf"
14835+ value="3759"
14836+ c:type="GDK_KEY_Hangul_RieulPhieuf">
14837+ <source-position filename="gdk/gdkkeysyms.h" line="1431"/>
14838+ <type name="gint" c:type="gint"/>
14839+ </constant>
14840+ <constant name="KEY_Hangul_RieulPieub"
14841+ value="3756"
14842+ c:type="GDK_KEY_Hangul_RieulPieub">
14843+ <source-position filename="gdk/gdkkeysyms.h" line="1428"/>
14844+ <type name="gint" c:type="gint"/>
14845+ </constant>
14846+ <constant name="KEY_Hangul_RieulSios"
14847+ value="3757"
14848+ c:type="GDK_KEY_Hangul_RieulSios">
14849+ <source-position filename="gdk/gdkkeysyms.h" line="1429"/>
14850+ <type name="gint" c:type="gint"/>
14851+ </constant>
14852+ <constant name="KEY_Hangul_RieulTieut"
14853+ value="3758"
14854+ c:type="GDK_KEY_Hangul_RieulTieut">
14855+ <source-position filename="gdk/gdkkeysyms.h" line="1430"/>
14856+ <type name="gint" c:type="gint"/>
14857+ </constant>
14858+ <constant name="KEY_Hangul_RieulYeorinHieuh"
14859+ value="3823"
14860+ c:type="GDK_KEY_Hangul_RieulYeorinHieuh">
14861+ <source-position filename="gdk/gdkkeysyms.h" line="1495"/>
14862+ <type name="gint" c:type="gint"/>
14863+ </constant>
14864+ <constant name="KEY_Hangul_Romaja"
14865+ value="65334"
14866+ c:type="GDK_KEY_Hangul_Romaja">
14867+ <source-position filename="gdk/gdkkeysyms.h" line="1406"/>
14868+ <type name="gint" c:type="gint"/>
14869+ </constant>
14870+ <constant name="KEY_Hangul_SingleCandidate"
14871+ value="65340"
14872+ c:type="GDK_KEY_Hangul_SingleCandidate">
14873+ <source-position filename="gdk/gdkkeysyms.h" line="1412"/>
14874+ <type name="gint" c:type="gint"/>
14875+ </constant>
14876+ <constant name="KEY_Hangul_Sios" value="3765" c:type="GDK_KEY_Hangul_Sios">
14877+ <source-position filename="gdk/gdkkeysyms.h" line="1437"/>
14878+ <type name="gint" c:type="gint"/>
14879+ </constant>
14880+ <constant name="KEY_Hangul_Special"
14881+ value="65343"
14882+ c:type="GDK_KEY_Hangul_Special">
14883+ <source-position filename="gdk/gdkkeysyms.h" line="1415"/>
14884+ <type name="gint" c:type="gint"/>
14885+ </constant>
14886+ <constant name="KEY_Hangul_SsangDikeud"
14887+ value="3752"
14888+ c:type="GDK_KEY_Hangul_SsangDikeud">
14889+ <source-position filename="gdk/gdkkeysyms.h" line="1424"/>
14890+ <type name="gint" c:type="gint"/>
14891+ </constant>
14892+ <constant name="KEY_Hangul_SsangJieuj"
14893+ value="3769"
14894+ c:type="GDK_KEY_Hangul_SsangJieuj">
14895+ <source-position filename="gdk/gdkkeysyms.h" line="1441"/>
14896+ <type name="gint" c:type="gint"/>
14897+ </constant>
14898+ <constant name="KEY_Hangul_SsangKiyeog"
14899+ value="3746"
14900+ c:type="GDK_KEY_Hangul_SsangKiyeog">
14901+ <source-position filename="gdk/gdkkeysyms.h" line="1418"/>
14902+ <type name="gint" c:type="gint"/>
14903+ </constant>
14904+ <constant name="KEY_Hangul_SsangPieub"
14905+ value="3763"
14906+ c:type="GDK_KEY_Hangul_SsangPieub">
14907+ <source-position filename="gdk/gdkkeysyms.h" line="1435"/>
14908+ <type name="gint" c:type="gint"/>
14909+ </constant>
14910+ <constant name="KEY_Hangul_SsangSios"
14911+ value="3766"
14912+ c:type="GDK_KEY_Hangul_SsangSios">
14913+ <source-position filename="gdk/gdkkeysyms.h" line="1438"/>
14914+ <type name="gint" c:type="gint"/>
14915+ </constant>
14916+ <constant name="KEY_Hangul_Start"
14917+ value="65330"
14918+ c:type="GDK_KEY_Hangul_Start">
14919+ <source-position filename="gdk/gdkkeysyms.h" line="1402"/>
14920+ <type name="gint" c:type="gint"/>
14921+ </constant>
14922+ <constant name="KEY_Hangul_SunkyeongeumMieum"
14923+ value="3824"
14924+ c:type="GDK_KEY_Hangul_SunkyeongeumMieum">
14925+ <source-position filename="gdk/gdkkeysyms.h" line="1496"/>
14926+ <type name="gint" c:type="gint"/>
14927+ </constant>
14928+ <constant name="KEY_Hangul_SunkyeongeumPhieuf"
14929+ value="3828"
14930+ c:type="GDK_KEY_Hangul_SunkyeongeumPhieuf">
14931+ <source-position filename="gdk/gdkkeysyms.h" line="1500"/>
14932+ <type name="gint" c:type="gint"/>
14933+ </constant>
14934+ <constant name="KEY_Hangul_SunkyeongeumPieub"
14935+ value="3825"
14936+ c:type="GDK_KEY_Hangul_SunkyeongeumPieub">
14937+ <source-position filename="gdk/gdkkeysyms.h" line="1497"/>
14938+ <type name="gint" c:type="gint"/>
14939+ </constant>
14940+ <constant name="KEY_Hangul_Tieut"
14941+ value="3772"
14942+ c:type="GDK_KEY_Hangul_Tieut">
14943+ <source-position filename="gdk/gdkkeysyms.h" line="1444"/>
14944+ <type name="gint" c:type="gint"/>
14945+ </constant>
14946+ <constant name="KEY_Hangul_U" value="3788" c:type="GDK_KEY_Hangul_U">
14947+ <source-position filename="gdk/gdkkeysyms.h" line="1460"/>
14948+ <type name="gint" c:type="gint"/>
14949+ </constant>
14950+ <constant name="KEY_Hangul_WA" value="3784" c:type="GDK_KEY_Hangul_WA">
14951+ <source-position filename="gdk/gdkkeysyms.h" line="1456"/>
14952+ <type name="gint" c:type="gint"/>
14953+ </constant>
14954+ <constant name="KEY_Hangul_WAE" value="3785" c:type="GDK_KEY_Hangul_WAE">
14955+ <source-position filename="gdk/gdkkeysyms.h" line="1457"/>
14956+ <type name="gint" c:type="gint"/>
14957+ </constant>
14958+ <constant name="KEY_Hangul_WE" value="3790" c:type="GDK_KEY_Hangul_WE">
14959+ <source-position filename="gdk/gdkkeysyms.h" line="1462"/>
14960+ <type name="gint" c:type="gint"/>
14961+ </constant>
14962+ <constant name="KEY_Hangul_WEO" value="3789" c:type="GDK_KEY_Hangul_WEO">
14963+ <source-position filename="gdk/gdkkeysyms.h" line="1461"/>
14964+ <type name="gint" c:type="gint"/>
14965+ </constant>
14966+ <constant name="KEY_Hangul_WI" value="3791" c:type="GDK_KEY_Hangul_WI">
14967+ <source-position filename="gdk/gdkkeysyms.h" line="1463"/>
14968+ <type name="gint" c:type="gint"/>
14969+ </constant>
14970+ <constant name="KEY_Hangul_YA" value="3777" c:type="GDK_KEY_Hangul_YA">
14971+ <source-position filename="gdk/gdkkeysyms.h" line="1449"/>
14972+ <type name="gint" c:type="gint"/>
14973+ </constant>
14974+ <constant name="KEY_Hangul_YAE" value="3778" c:type="GDK_KEY_Hangul_YAE">
14975+ <source-position filename="gdk/gdkkeysyms.h" line="1450"/>
14976+ <type name="gint" c:type="gint"/>
14977+ </constant>
14978+ <constant name="KEY_Hangul_YE" value="3782" c:type="GDK_KEY_Hangul_YE">
14979+ <source-position filename="gdk/gdkkeysyms.h" line="1454"/>
14980+ <type name="gint" c:type="gint"/>
14981+ </constant>
14982+ <constant name="KEY_Hangul_YEO" value="3781" c:type="GDK_KEY_Hangul_YEO">
14983+ <source-position filename="gdk/gdkkeysyms.h" line="1453"/>
14984+ <type name="gint" c:type="gint"/>
14985+ </constant>
14986+ <constant name="KEY_Hangul_YI" value="3794" c:type="GDK_KEY_Hangul_YI">
14987+ <source-position filename="gdk/gdkkeysyms.h" line="1466"/>
14988+ <type name="gint" c:type="gint"/>
14989+ </constant>
14990+ <constant name="KEY_Hangul_YO" value="3787" c:type="GDK_KEY_Hangul_YO">
14991+ <source-position filename="gdk/gdkkeysyms.h" line="1459"/>
14992+ <type name="gint" c:type="gint"/>
14993+ </constant>
14994+ <constant name="KEY_Hangul_YU" value="3792" c:type="GDK_KEY_Hangul_YU">
14995+ <source-position filename="gdk/gdkkeysyms.h" line="1464"/>
14996+ <type name="gint" c:type="gint"/>
14997+ </constant>
14998+ <constant name="KEY_Hangul_YeorinHieuh"
14999+ value="3829"
15000+ c:type="GDK_KEY_Hangul_YeorinHieuh">
15001+ <source-position filename="gdk/gdkkeysyms.h" line="1501"/>
15002+ <type name="gint" c:type="gint"/>
15003+ </constant>
15004+ <constant name="KEY_Hangul_switch"
15005+ value="65406"
15006+ c:type="GDK_KEY_Hangul_switch">
15007+ <source-position filename="gdk/gdkkeysyms.h" line="1416"/>
15008+ <type name="gint" c:type="gint"/>
15009+ </constant>
15010+ <constant name="KEY_Hankaku" value="65321" c:type="GDK_KEY_Hankaku">
15011+ <source-position filename="gdk/gdkkeysyms.h" line="64"/>
15012+ <type name="gint" c:type="gint"/>
15013+ </constant>
15014+ <constant name="KEY_Hcircumflex" value="678" c:type="GDK_KEY_Hcircumflex">
15015+ <source-position filename="gdk/gdkkeysyms.h" line="640"/>
15016+ <type name="gint" c:type="gint"/>
15017+ </constant>
15018+ <constant name="KEY_Hebrew_switch"
15019+ value="65406"
15020+ c:type="GDK_KEY_Hebrew_switch">
15021+ <source-position filename="gdk/gdkkeysyms.h" line="1316"/>
15022+ <type name="gint" c:type="gint"/>
15023+ </constant>
15024+ <constant name="KEY_Help" value="65386" c:type="GDK_KEY_Help">
15025+ <source-position filename="gdk/gdkkeysyms.h" line="95"/>
15026+ <type name="gint" c:type="gint"/>
15027+ </constant>
15028+ <constant name="KEY_Henkan" value="65315" c:type="GDK_KEY_Henkan">
15029+ <source-position filename="gdk/gdkkeysyms.h" line="58"/>
15030+ <type name="gint" c:type="gint"/>
15031+ </constant>
15032+ <constant name="KEY_Henkan_Mode"
15033+ value="65315"
15034+ c:type="GDK_KEY_Henkan_Mode">
15035+ <source-position filename="gdk/gdkkeysyms.h" line="57"/>
15036+ <type name="gint" c:type="gint"/>
15037+ </constant>
15038+ <constant name="KEY_Hibernate"
15039+ value="269025192"
15040+ c:type="GDK_KEY_Hibernate">
15041+ <source-position filename="gdk/gdkkeysyms.h" line="2290"/>
15042+ <type name="gint" c:type="gint"/>
15043+ </constant>
15044+ <constant name="KEY_Hiragana" value="65317" c:type="GDK_KEY_Hiragana">
15045+ <source-position filename="gdk/gdkkeysyms.h" line="60"/>
15046+ <type name="gint" c:type="gint"/>
15047+ </constant>
15048+ <constant name="KEY_Hiragana_Katakana"
15049+ value="65319"
15050+ c:type="GDK_KEY_Hiragana_Katakana">
15051+ <source-position filename="gdk/gdkkeysyms.h" line="62"/>
15052+ <type name="gint" c:type="gint"/>
15053+ </constant>
15054+ <constant name="KEY_History" value="269025079" c:type="GDK_KEY_History">
15055+ <source-position filename="gdk/gdkkeysyms.h" line="2183"/>
15056+ <type name="gint" c:type="gint"/>
15057+ </constant>
15058+ <constant name="KEY_Home" value="65360" c:type="GDK_KEY_Home">
15059+ <source-position filename="gdk/gdkkeysyms.h" line="75"/>
15060+ <type name="gint" c:type="gint"/>
15061+ </constant>
15062+ <constant name="KEY_HomePage" value="269025048" c:type="GDK_KEY_HomePage">
15063+ <source-position filename="gdk/gdkkeysyms.h" line="2152"/>
15064+ <type name="gint" c:type="gint"/>
15065+ </constant>
15066+ <constant name="KEY_HotLinks" value="269025082" c:type="GDK_KEY_HotLinks">
15067+ <source-position filename="gdk/gdkkeysyms.h" line="2186"/>
15068+ <type name="gint" c:type="gint"/>
15069+ </constant>
15070+ <constant name="KEY_Hstroke" value="673" c:type="GDK_KEY_Hstroke">
15071+ <source-position filename="gdk/gdkkeysyms.h" line="639"/>
15072+ <type name="gint" c:type="gint"/>
15073+ </constant>
15074+ <constant name="KEY_Hyper_L" value="65517" c:type="GDK_KEY_Hyper_L">
15075+ <source-position filename="gdk/gdkkeysyms.h" line="209"/>
15076+ <type name="gint" c:type="gint"/>
15077+ </constant>
15078+ <constant name="KEY_Hyper_R" value="65518" c:type="GDK_KEY_Hyper_R">
15079+ <source-position filename="gdk/gdkkeysyms.h" line="210"/>
15080+ <type name="gint" c:type="gint"/>
15081+ </constant>
15082+ <constant name="KEY_I" value="73" c:type="GDK_KEY_I">
15083+ <source-position filename="gdk/gdkkeysyms.h" line="427"/>
15084+ <type name="gint" c:type="gint"/>
15085+ </constant>
15086+ <constant name="KEY_ISO_Center_Object"
15087+ value="65075"
15088+ c:type="GDK_KEY_ISO_Center_Object">
15089+ <source-position filename="gdk/gdkkeysyms.h" line="249"/>
15090+ <type name="gint" c:type="gint"/>
15091+ </constant>
15092+ <constant name="KEY_ISO_Continuous_Underline"
15093+ value="65072"
15094+ c:type="GDK_KEY_ISO_Continuous_Underline">
15095+ <source-position filename="gdk/gdkkeysyms.h" line="246"/>
15096+ <type name="gint" c:type="gint"/>
15097+ </constant>
15098+ <constant name="KEY_ISO_Discontinuous_Underline"
15099+ value="65073"
15100+ c:type="GDK_KEY_ISO_Discontinuous_Underline">
15101+ <source-position filename="gdk/gdkkeysyms.h" line="247"/>
15102+ <type name="gint" c:type="gint"/>
15103+ </constant>
15104+ <constant name="KEY_ISO_Emphasize"
15105+ value="65074"
15106+ c:type="GDK_KEY_ISO_Emphasize">
15107+ <source-position filename="gdk/gdkkeysyms.h" line="248"/>
15108+ <type name="gint" c:type="gint"/>
15109+ </constant>
15110+ <constant name="KEY_ISO_Enter" value="65076" c:type="GDK_KEY_ISO_Enter">
15111+ <source-position filename="gdk/gdkkeysyms.h" line="250"/>
15112+ <type name="gint" c:type="gint"/>
15113+ </constant>
15114+ <constant name="KEY_ISO_Fast_Cursor_Down"
15115+ value="65071"
15116+ c:type="GDK_KEY_ISO_Fast_Cursor_Down">
15117+ <source-position filename="gdk/gdkkeysyms.h" line="245"/>
15118+ <type name="gint" c:type="gint"/>
15119+ </constant>
15120+ <constant name="KEY_ISO_Fast_Cursor_Left"
15121+ value="65068"
15122+ c:type="GDK_KEY_ISO_Fast_Cursor_Left">
15123+ <source-position filename="gdk/gdkkeysyms.h" line="242"/>
15124+ <type name="gint" c:type="gint"/>
15125+ </constant>
15126+ <constant name="KEY_ISO_Fast_Cursor_Right"
15127+ value="65069"
15128+ c:type="GDK_KEY_ISO_Fast_Cursor_Right">
15129+ <source-position filename="gdk/gdkkeysyms.h" line="243"/>
15130+ <type name="gint" c:type="gint"/>
15131+ </constant>
15132+ <constant name="KEY_ISO_Fast_Cursor_Up"
15133+ value="65070"
15134+ c:type="GDK_KEY_ISO_Fast_Cursor_Up">
15135+ <source-position filename="gdk/gdkkeysyms.h" line="244"/>
15136+ <type name="gint" c:type="gint"/>
15137+ </constant>
15138+ <constant name="KEY_ISO_First_Group"
15139+ value="65036"
15140+ c:type="GDK_KEY_ISO_First_Group">
15141+ <source-position filename="gdk/gdkkeysyms.h" line="226"/>
15142+ <type name="gint" c:type="gint"/>
15143+ </constant>
15144+ <constant name="KEY_ISO_First_Group_Lock"
15145+ value="65037"
15146+ c:type="GDK_KEY_ISO_First_Group_Lock">
15147+ <source-position filename="gdk/gdkkeysyms.h" line="227"/>
15148+ <type name="gint" c:type="gint"/>
15149+ </constant>
15150+ <constant name="KEY_ISO_Group_Latch"
15151+ value="65030"
15152+ c:type="GDK_KEY_ISO_Group_Latch">
15153+ <source-position filename="gdk/gdkkeysyms.h" line="220"/>
15154+ <type name="gint" c:type="gint"/>
15155+ </constant>
15156+ <constant name="KEY_ISO_Group_Lock"
15157+ value="65031"
15158+ c:type="GDK_KEY_ISO_Group_Lock">
15159+ <source-position filename="gdk/gdkkeysyms.h" line="221"/>
15160+ <type name="gint" c:type="gint"/>
15161+ </constant>
15162+ <constant name="KEY_ISO_Group_Shift"
15163+ value="65406"
15164+ c:type="GDK_KEY_ISO_Group_Shift">
15165+ <source-position filename="gdk/gdkkeysyms.h" line="219"/>
15166+ <type name="gint" c:type="gint"/>
15167+ </constant>
15168+ <constant name="KEY_ISO_Last_Group"
15169+ value="65038"
15170+ c:type="GDK_KEY_ISO_Last_Group">
15171+ <source-position filename="gdk/gdkkeysyms.h" line="228"/>
15172+ <type name="gint" c:type="gint"/>
15173+ </constant>
15174+ <constant name="KEY_ISO_Last_Group_Lock"
15175+ value="65039"
15176+ c:type="GDK_KEY_ISO_Last_Group_Lock">
15177+ <source-position filename="gdk/gdkkeysyms.h" line="229"/>
15178+ <type name="gint" c:type="gint"/>
15179+ </constant>
15180+ <constant name="KEY_ISO_Left_Tab"
15181+ value="65056"
15182+ c:type="GDK_KEY_ISO_Left_Tab">
15183+ <source-position filename="gdk/gdkkeysyms.h" line="230"/>
15184+ <type name="gint" c:type="gint"/>
15185+ </constant>
15186+ <constant name="KEY_ISO_Level2_Latch"
15187+ value="65026"
15188+ c:type="GDK_KEY_ISO_Level2_Latch">
15189+ <source-position filename="gdk/gdkkeysyms.h" line="212"/>
15190+ <type name="gint" c:type="gint"/>
15191+ </constant>
15192+ <constant name="KEY_ISO_Level3_Latch"
15193+ value="65028"
15194+ c:type="GDK_KEY_ISO_Level3_Latch">
15195+ <source-position filename="gdk/gdkkeysyms.h" line="214"/>
15196+ <type name="gint" c:type="gint"/>
15197+ </constant>
15198+ <constant name="KEY_ISO_Level3_Lock"
15199+ value="65029"
15200+ c:type="GDK_KEY_ISO_Level3_Lock">
15201+ <source-position filename="gdk/gdkkeysyms.h" line="215"/>
15202+ <type name="gint" c:type="gint"/>
15203+ </constant>
15204+ <constant name="KEY_ISO_Level3_Shift"
15205+ value="65027"
15206+ c:type="GDK_KEY_ISO_Level3_Shift">
15207+ <source-position filename="gdk/gdkkeysyms.h" line="213"/>
15208+ <type name="gint" c:type="gint"/>
15209+ </constant>
15210+ <constant name="KEY_ISO_Level5_Latch"
15211+ value="65042"
15212+ c:type="GDK_KEY_ISO_Level5_Latch">
15213+ <source-position filename="gdk/gdkkeysyms.h" line="217"/>
15214+ <type name="gint" c:type="gint"/>
15215+ </constant>
15216+ <constant name="KEY_ISO_Level5_Lock"
15217+ value="65043"
15218+ c:type="GDK_KEY_ISO_Level5_Lock">
15219+ <source-position filename="gdk/gdkkeysyms.h" line="218"/>
15220+ <type name="gint" c:type="gint"/>
15221+ </constant>
15222+ <constant name="KEY_ISO_Level5_Shift"
15223+ value="65041"
15224+ c:type="GDK_KEY_ISO_Level5_Shift">
15225+ <source-position filename="gdk/gdkkeysyms.h" line="216"/>
15226+ <type name="gint" c:type="gint"/>
15227+ </constant>
15228+ <constant name="KEY_ISO_Lock" value="65025" c:type="GDK_KEY_ISO_Lock">
15229+ <source-position filename="gdk/gdkkeysyms.h" line="211"/>
15230+ <type name="gint" c:type="gint"/>
15231+ </constant>
15232+ <constant name="KEY_ISO_Move_Line_Down"
15233+ value="65058"
15234+ c:type="GDK_KEY_ISO_Move_Line_Down">
15235+ <source-position filename="gdk/gdkkeysyms.h" line="232"/>
15236+ <type name="gint" c:type="gint"/>
15237+ </constant>
15238+ <constant name="KEY_ISO_Move_Line_Up"
15239+ value="65057"
15240+ c:type="GDK_KEY_ISO_Move_Line_Up">
15241+ <source-position filename="gdk/gdkkeysyms.h" line="231"/>
15242+ <type name="gint" c:type="gint"/>
15243+ </constant>
15244+ <constant name="KEY_ISO_Next_Group"
15245+ value="65032"
15246+ c:type="GDK_KEY_ISO_Next_Group">
15247+ <source-position filename="gdk/gdkkeysyms.h" line="222"/>
15248+ <type name="gint" c:type="gint"/>
15249+ </constant>
15250+ <constant name="KEY_ISO_Next_Group_Lock"
15251+ value="65033"
15252+ c:type="GDK_KEY_ISO_Next_Group_Lock">
15253+ <source-position filename="gdk/gdkkeysyms.h" line="223"/>
15254+ <type name="gint" c:type="gint"/>
15255+ </constant>
15256+ <constant name="KEY_ISO_Partial_Line_Down"
15257+ value="65060"
15258+ c:type="GDK_KEY_ISO_Partial_Line_Down">
15259+ <source-position filename="gdk/gdkkeysyms.h" line="234"/>
15260+ <type name="gint" c:type="gint"/>
15261+ </constant>
15262+ <constant name="KEY_ISO_Partial_Line_Up"
15263+ value="65059"
15264+ c:type="GDK_KEY_ISO_Partial_Line_Up">
15265+ <source-position filename="gdk/gdkkeysyms.h" line="233"/>
15266+ <type name="gint" c:type="gint"/>
15267+ </constant>
15268+ <constant name="KEY_ISO_Partial_Space_Left"
15269+ value="65061"
15270+ c:type="GDK_KEY_ISO_Partial_Space_Left">
15271+ <source-position filename="gdk/gdkkeysyms.h" line="235"/>
15272+ <type name="gint" c:type="gint"/>
15273+ </constant>
15274+ <constant name="KEY_ISO_Partial_Space_Right"
15275+ value="65062"
15276+ c:type="GDK_KEY_ISO_Partial_Space_Right">
15277+ <source-position filename="gdk/gdkkeysyms.h" line="236"/>
15278+ <type name="gint" c:type="gint"/>
15279+ </constant>
15280+ <constant name="KEY_ISO_Prev_Group"
15281+ value="65034"
15282+ c:type="GDK_KEY_ISO_Prev_Group">
15283+ <source-position filename="gdk/gdkkeysyms.h" line="224"/>
15284+ <type name="gint" c:type="gint"/>
15285+ </constant>
15286+ <constant name="KEY_ISO_Prev_Group_Lock"
15287+ value="65035"
15288+ c:type="GDK_KEY_ISO_Prev_Group_Lock">
15289+ <source-position filename="gdk/gdkkeysyms.h" line="225"/>
15290+ <type name="gint" c:type="gint"/>
15291+ </constant>
15292+ <constant name="KEY_ISO_Release_Both_Margins"
15293+ value="65067"
15294+ c:type="GDK_KEY_ISO_Release_Both_Margins">
15295+ <source-position filename="gdk/gdkkeysyms.h" line="241"/>
15296+ <type name="gint" c:type="gint"/>
15297+ </constant>
15298+ <constant name="KEY_ISO_Release_Margin_Left"
15299+ value="65065"
15300+ c:type="GDK_KEY_ISO_Release_Margin_Left">
15301+ <source-position filename="gdk/gdkkeysyms.h" line="239"/>
15302+ <type name="gint" c:type="gint"/>
15303+ </constant>
15304+ <constant name="KEY_ISO_Release_Margin_Right"
15305+ value="65066"
15306+ c:type="GDK_KEY_ISO_Release_Margin_Right">
15307+ <source-position filename="gdk/gdkkeysyms.h" line="240"/>
15308+ <type name="gint" c:type="gint"/>
15309+ </constant>
15310+ <constant name="KEY_ISO_Set_Margin_Left"
15311+ value="65063"
15312+ c:type="GDK_KEY_ISO_Set_Margin_Left">
15313+ <source-position filename="gdk/gdkkeysyms.h" line="237"/>
15314+ <type name="gint" c:type="gint"/>
15315+ </constant>
15316+ <constant name="KEY_ISO_Set_Margin_Right"
15317+ value="65064"
15318+ c:type="GDK_KEY_ISO_Set_Margin_Right">
15319+ <source-position filename="gdk/gdkkeysyms.h" line="238"/>
15320+ <type name="gint" c:type="gint"/>
15321+ </constant>
15322+ <constant name="KEY_Iabovedot" value="681" c:type="GDK_KEY_Iabovedot">
15323+ <source-position filename="gdk/gdkkeysyms.h" line="641"/>
15324+ <type name="gint" c:type="gint"/>
15325+ </constant>
15326+ <constant name="KEY_Iacute" value="205" c:type="GDK_KEY_Iacute">
15327+ <source-position filename="gdk/gdkkeysyms.h" line="527"/>
15328+ <type name="gint" c:type="gint"/>
15329+ </constant>
15330+ <constant name="KEY_Ibelowdot" value="16785098" c:type="GDK_KEY_Ibelowdot">
15331+ <source-position filename="gdk/gdkkeysyms.h" line="1697"/>
15332+ <type name="gint" c:type="gint"/>
15333+ </constant>
15334+ <constant name="KEY_Ibreve" value="16777516" c:type="GDK_KEY_Ibreve">
15335+ <source-position filename="gdk/gdkkeysyms.h" line="1638"/>
15336+ <type name="gint" c:type="gint"/>
15337+ </constant>
15338+ <constant name="KEY_Icircumflex" value="206" c:type="GDK_KEY_Icircumflex">
15339+ <source-position filename="gdk/gdkkeysyms.h" line="528"/>
15340+ <type name="gint" c:type="gint"/>
15341+ </constant>
15342+ <constant name="KEY_Idiaeresis" value="207" c:type="GDK_KEY_Idiaeresis">
15343+ <source-position filename="gdk/gdkkeysyms.h" line="529"/>
15344+ <type name="gint" c:type="gint"/>
15345+ </constant>
15346+ <constant name="KEY_Igrave" value="204" c:type="GDK_KEY_Igrave">
15347+ <source-position filename="gdk/gdkkeysyms.h" line="526"/>
15348+ <type name="gint" c:type="gint"/>
15349+ </constant>
15350+ <constant name="KEY_Ihook" value="16785096" c:type="GDK_KEY_Ihook">
15351+ <source-position filename="gdk/gdkkeysyms.h" line="1695"/>
15352+ <type name="gint" c:type="gint"/>
15353+ </constant>
15354+ <constant name="KEY_Imacron" value="975" c:type="GDK_KEY_Imacron">
15355+ <source-position filename="gdk/gdkkeysyms.h" line="680"/>
15356+ <type name="gint" c:type="gint"/>
15357+ </constant>
15358+ <constant name="KEY_Insert" value="65379" c:type="GDK_KEY_Insert">
15359+ <source-position filename="gdk/gdkkeysyms.h" line="89"/>
15360+ <type name="gint" c:type="gint"/>
15361+ </constant>
15362+ <constant name="KEY_Iogonek" value="967" c:type="GDK_KEY_Iogonek">
15363+ <source-position filename="gdk/gdkkeysyms.h" line="678"/>
15364+ <type name="gint" c:type="gint"/>
15365+ </constant>
15366+ <constant name="KEY_Itilde" value="933" c:type="GDK_KEY_Itilde">
15367+ <source-position filename="gdk/gdkkeysyms.h" line="664"/>
15368+ <type name="gint" c:type="gint"/>
15369+ </constant>
15370+ <constant name="KEY_J" value="74" c:type="GDK_KEY_J">
15371+ <source-position filename="gdk/gdkkeysyms.h" line="428"/>
15372+ <type name="gint" c:type="gint"/>
15373+ </constant>
15374+ <constant name="KEY_Jcircumflex" value="684" c:type="GDK_KEY_Jcircumflex">
15375+ <source-position filename="gdk/gdkkeysyms.h" line="643"/>
15376+ <type name="gint" c:type="gint"/>
15377+ </constant>
15378+ <constant name="KEY_K" value="75" c:type="GDK_KEY_K">
15379+ <source-position filename="gdk/gdkkeysyms.h" line="429"/>
15380+ <type name="gint" c:type="gint"/>
15381+ </constant>
15382+ <constant name="KEY_KP_0" value="65456" c:type="GDK_KEY_KP_0">
15383+ <source-position filename="gdk/gdkkeysyms.h" line="127"/>
15384+ <type name="gint" c:type="gint"/>
15385+ </constant>
15386+ <constant name="KEY_KP_1" value="65457" c:type="GDK_KEY_KP_1">
15387+ <source-position filename="gdk/gdkkeysyms.h" line="128"/>
15388+ <type name="gint" c:type="gint"/>
15389+ </constant>
15390+ <constant name="KEY_KP_2" value="65458" c:type="GDK_KEY_KP_2">
15391+ <source-position filename="gdk/gdkkeysyms.h" line="129"/>
15392+ <type name="gint" c:type="gint"/>
15393+ </constant>
15394+ <constant name="KEY_KP_3" value="65459" c:type="GDK_KEY_KP_3">
15395+ <source-position filename="gdk/gdkkeysyms.h" line="130"/>
15396+ <type name="gint" c:type="gint"/>
15397+ </constant>
15398+ <constant name="KEY_KP_4" value="65460" c:type="GDK_KEY_KP_4">
15399+ <source-position filename="gdk/gdkkeysyms.h" line="131"/>
15400+ <type name="gint" c:type="gint"/>
15401+ </constant>
15402+ <constant name="KEY_KP_5" value="65461" c:type="GDK_KEY_KP_5">
15403+ <source-position filename="gdk/gdkkeysyms.h" line="132"/>
15404+ <type name="gint" c:type="gint"/>
15405+ </constant>
15406+ <constant name="KEY_KP_6" value="65462" c:type="GDK_KEY_KP_6">
15407+ <source-position filename="gdk/gdkkeysyms.h" line="133"/>
15408+ <type name="gint" c:type="gint"/>
15409+ </constant>
15410+ <constant name="KEY_KP_7" value="65463" c:type="GDK_KEY_KP_7">
15411+ <source-position filename="gdk/gdkkeysyms.h" line="134"/>
15412+ <type name="gint" c:type="gint"/>
15413+ </constant>
15414+ <constant name="KEY_KP_8" value="65464" c:type="GDK_KEY_KP_8">
15415+ <source-position filename="gdk/gdkkeysyms.h" line="135"/>
15416+ <type name="gint" c:type="gint"/>
15417+ </constant>
15418+ <constant name="KEY_KP_9" value="65465" c:type="GDK_KEY_KP_9">
15419+ <source-position filename="gdk/gdkkeysyms.h" line="136"/>
15420+ <type name="gint" c:type="gint"/>
15421+ </constant>
15422+ <constant name="KEY_KP_Add" value="65451" c:type="GDK_KEY_KP_Add">
15423+ <source-position filename="gdk/gdkkeysyms.h" line="122"/>
15424+ <type name="gint" c:type="gint"/>
15425+ </constant>
15426+ <constant name="KEY_KP_Begin" value="65437" c:type="GDK_KEY_KP_Begin">
15427+ <source-position filename="gdk/gdkkeysyms.h" line="117"/>
15428+ <type name="gint" c:type="gint"/>
15429+ </constant>
15430+ <constant name="KEY_KP_Decimal" value="65454" c:type="GDK_KEY_KP_Decimal">
15431+ <source-position filename="gdk/gdkkeysyms.h" line="125"/>
15432+ <type name="gint" c:type="gint"/>
15433+ </constant>
15434+ <constant name="KEY_KP_Delete" value="65439" c:type="GDK_KEY_KP_Delete">
15435+ <source-position filename="gdk/gdkkeysyms.h" line="119"/>
15436+ <type name="gint" c:type="gint"/>
15437+ </constant>
15438+ <constant name="KEY_KP_Divide" value="65455" c:type="GDK_KEY_KP_Divide">
15439+ <source-position filename="gdk/gdkkeysyms.h" line="126"/>
15440+ <type name="gint" c:type="gint"/>
15441+ </constant>
15442+ <constant name="KEY_KP_Down" value="65433" c:type="GDK_KEY_KP_Down">
15443+ <source-position filename="gdk/gdkkeysyms.h" line="111"/>
15444+ <type name="gint" c:type="gint"/>
15445+ </constant>
15446+ <constant name="KEY_KP_End" value="65436" c:type="GDK_KEY_KP_End">
15447+ <source-position filename="gdk/gdkkeysyms.h" line="116"/>
15448+ <type name="gint" c:type="gint"/>
15449+ </constant>
15450+ <constant name="KEY_KP_Enter" value="65421" c:type="GDK_KEY_KP_Enter">
15451+ <source-position filename="gdk/gdkkeysyms.h" line="102"/>
15452+ <type name="gint" c:type="gint"/>
15453+ </constant>
15454+ <constant name="KEY_KP_Equal" value="65469" c:type="GDK_KEY_KP_Equal">
15455+ <source-position filename="gdk/gdkkeysyms.h" line="120"/>
15456+ <type name="gint" c:type="gint"/>
15457+ </constant>
15458+ <constant name="KEY_KP_F1" value="65425" c:type="GDK_KEY_KP_F1">
15459+ <source-position filename="gdk/gdkkeysyms.h" line="103"/>
15460+ <type name="gint" c:type="gint"/>
15461+ </constant>
15462+ <constant name="KEY_KP_F2" value="65426" c:type="GDK_KEY_KP_F2">
15463+ <source-position filename="gdk/gdkkeysyms.h" line="104"/>
15464+ <type name="gint" c:type="gint"/>
15465+ </constant>
15466+ <constant name="KEY_KP_F3" value="65427" c:type="GDK_KEY_KP_F3">
15467+ <source-position filename="gdk/gdkkeysyms.h" line="105"/>
15468+ <type name="gint" c:type="gint"/>
15469+ </constant>
15470+ <constant name="KEY_KP_F4" value="65428" c:type="GDK_KEY_KP_F4">
15471+ <source-position filename="gdk/gdkkeysyms.h" line="106"/>
15472+ <type name="gint" c:type="gint"/>
15473+ </constant>
15474+ <constant name="KEY_KP_Home" value="65429" c:type="GDK_KEY_KP_Home">
15475+ <source-position filename="gdk/gdkkeysyms.h" line="107"/>
15476+ <type name="gint" c:type="gint"/>
15477+ </constant>
15478+ <constant name="KEY_KP_Insert" value="65438" c:type="GDK_KEY_KP_Insert">
15479+ <source-position filename="gdk/gdkkeysyms.h" line="118"/>
15480+ <type name="gint" c:type="gint"/>
15481+ </constant>
15482+ <constant name="KEY_KP_Left" value="65430" c:type="GDK_KEY_KP_Left">
15483+ <source-position filename="gdk/gdkkeysyms.h" line="108"/>
15484+ <type name="gint" c:type="gint"/>
15485+ </constant>
15486+ <constant name="KEY_KP_Multiply"
15487+ value="65450"
15488+ c:type="GDK_KEY_KP_Multiply">
15489+ <source-position filename="gdk/gdkkeysyms.h" line="121"/>
15490+ <type name="gint" c:type="gint"/>
15491+ </constant>
15492+ <constant name="KEY_KP_Next" value="65435" c:type="GDK_KEY_KP_Next">
15493+ <source-position filename="gdk/gdkkeysyms.h" line="114"/>
15494+ <type name="gint" c:type="gint"/>
15495+ </constant>
15496+ <constant name="KEY_KP_Page_Down"
15497+ value="65435"
15498+ c:type="GDK_KEY_KP_Page_Down">
15499+ <source-position filename="gdk/gdkkeysyms.h" line="115"/>
15500+ <type name="gint" c:type="gint"/>
15501+ </constant>
15502+ <constant name="KEY_KP_Page_Up" value="65434" c:type="GDK_KEY_KP_Page_Up">
15503+ <source-position filename="gdk/gdkkeysyms.h" line="113"/>
15504+ <type name="gint" c:type="gint"/>
15505+ </constant>
15506+ <constant name="KEY_KP_Prior" value="65434" c:type="GDK_KEY_KP_Prior">
15507+ <source-position filename="gdk/gdkkeysyms.h" line="112"/>
15508+ <type name="gint" c:type="gint"/>
15509+ </constant>
15510+ <constant name="KEY_KP_Right" value="65432" c:type="GDK_KEY_KP_Right">
15511+ <source-position filename="gdk/gdkkeysyms.h" line="110"/>
15512+ <type name="gint" c:type="gint"/>
15513+ </constant>
15514+ <constant name="KEY_KP_Separator"
15515+ value="65452"
15516+ c:type="GDK_KEY_KP_Separator">
15517+ <source-position filename="gdk/gdkkeysyms.h" line="123"/>
15518+ <type name="gint" c:type="gint"/>
15519+ </constant>
15520+ <constant name="KEY_KP_Space" value="65408" c:type="GDK_KEY_KP_Space">
15521+ <source-position filename="gdk/gdkkeysyms.h" line="100"/>
15522+ <type name="gint" c:type="gint"/>
15523+ </constant>
15524+ <constant name="KEY_KP_Subtract"
15525+ value="65453"
15526+ c:type="GDK_KEY_KP_Subtract">
15527+ <source-position filename="gdk/gdkkeysyms.h" line="124"/>
15528+ <type name="gint" c:type="gint"/>
15529+ </constant>
15530+ <constant name="KEY_KP_Tab" value="65417" c:type="GDK_KEY_KP_Tab">
15531+ <source-position filename="gdk/gdkkeysyms.h" line="101"/>
15532+ <type name="gint" c:type="gint"/>
15533+ </constant>
15534+ <constant name="KEY_KP_Up" value="65431" c:type="GDK_KEY_KP_Up">
15535+ <source-position filename="gdk/gdkkeysyms.h" line="109"/>
15536+ <type name="gint" c:type="gint"/>
15537+ </constant>
15538+ <constant name="KEY_Kana_Lock" value="65325" c:type="GDK_KEY_Kana_Lock">
15539+ <source-position filename="gdk/gdkkeysyms.h" line="68"/>
15540+ <type name="gint" c:type="gint"/>
15541+ </constant>
15542+ <constant name="KEY_Kana_Shift" value="65326" c:type="GDK_KEY_Kana_Shift">
15543+ <source-position filename="gdk/gdkkeysyms.h" line="69"/>
15544+ <type name="gint" c:type="gint"/>
15545+ </constant>
15546+ <constant name="KEY_Kanji" value="65313" c:type="GDK_KEY_Kanji">
15547+ <source-position filename="gdk/gdkkeysyms.h" line="55"/>
15548+ <type name="gint" c:type="gint"/>
15549+ </constant>
15550+ <constant name="KEY_Kanji_Bangou"
15551+ value="65335"
15552+ c:type="GDK_KEY_Kanji_Bangou">
15553+ <source-position filename="gdk/gdkkeysyms.h" line="72"/>
15554+ <type name="gint" c:type="gint"/>
15555+ </constant>
15556+ <constant name="KEY_Katakana" value="65318" c:type="GDK_KEY_Katakana">
15557+ <source-position filename="gdk/gdkkeysyms.h" line="61"/>
15558+ <type name="gint" c:type="gint"/>
15559+ </constant>
15560+ <constant name="KEY_KbdBrightnessDown"
15561+ value="269025030"
15562+ c:type="GDK_KEY_KbdBrightnessDown">
15563+ <source-position filename="gdk/gdkkeysyms.h" line="2143"/>
15564+ <type name="gint" c:type="gint"/>
15565+ </constant>
15566+ <constant name="KEY_KbdBrightnessUp"
15567+ value="269025029"
15568+ c:type="GDK_KEY_KbdBrightnessUp">
15569+ <source-position filename="gdk/gdkkeysyms.h" line="2142"/>
15570+ <type name="gint" c:type="gint"/>
15571+ </constant>
15572+ <constant name="KEY_KbdLightOnOff"
15573+ value="269025028"
15574+ c:type="GDK_KEY_KbdLightOnOff">
15575+ <source-position filename="gdk/gdkkeysyms.h" line="2141"/>
15576+ <type name="gint" c:type="gint"/>
15577+ </constant>
15578+ <constant name="KEY_Kcedilla" value="979" c:type="GDK_KEY_Kcedilla">
15579+ <source-position filename="gdk/gdkkeysyms.h" line="683"/>
15580+ <type name="gint" c:type="gint"/>
15581+ </constant>
15582+ <constant name="KEY_Keyboard" value="269025203" c:type="GDK_KEY_Keyboard">
15583+ <source-position filename="gdk/gdkkeysyms.h" line="2295"/>
15584+ <type name="gint" c:type="gint"/>
15585+ </constant>
15586+ <constant name="KEY_Korean_Won" value="3839" c:type="GDK_KEY_Korean_Won">
15587+ <source-position filename="gdk/gdkkeysyms.h" line="1507"/>
15588+ <type name="gint" c:type="gint"/>
15589+ </constant>
15590+ <constant name="KEY_L" value="76" c:type="GDK_KEY_L">
15591+ <source-position filename="gdk/gdkkeysyms.h" line="430"/>
15592+ <type name="gint" c:type="gint"/>
15593+ </constant>
15594+ <constant name="KEY_L1" value="65480" c:type="GDK_KEY_L1">
15595+ <source-position filename="gdk/gdkkeysyms.h" line="148"/>
15596+ <type name="gint" c:type="gint"/>
15597+ </constant>
15598+ <constant name="KEY_L10" value="65489" c:type="GDK_KEY_L10">
15599+ <source-position filename="gdk/gdkkeysyms.h" line="166"/>
15600+ <type name="gint" c:type="gint"/>
15601+ </constant>
15602+ <constant name="KEY_L2" value="65481" c:type="GDK_KEY_L2">
15603+ <source-position filename="gdk/gdkkeysyms.h" line="150"/>
15604+ <type name="gint" c:type="gint"/>
15605+ </constant>
15606+ <constant name="KEY_L3" value="65482" c:type="GDK_KEY_L3">
15607+ <source-position filename="gdk/gdkkeysyms.h" line="152"/>
15608+ <type name="gint" c:type="gint"/>
15609+ </constant>
15610+ <constant name="KEY_L4" value="65483" c:type="GDK_KEY_L4">
15611+ <source-position filename="gdk/gdkkeysyms.h" line="154"/>
15612+ <type name="gint" c:type="gint"/>
15613+ </constant>
15614+ <constant name="KEY_L5" value="65484" c:type="GDK_KEY_L5">
15615+ <source-position filename="gdk/gdkkeysyms.h" line="156"/>
15616+ <type name="gint" c:type="gint"/>
15617+ </constant>
15618+ <constant name="KEY_L6" value="65485" c:type="GDK_KEY_L6">
15619+ <source-position filename="gdk/gdkkeysyms.h" line="158"/>
15620+ <type name="gint" c:type="gint"/>
15621+ </constant>
15622+ <constant name="KEY_L7" value="65486" c:type="GDK_KEY_L7">
15623+ <source-position filename="gdk/gdkkeysyms.h" line="160"/>
15624+ <type name="gint" c:type="gint"/>
15625+ </constant>
15626+ <constant name="KEY_L8" value="65487" c:type="GDK_KEY_L8">
15627+ <source-position filename="gdk/gdkkeysyms.h" line="162"/>
15628+ <type name="gint" c:type="gint"/>
15629+ </constant>
15630+ <constant name="KEY_L9" value="65488" c:type="GDK_KEY_L9">
15631+ <source-position filename="gdk/gdkkeysyms.h" line="164"/>
15632+ <type name="gint" c:type="gint"/>
15633+ </constant>
15634+ <constant name="KEY_Lacute" value="453" c:type="GDK_KEY_Lacute">
15635+ <source-position filename="gdk/gdkkeysyms.h" line="608"/>
15636+ <type name="gint" c:type="gint"/>
15637+ </constant>
15638+ <constant name="KEY_Last_Virtual_Screen"
15639+ value="65236"
15640+ c:type="GDK_KEY_Last_Virtual_Screen">
15641+ <source-position filename="gdk/gdkkeysyms.h" line="306"/>
15642+ <type name="gint" c:type="gint"/>
15643+ </constant>
15644+ <constant name="KEY_Launch0" value="269025088" c:type="GDK_KEY_Launch0">
15645+ <source-position filename="gdk/gdkkeysyms.h" line="2192"/>
15646+ <type name="gint" c:type="gint"/>
15647+ </constant>
15648+ <constant name="KEY_Launch1" value="269025089" c:type="GDK_KEY_Launch1">
15649+ <source-position filename="gdk/gdkkeysyms.h" line="2193"/>
15650+ <type name="gint" c:type="gint"/>
15651+ </constant>
15652+ <constant name="KEY_Launch2" value="269025090" c:type="GDK_KEY_Launch2">
15653+ <source-position filename="gdk/gdkkeysyms.h" line="2194"/>
15654+ <type name="gint" c:type="gint"/>
15655+ </constant>
15656+ <constant name="KEY_Launch3" value="269025091" c:type="GDK_KEY_Launch3">
15657+ <source-position filename="gdk/gdkkeysyms.h" line="2195"/>
15658+ <type name="gint" c:type="gint"/>
15659+ </constant>
15660+ <constant name="KEY_Launch4" value="269025092" c:type="GDK_KEY_Launch4">
15661+ <source-position filename="gdk/gdkkeysyms.h" line="2196"/>
15662+ <type name="gint" c:type="gint"/>
15663+ </constant>
15664+ <constant name="KEY_Launch5" value="269025093" c:type="GDK_KEY_Launch5">
15665+ <source-position filename="gdk/gdkkeysyms.h" line="2197"/>
15666+ <type name="gint" c:type="gint"/>
15667+ </constant>
15668+ <constant name="KEY_Launch6" value="269025094" c:type="GDK_KEY_Launch6">
15669+ <source-position filename="gdk/gdkkeysyms.h" line="2198"/>
15670+ <type name="gint" c:type="gint"/>
15671+ </constant>
15672+ <constant name="KEY_Launch7" value="269025095" c:type="GDK_KEY_Launch7">
15673+ <source-position filename="gdk/gdkkeysyms.h" line="2199"/>
15674+ <type name="gint" c:type="gint"/>
15675+ </constant>
15676+ <constant name="KEY_Launch8" value="269025096" c:type="GDK_KEY_Launch8">
15677+ <source-position filename="gdk/gdkkeysyms.h" line="2200"/>
15678+ <type name="gint" c:type="gint"/>
15679+ </constant>
15680+ <constant name="KEY_Launch9" value="269025097" c:type="GDK_KEY_Launch9">
15681+ <source-position filename="gdk/gdkkeysyms.h" line="2201"/>
15682+ <type name="gint" c:type="gint"/>
15683+ </constant>
15684+ <constant name="KEY_LaunchA" value="269025098" c:type="GDK_KEY_LaunchA">
15685+ <source-position filename="gdk/gdkkeysyms.h" line="2202"/>
15686+ <type name="gint" c:type="gint"/>
15687+ </constant>
15688+ <constant name="KEY_LaunchB" value="269025099" c:type="GDK_KEY_LaunchB">
15689+ <source-position filename="gdk/gdkkeysyms.h" line="2203"/>
15690+ <type name="gint" c:type="gint"/>
15691+ </constant>
15692+ <constant name="KEY_LaunchC" value="269025100" c:type="GDK_KEY_LaunchC">
15693+ <source-position filename="gdk/gdkkeysyms.h" line="2204"/>
15694+ <type name="gint" c:type="gint"/>
15695+ </constant>
15696+ <constant name="KEY_LaunchD" value="269025101" c:type="GDK_KEY_LaunchD">
15697+ <source-position filename="gdk/gdkkeysyms.h" line="2205"/>
15698+ <type name="gint" c:type="gint"/>
15699+ </constant>
15700+ <constant name="KEY_LaunchE" value="269025102" c:type="GDK_KEY_LaunchE">
15701+ <source-position filename="gdk/gdkkeysyms.h" line="2206"/>
15702+ <type name="gint" c:type="gint"/>
15703+ </constant>
15704+ <constant name="KEY_LaunchF" value="269025103" c:type="GDK_KEY_LaunchF">
15705+ <source-position filename="gdk/gdkkeysyms.h" line="2207"/>
15706+ <type name="gint" c:type="gint"/>
15707+ </constant>
15708+ <constant name="KEY_Lbelowdot" value="16784950" c:type="GDK_KEY_Lbelowdot">
15709+ <source-position filename="gdk/gdkkeysyms.h" line="1653"/>
15710+ <type name="gint" c:type="gint"/>
15711+ </constant>
15712+ <constant name="KEY_Lcaron" value="421" c:type="GDK_KEY_Lcaron">
15713+ <source-position filename="gdk/gdkkeysyms.h" line="585"/>
15714+ <type name="gint" c:type="gint"/>
15715+ </constant>
15716+ <constant name="KEY_Lcedilla" value="934" c:type="GDK_KEY_Lcedilla">
15717+ <source-position filename="gdk/gdkkeysyms.h" line="665"/>
15718+ <type name="gint" c:type="gint"/>
15719+ </constant>
15720+ <constant name="KEY_Left" value="65361" c:type="GDK_KEY_Left">
15721+ <source-position filename="gdk/gdkkeysyms.h" line="76"/>
15722+ <type name="gint" c:type="gint"/>
15723+ </constant>
15724+ <constant name="KEY_LightBulb"
15725+ value="269025077"
15726+ c:type="GDK_KEY_LightBulb">
15727+ <source-position filename="gdk/gdkkeysyms.h" line="2181"/>
15728+ <type name="gint" c:type="gint"/>
15729+ </constant>
15730+ <constant name="KEY_Linefeed" value="65290" c:type="GDK_KEY_Linefeed">
15731+ <source-position filename="gdk/gdkkeysyms.h" line="42"/>
15732+ <type name="gint" c:type="gint"/>
15733+ </constant>
15734+ <constant name="KEY_LiraSign" value="16785572" c:type="GDK_KEY_LiraSign">
15735+ <source-position filename="gdk/gdkkeysyms.h" line="1751"/>
15736+ <type name="gint" c:type="gint"/>
15737+ </constant>
15738+ <constant name="KEY_LogGrabInfo"
15739+ value="269024805"
15740+ c:type="GDK_KEY_LogGrabInfo">
15741+ <source-position filename="gdk/gdkkeysyms.h" line="2316"/>
15742+ <type name="gint" c:type="gint"/>
15743+ </constant>
15744+ <constant name="KEY_LogOff" value="269025121" c:type="GDK_KEY_LogOff">
15745+ <source-position filename="gdk/gdkkeysyms.h" line="2224"/>
15746+ <type name="gint" c:type="gint"/>
15747+ </constant>
15748+ <constant name="KEY_LogWindowTree"
15749+ value="269024804"
15750+ c:type="GDK_KEY_LogWindowTree">
15751+ <source-position filename="gdk/gdkkeysyms.h" line="2315"/>
15752+ <type name="gint" c:type="gint"/>
15753+ </constant>
15754+ <constant name="KEY_Lstroke" value="419" c:type="GDK_KEY_Lstroke">
15755+ <source-position filename="gdk/gdkkeysyms.h" line="584"/>
15756+ <type name="gint" c:type="gint"/>
15757+ </constant>
15758+ <constant name="KEY_M" value="77" c:type="GDK_KEY_M">
15759+ <source-position filename="gdk/gdkkeysyms.h" line="431"/>
15760+ <type name="gint" c:type="gint"/>
15761+ </constant>
15762+ <constant name="KEY_Mabovedot" value="16784960" c:type="GDK_KEY_Mabovedot">
15763+ <source-position filename="gdk/gdkkeysyms.h" line="707"/>
15764+ <type name="gint" c:type="gint"/>
15765+ </constant>
15766+ <constant name="KEY_Macedonia_DSE"
15767+ value="1717"
15768+ c:type="GDK_KEY_Macedonia_DSE">
15769+ <source-position filename="gdk/gdkkeysyms.h" line="945"/>
15770+ <type name="gint" c:type="gint"/>
15771+ </constant>
15772+ <constant name="KEY_Macedonia_GJE"
15773+ value="1714"
15774+ c:type="GDK_KEY_Macedonia_GJE">
15775+ <source-position filename="gdk/gdkkeysyms.h" line="941"/>
15776+ <type name="gint" c:type="gint"/>
15777+ </constant>
15778+ <constant name="KEY_Macedonia_KJE"
15779+ value="1724"
15780+ c:type="GDK_KEY_Macedonia_KJE">
15781+ <source-position filename="gdk/gdkkeysyms.h" line="957"/>
15782+ <type name="gint" c:type="gint"/>
15783+ </constant>
15784+ <constant name="KEY_Macedonia_dse"
15785+ value="1701"
15786+ c:type="GDK_KEY_Macedonia_dse">
15787+ <source-position filename="gdk/gdkkeysyms.h" line="922"/>
15788+ <type name="gint" c:type="gint"/>
15789+ </constant>
15790+ <constant name="KEY_Macedonia_gje"
15791+ value="1698"
15792+ c:type="GDK_KEY_Macedonia_gje">
15793+ <source-position filename="gdk/gdkkeysyms.h" line="918"/>
15794+ <type name="gint" c:type="gint"/>
15795+ </constant>
15796+ <constant name="KEY_Macedonia_kje"
15797+ value="1708"
15798+ c:type="GDK_KEY_Macedonia_kje">
15799+ <source-position filename="gdk/gdkkeysyms.h" line="934"/>
15800+ <type name="gint" c:type="gint"/>
15801+ </constant>
15802+ <constant name="KEY_Mae_Koho" value="65342" c:type="GDK_KEY_Mae_Koho">
15803+ <source-position filename="gdk/gdkkeysyms.h" line="74"/>
15804+ <type name="gint" c:type="gint"/>
15805+ </constant>
15806+ <constant name="KEY_Mail" value="269025049" c:type="GDK_KEY_Mail">
15807+ <source-position filename="gdk/gdkkeysyms.h" line="2153"/>
15808+ <type name="gint" c:type="gint"/>
15809+ </constant>
15810+ <constant name="KEY_MailForward"
15811+ value="269025168"
15812+ c:type="GDK_KEY_MailForward">
15813+ <source-position filename="gdk/gdkkeysyms.h" line="2266"/>
15814+ <type name="gint" c:type="gint"/>
15815+ </constant>
15816+ <constant name="KEY_Market" value="269025122" c:type="GDK_KEY_Market">
15817+ <source-position filename="gdk/gdkkeysyms.h" line="2225"/>
15818+ <type name="gint" c:type="gint"/>
15819+ </constant>
15820+ <constant name="KEY_Massyo" value="65324" c:type="GDK_KEY_Massyo">
15821+ <source-position filename="gdk/gdkkeysyms.h" line="67"/>
15822+ <type name="gint" c:type="gint"/>
15823+ </constant>
15824+ <constant name="KEY_Meeting" value="269025123" c:type="GDK_KEY_Meeting">
15825+ <source-position filename="gdk/gdkkeysyms.h" line="2226"/>
15826+ <type name="gint" c:type="gint"/>
15827+ </constant>
15828+ <constant name="KEY_Memo" value="269025054" c:type="GDK_KEY_Memo">
15829+ <source-position filename="gdk/gdkkeysyms.h" line="2158"/>
15830+ <type name="gint" c:type="gint"/>
15831+ </constant>
15832+ <constant name="KEY_Menu" value="65383" c:type="GDK_KEY_Menu">
15833+ <source-position filename="gdk/gdkkeysyms.h" line="92"/>
15834+ <type name="gint" c:type="gint"/>
15835+ </constant>
15836+ <constant name="KEY_MenuKB" value="269025125" c:type="GDK_KEY_MenuKB">
15837+ <source-position filename="gdk/gdkkeysyms.h" line="2227"/>
15838+ <type name="gint" c:type="gint"/>
15839+ </constant>
15840+ <constant name="KEY_MenuPB" value="269025126" c:type="GDK_KEY_MenuPB">
15841+ <source-position filename="gdk/gdkkeysyms.h" line="2228"/>
15842+ <type name="gint" c:type="gint"/>
15843+ </constant>
15844+ <constant name="KEY_Messenger"
15845+ value="269025166"
15846+ c:type="GDK_KEY_Messenger">
15847+ <source-position filename="gdk/gdkkeysyms.h" line="2264"/>
15848+ <type name="gint" c:type="gint"/>
15849+ </constant>
15850+ <constant name="KEY_Meta_L" value="65511" c:type="GDK_KEY_Meta_L">
15851+ <source-position filename="gdk/gdkkeysyms.h" line="203"/>
15852+ <type name="gint" c:type="gint"/>
15853+ </constant>
15854+ <constant name="KEY_Meta_R" value="65512" c:type="GDK_KEY_Meta_R">
15855+ <source-position filename="gdk/gdkkeysyms.h" line="204"/>
15856+ <type name="gint" c:type="gint"/>
15857+ </constant>
15858+ <constant name="KEY_MillSign" value="16785573" c:type="GDK_KEY_MillSign">
15859+ <source-position filename="gdk/gdkkeysyms.h" line="1752"/>
15860+ <type name="gint" c:type="gint"/>
15861+ </constant>
15862+ <constant name="KEY_ModeLock" value="269025025" c:type="GDK_KEY_ModeLock">
15863+ <source-position filename="gdk/gdkkeysyms.h" line="2138"/>
15864+ <type name="gint" c:type="gint"/>
15865+ </constant>
15866+ <constant name="KEY_Mode_switch"
15867+ value="65406"
15868+ c:type="GDK_KEY_Mode_switch">
15869+ <source-position filename="gdk/gdkkeysyms.h" line="97"/>
15870+ <type name="gint" c:type="gint"/>
15871+ </constant>
15872+ <constant name="KEY_MonBrightnessDown"
15873+ value="269025027"
15874+ c:type="GDK_KEY_MonBrightnessDown">
15875+ <source-position filename="gdk/gdkkeysyms.h" line="2140"/>
15876+ <type name="gint" c:type="gint"/>
15877+ </constant>
15878+ <constant name="KEY_MonBrightnessUp"
15879+ value="269025026"
15880+ c:type="GDK_KEY_MonBrightnessUp">
15881+ <source-position filename="gdk/gdkkeysyms.h" line="2139"/>
15882+ <type name="gint" c:type="gint"/>
15883+ </constant>
15884+ <constant name="KEY_MouseKeys_Accel_Enable"
15885+ value="65143"
15886+ c:type="GDK_KEY_MouseKeys_Accel_Enable">
15887+ <source-position filename="gdk/gdkkeysyms.h" line="315"/>
15888+ <type name="gint" c:type="gint"/>
15889+ </constant>
15890+ <constant name="KEY_MouseKeys_Enable"
15891+ value="65142"
15892+ c:type="GDK_KEY_MouseKeys_Enable">
15893+ <source-position filename="gdk/gdkkeysyms.h" line="314"/>
15894+ <type name="gint" c:type="gint"/>
15895+ </constant>
15896+ <constant name="KEY_Muhenkan" value="65314" c:type="GDK_KEY_Muhenkan">
15897+ <source-position filename="gdk/gdkkeysyms.h" line="56"/>
15898+ <type name="gint" c:type="gint"/>
15899+ </constant>
15900+ <constant name="KEY_Multi_key" value="65312" c:type="GDK_KEY_Multi_key">
15901+ <source-position filename="gdk/gdkkeysyms.h" line="50"/>
15902+ <type name="gint" c:type="gint"/>
15903+ </constant>
15904+ <constant name="KEY_MultipleCandidate"
15905+ value="65341"
15906+ c:type="GDK_KEY_MultipleCandidate">
15907+ <source-position filename="gdk/gdkkeysyms.h" line="53"/>
15908+ <type name="gint" c:type="gint"/>
15909+ </constant>
15910+ <constant name="KEY_Music" value="269025170" c:type="GDK_KEY_Music">
15911+ <source-position filename="gdk/gdkkeysyms.h" line="2268"/>
15912+ <type name="gint" c:type="gint"/>
15913+ </constant>
15914+ <constant name="KEY_MyComputer"
15915+ value="269025075"
15916+ c:type="GDK_KEY_MyComputer">
15917+ <source-position filename="gdk/gdkkeysyms.h" line="2179"/>
15918+ <type name="gint" c:type="gint"/>
15919+ </constant>
15920+ <constant name="KEY_MySites" value="269025127" c:type="GDK_KEY_MySites">
15921+ <source-position filename="gdk/gdkkeysyms.h" line="2229"/>
15922+ <type name="gint" c:type="gint"/>
15923+ </constant>
15924+ <constant name="KEY_N" value="78" c:type="GDK_KEY_N">
15925+ <source-position filename="gdk/gdkkeysyms.h" line="432"/>
15926+ <type name="gint" c:type="gint"/>
15927+ </constant>
15928+ <constant name="KEY_Nacute" value="465" c:type="GDK_KEY_Nacute">
15929+ <source-position filename="gdk/gdkkeysyms.h" line="615"/>
15930+ <type name="gint" c:type="gint"/>
15931+ </constant>
15932+ <constant name="KEY_NairaSign" value="16785574" c:type="GDK_KEY_NairaSign">
15933+ <source-position filename="gdk/gdkkeysyms.h" line="1753"/>
15934+ <type name="gint" c:type="gint"/>
15935+ </constant>
15936+ <constant name="KEY_Ncaron" value="466" c:type="GDK_KEY_Ncaron">
15937+ <source-position filename="gdk/gdkkeysyms.h" line="616"/>
15938+ <type name="gint" c:type="gint"/>
15939+ </constant>
15940+ <constant name="KEY_Ncedilla" value="977" c:type="GDK_KEY_Ncedilla">
15941+ <source-position filename="gdk/gdkkeysyms.h" line="681"/>
15942+ <type name="gint" c:type="gint"/>
15943+ </constant>
15944+ <constant name="KEY_New" value="269025128" c:type="GDK_KEY_New">
15945+ <source-position filename="gdk/gdkkeysyms.h" line="2230"/>
15946+ <type name="gint" c:type="gint"/>
15947+ </constant>
15948+ <constant name="KEY_NewSheqelSign"
15949+ value="16785578"
15950+ c:type="GDK_KEY_NewSheqelSign">
15951+ <source-position filename="gdk/gdkkeysyms.h" line="1757"/>
15952+ <type name="gint" c:type="gint"/>
15953+ </constant>
15954+ <constant name="KEY_News" value="269025129" c:type="GDK_KEY_News">
15955+ <source-position filename="gdk/gdkkeysyms.h" line="2231"/>
15956+ <type name="gint" c:type="gint"/>
15957+ </constant>
15958+ <constant name="KEY_Next" value="65366" c:type="GDK_KEY_Next">
15959+ <source-position filename="gdk/gdkkeysyms.h" line="82"/>
15960+ <type name="gint" c:type="gint"/>
15961+ </constant>
15962+ <constant name="KEY_Next_VMode"
15963+ value="269024802"
15964+ c:type="GDK_KEY_Next_VMode">
15965+ <source-position filename="gdk/gdkkeysyms.h" line="2313"/>
15966+ <type name="gint" c:type="gint"/>
15967+ </constant>
15968+ <constant name="KEY_Next_Virtual_Screen"
15969+ value="65234"
15970+ c:type="GDK_KEY_Next_Virtual_Screen">
15971+ <source-position filename="gdk/gdkkeysyms.h" line="305"/>
15972+ <type name="gint" c:type="gint"/>
15973+ </constant>
15974+ <constant name="KEY_Ntilde" value="209" c:type="GDK_KEY_Ntilde">
15975+ <source-position filename="gdk/gdkkeysyms.h" line="532"/>
15976+ <type name="gint" c:type="gint"/>
15977+ </constant>
15978+ <constant name="KEY_Num_Lock" value="65407" c:type="GDK_KEY_Num_Lock">
15979+ <source-position filename="gdk/gdkkeysyms.h" line="99"/>
15980+ <type name="gint" c:type="gint"/>
15981+ </constant>
15982+ <constant name="KEY_O" value="79" c:type="GDK_KEY_O">
15983+ <source-position filename="gdk/gdkkeysyms.h" line="433"/>
15984+ <type name="gint" c:type="gint"/>
15985+ </constant>
15986+ <constant name="KEY_OE" value="5052" c:type="GDK_KEY_OE">
15987+ <source-position filename="gdk/gdkkeysyms.h" line="723"/>
15988+ <type name="gint" c:type="gint"/>
15989+ </constant>
15990+ <constant name="KEY_Oacute" value="211" c:type="GDK_KEY_Oacute">
15991+ <source-position filename="gdk/gdkkeysyms.h" line="534"/>
15992+ <type name="gint" c:type="gint"/>
15993+ </constant>
15994+ <constant name="KEY_Obarred" value="16777631" c:type="GDK_KEY_Obarred">
15995+ <source-position filename="gdk/gdkkeysyms.h" line="1642"/>
15996+ <type name="gint" c:type="gint"/>
15997+ </constant>
15998+ <constant name="KEY_Obelowdot" value="16785100" c:type="GDK_KEY_Obelowdot">
15999+ <source-position filename="gdk/gdkkeysyms.h" line="1699"/>
16000+ <type name="gint" c:type="gint"/>
16001+ </constant>
16002+ <constant name="KEY_Ocaron" value="16777681" c:type="GDK_KEY_Ocaron">
16003+ <source-position filename="gdk/gdkkeysyms.h" line="1641"/>
16004+ <type name="gint" c:type="gint"/>
16005+ </constant>
16006+ <constant name="KEY_Ocircumflex" value="212" c:type="GDK_KEY_Ocircumflex">
16007+ <source-position filename="gdk/gdkkeysyms.h" line="535"/>
16008+ <type name="gint" c:type="gint"/>
16009+ </constant>
16010+ <constant name="KEY_Ocircumflexacute"
16011+ value="16785104"
16012+ c:type="GDK_KEY_Ocircumflexacute">
16013+ <source-position filename="gdk/gdkkeysyms.h" line="1703"/>
16014+ <type name="gint" c:type="gint"/>
16015+ </constant>
16016+ <constant name="KEY_Ocircumflexbelowdot"
16017+ value="16785112"
16018+ c:type="GDK_KEY_Ocircumflexbelowdot">
16019+ <source-position filename="gdk/gdkkeysyms.h" line="1711"/>
16020+ <type name="gint" c:type="gint"/>
16021+ </constant>
16022+ <constant name="KEY_Ocircumflexgrave"
16023+ value="16785106"
16024+ c:type="GDK_KEY_Ocircumflexgrave">
16025+ <source-position filename="gdk/gdkkeysyms.h" line="1705"/>
16026+ <type name="gint" c:type="gint"/>
16027+ </constant>
16028+ <constant name="KEY_Ocircumflexhook"
16029+ value="16785108"
16030+ c:type="GDK_KEY_Ocircumflexhook">
16031+ <source-position filename="gdk/gdkkeysyms.h" line="1707"/>
16032+ <type name="gint" c:type="gint"/>
16033+ </constant>
16034+ <constant name="KEY_Ocircumflextilde"
16035+ value="16785110"
16036+ c:type="GDK_KEY_Ocircumflextilde">
16037+ <source-position filename="gdk/gdkkeysyms.h" line="1709"/>
16038+ <type name="gint" c:type="gint"/>
16039+ </constant>
16040+ <constant name="KEY_Odiaeresis" value="214" c:type="GDK_KEY_Odiaeresis">
16041+ <source-position filename="gdk/gdkkeysyms.h" line="537"/>
16042+ <type name="gint" c:type="gint"/>
16043+ </constant>
16044+ <constant name="KEY_Odoubleacute"
16045+ value="469"
16046+ c:type="GDK_KEY_Odoubleacute">
16047+ <source-position filename="gdk/gdkkeysyms.h" line="617"/>
16048+ <type name="gint" c:type="gint"/>
16049+ </constant>
16050+ <constant name="KEY_OfficeHome"
16051+ value="269025130"
16052+ c:type="GDK_KEY_OfficeHome">
16053+ <source-position filename="gdk/gdkkeysyms.h" line="2232"/>
16054+ <type name="gint" c:type="gint"/>
16055+ </constant>
16056+ <constant name="KEY_Ograve" value="210" c:type="GDK_KEY_Ograve">
16057+ <source-position filename="gdk/gdkkeysyms.h" line="533"/>
16058+ <type name="gint" c:type="gint"/>
16059+ </constant>
16060+ <constant name="KEY_Ohook" value="16785102" c:type="GDK_KEY_Ohook">
16061+ <source-position filename="gdk/gdkkeysyms.h" line="1701"/>
16062+ <type name="gint" c:type="gint"/>
16063+ </constant>
16064+ <constant name="KEY_Ohorn" value="16777632" c:type="GDK_KEY_Ohorn">
16065+ <source-position filename="gdk/gdkkeysyms.h" line="1743"/>
16066+ <type name="gint" c:type="gint"/>
16067+ </constant>
16068+ <constant name="KEY_Ohornacute"
16069+ value="16785114"
16070+ c:type="GDK_KEY_Ohornacute">
16071+ <source-position filename="gdk/gdkkeysyms.h" line="1713"/>
16072+ <type name="gint" c:type="gint"/>
16073+ </constant>
16074+ <constant name="KEY_Ohornbelowdot"
16075+ value="16785122"
16076+ c:type="GDK_KEY_Ohornbelowdot">
16077+ <source-position filename="gdk/gdkkeysyms.h" line="1721"/>
16078+ <type name="gint" c:type="gint"/>
16079+ </constant>
16080+ <constant name="KEY_Ohorngrave"
16081+ value="16785116"
16082+ c:type="GDK_KEY_Ohorngrave">
16083+ <source-position filename="gdk/gdkkeysyms.h" line="1715"/>
16084+ <type name="gint" c:type="gint"/>
16085+ </constant>
16086+ <constant name="KEY_Ohornhook" value="16785118" c:type="GDK_KEY_Ohornhook">
16087+ <source-position filename="gdk/gdkkeysyms.h" line="1717"/>
16088+ <type name="gint" c:type="gint"/>
16089+ </constant>
16090+ <constant name="KEY_Ohorntilde"
16091+ value="16785120"
16092+ c:type="GDK_KEY_Ohorntilde">
16093+ <source-position filename="gdk/gdkkeysyms.h" line="1719"/>
16094+ <type name="gint" c:type="gint"/>
16095+ </constant>
16096+ <constant name="KEY_Omacron" value="978" c:type="GDK_KEY_Omacron">
16097+ <source-position filename="gdk/gdkkeysyms.h" line="682"/>
16098+ <type name="gint" c:type="gint"/>
16099+ </constant>
16100+ <constant name="KEY_Ooblique" value="216" c:type="GDK_KEY_Ooblique">
16101+ <source-position filename="gdk/gdkkeysyms.h" line="540"/>
16102+ <type name="gint" c:type="gint"/>
16103+ </constant>
16104+ <constant name="KEY_Open" value="269025131" c:type="GDK_KEY_Open">
16105+ <source-position filename="gdk/gdkkeysyms.h" line="2233"/>
16106+ <type name="gint" c:type="gint"/>
16107+ </constant>
16108+ <constant name="KEY_OpenURL" value="269025080" c:type="GDK_KEY_OpenURL">
16109+ <source-position filename="gdk/gdkkeysyms.h" line="2184"/>
16110+ <type name="gint" c:type="gint"/>
16111+ </constant>
16112+ <constant name="KEY_Option" value="269025132" c:type="GDK_KEY_Option">
16113+ <source-position filename="gdk/gdkkeysyms.h" line="2234"/>
16114+ <type name="gint" c:type="gint"/>
16115+ </constant>
16116+ <constant name="KEY_Oslash" value="216" c:type="GDK_KEY_Oslash">
16117+ <source-position filename="gdk/gdkkeysyms.h" line="539"/>
16118+ <type name="gint" c:type="gint"/>
16119+ </constant>
16120+ <constant name="KEY_Otilde" value="213" c:type="GDK_KEY_Otilde">
16121+ <source-position filename="gdk/gdkkeysyms.h" line="536"/>
16122+ <type name="gint" c:type="gint"/>
16123+ </constant>
16124+ <constant name="KEY_Overlay1_Enable"
16125+ value="65144"
16126+ c:type="GDK_KEY_Overlay1_Enable">
16127+ <source-position filename="gdk/gdkkeysyms.h" line="316"/>
16128+ <type name="gint" c:type="gint"/>
16129+ </constant>
16130+ <constant name="KEY_Overlay2_Enable"
16131+ value="65145"
16132+ c:type="GDK_KEY_Overlay2_Enable">
16133+ <source-position filename="gdk/gdkkeysyms.h" line="317"/>
16134+ <type name="gint" c:type="gint"/>
16135+ </constant>
16136+ <constant name="KEY_P" value="80" c:type="GDK_KEY_P">
16137+ <source-position filename="gdk/gdkkeysyms.h" line="434"/>
16138+ <type name="gint" c:type="gint"/>
16139+ </constant>
16140+ <constant name="KEY_Pabovedot" value="16784982" c:type="GDK_KEY_Pabovedot">
16141+ <source-position filename="gdk/gdkkeysyms.h" line="709"/>
16142+ <type name="gint" c:type="gint"/>
16143+ </constant>
16144+ <constant name="KEY_Page_Down" value="65366" c:type="GDK_KEY_Page_Down">
16145+ <source-position filename="gdk/gdkkeysyms.h" line="83"/>
16146+ <type name="gint" c:type="gint"/>
16147+ </constant>
16148+ <constant name="KEY_Page_Up" value="65365" c:type="GDK_KEY_Page_Up">
16149+ <source-position filename="gdk/gdkkeysyms.h" line="81"/>
16150+ <type name="gint" c:type="gint"/>
16151+ </constant>
16152+ <constant name="KEY_Paste" value="269025133" c:type="GDK_KEY_Paste">
16153+ <source-position filename="gdk/gdkkeysyms.h" line="2235"/>
16154+ <type name="gint" c:type="gint"/>
16155+ </constant>
16156+ <constant name="KEY_Pause" value="65299" c:type="GDK_KEY_Pause">
16157+ <source-position filename="gdk/gdkkeysyms.h" line="45"/>
16158+ <type name="gint" c:type="gint"/>
16159+ </constant>
16160+ <constant name="KEY_PesetaSign"
16161+ value="16785575"
16162+ c:type="GDK_KEY_PesetaSign">
16163+ <source-position filename="gdk/gdkkeysyms.h" line="1754"/>
16164+ <type name="gint" c:type="gint"/>
16165+ </constant>
16166+ <constant name="KEY_Phone" value="269025134" c:type="GDK_KEY_Phone">
16167+ <source-position filename="gdk/gdkkeysyms.h" line="2236"/>
16168+ <type name="gint" c:type="gint"/>
16169+ </constant>
16170+ <constant name="KEY_Pictures" value="269025169" c:type="GDK_KEY_Pictures">
16171+ <source-position filename="gdk/gdkkeysyms.h" line="2267"/>
16172+ <type name="gint" c:type="gint"/>
16173+ </constant>
16174+ <constant name="KEY_Pointer_Accelerate"
16175+ value="65274"
16176+ c:type="GDK_KEY_Pointer_Accelerate">
16177+ <source-position filename="gdk/gdkkeysyms.h" line="346"/>
16178+ <type name="gint" c:type="gint"/>
16179+ </constant>
16180+ <constant name="KEY_Pointer_Button1"
16181+ value="65257"
16182+ c:type="GDK_KEY_Pointer_Button1">
16183+ <source-position filename="gdk/gdkkeysyms.h" line="328"/>
16184+ <type name="gint" c:type="gint"/>
16185+ </constant>
16186+ <constant name="KEY_Pointer_Button2"
16187+ value="65258"
16188+ c:type="GDK_KEY_Pointer_Button2">
16189+ <source-position filename="gdk/gdkkeysyms.h" line="329"/>
16190+ <type name="gint" c:type="gint"/>
16191+ </constant>
16192+ <constant name="KEY_Pointer_Button3"
16193+ value="65259"
16194+ c:type="GDK_KEY_Pointer_Button3">
16195+ <source-position filename="gdk/gdkkeysyms.h" line="330"/>
16196+ <type name="gint" c:type="gint"/>
16197+ </constant>
16198+ <constant name="KEY_Pointer_Button4"
16199+ value="65260"
16200+ c:type="GDK_KEY_Pointer_Button4">
16201+ <source-position filename="gdk/gdkkeysyms.h" line="331"/>
16202+ <type name="gint" c:type="gint"/>
16203+ </constant>
16204+ <constant name="KEY_Pointer_Button5"
16205+ value="65261"
16206+ c:type="GDK_KEY_Pointer_Button5">
16207+ <source-position filename="gdk/gdkkeysyms.h" line="332"/>
16208+ <type name="gint" c:type="gint"/>
16209+ </constant>
16210+ <constant name="KEY_Pointer_Button_Dflt"
16211+ value="65256"
16212+ c:type="GDK_KEY_Pointer_Button_Dflt">
16213+ <source-position filename="gdk/gdkkeysyms.h" line="327"/>
16214+ <type name="gint" c:type="gint"/>
16215+ </constant>
16216+ <constant name="KEY_Pointer_DblClick1"
16217+ value="65263"
16218+ c:type="GDK_KEY_Pointer_DblClick1">
16219+ <source-position filename="gdk/gdkkeysyms.h" line="334"/>
16220+ <type name="gint" c:type="gint"/>
16221+ </constant>
16222+ <constant name="KEY_Pointer_DblClick2"
16223+ value="65264"
16224+ c:type="GDK_KEY_Pointer_DblClick2">
16225+ <source-position filename="gdk/gdkkeysyms.h" line="335"/>
16226+ <type name="gint" c:type="gint"/>
16227+ </constant>
16228+ <constant name="KEY_Pointer_DblClick3"
16229+ value="65265"
16230+ c:type="GDK_KEY_Pointer_DblClick3">
16231+ <source-position filename="gdk/gdkkeysyms.h" line="336"/>
16232+ <type name="gint" c:type="gint"/>
16233+ </constant>
16234+ <constant name="KEY_Pointer_DblClick4"
16235+ value="65266"
16236+ c:type="GDK_KEY_Pointer_DblClick4">
16237+ <source-position filename="gdk/gdkkeysyms.h" line="337"/>
16238+ <type name="gint" c:type="gint"/>
16239+ </constant>
16240+ <constant name="KEY_Pointer_DblClick5"
16241+ value="65267"
16242+ c:type="GDK_KEY_Pointer_DblClick5">
16243+ <source-position filename="gdk/gdkkeysyms.h" line="338"/>
16244+ <type name="gint" c:type="gint"/>
16245+ </constant>
16246+ <constant name="KEY_Pointer_DblClick_Dflt"
16247+ value="65262"
16248+ c:type="GDK_KEY_Pointer_DblClick_Dflt">
16249+ <source-position filename="gdk/gdkkeysyms.h" line="333"/>
16250+ <type name="gint" c:type="gint"/>
16251+ </constant>
16252+ <constant name="KEY_Pointer_DfltBtnNext"
16253+ value="65275"
16254+ c:type="GDK_KEY_Pointer_DfltBtnNext">
16255+ <source-position filename="gdk/gdkkeysyms.h" line="347"/>
16256+ <type name="gint" c:type="gint"/>
16257+ </constant>
16258+ <constant name="KEY_Pointer_DfltBtnPrev"
16259+ value="65276"
16260+ c:type="GDK_KEY_Pointer_DfltBtnPrev">
16261+ <source-position filename="gdk/gdkkeysyms.h" line="348"/>
16262+ <type name="gint" c:type="gint"/>
16263+ </constant>
16264+ <constant name="KEY_Pointer_Down"
16265+ value="65251"
16266+ c:type="GDK_KEY_Pointer_Down">
16267+ <source-position filename="gdk/gdkkeysyms.h" line="322"/>
16268+ <type name="gint" c:type="gint"/>
16269+ </constant>
16270+ <constant name="KEY_Pointer_DownLeft"
16271+ value="65254"
16272+ c:type="GDK_KEY_Pointer_DownLeft">
16273+ <source-position filename="gdk/gdkkeysyms.h" line="325"/>
16274+ <type name="gint" c:type="gint"/>
16275+ </constant>
16276+ <constant name="KEY_Pointer_DownRight"
16277+ value="65255"
16278+ c:type="GDK_KEY_Pointer_DownRight">
16279+ <source-position filename="gdk/gdkkeysyms.h" line="326"/>
16280+ <type name="gint" c:type="gint"/>
16281+ </constant>
16282+ <constant name="KEY_Pointer_Drag1"
16283+ value="65269"
16284+ c:type="GDK_KEY_Pointer_Drag1">
16285+ <source-position filename="gdk/gdkkeysyms.h" line="340"/>
16286+ <type name="gint" c:type="gint"/>
16287+ </constant>
16288+ <constant name="KEY_Pointer_Drag2"
16289+ value="65270"
16290+ c:type="GDK_KEY_Pointer_Drag2">
16291+ <source-position filename="gdk/gdkkeysyms.h" line="341"/>
16292+ <type name="gint" c:type="gint"/>
16293+ </constant>
16294+ <constant name="KEY_Pointer_Drag3"
16295+ value="65271"
16296+ c:type="GDK_KEY_Pointer_Drag3">
16297+ <source-position filename="gdk/gdkkeysyms.h" line="342"/>
16298+ <type name="gint" c:type="gint"/>
16299+ </constant>
16300+ <constant name="KEY_Pointer_Drag4"
16301+ value="65272"
16302+ c:type="GDK_KEY_Pointer_Drag4">
16303+ <source-position filename="gdk/gdkkeysyms.h" line="343"/>
16304+ <type name="gint" c:type="gint"/>
16305+ </constant>
16306+ <constant name="KEY_Pointer_Drag5"
16307+ value="65277"
16308+ c:type="GDK_KEY_Pointer_Drag5">
16309+ <source-position filename="gdk/gdkkeysyms.h" line="344"/>
16310+ <type name="gint" c:type="gint"/>
16311+ </constant>
16312+ <constant name="KEY_Pointer_Drag_Dflt"
16313+ value="65268"
16314+ c:type="GDK_KEY_Pointer_Drag_Dflt">
16315+ <source-position filename="gdk/gdkkeysyms.h" line="339"/>
16316+ <type name="gint" c:type="gint"/>
16317+ </constant>
16318+ <constant name="KEY_Pointer_EnableKeys"
16319+ value="65273"
16320+ c:type="GDK_KEY_Pointer_EnableKeys">
16321+ <source-position filename="gdk/gdkkeysyms.h" line="345"/>
16322+ <type name="gint" c:type="gint"/>
16323+ </constant>
16324+ <constant name="KEY_Pointer_Left"
16325+ value="65248"
16326+ c:type="GDK_KEY_Pointer_Left">
16327+ <source-position filename="gdk/gdkkeysyms.h" line="319"/>
16328+ <type name="gint" c:type="gint"/>
16329+ </constant>
16330+ <constant name="KEY_Pointer_Right"
16331+ value="65249"
16332+ c:type="GDK_KEY_Pointer_Right">
16333+ <source-position filename="gdk/gdkkeysyms.h" line="320"/>
16334+ <type name="gint" c:type="gint"/>
16335+ </constant>
16336+ <constant name="KEY_Pointer_Up" value="65250" c:type="GDK_KEY_Pointer_Up">
16337+ <source-position filename="gdk/gdkkeysyms.h" line="321"/>
16338+ <type name="gint" c:type="gint"/>
16339+ </constant>
16340+ <constant name="KEY_Pointer_UpLeft"
16341+ value="65252"
16342+ c:type="GDK_KEY_Pointer_UpLeft">
16343+ <source-position filename="gdk/gdkkeysyms.h" line="323"/>
16344+ <type name="gint" c:type="gint"/>
16345+ </constant>
16346+ <constant name="KEY_Pointer_UpRight"
16347+ value="65253"
16348+ c:type="GDK_KEY_Pointer_UpRight">
16349+ <source-position filename="gdk/gdkkeysyms.h" line="324"/>
16350+ <type name="gint" c:type="gint"/>
16351+ </constant>
16352+ <constant name="KEY_PowerDown"
16353+ value="269025057"
16354+ c:type="GDK_KEY_PowerDown">
16355+ <source-position filename="gdk/gdkkeysyms.h" line="2161"/>
16356+ <type name="gint" c:type="gint"/>
16357+ </constant>
16358+ <constant name="KEY_PowerOff" value="269025066" c:type="GDK_KEY_PowerOff">
16359+ <source-position filename="gdk/gdkkeysyms.h" line="2170"/>
16360+ <type name="gint" c:type="gint"/>
16361+ </constant>
16362+ <constant name="KEY_Prev_VMode"
16363+ value="269024803"
16364+ c:type="GDK_KEY_Prev_VMode">
16365+ <source-position filename="gdk/gdkkeysyms.h" line="2314"/>
16366+ <type name="gint" c:type="gint"/>
16367+ </constant>
16368+ <constant name="KEY_Prev_Virtual_Screen"
16369+ value="65233"
16370+ c:type="GDK_KEY_Prev_Virtual_Screen">
16371+ <source-position filename="gdk/gdkkeysyms.h" line="304"/>
16372+ <type name="gint" c:type="gint"/>
16373+ </constant>
16374+ <constant name="KEY_PreviousCandidate"
16375+ value="65342"
16376+ c:type="GDK_KEY_PreviousCandidate">
16377+ <source-position filename="gdk/gdkkeysyms.h" line="54"/>
16378+ <type name="gint" c:type="gint"/>
16379+ </constant>
16380+ <constant name="KEY_Print" value="65377" c:type="GDK_KEY_Print">
16381+ <source-position filename="gdk/gdkkeysyms.h" line="87"/>
16382+ <type name="gint" c:type="gint"/>
16383+ </constant>
16384+ <constant name="KEY_Prior" value="65365" c:type="GDK_KEY_Prior">
16385+ <source-position filename="gdk/gdkkeysyms.h" line="80"/>
16386+ <type name="gint" c:type="gint"/>
16387+ </constant>
16388+ <constant name="KEY_Q" value="81" c:type="GDK_KEY_Q">
16389+ <source-position filename="gdk/gdkkeysyms.h" line="435"/>
16390+ <type name="gint" c:type="gint"/>
16391+ </constant>
16392+ <constant name="KEY_R" value="82" c:type="GDK_KEY_R">
16393+ <source-position filename="gdk/gdkkeysyms.h" line="436"/>
16394+ <type name="gint" c:type="gint"/>
16395+ </constant>
16396+ <constant name="KEY_R1" value="65490" c:type="GDK_KEY_R1">
16397+ <source-position filename="gdk/gdkkeysyms.h" line="168"/>
16398+ <type name="gint" c:type="gint"/>
16399+ </constant>
16400+ <constant name="KEY_R10" value="65499" c:type="GDK_KEY_R10">
16401+ <source-position filename="gdk/gdkkeysyms.h" line="186"/>
16402+ <type name="gint" c:type="gint"/>
16403+ </constant>
16404+ <constant name="KEY_R11" value="65500" c:type="GDK_KEY_R11">
16405+ <source-position filename="gdk/gdkkeysyms.h" line="188"/>
16406+ <type name="gint" c:type="gint"/>
16407+ </constant>
16408+ <constant name="KEY_R12" value="65501" c:type="GDK_KEY_R12">
16409+ <source-position filename="gdk/gdkkeysyms.h" line="190"/>
16410+ <type name="gint" c:type="gint"/>
16411+ </constant>
16412+ <constant name="KEY_R13" value="65502" c:type="GDK_KEY_R13">
16413+ <source-position filename="gdk/gdkkeysyms.h" line="192"/>
16414+ <type name="gint" c:type="gint"/>
16415+ </constant>
16416+ <constant name="KEY_R14" value="65503" c:type="GDK_KEY_R14">
16417+ <source-position filename="gdk/gdkkeysyms.h" line="194"/>
16418+ <type name="gint" c:type="gint"/>
16419+ </constant>
16420+ <constant name="KEY_R15" value="65504" c:type="GDK_KEY_R15">
16421+ <source-position filename="gdk/gdkkeysyms.h" line="196"/>
16422+ <type name="gint" c:type="gint"/>
16423+ </constant>
16424+ <constant name="KEY_R2" value="65491" c:type="GDK_KEY_R2">
16425+ <source-position filename="gdk/gdkkeysyms.h" line="170"/>
16426+ <type name="gint" c:type="gint"/>
16427+ </constant>
16428+ <constant name="KEY_R3" value="65492" c:type="GDK_KEY_R3">
16429+ <source-position filename="gdk/gdkkeysyms.h" line="172"/>
16430+ <type name="gint" c:type="gint"/>
16431+ </constant>
16432+ <constant name="KEY_R4" value="65493" c:type="GDK_KEY_R4">
16433+ <source-position filename="gdk/gdkkeysyms.h" line="174"/>
16434+ <type name="gint" c:type="gint"/>
16435+ </constant>
16436+ <constant name="KEY_R5" value="65494" c:type="GDK_KEY_R5">
16437+ <source-position filename="gdk/gdkkeysyms.h" line="176"/>
16438+ <type name="gint" c:type="gint"/>
16439+ </constant>
16440+ <constant name="KEY_R6" value="65495" c:type="GDK_KEY_R6">
16441+ <source-position filename="gdk/gdkkeysyms.h" line="178"/>
16442+ <type name="gint" c:type="gint"/>
16443+ </constant>
16444+ <constant name="KEY_R7" value="65496" c:type="GDK_KEY_R7">
16445+ <source-position filename="gdk/gdkkeysyms.h" line="180"/>
16446+ <type name="gint" c:type="gint"/>
16447+ </constant>
16448+ <constant name="KEY_R8" value="65497" c:type="GDK_KEY_R8">
16449+ <source-position filename="gdk/gdkkeysyms.h" line="182"/>
16450+ <type name="gint" c:type="gint"/>
16451+ </constant>
16452+ <constant name="KEY_R9" value="65498" c:type="GDK_KEY_R9">
16453+ <source-position filename="gdk/gdkkeysyms.h" line="184"/>
16454+ <type name="gint" c:type="gint"/>
16455+ </constant>
16456+ <constant name="KEY_RFKill" value="269025205" c:type="GDK_KEY_RFKill">
16457+ <source-position filename="gdk/gdkkeysyms.h" line="2297"/>
16458+ <type name="gint" c:type="gint"/>
16459+ </constant>
16460+ <constant name="KEY_Racute" value="448" c:type="GDK_KEY_Racute">
16461+ <source-position filename="gdk/gdkkeysyms.h" line="606"/>
16462+ <type name="gint" c:type="gint"/>
16463+ </constant>
16464+ <constant name="KEY_Rcaron" value="472" c:type="GDK_KEY_Rcaron">
16465+ <source-position filename="gdk/gdkkeysyms.h" line="618"/>
16466+ <type name="gint" c:type="gint"/>
16467+ </constant>
16468+ <constant name="KEY_Rcedilla" value="931" c:type="GDK_KEY_Rcedilla">
16469+ <source-position filename="gdk/gdkkeysyms.h" line="663"/>
16470+ <type name="gint" c:type="gint"/>
16471+ </constant>
16472+ <constant name="KEY_Red" value="269025187" c:type="GDK_KEY_Red">
16473+ <source-position filename="gdk/gdkkeysyms.h" line="2285"/>
16474+ <type name="gint" c:type="gint"/>
16475+ </constant>
16476+ <constant name="KEY_Redo" value="65382" c:type="GDK_KEY_Redo">
16477+ <source-position filename="gdk/gdkkeysyms.h" line="91"/>
16478+ <type name="gint" c:type="gint"/>
16479+ </constant>
16480+ <constant name="KEY_Refresh" value="269025065" c:type="GDK_KEY_Refresh">
16481+ <source-position filename="gdk/gdkkeysyms.h" line="2169"/>
16482+ <type name="gint" c:type="gint"/>
16483+ </constant>
16484+ <constant name="KEY_Reload" value="269025139" c:type="GDK_KEY_Reload">
16485+ <source-position filename="gdk/gdkkeysyms.h" line="2238"/>
16486+ <type name="gint" c:type="gint"/>
16487+ </constant>
16488+ <constant name="KEY_RepeatKeys_Enable"
16489+ value="65138"
16490+ c:type="GDK_KEY_RepeatKeys_Enable">
16491+ <source-position filename="gdk/gdkkeysyms.h" line="310"/>
16492+ <type name="gint" c:type="gint"/>
16493+ </constant>
16494+ <constant name="KEY_Reply" value="269025138" c:type="GDK_KEY_Reply">
16495+ <source-position filename="gdk/gdkkeysyms.h" line="2237"/>
16496+ <type name="gint" c:type="gint"/>
16497+ </constant>
16498+ <constant name="KEY_Return" value="65293" c:type="GDK_KEY_Return">
16499+ <source-position filename="gdk/gdkkeysyms.h" line="44"/>
16500+ <type name="gint" c:type="gint"/>
16501+ </constant>
16502+ <constant name="KEY_Right" value="65363" c:type="GDK_KEY_Right">
16503+ <source-position filename="gdk/gdkkeysyms.h" line="78"/>
16504+ <type name="gint" c:type="gint"/>
16505+ </constant>
16506+ <constant name="KEY_RockerDown"
16507+ value="269025060"
16508+ c:type="GDK_KEY_RockerDown">
16509+ <source-position filename="gdk/gdkkeysyms.h" line="2164"/>
16510+ <type name="gint" c:type="gint"/>
16511+ </constant>
16512+ <constant name="KEY_RockerEnter"
16513+ value="269025061"
16514+ c:type="GDK_KEY_RockerEnter">
16515+ <source-position filename="gdk/gdkkeysyms.h" line="2165"/>
16516+ <type name="gint" c:type="gint"/>
16517+ </constant>
16518+ <constant name="KEY_RockerUp" value="269025059" c:type="GDK_KEY_RockerUp">
16519+ <source-position filename="gdk/gdkkeysyms.h" line="2163"/>
16520+ <type name="gint" c:type="gint"/>
16521+ </constant>
16522+ <constant name="KEY_Romaji" value="65316" c:type="GDK_KEY_Romaji">
16523+ <source-position filename="gdk/gdkkeysyms.h" line="59"/>
16524+ <type name="gint" c:type="gint"/>
16525+ </constant>
16526+ <constant name="KEY_RotateWindows"
16527+ value="269025140"
16528+ c:type="GDK_KEY_RotateWindows">
16529+ <source-position filename="gdk/gdkkeysyms.h" line="2239"/>
16530+ <type name="gint" c:type="gint"/>
16531+ </constant>
16532+ <constant name="KEY_RotationKB"
16533+ value="269025142"
16534+ c:type="GDK_KEY_RotationKB">
16535+ <source-position filename="gdk/gdkkeysyms.h" line="2241"/>
16536+ <type name="gint" c:type="gint"/>
16537+ </constant>
16538+ <constant name="KEY_RotationPB"
16539+ value="269025141"
16540+ c:type="GDK_KEY_RotationPB">
16541+ <source-position filename="gdk/gdkkeysyms.h" line="2240"/>
16542+ <type name="gint" c:type="gint"/>
16543+ </constant>
16544+ <constant name="KEY_RupeeSign" value="16785576" c:type="GDK_KEY_RupeeSign">
16545+ <source-position filename="gdk/gdkkeysyms.h" line="1755"/>
16546+ <type name="gint" c:type="gint"/>
16547+ </constant>
16548+ <constant name="KEY_S" value="83" c:type="GDK_KEY_S">
16549+ <source-position filename="gdk/gdkkeysyms.h" line="437"/>
16550+ <type name="gint" c:type="gint"/>
16551+ </constant>
16552+ <constant name="KEY_SCHWA" value="16777615" c:type="GDK_KEY_SCHWA">
16553+ <source-position filename="gdk/gdkkeysyms.h" line="1649"/>
16554+ <type name="gint" c:type="gint"/>
16555+ </constant>
16556+ <constant name="KEY_Sabovedot" value="16784992" c:type="GDK_KEY_Sabovedot">
16557+ <source-position filename="gdk/gdkkeysyms.h" line="711"/>
16558+ <type name="gint" c:type="gint"/>
16559+ </constant>
16560+ <constant name="KEY_Sacute" value="422" c:type="GDK_KEY_Sacute">
16561+ <source-position filename="gdk/gdkkeysyms.h" line="586"/>
16562+ <type name="gint" c:type="gint"/>
16563+ </constant>
16564+ <constant name="KEY_Save" value="269025143" c:type="GDK_KEY_Save">
16565+ <source-position filename="gdk/gdkkeysyms.h" line="2242"/>
16566+ <type name="gint" c:type="gint"/>
16567+ </constant>
16568+ <constant name="KEY_Scaron" value="425" c:type="GDK_KEY_Scaron">
16569+ <source-position filename="gdk/gdkkeysyms.h" line="587"/>
16570+ <type name="gint" c:type="gint"/>
16571+ </constant>
16572+ <constant name="KEY_Scedilla" value="426" c:type="GDK_KEY_Scedilla">
16573+ <source-position filename="gdk/gdkkeysyms.h" line="588"/>
16574+ <type name="gint" c:type="gint"/>
16575+ </constant>
16576+ <constant name="KEY_Scircumflex" value="734" c:type="GDK_KEY_Scircumflex">
16577+ <source-position filename="gdk/gdkkeysyms.h" line="654"/>
16578+ <type name="gint" c:type="gint"/>
16579+ </constant>
16580+ <constant name="KEY_ScreenSaver"
16581+ value="269025069"
16582+ c:type="GDK_KEY_ScreenSaver">
16583+ <source-position filename="gdk/gdkkeysyms.h" line="2173"/>
16584+ <type name="gint" c:type="gint"/>
16585+ </constant>
16586+ <constant name="KEY_ScrollClick"
16587+ value="269025146"
16588+ c:type="GDK_KEY_ScrollClick">
16589+ <source-position filename="gdk/gdkkeysyms.h" line="2245"/>
16590+ <type name="gint" c:type="gint"/>
16591+ </constant>
16592+ <constant name="KEY_ScrollDown"
16593+ value="269025145"
16594+ c:type="GDK_KEY_ScrollDown">
16595+ <source-position filename="gdk/gdkkeysyms.h" line="2244"/>
16596+ <type name="gint" c:type="gint"/>
16597+ </constant>
16598+ <constant name="KEY_ScrollUp" value="269025144" c:type="GDK_KEY_ScrollUp">
16599+ <source-position filename="gdk/gdkkeysyms.h" line="2243"/>
16600+ <type name="gint" c:type="gint"/>
16601+ </constant>
16602+ <constant name="KEY_Scroll_Lock"
16603+ value="65300"
16604+ c:type="GDK_KEY_Scroll_Lock">
16605+ <source-position filename="gdk/gdkkeysyms.h" line="46"/>
16606+ <type name="gint" c:type="gint"/>
16607+ </constant>
16608+ <constant name="KEY_Search" value="269025051" c:type="GDK_KEY_Search">
16609+ <source-position filename="gdk/gdkkeysyms.h" line="2155"/>
16610+ <type name="gint" c:type="gint"/>
16611+ </constant>
16612+ <constant name="KEY_Select" value="65376" c:type="GDK_KEY_Select">
16613+ <source-position filename="gdk/gdkkeysyms.h" line="86"/>
16614+ <type name="gint" c:type="gint"/>
16615+ </constant>
16616+ <constant name="KEY_SelectButton"
16617+ value="269025184"
16618+ c:type="GDK_KEY_SelectButton">
16619+ <source-position filename="gdk/gdkkeysyms.h" line="2282"/>
16620+ <type name="gint" c:type="gint"/>
16621+ </constant>
16622+ <constant name="KEY_Send" value="269025147" c:type="GDK_KEY_Send">
16623+ <source-position filename="gdk/gdkkeysyms.h" line="2246"/>
16624+ <type name="gint" c:type="gint"/>
16625+ </constant>
16626+ <constant name="KEY_Serbian_DJE" value="1713" c:type="GDK_KEY_Serbian_DJE">
16627+ <source-position filename="gdk/gdkkeysyms.h" line="940"/>
16628+ <type name="gint" c:type="gint"/>
16629+ </constant>
16630+ <constant name="KEY_Serbian_DZE" value="1727" c:type="GDK_KEY_Serbian_DZE">
16631+ <source-position filename="gdk/gdkkeysyms.h" line="961"/>
16632+ <type name="gint" c:type="gint"/>
16633+ </constant>
16634+ <constant name="KEY_Serbian_JE" value="1720" c:type="GDK_KEY_Serbian_JE">
16635+ <source-position filename="gdk/gdkkeysyms.h" line="951"/>
16636+ <type name="gint" c:type="gint"/>
16637+ </constant>
16638+ <constant name="KEY_Serbian_LJE" value="1721" c:type="GDK_KEY_Serbian_LJE">
16639+ <source-position filename="gdk/gdkkeysyms.h" line="953"/>
16640+ <type name="gint" c:type="gint"/>
16641+ </constant>
16642+ <constant name="KEY_Serbian_NJE" value="1722" c:type="GDK_KEY_Serbian_NJE">
16643+ <source-position filename="gdk/gdkkeysyms.h" line="955"/>
16644+ <type name="gint" c:type="gint"/>
16645+ </constant>
16646+ <constant name="KEY_Serbian_TSHE"
16647+ value="1723"
16648+ c:type="GDK_KEY_Serbian_TSHE">
16649+ <source-position filename="gdk/gdkkeysyms.h" line="956"/>
16650+ <type name="gint" c:type="gint"/>
16651+ </constant>
16652+ <constant name="KEY_Serbian_dje" value="1697" c:type="GDK_KEY_Serbian_dje">
16653+ <source-position filename="gdk/gdkkeysyms.h" line="917"/>
16654+ <type name="gint" c:type="gint"/>
16655+ </constant>
16656+ <constant name="KEY_Serbian_dze" value="1711" c:type="GDK_KEY_Serbian_dze">
16657+ <source-position filename="gdk/gdkkeysyms.h" line="938"/>
16658+ <type name="gint" c:type="gint"/>
16659+ </constant>
16660+ <constant name="KEY_Serbian_je" value="1704" c:type="GDK_KEY_Serbian_je">
16661+ <source-position filename="gdk/gdkkeysyms.h" line="928"/>
16662+ <type name="gint" c:type="gint"/>
16663+ </constant>
16664+ <constant name="KEY_Serbian_lje" value="1705" c:type="GDK_KEY_Serbian_lje">
16665+ <source-position filename="gdk/gdkkeysyms.h" line="930"/>
16666+ <type name="gint" c:type="gint"/>
16667+ </constant>
16668+ <constant name="KEY_Serbian_nje" value="1706" c:type="GDK_KEY_Serbian_nje">
16669+ <source-position filename="gdk/gdkkeysyms.h" line="932"/>
16670+ <type name="gint" c:type="gint"/>
16671+ </constant>
16672+ <constant name="KEY_Serbian_tshe"
16673+ value="1707"
16674+ c:type="GDK_KEY_Serbian_tshe">
16675+ <source-position filename="gdk/gdkkeysyms.h" line="933"/>
16676+ <type name="gint" c:type="gint"/>
16677+ </constant>
16678+ <constant name="KEY_Shift_L" value="65505" c:type="GDK_KEY_Shift_L">
16679+ <source-position filename="gdk/gdkkeysyms.h" line="197"/>
16680+ <type name="gint" c:type="gint"/>
16681+ </constant>
16682+ <constant name="KEY_Shift_Lock" value="65510" c:type="GDK_KEY_Shift_Lock">
16683+ <source-position filename="gdk/gdkkeysyms.h" line="202"/>
16684+ <type name="gint" c:type="gint"/>
16685+ </constant>
16686+ <constant name="KEY_Shift_R" value="65506" c:type="GDK_KEY_Shift_R">
16687+ <source-position filename="gdk/gdkkeysyms.h" line="198"/>
16688+ <type name="gint" c:type="gint"/>
16689+ </constant>
16690+ <constant name="KEY_Shop" value="269025078" c:type="GDK_KEY_Shop">
16691+ <source-position filename="gdk/gdkkeysyms.h" line="2182"/>
16692+ <type name="gint" c:type="gint"/>
16693+ </constant>
16694+ <constant name="KEY_SingleCandidate"
16695+ value="65340"
16696+ c:type="GDK_KEY_SingleCandidate">
16697+ <source-position filename="gdk/gdkkeysyms.h" line="52"/>
16698+ <type name="gint" c:type="gint"/>
16699+ </constant>
16700+ <constant name="KEY_Sinh_a" value="16780677" c:type="GDK_KEY_Sinh_a">
16701+ <source-position filename="gdk/gdkkeysyms.h" line="2060"/>
16702+ <type name="gint" c:type="gint"/>
16703+ </constant>
16704+ <constant name="KEY_Sinh_aa" value="16780678" c:type="GDK_KEY_Sinh_aa">
16705+ <source-position filename="gdk/gdkkeysyms.h" line="2061"/>
16706+ <type name="gint" c:type="gint"/>
16707+ </constant>
16708+ <constant name="KEY_Sinh_aa2" value="16780751" c:type="GDK_KEY_Sinh_aa2">
16709+ <source-position filename="gdk/gdkkeysyms.h" line="2120"/>
16710+ <type name="gint" c:type="gint"/>
16711+ </constant>
16712+ <constant name="KEY_Sinh_ae" value="16780679" c:type="GDK_KEY_Sinh_ae">
16713+ <source-position filename="gdk/gdkkeysyms.h" line="2062"/>
16714+ <type name="gint" c:type="gint"/>
16715+ </constant>
16716+ <constant name="KEY_Sinh_ae2" value="16780752" c:type="GDK_KEY_Sinh_ae2">
16717+ <source-position filename="gdk/gdkkeysyms.h" line="2121"/>
16718+ <type name="gint" c:type="gint"/>
16719+ </constant>
16720+ <constant name="KEY_Sinh_aee" value="16780680" c:type="GDK_KEY_Sinh_aee">
16721+ <source-position filename="gdk/gdkkeysyms.h" line="2063"/>
16722+ <type name="gint" c:type="gint"/>
16723+ </constant>
16724+ <constant name="KEY_Sinh_aee2" value="16780753" c:type="GDK_KEY_Sinh_aee2">
16725+ <source-position filename="gdk/gdkkeysyms.h" line="2122"/>
16726+ <type name="gint" c:type="gint"/>
16727+ </constant>
16728+ <constant name="KEY_Sinh_ai" value="16780691" c:type="GDK_KEY_Sinh_ai">
16729+ <source-position filename="gdk/gdkkeysyms.h" line="2074"/>
16730+ <type name="gint" c:type="gint"/>
16731+ </constant>
16732+ <constant name="KEY_Sinh_ai2" value="16780763" c:type="GDK_KEY_Sinh_ai2">
16733+ <source-position filename="gdk/gdkkeysyms.h" line="2130"/>
16734+ <type name="gint" c:type="gint"/>
16735+ </constant>
16736+ <constant name="KEY_Sinh_al" value="16780746" c:type="GDK_KEY_Sinh_al">
16737+ <source-position filename="gdk/gdkkeysyms.h" line="2119"/>
16738+ <type name="gint" c:type="gint"/>
16739+ </constant>
16740+ <constant name="KEY_Sinh_au" value="16780694" c:type="GDK_KEY_Sinh_au">
16741+ <source-position filename="gdk/gdkkeysyms.h" line="2077"/>
16742+ <type name="gint" c:type="gint"/>
16743+ </constant>
16744+ <constant name="KEY_Sinh_au2" value="16780766" c:type="GDK_KEY_Sinh_au2">
16745+ <source-position filename="gdk/gdkkeysyms.h" line="2133"/>
16746+ <type name="gint" c:type="gint"/>
16747+ </constant>
16748+ <constant name="KEY_Sinh_ba" value="16780726" c:type="GDK_KEY_Sinh_ba">
16749+ <source-position filename="gdk/gdkkeysyms.h" line="2105"/>
16750+ <type name="gint" c:type="gint"/>
16751+ </constant>
16752+ <constant name="KEY_Sinh_bha" value="16780727" c:type="GDK_KEY_Sinh_bha">
16753+ <source-position filename="gdk/gdkkeysyms.h" line="2106"/>
16754+ <type name="gint" c:type="gint"/>
16755+ </constant>
16756+ <constant name="KEY_Sinh_ca" value="16780704" c:type="GDK_KEY_Sinh_ca">
16757+ <source-position filename="gdk/gdkkeysyms.h" line="2084"/>
16758+ <type name="gint" c:type="gint"/>
16759+ </constant>
16760+ <constant name="KEY_Sinh_cha" value="16780705" c:type="GDK_KEY_Sinh_cha">
16761+ <source-position filename="gdk/gdkkeysyms.h" line="2085"/>
16762+ <type name="gint" c:type="gint"/>
16763+ </constant>
16764+ <constant name="KEY_Sinh_dda" value="16780713" c:type="GDK_KEY_Sinh_dda">
16765+ <source-position filename="gdk/gdkkeysyms.h" line="2093"/>
16766+ <type name="gint" c:type="gint"/>
16767+ </constant>
16768+ <constant name="KEY_Sinh_ddha" value="16780714" c:type="GDK_KEY_Sinh_ddha">
16769+ <source-position filename="gdk/gdkkeysyms.h" line="2094"/>
16770+ <type name="gint" c:type="gint"/>
16771+ </constant>
16772+ <constant name="KEY_Sinh_dha" value="16780719" c:type="GDK_KEY_Sinh_dha">
16773+ <source-position filename="gdk/gdkkeysyms.h" line="2099"/>
16774+ <type name="gint" c:type="gint"/>
16775+ </constant>
16776+ <constant name="KEY_Sinh_dhha" value="16780720" c:type="GDK_KEY_Sinh_dhha">
16777+ <source-position filename="gdk/gdkkeysyms.h" line="2100"/>
16778+ <type name="gint" c:type="gint"/>
16779+ </constant>
16780+ <constant name="KEY_Sinh_e" value="16780689" c:type="GDK_KEY_Sinh_e">
16781+ <source-position filename="gdk/gdkkeysyms.h" line="2072"/>
16782+ <type name="gint" c:type="gint"/>
16783+ </constant>
16784+ <constant name="KEY_Sinh_e2" value="16780761" c:type="GDK_KEY_Sinh_e2">
16785+ <source-position filename="gdk/gdkkeysyms.h" line="2128"/>
16786+ <type name="gint" c:type="gint"/>
16787+ </constant>
16788+ <constant name="KEY_Sinh_ee" value="16780690" c:type="GDK_KEY_Sinh_ee">
16789+ <source-position filename="gdk/gdkkeysyms.h" line="2073"/>
16790+ <type name="gint" c:type="gint"/>
16791+ </constant>
16792+ <constant name="KEY_Sinh_ee2" value="16780762" c:type="GDK_KEY_Sinh_ee2">
16793+ <source-position filename="gdk/gdkkeysyms.h" line="2129"/>
16794+ <type name="gint" c:type="gint"/>
16795+ </constant>
16796+ <constant name="KEY_Sinh_fa" value="16780742" c:type="GDK_KEY_Sinh_fa">
16797+ <source-position filename="gdk/gdkkeysyms.h" line="2118"/>
16798+ <type name="gint" c:type="gint"/>
16799+ </constant>
16800+ <constant name="KEY_Sinh_ga" value="16780700" c:type="GDK_KEY_Sinh_ga">
16801+ <source-position filename="gdk/gdkkeysyms.h" line="2080"/>
16802+ <type name="gint" c:type="gint"/>
16803+ </constant>
16804+ <constant name="KEY_Sinh_gha" value="16780701" c:type="GDK_KEY_Sinh_gha">
16805+ <source-position filename="gdk/gdkkeysyms.h" line="2081"/>
16806+ <type name="gint" c:type="gint"/>
16807+ </constant>
16808+ <constant name="KEY_Sinh_h2" value="16780675" c:type="GDK_KEY_Sinh_h2">
16809+ <source-position filename="gdk/gdkkeysyms.h" line="2059"/>
16810+ <type name="gint" c:type="gint"/>
16811+ </constant>
16812+ <constant name="KEY_Sinh_ha" value="16780740" c:type="GDK_KEY_Sinh_ha">
16813+ <source-position filename="gdk/gdkkeysyms.h" line="2116"/>
16814+ <type name="gint" c:type="gint"/>
16815+ </constant>
16816+ <constant name="KEY_Sinh_i" value="16780681" c:type="GDK_KEY_Sinh_i">
16817+ <source-position filename="gdk/gdkkeysyms.h" line="2064"/>
16818+ <type name="gint" c:type="gint"/>
16819+ </constant>
16820+ <constant name="KEY_Sinh_i2" value="16780754" c:type="GDK_KEY_Sinh_i2">
16821+ <source-position filename="gdk/gdkkeysyms.h" line="2123"/>
16822+ <type name="gint" c:type="gint"/>
16823+ </constant>
16824+ <constant name="KEY_Sinh_ii" value="16780682" c:type="GDK_KEY_Sinh_ii">
16825+ <source-position filename="gdk/gdkkeysyms.h" line="2065"/>
16826+ <type name="gint" c:type="gint"/>
16827+ </constant>
16828+ <constant name="KEY_Sinh_ii2" value="16780755" c:type="GDK_KEY_Sinh_ii2">
16829+ <source-position filename="gdk/gdkkeysyms.h" line="2124"/>
16830+ <type name="gint" c:type="gint"/>
16831+ </constant>
16832+ <constant name="KEY_Sinh_ja" value="16780706" c:type="GDK_KEY_Sinh_ja">
16833+ <source-position filename="gdk/gdkkeysyms.h" line="2086"/>
16834+ <type name="gint" c:type="gint"/>
16835+ </constant>
16836+ <constant name="KEY_Sinh_jha" value="16780707" c:type="GDK_KEY_Sinh_jha">
16837+ <source-position filename="gdk/gdkkeysyms.h" line="2087"/>
16838+ <type name="gint" c:type="gint"/>
16839+ </constant>
16840+ <constant name="KEY_Sinh_jnya" value="16780709" c:type="GDK_KEY_Sinh_jnya">
16841+ <source-position filename="gdk/gdkkeysyms.h" line="2089"/>
16842+ <type name="gint" c:type="gint"/>
16843+ </constant>
16844+ <constant name="KEY_Sinh_ka" value="16780698" c:type="GDK_KEY_Sinh_ka">
16845+ <source-position filename="gdk/gdkkeysyms.h" line="2078"/>
16846+ <type name="gint" c:type="gint"/>
16847+ </constant>
16848+ <constant name="KEY_Sinh_kha" value="16780699" c:type="GDK_KEY_Sinh_kha">
16849+ <source-position filename="gdk/gdkkeysyms.h" line="2079"/>
16850+ <type name="gint" c:type="gint"/>
16851+ </constant>
16852+ <constant name="KEY_Sinh_kunddaliya"
16853+ value="16780788"
16854+ c:type="GDK_KEY_Sinh_kunddaliya">
16855+ <source-position filename="gdk/gdkkeysyms.h" line="2137"/>
16856+ <type name="gint" c:type="gint"/>
16857+ </constant>
16858+ <constant name="KEY_Sinh_la" value="16780733" c:type="GDK_KEY_Sinh_la">
16859+ <source-position filename="gdk/gdkkeysyms.h" line="2111"/>
16860+ <type name="gint" c:type="gint"/>
16861+ </constant>
16862+ <constant name="KEY_Sinh_lla" value="16780741" c:type="GDK_KEY_Sinh_lla">
16863+ <source-position filename="gdk/gdkkeysyms.h" line="2117"/>
16864+ <type name="gint" c:type="gint"/>
16865+ </constant>
16866+ <constant name="KEY_Sinh_lu" value="16780687" c:type="GDK_KEY_Sinh_lu">
16867+ <source-position filename="gdk/gdkkeysyms.h" line="2070"/>
16868+ <type name="gint" c:type="gint"/>
16869+ </constant>
16870+ <constant name="KEY_Sinh_lu2" value="16780767" c:type="GDK_KEY_Sinh_lu2">
16871+ <source-position filename="gdk/gdkkeysyms.h" line="2134"/>
16872+ <type name="gint" c:type="gint"/>
16873+ </constant>
16874+ <constant name="KEY_Sinh_luu" value="16780688" c:type="GDK_KEY_Sinh_luu">
16875+ <source-position filename="gdk/gdkkeysyms.h" line="2071"/>
16876+ <type name="gint" c:type="gint"/>
16877+ </constant>
16878+ <constant name="KEY_Sinh_luu2" value="16780787" c:type="GDK_KEY_Sinh_luu2">
16879+ <source-position filename="gdk/gdkkeysyms.h" line="2136"/>
16880+ <type name="gint" c:type="gint"/>
16881+ </constant>
16882+ <constant name="KEY_Sinh_ma" value="16780728" c:type="GDK_KEY_Sinh_ma">
16883+ <source-position filename="gdk/gdkkeysyms.h" line="2107"/>
16884+ <type name="gint" c:type="gint"/>
16885+ </constant>
16886+ <constant name="KEY_Sinh_mba" value="16780729" c:type="GDK_KEY_Sinh_mba">
16887+ <source-position filename="gdk/gdkkeysyms.h" line="2108"/>
16888+ <type name="gint" c:type="gint"/>
16889+ </constant>
16890+ <constant name="KEY_Sinh_na" value="16780721" c:type="GDK_KEY_Sinh_na">
16891+ <source-position filename="gdk/gdkkeysyms.h" line="2101"/>
16892+ <type name="gint" c:type="gint"/>
16893+ </constant>
16894+ <constant name="KEY_Sinh_ndda" value="16780716" c:type="GDK_KEY_Sinh_ndda">
16895+ <source-position filename="gdk/gdkkeysyms.h" line="2096"/>
16896+ <type name="gint" c:type="gint"/>
16897+ </constant>
16898+ <constant name="KEY_Sinh_ndha" value="16780723" c:type="GDK_KEY_Sinh_ndha">
16899+ <source-position filename="gdk/gdkkeysyms.h" line="2102"/>
16900+ <type name="gint" c:type="gint"/>
16901+ </constant>
16902+ <constant name="KEY_Sinh_ng" value="16780674" c:type="GDK_KEY_Sinh_ng">
16903+ <source-position filename="gdk/gdkkeysyms.h" line="2058"/>
16904+ <type name="gint" c:type="gint"/>
16905+ </constant>
16906+ <constant name="KEY_Sinh_ng2" value="16780702" c:type="GDK_KEY_Sinh_ng2">
16907+ <source-position filename="gdk/gdkkeysyms.h" line="2082"/>
16908+ <type name="gint" c:type="gint"/>
16909+ </constant>
16910+ <constant name="KEY_Sinh_nga" value="16780703" c:type="GDK_KEY_Sinh_nga">
16911+ <source-position filename="gdk/gdkkeysyms.h" line="2083"/>
16912+ <type name="gint" c:type="gint"/>
16913+ </constant>
16914+ <constant name="KEY_Sinh_nja" value="16780710" c:type="GDK_KEY_Sinh_nja">
16915+ <source-position filename="gdk/gdkkeysyms.h" line="2090"/>
16916+ <type name="gint" c:type="gint"/>
16917+ </constant>
16918+ <constant name="KEY_Sinh_nna" value="16780715" c:type="GDK_KEY_Sinh_nna">
16919+ <source-position filename="gdk/gdkkeysyms.h" line="2095"/>
16920+ <type name="gint" c:type="gint"/>
16921+ </constant>
16922+ <constant name="KEY_Sinh_nya" value="16780708" c:type="GDK_KEY_Sinh_nya">
16923+ <source-position filename="gdk/gdkkeysyms.h" line="2088"/>
16924+ <type name="gint" c:type="gint"/>
16925+ </constant>
16926+ <constant name="KEY_Sinh_o" value="16780692" c:type="GDK_KEY_Sinh_o">
16927+ <source-position filename="gdk/gdkkeysyms.h" line="2075"/>
16928+ <type name="gint" c:type="gint"/>
16929+ </constant>
16930+ <constant name="KEY_Sinh_o2" value="16780764" c:type="GDK_KEY_Sinh_o2">
16931+ <source-position filename="gdk/gdkkeysyms.h" line="2131"/>
16932+ <type name="gint" c:type="gint"/>
16933+ </constant>
16934+ <constant name="KEY_Sinh_oo" value="16780693" c:type="GDK_KEY_Sinh_oo">
16935+ <source-position filename="gdk/gdkkeysyms.h" line="2076"/>
16936+ <type name="gint" c:type="gint"/>
16937+ </constant>
16938+ <constant name="KEY_Sinh_oo2" value="16780765" c:type="GDK_KEY_Sinh_oo2">
16939+ <source-position filename="gdk/gdkkeysyms.h" line="2132"/>
16940+ <type name="gint" c:type="gint"/>
16941+ </constant>
16942+ <constant name="KEY_Sinh_pa" value="16780724" c:type="GDK_KEY_Sinh_pa">
16943+ <source-position filename="gdk/gdkkeysyms.h" line="2103"/>
16944+ <type name="gint" c:type="gint"/>
16945+ </constant>
16946+ <constant name="KEY_Sinh_pha" value="16780725" c:type="GDK_KEY_Sinh_pha">
16947+ <source-position filename="gdk/gdkkeysyms.h" line="2104"/>
16948+ <type name="gint" c:type="gint"/>
16949+ </constant>
16950+ <constant name="KEY_Sinh_ra" value="16780731" c:type="GDK_KEY_Sinh_ra">
16951+ <source-position filename="gdk/gdkkeysyms.h" line="2110"/>
16952+ <type name="gint" c:type="gint"/>
16953+ </constant>
16954+ <constant name="KEY_Sinh_ri" value="16780685" c:type="GDK_KEY_Sinh_ri">
16955+ <source-position filename="gdk/gdkkeysyms.h" line="2068"/>
16956+ <type name="gint" c:type="gint"/>
16957+ </constant>
16958+ <constant name="KEY_Sinh_rii" value="16780686" c:type="GDK_KEY_Sinh_rii">
16959+ <source-position filename="gdk/gdkkeysyms.h" line="2069"/>
16960+ <type name="gint" c:type="gint"/>
16961+ </constant>
16962+ <constant name="KEY_Sinh_ru2" value="16780760" c:type="GDK_KEY_Sinh_ru2">
16963+ <source-position filename="gdk/gdkkeysyms.h" line="2127"/>
16964+ <type name="gint" c:type="gint"/>
16965+ </constant>
16966+ <constant name="KEY_Sinh_ruu2" value="16780786" c:type="GDK_KEY_Sinh_ruu2">
16967+ <source-position filename="gdk/gdkkeysyms.h" line="2135"/>
16968+ <type name="gint" c:type="gint"/>
16969+ </constant>
16970+ <constant name="KEY_Sinh_sa" value="16780739" c:type="GDK_KEY_Sinh_sa">
16971+ <source-position filename="gdk/gdkkeysyms.h" line="2115"/>
16972+ <type name="gint" c:type="gint"/>
16973+ </constant>
16974+ <constant name="KEY_Sinh_sha" value="16780737" c:type="GDK_KEY_Sinh_sha">
16975+ <source-position filename="gdk/gdkkeysyms.h" line="2113"/>
16976+ <type name="gint" c:type="gint"/>
16977+ </constant>
16978+ <constant name="KEY_Sinh_ssha" value="16780738" c:type="GDK_KEY_Sinh_ssha">
16979+ <source-position filename="gdk/gdkkeysyms.h" line="2114"/>
16980+ <type name="gint" c:type="gint"/>
16981+ </constant>
16982+ <constant name="KEY_Sinh_tha" value="16780717" c:type="GDK_KEY_Sinh_tha">
16983+ <source-position filename="gdk/gdkkeysyms.h" line="2097"/>
16984+ <type name="gint" c:type="gint"/>
16985+ </constant>
16986+ <constant name="KEY_Sinh_thha" value="16780718" c:type="GDK_KEY_Sinh_thha">
16987+ <source-position filename="gdk/gdkkeysyms.h" line="2098"/>
16988+ <type name="gint" c:type="gint"/>
16989+ </constant>
16990+ <constant name="KEY_Sinh_tta" value="16780711" c:type="GDK_KEY_Sinh_tta">
16991+ <source-position filename="gdk/gdkkeysyms.h" line="2091"/>
16992+ <type name="gint" c:type="gint"/>
16993+ </constant>
16994+ <constant name="KEY_Sinh_ttha" value="16780712" c:type="GDK_KEY_Sinh_ttha">
16995+ <source-position filename="gdk/gdkkeysyms.h" line="2092"/>
16996+ <type name="gint" c:type="gint"/>
16997+ </constant>
16998+ <constant name="KEY_Sinh_u" value="16780683" c:type="GDK_KEY_Sinh_u">
16999+ <source-position filename="gdk/gdkkeysyms.h" line="2066"/>
17000+ <type name="gint" c:type="gint"/>
17001+ </constant>
17002+ <constant name="KEY_Sinh_u2" value="16780756" c:type="GDK_KEY_Sinh_u2">
17003+ <source-position filename="gdk/gdkkeysyms.h" line="2125"/>
17004+ <type name="gint" c:type="gint"/>
17005+ </constant>
17006+ <constant name="KEY_Sinh_uu" value="16780684" c:type="GDK_KEY_Sinh_uu">
17007+ <source-position filename="gdk/gdkkeysyms.h" line="2067"/>
17008+ <type name="gint" c:type="gint"/>
17009+ </constant>
17010+ <constant name="KEY_Sinh_uu2" value="16780758" c:type="GDK_KEY_Sinh_uu2">
17011+ <source-position filename="gdk/gdkkeysyms.h" line="2126"/>
17012+ <type name="gint" c:type="gint"/>
17013+ </constant>
17014+ <constant name="KEY_Sinh_va" value="16780736" c:type="GDK_KEY_Sinh_va">
17015+ <source-position filename="gdk/gdkkeysyms.h" line="2112"/>
17016+ <type name="gint" c:type="gint"/>
17017+ </constant>
17018+ <constant name="KEY_Sinh_ya" value="16780730" c:type="GDK_KEY_Sinh_ya">
17019+ <source-position filename="gdk/gdkkeysyms.h" line="2109"/>
17020+ <type name="gint" c:type="gint"/>
17021+ </constant>
17022+ <constant name="KEY_Sleep" value="269025071" c:type="GDK_KEY_Sleep">
17023+ <source-position filename="gdk/gdkkeysyms.h" line="2175"/>
17024+ <type name="gint" c:type="gint"/>
17025+ </constant>
17026+ <constant name="KEY_SlowKeys_Enable"
17027+ value="65139"
17028+ c:type="GDK_KEY_SlowKeys_Enable">
17029+ <source-position filename="gdk/gdkkeysyms.h" line="311"/>
17030+ <type name="gint" c:type="gint"/>
17031+ </constant>
17032+ <constant name="KEY_Spell" value="269025148" c:type="GDK_KEY_Spell">
17033+ <source-position filename="gdk/gdkkeysyms.h" line="2247"/>
17034+ <type name="gint" c:type="gint"/>
17035+ </constant>
17036+ <constant name="KEY_SplitScreen"
17037+ value="269025149"
17038+ c:type="GDK_KEY_SplitScreen">
17039+ <source-position filename="gdk/gdkkeysyms.h" line="2248"/>
17040+ <type name="gint" c:type="gint"/>
17041+ </constant>
17042+ <constant name="KEY_Standby" value="269025040" c:type="GDK_KEY_Standby">
17043+ <source-position filename="gdk/gdkkeysyms.h" line="2144"/>
17044+ <type name="gint" c:type="gint"/>
17045+ </constant>
17046+ <constant name="KEY_Start" value="269025050" c:type="GDK_KEY_Start">
17047+ <source-position filename="gdk/gdkkeysyms.h" line="2154"/>
17048+ <type name="gint" c:type="gint"/>
17049+ </constant>
17050+ <constant name="KEY_StickyKeys_Enable"
17051+ value="65141"
17052+ c:type="GDK_KEY_StickyKeys_Enable">
17053+ <source-position filename="gdk/gdkkeysyms.h" line="313"/>
17054+ <type name="gint" c:type="gint"/>
17055+ </constant>
17056+ <constant name="KEY_Stop" value="269025064" c:type="GDK_KEY_Stop">
17057+ <source-position filename="gdk/gdkkeysyms.h" line="2168"/>
17058+ <type name="gint" c:type="gint"/>
17059+ </constant>
17060+ <constant name="KEY_Subtitle" value="269025178" c:type="GDK_KEY_Subtitle">
17061+ <source-position filename="gdk/gdkkeysyms.h" line="2276"/>
17062+ <type name="gint" c:type="gint"/>
17063+ </constant>
17064+ <constant name="KEY_Super_L" value="65515" c:type="GDK_KEY_Super_L">
17065+ <source-position filename="gdk/gdkkeysyms.h" line="207"/>
17066+ <type name="gint" c:type="gint"/>
17067+ </constant>
17068+ <constant name="KEY_Super_R" value="65516" c:type="GDK_KEY_Super_R">
17069+ <source-position filename="gdk/gdkkeysyms.h" line="208"/>
17070+ <type name="gint" c:type="gint"/>
17071+ </constant>
17072+ <constant name="KEY_Support" value="269025150" c:type="GDK_KEY_Support">
17073+ <source-position filename="gdk/gdkkeysyms.h" line="2249"/>
17074+ <type name="gint" c:type="gint"/>
17075+ </constant>
17076+ <constant name="KEY_Suspend" value="269025191" c:type="GDK_KEY_Suspend">
17077+ <source-position filename="gdk/gdkkeysyms.h" line="2289"/>
17078+ <type name="gint" c:type="gint"/>
17079+ </constant>
17080+ <constant name="KEY_Switch_VT_1"
17081+ value="269024769"
17082+ c:type="GDK_KEY_Switch_VT_1">
17083+ <source-position filename="gdk/gdkkeysyms.h" line="2299"/>
17084+ <type name="gint" c:type="gint"/>
17085+ </constant>
17086+ <constant name="KEY_Switch_VT_10"
17087+ value="269024778"
17088+ c:type="GDK_KEY_Switch_VT_10">
17089+ <source-position filename="gdk/gdkkeysyms.h" line="2308"/>
17090+ <type name="gint" c:type="gint"/>
17091+ </constant>
17092+ <constant name="KEY_Switch_VT_11"
17093+ value="269024779"
17094+ c:type="GDK_KEY_Switch_VT_11">
17095+ <source-position filename="gdk/gdkkeysyms.h" line="2309"/>
17096+ <type name="gint" c:type="gint"/>
17097+ </constant>
17098+ <constant name="KEY_Switch_VT_12"
17099+ value="269024780"
17100+ c:type="GDK_KEY_Switch_VT_12">
17101+ <source-position filename="gdk/gdkkeysyms.h" line="2310"/>
17102+ <type name="gint" c:type="gint"/>
17103+ </constant>
17104+ <constant name="KEY_Switch_VT_2"
17105+ value="269024770"
17106+ c:type="GDK_KEY_Switch_VT_2">
17107+ <source-position filename="gdk/gdkkeysyms.h" line="2300"/>
17108+ <type name="gint" c:type="gint"/>
17109+ </constant>
17110+ <constant name="KEY_Switch_VT_3"
17111+ value="269024771"
17112+ c:type="GDK_KEY_Switch_VT_3">
17113+ <source-position filename="gdk/gdkkeysyms.h" line="2301"/>
17114+ <type name="gint" c:type="gint"/>
17115+ </constant>
17116+ <constant name="KEY_Switch_VT_4"
17117+ value="269024772"
17118+ c:type="GDK_KEY_Switch_VT_4">
17119+ <source-position filename="gdk/gdkkeysyms.h" line="2302"/>
17120+ <type name="gint" c:type="gint"/>
17121+ </constant>
17122+ <constant name="KEY_Switch_VT_5"
17123+ value="269024773"
17124+ c:type="GDK_KEY_Switch_VT_5">
17125+ <source-position filename="gdk/gdkkeysyms.h" line="2303"/>
17126+ <type name="gint" c:type="gint"/>
17127+ </constant>
17128+ <constant name="KEY_Switch_VT_6"
17129+ value="269024774"
17130+ c:type="GDK_KEY_Switch_VT_6">
17131+ <source-position filename="gdk/gdkkeysyms.h" line="2304"/>
17132+ <type name="gint" c:type="gint"/>
17133+ </constant>
17134+ <constant name="KEY_Switch_VT_7"
17135+ value="269024775"
17136+ c:type="GDK_KEY_Switch_VT_7">
17137+ <source-position filename="gdk/gdkkeysyms.h" line="2305"/>
17138+ <type name="gint" c:type="gint"/>
17139+ </constant>
17140+ <constant name="KEY_Switch_VT_8"
17141+ value="269024776"
17142+ c:type="GDK_KEY_Switch_VT_8">
17143+ <source-position filename="gdk/gdkkeysyms.h" line="2306"/>
17144+ <type name="gint" c:type="gint"/>
17145+ </constant>
17146+ <constant name="KEY_Switch_VT_9"
17147+ value="269024777"
17148+ c:type="GDK_KEY_Switch_VT_9">
17149+ <source-position filename="gdk/gdkkeysyms.h" line="2307"/>
17150+ <type name="gint" c:type="gint"/>
17151+ </constant>
17152+ <constant name="KEY_Sys_Req" value="65301" c:type="GDK_KEY_Sys_Req">
17153+ <source-position filename="gdk/gdkkeysyms.h" line="47"/>
17154+ <type name="gint" c:type="gint"/>
17155+ </constant>
17156+ <constant name="KEY_T" value="84" c:type="GDK_KEY_T">
17157+ <source-position filename="gdk/gdkkeysyms.h" line="438"/>
17158+ <type name="gint" c:type="gint"/>
17159+ </constant>
17160+ <constant name="KEY_THORN" value="222" c:type="GDK_KEY_THORN">
17161+ <source-position filename="gdk/gdkkeysyms.h" line="546"/>
17162+ <type name="gint" c:type="gint"/>
17163+ </constant>
17164+ <constant name="KEY_Tab" value="65289" c:type="GDK_KEY_Tab">
17165+ <source-position filename="gdk/gdkkeysyms.h" line="41"/>
17166+ <type name="gint" c:type="gint"/>
17167+ </constant>
17168+ <constant name="KEY_Tabovedot" value="16785002" c:type="GDK_KEY_Tabovedot">
17169+ <source-position filename="gdk/gdkkeysyms.h" line="713"/>
17170+ <type name="gint" c:type="gint"/>
17171+ </constant>
17172+ <constant name="KEY_TaskPane" value="269025151" c:type="GDK_KEY_TaskPane">
17173+ <source-position filename="gdk/gdkkeysyms.h" line="2250"/>
17174+ <type name="gint" c:type="gint"/>
17175+ </constant>
17176+ <constant name="KEY_Tcaron" value="427" c:type="GDK_KEY_Tcaron">
17177+ <source-position filename="gdk/gdkkeysyms.h" line="589"/>
17178+ <type name="gint" c:type="gint"/>
17179+ </constant>
17180+ <constant name="KEY_Tcedilla" value="478" c:type="GDK_KEY_Tcedilla">
17181+ <source-position filename="gdk/gdkkeysyms.h" line="621"/>
17182+ <type name="gint" c:type="gint"/>
17183+ </constant>
17184+ <constant name="KEY_Terminal" value="269025152" c:type="GDK_KEY_Terminal">
17185+ <source-position filename="gdk/gdkkeysyms.h" line="2251"/>
17186+ <type name="gint" c:type="gint"/>
17187+ </constant>
17188+ <constant name="KEY_Terminate_Server"
17189+ value="65237"
17190+ c:type="GDK_KEY_Terminate_Server">
17191+ <source-position filename="gdk/gdkkeysyms.h" line="307"/>
17192+ <type name="gint" c:type="gint"/>
17193+ </constant>
17194+ <constant name="KEY_Thai_baht" value="3551" c:type="GDK_KEY_Thai_baht">
17195+ <source-position filename="gdk/gdkkeysyms.h" line="1376"/>
17196+ <type name="gint" c:type="gint"/>
17197+ </constant>
17198+ <constant name="KEY_Thai_bobaimai"
17199+ value="3514"
17200+ c:type="GDK_KEY_Thai_bobaimai">
17201+ <source-position filename="gdk/gdkkeysyms.h" line="1342"/>
17202+ <type name="gint" c:type="gint"/>
17203+ </constant>
17204+ <constant name="KEY_Thai_chochan"
17205+ value="3496"
17206+ c:type="GDK_KEY_Thai_chochan">
17207+ <source-position filename="gdk/gdkkeysyms.h" line="1324"/>
17208+ <type name="gint" c:type="gint"/>
17209+ </constant>
17210+ <constant name="KEY_Thai_chochang"
17211+ value="3498"
17212+ c:type="GDK_KEY_Thai_chochang">
17213+ <source-position filename="gdk/gdkkeysyms.h" line="1326"/>
17214+ <type name="gint" c:type="gint"/>
17215+ </constant>
17216+ <constant name="KEY_Thai_choching"
17217+ value="3497"
17218+ c:type="GDK_KEY_Thai_choching">
17219+ <source-position filename="gdk/gdkkeysyms.h" line="1325"/>
17220+ <type name="gint" c:type="gint"/>
17221+ </constant>
17222+ <constant name="KEY_Thai_chochoe"
17223+ value="3500"
17224+ c:type="GDK_KEY_Thai_chochoe">
17225+ <source-position filename="gdk/gdkkeysyms.h" line="1328"/>
17226+ <type name="gint" c:type="gint"/>
17227+ </constant>
17228+ <constant name="KEY_Thai_dochada"
17229+ value="3502"
17230+ c:type="GDK_KEY_Thai_dochada">
17231+ <source-position filename="gdk/gdkkeysyms.h" line="1330"/>
17232+ <type name="gint" c:type="gint"/>
17233+ </constant>
17234+ <constant name="KEY_Thai_dodek" value="3508" c:type="GDK_KEY_Thai_dodek">
17235+ <source-position filename="gdk/gdkkeysyms.h" line="1336"/>
17236+ <type name="gint" c:type="gint"/>
17237+ </constant>
17238+ <constant name="KEY_Thai_fofa" value="3517" c:type="GDK_KEY_Thai_fofa">
17239+ <source-position filename="gdk/gdkkeysyms.h" line="1345"/>
17240+ <type name="gint" c:type="gint"/>
17241+ </constant>
17242+ <constant name="KEY_Thai_fofan" value="3519" c:type="GDK_KEY_Thai_fofan">
17243+ <source-position filename="gdk/gdkkeysyms.h" line="1347"/>
17244+ <type name="gint" c:type="gint"/>
17245+ </constant>
17246+ <constant name="KEY_Thai_hohip" value="3531" c:type="GDK_KEY_Thai_hohip">
17247+ <source-position filename="gdk/gdkkeysyms.h" line="1359"/>
17248+ <type name="gint" c:type="gint"/>
17249+ </constant>
17250+ <constant name="KEY_Thai_honokhuk"
17251+ value="3534"
17252+ c:type="GDK_KEY_Thai_honokhuk">
17253+ <source-position filename="gdk/gdkkeysyms.h" line="1362"/>
17254+ <type name="gint" c:type="gint"/>
17255+ </constant>
17256+ <constant name="KEY_Thai_khokhai"
17257+ value="3490"
17258+ c:type="GDK_KEY_Thai_khokhai">
17259+ <source-position filename="gdk/gdkkeysyms.h" line="1318"/>
17260+ <type name="gint" c:type="gint"/>
17261+ </constant>
17262+ <constant name="KEY_Thai_khokhon"
17263+ value="3493"
17264+ c:type="GDK_KEY_Thai_khokhon">
17265+ <source-position filename="gdk/gdkkeysyms.h" line="1321"/>
17266+ <type name="gint" c:type="gint"/>
17267+ </constant>
17268+ <constant name="KEY_Thai_khokhuat"
17269+ value="3491"
17270+ c:type="GDK_KEY_Thai_khokhuat">
17271+ <source-position filename="gdk/gdkkeysyms.h" line="1319"/>
17272+ <type name="gint" c:type="gint"/>
17273+ </constant>
17274+ <constant name="KEY_Thai_khokhwai"
17275+ value="3492"
17276+ c:type="GDK_KEY_Thai_khokhwai">
17277+ <source-position filename="gdk/gdkkeysyms.h" line="1320"/>
17278+ <type name="gint" c:type="gint"/>
17279+ </constant>
17280+ <constant name="KEY_Thai_khorakhang"
17281+ value="3494"
17282+ c:type="GDK_KEY_Thai_khorakhang">
17283+ <source-position filename="gdk/gdkkeysyms.h" line="1322"/>
17284+ <type name="gint" c:type="gint"/>
17285+ </constant>
17286+ <constant name="KEY_Thai_kokai" value="3489" c:type="GDK_KEY_Thai_kokai">
17287+ <source-position filename="gdk/gdkkeysyms.h" line="1317"/>
17288+ <type name="gint" c:type="gint"/>
17289+ </constant>
17290+ <constant name="KEY_Thai_lakkhangyao"
17291+ value="3557"
17292+ c:type="GDK_KEY_Thai_lakkhangyao">
17293+ <source-position filename="gdk/gdkkeysyms.h" line="1382"/>
17294+ <type name="gint" c:type="gint"/>
17295+ </constant>
17296+ <constant name="KEY_Thai_lekchet"
17297+ value="3575"
17298+ c:type="GDK_KEY_Thai_lekchet">
17299+ <source-position filename="gdk/gdkkeysyms.h" line="1398"/>
17300+ <type name="gint" c:type="gint"/>
17301+ </constant>
17302+ <constant name="KEY_Thai_lekha" value="3573" c:type="GDK_KEY_Thai_lekha">
17303+ <source-position filename="gdk/gdkkeysyms.h" line="1396"/>
17304+ <type name="gint" c:type="gint"/>
17305+ </constant>
17306+ <constant name="KEY_Thai_lekhok" value="3574" c:type="GDK_KEY_Thai_lekhok">
17307+ <source-position filename="gdk/gdkkeysyms.h" line="1397"/>
17308+ <type name="gint" c:type="gint"/>
17309+ </constant>
17310+ <constant name="KEY_Thai_lekkao" value="3577" c:type="GDK_KEY_Thai_lekkao">
17311+ <source-position filename="gdk/gdkkeysyms.h" line="1400"/>
17312+ <type name="gint" c:type="gint"/>
17313+ </constant>
17314+ <constant name="KEY_Thai_leknung"
17315+ value="3569"
17316+ c:type="GDK_KEY_Thai_leknung">
17317+ <source-position filename="gdk/gdkkeysyms.h" line="1392"/>
17318+ <type name="gint" c:type="gint"/>
17319+ </constant>
17320+ <constant name="KEY_Thai_lekpaet"
17321+ value="3576"
17322+ c:type="GDK_KEY_Thai_lekpaet">
17323+ <source-position filename="gdk/gdkkeysyms.h" line="1399"/>
17324+ <type name="gint" c:type="gint"/>
17325+ </constant>
17326+ <constant name="KEY_Thai_leksam" value="3571" c:type="GDK_KEY_Thai_leksam">
17327+ <source-position filename="gdk/gdkkeysyms.h" line="1394"/>
17328+ <type name="gint" c:type="gint"/>
17329+ </constant>
17330+ <constant name="KEY_Thai_leksi" value="3572" c:type="GDK_KEY_Thai_leksi">
17331+ <source-position filename="gdk/gdkkeysyms.h" line="1395"/>
17332+ <type name="gint" c:type="gint"/>
17333+ </constant>
17334+ <constant name="KEY_Thai_leksong"
17335+ value="3570"
17336+ c:type="GDK_KEY_Thai_leksong">
17337+ <source-position filename="gdk/gdkkeysyms.h" line="1393"/>
17338+ <type name="gint" c:type="gint"/>
17339+ </constant>
17340+ <constant name="KEY_Thai_leksun" value="3568" c:type="GDK_KEY_Thai_leksun">
17341+ <source-position filename="gdk/gdkkeysyms.h" line="1391"/>
17342+ <type name="gint" c:type="gint"/>
17343+ </constant>
17344+ <constant name="KEY_Thai_lochula"
17345+ value="3532"
17346+ c:type="GDK_KEY_Thai_lochula">
17347+ <source-position filename="gdk/gdkkeysyms.h" line="1360"/>
17348+ <type name="gint" c:type="gint"/>
17349+ </constant>
17350+ <constant name="KEY_Thai_loling" value="3525" c:type="GDK_KEY_Thai_loling">
17351+ <source-position filename="gdk/gdkkeysyms.h" line="1353"/>
17352+ <type name="gint" c:type="gint"/>
17353+ </constant>
17354+ <constant name="KEY_Thai_lu" value="3526" c:type="GDK_KEY_Thai_lu">
17355+ <source-position filename="gdk/gdkkeysyms.h" line="1354"/>
17356+ <type name="gint" c:type="gint"/>
17357+ </constant>
17358+ <constant name="KEY_Thai_maichattawa"
17359+ value="3563"
17360+ c:type="GDK_KEY_Thai_maichattawa">
17361+ <source-position filename="gdk/gdkkeysyms.h" line="1388"/>
17362+ <type name="gint" c:type="gint"/>
17363+ </constant>
17364+ <constant name="KEY_Thai_maiek" value="3560" c:type="GDK_KEY_Thai_maiek">
17365+ <source-position filename="gdk/gdkkeysyms.h" line="1385"/>
17366+ <type name="gint" c:type="gint"/>
17367+ </constant>
17368+ <constant name="KEY_Thai_maihanakat"
17369+ value="3537"
17370+ c:type="GDK_KEY_Thai_maihanakat">
17371+ <source-position filename="gdk/gdkkeysyms.h" line="1365"/>
17372+ <type name="gint" c:type="gint"/>
17373+ </constant>
17374+ <constant name="KEY_Thai_maihanakat_maitho"
17375+ value="3550"
17376+ c:type="GDK_KEY_Thai_maihanakat_maitho">
17377+ <source-position filename="gdk/gdkkeysyms.h" line="1375"/>
17378+ <type name="gint" c:type="gint"/>
17379+ </constant>
17380+ <constant name="KEY_Thai_maitaikhu"
17381+ value="3559"
17382+ c:type="GDK_KEY_Thai_maitaikhu">
17383+ <source-position filename="gdk/gdkkeysyms.h" line="1384"/>
17384+ <type name="gint" c:type="gint"/>
17385+ </constant>
17386+ <constant name="KEY_Thai_maitho" value="3561" c:type="GDK_KEY_Thai_maitho">
17387+ <source-position filename="gdk/gdkkeysyms.h" line="1386"/>
17388+ <type name="gint" c:type="gint"/>
17389+ </constant>
17390+ <constant name="KEY_Thai_maitri" value="3562" c:type="GDK_KEY_Thai_maitri">
17391+ <source-position filename="gdk/gdkkeysyms.h" line="1387"/>
17392+ <type name="gint" c:type="gint"/>
17393+ </constant>
17394+ <constant name="KEY_Thai_maiyamok"
17395+ value="3558"
17396+ c:type="GDK_KEY_Thai_maiyamok">
17397+ <source-position filename="gdk/gdkkeysyms.h" line="1383"/>
17398+ <type name="gint" c:type="gint"/>
17399+ </constant>
17400+ <constant name="KEY_Thai_moma" value="3521" c:type="GDK_KEY_Thai_moma">
17401+ <source-position filename="gdk/gdkkeysyms.h" line="1349"/>
17402+ <type name="gint" c:type="gint"/>
17403+ </constant>
17404+ <constant name="KEY_Thai_ngongu" value="3495" c:type="GDK_KEY_Thai_ngongu">
17405+ <source-position filename="gdk/gdkkeysyms.h" line="1323"/>
17406+ <type name="gint" c:type="gint"/>
17407+ </constant>
17408+ <constant name="KEY_Thai_nikhahit"
17409+ value="3565"
17410+ c:type="GDK_KEY_Thai_nikhahit">
17411+ <source-position filename="gdk/gdkkeysyms.h" line="1390"/>
17412+ <type name="gint" c:type="gint"/>
17413+ </constant>
17414+ <constant name="KEY_Thai_nonen" value="3507" c:type="GDK_KEY_Thai_nonen">
17415+ <source-position filename="gdk/gdkkeysyms.h" line="1335"/>
17416+ <type name="gint" c:type="gint"/>
17417+ </constant>
17418+ <constant name="KEY_Thai_nonu" value="3513" c:type="GDK_KEY_Thai_nonu">
17419+ <source-position filename="gdk/gdkkeysyms.h" line="1341"/>
17420+ <type name="gint" c:type="gint"/>
17421+ </constant>
17422+ <constant name="KEY_Thai_oang" value="3533" c:type="GDK_KEY_Thai_oang">
17423+ <source-position filename="gdk/gdkkeysyms.h" line="1361"/>
17424+ <type name="gint" c:type="gint"/>
17425+ </constant>
17426+ <constant name="KEY_Thai_paiyannoi"
17427+ value="3535"
17428+ c:type="GDK_KEY_Thai_paiyannoi">
17429+ <source-position filename="gdk/gdkkeysyms.h" line="1363"/>
17430+ <type name="gint" c:type="gint"/>
17431+ </constant>
17432+ <constant name="KEY_Thai_phinthu"
17433+ value="3546"
17434+ c:type="GDK_KEY_Thai_phinthu">
17435+ <source-position filename="gdk/gdkkeysyms.h" line="1374"/>
17436+ <type name="gint" c:type="gint"/>
17437+ </constant>
17438+ <constant name="KEY_Thai_phophan"
17439+ value="3518"
17440+ c:type="GDK_KEY_Thai_phophan">
17441+ <source-position filename="gdk/gdkkeysyms.h" line="1346"/>
17442+ <type name="gint" c:type="gint"/>
17443+ </constant>
17444+ <constant name="KEY_Thai_phophung"
17445+ value="3516"
17446+ c:type="GDK_KEY_Thai_phophung">
17447+ <source-position filename="gdk/gdkkeysyms.h" line="1344"/>
17448+ <type name="gint" c:type="gint"/>
17449+ </constant>
17450+ <constant name="KEY_Thai_phosamphao"
17451+ value="3520"
17452+ c:type="GDK_KEY_Thai_phosamphao">
17453+ <source-position filename="gdk/gdkkeysyms.h" line="1348"/>
17454+ <type name="gint" c:type="gint"/>
17455+ </constant>
17456+ <constant name="KEY_Thai_popla" value="3515" c:type="GDK_KEY_Thai_popla">
17457+ <source-position filename="gdk/gdkkeysyms.h" line="1343"/>
17458+ <type name="gint" c:type="gint"/>
17459+ </constant>
17460+ <constant name="KEY_Thai_rorua" value="3523" c:type="GDK_KEY_Thai_rorua">
17461+ <source-position filename="gdk/gdkkeysyms.h" line="1351"/>
17462+ <type name="gint" c:type="gint"/>
17463+ </constant>
17464+ <constant name="KEY_Thai_ru" value="3524" c:type="GDK_KEY_Thai_ru">
17465+ <source-position filename="gdk/gdkkeysyms.h" line="1352"/>
17466+ <type name="gint" c:type="gint"/>
17467+ </constant>
17468+ <constant name="KEY_Thai_saraa" value="3536" c:type="GDK_KEY_Thai_saraa">
17469+ <source-position filename="gdk/gdkkeysyms.h" line="1364"/>
17470+ <type name="gint" c:type="gint"/>
17471+ </constant>
17472+ <constant name="KEY_Thai_saraaa" value="3538" c:type="GDK_KEY_Thai_saraaa">
17473+ <source-position filename="gdk/gdkkeysyms.h" line="1366"/>
17474+ <type name="gint" c:type="gint"/>
17475+ </constant>
17476+ <constant name="KEY_Thai_saraae" value="3553" c:type="GDK_KEY_Thai_saraae">
17477+ <source-position filename="gdk/gdkkeysyms.h" line="1378"/>
17478+ <type name="gint" c:type="gint"/>
17479+ </constant>
17480+ <constant name="KEY_Thai_saraaimaimalai"
17481+ value="3556"
17482+ c:type="GDK_KEY_Thai_saraaimaimalai">
17483+ <source-position filename="gdk/gdkkeysyms.h" line="1381"/>
17484+ <type name="gint" c:type="gint"/>
17485+ </constant>
17486+ <constant name="KEY_Thai_saraaimaimuan"
17487+ value="3555"
17488+ c:type="GDK_KEY_Thai_saraaimaimuan">
17489+ <source-position filename="gdk/gdkkeysyms.h" line="1380"/>
17490+ <type name="gint" c:type="gint"/>
17491+ </constant>
17492+ <constant name="KEY_Thai_saraam" value="3539" c:type="GDK_KEY_Thai_saraam">
17493+ <source-position filename="gdk/gdkkeysyms.h" line="1367"/>
17494+ <type name="gint" c:type="gint"/>
17495+ </constant>
17496+ <constant name="KEY_Thai_sarae" value="3552" c:type="GDK_KEY_Thai_sarae">
17497+ <source-position filename="gdk/gdkkeysyms.h" line="1377"/>
17498+ <type name="gint" c:type="gint"/>
17499+ </constant>
17500+ <constant name="KEY_Thai_sarai" value="3540" c:type="GDK_KEY_Thai_sarai">
17501+ <source-position filename="gdk/gdkkeysyms.h" line="1368"/>
17502+ <type name="gint" c:type="gint"/>
17503+ </constant>
17504+ <constant name="KEY_Thai_saraii" value="3541" c:type="GDK_KEY_Thai_saraii">
17505+ <source-position filename="gdk/gdkkeysyms.h" line="1369"/>
17506+ <type name="gint" c:type="gint"/>
17507+ </constant>
17508+ <constant name="KEY_Thai_sarao" value="3554" c:type="GDK_KEY_Thai_sarao">
17509+ <source-position filename="gdk/gdkkeysyms.h" line="1379"/>
17510+ <type name="gint" c:type="gint"/>
17511+ </constant>
17512+ <constant name="KEY_Thai_sarau" value="3544" c:type="GDK_KEY_Thai_sarau">
17513+ <source-position filename="gdk/gdkkeysyms.h" line="1372"/>
17514+ <type name="gint" c:type="gint"/>
17515+ </constant>
17516+ <constant name="KEY_Thai_saraue" value="3542" c:type="GDK_KEY_Thai_saraue">
17517+ <source-position filename="gdk/gdkkeysyms.h" line="1370"/>
17518+ <type name="gint" c:type="gint"/>
17519+ </constant>
17520+ <constant name="KEY_Thai_sarauee"
17521+ value="3543"
17522+ c:type="GDK_KEY_Thai_sarauee">
17523+ <source-position filename="gdk/gdkkeysyms.h" line="1371"/>
17524+ <type name="gint" c:type="gint"/>
17525+ </constant>
17526+ <constant name="KEY_Thai_sarauu" value="3545" c:type="GDK_KEY_Thai_sarauu">
17527+ <source-position filename="gdk/gdkkeysyms.h" line="1373"/>
17528+ <type name="gint" c:type="gint"/>
17529+ </constant>
17530+ <constant name="KEY_Thai_sorusi" value="3529" c:type="GDK_KEY_Thai_sorusi">
17531+ <source-position filename="gdk/gdkkeysyms.h" line="1357"/>
17532+ <type name="gint" c:type="gint"/>
17533+ </constant>
17534+ <constant name="KEY_Thai_sosala" value="3528" c:type="GDK_KEY_Thai_sosala">
17535+ <source-position filename="gdk/gdkkeysyms.h" line="1356"/>
17536+ <type name="gint" c:type="gint"/>
17537+ </constant>
17538+ <constant name="KEY_Thai_soso" value="3499" c:type="GDK_KEY_Thai_soso">
17539+ <source-position filename="gdk/gdkkeysyms.h" line="1327"/>
17540+ <type name="gint" c:type="gint"/>
17541+ </constant>
17542+ <constant name="KEY_Thai_sosua" value="3530" c:type="GDK_KEY_Thai_sosua">
17543+ <source-position filename="gdk/gdkkeysyms.h" line="1358"/>
17544+ <type name="gint" c:type="gint"/>
17545+ </constant>
17546+ <constant name="KEY_Thai_thanthakhat"
17547+ value="3564"
17548+ c:type="GDK_KEY_Thai_thanthakhat">
17549+ <source-position filename="gdk/gdkkeysyms.h" line="1389"/>
17550+ <type name="gint" c:type="gint"/>
17551+ </constant>
17552+ <constant name="KEY_Thai_thonangmontho"
17553+ value="3505"
17554+ c:type="GDK_KEY_Thai_thonangmontho">
17555+ <source-position filename="gdk/gdkkeysyms.h" line="1333"/>
17556+ <type name="gint" c:type="gint"/>
17557+ </constant>
17558+ <constant name="KEY_Thai_thophuthao"
17559+ value="3506"
17560+ c:type="GDK_KEY_Thai_thophuthao">
17561+ <source-position filename="gdk/gdkkeysyms.h" line="1334"/>
17562+ <type name="gint" c:type="gint"/>
17563+ </constant>
17564+ <constant name="KEY_Thai_thothahan"
17565+ value="3511"
17566+ c:type="GDK_KEY_Thai_thothahan">
17567+ <source-position filename="gdk/gdkkeysyms.h" line="1339"/>
17568+ <type name="gint" c:type="gint"/>
17569+ </constant>
17570+ <constant name="KEY_Thai_thothan"
17571+ value="3504"
17572+ c:type="GDK_KEY_Thai_thothan">
17573+ <source-position filename="gdk/gdkkeysyms.h" line="1332"/>
17574+ <type name="gint" c:type="gint"/>
17575+ </constant>
17576+ <constant name="KEY_Thai_thothong"
17577+ value="3512"
17578+ c:type="GDK_KEY_Thai_thothong">
17579+ <source-position filename="gdk/gdkkeysyms.h" line="1340"/>
17580+ <type name="gint" c:type="gint"/>
17581+ </constant>
17582+ <constant name="KEY_Thai_thothung"
17583+ value="3510"
17584+ c:type="GDK_KEY_Thai_thothung">
17585+ <source-position filename="gdk/gdkkeysyms.h" line="1338"/>
17586+ <type name="gint" c:type="gint"/>
17587+ </constant>
17588+ <constant name="KEY_Thai_topatak"
17589+ value="3503"
17590+ c:type="GDK_KEY_Thai_topatak">
17591+ <source-position filename="gdk/gdkkeysyms.h" line="1331"/>
17592+ <type name="gint" c:type="gint"/>
17593+ </constant>
17594+ <constant name="KEY_Thai_totao" value="3509" c:type="GDK_KEY_Thai_totao">
17595+ <source-position filename="gdk/gdkkeysyms.h" line="1337"/>
17596+ <type name="gint" c:type="gint"/>
17597+ </constant>
17598+ <constant name="KEY_Thai_wowaen" value="3527" c:type="GDK_KEY_Thai_wowaen">
17599+ <source-position filename="gdk/gdkkeysyms.h" line="1355"/>
17600+ <type name="gint" c:type="gint"/>
17601+ </constant>
17602+ <constant name="KEY_Thai_yoyak" value="3522" c:type="GDK_KEY_Thai_yoyak">
17603+ <source-position filename="gdk/gdkkeysyms.h" line="1350"/>
17604+ <type name="gint" c:type="gint"/>
17605+ </constant>
17606+ <constant name="KEY_Thai_yoying" value="3501" c:type="GDK_KEY_Thai_yoying">
17607+ <source-position filename="gdk/gdkkeysyms.h" line="1329"/>
17608+ <type name="gint" c:type="gint"/>
17609+ </constant>
17610+ <constant name="KEY_Thorn" value="222" c:type="GDK_KEY_Thorn">
17611+ <source-position filename="gdk/gdkkeysyms.h" line="547"/>
17612+ <type name="gint" c:type="gint"/>
17613+ </constant>
17614+ <constant name="KEY_Time" value="269025183" c:type="GDK_KEY_Time">
17615+ <source-position filename="gdk/gdkkeysyms.h" line="2281"/>
17616+ <type name="gint" c:type="gint"/>
17617+ </constant>
17618+ <constant name="KEY_ToDoList" value="269025055" c:type="GDK_KEY_ToDoList">
17619+ <source-position filename="gdk/gdkkeysyms.h" line="2159"/>
17620+ <type name="gint" c:type="gint"/>
17621+ </constant>
17622+ <constant name="KEY_Tools" value="269025153" c:type="GDK_KEY_Tools">
17623+ <source-position filename="gdk/gdkkeysyms.h" line="2252"/>
17624+ <type name="gint" c:type="gint"/>
17625+ </constant>
17626+ <constant name="KEY_TopMenu" value="269025186" c:type="GDK_KEY_TopMenu">
17627+ <source-position filename="gdk/gdkkeysyms.h" line="2284"/>
17628+ <type name="gint" c:type="gint"/>
17629+ </constant>
17630+ <constant name="KEY_TouchpadOff"
17631+ value="269025201"
17632+ c:type="GDK_KEY_TouchpadOff">
17633+ <source-position filename="gdk/gdkkeysyms.h" line="2293"/>
17634+ <type name="gint" c:type="gint"/>
17635+ </constant>
17636+ <constant name="KEY_TouchpadOn"
17637+ value="269025200"
17638+ c:type="GDK_KEY_TouchpadOn">
17639+ <source-position filename="gdk/gdkkeysyms.h" line="2292"/>
17640+ <type name="gint" c:type="gint"/>
17641+ </constant>
17642+ <constant name="KEY_TouchpadToggle"
17643+ value="269025193"
17644+ c:type="GDK_KEY_TouchpadToggle">
17645+ <source-position filename="gdk/gdkkeysyms.h" line="2291"/>
17646+ <type name="gint" c:type="gint"/>
17647+ </constant>
17648+ <constant name="KEY_Touroku" value="65323" c:type="GDK_KEY_Touroku">
17649+ <source-position filename="gdk/gdkkeysyms.h" line="66"/>
17650+ <type name="gint" c:type="gint"/>
17651+ </constant>
17652+ <constant name="KEY_Travel" value="269025154" c:type="GDK_KEY_Travel">
17653+ <source-position filename="gdk/gdkkeysyms.h" line="2253"/>
17654+ <type name="gint" c:type="gint"/>
17655+ </constant>
17656+ <constant name="KEY_Tslash" value="940" c:type="GDK_KEY_Tslash">
17657+ <source-position filename="gdk/gdkkeysyms.h" line="668"/>
17658+ <type name="gint" c:type="gint"/>
17659+ </constant>
17660+ <constant name="KEY_U" value="85" c:type="GDK_KEY_U">
17661+ <source-position filename="gdk/gdkkeysyms.h" line="439"/>
17662+ <type name="gint" c:type="gint"/>
17663+ </constant>
17664+ <constant name="KEY_UWB" value="269025174" c:type="GDK_KEY_UWB">
17665+ <source-position filename="gdk/gdkkeysyms.h" line="2272"/>
17666+ <type name="gint" c:type="gint"/>
17667+ </constant>
17668+ <constant name="KEY_Uacute" value="218" c:type="GDK_KEY_Uacute">
17669+ <source-position filename="gdk/gdkkeysyms.h" line="542"/>
17670+ <type name="gint" c:type="gint"/>
17671+ </constant>
17672+ <constant name="KEY_Ubelowdot" value="16785124" c:type="GDK_KEY_Ubelowdot">
17673+ <source-position filename="gdk/gdkkeysyms.h" line="1723"/>
17674+ <type name="gint" c:type="gint"/>
17675+ </constant>
17676+ <constant name="KEY_Ubreve" value="733" c:type="GDK_KEY_Ubreve">
17677+ <source-position filename="gdk/gdkkeysyms.h" line="653"/>
17678+ <type name="gint" c:type="gint"/>
17679+ </constant>
17680+ <constant name="KEY_Ucircumflex" value="219" c:type="GDK_KEY_Ucircumflex">
17681+ <source-position filename="gdk/gdkkeysyms.h" line="543"/>
17682+ <type name="gint" c:type="gint"/>
17683+ </constant>
17684+ <constant name="KEY_Udiaeresis" value="220" c:type="GDK_KEY_Udiaeresis">
17685+ <source-position filename="gdk/gdkkeysyms.h" line="544"/>
17686+ <type name="gint" c:type="gint"/>
17687+ </constant>
17688+ <constant name="KEY_Udoubleacute"
17689+ value="475"
17690+ c:type="GDK_KEY_Udoubleacute">
17691+ <source-position filename="gdk/gdkkeysyms.h" line="620"/>
17692+ <type name="gint" c:type="gint"/>
17693+ </constant>
17694+ <constant name="KEY_Ugrave" value="217" c:type="GDK_KEY_Ugrave">
17695+ <source-position filename="gdk/gdkkeysyms.h" line="541"/>
17696+ <type name="gint" c:type="gint"/>
17697+ </constant>
17698+ <constant name="KEY_Uhook" value="16785126" c:type="GDK_KEY_Uhook">
17699+ <source-position filename="gdk/gdkkeysyms.h" line="1725"/>
17700+ <type name="gint" c:type="gint"/>
17701+ </constant>
17702+ <constant name="KEY_Uhorn" value="16777647" c:type="GDK_KEY_Uhorn">
17703+ <source-position filename="gdk/gdkkeysyms.h" line="1745"/>
17704+ <type name="gint" c:type="gint"/>
17705+ </constant>
17706+ <constant name="KEY_Uhornacute"
17707+ value="16785128"
17708+ c:type="GDK_KEY_Uhornacute">
17709+ <source-position filename="gdk/gdkkeysyms.h" line="1727"/>
17710+ <type name="gint" c:type="gint"/>
17711+ </constant>
17712+ <constant name="KEY_Uhornbelowdot"
17713+ value="16785136"
17714+ c:type="GDK_KEY_Uhornbelowdot">
17715+ <source-position filename="gdk/gdkkeysyms.h" line="1735"/>
17716+ <type name="gint" c:type="gint"/>
17717+ </constant>
17718+ <constant name="KEY_Uhorngrave"
17719+ value="16785130"
17720+ c:type="GDK_KEY_Uhorngrave">
17721+ <source-position filename="gdk/gdkkeysyms.h" line="1729"/>
17722+ <type name="gint" c:type="gint"/>
17723+ </constant>
17724+ <constant name="KEY_Uhornhook" value="16785132" c:type="GDK_KEY_Uhornhook">
17725+ <source-position filename="gdk/gdkkeysyms.h" line="1731"/>
17726+ <type name="gint" c:type="gint"/>
17727+ </constant>
17728+ <constant name="KEY_Uhorntilde"
17729+ value="16785134"
17730+ c:type="GDK_KEY_Uhorntilde">
17731+ <source-position filename="gdk/gdkkeysyms.h" line="1733"/>
17732+ <type name="gint" c:type="gint"/>
17733+ </constant>
17734+ <constant name="KEY_Ukrainian_GHE_WITH_UPTURN"
17735+ value="1725"
17736+ c:type="GDK_KEY_Ukrainian_GHE_WITH_UPTURN">
17737+ <source-position filename="gdk/gdkkeysyms.h" line="958"/>
17738+ <type name="gint" c:type="gint"/>
17739+ </constant>
17740+ <constant name="KEY_Ukrainian_I" value="1718" c:type="GDK_KEY_Ukrainian_I">
17741+ <source-position filename="gdk/gdkkeysyms.h" line="946"/>
17742+ <type name="gint" c:type="gint"/>
17743+ </constant>
17744+ <constant name="KEY_Ukrainian_IE"
17745+ value="1716"
17746+ c:type="GDK_KEY_Ukrainian_IE">
17747+ <source-position filename="gdk/gdkkeysyms.h" line="943"/>
17748+ <type name="gint" c:type="gint"/>
17749+ </constant>
17750+ <constant name="KEY_Ukrainian_YI"
17751+ value="1719"
17752+ c:type="GDK_KEY_Ukrainian_YI">
17753+ <source-position filename="gdk/gdkkeysyms.h" line="948"/>
17754+ <type name="gint" c:type="gint"/>
17755+ </constant>
17756+ <constant name="KEY_Ukrainian_ghe_with_upturn"
17757+ value="1709"
17758+ c:type="GDK_KEY_Ukrainian_ghe_with_upturn">
17759+ <source-position filename="gdk/gdkkeysyms.h" line="935"/>
17760+ <type name="gint" c:type="gint"/>
17761+ </constant>
17762+ <constant name="KEY_Ukrainian_i" value="1702" c:type="GDK_KEY_Ukrainian_i">
17763+ <source-position filename="gdk/gdkkeysyms.h" line="923"/>
17764+ <type name="gint" c:type="gint"/>
17765+ </constant>
17766+ <constant name="KEY_Ukrainian_ie"
17767+ value="1700"
17768+ c:type="GDK_KEY_Ukrainian_ie">
17769+ <source-position filename="gdk/gdkkeysyms.h" line="920"/>
17770+ <type name="gint" c:type="gint"/>
17771+ </constant>
17772+ <constant name="KEY_Ukrainian_yi"
17773+ value="1703"
17774+ c:type="GDK_KEY_Ukrainian_yi">
17775+ <source-position filename="gdk/gdkkeysyms.h" line="925"/>
17776+ <type name="gint" c:type="gint"/>
17777+ </constant>
17778+ <constant name="KEY_Ukranian_I" value="1718" c:type="GDK_KEY_Ukranian_I">
17779+ <source-position filename="gdk/gdkkeysyms.h" line="947"/>
17780+ <type name="gint" c:type="gint"/>
17781+ </constant>
17782+ <constant name="KEY_Ukranian_JE" value="1716" c:type="GDK_KEY_Ukranian_JE">
17783+ <source-position filename="gdk/gdkkeysyms.h" line="944"/>
17784+ <type name="gint" c:type="gint"/>
17785+ </constant>
17786+ <constant name="KEY_Ukranian_YI" value="1719" c:type="GDK_KEY_Ukranian_YI">
17787+ <source-position filename="gdk/gdkkeysyms.h" line="949"/>
17788+ <type name="gint" c:type="gint"/>
17789+ </constant>
17790+ <constant name="KEY_Ukranian_i" value="1702" c:type="GDK_KEY_Ukranian_i">
17791+ <source-position filename="gdk/gdkkeysyms.h" line="924"/>
17792+ <type name="gint" c:type="gint"/>
17793+ </constant>
17794+ <constant name="KEY_Ukranian_je" value="1700" c:type="GDK_KEY_Ukranian_je">
17795+ <source-position filename="gdk/gdkkeysyms.h" line="921"/>
17796+ <type name="gint" c:type="gint"/>
17797+ </constant>
17798+ <constant name="KEY_Ukranian_yi" value="1703" c:type="GDK_KEY_Ukranian_yi">
17799+ <source-position filename="gdk/gdkkeysyms.h" line="926"/>
17800+ <type name="gint" c:type="gint"/>
17801+ </constant>
17802+ <constant name="KEY_Umacron" value="990" c:type="GDK_KEY_Umacron">
17803+ <source-position filename="gdk/gdkkeysyms.h" line="686"/>
17804+ <type name="gint" c:type="gint"/>
17805+ </constant>
17806+ <constant name="KEY_Undo" value="65381" c:type="GDK_KEY_Undo">
17807+ <source-position filename="gdk/gdkkeysyms.h" line="90"/>
17808+ <type name="gint" c:type="gint"/>
17809+ </constant>
17810+ <constant name="KEY_Ungrab" value="269024800" c:type="GDK_KEY_Ungrab">
17811+ <source-position filename="gdk/gdkkeysyms.h" line="2311"/>
17812+ <type name="gint" c:type="gint"/>
17813+ </constant>
17814+ <constant name="KEY_Uogonek" value="985" c:type="GDK_KEY_Uogonek">
17815+ <source-position filename="gdk/gdkkeysyms.h" line="684"/>
17816+ <type name="gint" c:type="gint"/>
17817+ </constant>
17818+ <constant name="KEY_Up" value="65362" c:type="GDK_KEY_Up">
17819+ <source-position filename="gdk/gdkkeysyms.h" line="77"/>
17820+ <type name="gint" c:type="gint"/>
17821+ </constant>
17822+ <constant name="KEY_Uring" value="473" c:type="GDK_KEY_Uring">
17823+ <source-position filename="gdk/gdkkeysyms.h" line="619"/>
17824+ <type name="gint" c:type="gint"/>
17825+ </constant>
17826+ <constant name="KEY_User1KB" value="269025157" c:type="GDK_KEY_User1KB">
17827+ <source-position filename="gdk/gdkkeysyms.h" line="2255"/>
17828+ <type name="gint" c:type="gint"/>
17829+ </constant>
17830+ <constant name="KEY_User2KB" value="269025158" c:type="GDK_KEY_User2KB">
17831+ <source-position filename="gdk/gdkkeysyms.h" line="2256"/>
17832+ <type name="gint" c:type="gint"/>
17833+ </constant>
17834+ <constant name="KEY_UserPB" value="269025156" c:type="GDK_KEY_UserPB">
17835+ <source-position filename="gdk/gdkkeysyms.h" line="2254"/>
17836+ <type name="gint" c:type="gint"/>
17837+ </constant>
17838+ <constant name="KEY_Utilde" value="989" c:type="GDK_KEY_Utilde">
17839+ <source-position filename="gdk/gdkkeysyms.h" line="685"/>
17840+ <type name="gint" c:type="gint"/>
17841+ </constant>
17842+ <constant name="KEY_V" value="86" c:type="GDK_KEY_V">
17843+ <source-position filename="gdk/gdkkeysyms.h" line="440"/>
17844+ <type name="gint" c:type="gint"/>
17845+ </constant>
17846+ <constant name="KEY_VendorHome"
17847+ value="269025076"
17848+ c:type="GDK_KEY_VendorHome">
17849+ <source-position filename="gdk/gdkkeysyms.h" line="2180"/>
17850+ <type name="gint" c:type="gint"/>
17851+ </constant>
17852+ <constant name="KEY_Video" value="269025159" c:type="GDK_KEY_Video">
17853+ <source-position filename="gdk/gdkkeysyms.h" line="2257"/>
17854+ <type name="gint" c:type="gint"/>
17855+ </constant>
17856+ <constant name="KEY_View" value="269025185" c:type="GDK_KEY_View">
17857+ <source-position filename="gdk/gdkkeysyms.h" line="2283"/>
17858+ <type name="gint" c:type="gint"/>
17859+ </constant>
17860+ <constant name="KEY_VoidSymbol"
17861+ value="16777215"
17862+ c:type="GDK_KEY_VoidSymbol">
17863+ <source-position filename="gdk/gdkkeysyms.h" line="39"/>
17864+ <type name="gint" c:type="gint"/>
17865+ </constant>
17866+ <constant name="KEY_W" value="87" c:type="GDK_KEY_W">
17867+ <source-position filename="gdk/gdkkeysyms.h" line="441"/>
17868+ <type name="gint" c:type="gint"/>
17869+ </constant>
17870+ <constant name="KEY_WLAN" value="269025173" c:type="GDK_KEY_WLAN">
17871+ <source-position filename="gdk/gdkkeysyms.h" line="2271"/>
17872+ <type name="gint" c:type="gint"/>
17873+ </constant>
17874+ <constant name="KEY_WWAN" value="269025204" c:type="GDK_KEY_WWAN">
17875+ <source-position filename="gdk/gdkkeysyms.h" line="2296"/>
17876+ <type name="gint" c:type="gint"/>
17877+ </constant>
17878+ <constant name="KEY_WWW" value="269025070" c:type="GDK_KEY_WWW">
17879+ <source-position filename="gdk/gdkkeysyms.h" line="2174"/>
17880+ <type name="gint" c:type="gint"/>
17881+ </constant>
17882+ <constant name="KEY_Wacute" value="16785026" c:type="GDK_KEY_Wacute">
17883+ <source-position filename="gdk/gdkkeysyms.h" line="717"/>
17884+ <type name="gint" c:type="gint"/>
17885+ </constant>
17886+ <constant name="KEY_WakeUp" value="269025067" c:type="GDK_KEY_WakeUp">
17887+ <source-position filename="gdk/gdkkeysyms.h" line="2171"/>
17888+ <type name="gint" c:type="gint"/>
17889+ </constant>
17890+ <constant name="KEY_Wcircumflex"
17891+ value="16777588"
17892+ c:type="GDK_KEY_Wcircumflex">
17893+ <source-position filename="gdk/gdkkeysyms.h" line="697"/>
17894+ <type name="gint" c:type="gint"/>
17895+ </constant>
17896+ <constant name="KEY_Wdiaeresis"
17897+ value="16785028"
17898+ c:type="GDK_KEY_Wdiaeresis">
17899+ <source-position filename="gdk/gdkkeysyms.h" line="719"/>
17900+ <type name="gint" c:type="gint"/>
17901+ </constant>
17902+ <constant name="KEY_WebCam" value="269025167" c:type="GDK_KEY_WebCam">
17903+ <source-position filename="gdk/gdkkeysyms.h" line="2265"/>
17904+ <type name="gint" c:type="gint"/>
17905+ </constant>
17906+ <constant name="KEY_Wgrave" value="16785024" c:type="GDK_KEY_Wgrave">
17907+ <source-position filename="gdk/gdkkeysyms.h" line="715"/>
17908+ <type name="gint" c:type="gint"/>
17909+ </constant>
17910+ <constant name="KEY_WheelButton"
17911+ value="269025160"
17912+ c:type="GDK_KEY_WheelButton">
17913+ <source-position filename="gdk/gdkkeysyms.h" line="2258"/>
17914+ <type name="gint" c:type="gint"/>
17915+ </constant>
17916+ <constant name="KEY_WindowClear"
17917+ value="269025109"
17918+ c:type="GDK_KEY_WindowClear">
17919+ <source-position filename="gdk/gdkkeysyms.h" line="2212"/>
17920+ <type name="gint" c:type="gint"/>
17921+ </constant>
17922+ <constant name="KEY_WonSign" value="16785577" c:type="GDK_KEY_WonSign">
17923+ <source-position filename="gdk/gdkkeysyms.h" line="1756"/>
17924+ <type name="gint" c:type="gint"/>
17925+ </constant>
17926+ <constant name="KEY_Word" value="269025161" c:type="GDK_KEY_Word">
17927+ <source-position filename="gdk/gdkkeysyms.h" line="2259"/>
17928+ <type name="gint" c:type="gint"/>
17929+ </constant>
17930+ <constant name="KEY_X" value="88" c:type="GDK_KEY_X">
17931+ <source-position filename="gdk/gdkkeysyms.h" line="442"/>
17932+ <type name="gint" c:type="gint"/>
17933+ </constant>
17934+ <constant name="KEY_Xabovedot" value="16785034" c:type="GDK_KEY_Xabovedot">
17935+ <source-position filename="gdk/gdkkeysyms.h" line="1637"/>
17936+ <type name="gint" c:type="gint"/>
17937+ </constant>
17938+ <constant name="KEY_Xfer" value="269025162" c:type="GDK_KEY_Xfer">
17939+ <source-position filename="gdk/gdkkeysyms.h" line="2260"/>
17940+ <type name="gint" c:type="gint"/>
17941+ </constant>
17942+ <constant name="KEY_Y" value="89" c:type="GDK_KEY_Y">
17943+ <source-position filename="gdk/gdkkeysyms.h" line="443"/>
17944+ <type name="gint" c:type="gint"/>
17945+ </constant>
17946+ <constant name="KEY_Yacute" value="221" c:type="GDK_KEY_Yacute">
17947+ <source-position filename="gdk/gdkkeysyms.h" line="545"/>
17948+ <type name="gint" c:type="gint"/>
17949+ </constant>
17950+ <constant name="KEY_Ybelowdot" value="16785140" c:type="GDK_KEY_Ybelowdot">
17951+ <source-position filename="gdk/gdkkeysyms.h" line="1737"/>
17952+ <type name="gint" c:type="gint"/>
17953+ </constant>
17954+ <constant name="KEY_Ycircumflex"
17955+ value="16777590"
17956+ c:type="GDK_KEY_Ycircumflex">
17957+ <source-position filename="gdk/gdkkeysyms.h" line="699"/>
17958+ <type name="gint" c:type="gint"/>
17959+ </constant>
17960+ <constant name="KEY_Ydiaeresis" value="5054" c:type="GDK_KEY_Ydiaeresis">
17961+ <source-position filename="gdk/gdkkeysyms.h" line="725"/>
17962+ <type name="gint" c:type="gint"/>
17963+ </constant>
17964+ <constant name="KEY_Yellow" value="269025189" c:type="GDK_KEY_Yellow">
17965+ <source-position filename="gdk/gdkkeysyms.h" line="2287"/>
17966+ <type name="gint" c:type="gint"/>
17967+ </constant>
17968+ <constant name="KEY_Ygrave" value="16785138" c:type="GDK_KEY_Ygrave">
17969+ <source-position filename="gdk/gdkkeysyms.h" line="721"/>
17970+ <type name="gint" c:type="gint"/>
17971+ </constant>
17972+ <constant name="KEY_Yhook" value="16785142" c:type="GDK_KEY_Yhook">
17973+ <source-position filename="gdk/gdkkeysyms.h" line="1739"/>
17974+ <type name="gint" c:type="gint"/>
17975+ </constant>
17976+ <constant name="KEY_Ytilde" value="16785144" c:type="GDK_KEY_Ytilde">
17977+ <source-position filename="gdk/gdkkeysyms.h" line="1741"/>
17978+ <type name="gint" c:type="gint"/>
17979+ </constant>
17980+ <constant name="KEY_Z" value="90" c:type="GDK_KEY_Z">
17981+ <source-position filename="gdk/gdkkeysyms.h" line="444"/>
17982+ <type name="gint" c:type="gint"/>
17983+ </constant>
17984+ <constant name="KEY_Zabovedot" value="431" c:type="GDK_KEY_Zabovedot">
17985+ <source-position filename="gdk/gdkkeysyms.h" line="592"/>
17986+ <type name="gint" c:type="gint"/>
17987+ </constant>
17988+ <constant name="KEY_Zacute" value="428" c:type="GDK_KEY_Zacute">
17989+ <source-position filename="gdk/gdkkeysyms.h" line="590"/>
17990+ <type name="gint" c:type="gint"/>
17991+ </constant>
17992+ <constant name="KEY_Zcaron" value="430" c:type="GDK_KEY_Zcaron">
17993+ <source-position filename="gdk/gdkkeysyms.h" line="591"/>
17994+ <type name="gint" c:type="gint"/>
17995+ </constant>
17996+ <constant name="KEY_Zen_Koho" value="65341" c:type="GDK_KEY_Zen_Koho">
17997+ <source-position filename="gdk/gdkkeysyms.h" line="73"/>
17998+ <type name="gint" c:type="gint"/>
17999+ </constant>
18000+ <constant name="KEY_Zenkaku" value="65320" c:type="GDK_KEY_Zenkaku">
18001+ <source-position filename="gdk/gdkkeysyms.h" line="63"/>
18002+ <type name="gint" c:type="gint"/>
18003+ </constant>
18004+ <constant name="KEY_Zenkaku_Hankaku"
18005+ value="65322"
18006+ c:type="GDK_KEY_Zenkaku_Hankaku">
18007+ <source-position filename="gdk/gdkkeysyms.h" line="65"/>
18008+ <type name="gint" c:type="gint"/>
18009+ </constant>
18010+ <constant name="KEY_ZoomIn" value="269025163" c:type="GDK_KEY_ZoomIn">
18011+ <source-position filename="gdk/gdkkeysyms.h" line="2261"/>
18012+ <type name="gint" c:type="gint"/>
18013+ </constant>
18014+ <constant name="KEY_ZoomOut" value="269025164" c:type="GDK_KEY_ZoomOut">
18015+ <source-position filename="gdk/gdkkeysyms.h" line="2262"/>
18016+ <type name="gint" c:type="gint"/>
18017+ </constant>
18018+ <constant name="KEY_Zstroke" value="16777653" c:type="GDK_KEY_Zstroke">
18019+ <source-position filename="gdk/gdkkeysyms.h" line="1639"/>
18020+ <type name="gint" c:type="gint"/>
18021+ </constant>
18022+ <constant name="KEY_a" value="97" c:type="GDK_KEY_a">
18023+ <source-position filename="gdk/gdkkeysyms.h" line="452"/>
18024+ <type name="gint" c:type="gint"/>
18025+ </constant>
18026+ <constant name="KEY_aacute" value="225" c:type="GDK_KEY_aacute">
18027+ <source-position filename="gdk/gdkkeysyms.h" line="550"/>
18028+ <type name="gint" c:type="gint"/>
18029+ </constant>
18030+ <constant name="KEY_abelowdot" value="16785057" c:type="GDK_KEY_abelowdot">
18031+ <source-position filename="gdk/gdkkeysyms.h" line="1656"/>
18032+ <type name="gint" c:type="gint"/>
18033+ </constant>
18034+ <constant name="KEY_abovedot" value="511" c:type="GDK_KEY_abovedot">
18035+ <source-position filename="gdk/gdkkeysyms.h" line="638"/>
18036+ <type name="gint" c:type="gint"/>
18037+ </constant>
18038+ <constant name="KEY_abreve" value="483" c:type="GDK_KEY_abreve">
18039+ <source-position filename="gdk/gdkkeysyms.h" line="623"/>
18040+ <type name="gint" c:type="gint"/>
18041+ </constant>
18042+ <constant name="KEY_abreveacute"
18043+ value="16785071"
18044+ c:type="GDK_KEY_abreveacute">
18045+ <source-position filename="gdk/gdkkeysyms.h" line="1670"/>
18046+ <type name="gint" c:type="gint"/>
18047+ </constant>
18048+ <constant name="KEY_abrevebelowdot"
18049+ value="16785079"
18050+ c:type="GDK_KEY_abrevebelowdot">
18051+ <source-position filename="gdk/gdkkeysyms.h" line="1678"/>
18052+ <type name="gint" c:type="gint"/>
18053+ </constant>
18054+ <constant name="KEY_abrevegrave"
18055+ value="16785073"
18056+ c:type="GDK_KEY_abrevegrave">
18057+ <source-position filename="gdk/gdkkeysyms.h" line="1672"/>
18058+ <type name="gint" c:type="gint"/>
18059+ </constant>
18060+ <constant name="KEY_abrevehook"
18061+ value="16785075"
18062+ c:type="GDK_KEY_abrevehook">
18063+ <source-position filename="gdk/gdkkeysyms.h" line="1674"/>
18064+ <type name="gint" c:type="gint"/>
18065+ </constant>
18066+ <constant name="KEY_abrevetilde"
18067+ value="16785077"
18068+ c:type="GDK_KEY_abrevetilde">
18069+ <source-position filename="gdk/gdkkeysyms.h" line="1676"/>
18070+ <type name="gint" c:type="gint"/>
18071+ </constant>
18072+ <constant name="KEY_acircumflex" value="226" c:type="GDK_KEY_acircumflex">
18073+ <source-position filename="gdk/gdkkeysyms.h" line="551"/>
18074+ <type name="gint" c:type="gint"/>
18075+ </constant>
18076+ <constant name="KEY_acircumflexacute"
18077+ value="16785061"
18078+ c:type="GDK_KEY_acircumflexacute">
18079+ <source-position filename="gdk/gdkkeysyms.h" line="1660"/>
18080+ <type name="gint" c:type="gint"/>
18081+ </constant>
18082+ <constant name="KEY_acircumflexbelowdot"
18083+ value="16785069"
18084+ c:type="GDK_KEY_acircumflexbelowdot">
18085+ <source-position filename="gdk/gdkkeysyms.h" line="1668"/>
18086+ <type name="gint" c:type="gint"/>
18087+ </constant>
18088+ <constant name="KEY_acircumflexgrave"
18089+ value="16785063"
18090+ c:type="GDK_KEY_acircumflexgrave">
18091+ <source-position filename="gdk/gdkkeysyms.h" line="1662"/>
18092+ <type name="gint" c:type="gint"/>
18093+ </constant>
18094+ <constant name="KEY_acircumflexhook"
18095+ value="16785065"
18096+ c:type="GDK_KEY_acircumflexhook">
18097+ <source-position filename="gdk/gdkkeysyms.h" line="1664"/>
18098+ <type name="gint" c:type="gint"/>
18099+ </constant>
18100+ <constant name="KEY_acircumflextilde"
18101+ value="16785067"
18102+ c:type="GDK_KEY_acircumflextilde">
18103+ <source-position filename="gdk/gdkkeysyms.h" line="1666"/>
18104+ <type name="gint" c:type="gint"/>
18105+ </constant>
18106+ <constant name="KEY_acute" value="180" c:type="GDK_KEY_acute">
18107+ <source-position filename="gdk/gdkkeysyms.h" line="502"/>
18108+ <type name="gint" c:type="gint"/>
18109+ </constant>
18110+ <constant name="KEY_adiaeresis" value="228" c:type="GDK_KEY_adiaeresis">
18111+ <source-position filename="gdk/gdkkeysyms.h" line="553"/>
18112+ <type name="gint" c:type="gint"/>
18113+ </constant>
18114+ <constant name="KEY_ae" value="230" c:type="GDK_KEY_ae">
18115+ <source-position filename="gdk/gdkkeysyms.h" line="555"/>
18116+ <type name="gint" c:type="gint"/>
18117+ </constant>
18118+ <constant name="KEY_agrave" value="224" c:type="GDK_KEY_agrave">
18119+ <source-position filename="gdk/gdkkeysyms.h" line="549"/>
18120+ <type name="gint" c:type="gint"/>
18121+ </constant>
18122+ <constant name="KEY_ahook" value="16785059" c:type="GDK_KEY_ahook">
18123+ <source-position filename="gdk/gdkkeysyms.h" line="1658"/>
18124+ <type name="gint" c:type="gint"/>
18125+ </constant>
18126+ <constant name="KEY_amacron" value="992" c:type="GDK_KEY_amacron">
18127+ <source-position filename="gdk/gdkkeysyms.h" line="687"/>
18128+ <type name="gint" c:type="gint"/>
18129+ </constant>
18130+ <constant name="KEY_ampersand" value="38" c:type="GDK_KEY_ampersand">
18131+ <source-position filename="gdk/gdkkeysyms.h" line="391"/>
18132+ <type name="gint" c:type="gint"/>
18133+ </constant>
18134+ <constant name="KEY_aogonek" value="433" c:type="GDK_KEY_aogonek">
18135+ <source-position filename="gdk/gdkkeysyms.h" line="593"/>
18136+ <type name="gint" c:type="gint"/>
18137+ </constant>
18138+ <constant name="KEY_apostrophe" value="39" c:type="GDK_KEY_apostrophe">
18139+ <source-position filename="gdk/gdkkeysyms.h" line="392"/>
18140+ <type name="gint" c:type="gint"/>
18141+ </constant>
18142+ <constant name="KEY_approxeq" value="16785992" c:type="GDK_KEY_approxeq">
18143+ <source-position filename="gdk/gdkkeysyms.h" line="1788"/>
18144+ <type name="gint" c:type="gint"/>
18145+ </constant>
18146+ <constant name="KEY_approximate" value="2248" c:type="GDK_KEY_approximate">
18147+ <source-position filename="gdk/gdkkeysyms.h" line="1132"/>
18148+ <type name="gint" c:type="gint"/>
18149+ </constant>
18150+ <constant name="KEY_aring" value="229" c:type="GDK_KEY_aring">
18151+ <source-position filename="gdk/gdkkeysyms.h" line="554"/>
18152+ <type name="gint" c:type="gint"/>
18153+ </constant>
18154+ <constant name="KEY_asciicircum" value="94" c:type="GDK_KEY_asciicircum">
18155+ <source-position filename="gdk/gdkkeysyms.h" line="448"/>
18156+ <type name="gint" c:type="gint"/>
18157+ </constant>
18158+ <constant name="KEY_asciitilde" value="126" c:type="GDK_KEY_asciitilde">
18159+ <source-position filename="gdk/gdkkeysyms.h" line="481"/>
18160+ <type name="gint" c:type="gint"/>
18161+ </constant>
18162+ <constant name="KEY_asterisk" value="42" c:type="GDK_KEY_asterisk">
18163+ <source-position filename="gdk/gdkkeysyms.h" line="396"/>
18164+ <type name="gint" c:type="gint"/>
18165+ </constant>
18166+ <constant name="KEY_at" value="64" c:type="GDK_KEY_at">
18167+ <source-position filename="gdk/gdkkeysyms.h" line="418"/>
18168+ <type name="gint" c:type="gint"/>
18169+ </constant>
18170+ <constant name="KEY_atilde" value="227" c:type="GDK_KEY_atilde">
18171+ <source-position filename="gdk/gdkkeysyms.h" line="552"/>
18172+ <type name="gint" c:type="gint"/>
18173+ </constant>
18174+ <constant name="KEY_b" value="98" c:type="GDK_KEY_b">
18175+ <source-position filename="gdk/gdkkeysyms.h" line="453"/>
18176+ <type name="gint" c:type="gint"/>
18177+ </constant>
18178+ <constant name="KEY_babovedot" value="16784899" c:type="GDK_KEY_babovedot">
18179+ <source-position filename="gdk/gdkkeysyms.h" line="702"/>
18180+ <type name="gint" c:type="gint"/>
18181+ </constant>
18182+ <constant name="KEY_backslash" value="92" c:type="GDK_KEY_backslash">
18183+ <source-position filename="gdk/gdkkeysyms.h" line="446"/>
18184+ <type name="gint" c:type="gint"/>
18185+ </constant>
18186+ <constant name="KEY_ballotcross" value="2804" c:type="GDK_KEY_ballotcross">
18187+ <source-position filename="gdk/gdkkeysyms.h" line="1246"/>
18188+ <type name="gint" c:type="gint"/>
18189+ </constant>
18190+ <constant name="KEY_bar" value="124" c:type="GDK_KEY_bar">
18191+ <source-position filename="gdk/gdkkeysyms.h" line="479"/>
18192+ <type name="gint" c:type="gint"/>
18193+ </constant>
18194+ <constant name="KEY_because" value="16785973" c:type="GDK_KEY_because">
18195+ <source-position filename="gdk/gdkkeysyms.h" line="1787"/>
18196+ <type name="gint" c:type="gint"/>
18197+ </constant>
18198+ <constant name="KEY_blank" value="2527" c:type="GDK_KEY_blank">
18199+ <source-position filename="gdk/gdkkeysyms.h" line="1150"/>
18200+ <type name="gint" c:type="gint"/>
18201+ </constant>
18202+ <constant name="KEY_botintegral" value="2213" c:type="GDK_KEY_botintegral">
18203+ <source-position filename="gdk/gdkkeysyms.h" line="1105"/>
18204+ <type name="gint" c:type="gint"/>
18205+ </constant>
18206+ <constant name="KEY_botleftparens"
18207+ value="2220"
18208+ c:type="GDK_KEY_botleftparens">
18209+ <source-position filename="gdk/gdkkeysyms.h" line="1112"/>
18210+ <type name="gint" c:type="gint"/>
18211+ </constant>
18212+ <constant name="KEY_botleftsqbracket"
18213+ value="2216"
18214+ c:type="GDK_KEY_botleftsqbracket">
18215+ <source-position filename="gdk/gdkkeysyms.h" line="1108"/>
18216+ <type name="gint" c:type="gint"/>
18217+ </constant>
18218+ <constant name="KEY_botleftsummation"
18219+ value="2226"
18220+ c:type="GDK_KEY_botleftsummation">
18221+ <source-position filename="gdk/gdkkeysyms.h" line="1118"/>
18222+ <type name="gint" c:type="gint"/>
18223+ </constant>
18224+ <constant name="KEY_botrightparens"
18225+ value="2222"
18226+ c:type="GDK_KEY_botrightparens">
18227+ <source-position filename="gdk/gdkkeysyms.h" line="1114"/>
18228+ <type name="gint" c:type="gint"/>
18229+ </constant>
18230+ <constant name="KEY_botrightsqbracket"
18231+ value="2218"
18232+ c:type="GDK_KEY_botrightsqbracket">
18233+ <source-position filename="gdk/gdkkeysyms.h" line="1110"/>
18234+ <type name="gint" c:type="gint"/>
18235+ </constant>
18236+ <constant name="KEY_botrightsummation"
18237+ value="2230"
18238+ c:type="GDK_KEY_botrightsummation">
18239+ <source-position filename="gdk/gdkkeysyms.h" line="1122"/>
18240+ <type name="gint" c:type="gint"/>
18241+ </constant>
18242+ <constant name="KEY_bott" value="2550" c:type="GDK_KEY_bott">
18243+ <source-position filename="gdk/gdkkeysyms.h" line="1171"/>
18244+ <type name="gint" c:type="gint"/>
18245+ </constant>
18246+ <constant name="KEY_botvertsummationconnector"
18247+ value="2228"
18248+ c:type="GDK_KEY_botvertsummationconnector">
18249+ <source-position filename="gdk/gdkkeysyms.h" line="1120"/>
18250+ <type name="gint" c:type="gint"/>
18251+ </constant>
18252+ <constant name="KEY_braceleft" value="123" c:type="GDK_KEY_braceleft">
18253+ <source-position filename="gdk/gdkkeysyms.h" line="478"/>
18254+ <type name="gint" c:type="gint"/>
18255+ </constant>
18256+ <constant name="KEY_braceright" value="125" c:type="GDK_KEY_braceright">
18257+ <source-position filename="gdk/gdkkeysyms.h" line="480"/>
18258+ <type name="gint" c:type="gint"/>
18259+ </constant>
18260+ <constant name="KEY_bracketleft" value="91" c:type="GDK_KEY_bracketleft">
18261+ <source-position filename="gdk/gdkkeysyms.h" line="445"/>
18262+ <type name="gint" c:type="gint"/>
18263+ </constant>
18264+ <constant name="KEY_bracketright" value="93" c:type="GDK_KEY_bracketright">
18265+ <source-position filename="gdk/gdkkeysyms.h" line="447"/>
18266+ <type name="gint" c:type="gint"/>
18267+ </constant>
18268+ <constant name="KEY_braille_blank"
18269+ value="16787456"
18270+ c:type="GDK_KEY_braille_blank">
18271+ <source-position filename="gdk/gdkkeysyms.h" line="1802"/>
18272+ <type name="gint" c:type="gint"/>
18273+ </constant>
18274+ <constant name="KEY_braille_dot_1"
18275+ value="65521"
18276+ c:type="GDK_KEY_braille_dot_1">
18277+ <source-position filename="gdk/gdkkeysyms.h" line="1792"/>
18278+ <type name="gint" c:type="gint"/>
18279+ </constant>
18280+ <constant name="KEY_braille_dot_10"
18281+ value="65530"
18282+ c:type="GDK_KEY_braille_dot_10">
18283+ <source-position filename="gdk/gdkkeysyms.h" line="1801"/>
18284+ <type name="gint" c:type="gint"/>
18285+ </constant>
18286+ <constant name="KEY_braille_dot_2"
18287+ value="65522"
18288+ c:type="GDK_KEY_braille_dot_2">
18289+ <source-position filename="gdk/gdkkeysyms.h" line="1793"/>
18290+ <type name="gint" c:type="gint"/>
18291+ </constant>
18292+ <constant name="KEY_braille_dot_3"
18293+ value="65523"
18294+ c:type="GDK_KEY_braille_dot_3">
18295+ <source-position filename="gdk/gdkkeysyms.h" line="1794"/>
18296+ <type name="gint" c:type="gint"/>
18297+ </constant>
18298+ <constant name="KEY_braille_dot_4"
18299+ value="65524"
18300+ c:type="GDK_KEY_braille_dot_4">
18301+ <source-position filename="gdk/gdkkeysyms.h" line="1795"/>
18302+ <type name="gint" c:type="gint"/>
18303+ </constant>
18304+ <constant name="KEY_braille_dot_5"
18305+ value="65525"
18306+ c:type="GDK_KEY_braille_dot_5">
18307+ <source-position filename="gdk/gdkkeysyms.h" line="1796"/>
18308+ <type name="gint" c:type="gint"/>
18309+ </constant>
18310+ <constant name="KEY_braille_dot_6"
18311+ value="65526"
18312+ c:type="GDK_KEY_braille_dot_6">
18313+ <source-position filename="gdk/gdkkeysyms.h" line="1797"/>
18314+ <type name="gint" c:type="gint"/>
18315+ </constant>
18316+ <constant name="KEY_braille_dot_7"
18317+ value="65527"
18318+ c:type="GDK_KEY_braille_dot_7">
18319+ <source-position filename="gdk/gdkkeysyms.h" line="1798"/>
18320+ <type name="gint" c:type="gint"/>
18321+ </constant>
18322+ <constant name="KEY_braille_dot_8"
18323+ value="65528"
18324+ c:type="GDK_KEY_braille_dot_8">
18325+ <source-position filename="gdk/gdkkeysyms.h" line="1799"/>
18326+ <type name="gint" c:type="gint"/>
18327+ </constant>
18328+ <constant name="KEY_braille_dot_9"
18329+ value="65529"
18330+ c:type="GDK_KEY_braille_dot_9">
18331+ <source-position filename="gdk/gdkkeysyms.h" line="1800"/>
18332+ <type name="gint" c:type="gint"/>
18333+ </constant>
18334+ <constant name="KEY_braille_dots_1"
18335+ value="16787457"
18336+ c:type="GDK_KEY_braille_dots_1">
18337+ <source-position filename="gdk/gdkkeysyms.h" line="1803"/>
18338+ <type name="gint" c:type="gint"/>
18339+ </constant>
18340+ <constant name="KEY_braille_dots_12"
18341+ value="16787459"
18342+ c:type="GDK_KEY_braille_dots_12">
18343+ <source-position filename="gdk/gdkkeysyms.h" line="1805"/>
18344+ <type name="gint" c:type="gint"/>
18345+ </constant>
18346+ <constant name="KEY_braille_dots_123"
18347+ value="16787463"
18348+ c:type="GDK_KEY_braille_dots_123">
18349+ <source-position filename="gdk/gdkkeysyms.h" line="1809"/>
18350+ <type name="gint" c:type="gint"/>
18351+ </constant>
18352+ <constant name="KEY_braille_dots_1234"
18353+ value="16787471"
18354+ c:type="GDK_KEY_braille_dots_1234">
18355+ <source-position filename="gdk/gdkkeysyms.h" line="1817"/>
18356+ <type name="gint" c:type="gint"/>
18357+ </constant>
18358+ <constant name="KEY_braille_dots_12345"
18359+ value="16787487"
18360+ c:type="GDK_KEY_braille_dots_12345">
18361+ <source-position filename="gdk/gdkkeysyms.h" line="1833"/>
18362+ <type name="gint" c:type="gint"/>
18363+ </constant>
18364+ <constant name="KEY_braille_dots_123456"
18365+ value="16787519"
18366+ c:type="GDK_KEY_braille_dots_123456">
18367+ <source-position filename="gdk/gdkkeysyms.h" line="1865"/>
18368+ <type name="gint" c:type="gint"/>
18369+ </constant>
18370+ <constant name="KEY_braille_dots_1234567"
18371+ value="16787583"
18372+ c:type="GDK_KEY_braille_dots_1234567">
18373+ <source-position filename="gdk/gdkkeysyms.h" line="1929"/>
18374+ <type name="gint" c:type="gint"/>
18375+ </constant>
18376+ <constant name="KEY_braille_dots_12345678"
18377+ value="16787711"
18378+ c:type="GDK_KEY_braille_dots_12345678">
18379+ <source-position filename="gdk/gdkkeysyms.h" line="2057"/>
18380+ <type name="gint" c:type="gint"/>
18381+ </constant>
18382+ <constant name="KEY_braille_dots_1234568"
18383+ value="16787647"
18384+ c:type="GDK_KEY_braille_dots_1234568">
18385+ <source-position filename="gdk/gdkkeysyms.h" line="1993"/>
18386+ <type name="gint" c:type="gint"/>
18387+ </constant>
18388+ <constant name="KEY_braille_dots_123457"
18389+ value="16787551"
18390+ c:type="GDK_KEY_braille_dots_123457">
18391+ <source-position filename="gdk/gdkkeysyms.h" line="1897"/>
18392+ <type name="gint" c:type="gint"/>
18393+ </constant>
18394+ <constant name="KEY_braille_dots_1234578"
18395+ value="16787679"
18396+ c:type="GDK_KEY_braille_dots_1234578">
18397+ <source-position filename="gdk/gdkkeysyms.h" line="2025"/>
18398+ <type name="gint" c:type="gint"/>
18399+ </constant>
18400+ <constant name="KEY_braille_dots_123458"
18401+ value="16787615"
18402+ c:type="GDK_KEY_braille_dots_123458">
18403+ <source-position filename="gdk/gdkkeysyms.h" line="1961"/>
18404+ <type name="gint" c:type="gint"/>
18405+ </constant>
18406+ <constant name="KEY_braille_dots_12346"
18407+ value="16787503"
18408+ c:type="GDK_KEY_braille_dots_12346">
18409+ <source-position filename="gdk/gdkkeysyms.h" line="1849"/>
18410+ <type name="gint" c:type="gint"/>
18411+ </constant>
18412+ <constant name="KEY_braille_dots_123467"
18413+ value="16787567"
18414+ c:type="GDK_KEY_braille_dots_123467">
18415+ <source-position filename="gdk/gdkkeysyms.h" line="1913"/>
18416+ <type name="gint" c:type="gint"/>
18417+ </constant>
18418+ <constant name="KEY_braille_dots_1234678"
18419+ value="16787695"
18420+ c:type="GDK_KEY_braille_dots_1234678">
18421+ <source-position filename="gdk/gdkkeysyms.h" line="2041"/>
18422+ <type name="gint" c:type="gint"/>
18423+ </constant>
18424+ <constant name="KEY_braille_dots_123468"
18425+ value="16787631"
18426+ c:type="GDK_KEY_braille_dots_123468">
18427+ <source-position filename="gdk/gdkkeysyms.h" line="1977"/>
18428+ <type name="gint" c:type="gint"/>
18429+ </constant>
18430+ <constant name="KEY_braille_dots_12347"
18431+ value="16787535"
18432+ c:type="GDK_KEY_braille_dots_12347">
18433+ <source-position filename="gdk/gdkkeysyms.h" line="1881"/>
18434+ <type name="gint" c:type="gint"/>
18435+ </constant>
18436+ <constant name="KEY_braille_dots_123478"
18437+ value="16787663"
18438+ c:type="GDK_KEY_braille_dots_123478">
18439+ <source-position filename="gdk/gdkkeysyms.h" line="2009"/>
18440+ <type name="gint" c:type="gint"/>
18441+ </constant>
18442+ <constant name="KEY_braille_dots_12348"
18443+ value="16787599"
18444+ c:type="GDK_KEY_braille_dots_12348">
18445+ <source-position filename="gdk/gdkkeysyms.h" line="1945"/>
18446+ <type name="gint" c:type="gint"/>
18447+ </constant>
18448+ <constant name="KEY_braille_dots_1235"
18449+ value="16787479"
18450+ c:type="GDK_KEY_braille_dots_1235">
18451+ <source-position filename="gdk/gdkkeysyms.h" line="1825"/>
18452+ <type name="gint" c:type="gint"/>
18453+ </constant>
18454+ <constant name="KEY_braille_dots_12356"
18455+ value="16787511"
18456+ c:type="GDK_KEY_braille_dots_12356">
18457+ <source-position filename="gdk/gdkkeysyms.h" line="1857"/>
18458+ <type name="gint" c:type="gint"/>
18459+ </constant>
18460+ <constant name="KEY_braille_dots_123567"
18461+ value="16787575"
18462+ c:type="GDK_KEY_braille_dots_123567">
18463+ <source-position filename="gdk/gdkkeysyms.h" line="1921"/>
18464+ <type name="gint" c:type="gint"/>
18465+ </constant>
18466+ <constant name="KEY_braille_dots_1235678"
18467+ value="16787703"
18468+ c:type="GDK_KEY_braille_dots_1235678">
18469+ <source-position filename="gdk/gdkkeysyms.h" line="2049"/>
18470+ <type name="gint" c:type="gint"/>
18471+ </constant>
18472+ <constant name="KEY_braille_dots_123568"
18473+ value="16787639"
18474+ c:type="GDK_KEY_braille_dots_123568">
18475+ <source-position filename="gdk/gdkkeysyms.h" line="1985"/>
18476+ <type name="gint" c:type="gint"/>
18477+ </constant>
18478+ <constant name="KEY_braille_dots_12357"
18479+ value="16787543"
18480+ c:type="GDK_KEY_braille_dots_12357">
18481+ <source-position filename="gdk/gdkkeysyms.h" line="1889"/>
18482+ <type name="gint" c:type="gint"/>
18483+ </constant>
18484+ <constant name="KEY_braille_dots_123578"
18485+ value="16787671"
18486+ c:type="GDK_KEY_braille_dots_123578">
18487+ <source-position filename="gdk/gdkkeysyms.h" line="2017"/>
18488+ <type name="gint" c:type="gint"/>
18489+ </constant>
18490+ <constant name="KEY_braille_dots_12358"
18491+ value="16787607"
18492+ c:type="GDK_KEY_braille_dots_12358">
18493+ <source-position filename="gdk/gdkkeysyms.h" line="1953"/>
18494+ <type name="gint" c:type="gint"/>
18495+ </constant>
18496+ <constant name="KEY_braille_dots_1236"
18497+ value="16787495"
18498+ c:type="GDK_KEY_braille_dots_1236">
18499+ <source-position filename="gdk/gdkkeysyms.h" line="1841"/>
18500+ <type name="gint" c:type="gint"/>
18501+ </constant>
18502+ <constant name="KEY_braille_dots_12367"
18503+ value="16787559"
18504+ c:type="GDK_KEY_braille_dots_12367">
18505+ <source-position filename="gdk/gdkkeysyms.h" line="1905"/>
18506+ <type name="gint" c:type="gint"/>
18507+ </constant>
18508+ <constant name="KEY_braille_dots_123678"
18509+ value="16787687"
18510+ c:type="GDK_KEY_braille_dots_123678">
18511+ <source-position filename="gdk/gdkkeysyms.h" line="2033"/>
18512+ <type name="gint" c:type="gint"/>
18513+ </constant>
18514+ <constant name="KEY_braille_dots_12368"
18515+ value="16787623"
18516+ c:type="GDK_KEY_braille_dots_12368">
18517+ <source-position filename="gdk/gdkkeysyms.h" line="1969"/>
18518+ <type name="gint" c:type="gint"/>
18519+ </constant>
18520+ <constant name="KEY_braille_dots_1237"
18521+ value="16787527"
18522+ c:type="GDK_KEY_braille_dots_1237">
18523+ <source-position filename="gdk/gdkkeysyms.h" line="1873"/>
18524+ <type name="gint" c:type="gint"/>
18525+ </constant>
18526+ <constant name="KEY_braille_dots_12378"
18527+ value="16787655"
18528+ c:type="GDK_KEY_braille_dots_12378">
18529+ <source-position filename="gdk/gdkkeysyms.h" line="2001"/>
18530+ <type name="gint" c:type="gint"/>
18531+ </constant>
18532+ <constant name="KEY_braille_dots_1238"
18533+ value="16787591"
18534+ c:type="GDK_KEY_braille_dots_1238">
18535+ <source-position filename="gdk/gdkkeysyms.h" line="1937"/>
18536+ <type name="gint" c:type="gint"/>
18537+ </constant>
18538+ <constant name="KEY_braille_dots_124"
18539+ value="16787467"
18540+ c:type="GDK_KEY_braille_dots_124">
18541+ <source-position filename="gdk/gdkkeysyms.h" line="1813"/>
18542+ <type name="gint" c:type="gint"/>
18543+ </constant>
18544+ <constant name="KEY_braille_dots_1245"
18545+ value="16787483"
18546+ c:type="GDK_KEY_braille_dots_1245">
18547+ <source-position filename="gdk/gdkkeysyms.h" line="1829"/>
18548+ <type name="gint" c:type="gint"/>
18549+ </constant>
18550+ <constant name="KEY_braille_dots_12456"
18551+ value="16787515"
18552+ c:type="GDK_KEY_braille_dots_12456">
18553+ <source-position filename="gdk/gdkkeysyms.h" line="1861"/>
18554+ <type name="gint" c:type="gint"/>
18555+ </constant>
18556+ <constant name="KEY_braille_dots_124567"
18557+ value="16787579"
18558+ c:type="GDK_KEY_braille_dots_124567">
18559+ <source-position filename="gdk/gdkkeysyms.h" line="1925"/>
18560+ <type name="gint" c:type="gint"/>
18561+ </constant>
18562+ <constant name="KEY_braille_dots_1245678"
18563+ value="16787707"
18564+ c:type="GDK_KEY_braille_dots_1245678">
18565+ <source-position filename="gdk/gdkkeysyms.h" line="2053"/>
18566+ <type name="gint" c:type="gint"/>
18567+ </constant>
18568+ <constant name="KEY_braille_dots_124568"
18569+ value="16787643"
18570+ c:type="GDK_KEY_braille_dots_124568">
18571+ <source-position filename="gdk/gdkkeysyms.h" line="1989"/>
18572+ <type name="gint" c:type="gint"/>
18573+ </constant>
18574+ <constant name="KEY_braille_dots_12457"
18575+ value="16787547"
18576+ c:type="GDK_KEY_braille_dots_12457">
18577+ <source-position filename="gdk/gdkkeysyms.h" line="1893"/>
18578+ <type name="gint" c:type="gint"/>
18579+ </constant>
18580+ <constant name="KEY_braille_dots_124578"
18581+ value="16787675"
18582+ c:type="GDK_KEY_braille_dots_124578">
18583+ <source-position filename="gdk/gdkkeysyms.h" line="2021"/>
18584+ <type name="gint" c:type="gint"/>
18585+ </constant>
18586+ <constant name="KEY_braille_dots_12458"
18587+ value="16787611"
18588+ c:type="GDK_KEY_braille_dots_12458">
18589+ <source-position filename="gdk/gdkkeysyms.h" line="1957"/>
18590+ <type name="gint" c:type="gint"/>
18591+ </constant>
18592+ <constant name="KEY_braille_dots_1246"
18593+ value="16787499"
18594+ c:type="GDK_KEY_braille_dots_1246">
18595+ <source-position filename="gdk/gdkkeysyms.h" line="1845"/>
18596+ <type name="gint" c:type="gint"/>
18597+ </constant>
18598+ <constant name="KEY_braille_dots_12467"
18599+ value="16787563"
18600+ c:type="GDK_KEY_braille_dots_12467">
18601+ <source-position filename="gdk/gdkkeysyms.h" line="1909"/>
18602+ <type name="gint" c:type="gint"/>
18603+ </constant>
18604+ <constant name="KEY_braille_dots_124678"
18605+ value="16787691"
18606+ c:type="GDK_KEY_braille_dots_124678">
18607+ <source-position filename="gdk/gdkkeysyms.h" line="2037"/>
18608+ <type name="gint" c:type="gint"/>
18609+ </constant>
18610+ <constant name="KEY_braille_dots_12468"
18611+ value="16787627"
18612+ c:type="GDK_KEY_braille_dots_12468">
18613+ <source-position filename="gdk/gdkkeysyms.h" line="1973"/>
18614+ <type name="gint" c:type="gint"/>
18615+ </constant>
18616+ <constant name="KEY_braille_dots_1247"
18617+ value="16787531"
18618+ c:type="GDK_KEY_braille_dots_1247">
18619+ <source-position filename="gdk/gdkkeysyms.h" line="1877"/>
18620+ <type name="gint" c:type="gint"/>
18621+ </constant>
18622+ <constant name="KEY_braille_dots_12478"
18623+ value="16787659"
18624+ c:type="GDK_KEY_braille_dots_12478">
18625+ <source-position filename="gdk/gdkkeysyms.h" line="2005"/>
18626+ <type name="gint" c:type="gint"/>
18627+ </constant>
18628+ <constant name="KEY_braille_dots_1248"
18629+ value="16787595"
18630+ c:type="GDK_KEY_braille_dots_1248">
18631+ <source-position filename="gdk/gdkkeysyms.h" line="1941"/>
18632+ <type name="gint" c:type="gint"/>
18633+ </constant>
18634+ <constant name="KEY_braille_dots_125"
18635+ value="16787475"
18636+ c:type="GDK_KEY_braille_dots_125">
18637+ <source-position filename="gdk/gdkkeysyms.h" line="1821"/>
18638+ <type name="gint" c:type="gint"/>
18639+ </constant>
18640+ <constant name="KEY_braille_dots_1256"
18641+ value="16787507"
18642+ c:type="GDK_KEY_braille_dots_1256">
18643+ <source-position filename="gdk/gdkkeysyms.h" line="1853"/>
18644+ <type name="gint" c:type="gint"/>
18645+ </constant>
18646+ <constant name="KEY_braille_dots_12567"
18647+ value="16787571"
18648+ c:type="GDK_KEY_braille_dots_12567">
18649+ <source-position filename="gdk/gdkkeysyms.h" line="1917"/>
18650+ <type name="gint" c:type="gint"/>
18651+ </constant>
18652+ <constant name="KEY_braille_dots_125678"
18653+ value="16787699"
18654+ c:type="GDK_KEY_braille_dots_125678">
18655+ <source-position filename="gdk/gdkkeysyms.h" line="2045"/>
18656+ <type name="gint" c:type="gint"/>
18657+ </constant>
18658+ <constant name="KEY_braille_dots_12568"
18659+ value="16787635"
18660+ c:type="GDK_KEY_braille_dots_12568">
18661+ <source-position filename="gdk/gdkkeysyms.h" line="1981"/>
18662+ <type name="gint" c:type="gint"/>
18663+ </constant>
18664+ <constant name="KEY_braille_dots_1257"
18665+ value="16787539"
18666+ c:type="GDK_KEY_braille_dots_1257">
18667+ <source-position filename="gdk/gdkkeysyms.h" line="1885"/>
18668+ <type name="gint" c:type="gint"/>
18669+ </constant>
18670+ <constant name="KEY_braille_dots_12578"
18671+ value="16787667"
18672+ c:type="GDK_KEY_braille_dots_12578">
18673+ <source-position filename="gdk/gdkkeysyms.h" line="2013"/>
18674+ <type name="gint" c:type="gint"/>
18675+ </constant>
18676+ <constant name="KEY_braille_dots_1258"
18677+ value="16787603"
18678+ c:type="GDK_KEY_braille_dots_1258">
18679+ <source-position filename="gdk/gdkkeysyms.h" line="1949"/>
18680+ <type name="gint" c:type="gint"/>
18681+ </constant>
18682+ <constant name="KEY_braille_dots_126"
18683+ value="16787491"
18684+ c:type="GDK_KEY_braille_dots_126">
18685+ <source-position filename="gdk/gdkkeysyms.h" line="1837"/>
18686+ <type name="gint" c:type="gint"/>
18687+ </constant>
18688+ <constant name="KEY_braille_dots_1267"
18689+ value="16787555"
18690+ c:type="GDK_KEY_braille_dots_1267">
18691+ <source-position filename="gdk/gdkkeysyms.h" line="1901"/>
18692+ <type name="gint" c:type="gint"/>
18693+ </constant>
18694+ <constant name="KEY_braille_dots_12678"
18695+ value="16787683"
18696+ c:type="GDK_KEY_braille_dots_12678">
18697+ <source-position filename="gdk/gdkkeysyms.h" line="2029"/>
18698+ <type name="gint" c:type="gint"/>
18699+ </constant>
18700+ <constant name="KEY_braille_dots_1268"
18701+ value="16787619"
18702+ c:type="GDK_KEY_braille_dots_1268">
18703+ <source-position filename="gdk/gdkkeysyms.h" line="1965"/>
18704+ <type name="gint" c:type="gint"/>
18705+ </constant>
18706+ <constant name="KEY_braille_dots_127"
18707+ value="16787523"
18708+ c:type="GDK_KEY_braille_dots_127">
18709+ <source-position filename="gdk/gdkkeysyms.h" line="1869"/>
18710+ <type name="gint" c:type="gint"/>
18711+ </constant>
18712+ <constant name="KEY_braille_dots_1278"
18713+ value="16787651"
18714+ c:type="GDK_KEY_braille_dots_1278">
18715+ <source-position filename="gdk/gdkkeysyms.h" line="1997"/>
18716+ <type name="gint" c:type="gint"/>
18717+ </constant>
18718+ <constant name="KEY_braille_dots_128"
18719+ value="16787587"
18720+ c:type="GDK_KEY_braille_dots_128">
18721+ <source-position filename="gdk/gdkkeysyms.h" line="1933"/>
18722+ <type name="gint" c:type="gint"/>
18723+ </constant>
18724+ <constant name="KEY_braille_dots_13"
18725+ value="16787461"
18726+ c:type="GDK_KEY_braille_dots_13">
18727+ <source-position filename="gdk/gdkkeysyms.h" line="1807"/>
18728+ <type name="gint" c:type="gint"/>
18729+ </constant>
18730+ <constant name="KEY_braille_dots_134"
18731+ value="16787469"
18732+ c:type="GDK_KEY_braille_dots_134">
18733+ <source-position filename="gdk/gdkkeysyms.h" line="1815"/>
18734+ <type name="gint" c:type="gint"/>
18735+ </constant>
18736+ <constant name="KEY_braille_dots_1345"
18737+ value="16787485"
18738+ c:type="GDK_KEY_braille_dots_1345">
18739+ <source-position filename="gdk/gdkkeysyms.h" line="1831"/>
18740+ <type name="gint" c:type="gint"/>
18741+ </constant>
18742+ <constant name="KEY_braille_dots_13456"
18743+ value="16787517"
18744+ c:type="GDK_KEY_braille_dots_13456">
18745+ <source-position filename="gdk/gdkkeysyms.h" line="1863"/>
18746+ <type name="gint" c:type="gint"/>
18747+ </constant>
18748+ <constant name="KEY_braille_dots_134567"
18749+ value="16787581"
18750+ c:type="GDK_KEY_braille_dots_134567">
18751+ <source-position filename="gdk/gdkkeysyms.h" line="1927"/>
18752+ <type name="gint" c:type="gint"/>
18753+ </constant>
18754+ <constant name="KEY_braille_dots_1345678"
18755+ value="16787709"
18756+ c:type="GDK_KEY_braille_dots_1345678">
18757+ <source-position filename="gdk/gdkkeysyms.h" line="2055"/>
18758+ <type name="gint" c:type="gint"/>
18759+ </constant>
18760+ <constant name="KEY_braille_dots_134568"
18761+ value="16787645"
18762+ c:type="GDK_KEY_braille_dots_134568">
18763+ <source-position filename="gdk/gdkkeysyms.h" line="1991"/>
18764+ <type name="gint" c:type="gint"/>
18765+ </constant>
18766+ <constant name="KEY_braille_dots_13457"
18767+ value="16787549"
18768+ c:type="GDK_KEY_braille_dots_13457">
18769+ <source-position filename="gdk/gdkkeysyms.h" line="1895"/>
18770+ <type name="gint" c:type="gint"/>
18771+ </constant>
18772+ <constant name="KEY_braille_dots_134578"
18773+ value="16787677"
18774+ c:type="GDK_KEY_braille_dots_134578">
18775+ <source-position filename="gdk/gdkkeysyms.h" line="2023"/>
18776+ <type name="gint" c:type="gint"/>
18777+ </constant>
18778+ <constant name="KEY_braille_dots_13458"
18779+ value="16787613"
18780+ c:type="GDK_KEY_braille_dots_13458">
18781+ <source-position filename="gdk/gdkkeysyms.h" line="1959"/>
18782+ <type name="gint" c:type="gint"/>
18783+ </constant>
18784+ <constant name="KEY_braille_dots_1346"
18785+ value="16787501"
18786+ c:type="GDK_KEY_braille_dots_1346">
18787+ <source-position filename="gdk/gdkkeysyms.h" line="1847"/>
18788+ <type name="gint" c:type="gint"/>
18789+ </constant>
18790+ <constant name="KEY_braille_dots_13467"
18791+ value="16787565"
18792+ c:type="GDK_KEY_braille_dots_13467">
18793+ <source-position filename="gdk/gdkkeysyms.h" line="1911"/>
18794+ <type name="gint" c:type="gint"/>
18795+ </constant>
18796+ <constant name="KEY_braille_dots_134678"
18797+ value="16787693"
18798+ c:type="GDK_KEY_braille_dots_134678">
18799+ <source-position filename="gdk/gdkkeysyms.h" line="2039"/>
18800+ <type name="gint" c:type="gint"/>
18801+ </constant>
18802+ <constant name="KEY_braille_dots_13468"
18803+ value="16787629"
18804+ c:type="GDK_KEY_braille_dots_13468">
18805+ <source-position filename="gdk/gdkkeysyms.h" line="1975"/>
18806+ <type name="gint" c:type="gint"/>
18807+ </constant>
18808+ <constant name="KEY_braille_dots_1347"
18809+ value="16787533"
18810+ c:type="GDK_KEY_braille_dots_1347">
18811+ <source-position filename="gdk/gdkkeysyms.h" line="1879"/>
18812+ <type name="gint" c:type="gint"/>
18813+ </constant>
18814+ <constant name="KEY_braille_dots_13478"
18815+ value="16787661"
18816+ c:type="GDK_KEY_braille_dots_13478">
18817+ <source-position filename="gdk/gdkkeysyms.h" line="2007"/>
18818+ <type name="gint" c:type="gint"/>
18819+ </constant>
18820+ <constant name="KEY_braille_dots_1348"
18821+ value="16787597"
18822+ c:type="GDK_KEY_braille_dots_1348">
18823+ <source-position filename="gdk/gdkkeysyms.h" line="1943"/>
18824+ <type name="gint" c:type="gint"/>
18825+ </constant>
18826+ <constant name="KEY_braille_dots_135"
18827+ value="16787477"
18828+ c:type="GDK_KEY_braille_dots_135">
18829+ <source-position filename="gdk/gdkkeysyms.h" line="1823"/>
18830+ <type name="gint" c:type="gint"/>
18831+ </constant>
18832+ <constant name="KEY_braille_dots_1356"
18833+ value="16787509"
18834+ c:type="GDK_KEY_braille_dots_1356">
18835+ <source-position filename="gdk/gdkkeysyms.h" line="1855"/>
18836+ <type name="gint" c:type="gint"/>
18837+ </constant>
18838+ <constant name="KEY_braille_dots_13567"
18839+ value="16787573"
18840+ c:type="GDK_KEY_braille_dots_13567">
18841+ <source-position filename="gdk/gdkkeysyms.h" line="1919"/>
18842+ <type name="gint" c:type="gint"/>
18843+ </constant>
18844+ <constant name="KEY_braille_dots_135678"
18845+ value="16787701"
18846+ c:type="GDK_KEY_braille_dots_135678">
18847+ <source-position filename="gdk/gdkkeysyms.h" line="2047"/>
18848+ <type name="gint" c:type="gint"/>
18849+ </constant>
18850+ <constant name="KEY_braille_dots_13568"
18851+ value="16787637"
18852+ c:type="GDK_KEY_braille_dots_13568">
18853+ <source-position filename="gdk/gdkkeysyms.h" line="1983"/>
18854+ <type name="gint" c:type="gint"/>
18855+ </constant>
18856+ <constant name="KEY_braille_dots_1357"
18857+ value="16787541"
18858+ c:type="GDK_KEY_braille_dots_1357">
18859+ <source-position filename="gdk/gdkkeysyms.h" line="1887"/>
18860+ <type name="gint" c:type="gint"/>
18861+ </constant>
18862+ <constant name="KEY_braille_dots_13578"
18863+ value="16787669"
18864+ c:type="GDK_KEY_braille_dots_13578">
18865+ <source-position filename="gdk/gdkkeysyms.h" line="2015"/>
18866+ <type name="gint" c:type="gint"/>
18867+ </constant>
18868+ <constant name="KEY_braille_dots_1358"
18869+ value="16787605"
18870+ c:type="GDK_KEY_braille_dots_1358">
18871+ <source-position filename="gdk/gdkkeysyms.h" line="1951"/>
18872+ <type name="gint" c:type="gint"/>
18873+ </constant>
18874+ <constant name="KEY_braille_dots_136"
18875+ value="16787493"
18876+ c:type="GDK_KEY_braille_dots_136">
18877+ <source-position filename="gdk/gdkkeysyms.h" line="1839"/>
18878+ <type name="gint" c:type="gint"/>
18879+ </constant>
18880+ <constant name="KEY_braille_dots_1367"
18881+ value="16787557"
18882+ c:type="GDK_KEY_braille_dots_1367">
18883+ <source-position filename="gdk/gdkkeysyms.h" line="1903"/>
18884+ <type name="gint" c:type="gint"/>
18885+ </constant>
18886+ <constant name="KEY_braille_dots_13678"
18887+ value="16787685"
18888+ c:type="GDK_KEY_braille_dots_13678">
18889+ <source-position filename="gdk/gdkkeysyms.h" line="2031"/>
18890+ <type name="gint" c:type="gint"/>
18891+ </constant>
18892+ <constant name="KEY_braille_dots_1368"
18893+ value="16787621"
18894+ c:type="GDK_KEY_braille_dots_1368">
18895+ <source-position filename="gdk/gdkkeysyms.h" line="1967"/>
18896+ <type name="gint" c:type="gint"/>
18897+ </constant>
18898+ <constant name="KEY_braille_dots_137"
18899+ value="16787525"
18900+ c:type="GDK_KEY_braille_dots_137">
18901+ <source-position filename="gdk/gdkkeysyms.h" line="1871"/>
18902+ <type name="gint" c:type="gint"/>
18903+ </constant>
18904+ <constant name="KEY_braille_dots_1378"
18905+ value="16787653"
18906+ c:type="GDK_KEY_braille_dots_1378">
18907+ <source-position filename="gdk/gdkkeysyms.h" line="1999"/>
18908+ <type name="gint" c:type="gint"/>
18909+ </constant>
18910+ <constant name="KEY_braille_dots_138"
18911+ value="16787589"
18912+ c:type="GDK_KEY_braille_dots_138">
18913+ <source-position filename="gdk/gdkkeysyms.h" line="1935"/>
18914+ <type name="gint" c:type="gint"/>
18915+ </constant>
18916+ <constant name="KEY_braille_dots_14"
18917+ value="16787465"
18918+ c:type="GDK_KEY_braille_dots_14">
18919+ <source-position filename="gdk/gdkkeysyms.h" line="1811"/>
18920+ <type name="gint" c:type="gint"/>
18921+ </constant>
18922+ <constant name="KEY_braille_dots_145"
18923+ value="16787481"
18924+ c:type="GDK_KEY_braille_dots_145">
18925+ <source-position filename="gdk/gdkkeysyms.h" line="1827"/>
18926+ <type name="gint" c:type="gint"/>
18927+ </constant>
18928+ <constant name="KEY_braille_dots_1456"
18929+ value="16787513"
18930+ c:type="GDK_KEY_braille_dots_1456">
18931+ <source-position filename="gdk/gdkkeysyms.h" line="1859"/>
18932+ <type name="gint" c:type="gint"/>
18933+ </constant>
18934+ <constant name="KEY_braille_dots_14567"
18935+ value="16787577"
18936+ c:type="GDK_KEY_braille_dots_14567">
18937+ <source-position filename="gdk/gdkkeysyms.h" line="1923"/>
18938+ <type name="gint" c:type="gint"/>
18939+ </constant>
18940+ <constant name="KEY_braille_dots_145678"
18941+ value="16787705"
18942+ c:type="GDK_KEY_braille_dots_145678">
18943+ <source-position filename="gdk/gdkkeysyms.h" line="2051"/>
18944+ <type name="gint" c:type="gint"/>
18945+ </constant>
18946+ <constant name="KEY_braille_dots_14568"
18947+ value="16787641"
18948+ c:type="GDK_KEY_braille_dots_14568">
18949+ <source-position filename="gdk/gdkkeysyms.h" line="1987"/>
18950+ <type name="gint" c:type="gint"/>
18951+ </constant>
18952+ <constant name="KEY_braille_dots_1457"
18953+ value="16787545"
18954+ c:type="GDK_KEY_braille_dots_1457">
18955+ <source-position filename="gdk/gdkkeysyms.h" line="1891"/>
18956+ <type name="gint" c:type="gint"/>
18957+ </constant>
18958+ <constant name="KEY_braille_dots_14578"
18959+ value="16787673"
18960+ c:type="GDK_KEY_braille_dots_14578">
18961+ <source-position filename="gdk/gdkkeysyms.h" line="2019"/>
18962+ <type name="gint" c:type="gint"/>
18963+ </constant>
18964+ <constant name="KEY_braille_dots_1458"
18965+ value="16787609"
18966+ c:type="GDK_KEY_braille_dots_1458">
18967+ <source-position filename="gdk/gdkkeysyms.h" line="1955"/>
18968+ <type name="gint" c:type="gint"/>
18969+ </constant>
18970+ <constant name="KEY_braille_dots_146"
18971+ value="16787497"
18972+ c:type="GDK_KEY_braille_dots_146">
18973+ <source-position filename="gdk/gdkkeysyms.h" line="1843"/>
18974+ <type name="gint" c:type="gint"/>
18975+ </constant>
18976+ <constant name="KEY_braille_dots_1467"
18977+ value="16787561"
18978+ c:type="GDK_KEY_braille_dots_1467">
18979+ <source-position filename="gdk/gdkkeysyms.h" line="1907"/>
18980+ <type name="gint" c:type="gint"/>
18981+ </constant>
18982+ <constant name="KEY_braille_dots_14678"
18983+ value="16787689"
18984+ c:type="GDK_KEY_braille_dots_14678">
18985+ <source-position filename="gdk/gdkkeysyms.h" line="2035"/>
18986+ <type name="gint" c:type="gint"/>
18987+ </constant>
18988+ <constant name="KEY_braille_dots_1468"
18989+ value="16787625"
18990+ c:type="GDK_KEY_braille_dots_1468">
18991+ <source-position filename="gdk/gdkkeysyms.h" line="1971"/>
18992+ <type name="gint" c:type="gint"/>
18993+ </constant>
18994+ <constant name="KEY_braille_dots_147"
18995+ value="16787529"
18996+ c:type="GDK_KEY_braille_dots_147">
18997+ <source-position filename="gdk/gdkkeysyms.h" line="1875"/>
18998+ <type name="gint" c:type="gint"/>
18999+ </constant>
19000+ <constant name="KEY_braille_dots_1478"
19001+ value="16787657"
19002+ c:type="GDK_KEY_braille_dots_1478">
19003+ <source-position filename="gdk/gdkkeysyms.h" line="2003"/>
19004+ <type name="gint" c:type="gint"/>
19005+ </constant>
19006+ <constant name="KEY_braille_dots_148"
19007+ value="16787593"
19008+ c:type="GDK_KEY_braille_dots_148">
19009+ <source-position filename="gdk/gdkkeysyms.h" line="1939"/>
19010+ <type name="gint" c:type="gint"/>
19011+ </constant>
19012+ <constant name="KEY_braille_dots_15"
19013+ value="16787473"
19014+ c:type="GDK_KEY_braille_dots_15">
19015+ <source-position filename="gdk/gdkkeysyms.h" line="1819"/>
19016+ <type name="gint" c:type="gint"/>
19017+ </constant>
19018+ <constant name="KEY_braille_dots_156"
19019+ value="16787505"
19020+ c:type="GDK_KEY_braille_dots_156">
19021+ <source-position filename="gdk/gdkkeysyms.h" line="1851"/>
19022+ <type name="gint" c:type="gint"/>
19023+ </constant>
19024+ <constant name="KEY_braille_dots_1567"
19025+ value="16787569"
19026+ c:type="GDK_KEY_braille_dots_1567">
19027+ <source-position filename="gdk/gdkkeysyms.h" line="1915"/>
19028+ <type name="gint" c:type="gint"/>
19029+ </constant>
19030+ <constant name="KEY_braille_dots_15678"
19031+ value="16787697"
19032+ c:type="GDK_KEY_braille_dots_15678">
19033+ <source-position filename="gdk/gdkkeysyms.h" line="2043"/>
19034+ <type name="gint" c:type="gint"/>
19035+ </constant>
19036+ <constant name="KEY_braille_dots_1568"
19037+ value="16787633"
19038+ c:type="GDK_KEY_braille_dots_1568">
19039+ <source-position filename="gdk/gdkkeysyms.h" line="1979"/>
19040+ <type name="gint" c:type="gint"/>
19041+ </constant>
19042+ <constant name="KEY_braille_dots_157"
19043+ value="16787537"
19044+ c:type="GDK_KEY_braille_dots_157">
19045+ <source-position filename="gdk/gdkkeysyms.h" line="1883"/>
19046+ <type name="gint" c:type="gint"/>
19047+ </constant>
19048+ <constant name="KEY_braille_dots_1578"
19049+ value="16787665"
19050+ c:type="GDK_KEY_braille_dots_1578">
19051+ <source-position filename="gdk/gdkkeysyms.h" line="2011"/>
19052+ <type name="gint" c:type="gint"/>
19053+ </constant>
19054+ <constant name="KEY_braille_dots_158"
19055+ value="16787601"
19056+ c:type="GDK_KEY_braille_dots_158">
19057+ <source-position filename="gdk/gdkkeysyms.h" line="1947"/>
19058+ <type name="gint" c:type="gint"/>
19059+ </constant>
19060+ <constant name="KEY_braille_dots_16"
19061+ value="16787489"
19062+ c:type="GDK_KEY_braille_dots_16">
19063+ <source-position filename="gdk/gdkkeysyms.h" line="1835"/>
19064+ <type name="gint" c:type="gint"/>
19065+ </constant>
19066+ <constant name="KEY_braille_dots_167"
19067+ value="16787553"
19068+ c:type="GDK_KEY_braille_dots_167">
19069+ <source-position filename="gdk/gdkkeysyms.h" line="1899"/>
19070+ <type name="gint" c:type="gint"/>
19071+ </constant>
19072+ <constant name="KEY_braille_dots_1678"
19073+ value="16787681"
19074+ c:type="GDK_KEY_braille_dots_1678">
19075+ <source-position filename="gdk/gdkkeysyms.h" line="2027"/>
19076+ <type name="gint" c:type="gint"/>
19077+ </constant>
19078+ <constant name="KEY_braille_dots_168"
19079+ value="16787617"
19080+ c:type="GDK_KEY_braille_dots_168">
19081+ <source-position filename="gdk/gdkkeysyms.h" line="1963"/>
19082+ <type name="gint" c:type="gint"/>
19083+ </constant>
19084+ <constant name="KEY_braille_dots_17"
19085+ value="16787521"
19086+ c:type="GDK_KEY_braille_dots_17">
19087+ <source-position filename="gdk/gdkkeysyms.h" line="1867"/>
19088+ <type name="gint" c:type="gint"/>
19089+ </constant>
19090+ <constant name="KEY_braille_dots_178"
19091+ value="16787649"
19092+ c:type="GDK_KEY_braille_dots_178">
19093+ <source-position filename="gdk/gdkkeysyms.h" line="1995"/>
19094+ <type name="gint" c:type="gint"/>
19095+ </constant>
19096+ <constant name="KEY_braille_dots_18"
19097+ value="16787585"
19098+ c:type="GDK_KEY_braille_dots_18">
19099+ <source-position filename="gdk/gdkkeysyms.h" line="1931"/>
19100+ <type name="gint" c:type="gint"/>
19101+ </constant>
19102+ <constant name="KEY_braille_dots_2"
19103+ value="16787458"
19104+ c:type="GDK_KEY_braille_dots_2">
19105+ <source-position filename="gdk/gdkkeysyms.h" line="1804"/>
19106+ <type name="gint" c:type="gint"/>
19107+ </constant>
19108+ <constant name="KEY_braille_dots_23"
19109+ value="16787462"
19110+ c:type="GDK_KEY_braille_dots_23">
19111+ <source-position filename="gdk/gdkkeysyms.h" line="1808"/>
19112+ <type name="gint" c:type="gint"/>
19113+ </constant>
19114+ <constant name="KEY_braille_dots_234"
19115+ value="16787470"
19116+ c:type="GDK_KEY_braille_dots_234">
19117+ <source-position filename="gdk/gdkkeysyms.h" line="1816"/>
19118+ <type name="gint" c:type="gint"/>
19119+ </constant>
19120+ <constant name="KEY_braille_dots_2345"
19121+ value="16787486"
19122+ c:type="GDK_KEY_braille_dots_2345">
19123+ <source-position filename="gdk/gdkkeysyms.h" line="1832"/>
19124+ <type name="gint" c:type="gint"/>
19125+ </constant>
19126+ <constant name="KEY_braille_dots_23456"
19127+ value="16787518"
19128+ c:type="GDK_KEY_braille_dots_23456">
19129+ <source-position filename="gdk/gdkkeysyms.h" line="1864"/>
19130+ <type name="gint" c:type="gint"/>
19131+ </constant>
19132+ <constant name="KEY_braille_dots_234567"
19133+ value="16787582"
19134+ c:type="GDK_KEY_braille_dots_234567">
19135+ <source-position filename="gdk/gdkkeysyms.h" line="1928"/>
19136+ <type name="gint" c:type="gint"/>
19137+ </constant>
19138+ <constant name="KEY_braille_dots_2345678"
19139+ value="16787710"
19140+ c:type="GDK_KEY_braille_dots_2345678">
19141+ <source-position filename="gdk/gdkkeysyms.h" line="2056"/>
19142+ <type name="gint" c:type="gint"/>
19143+ </constant>
19144+ <constant name="KEY_braille_dots_234568"
19145+ value="16787646"
19146+ c:type="GDK_KEY_braille_dots_234568">
19147+ <source-position filename="gdk/gdkkeysyms.h" line="1992"/>
19148+ <type name="gint" c:type="gint"/>
19149+ </constant>
19150+ <constant name="KEY_braille_dots_23457"
19151+ value="16787550"
19152+ c:type="GDK_KEY_braille_dots_23457">
19153+ <source-position filename="gdk/gdkkeysyms.h" line="1896"/>
19154+ <type name="gint" c:type="gint"/>
19155+ </constant>
19156+ <constant name="KEY_braille_dots_234578"
19157+ value="16787678"
19158+ c:type="GDK_KEY_braille_dots_234578">
19159+ <source-position filename="gdk/gdkkeysyms.h" line="2024"/>
19160+ <type name="gint" c:type="gint"/>
19161+ </constant>
19162+ <constant name="KEY_braille_dots_23458"
19163+ value="16787614"
19164+ c:type="GDK_KEY_braille_dots_23458">
19165+ <source-position filename="gdk/gdkkeysyms.h" line="1960"/>
19166+ <type name="gint" c:type="gint"/>
19167+ </constant>
19168+ <constant name="KEY_braille_dots_2346"
19169+ value="16787502"
19170+ c:type="GDK_KEY_braille_dots_2346">
19171+ <source-position filename="gdk/gdkkeysyms.h" line="1848"/>
19172+ <type name="gint" c:type="gint"/>
19173+ </constant>
19174+ <constant name="KEY_braille_dots_23467"
19175+ value="16787566"
19176+ c:type="GDK_KEY_braille_dots_23467">
19177+ <source-position filename="gdk/gdkkeysyms.h" line="1912"/>
19178+ <type name="gint" c:type="gint"/>
19179+ </constant>
19180+ <constant name="KEY_braille_dots_234678"
19181+ value="16787694"
19182+ c:type="GDK_KEY_braille_dots_234678">
19183+ <source-position filename="gdk/gdkkeysyms.h" line="2040"/>
19184+ <type name="gint" c:type="gint"/>
19185+ </constant>
19186+ <constant name="KEY_braille_dots_23468"
19187+ value="16787630"
19188+ c:type="GDK_KEY_braille_dots_23468">
19189+ <source-position filename="gdk/gdkkeysyms.h" line="1976"/>
19190+ <type name="gint" c:type="gint"/>
19191+ </constant>
19192+ <constant name="KEY_braille_dots_2347"
19193+ value="16787534"
19194+ c:type="GDK_KEY_braille_dots_2347">
19195+ <source-position filename="gdk/gdkkeysyms.h" line="1880"/>
19196+ <type name="gint" c:type="gint"/>
19197+ </constant>
19198+ <constant name="KEY_braille_dots_23478"
19199+ value="16787662"
19200+ c:type="GDK_KEY_braille_dots_23478">
19201+ <source-position filename="gdk/gdkkeysyms.h" line="2008"/>
19202+ <type name="gint" c:type="gint"/>
19203+ </constant>
19204+ <constant name="KEY_braille_dots_2348"
19205+ value="16787598"
19206+ c:type="GDK_KEY_braille_dots_2348">
19207+ <source-position filename="gdk/gdkkeysyms.h" line="1944"/>
19208+ <type name="gint" c:type="gint"/>
19209+ </constant>
19210+ <constant name="KEY_braille_dots_235"
19211+ value="16787478"
19212+ c:type="GDK_KEY_braille_dots_235">
19213+ <source-position filename="gdk/gdkkeysyms.h" line="1824"/>
19214+ <type name="gint" c:type="gint"/>
19215+ </constant>
19216+ <constant name="KEY_braille_dots_2356"
19217+ value="16787510"
19218+ c:type="GDK_KEY_braille_dots_2356">
19219+ <source-position filename="gdk/gdkkeysyms.h" line="1856"/>
19220+ <type name="gint" c:type="gint"/>
19221+ </constant>
19222+ <constant name="KEY_braille_dots_23567"
19223+ value="16787574"
19224+ c:type="GDK_KEY_braille_dots_23567">
19225+ <source-position filename="gdk/gdkkeysyms.h" line="1920"/>
19226+ <type name="gint" c:type="gint"/>
19227+ </constant>
19228+ <constant name="KEY_braille_dots_235678"
19229+ value="16787702"
19230+ c:type="GDK_KEY_braille_dots_235678">
19231+ <source-position filename="gdk/gdkkeysyms.h" line="2048"/>
19232+ <type name="gint" c:type="gint"/>
19233+ </constant>
19234+ <constant name="KEY_braille_dots_23568"
19235+ value="16787638"
19236+ c:type="GDK_KEY_braille_dots_23568">
19237+ <source-position filename="gdk/gdkkeysyms.h" line="1984"/>
19238+ <type name="gint" c:type="gint"/>
19239+ </constant>
19240+ <constant name="KEY_braille_dots_2357"
19241+ value="16787542"
19242+ c:type="GDK_KEY_braille_dots_2357">
19243+ <source-position filename="gdk/gdkkeysyms.h" line="1888"/>
19244+ <type name="gint" c:type="gint"/>
19245+ </constant>
19246+ <constant name="KEY_braille_dots_23578"
19247+ value="16787670"
19248+ c:type="GDK_KEY_braille_dots_23578">
19249+ <source-position filename="gdk/gdkkeysyms.h" line="2016"/>
19250+ <type name="gint" c:type="gint"/>
19251+ </constant>
19252+ <constant name="KEY_braille_dots_2358"
19253+ value="16787606"
19254+ c:type="GDK_KEY_braille_dots_2358">
19255+ <source-position filename="gdk/gdkkeysyms.h" line="1952"/>
19256+ <type name="gint" c:type="gint"/>
19257+ </constant>
19258+ <constant name="KEY_braille_dots_236"
19259+ value="16787494"
19260+ c:type="GDK_KEY_braille_dots_236">
19261+ <source-position filename="gdk/gdkkeysyms.h" line="1840"/>
19262+ <type name="gint" c:type="gint"/>
19263+ </constant>
19264+ <constant name="KEY_braille_dots_2367"
19265+ value="16787558"
19266+ c:type="GDK_KEY_braille_dots_2367">
19267+ <source-position filename="gdk/gdkkeysyms.h" line="1904"/>
19268+ <type name="gint" c:type="gint"/>
19269+ </constant>
19270+ <constant name="KEY_braille_dots_23678"
19271+ value="16787686"
19272+ c:type="GDK_KEY_braille_dots_23678">
19273+ <source-position filename="gdk/gdkkeysyms.h" line="2032"/>
19274+ <type name="gint" c:type="gint"/>
19275+ </constant>
19276+ <constant name="KEY_braille_dots_2368"
19277+ value="16787622"
19278+ c:type="GDK_KEY_braille_dots_2368">
19279+ <source-position filename="gdk/gdkkeysyms.h" line="1968"/>
19280+ <type name="gint" c:type="gint"/>
19281+ </constant>
19282+ <constant name="KEY_braille_dots_237"
19283+ value="16787526"
19284+ c:type="GDK_KEY_braille_dots_237">
19285+ <source-position filename="gdk/gdkkeysyms.h" line="1872"/>
19286+ <type name="gint" c:type="gint"/>
19287+ </constant>
19288+ <constant name="KEY_braille_dots_2378"
19289+ value="16787654"
19290+ c:type="GDK_KEY_braille_dots_2378">
19291+ <source-position filename="gdk/gdkkeysyms.h" line="2000"/>
19292+ <type name="gint" c:type="gint"/>
19293+ </constant>
19294+ <constant name="KEY_braille_dots_238"
19295+ value="16787590"
19296+ c:type="GDK_KEY_braille_dots_238">
19297+ <source-position filename="gdk/gdkkeysyms.h" line="1936"/>
19298+ <type name="gint" c:type="gint"/>
19299+ </constant>
19300+ <constant name="KEY_braille_dots_24"
19301+ value="16787466"
19302+ c:type="GDK_KEY_braille_dots_24">
19303+ <source-position filename="gdk/gdkkeysyms.h" line="1812"/>
19304+ <type name="gint" c:type="gint"/>
19305+ </constant>
19306+ <constant name="KEY_braille_dots_245"
19307+ value="16787482"
19308+ c:type="GDK_KEY_braille_dots_245">
19309+ <source-position filename="gdk/gdkkeysyms.h" line="1828"/>
19310+ <type name="gint" c:type="gint"/>
19311+ </constant>
19312+ <constant name="KEY_braille_dots_2456"
19313+ value="16787514"
19314+ c:type="GDK_KEY_braille_dots_2456">
19315+ <source-position filename="gdk/gdkkeysyms.h" line="1860"/>
19316+ <type name="gint" c:type="gint"/>
19317+ </constant>
19318+ <constant name="KEY_braille_dots_24567"
19319+ value="16787578"
19320+ c:type="GDK_KEY_braille_dots_24567">
19321+ <source-position filename="gdk/gdkkeysyms.h" line="1924"/>
19322+ <type name="gint" c:type="gint"/>
19323+ </constant>
19324+ <constant name="KEY_braille_dots_245678"
19325+ value="16787706"
19326+ c:type="GDK_KEY_braille_dots_245678">
19327+ <source-position filename="gdk/gdkkeysyms.h" line="2052"/>
19328+ <type name="gint" c:type="gint"/>
19329+ </constant>
19330+ <constant name="KEY_braille_dots_24568"
19331+ value="16787642"
19332+ c:type="GDK_KEY_braille_dots_24568">
19333+ <source-position filename="gdk/gdkkeysyms.h" line="1988"/>
19334+ <type name="gint" c:type="gint"/>
19335+ </constant>
19336+ <constant name="KEY_braille_dots_2457"
19337+ value="16787546"
19338+ c:type="GDK_KEY_braille_dots_2457">
19339+ <source-position filename="gdk/gdkkeysyms.h" line="1892"/>
19340+ <type name="gint" c:type="gint"/>
19341+ </constant>
19342+ <constant name="KEY_braille_dots_24578"
19343+ value="16787674"
19344+ c:type="GDK_KEY_braille_dots_24578">
19345+ <source-position filename="gdk/gdkkeysyms.h" line="2020"/>
19346+ <type name="gint" c:type="gint"/>
19347+ </constant>
19348+ <constant name="KEY_braille_dots_2458"
19349+ value="16787610"
19350+ c:type="GDK_KEY_braille_dots_2458">
19351+ <source-position filename="gdk/gdkkeysyms.h" line="1956"/>
19352+ <type name="gint" c:type="gint"/>
19353+ </constant>
19354+ <constant name="KEY_braille_dots_246"
19355+ value="16787498"
19356+ c:type="GDK_KEY_braille_dots_246">
19357+ <source-position filename="gdk/gdkkeysyms.h" line="1844"/>
19358+ <type name="gint" c:type="gint"/>
19359+ </constant>
19360+ <constant name="KEY_braille_dots_2467"
19361+ value="16787562"
19362+ c:type="GDK_KEY_braille_dots_2467">
19363+ <source-position filename="gdk/gdkkeysyms.h" line="1908"/>
19364+ <type name="gint" c:type="gint"/>
19365+ </constant>
19366+ <constant name="KEY_braille_dots_24678"
19367+ value="16787690"
19368+ c:type="GDK_KEY_braille_dots_24678">
19369+ <source-position filename="gdk/gdkkeysyms.h" line="2036"/>
19370+ <type name="gint" c:type="gint"/>
19371+ </constant>
19372+ <constant name="KEY_braille_dots_2468"
19373+ value="16787626"
19374+ c:type="GDK_KEY_braille_dots_2468">
19375+ <source-position filename="gdk/gdkkeysyms.h" line="1972"/>
19376+ <type name="gint" c:type="gint"/>
19377+ </constant>
19378+ <constant name="KEY_braille_dots_247"
19379+ value="16787530"
19380+ c:type="GDK_KEY_braille_dots_247">
19381+ <source-position filename="gdk/gdkkeysyms.h" line="1876"/>
19382+ <type name="gint" c:type="gint"/>
19383+ </constant>
19384+ <constant name="KEY_braille_dots_2478"
19385+ value="16787658"
19386+ c:type="GDK_KEY_braille_dots_2478">
19387+ <source-position filename="gdk/gdkkeysyms.h" line="2004"/>
19388+ <type name="gint" c:type="gint"/>
19389+ </constant>
19390+ <constant name="KEY_braille_dots_248"
19391+ value="16787594"
19392+ c:type="GDK_KEY_braille_dots_248">
19393+ <source-position filename="gdk/gdkkeysyms.h" line="1940"/>
19394+ <type name="gint" c:type="gint"/>
19395+ </constant>
19396+ <constant name="KEY_braille_dots_25"
19397+ value="16787474"
19398+ c:type="GDK_KEY_braille_dots_25">
19399+ <source-position filename="gdk/gdkkeysyms.h" line="1820"/>
19400+ <type name="gint" c:type="gint"/>
19401+ </constant>
19402+ <constant name="KEY_braille_dots_256"
19403+ value="16787506"
19404+ c:type="GDK_KEY_braille_dots_256">
19405+ <source-position filename="gdk/gdkkeysyms.h" line="1852"/>
19406+ <type name="gint" c:type="gint"/>
19407+ </constant>
19408+ <constant name="KEY_braille_dots_2567"
19409+ value="16787570"
19410+ c:type="GDK_KEY_braille_dots_2567">
19411+ <source-position filename="gdk/gdkkeysyms.h" line="1916"/>
19412+ <type name="gint" c:type="gint"/>
19413+ </constant>
19414+ <constant name="KEY_braille_dots_25678"
19415+ value="16787698"
19416+ c:type="GDK_KEY_braille_dots_25678">
19417+ <source-position filename="gdk/gdkkeysyms.h" line="2044"/>
19418+ <type name="gint" c:type="gint"/>
19419+ </constant>
19420+ <constant name="KEY_braille_dots_2568"
19421+ value="16787634"
19422+ c:type="GDK_KEY_braille_dots_2568">
19423+ <source-position filename="gdk/gdkkeysyms.h" line="1980"/>
19424+ <type name="gint" c:type="gint"/>
19425+ </constant>
19426+ <constant name="KEY_braille_dots_257"
19427+ value="16787538"
19428+ c:type="GDK_KEY_braille_dots_257">
19429+ <source-position filename="gdk/gdkkeysyms.h" line="1884"/>
19430+ <type name="gint" c:type="gint"/>
19431+ </constant>
19432+ <constant name="KEY_braille_dots_2578"
19433+ value="16787666"
19434+ c:type="GDK_KEY_braille_dots_2578">
19435+ <source-position filename="gdk/gdkkeysyms.h" line="2012"/>
19436+ <type name="gint" c:type="gint"/>
19437+ </constant>
19438+ <constant name="KEY_braille_dots_258"
19439+ value="16787602"
19440+ c:type="GDK_KEY_braille_dots_258">
19441+ <source-position filename="gdk/gdkkeysyms.h" line="1948"/>
19442+ <type name="gint" c:type="gint"/>
19443+ </constant>
19444+ <constant name="KEY_braille_dots_26"
19445+ value="16787490"
19446+ c:type="GDK_KEY_braille_dots_26">
19447+ <source-position filename="gdk/gdkkeysyms.h" line="1836"/>
19448+ <type name="gint" c:type="gint"/>
19449+ </constant>
19450+ <constant name="KEY_braille_dots_267"
19451+ value="16787554"
19452+ c:type="GDK_KEY_braille_dots_267">
19453+ <source-position filename="gdk/gdkkeysyms.h" line="1900"/>
19454+ <type name="gint" c:type="gint"/>
19455+ </constant>
19456+ <constant name="KEY_braille_dots_2678"
19457+ value="16787682"
19458+ c:type="GDK_KEY_braille_dots_2678">
19459+ <source-position filename="gdk/gdkkeysyms.h" line="2028"/>
19460+ <type name="gint" c:type="gint"/>
19461+ </constant>
19462+ <constant name="KEY_braille_dots_268"
19463+ value="16787618"
19464+ c:type="GDK_KEY_braille_dots_268">
19465+ <source-position filename="gdk/gdkkeysyms.h" line="1964"/>
19466+ <type name="gint" c:type="gint"/>
19467+ </constant>
19468+ <constant name="KEY_braille_dots_27"
19469+ value="16787522"
19470+ c:type="GDK_KEY_braille_dots_27">
19471+ <source-position filename="gdk/gdkkeysyms.h" line="1868"/>
19472+ <type name="gint" c:type="gint"/>
19473+ </constant>
19474+ <constant name="KEY_braille_dots_278"
19475+ value="16787650"
19476+ c:type="GDK_KEY_braille_dots_278">
19477+ <source-position filename="gdk/gdkkeysyms.h" line="1996"/>
19478+ <type name="gint" c:type="gint"/>
19479+ </constant>
19480+ <constant name="KEY_braille_dots_28"
19481+ value="16787586"
19482+ c:type="GDK_KEY_braille_dots_28">
19483+ <source-position filename="gdk/gdkkeysyms.h" line="1932"/>
19484+ <type name="gint" c:type="gint"/>
19485+ </constant>
19486+ <constant name="KEY_braille_dots_3"
19487+ value="16787460"
19488+ c:type="GDK_KEY_braille_dots_3">
19489+ <source-position filename="gdk/gdkkeysyms.h" line="1806"/>
19490+ <type name="gint" c:type="gint"/>
19491+ </constant>
19492+ <constant name="KEY_braille_dots_34"
19493+ value="16787468"
19494+ c:type="GDK_KEY_braille_dots_34">
19495+ <source-position filename="gdk/gdkkeysyms.h" line="1814"/>
19496+ <type name="gint" c:type="gint"/>
19497+ </constant>
19498+ <constant name="KEY_braille_dots_345"
19499+ value="16787484"
19500+ c:type="GDK_KEY_braille_dots_345">
19501+ <source-position filename="gdk/gdkkeysyms.h" line="1830"/>
19502+ <type name="gint" c:type="gint"/>
19503+ </constant>
19504+ <constant name="KEY_braille_dots_3456"
19505+ value="16787516"
19506+ c:type="GDK_KEY_braille_dots_3456">
19507+ <source-position filename="gdk/gdkkeysyms.h" line="1862"/>
19508+ <type name="gint" c:type="gint"/>
19509+ </constant>
19510+ <constant name="KEY_braille_dots_34567"
19511+ value="16787580"
19512+ c:type="GDK_KEY_braille_dots_34567">
19513+ <source-position filename="gdk/gdkkeysyms.h" line="1926"/>
19514+ <type name="gint" c:type="gint"/>
19515+ </constant>
19516+ <constant name="KEY_braille_dots_345678"
19517+ value="16787708"
19518+ c:type="GDK_KEY_braille_dots_345678">
19519+ <source-position filename="gdk/gdkkeysyms.h" line="2054"/>
19520+ <type name="gint" c:type="gint"/>
19521+ </constant>
19522+ <constant name="KEY_braille_dots_34568"
19523+ value="16787644"
19524+ c:type="GDK_KEY_braille_dots_34568">
19525+ <source-position filename="gdk/gdkkeysyms.h" line="1990"/>
19526+ <type name="gint" c:type="gint"/>
19527+ </constant>
19528+ <constant name="KEY_braille_dots_3457"
19529+ value="16787548"
19530+ c:type="GDK_KEY_braille_dots_3457">
19531+ <source-position filename="gdk/gdkkeysyms.h" line="1894"/>
19532+ <type name="gint" c:type="gint"/>
19533+ </constant>
19534+ <constant name="KEY_braille_dots_34578"
19535+ value="16787676"
19536+ c:type="GDK_KEY_braille_dots_34578">
19537+ <source-position filename="gdk/gdkkeysyms.h" line="2022"/>
19538+ <type name="gint" c:type="gint"/>
19539+ </constant>
19540+ <constant name="KEY_braille_dots_3458"
19541+ value="16787612"
19542+ c:type="GDK_KEY_braille_dots_3458">
19543+ <source-position filename="gdk/gdkkeysyms.h" line="1958"/>
19544+ <type name="gint" c:type="gint"/>
19545+ </constant>
19546+ <constant name="KEY_braille_dots_346"
19547+ value="16787500"
19548+ c:type="GDK_KEY_braille_dots_346">
19549+ <source-position filename="gdk/gdkkeysyms.h" line="1846"/>
19550+ <type name="gint" c:type="gint"/>
19551+ </constant>
19552+ <constant name="KEY_braille_dots_3467"
19553+ value="16787564"
19554+ c:type="GDK_KEY_braille_dots_3467">
19555+ <source-position filename="gdk/gdkkeysyms.h" line="1910"/>
19556+ <type name="gint" c:type="gint"/>
19557+ </constant>
19558+ <constant name="KEY_braille_dots_34678"
19559+ value="16787692"
19560+ c:type="GDK_KEY_braille_dots_34678">
19561+ <source-position filename="gdk/gdkkeysyms.h" line="2038"/>
19562+ <type name="gint" c:type="gint"/>
19563+ </constant>
19564+ <constant name="KEY_braille_dots_3468"
19565+ value="16787628"
19566+ c:type="GDK_KEY_braille_dots_3468">
19567+ <source-position filename="gdk/gdkkeysyms.h" line="1974"/>
19568+ <type name="gint" c:type="gint"/>
19569+ </constant>
19570+ <constant name="KEY_braille_dots_347"
19571+ value="16787532"
19572+ c:type="GDK_KEY_braille_dots_347">
19573+ <source-position filename="gdk/gdkkeysyms.h" line="1878"/>
19574+ <type name="gint" c:type="gint"/>
19575+ </constant>
19576+ <constant name="KEY_braille_dots_3478"
19577+ value="16787660"
19578+ c:type="GDK_KEY_braille_dots_3478">
19579+ <source-position filename="gdk/gdkkeysyms.h" line="2006"/>
19580+ <type name="gint" c:type="gint"/>
19581+ </constant>
19582+ <constant name="KEY_braille_dots_348"
19583+ value="16787596"
19584+ c:type="GDK_KEY_braille_dots_348">
19585+ <source-position filename="gdk/gdkkeysyms.h" line="1942"/>
19586+ <type name="gint" c:type="gint"/>
19587+ </constant>
19588+ <constant name="KEY_braille_dots_35"
19589+ value="16787476"
19590+ c:type="GDK_KEY_braille_dots_35">
19591+ <source-position filename="gdk/gdkkeysyms.h" line="1822"/>
19592+ <type name="gint" c:type="gint"/>
19593+ </constant>
19594+ <constant name="KEY_braille_dots_356"
19595+ value="16787508"
19596+ c:type="GDK_KEY_braille_dots_356">
19597+ <source-position filename="gdk/gdkkeysyms.h" line="1854"/>
19598+ <type name="gint" c:type="gint"/>
19599+ </constant>
19600+ <constant name="KEY_braille_dots_3567"
19601+ value="16787572"
19602+ c:type="GDK_KEY_braille_dots_3567">
19603+ <source-position filename="gdk/gdkkeysyms.h" line="1918"/>
19604+ <type name="gint" c:type="gint"/>
19605+ </constant>
19606+ <constant name="KEY_braille_dots_35678"
19607+ value="16787700"
19608+ c:type="GDK_KEY_braille_dots_35678">
19609+ <source-position filename="gdk/gdkkeysyms.h" line="2046"/>
19610+ <type name="gint" c:type="gint"/>
19611+ </constant>
19612+ <constant name="KEY_braille_dots_3568"
19613+ value="16787636"
19614+ c:type="GDK_KEY_braille_dots_3568">
19615+ <source-position filename="gdk/gdkkeysyms.h" line="1982"/>
19616+ <type name="gint" c:type="gint"/>
19617+ </constant>
19618+ <constant name="KEY_braille_dots_357"
19619+ value="16787540"
19620+ c:type="GDK_KEY_braille_dots_357">
19621+ <source-position filename="gdk/gdkkeysyms.h" line="1886"/>
19622+ <type name="gint" c:type="gint"/>
19623+ </constant>
19624+ <constant name="KEY_braille_dots_3578"
19625+ value="16787668"
19626+ c:type="GDK_KEY_braille_dots_3578">
19627+ <source-position filename="gdk/gdkkeysyms.h" line="2014"/>
19628+ <type name="gint" c:type="gint"/>
19629+ </constant>
19630+ <constant name="KEY_braille_dots_358"
19631+ value="16787604"
19632+ c:type="GDK_KEY_braille_dots_358">
19633+ <source-position filename="gdk/gdkkeysyms.h" line="1950"/>
19634+ <type name="gint" c:type="gint"/>
19635+ </constant>
19636+ <constant name="KEY_braille_dots_36"
19637+ value="16787492"
19638+ c:type="GDK_KEY_braille_dots_36">
19639+ <source-position filename="gdk/gdkkeysyms.h" line="1838"/>
19640+ <type name="gint" c:type="gint"/>
19641+ </constant>
19642+ <constant name="KEY_braille_dots_367"
19643+ value="16787556"
19644+ c:type="GDK_KEY_braille_dots_367">
19645+ <source-position filename="gdk/gdkkeysyms.h" line="1902"/>
19646+ <type name="gint" c:type="gint"/>
19647+ </constant>
19648+ <constant name="KEY_braille_dots_3678"
19649+ value="16787684"
19650+ c:type="GDK_KEY_braille_dots_3678">
19651+ <source-position filename="gdk/gdkkeysyms.h" line="2030"/>
19652+ <type name="gint" c:type="gint"/>
19653+ </constant>
19654+ <constant name="KEY_braille_dots_368"
19655+ value="16787620"
19656+ c:type="GDK_KEY_braille_dots_368">
19657+ <source-position filename="gdk/gdkkeysyms.h" line="1966"/>
19658+ <type name="gint" c:type="gint"/>
19659+ </constant>
19660+ <constant name="KEY_braille_dots_37"
19661+ value="16787524"
19662+ c:type="GDK_KEY_braille_dots_37">
19663+ <source-position filename="gdk/gdkkeysyms.h" line="1870"/>
19664+ <type name="gint" c:type="gint"/>
19665+ </constant>
19666+ <constant name="KEY_braille_dots_378"
19667+ value="16787652"
19668+ c:type="GDK_KEY_braille_dots_378">
19669+ <source-position filename="gdk/gdkkeysyms.h" line="1998"/>
19670+ <type name="gint" c:type="gint"/>
19671+ </constant>
19672+ <constant name="KEY_braille_dots_38"
19673+ value="16787588"
19674+ c:type="GDK_KEY_braille_dots_38">
19675+ <source-position filename="gdk/gdkkeysyms.h" line="1934"/>
19676+ <type name="gint" c:type="gint"/>
19677+ </constant>
19678+ <constant name="KEY_braille_dots_4"
19679+ value="16787464"
19680+ c:type="GDK_KEY_braille_dots_4">
19681+ <source-position filename="gdk/gdkkeysyms.h" line="1810"/>
19682+ <type name="gint" c:type="gint"/>
19683+ </constant>
19684+ <constant name="KEY_braille_dots_45"
19685+ value="16787480"
19686+ c:type="GDK_KEY_braille_dots_45">
19687+ <source-position filename="gdk/gdkkeysyms.h" line="1826"/>
19688+ <type name="gint" c:type="gint"/>
19689+ </constant>
19690+ <constant name="KEY_braille_dots_456"
19691+ value="16787512"
19692+ c:type="GDK_KEY_braille_dots_456">
19693+ <source-position filename="gdk/gdkkeysyms.h" line="1858"/>
19694+ <type name="gint" c:type="gint"/>
19695+ </constant>
19696+ <constant name="KEY_braille_dots_4567"
19697+ value="16787576"
19698+ c:type="GDK_KEY_braille_dots_4567">
19699+ <source-position filename="gdk/gdkkeysyms.h" line="1922"/>
19700+ <type name="gint" c:type="gint"/>
19701+ </constant>
19702+ <constant name="KEY_braille_dots_45678"
19703+ value="16787704"
19704+ c:type="GDK_KEY_braille_dots_45678">
19705+ <source-position filename="gdk/gdkkeysyms.h" line="2050"/>
19706+ <type name="gint" c:type="gint"/>
19707+ </constant>
19708+ <constant name="KEY_braille_dots_4568"
19709+ value="16787640"
19710+ c:type="GDK_KEY_braille_dots_4568">
19711+ <source-position filename="gdk/gdkkeysyms.h" line="1986"/>
19712+ <type name="gint" c:type="gint"/>
19713+ </constant>
19714+ <constant name="KEY_braille_dots_457"
19715+ value="16787544"
19716+ c:type="GDK_KEY_braille_dots_457">
19717+ <source-position filename="gdk/gdkkeysyms.h" line="1890"/>
19718+ <type name="gint" c:type="gint"/>
19719+ </constant>
19720+ <constant name="KEY_braille_dots_4578"
19721+ value="16787672"
19722+ c:type="GDK_KEY_braille_dots_4578">
19723+ <source-position filename="gdk/gdkkeysyms.h" line="2018"/>
19724+ <type name="gint" c:type="gint"/>
19725+ </constant>
19726+ <constant name="KEY_braille_dots_458"
19727+ value="16787608"
19728+ c:type="GDK_KEY_braille_dots_458">
19729+ <source-position filename="gdk/gdkkeysyms.h" line="1954"/>
19730+ <type name="gint" c:type="gint"/>
19731+ </constant>
19732+ <constant name="KEY_braille_dots_46"
19733+ value="16787496"
19734+ c:type="GDK_KEY_braille_dots_46">
19735+ <source-position filename="gdk/gdkkeysyms.h" line="1842"/>
19736+ <type name="gint" c:type="gint"/>
19737+ </constant>
19738+ <constant name="KEY_braille_dots_467"
19739+ value="16787560"
19740+ c:type="GDK_KEY_braille_dots_467">
19741+ <source-position filename="gdk/gdkkeysyms.h" line="1906"/>
19742+ <type name="gint" c:type="gint"/>
19743+ </constant>
19744+ <constant name="KEY_braille_dots_4678"
19745+ value="16787688"
19746+ c:type="GDK_KEY_braille_dots_4678">
19747+ <source-position filename="gdk/gdkkeysyms.h" line="2034"/>
19748+ <type name="gint" c:type="gint"/>
19749+ </constant>
19750+ <constant name="KEY_braille_dots_468"
19751+ value="16787624"
19752+ c:type="GDK_KEY_braille_dots_468">
19753+ <source-position filename="gdk/gdkkeysyms.h" line="1970"/>
19754+ <type name="gint" c:type="gint"/>
19755+ </constant>
19756+ <constant name="KEY_braille_dots_47"
19757+ value="16787528"
19758+ c:type="GDK_KEY_braille_dots_47">
19759+ <source-position filename="gdk/gdkkeysyms.h" line="1874"/>
19760+ <type name="gint" c:type="gint"/>
19761+ </constant>
19762+ <constant name="KEY_braille_dots_478"
19763+ value="16787656"
19764+ c:type="GDK_KEY_braille_dots_478">
19765+ <source-position filename="gdk/gdkkeysyms.h" line="2002"/>
19766+ <type name="gint" c:type="gint"/>
19767+ </constant>
19768+ <constant name="KEY_braille_dots_48"
19769+ value="16787592"
19770+ c:type="GDK_KEY_braille_dots_48">
19771+ <source-position filename="gdk/gdkkeysyms.h" line="1938"/>
19772+ <type name="gint" c:type="gint"/>
19773+ </constant>
19774+ <constant name="KEY_braille_dots_5"
19775+ value="16787472"
19776+ c:type="GDK_KEY_braille_dots_5">
19777+ <source-position filename="gdk/gdkkeysyms.h" line="1818"/>
19778+ <type name="gint" c:type="gint"/>
19779+ </constant>
19780+ <constant name="KEY_braille_dots_56"
19781+ value="16787504"
19782+ c:type="GDK_KEY_braille_dots_56">
19783+ <source-position filename="gdk/gdkkeysyms.h" line="1850"/>
19784+ <type name="gint" c:type="gint"/>
19785+ </constant>
19786+ <constant name="KEY_braille_dots_567"
19787+ value="16787568"
19788+ c:type="GDK_KEY_braille_dots_567">
19789+ <source-position filename="gdk/gdkkeysyms.h" line="1914"/>
19790+ <type name="gint" c:type="gint"/>
19791+ </constant>
19792+ <constant name="KEY_braille_dots_5678"
19793+ value="16787696"
19794+ c:type="GDK_KEY_braille_dots_5678">
19795+ <source-position filename="gdk/gdkkeysyms.h" line="2042"/>
19796+ <type name="gint" c:type="gint"/>
19797+ </constant>
19798+ <constant name="KEY_braille_dots_568"
19799+ value="16787632"
19800+ c:type="GDK_KEY_braille_dots_568">
19801+ <source-position filename="gdk/gdkkeysyms.h" line="1978"/>
19802+ <type name="gint" c:type="gint"/>
19803+ </constant>
19804+ <constant name="KEY_braille_dots_57"
19805+ value="16787536"
19806+ c:type="GDK_KEY_braille_dots_57">
19807+ <source-position filename="gdk/gdkkeysyms.h" line="1882"/>
19808+ <type name="gint" c:type="gint"/>
19809+ </constant>
19810+ <constant name="KEY_braille_dots_578"
19811+ value="16787664"
19812+ c:type="GDK_KEY_braille_dots_578">
19813+ <source-position filename="gdk/gdkkeysyms.h" line="2010"/>
19814+ <type name="gint" c:type="gint"/>
19815+ </constant>
19816+ <constant name="KEY_braille_dots_58"
19817+ value="16787600"
19818+ c:type="GDK_KEY_braille_dots_58">
19819+ <source-position filename="gdk/gdkkeysyms.h" line="1946"/>
19820+ <type name="gint" c:type="gint"/>
19821+ </constant>
19822+ <constant name="KEY_braille_dots_6"
19823+ value="16787488"
19824+ c:type="GDK_KEY_braille_dots_6">
19825+ <source-position filename="gdk/gdkkeysyms.h" line="1834"/>
19826+ <type name="gint" c:type="gint"/>
19827+ </constant>
19828+ <constant name="KEY_braille_dots_67"
19829+ value="16787552"
19830+ c:type="GDK_KEY_braille_dots_67">
19831+ <source-position filename="gdk/gdkkeysyms.h" line="1898"/>
19832+ <type name="gint" c:type="gint"/>
19833+ </constant>
19834+ <constant name="KEY_braille_dots_678"
19835+ value="16787680"
19836+ c:type="GDK_KEY_braille_dots_678">
19837+ <source-position filename="gdk/gdkkeysyms.h" line="2026"/>
19838+ <type name="gint" c:type="gint"/>
19839+ </constant>
19840+ <constant name="KEY_braille_dots_68"
19841+ value="16787616"
19842+ c:type="GDK_KEY_braille_dots_68">
19843+ <source-position filename="gdk/gdkkeysyms.h" line="1962"/>
19844+ <type name="gint" c:type="gint"/>
19845+ </constant>
19846+ <constant name="KEY_braille_dots_7"
19847+ value="16787520"
19848+ c:type="GDK_KEY_braille_dots_7">
19849+ <source-position filename="gdk/gdkkeysyms.h" line="1866"/>
19850+ <type name="gint" c:type="gint"/>
19851+ </constant>
19852+ <constant name="KEY_braille_dots_78"
19853+ value="16787648"
19854+ c:type="GDK_KEY_braille_dots_78">
19855+ <source-position filename="gdk/gdkkeysyms.h" line="1994"/>
19856+ <type name="gint" c:type="gint"/>
19857+ </constant>
19858+ <constant name="KEY_braille_dots_8"
19859+ value="16787584"
19860+ c:type="GDK_KEY_braille_dots_8">
19861+ <source-position filename="gdk/gdkkeysyms.h" line="1930"/>
19862+ <type name="gint" c:type="gint"/>
19863+ </constant>
19864+ <constant name="KEY_breve" value="418" c:type="GDK_KEY_breve">
19865+ <source-position filename="gdk/gdkkeysyms.h" line="583"/>
19866+ <type name="gint" c:type="gint"/>
19867+ </constant>
19868+ <constant name="KEY_brokenbar" value="166" c:type="GDK_KEY_brokenbar">
19869+ <source-position filename="gdk/gdkkeysyms.h" line="488"/>
19870+ <type name="gint" c:type="gint"/>
19871+ </constant>
19872+ <constant name="KEY_c" value="99" c:type="GDK_KEY_c">
19873+ <source-position filename="gdk/gdkkeysyms.h" line="454"/>
19874+ <type name="gint" c:type="gint"/>
19875+ </constant>
19876+ <constant name="KEY_c_h" value="65187" c:type="GDK_KEY_c_h">
19877+ <source-position filename="gdk/gdkkeysyms.h" line="352"/>
19878+ <type name="gint" c:type="gint"/>
19879+ </constant>
19880+ <constant name="KEY_cabovedot" value="741" c:type="GDK_KEY_cabovedot">
19881+ <source-position filename="gdk/gdkkeysyms.h" line="655"/>
19882+ <type name="gint" c:type="gint"/>
19883+ </constant>
19884+ <constant name="KEY_cacute" value="486" c:type="GDK_KEY_cacute">
19885+ <source-position filename="gdk/gdkkeysyms.h" line="625"/>
19886+ <type name="gint" c:type="gint"/>
19887+ </constant>
19888+ <constant name="KEY_careof" value="2744" c:type="GDK_KEY_careof">
19889+ <source-position filename="gdk/gdkkeysyms.h" line="1195"/>
19890+ <type name="gint" c:type="gint"/>
19891+ </constant>
19892+ <constant name="KEY_caret" value="2812" c:type="GDK_KEY_caret">
19893+ <source-position filename="gdk/gdkkeysyms.h" line="1254"/>
19894+ <type name="gint" c:type="gint"/>
19895+ </constant>
19896+ <constant name="KEY_caron" value="439" c:type="GDK_KEY_caron">
19897+ <source-position filename="gdk/gdkkeysyms.h" line="598"/>
19898+ <type name="gint" c:type="gint"/>
19899+ </constant>
19900+ <constant name="KEY_ccaron" value="488" c:type="GDK_KEY_ccaron">
19901+ <source-position filename="gdk/gdkkeysyms.h" line="626"/>
19902+ <type name="gint" c:type="gint"/>
19903+ </constant>
19904+ <constant name="KEY_ccedilla" value="231" c:type="GDK_KEY_ccedilla">
19905+ <source-position filename="gdk/gdkkeysyms.h" line="556"/>
19906+ <type name="gint" c:type="gint"/>
19907+ </constant>
19908+ <constant name="KEY_ccircumflex" value="742" c:type="GDK_KEY_ccircumflex">
19909+ <source-position filename="gdk/gdkkeysyms.h" line="656"/>
19910+ <type name="gint" c:type="gint"/>
19911+ </constant>
19912+ <constant name="KEY_cedilla" value="184" c:type="GDK_KEY_cedilla">
19913+ <source-position filename="gdk/gdkkeysyms.h" line="506"/>
19914+ <type name="gint" c:type="gint"/>
19915+ </constant>
19916+ <constant name="KEY_cent" value="162" c:type="GDK_KEY_cent">
19917+ <source-position filename="gdk/gdkkeysyms.h" line="484"/>
19918+ <type name="gint" c:type="gint"/>
19919+ </constant>
19920+ <constant name="KEY_ch" value="65184" c:type="GDK_KEY_ch">
19921+ <source-position filename="gdk/gdkkeysyms.h" line="349"/>
19922+ <type name="gint" c:type="gint"/>
19923+ </constant>
19924+ <constant name="KEY_checkerboard"
19925+ value="2529"
19926+ c:type="GDK_KEY_checkerboard">
19927+ <source-position filename="gdk/gdkkeysyms.h" line="1152"/>
19928+ <type name="gint" c:type="gint"/>
19929+ </constant>
19930+ <constant name="KEY_checkmark" value="2803" c:type="GDK_KEY_checkmark">
19931+ <source-position filename="gdk/gdkkeysyms.h" line="1245"/>
19932+ <type name="gint" c:type="gint"/>
19933+ </constant>
19934+ <constant name="KEY_circle" value="3023" c:type="GDK_KEY_circle">
19935+ <source-position filename="gdk/gdkkeysyms.h" line="1270"/>
19936+ <type name="gint" c:type="gint"/>
19937+ </constant>
19938+ <constant name="KEY_club" value="2796" c:type="GDK_KEY_club">
19939+ <source-position filename="gdk/gdkkeysyms.h" line="1239"/>
19940+ <type name="gint" c:type="gint"/>
19941+ </constant>
19942+ <constant name="KEY_colon" value="58" c:type="GDK_KEY_colon">
19943+ <source-position filename="gdk/gdkkeysyms.h" line="412"/>
19944+ <type name="gint" c:type="gint"/>
19945+ </constant>
19946+ <constant name="KEY_comma" value="44" c:type="GDK_KEY_comma">
19947+ <source-position filename="gdk/gdkkeysyms.h" line="398"/>
19948+ <type name="gint" c:type="gint"/>
19949+ </constant>
19950+ <constant name="KEY_containsas"
19951+ value="16785931"
19952+ c:type="GDK_KEY_containsas">
19953+ <source-position filename="gdk/gdkkeysyms.h" line="1781"/>
19954+ <type name="gint" c:type="gint"/>
19955+ </constant>
19956+ <constant name="KEY_copyright" value="169" c:type="GDK_KEY_copyright">
19957+ <source-position filename="gdk/gdkkeysyms.h" line="491"/>
19958+ <type name="gint" c:type="gint"/>
19959+ </constant>
19960+ <constant name="KEY_cr" value="2532" c:type="GDK_KEY_cr">
19961+ <source-position filename="gdk/gdkkeysyms.h" line="1155"/>
19962+ <type name="gint" c:type="gint"/>
19963+ </constant>
19964+ <constant name="KEY_crossinglines"
19965+ value="2542"
19966+ c:type="GDK_KEY_crossinglines">
19967+ <source-position filename="gdk/gdkkeysyms.h" line="1163"/>
19968+ <type name="gint" c:type="gint"/>
19969+ </constant>
19970+ <constant name="KEY_cuberoot" value="16785947" c:type="GDK_KEY_cuberoot">
19971+ <source-position filename="gdk/gdkkeysyms.h" line="1783"/>
19972+ <type name="gint" c:type="gint"/>
19973+ </constant>
19974+ <constant name="KEY_currency" value="164" c:type="GDK_KEY_currency">
19975+ <source-position filename="gdk/gdkkeysyms.h" line="486"/>
19976+ <type name="gint" c:type="gint"/>
19977+ </constant>
19978+ <constant name="KEY_cursor" value="2815" c:type="GDK_KEY_cursor">
19979+ <source-position filename="gdk/gdkkeysyms.h" line="1257"/>
19980+ <type name="gint" c:type="gint"/>
19981+ </constant>
19982+ <constant name="KEY_d" value="100" c:type="GDK_KEY_d">
19983+ <source-position filename="gdk/gdkkeysyms.h" line="455"/>
19984+ <type name="gint" c:type="gint"/>
19985+ </constant>
19986+ <constant name="KEY_dabovedot" value="16784907" c:type="GDK_KEY_dabovedot">
19987+ <source-position filename="gdk/gdkkeysyms.h" line="704"/>
19988+ <type name="gint" c:type="gint"/>
19989+ </constant>
19990+ <constant name="KEY_dagger" value="2801" c:type="GDK_KEY_dagger">
19991+ <source-position filename="gdk/gdkkeysyms.h" line="1243"/>
19992+ <type name="gint" c:type="gint"/>
19993+ </constant>
19994+ <constant name="KEY_dcaron" value="495" c:type="GDK_KEY_dcaron">
19995+ <source-position filename="gdk/gdkkeysyms.h" line="629"/>
19996+ <type name="gint" c:type="gint"/>
19997+ </constant>
19998+ <constant name="KEY_dead_A" value="65153" c:type="GDK_KEY_dead_A">
19999+ <source-position filename="gdk/gdkkeysyms.h" line="291"/>
20000+ <type name="gint" c:type="gint"/>
20001+ </constant>
20002+ <constant name="KEY_dead_E" value="65155" c:type="GDK_KEY_dead_E">
20003+ <source-position filename="gdk/gdkkeysyms.h" line="293"/>
20004+ <type name="gint" c:type="gint"/>
20005+ </constant>
20006+ <constant name="KEY_dead_I" value="65157" c:type="GDK_KEY_dead_I">
20007+ <source-position filename="gdk/gdkkeysyms.h" line="295"/>
20008+ <type name="gint" c:type="gint"/>
20009+ </constant>
20010+ <constant name="KEY_dead_O" value="65159" c:type="GDK_KEY_dead_O">
20011+ <source-position filename="gdk/gdkkeysyms.h" line="297"/>
20012+ <type name="gint" c:type="gint"/>
20013+ </constant>
20014+ <constant name="KEY_dead_U" value="65161" c:type="GDK_KEY_dead_U">
20015+ <source-position filename="gdk/gdkkeysyms.h" line="299"/>
20016+ <type name="gint" c:type="gint"/>
20017+ </constant>
20018+ <constant name="KEY_dead_a" value="65152" c:type="GDK_KEY_dead_a">
20019+ <source-position filename="gdk/gdkkeysyms.h" line="290"/>
20020+ <type name="gint" c:type="gint"/>
20021+ </constant>
20022+ <constant name="KEY_dead_abovecomma"
20023+ value="65124"
20024+ c:type="GDK_KEY_dead_abovecomma">
20025+ <source-position filename="gdk/gdkkeysyms.h" line="272"/>
20026+ <type name="gint" c:type="gint"/>
20027+ </constant>
20028+ <constant name="KEY_dead_abovedot"
20029+ value="65110"
20030+ c:type="GDK_KEY_dead_abovedot">
20031+ <source-position filename="gdk/gdkkeysyms.h" line="258"/>
20032+ <type name="gint" c:type="gint"/>
20033+ </constant>
20034+ <constant name="KEY_dead_abovereversedcomma"
20035+ value="65125"
20036+ c:type="GDK_KEY_dead_abovereversedcomma">
20037+ <source-position filename="gdk/gdkkeysyms.h" line="274"/>
20038+ <type name="gint" c:type="gint"/>
20039+ </constant>
20040+ <constant name="KEY_dead_abovering"
20041+ value="65112"
20042+ c:type="GDK_KEY_dead_abovering">
20043+ <source-position filename="gdk/gdkkeysyms.h" line="260"/>
20044+ <type name="gint" c:type="gint"/>
20045+ </constant>
20046+ <constant name="KEY_dead_aboveverticalline"
20047+ value="65169"
20048+ c:type="GDK_KEY_dead_aboveverticalline">
20049+ <source-position filename="gdk/gdkkeysyms.h" line="287"/>
20050+ <type name="gint" c:type="gint"/>
20051+ </constant>
20052+ <constant name="KEY_dead_acute" value="65105" c:type="GDK_KEY_dead_acute">
20053+ <source-position filename="gdk/gdkkeysyms.h" line="252"/>
20054+ <type name="gint" c:type="gint"/>
20055+ </constant>
20056+ <constant name="KEY_dead_belowbreve"
20057+ value="65131"
20058+ c:type="GDK_KEY_dead_belowbreve">
20059+ <source-position filename="gdk/gdkkeysyms.h" line="281"/>
20060+ <type name="gint" c:type="gint"/>
20061+ </constant>
20062+ <constant name="KEY_dead_belowcircumflex"
20063+ value="65129"
20064+ c:type="GDK_KEY_dead_belowcircumflex">
20065+ <source-position filename="gdk/gdkkeysyms.h" line="279"/>
20066+ <type name="gint" c:type="gint"/>
20067+ </constant>
20068+ <constant name="KEY_dead_belowcomma"
20069+ value="65134"
20070+ c:type="GDK_KEY_dead_belowcomma">
20071+ <source-position filename="gdk/gdkkeysyms.h" line="284"/>
20072+ <type name="gint" c:type="gint"/>
20073+ </constant>
20074+ <constant name="KEY_dead_belowdiaeresis"
20075+ value="65132"
20076+ c:type="GDK_KEY_dead_belowdiaeresis">
20077+ <source-position filename="gdk/gdkkeysyms.h" line="282"/>
20078+ <type name="gint" c:type="gint"/>
20079+ </constant>
20080+ <constant name="KEY_dead_belowdot"
20081+ value="65120"
20082+ c:type="GDK_KEY_dead_belowdot">
20083+ <source-position filename="gdk/gdkkeysyms.h" line="268"/>
20084+ <type name="gint" c:type="gint"/>
20085+ </constant>
20086+ <constant name="KEY_dead_belowmacron"
20087+ value="65128"
20088+ c:type="GDK_KEY_dead_belowmacron">
20089+ <source-position filename="gdk/gdkkeysyms.h" line="278"/>
20090+ <type name="gint" c:type="gint"/>
20091+ </constant>
20092+ <constant name="KEY_dead_belowring"
20093+ value="65127"
20094+ c:type="GDK_KEY_dead_belowring">
20095+ <source-position filename="gdk/gdkkeysyms.h" line="277"/>
20096+ <type name="gint" c:type="gint"/>
20097+ </constant>
20098+ <constant name="KEY_dead_belowtilde"
20099+ value="65130"
20100+ c:type="GDK_KEY_dead_belowtilde">
20101+ <source-position filename="gdk/gdkkeysyms.h" line="280"/>
20102+ <type name="gint" c:type="gint"/>
20103+ </constant>
20104+ <constant name="KEY_dead_belowverticalline"
20105+ value="65170"
20106+ c:type="GDK_KEY_dead_belowverticalline">
20107+ <source-position filename="gdk/gdkkeysyms.h" line="288"/>
20108+ <type name="gint" c:type="gint"/>
20109+ </constant>
20110+ <constant name="KEY_dead_breve" value="65109" c:type="GDK_KEY_dead_breve">
20111+ <source-position filename="gdk/gdkkeysyms.h" line="257"/>
20112+ <type name="gint" c:type="gint"/>
20113+ </constant>
20114+ <constant name="KEY_dead_capital_schwa"
20115+ value="65163"
20116+ c:type="GDK_KEY_dead_capital_schwa">
20117+ <source-position filename="gdk/gdkkeysyms.h" line="301"/>
20118+ <type name="gint" c:type="gint"/>
20119+ </constant>
20120+ <constant name="KEY_dead_caron" value="65114" c:type="GDK_KEY_dead_caron">
20121+ <source-position filename="gdk/gdkkeysyms.h" line="262"/>
20122+ <type name="gint" c:type="gint"/>
20123+ </constant>
20124+ <constant name="KEY_dead_cedilla"
20125+ value="65115"
20126+ c:type="GDK_KEY_dead_cedilla">
20127+ <source-position filename="gdk/gdkkeysyms.h" line="263"/>
20128+ <type name="gint" c:type="gint"/>
20129+ </constant>
20130+ <constant name="KEY_dead_circumflex"
20131+ value="65106"
20132+ c:type="GDK_KEY_dead_circumflex">
20133+ <source-position filename="gdk/gdkkeysyms.h" line="253"/>
20134+ <type name="gint" c:type="gint"/>
20135+ </constant>
20136+ <constant name="KEY_dead_currency"
20137+ value="65135"
20138+ c:type="GDK_KEY_dead_currency">
20139+ <source-position filename="gdk/gdkkeysyms.h" line="285"/>
20140+ <type name="gint" c:type="gint"/>
20141+ </constant>
20142+ <constant name="KEY_dead_dasia" value="65125" c:type="GDK_KEY_dead_dasia">
20143+ <source-position filename="gdk/gdkkeysyms.h" line="275"/>
20144+ <type name="gint" c:type="gint"/>
20145+ </constant>
20146+ <constant name="KEY_dead_diaeresis"
20147+ value="65111"
20148+ c:type="GDK_KEY_dead_diaeresis">
20149+ <source-position filename="gdk/gdkkeysyms.h" line="259"/>
20150+ <type name="gint" c:type="gint"/>
20151+ </constant>
20152+ <constant name="KEY_dead_doubleacute"
20153+ value="65113"
20154+ c:type="GDK_KEY_dead_doubleacute">
20155+ <source-position filename="gdk/gdkkeysyms.h" line="261"/>
20156+ <type name="gint" c:type="gint"/>
20157+ </constant>
20158+ <constant name="KEY_dead_doublegrave"
20159+ value="65126"
20160+ c:type="GDK_KEY_dead_doublegrave">
20161+ <source-position filename="gdk/gdkkeysyms.h" line="276"/>
20162+ <type name="gint" c:type="gint"/>
20163+ </constant>
20164+ <constant name="KEY_dead_e" value="65154" c:type="GDK_KEY_dead_e">
20165+ <source-position filename="gdk/gdkkeysyms.h" line="292"/>
20166+ <type name="gint" c:type="gint"/>
20167+ </constant>
20168+ <constant name="KEY_dead_grave" value="65104" c:type="GDK_KEY_dead_grave">
20169+ <source-position filename="gdk/gdkkeysyms.h" line="251"/>
20170+ <type name="gint" c:type="gint"/>
20171+ </constant>
20172+ <constant name="KEY_dead_greek" value="65164" c:type="GDK_KEY_dead_greek">
20173+ <source-position filename="gdk/gdkkeysyms.h" line="302"/>
20174+ <type name="gint" c:type="gint"/>
20175+ </constant>
20176+ <constant name="KEY_dead_hook" value="65121" c:type="GDK_KEY_dead_hook">
20177+ <source-position filename="gdk/gdkkeysyms.h" line="269"/>
20178+ <type name="gint" c:type="gint"/>
20179+ </constant>
20180+ <constant name="KEY_dead_horn" value="65122" c:type="GDK_KEY_dead_horn">
20181+ <source-position filename="gdk/gdkkeysyms.h" line="270"/>
20182+ <type name="gint" c:type="gint"/>
20183+ </constant>
20184+ <constant name="KEY_dead_i" value="65156" c:type="GDK_KEY_dead_i">
20185+ <source-position filename="gdk/gdkkeysyms.h" line="294"/>
20186+ <type name="gint" c:type="gint"/>
20187+ </constant>
20188+ <constant name="KEY_dead_invertedbreve"
20189+ value="65133"
20190+ c:type="GDK_KEY_dead_invertedbreve">
20191+ <source-position filename="gdk/gdkkeysyms.h" line="283"/>
20192+ <type name="gint" c:type="gint"/>
20193+ </constant>
20194+ <constant name="KEY_dead_iota" value="65117" c:type="GDK_KEY_dead_iota">
20195+ <source-position filename="gdk/gdkkeysyms.h" line="265"/>
20196+ <type name="gint" c:type="gint"/>
20197+ </constant>
20198+ <constant name="KEY_dead_longsolidusoverlay"
20199+ value="65171"
20200+ c:type="GDK_KEY_dead_longsolidusoverlay">
20201+ <source-position filename="gdk/gdkkeysyms.h" line="289"/>
20202+ <type name="gint" c:type="gint"/>
20203+ </constant>
20204+ <constant name="KEY_dead_lowline"
20205+ value="65168"
20206+ c:type="GDK_KEY_dead_lowline">
20207+ <source-position filename="gdk/gdkkeysyms.h" line="286"/>
20208+ <type name="gint" c:type="gint"/>
20209+ </constant>
20210+ <constant name="KEY_dead_macron"
20211+ value="65108"
20212+ c:type="GDK_KEY_dead_macron">
20213+ <source-position filename="gdk/gdkkeysyms.h" line="256"/>
20214+ <type name="gint" c:type="gint"/>
20215+ </constant>
20216+ <constant name="KEY_dead_o" value="65158" c:type="GDK_KEY_dead_o">
20217+ <source-position filename="gdk/gdkkeysyms.h" line="296"/>
20218+ <type name="gint" c:type="gint"/>
20219+ </constant>
20220+ <constant name="KEY_dead_ogonek"
20221+ value="65116"
20222+ c:type="GDK_KEY_dead_ogonek">
20223+ <source-position filename="gdk/gdkkeysyms.h" line="264"/>
20224+ <type name="gint" c:type="gint"/>
20225+ </constant>
20226+ <constant name="KEY_dead_perispomeni"
20227+ value="65107"
20228+ c:type="GDK_KEY_dead_perispomeni">
20229+ <source-position filename="gdk/gdkkeysyms.h" line="255"/>
20230+ <type name="gint" c:type="gint"/>
20231+ </constant>
20232+ <constant name="KEY_dead_psili" value="65124" c:type="GDK_KEY_dead_psili">
20233+ <source-position filename="gdk/gdkkeysyms.h" line="273"/>
20234+ <type name="gint" c:type="gint"/>
20235+ </constant>
20236+ <constant name="KEY_dead_semivoiced_sound"
20237+ value="65119"
20238+ c:type="GDK_KEY_dead_semivoiced_sound">
20239+ <source-position filename="gdk/gdkkeysyms.h" line="267"/>
20240+ <type name="gint" c:type="gint"/>
20241+ </constant>
20242+ <constant name="KEY_dead_small_schwa"
20243+ value="65162"
20244+ c:type="GDK_KEY_dead_small_schwa">
20245+ <source-position filename="gdk/gdkkeysyms.h" line="300"/>
20246+ <type name="gint" c:type="gint"/>
20247+ </constant>
20248+ <constant name="KEY_dead_stroke"
20249+ value="65123"
20250+ c:type="GDK_KEY_dead_stroke">
20251+ <source-position filename="gdk/gdkkeysyms.h" line="271"/>
20252+ <type name="gint" c:type="gint"/>
20253+ </constant>
20254+ <constant name="KEY_dead_tilde" value="65107" c:type="GDK_KEY_dead_tilde">
20255+ <source-position filename="gdk/gdkkeysyms.h" line="254"/>
20256+ <type name="gint" c:type="gint"/>
20257+ </constant>
20258+ <constant name="KEY_dead_u" value="65160" c:type="GDK_KEY_dead_u">
20259+ <source-position filename="gdk/gdkkeysyms.h" line="298"/>
20260+ <type name="gint" c:type="gint"/>
20261+ </constant>
20262+ <constant name="KEY_dead_voiced_sound"
20263+ value="65118"
20264+ c:type="GDK_KEY_dead_voiced_sound">
20265+ <source-position filename="gdk/gdkkeysyms.h" line="266"/>
20266+ <type name="gint" c:type="gint"/>
20267+ </constant>
20268+ <constant name="KEY_decimalpoint"
20269+ value="2749"
20270+ c:type="GDK_KEY_decimalpoint">
20271+ <source-position filename="gdk/gdkkeysyms.h" line="1198"/>
20272+ <type name="gint" c:type="gint"/>
20273+ </constant>
20274+ <constant name="KEY_degree" value="176" c:type="GDK_KEY_degree">
20275+ <source-position filename="gdk/gdkkeysyms.h" line="498"/>
20276+ <type name="gint" c:type="gint"/>
20277+ </constant>
20278+ <constant name="KEY_diaeresis" value="168" c:type="GDK_KEY_diaeresis">
20279+ <source-position filename="gdk/gdkkeysyms.h" line="490"/>
20280+ <type name="gint" c:type="gint"/>
20281+ </constant>
20282+ <constant name="KEY_diamond" value="2797" c:type="GDK_KEY_diamond">
20283+ <source-position filename="gdk/gdkkeysyms.h" line="1240"/>
20284+ <type name="gint" c:type="gint"/>
20285+ </constant>
20286+ <constant name="KEY_digitspace" value="2725" c:type="GDK_KEY_digitspace">
20287+ <source-position filename="gdk/gdkkeysyms.h" line="1178"/>
20288+ <type name="gint" c:type="gint"/>
20289+ </constant>
20290+ <constant name="KEY_dintegral" value="16785964" c:type="GDK_KEY_dintegral">
20291+ <source-position filename="gdk/gdkkeysyms.h" line="1785"/>
20292+ <type name="gint" c:type="gint"/>
20293+ </constant>
20294+ <constant name="KEY_division" value="247" c:type="GDK_KEY_division">
20295+ <source-position filename="gdk/gdkkeysyms.h" line="572"/>
20296+ <type name="gint" c:type="gint"/>
20297+ </constant>
20298+ <constant name="KEY_dollar" value="36" c:type="GDK_KEY_dollar">
20299+ <source-position filename="gdk/gdkkeysyms.h" line="389"/>
20300+ <type name="gint" c:type="gint"/>
20301+ </constant>
20302+ <constant name="KEY_doubbaselinedot"
20303+ value="2735"
20304+ c:type="GDK_KEY_doubbaselinedot">
20305+ <source-position filename="gdk/gdkkeysyms.h" line="1186"/>
20306+ <type name="gint" c:type="gint"/>
20307+ </constant>
20308+ <constant name="KEY_doubleacute" value="445" c:type="GDK_KEY_doubleacute">
20309+ <source-position filename="gdk/gdkkeysyms.h" line="603"/>
20310+ <type name="gint" c:type="gint"/>
20311+ </constant>
20312+ <constant name="KEY_doubledagger"
20313+ value="2802"
20314+ c:type="GDK_KEY_doubledagger">
20315+ <source-position filename="gdk/gdkkeysyms.h" line="1244"/>
20316+ <type name="gint" c:type="gint"/>
20317+ </constant>
20318+ <constant name="KEY_doublelowquotemark"
20319+ value="2814"
20320+ c:type="GDK_KEY_doublelowquotemark">
20321+ <source-position filename="gdk/gdkkeysyms.h" line="1256"/>
20322+ <type name="gint" c:type="gint"/>
20323+ </constant>
20324+ <constant name="KEY_downarrow" value="2302" c:type="GDK_KEY_downarrow">
20325+ <source-position filename="gdk/gdkkeysyms.h" line="1149"/>
20326+ <type name="gint" c:type="gint"/>
20327+ </constant>
20328+ <constant name="KEY_downcaret" value="2984" c:type="GDK_KEY_downcaret">
20329+ <source-position filename="gdk/gdkkeysyms.h" line="1260"/>
20330+ <type name="gint" c:type="gint"/>
20331+ </constant>
20332+ <constant name="KEY_downshoe" value="3030" c:type="GDK_KEY_downshoe">
20333+ <source-position filename="gdk/gdkkeysyms.h" line="1272"/>
20334+ <type name="gint" c:type="gint"/>
20335+ </constant>
20336+ <constant name="KEY_downstile" value="3012" c:type="GDK_KEY_downstile">
20337+ <source-position filename="gdk/gdkkeysyms.h" line="1265"/>
20338+ <type name="gint" c:type="gint"/>
20339+ </constant>
20340+ <constant name="KEY_downtack" value="3010" c:type="GDK_KEY_downtack">
20341+ <source-position filename="gdk/gdkkeysyms.h" line="1263"/>
20342+ <type name="gint" c:type="gint"/>
20343+ </constant>
20344+ <constant name="KEY_dstroke" value="496" c:type="GDK_KEY_dstroke">
20345+ <source-position filename="gdk/gdkkeysyms.h" line="630"/>
20346+ <type name="gint" c:type="gint"/>
20347+ </constant>
20348+ <constant name="KEY_e" value="101" c:type="GDK_KEY_e">
20349+ <source-position filename="gdk/gdkkeysyms.h" line="456"/>
20350+ <type name="gint" c:type="gint"/>
20351+ </constant>
20352+ <constant name="KEY_eabovedot" value="1004" c:type="GDK_KEY_eabovedot">
20353+ <source-position filename="gdk/gdkkeysyms.h" line="689"/>
20354+ <type name="gint" c:type="gint"/>
20355+ </constant>
20356+ <constant name="KEY_eacute" value="233" c:type="GDK_KEY_eacute">
20357+ <source-position filename="gdk/gdkkeysyms.h" line="558"/>
20358+ <type name="gint" c:type="gint"/>
20359+ </constant>
20360+ <constant name="KEY_ebelowdot" value="16785081" c:type="GDK_KEY_ebelowdot">
20361+ <source-position filename="gdk/gdkkeysyms.h" line="1680"/>
20362+ <type name="gint" c:type="gint"/>
20363+ </constant>
20364+ <constant name="KEY_ecaron" value="492" c:type="GDK_KEY_ecaron">
20365+ <source-position filename="gdk/gdkkeysyms.h" line="628"/>
20366+ <type name="gint" c:type="gint"/>
20367+ </constant>
20368+ <constant name="KEY_ecircumflex" value="234" c:type="GDK_KEY_ecircumflex">
20369+ <source-position filename="gdk/gdkkeysyms.h" line="559"/>
20370+ <type name="gint" c:type="gint"/>
20371+ </constant>
20372+ <constant name="KEY_ecircumflexacute"
20373+ value="16785087"
20374+ c:type="GDK_KEY_ecircumflexacute">
20375+ <source-position filename="gdk/gdkkeysyms.h" line="1686"/>
20376+ <type name="gint" c:type="gint"/>
20377+ </constant>
20378+ <constant name="KEY_ecircumflexbelowdot"
20379+ value="16785095"
20380+ c:type="GDK_KEY_ecircumflexbelowdot">
20381+ <source-position filename="gdk/gdkkeysyms.h" line="1694"/>
20382+ <type name="gint" c:type="gint"/>
20383+ </constant>
20384+ <constant name="KEY_ecircumflexgrave"
20385+ value="16785089"
20386+ c:type="GDK_KEY_ecircumflexgrave">
20387+ <source-position filename="gdk/gdkkeysyms.h" line="1688"/>
20388+ <type name="gint" c:type="gint"/>
20389+ </constant>
20390+ <constant name="KEY_ecircumflexhook"
20391+ value="16785091"
20392+ c:type="GDK_KEY_ecircumflexhook">
20393+ <source-position filename="gdk/gdkkeysyms.h" line="1690"/>
20394+ <type name="gint" c:type="gint"/>
20395+ </constant>
20396+ <constant name="KEY_ecircumflextilde"
20397+ value="16785093"
20398+ c:type="GDK_KEY_ecircumflextilde">
20399+ <source-position filename="gdk/gdkkeysyms.h" line="1692"/>
20400+ <type name="gint" c:type="gint"/>
20401+ </constant>
20402+ <constant name="KEY_ediaeresis" value="235" c:type="GDK_KEY_ediaeresis">
20403+ <source-position filename="gdk/gdkkeysyms.h" line="560"/>
20404+ <type name="gint" c:type="gint"/>
20405+ </constant>
20406+ <constant name="KEY_egrave" value="232" c:type="GDK_KEY_egrave">
20407+ <source-position filename="gdk/gdkkeysyms.h" line="557"/>
20408+ <type name="gint" c:type="gint"/>
20409+ </constant>
20410+ <constant name="KEY_ehook" value="16785083" c:type="GDK_KEY_ehook">
20411+ <source-position filename="gdk/gdkkeysyms.h" line="1682"/>
20412+ <type name="gint" c:type="gint"/>
20413+ </constant>
20414+ <constant name="KEY_eightsubscript"
20415+ value="16785544"
20416+ c:type="GDK_KEY_eightsubscript">
20417+ <source-position filename="gdk/gdkkeysyms.h" line="1775"/>
20418+ <type name="gint" c:type="gint"/>
20419+ </constant>
20420+ <constant name="KEY_eightsuperior"
20421+ value="16785528"
20422+ c:type="GDK_KEY_eightsuperior">
20423+ <source-position filename="gdk/gdkkeysyms.h" line="1765"/>
20424+ <type name="gint" c:type="gint"/>
20425+ </constant>
20426+ <constant name="KEY_elementof" value="16785928" c:type="GDK_KEY_elementof">
20427+ <source-position filename="gdk/gdkkeysyms.h" line="1779"/>
20428+ <type name="gint" c:type="gint"/>
20429+ </constant>
20430+ <constant name="KEY_ellipsis" value="2734" c:type="GDK_KEY_ellipsis">
20431+ <source-position filename="gdk/gdkkeysyms.h" line="1185"/>
20432+ <type name="gint" c:type="gint"/>
20433+ </constant>
20434+ <constant name="KEY_em3space" value="2723" c:type="GDK_KEY_em3space">
20435+ <source-position filename="gdk/gdkkeysyms.h" line="1176"/>
20436+ <type name="gint" c:type="gint"/>
20437+ </constant>
20438+ <constant name="KEY_em4space" value="2724" c:type="GDK_KEY_em4space">
20439+ <source-position filename="gdk/gdkkeysyms.h" line="1177"/>
20440+ <type name="gint" c:type="gint"/>
20441+ </constant>
20442+ <constant name="KEY_emacron" value="954" c:type="GDK_KEY_emacron">
20443+ <source-position filename="gdk/gdkkeysyms.h" line="672"/>
20444+ <type name="gint" c:type="gint"/>
20445+ </constant>
20446+ <constant name="KEY_emdash" value="2729" c:type="GDK_KEY_emdash">
20447+ <source-position filename="gdk/gdkkeysyms.h" line="1182"/>
20448+ <type name="gint" c:type="gint"/>
20449+ </constant>
20450+ <constant name="KEY_emfilledcircle"
20451+ value="2782"
20452+ c:type="GDK_KEY_emfilledcircle">
20453+ <source-position filename="gdk/gdkkeysyms.h" line="1225"/>
20454+ <type name="gint" c:type="gint"/>
20455+ </constant>
20456+ <constant name="KEY_emfilledrect"
20457+ value="2783"
20458+ c:type="GDK_KEY_emfilledrect">
20459+ <source-position filename="gdk/gdkkeysyms.h" line="1226"/>
20460+ <type name="gint" c:type="gint"/>
20461+ </constant>
20462+ <constant name="KEY_emopencircle"
20463+ value="2766"
20464+ c:type="GDK_KEY_emopencircle">
20465+ <source-position filename="gdk/gdkkeysyms.h" line="1210"/>
20466+ <type name="gint" c:type="gint"/>
20467+ </constant>
20468+ <constant name="KEY_emopenrectangle"
20469+ value="2767"
20470+ c:type="GDK_KEY_emopenrectangle">
20471+ <source-position filename="gdk/gdkkeysyms.h" line="1211"/>
20472+ <type name="gint" c:type="gint"/>
20473+ </constant>
20474+ <constant name="KEY_emptyset" value="16785925" c:type="GDK_KEY_emptyset">
20475+ <source-position filename="gdk/gdkkeysyms.h" line="1778"/>
20476+ <type name="gint" c:type="gint"/>
20477+ </constant>
20478+ <constant name="KEY_emspace" value="2721" c:type="GDK_KEY_emspace">
20479+ <source-position filename="gdk/gdkkeysyms.h" line="1174"/>
20480+ <type name="gint" c:type="gint"/>
20481+ </constant>
20482+ <constant name="KEY_endash" value="2730" c:type="GDK_KEY_endash">
20483+ <source-position filename="gdk/gdkkeysyms.h" line="1183"/>
20484+ <type name="gint" c:type="gint"/>
20485+ </constant>
20486+ <constant name="KEY_enfilledcircbullet"
20487+ value="2790"
20488+ c:type="GDK_KEY_enfilledcircbullet">
20489+ <source-position filename="gdk/gdkkeysyms.h" line="1233"/>
20490+ <type name="gint" c:type="gint"/>
20491+ </constant>
20492+ <constant name="KEY_enfilledsqbullet"
20493+ value="2791"
20494+ c:type="GDK_KEY_enfilledsqbullet">
20495+ <source-position filename="gdk/gdkkeysyms.h" line="1234"/>
20496+ <type name="gint" c:type="gint"/>
20497+ </constant>
20498+ <constant name="KEY_eng" value="959" c:type="GDK_KEY_eng">
20499+ <source-position filename="gdk/gdkkeysyms.h" line="676"/>
20500+ <type name="gint" c:type="gint"/>
20501+ </constant>
20502+ <constant name="KEY_enopencircbullet"
20503+ value="2784"
20504+ c:type="GDK_KEY_enopencircbullet">
20505+ <source-position filename="gdk/gdkkeysyms.h" line="1227"/>
20506+ <type name="gint" c:type="gint"/>
20507+ </constant>
20508+ <constant name="KEY_enopensquarebullet"
20509+ value="2785"
20510+ c:type="GDK_KEY_enopensquarebullet">
20511+ <source-position filename="gdk/gdkkeysyms.h" line="1228"/>
20512+ <type name="gint" c:type="gint"/>
20513+ </constant>
20514+ <constant name="KEY_enspace" value="2722" c:type="GDK_KEY_enspace">
20515+ <source-position filename="gdk/gdkkeysyms.h" line="1175"/>
20516+ <type name="gint" c:type="gint"/>
20517+ </constant>
20518+ <constant name="KEY_eogonek" value="490" c:type="GDK_KEY_eogonek">
20519+ <source-position filename="gdk/gdkkeysyms.h" line="627"/>
20520+ <type name="gint" c:type="gint"/>
20521+ </constant>
20522+ <constant name="KEY_equal" value="61" c:type="GDK_KEY_equal">
20523+ <source-position filename="gdk/gdkkeysyms.h" line="415"/>
20524+ <type name="gint" c:type="gint"/>
20525+ </constant>
20526+ <constant name="KEY_eth" value="240" c:type="GDK_KEY_eth">
20527+ <source-position filename="gdk/gdkkeysyms.h" line="565"/>
20528+ <type name="gint" c:type="gint"/>
20529+ </constant>
20530+ <constant name="KEY_etilde" value="16785085" c:type="GDK_KEY_etilde">
20531+ <source-position filename="gdk/gdkkeysyms.h" line="1684"/>
20532+ <type name="gint" c:type="gint"/>
20533+ </constant>
20534+ <constant name="KEY_exclam" value="33" c:type="GDK_KEY_exclam">
20535+ <source-position filename="gdk/gdkkeysyms.h" line="386"/>
20536+ <type name="gint" c:type="gint"/>
20537+ </constant>
20538+ <constant name="KEY_exclamdown" value="161" c:type="GDK_KEY_exclamdown">
20539+ <source-position filename="gdk/gdkkeysyms.h" line="483"/>
20540+ <type name="gint" c:type="gint"/>
20541+ </constant>
20542+ <constant name="KEY_ezh" value="16777874" c:type="GDK_KEY_ezh">
20543+ <source-position filename="gdk/gdkkeysyms.h" line="1652"/>
20544+ <type name="gint" c:type="gint"/>
20545+ </constant>
20546+ <constant name="KEY_f" value="102" c:type="GDK_KEY_f">
20547+ <source-position filename="gdk/gdkkeysyms.h" line="457"/>
20548+ <type name="gint" c:type="gint"/>
20549+ </constant>
20550+ <constant name="KEY_fabovedot" value="16784927" c:type="GDK_KEY_fabovedot">
20551+ <source-position filename="gdk/gdkkeysyms.h" line="706"/>
20552+ <type name="gint" c:type="gint"/>
20553+ </constant>
20554+ <constant name="KEY_femalesymbol"
20555+ value="2808"
20556+ c:type="GDK_KEY_femalesymbol">
20557+ <source-position filename="gdk/gdkkeysyms.h" line="1250"/>
20558+ <type name="gint" c:type="gint"/>
20559+ </constant>
20560+ <constant name="KEY_ff" value="2531" c:type="GDK_KEY_ff">
20561+ <source-position filename="gdk/gdkkeysyms.h" line="1154"/>
20562+ <type name="gint" c:type="gint"/>
20563+ </constant>
20564+ <constant name="KEY_figdash" value="2747" c:type="GDK_KEY_figdash">
20565+ <source-position filename="gdk/gdkkeysyms.h" line="1196"/>
20566+ <type name="gint" c:type="gint"/>
20567+ </constant>
20568+ <constant name="KEY_filledlefttribullet"
20569+ value="2780"
20570+ c:type="GDK_KEY_filledlefttribullet">
20571+ <source-position filename="gdk/gdkkeysyms.h" line="1223"/>
20572+ <type name="gint" c:type="gint"/>
20573+ </constant>
20574+ <constant name="KEY_filledrectbullet"
20575+ value="2779"
20576+ c:type="GDK_KEY_filledrectbullet">
20577+ <source-position filename="gdk/gdkkeysyms.h" line="1222"/>
20578+ <type name="gint" c:type="gint"/>
20579+ </constant>
20580+ <constant name="KEY_filledrighttribullet"
20581+ value="2781"
20582+ c:type="GDK_KEY_filledrighttribullet">
20583+ <source-position filename="gdk/gdkkeysyms.h" line="1224"/>
20584+ <type name="gint" c:type="gint"/>
20585+ </constant>
20586+ <constant name="KEY_filledtribulletdown"
20587+ value="2793"
20588+ c:type="GDK_KEY_filledtribulletdown">
20589+ <source-position filename="gdk/gdkkeysyms.h" line="1236"/>
20590+ <type name="gint" c:type="gint"/>
20591+ </constant>
20592+ <constant name="KEY_filledtribulletup"
20593+ value="2792"
20594+ c:type="GDK_KEY_filledtribulletup">
20595+ <source-position filename="gdk/gdkkeysyms.h" line="1235"/>
20596+ <type name="gint" c:type="gint"/>
20597+ </constant>
20598+ <constant name="KEY_fiveeighths" value="2757" c:type="GDK_KEY_fiveeighths">
20599+ <source-position filename="gdk/gdkkeysyms.h" line="1203"/>
20600+ <type name="gint" c:type="gint"/>
20601+ </constant>
20602+ <constant name="KEY_fivesixths" value="2743" c:type="GDK_KEY_fivesixths">
20603+ <source-position filename="gdk/gdkkeysyms.h" line="1194"/>
20604+ <type name="gint" c:type="gint"/>
20605+ </constant>
20606+ <constant name="KEY_fivesubscript"
20607+ value="16785541"
20608+ c:type="GDK_KEY_fivesubscript">
20609+ <source-position filename="gdk/gdkkeysyms.h" line="1772"/>
20610+ <type name="gint" c:type="gint"/>
20611+ </constant>
20612+ <constant name="KEY_fivesuperior"
20613+ value="16785525"
20614+ c:type="GDK_KEY_fivesuperior">
20615+ <source-position filename="gdk/gdkkeysyms.h" line="1762"/>
20616+ <type name="gint" c:type="gint"/>
20617+ </constant>
20618+ <constant name="KEY_fourfifths" value="2741" c:type="GDK_KEY_fourfifths">
20619+ <source-position filename="gdk/gdkkeysyms.h" line="1192"/>
20620+ <type name="gint" c:type="gint"/>
20621+ </constant>
20622+ <constant name="KEY_foursubscript"
20623+ value="16785540"
20624+ c:type="GDK_KEY_foursubscript">
20625+ <source-position filename="gdk/gdkkeysyms.h" line="1771"/>
20626+ <type name="gint" c:type="gint"/>
20627+ </constant>
20628+ <constant name="KEY_foursuperior"
20629+ value="16785524"
20630+ c:type="GDK_KEY_foursuperior">
20631+ <source-position filename="gdk/gdkkeysyms.h" line="1761"/>
20632+ <type name="gint" c:type="gint"/>
20633+ </constant>
20634+ <constant name="KEY_fourthroot"
20635+ value="16785948"
20636+ c:type="GDK_KEY_fourthroot">
20637+ <source-position filename="gdk/gdkkeysyms.h" line="1784"/>
20638+ <type name="gint" c:type="gint"/>
20639+ </constant>
20640+ <constant name="KEY_function" value="2294" c:type="GDK_KEY_function">
20641+ <source-position filename="gdk/gdkkeysyms.h" line="1145"/>
20642+ <type name="gint" c:type="gint"/>
20643+ </constant>
20644+ <constant name="KEY_g" value="103" c:type="GDK_KEY_g">
20645+ <source-position filename="gdk/gdkkeysyms.h" line="458"/>
20646+ <type name="gint" c:type="gint"/>
20647+ </constant>
20648+ <constant name="KEY_gabovedot" value="757" c:type="GDK_KEY_gabovedot">
20649+ <source-position filename="gdk/gdkkeysyms.h" line="657"/>
20650+ <type name="gint" c:type="gint"/>
20651+ </constant>
20652+ <constant name="KEY_gbreve" value="699" c:type="GDK_KEY_gbreve">
20653+ <source-position filename="gdk/gdkkeysyms.h" line="647"/>
20654+ <type name="gint" c:type="gint"/>
20655+ </constant>
20656+ <constant name="KEY_gcaron" value="16777703" c:type="GDK_KEY_gcaron">
20657+ <source-position filename="gdk/gdkkeysyms.h" line="1646"/>
20658+ <type name="gint" c:type="gint"/>
20659+ </constant>
20660+ <constant name="KEY_gcedilla" value="955" c:type="GDK_KEY_gcedilla">
20661+ <source-position filename="gdk/gdkkeysyms.h" line="673"/>
20662+ <type name="gint" c:type="gint"/>
20663+ </constant>
20664+ <constant name="KEY_gcircumflex" value="760" c:type="GDK_KEY_gcircumflex">
20665+ <source-position filename="gdk/gdkkeysyms.h" line="658"/>
20666+ <type name="gint" c:type="gint"/>
20667+ </constant>
20668+ <constant name="KEY_grave" value="96" c:type="GDK_KEY_grave">
20669+ <source-position filename="gdk/gdkkeysyms.h" line="450"/>
20670+ <type name="gint" c:type="gint"/>
20671+ </constant>
20672+ <constant name="KEY_greater" value="62" c:type="GDK_KEY_greater">
20673+ <source-position filename="gdk/gdkkeysyms.h" line="416"/>
20674+ <type name="gint" c:type="gint"/>
20675+ </constant>
20676+ <constant name="KEY_greaterthanequal"
20677+ value="2238"
20678+ c:type="GDK_KEY_greaterthanequal">
20679+ <source-position filename="gdk/gdkkeysyms.h" line="1126"/>
20680+ <type name="gint" c:type="gint"/>
20681+ </constant>
20682+ <constant name="KEY_guillemotleft"
20683+ value="171"
20684+ c:type="GDK_KEY_guillemotleft">
20685+ <source-position filename="gdk/gdkkeysyms.h" line="493"/>
20686+ <type name="gint" c:type="gint"/>
20687+ </constant>
20688+ <constant name="KEY_guillemotright"
20689+ value="187"
20690+ c:type="GDK_KEY_guillemotright">
20691+ <source-position filename="gdk/gdkkeysyms.h" line="509"/>
20692+ <type name="gint" c:type="gint"/>
20693+ </constant>
20694+ <constant name="KEY_h" value="104" c:type="GDK_KEY_h">
20695+ <source-position filename="gdk/gdkkeysyms.h" line="459"/>
20696+ <type name="gint" c:type="gint"/>
20697+ </constant>
20698+ <constant name="KEY_hairspace" value="2728" c:type="GDK_KEY_hairspace">
20699+ <source-position filename="gdk/gdkkeysyms.h" line="1181"/>
20700+ <type name="gint" c:type="gint"/>
20701+ </constant>
20702+ <constant name="KEY_hcircumflex" value="694" c:type="GDK_KEY_hcircumflex">
20703+ <source-position filename="gdk/gdkkeysyms.h" line="645"/>
20704+ <type name="gint" c:type="gint"/>
20705+ </constant>
20706+ <constant name="KEY_heart" value="2798" c:type="GDK_KEY_heart">
20707+ <source-position filename="gdk/gdkkeysyms.h" line="1241"/>
20708+ <type name="gint" c:type="gint"/>
20709+ </constant>
20710+ <constant name="KEY_hebrew_aleph"
20711+ value="3296"
20712+ c:type="GDK_KEY_hebrew_aleph">
20713+ <source-position filename="gdk/gdkkeysyms.h" line="1278"/>
20714+ <type name="gint" c:type="gint"/>
20715+ </constant>
20716+ <constant name="KEY_hebrew_ayin" value="3314" c:type="GDK_KEY_hebrew_ayin">
20717+ <source-position filename="gdk/gdkkeysyms.h" line="1303"/>
20718+ <type name="gint" c:type="gint"/>
20719+ </constant>
20720+ <constant name="KEY_hebrew_bet" value="3297" c:type="GDK_KEY_hebrew_bet">
20721+ <source-position filename="gdk/gdkkeysyms.h" line="1279"/>
20722+ <type name="gint" c:type="gint"/>
20723+ </constant>
20724+ <constant name="KEY_hebrew_beth" value="3297" c:type="GDK_KEY_hebrew_beth">
20725+ <source-position filename="gdk/gdkkeysyms.h" line="1280"/>
20726+ <type name="gint" c:type="gint"/>
20727+ </constant>
20728+ <constant name="KEY_hebrew_chet" value="3303" c:type="GDK_KEY_hebrew_chet">
20729+ <source-position filename="gdk/gdkkeysyms.h" line="1289"/>
20730+ <type name="gint" c:type="gint"/>
20731+ </constant>
20732+ <constant name="KEY_hebrew_dalet"
20733+ value="3299"
20734+ c:type="GDK_KEY_hebrew_dalet">
20735+ <source-position filename="gdk/gdkkeysyms.h" line="1283"/>
20736+ <type name="gint" c:type="gint"/>
20737+ </constant>
20738+ <constant name="KEY_hebrew_daleth"
20739+ value="3299"
20740+ c:type="GDK_KEY_hebrew_daleth">
20741+ <source-position filename="gdk/gdkkeysyms.h" line="1284"/>
20742+ <type name="gint" c:type="gint"/>
20743+ </constant>
20744+ <constant name="KEY_hebrew_doublelowline"
20745+ value="3295"
20746+ c:type="GDK_KEY_hebrew_doublelowline">
20747+ <source-position filename="gdk/gdkkeysyms.h" line="1277"/>
20748+ <type name="gint" c:type="gint"/>
20749+ </constant>
20750+ <constant name="KEY_hebrew_finalkaph"
20751+ value="3306"
20752+ c:type="GDK_KEY_hebrew_finalkaph">
20753+ <source-position filename="gdk/gdkkeysyms.h" line="1294"/>
20754+ <type name="gint" c:type="gint"/>
20755+ </constant>
20756+ <constant name="KEY_hebrew_finalmem"
20757+ value="3309"
20758+ c:type="GDK_KEY_hebrew_finalmem">
20759+ <source-position filename="gdk/gdkkeysyms.h" line="1297"/>
20760+ <type name="gint" c:type="gint"/>
20761+ </constant>
20762+ <constant name="KEY_hebrew_finalnun"
20763+ value="3311"
20764+ c:type="GDK_KEY_hebrew_finalnun">
20765+ <source-position filename="gdk/gdkkeysyms.h" line="1299"/>
20766+ <type name="gint" c:type="gint"/>
20767+ </constant>
20768+ <constant name="KEY_hebrew_finalpe"
20769+ value="3315"
20770+ c:type="GDK_KEY_hebrew_finalpe">
20771+ <source-position filename="gdk/gdkkeysyms.h" line="1304"/>
20772+ <type name="gint" c:type="gint"/>
20773+ </constant>
20774+ <constant name="KEY_hebrew_finalzade"
20775+ value="3317"
20776+ c:type="GDK_KEY_hebrew_finalzade">
20777+ <source-position filename="gdk/gdkkeysyms.h" line="1306"/>
20778+ <type name="gint" c:type="gint"/>
20779+ </constant>
20780+ <constant name="KEY_hebrew_finalzadi"
20781+ value="3317"
20782+ c:type="GDK_KEY_hebrew_finalzadi">
20783+ <source-position filename="gdk/gdkkeysyms.h" line="1307"/>
20784+ <type name="gint" c:type="gint"/>
20785+ </constant>
20786+ <constant name="KEY_hebrew_gimel"
20787+ value="3298"
20788+ c:type="GDK_KEY_hebrew_gimel">
20789+ <source-position filename="gdk/gdkkeysyms.h" line="1281"/>
20790+ <type name="gint" c:type="gint"/>
20791+ </constant>
20792+ <constant name="KEY_hebrew_gimmel"
20793+ value="3298"
20794+ c:type="GDK_KEY_hebrew_gimmel">
20795+ <source-position filename="gdk/gdkkeysyms.h" line="1282"/>
20796+ <type name="gint" c:type="gint"/>
20797+ </constant>
20798+ <constant name="KEY_hebrew_he" value="3300" c:type="GDK_KEY_hebrew_he">
20799+ <source-position filename="gdk/gdkkeysyms.h" line="1285"/>
20800+ <type name="gint" c:type="gint"/>
20801+ </constant>
20802+ <constant name="KEY_hebrew_het" value="3303" c:type="GDK_KEY_hebrew_het">
20803+ <source-position filename="gdk/gdkkeysyms.h" line="1290"/>
20804+ <type name="gint" c:type="gint"/>
20805+ </constant>
20806+ <constant name="KEY_hebrew_kaph" value="3307" c:type="GDK_KEY_hebrew_kaph">
20807+ <source-position filename="gdk/gdkkeysyms.h" line="1295"/>
20808+ <type name="gint" c:type="gint"/>
20809+ </constant>
20810+ <constant name="KEY_hebrew_kuf" value="3319" c:type="GDK_KEY_hebrew_kuf">
20811+ <source-position filename="gdk/gdkkeysyms.h" line="1311"/>
20812+ <type name="gint" c:type="gint"/>
20813+ </constant>
20814+ <constant name="KEY_hebrew_lamed"
20815+ value="3308"
20816+ c:type="GDK_KEY_hebrew_lamed">
20817+ <source-position filename="gdk/gdkkeysyms.h" line="1296"/>
20818+ <type name="gint" c:type="gint"/>
20819+ </constant>
20820+ <constant name="KEY_hebrew_mem" value="3310" c:type="GDK_KEY_hebrew_mem">
20821+ <source-position filename="gdk/gdkkeysyms.h" line="1298"/>
20822+ <type name="gint" c:type="gint"/>
20823+ </constant>
20824+ <constant name="KEY_hebrew_nun" value="3312" c:type="GDK_KEY_hebrew_nun">
20825+ <source-position filename="gdk/gdkkeysyms.h" line="1300"/>
20826+ <type name="gint" c:type="gint"/>
20827+ </constant>
20828+ <constant name="KEY_hebrew_pe" value="3316" c:type="GDK_KEY_hebrew_pe">
20829+ <source-position filename="gdk/gdkkeysyms.h" line="1305"/>
20830+ <type name="gint" c:type="gint"/>
20831+ </constant>
20832+ <constant name="KEY_hebrew_qoph" value="3319" c:type="GDK_KEY_hebrew_qoph">
20833+ <source-position filename="gdk/gdkkeysyms.h" line="1310"/>
20834+ <type name="gint" c:type="gint"/>
20835+ </constant>
20836+ <constant name="KEY_hebrew_resh" value="3320" c:type="GDK_KEY_hebrew_resh">
20837+ <source-position filename="gdk/gdkkeysyms.h" line="1312"/>
20838+ <type name="gint" c:type="gint"/>
20839+ </constant>
20840+ <constant name="KEY_hebrew_samech"
20841+ value="3313"
20842+ c:type="GDK_KEY_hebrew_samech">
20843+ <source-position filename="gdk/gdkkeysyms.h" line="1301"/>
20844+ <type name="gint" c:type="gint"/>
20845+ </constant>
20846+ <constant name="KEY_hebrew_samekh"
20847+ value="3313"
20848+ c:type="GDK_KEY_hebrew_samekh">
20849+ <source-position filename="gdk/gdkkeysyms.h" line="1302"/>
20850+ <type name="gint" c:type="gint"/>
20851+ </constant>
20852+ <constant name="KEY_hebrew_shin" value="3321" c:type="GDK_KEY_hebrew_shin">
20853+ <source-position filename="gdk/gdkkeysyms.h" line="1313"/>
20854+ <type name="gint" c:type="gint"/>
20855+ </constant>
20856+ <constant name="KEY_hebrew_taf" value="3322" c:type="GDK_KEY_hebrew_taf">
20857+ <source-position filename="gdk/gdkkeysyms.h" line="1315"/>
20858+ <type name="gint" c:type="gint"/>
20859+ </constant>
20860+ <constant name="KEY_hebrew_taw" value="3322" c:type="GDK_KEY_hebrew_taw">
20861+ <source-position filename="gdk/gdkkeysyms.h" line="1314"/>
20862+ <type name="gint" c:type="gint"/>
20863+ </constant>
20864+ <constant name="KEY_hebrew_tet" value="3304" c:type="GDK_KEY_hebrew_tet">
20865+ <source-position filename="gdk/gdkkeysyms.h" line="1291"/>
20866+ <type name="gint" c:type="gint"/>
20867+ </constant>
20868+ <constant name="KEY_hebrew_teth" value="3304" c:type="GDK_KEY_hebrew_teth">
20869+ <source-position filename="gdk/gdkkeysyms.h" line="1292"/>
20870+ <type name="gint" c:type="gint"/>
20871+ </constant>
20872+ <constant name="KEY_hebrew_waw" value="3301" c:type="GDK_KEY_hebrew_waw">
20873+ <source-position filename="gdk/gdkkeysyms.h" line="1286"/>
20874+ <type name="gint" c:type="gint"/>
20875+ </constant>
20876+ <constant name="KEY_hebrew_yod" value="3305" c:type="GDK_KEY_hebrew_yod">
20877+ <source-position filename="gdk/gdkkeysyms.h" line="1293"/>
20878+ <type name="gint" c:type="gint"/>
20879+ </constant>
20880+ <constant name="KEY_hebrew_zade" value="3318" c:type="GDK_KEY_hebrew_zade">
20881+ <source-position filename="gdk/gdkkeysyms.h" line="1308"/>
20882+ <type name="gint" c:type="gint"/>
20883+ </constant>
20884+ <constant name="KEY_hebrew_zadi" value="3318" c:type="GDK_KEY_hebrew_zadi">
20885+ <source-position filename="gdk/gdkkeysyms.h" line="1309"/>
20886+ <type name="gint" c:type="gint"/>
20887+ </constant>
20888+ <constant name="KEY_hebrew_zain" value="3302" c:type="GDK_KEY_hebrew_zain">
20889+ <source-position filename="gdk/gdkkeysyms.h" line="1287"/>
20890+ <type name="gint" c:type="gint"/>
20891+ </constant>
20892+ <constant name="KEY_hebrew_zayin"
20893+ value="3302"
20894+ c:type="GDK_KEY_hebrew_zayin">
20895+ <source-position filename="gdk/gdkkeysyms.h" line="1288"/>
20896+ <type name="gint" c:type="gint"/>
20897+ </constant>
20898+ <constant name="KEY_hexagram" value="2778" c:type="GDK_KEY_hexagram">
20899+ <source-position filename="gdk/gdkkeysyms.h" line="1221"/>
20900+ <type name="gint" c:type="gint"/>
20901+ </constant>
20902+ <constant name="KEY_horizconnector"
20903+ value="2211"
20904+ c:type="GDK_KEY_horizconnector">
20905+ <source-position filename="gdk/gdkkeysyms.h" line="1103"/>
20906+ <type name="gint" c:type="gint"/>
20907+ </constant>
20908+ <constant name="KEY_horizlinescan1"
20909+ value="2543"
20910+ c:type="GDK_KEY_horizlinescan1">
20911+ <source-position filename="gdk/gdkkeysyms.h" line="1164"/>
20912+ <type name="gint" c:type="gint"/>
20913+ </constant>
20914+ <constant name="KEY_horizlinescan3"
20915+ value="2544"
20916+ c:type="GDK_KEY_horizlinescan3">
20917+ <source-position filename="gdk/gdkkeysyms.h" line="1165"/>
20918+ <type name="gint" c:type="gint"/>
20919+ </constant>
20920+ <constant name="KEY_horizlinescan5"
20921+ value="2545"
20922+ c:type="GDK_KEY_horizlinescan5">
20923+ <source-position filename="gdk/gdkkeysyms.h" line="1166"/>
20924+ <type name="gint" c:type="gint"/>
20925+ </constant>
20926+ <constant name="KEY_horizlinescan7"
20927+ value="2546"
20928+ c:type="GDK_KEY_horizlinescan7">
20929+ <source-position filename="gdk/gdkkeysyms.h" line="1167"/>
20930+ <type name="gint" c:type="gint"/>
20931+ </constant>
20932+ <constant name="KEY_horizlinescan9"
20933+ value="2547"
20934+ c:type="GDK_KEY_horizlinescan9">
20935+ <source-position filename="gdk/gdkkeysyms.h" line="1168"/>
20936+ <type name="gint" c:type="gint"/>
20937+ </constant>
20938+ <constant name="KEY_hstroke" value="689" c:type="GDK_KEY_hstroke">
20939+ <source-position filename="gdk/gdkkeysyms.h" line="644"/>
20940+ <type name="gint" c:type="gint"/>
20941+ </constant>
20942+ <constant name="KEY_ht" value="2530" c:type="GDK_KEY_ht">
20943+ <source-position filename="gdk/gdkkeysyms.h" line="1153"/>
20944+ <type name="gint" c:type="gint"/>
20945+ </constant>
20946+ <constant name="KEY_hyphen" value="173" c:type="GDK_KEY_hyphen">
20947+ <source-position filename="gdk/gdkkeysyms.h" line="495"/>
20948+ <type name="gint" c:type="gint"/>
20949+ </constant>
20950+ <constant name="KEY_i" value="105" c:type="GDK_KEY_i">
20951+ <source-position filename="gdk/gdkkeysyms.h" line="460"/>
20952+ <type name="gint" c:type="gint"/>
20953+ </constant>
20954+ <constant name="KEY_iTouch" value="269025120" c:type="GDK_KEY_iTouch">
20955+ <source-position filename="gdk/gdkkeysyms.h" line="2223"/>
20956+ <type name="gint" c:type="gint"/>
20957+ </constant>
20958+ <constant name="KEY_iacute" value="237" c:type="GDK_KEY_iacute">
20959+ <source-position filename="gdk/gdkkeysyms.h" line="562"/>
20960+ <type name="gint" c:type="gint"/>
20961+ </constant>
20962+ <constant name="KEY_ibelowdot" value="16785099" c:type="GDK_KEY_ibelowdot">
20963+ <source-position filename="gdk/gdkkeysyms.h" line="1698"/>
20964+ <type name="gint" c:type="gint"/>
20965+ </constant>
20966+ <constant name="KEY_ibreve" value="16777517" c:type="GDK_KEY_ibreve">
20967+ <source-position filename="gdk/gdkkeysyms.h" line="1644"/>
20968+ <type name="gint" c:type="gint"/>
20969+ </constant>
20970+ <constant name="KEY_icircumflex" value="238" c:type="GDK_KEY_icircumflex">
20971+ <source-position filename="gdk/gdkkeysyms.h" line="563"/>
20972+ <type name="gint" c:type="gint"/>
20973+ </constant>
20974+ <constant name="KEY_identical" value="2255" c:type="GDK_KEY_identical">
20975+ <source-position filename="gdk/gdkkeysyms.h" line="1136"/>
20976+ <type name="gint" c:type="gint"/>
20977+ </constant>
20978+ <constant name="KEY_idiaeresis" value="239" c:type="GDK_KEY_idiaeresis">
20979+ <source-position filename="gdk/gdkkeysyms.h" line="564"/>
20980+ <type name="gint" c:type="gint"/>
20981+ </constant>
20982+ <constant name="KEY_idotless" value="697" c:type="GDK_KEY_idotless">
20983+ <source-position filename="gdk/gdkkeysyms.h" line="646"/>
20984+ <type name="gint" c:type="gint"/>
20985+ </constant>
20986+ <constant name="KEY_ifonlyif" value="2253" c:type="GDK_KEY_ifonlyif">
20987+ <source-position filename="gdk/gdkkeysyms.h" line="1134"/>
20988+ <type name="gint" c:type="gint"/>
20989+ </constant>
20990+ <constant name="KEY_igrave" value="236" c:type="GDK_KEY_igrave">
20991+ <source-position filename="gdk/gdkkeysyms.h" line="561"/>
20992+ <type name="gint" c:type="gint"/>
20993+ </constant>
20994+ <constant name="KEY_ihook" value="16785097" c:type="GDK_KEY_ihook">
20995+ <source-position filename="gdk/gdkkeysyms.h" line="1696"/>
20996+ <type name="gint" c:type="gint"/>
20997+ </constant>
20998+ <constant name="KEY_imacron" value="1007" c:type="GDK_KEY_imacron">
20999+ <source-position filename="gdk/gdkkeysyms.h" line="690"/>
21000+ <type name="gint" c:type="gint"/>
21001+ </constant>
21002+ <constant name="KEY_implies" value="2254" c:type="GDK_KEY_implies">
21003+ <source-position filename="gdk/gdkkeysyms.h" line="1135"/>
21004+ <type name="gint" c:type="gint"/>
21005+ </constant>
21006+ <constant name="KEY_includedin" value="2266" c:type="GDK_KEY_includedin">
21007+ <source-position filename="gdk/gdkkeysyms.h" line="1138"/>
21008+ <type name="gint" c:type="gint"/>
21009+ </constant>
21010+ <constant name="KEY_includes" value="2267" c:type="GDK_KEY_includes">
21011+ <source-position filename="gdk/gdkkeysyms.h" line="1139"/>
21012+ <type name="gint" c:type="gint"/>
21013+ </constant>
21014+ <constant name="KEY_infinity" value="2242" c:type="GDK_KEY_infinity">
21015+ <source-position filename="gdk/gdkkeysyms.h" line="1130"/>
21016+ <type name="gint" c:type="gint"/>
21017+ </constant>
21018+ <constant name="KEY_integral" value="2239" c:type="GDK_KEY_integral">
21019+ <source-position filename="gdk/gdkkeysyms.h" line="1127"/>
21020+ <type name="gint" c:type="gint"/>
21021+ </constant>
21022+ <constant name="KEY_intersection"
21023+ value="2268"
21024+ c:type="GDK_KEY_intersection">
21025+ <source-position filename="gdk/gdkkeysyms.h" line="1140"/>
21026+ <type name="gint" c:type="gint"/>
21027+ </constant>
21028+ <constant name="KEY_iogonek" value="999" c:type="GDK_KEY_iogonek">
21029+ <source-position filename="gdk/gdkkeysyms.h" line="688"/>
21030+ <type name="gint" c:type="gint"/>
21031+ </constant>
21032+ <constant name="KEY_itilde" value="949" c:type="GDK_KEY_itilde">
21033+ <source-position filename="gdk/gdkkeysyms.h" line="670"/>
21034+ <type name="gint" c:type="gint"/>
21035+ </constant>
21036+ <constant name="KEY_j" value="106" c:type="GDK_KEY_j">
21037+ <source-position filename="gdk/gdkkeysyms.h" line="461"/>
21038+ <type name="gint" c:type="gint"/>
21039+ </constant>
21040+ <constant name="KEY_jcircumflex" value="700" c:type="GDK_KEY_jcircumflex">
21041+ <source-position filename="gdk/gdkkeysyms.h" line="648"/>
21042+ <type name="gint" c:type="gint"/>
21043+ </constant>
21044+ <constant name="KEY_jot" value="3018" c:type="GDK_KEY_jot">
21045+ <source-position filename="gdk/gdkkeysyms.h" line="1267"/>
21046+ <type name="gint" c:type="gint"/>
21047+ </constant>
21048+ <constant name="KEY_k" value="107" c:type="GDK_KEY_k">
21049+ <source-position filename="gdk/gdkkeysyms.h" line="462"/>
21050+ <type name="gint" c:type="gint"/>
21051+ </constant>
21052+ <constant name="KEY_kana_A" value="1201" c:type="GDK_KEY_kana_A">
21053+ <source-position filename="gdk/gdkkeysyms.h" line="745"/>
21054+ <type name="gint" c:type="gint"/>
21055+ </constant>
21056+ <constant name="KEY_kana_CHI" value="1217" c:type="GDK_KEY_kana_CHI">
21057+ <source-position filename="gdk/gdkkeysyms.h" line="761"/>
21058+ <type name="gint" c:type="gint"/>
21059+ </constant>
21060+ <constant name="KEY_kana_E" value="1204" c:type="GDK_KEY_kana_E">
21061+ <source-position filename="gdk/gdkkeysyms.h" line="748"/>
21062+ <type name="gint" c:type="gint"/>
21063+ </constant>
21064+ <constant name="KEY_kana_FU" value="1228" c:type="GDK_KEY_kana_FU">
21065+ <source-position filename="gdk/gdkkeysyms.h" line="774"/>
21066+ <type name="gint" c:type="gint"/>
21067+ </constant>
21068+ <constant name="KEY_kana_HA" value="1226" c:type="GDK_KEY_kana_HA">
21069+ <source-position filename="gdk/gdkkeysyms.h" line="772"/>
21070+ <type name="gint" c:type="gint"/>
21071+ </constant>
21072+ <constant name="KEY_kana_HE" value="1229" c:type="GDK_KEY_kana_HE">
21073+ <source-position filename="gdk/gdkkeysyms.h" line="776"/>
21074+ <type name="gint" c:type="gint"/>
21075+ </constant>
21076+ <constant name="KEY_kana_HI" value="1227" c:type="GDK_KEY_kana_HI">
21077+ <source-position filename="gdk/gdkkeysyms.h" line="773"/>
21078+ <type name="gint" c:type="gint"/>
21079+ </constant>
21080+ <constant name="KEY_kana_HO" value="1230" c:type="GDK_KEY_kana_HO">
21081+ <source-position filename="gdk/gdkkeysyms.h" line="777"/>
21082+ <type name="gint" c:type="gint"/>
21083+ </constant>
21084+ <constant name="KEY_kana_HU" value="1228" c:type="GDK_KEY_kana_HU">
21085+ <source-position filename="gdk/gdkkeysyms.h" line="775"/>
21086+ <type name="gint" c:type="gint"/>
21087+ </constant>
21088+ <constant name="KEY_kana_I" value="1202" c:type="GDK_KEY_kana_I">
21089+ <source-position filename="gdk/gdkkeysyms.h" line="746"/>
21090+ <type name="gint" c:type="gint"/>
21091+ </constant>
21092+ <constant name="KEY_kana_KA" value="1206" c:type="GDK_KEY_kana_KA">
21093+ <source-position filename="gdk/gdkkeysyms.h" line="750"/>
21094+ <type name="gint" c:type="gint"/>
21095+ </constant>
21096+ <constant name="KEY_kana_KE" value="1209" c:type="GDK_KEY_kana_KE">
21097+ <source-position filename="gdk/gdkkeysyms.h" line="753"/>
21098+ <type name="gint" c:type="gint"/>
21099+ </constant>
21100+ <constant name="KEY_kana_KI" value="1207" c:type="GDK_KEY_kana_KI">
21101+ <source-position filename="gdk/gdkkeysyms.h" line="751"/>
21102+ <type name="gint" c:type="gint"/>
21103+ </constant>
21104+ <constant name="KEY_kana_KO" value="1210" c:type="GDK_KEY_kana_KO">
21105+ <source-position filename="gdk/gdkkeysyms.h" line="754"/>
21106+ <type name="gint" c:type="gint"/>
21107+ </constant>
21108+ <constant name="KEY_kana_KU" value="1208" c:type="GDK_KEY_kana_KU">
21109+ <source-position filename="gdk/gdkkeysyms.h" line="752"/>
21110+ <type name="gint" c:type="gint"/>
21111+ </constant>
21112+ <constant name="KEY_kana_MA" value="1231" c:type="GDK_KEY_kana_MA">
21113+ <source-position filename="gdk/gdkkeysyms.h" line="778"/>
21114+ <type name="gint" c:type="gint"/>
21115+ </constant>
21116+ <constant name="KEY_kana_ME" value="1234" c:type="GDK_KEY_kana_ME">
21117+ <source-position filename="gdk/gdkkeysyms.h" line="781"/>
21118+ <type name="gint" c:type="gint"/>
21119+ </constant>
21120+ <constant name="KEY_kana_MI" value="1232" c:type="GDK_KEY_kana_MI">
21121+ <source-position filename="gdk/gdkkeysyms.h" line="779"/>
21122+ <type name="gint" c:type="gint"/>
21123+ </constant>
21124+ <constant name="KEY_kana_MO" value="1235" c:type="GDK_KEY_kana_MO">
21125+ <source-position filename="gdk/gdkkeysyms.h" line="782"/>
21126+ <type name="gint" c:type="gint"/>
21127+ </constant>
21128+ <constant name="KEY_kana_MU" value="1233" c:type="GDK_KEY_kana_MU">
21129+ <source-position filename="gdk/gdkkeysyms.h" line="780"/>
21130+ <type name="gint" c:type="gint"/>
21131+ </constant>
21132+ <constant name="KEY_kana_N" value="1245" c:type="GDK_KEY_kana_N">
21133+ <source-position filename="gdk/gdkkeysyms.h" line="792"/>
21134+ <type name="gint" c:type="gint"/>
21135+ </constant>
21136+ <constant name="KEY_kana_NA" value="1221" c:type="GDK_KEY_kana_NA">
21137+ <source-position filename="gdk/gdkkeysyms.h" line="767"/>
21138+ <type name="gint" c:type="gint"/>
21139+ </constant>
21140+ <constant name="KEY_kana_NE" value="1224" c:type="GDK_KEY_kana_NE">
21141+ <source-position filename="gdk/gdkkeysyms.h" line="770"/>
21142+ <type name="gint" c:type="gint"/>
21143+ </constant>
21144+ <constant name="KEY_kana_NI" value="1222" c:type="GDK_KEY_kana_NI">
21145+ <source-position filename="gdk/gdkkeysyms.h" line="768"/>
21146+ <type name="gint" c:type="gint"/>
21147+ </constant>
21148+ <constant name="KEY_kana_NO" value="1225" c:type="GDK_KEY_kana_NO">
21149+ <source-position filename="gdk/gdkkeysyms.h" line="771"/>
21150+ <type name="gint" c:type="gint"/>
21151+ </constant>
21152+ <constant name="KEY_kana_NU" value="1223" c:type="GDK_KEY_kana_NU">
21153+ <source-position filename="gdk/gdkkeysyms.h" line="769"/>
21154+ <type name="gint" c:type="gint"/>
21155+ </constant>
21156+ <constant name="KEY_kana_O" value="1205" c:type="GDK_KEY_kana_O">
21157+ <source-position filename="gdk/gdkkeysyms.h" line="749"/>
21158+ <type name="gint" c:type="gint"/>
21159+ </constant>
21160+ <constant name="KEY_kana_RA" value="1239" c:type="GDK_KEY_kana_RA">
21161+ <source-position filename="gdk/gdkkeysyms.h" line="786"/>
21162+ <type name="gint" c:type="gint"/>
21163+ </constant>
21164+ <constant name="KEY_kana_RE" value="1242" c:type="GDK_KEY_kana_RE">
21165+ <source-position filename="gdk/gdkkeysyms.h" line="789"/>
21166+ <type name="gint" c:type="gint"/>
21167+ </constant>
21168+ <constant name="KEY_kana_RI" value="1240" c:type="GDK_KEY_kana_RI">
21169+ <source-position filename="gdk/gdkkeysyms.h" line="787"/>
21170+ <type name="gint" c:type="gint"/>
21171+ </constant>
21172+ <constant name="KEY_kana_RO" value="1243" c:type="GDK_KEY_kana_RO">
21173+ <source-position filename="gdk/gdkkeysyms.h" line="790"/>
21174+ <type name="gint" c:type="gint"/>
21175+ </constant>
21176+ <constant name="KEY_kana_RU" value="1241" c:type="GDK_KEY_kana_RU">
21177+ <source-position filename="gdk/gdkkeysyms.h" line="788"/>
21178+ <type name="gint" c:type="gint"/>
21179+ </constant>
21180+ <constant name="KEY_kana_SA" value="1211" c:type="GDK_KEY_kana_SA">
21181+ <source-position filename="gdk/gdkkeysyms.h" line="755"/>
21182+ <type name="gint" c:type="gint"/>
21183+ </constant>
21184+ <constant name="KEY_kana_SE" value="1214" c:type="GDK_KEY_kana_SE">
21185+ <source-position filename="gdk/gdkkeysyms.h" line="758"/>
21186+ <type name="gint" c:type="gint"/>
21187+ </constant>
21188+ <constant name="KEY_kana_SHI" value="1212" c:type="GDK_KEY_kana_SHI">
21189+ <source-position filename="gdk/gdkkeysyms.h" line="756"/>
21190+ <type name="gint" c:type="gint"/>
21191+ </constant>
21192+ <constant name="KEY_kana_SO" value="1215" c:type="GDK_KEY_kana_SO">
21193+ <source-position filename="gdk/gdkkeysyms.h" line="759"/>
21194+ <type name="gint" c:type="gint"/>
21195+ </constant>
21196+ <constant name="KEY_kana_SU" value="1213" c:type="GDK_KEY_kana_SU">
21197+ <source-position filename="gdk/gdkkeysyms.h" line="757"/>
21198+ <type name="gint" c:type="gint"/>
21199+ </constant>
21200+ <constant name="KEY_kana_TA" value="1216" c:type="GDK_KEY_kana_TA">
21201+ <source-position filename="gdk/gdkkeysyms.h" line="760"/>
21202+ <type name="gint" c:type="gint"/>
21203+ </constant>
21204+ <constant name="KEY_kana_TE" value="1219" c:type="GDK_KEY_kana_TE">
21205+ <source-position filename="gdk/gdkkeysyms.h" line="765"/>
21206+ <type name="gint" c:type="gint"/>
21207+ </constant>
21208+ <constant name="KEY_kana_TI" value="1217" c:type="GDK_KEY_kana_TI">
21209+ <source-position filename="gdk/gdkkeysyms.h" line="762"/>
21210+ <type name="gint" c:type="gint"/>
21211+ </constant>
21212+ <constant name="KEY_kana_TO" value="1220" c:type="GDK_KEY_kana_TO">
21213+ <source-position filename="gdk/gdkkeysyms.h" line="766"/>
21214+ <type name="gint" c:type="gint"/>
21215+ </constant>
21216+ <constant name="KEY_kana_TSU" value="1218" c:type="GDK_KEY_kana_TSU">
21217+ <source-position filename="gdk/gdkkeysyms.h" line="763"/>
21218+ <type name="gint" c:type="gint"/>
21219+ </constant>
21220+ <constant name="KEY_kana_TU" value="1218" c:type="GDK_KEY_kana_TU">
21221+ <source-position filename="gdk/gdkkeysyms.h" line="764"/>
21222+ <type name="gint" c:type="gint"/>
21223+ </constant>
21224+ <constant name="KEY_kana_U" value="1203" c:type="GDK_KEY_kana_U">
21225+ <source-position filename="gdk/gdkkeysyms.h" line="747"/>
21226+ <type name="gint" c:type="gint"/>
21227+ </constant>
21228+ <constant name="KEY_kana_WA" value="1244" c:type="GDK_KEY_kana_WA">
21229+ <source-position filename="gdk/gdkkeysyms.h" line="791"/>
21230+ <type name="gint" c:type="gint"/>
21231+ </constant>
21232+ <constant name="KEY_kana_WO" value="1190" c:type="GDK_KEY_kana_WO">
21233+ <source-position filename="gdk/gdkkeysyms.h" line="733"/>
21234+ <type name="gint" c:type="gint"/>
21235+ </constant>
21236+ <constant name="KEY_kana_YA" value="1236" c:type="GDK_KEY_kana_YA">
21237+ <source-position filename="gdk/gdkkeysyms.h" line="783"/>
21238+ <type name="gint" c:type="gint"/>
21239+ </constant>
21240+ <constant name="KEY_kana_YO" value="1238" c:type="GDK_KEY_kana_YO">
21241+ <source-position filename="gdk/gdkkeysyms.h" line="785"/>
21242+ <type name="gint" c:type="gint"/>
21243+ </constant>
21244+ <constant name="KEY_kana_YU" value="1237" c:type="GDK_KEY_kana_YU">
21245+ <source-position filename="gdk/gdkkeysyms.h" line="784"/>
21246+ <type name="gint" c:type="gint"/>
21247+ </constant>
21248+ <constant name="KEY_kana_a" value="1191" c:type="GDK_KEY_kana_a">
21249+ <source-position filename="gdk/gdkkeysyms.h" line="734"/>
21250+ <type name="gint" c:type="gint"/>
21251+ </constant>
21252+ <constant name="KEY_kana_closingbracket"
21253+ value="1187"
21254+ c:type="GDK_KEY_kana_closingbracket">
21255+ <source-position filename="gdk/gdkkeysyms.h" line="729"/>
21256+ <type name="gint" c:type="gint"/>
21257+ </constant>
21258+ <constant name="KEY_kana_comma" value="1188" c:type="GDK_KEY_kana_comma">
21259+ <source-position filename="gdk/gdkkeysyms.h" line="730"/>
21260+ <type name="gint" c:type="gint"/>
21261+ </constant>
21262+ <constant name="KEY_kana_conjunctive"
21263+ value="1189"
21264+ c:type="GDK_KEY_kana_conjunctive">
21265+ <source-position filename="gdk/gdkkeysyms.h" line="731"/>
21266+ <type name="gint" c:type="gint"/>
21267+ </constant>
21268+ <constant name="KEY_kana_e" value="1194" c:type="GDK_KEY_kana_e">
21269+ <source-position filename="gdk/gdkkeysyms.h" line="737"/>
21270+ <type name="gint" c:type="gint"/>
21271+ </constant>
21272+ <constant name="KEY_kana_fullstop"
21273+ value="1185"
21274+ c:type="GDK_KEY_kana_fullstop">
21275+ <source-position filename="gdk/gdkkeysyms.h" line="727"/>
21276+ <type name="gint" c:type="gint"/>
21277+ </constant>
21278+ <constant name="KEY_kana_i" value="1192" c:type="GDK_KEY_kana_i">
21279+ <source-position filename="gdk/gdkkeysyms.h" line="735"/>
21280+ <type name="gint" c:type="gint"/>
21281+ </constant>
21282+ <constant name="KEY_kana_middledot"
21283+ value="1189"
21284+ c:type="GDK_KEY_kana_middledot">
21285+ <source-position filename="gdk/gdkkeysyms.h" line="732"/>
21286+ <type name="gint" c:type="gint"/>
21287+ </constant>
21288+ <constant name="KEY_kana_o" value="1195" c:type="GDK_KEY_kana_o">
21289+ <source-position filename="gdk/gdkkeysyms.h" line="738"/>
21290+ <type name="gint" c:type="gint"/>
21291+ </constant>
21292+ <constant name="KEY_kana_openingbracket"
21293+ value="1186"
21294+ c:type="GDK_KEY_kana_openingbracket">
21295+ <source-position filename="gdk/gdkkeysyms.h" line="728"/>
21296+ <type name="gint" c:type="gint"/>
21297+ </constant>
21298+ <constant name="KEY_kana_switch"
21299+ value="65406"
21300+ c:type="GDK_KEY_kana_switch">
21301+ <source-position filename="gdk/gdkkeysyms.h" line="795"/>
21302+ <type name="gint" c:type="gint"/>
21303+ </constant>
21304+ <constant name="KEY_kana_tsu" value="1199" c:type="GDK_KEY_kana_tsu">
21305+ <source-position filename="gdk/gdkkeysyms.h" line="742"/>
21306+ <type name="gint" c:type="gint"/>
21307+ </constant>
21308+ <constant name="KEY_kana_tu" value="1199" c:type="GDK_KEY_kana_tu">
21309+ <source-position filename="gdk/gdkkeysyms.h" line="743"/>
21310+ <type name="gint" c:type="gint"/>
21311+ </constant>
21312+ <constant name="KEY_kana_u" value="1193" c:type="GDK_KEY_kana_u">
21313+ <source-position filename="gdk/gdkkeysyms.h" line="736"/>
21314+ <type name="gint" c:type="gint"/>
21315+ </constant>
21316+ <constant name="KEY_kana_ya" value="1196" c:type="GDK_KEY_kana_ya">
21317+ <source-position filename="gdk/gdkkeysyms.h" line="739"/>
21318+ <type name="gint" c:type="gint"/>
21319+ </constant>
21320+ <constant name="KEY_kana_yo" value="1198" c:type="GDK_KEY_kana_yo">
21321+ <source-position filename="gdk/gdkkeysyms.h" line="741"/>
21322+ <type name="gint" c:type="gint"/>
21323+ </constant>
21324+ <constant name="KEY_kana_yu" value="1197" c:type="GDK_KEY_kana_yu">
21325+ <source-position filename="gdk/gdkkeysyms.h" line="740"/>
21326+ <type name="gint" c:type="gint"/>
21327+ </constant>
21328+ <constant name="KEY_kappa" value="930" c:type="GDK_KEY_kappa">
21329+ <source-position filename="gdk/gdkkeysyms.h" line="662"/>
21330+ <type name="gint" c:type="gint"/>
21331+ </constant>
21332+ <constant name="KEY_kcedilla" value="1011" c:type="GDK_KEY_kcedilla">
21333+ <source-position filename="gdk/gdkkeysyms.h" line="693"/>
21334+ <type name="gint" c:type="gint"/>
21335+ </constant>
21336+ <constant name="KEY_kra" value="930" c:type="GDK_KEY_kra">
21337+ <source-position filename="gdk/gdkkeysyms.h" line="661"/>
21338+ <type name="gint" c:type="gint"/>
21339+ </constant>
21340+ <constant name="KEY_l" value="108" c:type="GDK_KEY_l">
21341+ <source-position filename="gdk/gdkkeysyms.h" line="463"/>
21342+ <type name="gint" c:type="gint"/>
21343+ </constant>
21344+ <constant name="KEY_lacute" value="485" c:type="GDK_KEY_lacute">
21345+ <source-position filename="gdk/gdkkeysyms.h" line="624"/>
21346+ <type name="gint" c:type="gint"/>
21347+ </constant>
21348+ <constant name="KEY_latincross" value="2777" c:type="GDK_KEY_latincross">
21349+ <source-position filename="gdk/gdkkeysyms.h" line="1220"/>
21350+ <type name="gint" c:type="gint"/>
21351+ </constant>
21352+ <constant name="KEY_lbelowdot" value="16784951" c:type="GDK_KEY_lbelowdot">
21353+ <source-position filename="gdk/gdkkeysyms.h" line="1654"/>
21354+ <type name="gint" c:type="gint"/>
21355+ </constant>
21356+ <constant name="KEY_lcaron" value="437" c:type="GDK_KEY_lcaron">
21357+ <source-position filename="gdk/gdkkeysyms.h" line="596"/>
21358+ <type name="gint" c:type="gint"/>
21359+ </constant>
21360+ <constant name="KEY_lcedilla" value="950" c:type="GDK_KEY_lcedilla">
21361+ <source-position filename="gdk/gdkkeysyms.h" line="671"/>
21362+ <type name="gint" c:type="gint"/>
21363+ </constant>
21364+ <constant name="KEY_leftanglebracket"
21365+ value="2748"
21366+ c:type="GDK_KEY_leftanglebracket">
21367+ <source-position filename="gdk/gdkkeysyms.h" line="1197"/>
21368+ <type name="gint" c:type="gint"/>
21369+ </constant>
21370+ <constant name="KEY_leftarrow" value="2299" c:type="GDK_KEY_leftarrow">
21371+ <source-position filename="gdk/gdkkeysyms.h" line="1146"/>
21372+ <type name="gint" c:type="gint"/>
21373+ </constant>
21374+ <constant name="KEY_leftcaret" value="2979" c:type="GDK_KEY_leftcaret">
21375+ <source-position filename="gdk/gdkkeysyms.h" line="1258"/>
21376+ <type name="gint" c:type="gint"/>
21377+ </constant>
21378+ <constant name="KEY_leftdoublequotemark"
21379+ value="2770"
21380+ c:type="GDK_KEY_leftdoublequotemark">
21381+ <source-position filename="gdk/gdkkeysyms.h" line="1214"/>
21382+ <type name="gint" c:type="gint"/>
21383+ </constant>
21384+ <constant name="KEY_leftmiddlecurlybrace"
21385+ value="2223"
21386+ c:type="GDK_KEY_leftmiddlecurlybrace">
21387+ <source-position filename="gdk/gdkkeysyms.h" line="1115"/>
21388+ <type name="gint" c:type="gint"/>
21389+ </constant>
21390+ <constant name="KEY_leftopentriangle"
21391+ value="2764"
21392+ c:type="GDK_KEY_leftopentriangle">
21393+ <source-position filename="gdk/gdkkeysyms.h" line="1208"/>
21394+ <type name="gint" c:type="gint"/>
21395+ </constant>
21396+ <constant name="KEY_leftpointer" value="2794" c:type="GDK_KEY_leftpointer">
21397+ <source-position filename="gdk/gdkkeysyms.h" line="1237"/>
21398+ <type name="gint" c:type="gint"/>
21399+ </constant>
21400+ <constant name="KEY_leftradical" value="2209" c:type="GDK_KEY_leftradical">
21401+ <source-position filename="gdk/gdkkeysyms.h" line="1101"/>
21402+ <type name="gint" c:type="gint"/>
21403+ </constant>
21404+ <constant name="KEY_leftshoe" value="3034" c:type="GDK_KEY_leftshoe">
21405+ <source-position filename="gdk/gdkkeysyms.h" line="1274"/>
21406+ <type name="gint" c:type="gint"/>
21407+ </constant>
21408+ <constant name="KEY_leftsinglequotemark"
21409+ value="2768"
21410+ c:type="GDK_KEY_leftsinglequotemark">
21411+ <source-position filename="gdk/gdkkeysyms.h" line="1212"/>
21412+ <type name="gint" c:type="gint"/>
21413+ </constant>
21414+ <constant name="KEY_leftt" value="2548" c:type="GDK_KEY_leftt">
21415+ <source-position filename="gdk/gdkkeysyms.h" line="1169"/>
21416+ <type name="gint" c:type="gint"/>
21417+ </constant>
21418+ <constant name="KEY_lefttack" value="3036" c:type="GDK_KEY_lefttack">
21419+ <source-position filename="gdk/gdkkeysyms.h" line="1275"/>
21420+ <type name="gint" c:type="gint"/>
21421+ </constant>
21422+ <constant name="KEY_less" value="60" c:type="GDK_KEY_less">
21423+ <source-position filename="gdk/gdkkeysyms.h" line="414"/>
21424+ <type name="gint" c:type="gint"/>
21425+ </constant>
21426+ <constant name="KEY_lessthanequal"
21427+ value="2236"
21428+ c:type="GDK_KEY_lessthanequal">
21429+ <source-position filename="gdk/gdkkeysyms.h" line="1124"/>
21430+ <type name="gint" c:type="gint"/>
21431+ </constant>
21432+ <constant name="KEY_lf" value="2533" c:type="GDK_KEY_lf">
21433+ <source-position filename="gdk/gdkkeysyms.h" line="1156"/>
21434+ <type name="gint" c:type="gint"/>
21435+ </constant>
21436+ <constant name="KEY_logicaland" value="2270" c:type="GDK_KEY_logicaland">
21437+ <source-position filename="gdk/gdkkeysyms.h" line="1142"/>
21438+ <type name="gint" c:type="gint"/>
21439+ </constant>
21440+ <constant name="KEY_logicalor" value="2271" c:type="GDK_KEY_logicalor">
21441+ <source-position filename="gdk/gdkkeysyms.h" line="1143"/>
21442+ <type name="gint" c:type="gint"/>
21443+ </constant>
21444+ <constant name="KEY_lowleftcorner"
21445+ value="2541"
21446+ c:type="GDK_KEY_lowleftcorner">
21447+ <source-position filename="gdk/gdkkeysyms.h" line="1162"/>
21448+ <type name="gint" c:type="gint"/>
21449+ </constant>
21450+ <constant name="KEY_lowrightcorner"
21451+ value="2538"
21452+ c:type="GDK_KEY_lowrightcorner">
21453+ <source-position filename="gdk/gdkkeysyms.h" line="1159"/>
21454+ <type name="gint" c:type="gint"/>
21455+ </constant>
21456+ <constant name="KEY_lstroke" value="435" c:type="GDK_KEY_lstroke">
21457+ <source-position filename="gdk/gdkkeysyms.h" line="595"/>
21458+ <type name="gint" c:type="gint"/>
21459+ </constant>
21460+ <constant name="KEY_m" value="109" c:type="GDK_KEY_m">
21461+ <source-position filename="gdk/gdkkeysyms.h" line="464"/>
21462+ <type name="gint" c:type="gint"/>
21463+ </constant>
21464+ <constant name="KEY_mabovedot" value="16784961" c:type="GDK_KEY_mabovedot">
21465+ <source-position filename="gdk/gdkkeysyms.h" line="708"/>
21466+ <type name="gint" c:type="gint"/>
21467+ </constant>
21468+ <constant name="KEY_macron" value="175" c:type="GDK_KEY_macron">
21469+ <source-position filename="gdk/gdkkeysyms.h" line="497"/>
21470+ <type name="gint" c:type="gint"/>
21471+ </constant>
21472+ <constant name="KEY_malesymbol" value="2807" c:type="GDK_KEY_malesymbol">
21473+ <source-position filename="gdk/gdkkeysyms.h" line="1249"/>
21474+ <type name="gint" c:type="gint"/>
21475+ </constant>
21476+ <constant name="KEY_maltesecross"
21477+ value="2800"
21478+ c:type="GDK_KEY_maltesecross">
21479+ <source-position filename="gdk/gdkkeysyms.h" line="1242"/>
21480+ <type name="gint" c:type="gint"/>
21481+ </constant>
21482+ <constant name="KEY_marker" value="2751" c:type="GDK_KEY_marker">
21483+ <source-position filename="gdk/gdkkeysyms.h" line="1200"/>
21484+ <type name="gint" c:type="gint"/>
21485+ </constant>
21486+ <constant name="KEY_masculine" value="186" c:type="GDK_KEY_masculine">
21487+ <source-position filename="gdk/gdkkeysyms.h" line="508"/>
21488+ <type name="gint" c:type="gint"/>
21489+ </constant>
21490+ <constant name="KEY_minus" value="45" c:type="GDK_KEY_minus">
21491+ <source-position filename="gdk/gdkkeysyms.h" line="399"/>
21492+ <type name="gint" c:type="gint"/>
21493+ </constant>
21494+ <constant name="KEY_minutes" value="2774" c:type="GDK_KEY_minutes">
21495+ <source-position filename="gdk/gdkkeysyms.h" line="1218"/>
21496+ <type name="gint" c:type="gint"/>
21497+ </constant>
21498+ <constant name="KEY_mu" value="181" c:type="GDK_KEY_mu">
21499+ <source-position filename="gdk/gdkkeysyms.h" line="503"/>
21500+ <type name="gint" c:type="gint"/>
21501+ </constant>
21502+ <constant name="KEY_multiply" value="215" c:type="GDK_KEY_multiply">
21503+ <source-position filename="gdk/gdkkeysyms.h" line="538"/>
21504+ <type name="gint" c:type="gint"/>
21505+ </constant>
21506+ <constant name="KEY_musicalflat" value="2806" c:type="GDK_KEY_musicalflat">
21507+ <source-position filename="gdk/gdkkeysyms.h" line="1248"/>
21508+ <type name="gint" c:type="gint"/>
21509+ </constant>
21510+ <constant name="KEY_musicalsharp"
21511+ value="2805"
21512+ c:type="GDK_KEY_musicalsharp">
21513+ <source-position filename="gdk/gdkkeysyms.h" line="1247"/>
21514+ <type name="gint" c:type="gint"/>
21515+ </constant>
21516+ <constant name="KEY_n" value="110" c:type="GDK_KEY_n">
21517+ <source-position filename="gdk/gdkkeysyms.h" line="465"/>
21518+ <type name="gint" c:type="gint"/>
21519+ </constant>
21520+ <constant name="KEY_nabla" value="2245" c:type="GDK_KEY_nabla">
21521+ <source-position filename="gdk/gdkkeysyms.h" line="1131"/>
21522+ <type name="gint" c:type="gint"/>
21523+ </constant>
21524+ <constant name="KEY_nacute" value="497" c:type="GDK_KEY_nacute">
21525+ <source-position filename="gdk/gdkkeysyms.h" line="631"/>
21526+ <type name="gint" c:type="gint"/>
21527+ </constant>
21528+ <constant name="KEY_ncaron" value="498" c:type="GDK_KEY_ncaron">
21529+ <source-position filename="gdk/gdkkeysyms.h" line="632"/>
21530+ <type name="gint" c:type="gint"/>
21531+ </constant>
21532+ <constant name="KEY_ncedilla" value="1009" c:type="GDK_KEY_ncedilla">
21533+ <source-position filename="gdk/gdkkeysyms.h" line="691"/>
21534+ <type name="gint" c:type="gint"/>
21535+ </constant>
21536+ <constant name="KEY_ninesubscript"
21537+ value="16785545"
21538+ c:type="GDK_KEY_ninesubscript">
21539+ <source-position filename="gdk/gdkkeysyms.h" line="1776"/>
21540+ <type name="gint" c:type="gint"/>
21541+ </constant>
21542+ <constant name="KEY_ninesuperior"
21543+ value="16785529"
21544+ c:type="GDK_KEY_ninesuperior">
21545+ <source-position filename="gdk/gdkkeysyms.h" line="1766"/>
21546+ <type name="gint" c:type="gint"/>
21547+ </constant>
21548+ <constant name="KEY_nl" value="2536" c:type="GDK_KEY_nl">
21549+ <source-position filename="gdk/gdkkeysyms.h" line="1157"/>
21550+ <type name="gint" c:type="gint"/>
21551+ </constant>
21552+ <constant name="KEY_nobreakspace"
21553+ value="160"
21554+ c:type="GDK_KEY_nobreakspace">
21555+ <source-position filename="gdk/gdkkeysyms.h" line="482"/>
21556+ <type name="gint" c:type="gint"/>
21557+ </constant>
21558+ <constant name="KEY_notapproxeq"
21559+ value="16785991"
21560+ c:type="GDK_KEY_notapproxeq">
21561+ <source-position filename="gdk/gdkkeysyms.h" line="1789"/>
21562+ <type name="gint" c:type="gint"/>
21563+ </constant>
21564+ <constant name="KEY_notelementof"
21565+ value="16785929"
21566+ c:type="GDK_KEY_notelementof">
21567+ <source-position filename="gdk/gdkkeysyms.h" line="1780"/>
21568+ <type name="gint" c:type="gint"/>
21569+ </constant>
21570+ <constant name="KEY_notequal" value="2237" c:type="GDK_KEY_notequal">
21571+ <source-position filename="gdk/gdkkeysyms.h" line="1125"/>
21572+ <type name="gint" c:type="gint"/>
21573+ </constant>
21574+ <constant name="KEY_notidentical"
21575+ value="16786018"
21576+ c:type="GDK_KEY_notidentical">
21577+ <source-position filename="gdk/gdkkeysyms.h" line="1790"/>
21578+ <type name="gint" c:type="gint"/>
21579+ </constant>
21580+ <constant name="KEY_notsign" value="172" c:type="GDK_KEY_notsign">
21581+ <source-position filename="gdk/gdkkeysyms.h" line="494"/>
21582+ <type name="gint" c:type="gint"/>
21583+ </constant>
21584+ <constant name="KEY_ntilde" value="241" c:type="GDK_KEY_ntilde">
21585+ <source-position filename="gdk/gdkkeysyms.h" line="566"/>
21586+ <type name="gint" c:type="gint"/>
21587+ </constant>
21588+ <constant name="KEY_numbersign" value="35" c:type="GDK_KEY_numbersign">
21589+ <source-position filename="gdk/gdkkeysyms.h" line="388"/>
21590+ <type name="gint" c:type="gint"/>
21591+ </constant>
21592+ <constant name="KEY_numerosign" value="1712" c:type="GDK_KEY_numerosign">
21593+ <source-position filename="gdk/gdkkeysyms.h" line="939"/>
21594+ <type name="gint" c:type="gint"/>
21595+ </constant>
21596+ <constant name="KEY_o" value="111" c:type="GDK_KEY_o">
21597+ <source-position filename="gdk/gdkkeysyms.h" line="466"/>
21598+ <type name="gint" c:type="gint"/>
21599+ </constant>
21600+ <constant name="KEY_oacute" value="243" c:type="GDK_KEY_oacute">
21601+ <source-position filename="gdk/gdkkeysyms.h" line="568"/>
21602+ <type name="gint" c:type="gint"/>
21603+ </constant>
21604+ <constant name="KEY_obarred" value="16777845" c:type="GDK_KEY_obarred">
21605+ <source-position filename="gdk/gdkkeysyms.h" line="1648"/>
21606+ <type name="gint" c:type="gint"/>
21607+ </constant>
21608+ <constant name="KEY_obelowdot" value="16785101" c:type="GDK_KEY_obelowdot">
21609+ <source-position filename="gdk/gdkkeysyms.h" line="1700"/>
21610+ <type name="gint" c:type="gint"/>
21611+ </constant>
21612+ <constant name="KEY_ocaron" value="16777682" c:type="GDK_KEY_ocaron">
21613+ <source-position filename="gdk/gdkkeysyms.h" line="1647"/>
21614+ <type name="gint" c:type="gint"/>
21615+ </constant>
21616+ <constant name="KEY_ocircumflex" value="244" c:type="GDK_KEY_ocircumflex">
21617+ <source-position filename="gdk/gdkkeysyms.h" line="569"/>
21618+ <type name="gint" c:type="gint"/>
21619+ </constant>
21620+ <constant name="KEY_ocircumflexacute"
21621+ value="16785105"
21622+ c:type="GDK_KEY_ocircumflexacute">
21623+ <source-position filename="gdk/gdkkeysyms.h" line="1704"/>
21624+ <type name="gint" c:type="gint"/>
21625+ </constant>
21626+ <constant name="KEY_ocircumflexbelowdot"
21627+ value="16785113"
21628+ c:type="GDK_KEY_ocircumflexbelowdot">
21629+ <source-position filename="gdk/gdkkeysyms.h" line="1712"/>
21630+ <type name="gint" c:type="gint"/>
21631+ </constant>
21632+ <constant name="KEY_ocircumflexgrave"
21633+ value="16785107"
21634+ c:type="GDK_KEY_ocircumflexgrave">
21635+ <source-position filename="gdk/gdkkeysyms.h" line="1706"/>
21636+ <type name="gint" c:type="gint"/>
21637+ </constant>
21638+ <constant name="KEY_ocircumflexhook"
21639+ value="16785109"
21640+ c:type="GDK_KEY_ocircumflexhook">
21641+ <source-position filename="gdk/gdkkeysyms.h" line="1708"/>
21642+ <type name="gint" c:type="gint"/>
21643+ </constant>
21644+ <constant name="KEY_ocircumflextilde"
21645+ value="16785111"
21646+ c:type="GDK_KEY_ocircumflextilde">
21647+ <source-position filename="gdk/gdkkeysyms.h" line="1710"/>
21648+ <type name="gint" c:type="gint"/>
21649+ </constant>
21650+ <constant name="KEY_odiaeresis" value="246" c:type="GDK_KEY_odiaeresis">
21651+ <source-position filename="gdk/gdkkeysyms.h" line="571"/>
21652+ <type name="gint" c:type="gint"/>
21653+ </constant>
21654+ <constant name="KEY_odoubleacute"
21655+ value="501"
21656+ c:type="GDK_KEY_odoubleacute">
21657+ <source-position filename="gdk/gdkkeysyms.h" line="633"/>
21658+ <type name="gint" c:type="gint"/>
21659+ </constant>
21660+ <constant name="KEY_oe" value="5053" c:type="GDK_KEY_oe">
21661+ <source-position filename="gdk/gdkkeysyms.h" line="724"/>
21662+ <type name="gint" c:type="gint"/>
21663+ </constant>
21664+ <constant name="KEY_ogonek" value="434" c:type="GDK_KEY_ogonek">
21665+ <source-position filename="gdk/gdkkeysyms.h" line="594"/>
21666+ <type name="gint" c:type="gint"/>
21667+ </constant>
21668+ <constant name="KEY_ograve" value="242" c:type="GDK_KEY_ograve">
21669+ <source-position filename="gdk/gdkkeysyms.h" line="567"/>
21670+ <type name="gint" c:type="gint"/>
21671+ </constant>
21672+ <constant name="KEY_ohook" value="16785103" c:type="GDK_KEY_ohook">
21673+ <source-position filename="gdk/gdkkeysyms.h" line="1702"/>
21674+ <type name="gint" c:type="gint"/>
21675+ </constant>
21676+ <constant name="KEY_ohorn" value="16777633" c:type="GDK_KEY_ohorn">
21677+ <source-position filename="gdk/gdkkeysyms.h" line="1744"/>
21678+ <type name="gint" c:type="gint"/>
21679+ </constant>
21680+ <constant name="KEY_ohornacute"
21681+ value="16785115"
21682+ c:type="GDK_KEY_ohornacute">
21683+ <source-position filename="gdk/gdkkeysyms.h" line="1714"/>
21684+ <type name="gint" c:type="gint"/>
21685+ </constant>
21686+ <constant name="KEY_ohornbelowdot"
21687+ value="16785123"
21688+ c:type="GDK_KEY_ohornbelowdot">
21689+ <source-position filename="gdk/gdkkeysyms.h" line="1722"/>
21690+ <type name="gint" c:type="gint"/>
21691+ </constant>
21692+ <constant name="KEY_ohorngrave"
21693+ value="16785117"
21694+ c:type="GDK_KEY_ohorngrave">
21695+ <source-position filename="gdk/gdkkeysyms.h" line="1716"/>
21696+ <type name="gint" c:type="gint"/>
21697+ </constant>
21698+ <constant name="KEY_ohornhook" value="16785119" c:type="GDK_KEY_ohornhook">
21699+ <source-position filename="gdk/gdkkeysyms.h" line="1718"/>
21700+ <type name="gint" c:type="gint"/>
21701+ </constant>
21702+ <constant name="KEY_ohorntilde"
21703+ value="16785121"
21704+ c:type="GDK_KEY_ohorntilde">
21705+ <source-position filename="gdk/gdkkeysyms.h" line="1720"/>
21706+ <type name="gint" c:type="gint"/>
21707+ </constant>
21708+ <constant name="KEY_omacron" value="1010" c:type="GDK_KEY_omacron">
21709+ <source-position filename="gdk/gdkkeysyms.h" line="692"/>
21710+ <type name="gint" c:type="gint"/>
21711+ </constant>
21712+ <constant name="KEY_oneeighth" value="2755" c:type="GDK_KEY_oneeighth">
21713+ <source-position filename="gdk/gdkkeysyms.h" line="1201"/>
21714+ <type name="gint" c:type="gint"/>
21715+ </constant>
21716+ <constant name="KEY_onefifth" value="2738" c:type="GDK_KEY_onefifth">
21717+ <source-position filename="gdk/gdkkeysyms.h" line="1189"/>
21718+ <type name="gint" c:type="gint"/>
21719+ </constant>
21720+ <constant name="KEY_onehalf" value="189" c:type="GDK_KEY_onehalf">
21721+ <source-position filename="gdk/gdkkeysyms.h" line="511"/>
21722+ <type name="gint" c:type="gint"/>
21723+ </constant>
21724+ <constant name="KEY_onequarter" value="188" c:type="GDK_KEY_onequarter">
21725+ <source-position filename="gdk/gdkkeysyms.h" line="510"/>
21726+ <type name="gint" c:type="gint"/>
21727+ </constant>
21728+ <constant name="KEY_onesixth" value="2742" c:type="GDK_KEY_onesixth">
21729+ <source-position filename="gdk/gdkkeysyms.h" line="1193"/>
21730+ <type name="gint" c:type="gint"/>
21731+ </constant>
21732+ <constant name="KEY_onesubscript"
21733+ value="16785537"
21734+ c:type="GDK_KEY_onesubscript">
21735+ <source-position filename="gdk/gdkkeysyms.h" line="1768"/>
21736+ <type name="gint" c:type="gint"/>
21737+ </constant>
21738+ <constant name="KEY_onesuperior" value="185" c:type="GDK_KEY_onesuperior">
21739+ <source-position filename="gdk/gdkkeysyms.h" line="507"/>
21740+ <type name="gint" c:type="gint"/>
21741+ </constant>
21742+ <constant name="KEY_onethird" value="2736" c:type="GDK_KEY_onethird">
21743+ <source-position filename="gdk/gdkkeysyms.h" line="1187"/>
21744+ <type name="gint" c:type="gint"/>
21745+ </constant>
21746+ <constant name="KEY_ooblique" value="248" c:type="GDK_KEY_ooblique">
21747+ <source-position filename="gdk/gdkkeysyms.h" line="574"/>
21748+ <type name="gint" c:type="gint"/>
21749+ </constant>
21750+ <constant name="KEY_openrectbullet"
21751+ value="2786"
21752+ c:type="GDK_KEY_openrectbullet">
21753+ <source-position filename="gdk/gdkkeysyms.h" line="1229"/>
21754+ <type name="gint" c:type="gint"/>
21755+ </constant>
21756+ <constant name="KEY_openstar" value="2789" c:type="GDK_KEY_openstar">
21757+ <source-position filename="gdk/gdkkeysyms.h" line="1232"/>
21758+ <type name="gint" c:type="gint"/>
21759+ </constant>
21760+ <constant name="KEY_opentribulletdown"
21761+ value="2788"
21762+ c:type="GDK_KEY_opentribulletdown">
21763+ <source-position filename="gdk/gdkkeysyms.h" line="1231"/>
21764+ <type name="gint" c:type="gint"/>
21765+ </constant>
21766+ <constant name="KEY_opentribulletup"
21767+ value="2787"
21768+ c:type="GDK_KEY_opentribulletup">
21769+ <source-position filename="gdk/gdkkeysyms.h" line="1230"/>
21770+ <type name="gint" c:type="gint"/>
21771+ </constant>
21772+ <constant name="KEY_ordfeminine" value="170" c:type="GDK_KEY_ordfeminine">
21773+ <source-position filename="gdk/gdkkeysyms.h" line="492"/>
21774+ <type name="gint" c:type="gint"/>
21775+ </constant>
21776+ <constant name="KEY_oslash" value="248" c:type="GDK_KEY_oslash">
21777+ <source-position filename="gdk/gdkkeysyms.h" line="573"/>
21778+ <type name="gint" c:type="gint"/>
21779+ </constant>
21780+ <constant name="KEY_otilde" value="245" c:type="GDK_KEY_otilde">
21781+ <source-position filename="gdk/gdkkeysyms.h" line="570"/>
21782+ <type name="gint" c:type="gint"/>
21783+ </constant>
21784+ <constant name="KEY_overbar" value="3008" c:type="GDK_KEY_overbar">
21785+ <source-position filename="gdk/gdkkeysyms.h" line="1262"/>
21786+ <type name="gint" c:type="gint"/>
21787+ </constant>
21788+ <constant name="KEY_overline" value="1150" c:type="GDK_KEY_overline">
21789+ <source-position filename="gdk/gdkkeysyms.h" line="726"/>
21790+ <type name="gint" c:type="gint"/>
21791+ </constant>
21792+ <constant name="KEY_p" value="112" c:type="GDK_KEY_p">
21793+ <source-position filename="gdk/gdkkeysyms.h" line="467"/>
21794+ <type name="gint" c:type="gint"/>
21795+ </constant>
21796+ <constant name="KEY_pabovedot" value="16784983" c:type="GDK_KEY_pabovedot">
21797+ <source-position filename="gdk/gdkkeysyms.h" line="710"/>
21798+ <type name="gint" c:type="gint"/>
21799+ </constant>
21800+ <constant name="KEY_paragraph" value="182" c:type="GDK_KEY_paragraph">
21801+ <source-position filename="gdk/gdkkeysyms.h" line="504"/>
21802+ <type name="gint" c:type="gint"/>
21803+ </constant>
21804+ <constant name="KEY_parenleft" value="40" c:type="GDK_KEY_parenleft">
21805+ <source-position filename="gdk/gdkkeysyms.h" line="394"/>
21806+ <type name="gint" c:type="gint"/>
21807+ </constant>
21808+ <constant name="KEY_parenright" value="41" c:type="GDK_KEY_parenright">
21809+ <source-position filename="gdk/gdkkeysyms.h" line="395"/>
21810+ <type name="gint" c:type="gint"/>
21811+ </constant>
21812+ <constant name="KEY_partdifferential"
21813+ value="16785922"
21814+ c:type="GDK_KEY_partdifferential">
21815+ <source-position filename="gdk/gdkkeysyms.h" line="1777"/>
21816+ <type name="gint" c:type="gint"/>
21817+ </constant>
21818+ <constant name="KEY_partialderivative"
21819+ value="2287"
21820+ c:type="GDK_KEY_partialderivative">
21821+ <source-position filename="gdk/gdkkeysyms.h" line="1144"/>
21822+ <type name="gint" c:type="gint"/>
21823+ </constant>
21824+ <constant name="KEY_percent" value="37" c:type="GDK_KEY_percent">
21825+ <source-position filename="gdk/gdkkeysyms.h" line="390"/>
21826+ <type name="gint" c:type="gint"/>
21827+ </constant>
21828+ <constant name="KEY_period" value="46" c:type="GDK_KEY_period">
21829+ <source-position filename="gdk/gdkkeysyms.h" line="400"/>
21830+ <type name="gint" c:type="gint"/>
21831+ </constant>
21832+ <constant name="KEY_periodcentered"
21833+ value="183"
21834+ c:type="GDK_KEY_periodcentered">
21835+ <source-position filename="gdk/gdkkeysyms.h" line="505"/>
21836+ <type name="gint" c:type="gint"/>
21837+ </constant>
21838+ <constant name="KEY_permille" value="2773" c:type="GDK_KEY_permille">
21839+ <source-position filename="gdk/gdkkeysyms.h" line="1217"/>
21840+ <type name="gint" c:type="gint"/>
21841+ </constant>
21842+ <constant name="KEY_phonographcopyright"
21843+ value="2811"
21844+ c:type="GDK_KEY_phonographcopyright">
21845+ <source-position filename="gdk/gdkkeysyms.h" line="1253"/>
21846+ <type name="gint" c:type="gint"/>
21847+ </constant>
21848+ <constant name="KEY_plus" value="43" c:type="GDK_KEY_plus">
21849+ <source-position filename="gdk/gdkkeysyms.h" line="397"/>
21850+ <type name="gint" c:type="gint"/>
21851+ </constant>
21852+ <constant name="KEY_plusminus" value="177" c:type="GDK_KEY_plusminus">
21853+ <source-position filename="gdk/gdkkeysyms.h" line="499"/>
21854+ <type name="gint" c:type="gint"/>
21855+ </constant>
21856+ <constant name="KEY_prescription"
21857+ value="2772"
21858+ c:type="GDK_KEY_prescription">
21859+ <source-position filename="gdk/gdkkeysyms.h" line="1216"/>
21860+ <type name="gint" c:type="gint"/>
21861+ </constant>
21862+ <constant name="KEY_prolongedsound"
21863+ value="1200"
21864+ c:type="GDK_KEY_prolongedsound">
21865+ <source-position filename="gdk/gdkkeysyms.h" line="744"/>
21866+ <type name="gint" c:type="gint"/>
21867+ </constant>
21868+ <constant name="KEY_punctspace" value="2726" c:type="GDK_KEY_punctspace">
21869+ <source-position filename="gdk/gdkkeysyms.h" line="1179"/>
21870+ <type name="gint" c:type="gint"/>
21871+ </constant>
21872+ <constant name="KEY_q" value="113" c:type="GDK_KEY_q">
21873+ <source-position filename="gdk/gdkkeysyms.h" line="468"/>
21874+ <type name="gint" c:type="gint"/>
21875+ </constant>
21876+ <constant name="KEY_quad" value="3020" c:type="GDK_KEY_quad">
21877+ <source-position filename="gdk/gdkkeysyms.h" line="1268"/>
21878+ <type name="gint" c:type="gint"/>
21879+ </constant>
21880+ <constant name="KEY_question" value="63" c:type="GDK_KEY_question">
21881+ <source-position filename="gdk/gdkkeysyms.h" line="417"/>
21882+ <type name="gint" c:type="gint"/>
21883+ </constant>
21884+ <constant name="KEY_questiondown"
21885+ value="191"
21886+ c:type="GDK_KEY_questiondown">
21887+ <source-position filename="gdk/gdkkeysyms.h" line="513"/>
21888+ <type name="gint" c:type="gint"/>
21889+ </constant>
21890+ <constant name="KEY_quotedbl" value="34" c:type="GDK_KEY_quotedbl">
21891+ <source-position filename="gdk/gdkkeysyms.h" line="387"/>
21892+ <type name="gint" c:type="gint"/>
21893+ </constant>
21894+ <constant name="KEY_quoteleft" value="96" c:type="GDK_KEY_quoteleft">
21895+ <source-position filename="gdk/gdkkeysyms.h" line="451"/>
21896+ <type name="gint" c:type="gint"/>
21897+ </constant>
21898+ <constant name="KEY_quoteright" value="39" c:type="GDK_KEY_quoteright">
21899+ <source-position filename="gdk/gdkkeysyms.h" line="393"/>
21900+ <type name="gint" c:type="gint"/>
21901+ </constant>
21902+ <constant name="KEY_r" value="114" c:type="GDK_KEY_r">
21903+ <source-position filename="gdk/gdkkeysyms.h" line="469"/>
21904+ <type name="gint" c:type="gint"/>
21905+ </constant>
21906+ <constant name="KEY_racute" value="480" c:type="GDK_KEY_racute">
21907+ <source-position filename="gdk/gdkkeysyms.h" line="622"/>
21908+ <type name="gint" c:type="gint"/>
21909+ </constant>
21910+ <constant name="KEY_radical" value="2262" c:type="GDK_KEY_radical">
21911+ <source-position filename="gdk/gdkkeysyms.h" line="1137"/>
21912+ <type name="gint" c:type="gint"/>
21913+ </constant>
21914+ <constant name="KEY_rcaron" value="504" c:type="GDK_KEY_rcaron">
21915+ <source-position filename="gdk/gdkkeysyms.h" line="634"/>
21916+ <type name="gint" c:type="gint"/>
21917+ </constant>
21918+ <constant name="KEY_rcedilla" value="947" c:type="GDK_KEY_rcedilla">
21919+ <source-position filename="gdk/gdkkeysyms.h" line="669"/>
21920+ <type name="gint" c:type="gint"/>
21921+ </constant>
21922+ <constant name="KEY_registered" value="174" c:type="GDK_KEY_registered">
21923+ <source-position filename="gdk/gdkkeysyms.h" line="496"/>
21924+ <type name="gint" c:type="gint"/>
21925+ </constant>
21926+ <constant name="KEY_rightanglebracket"
21927+ value="2750"
21928+ c:type="GDK_KEY_rightanglebracket">
21929+ <source-position filename="gdk/gdkkeysyms.h" line="1199"/>
21930+ <type name="gint" c:type="gint"/>
21931+ </constant>
21932+ <constant name="KEY_rightarrow" value="2301" c:type="GDK_KEY_rightarrow">
21933+ <source-position filename="gdk/gdkkeysyms.h" line="1148"/>
21934+ <type name="gint" c:type="gint"/>
21935+ </constant>
21936+ <constant name="KEY_rightcaret" value="2982" c:type="GDK_KEY_rightcaret">
21937+ <source-position filename="gdk/gdkkeysyms.h" line="1259"/>
21938+ <type name="gint" c:type="gint"/>
21939+ </constant>
21940+ <constant name="KEY_rightdoublequotemark"
21941+ value="2771"
21942+ c:type="GDK_KEY_rightdoublequotemark">
21943+ <source-position filename="gdk/gdkkeysyms.h" line="1215"/>
21944+ <type name="gint" c:type="gint"/>
21945+ </constant>
21946+ <constant name="KEY_rightmiddlecurlybrace"
21947+ value="2224"
21948+ c:type="GDK_KEY_rightmiddlecurlybrace">
21949+ <source-position filename="gdk/gdkkeysyms.h" line="1116"/>
21950+ <type name="gint" c:type="gint"/>
21951+ </constant>
21952+ <constant name="KEY_rightmiddlesummation"
21953+ value="2231"
21954+ c:type="GDK_KEY_rightmiddlesummation">
21955+ <source-position filename="gdk/gdkkeysyms.h" line="1123"/>
21956+ <type name="gint" c:type="gint"/>
21957+ </constant>
21958+ <constant name="KEY_rightopentriangle"
21959+ value="2765"
21960+ c:type="GDK_KEY_rightopentriangle">
21961+ <source-position filename="gdk/gdkkeysyms.h" line="1209"/>
21962+ <type name="gint" c:type="gint"/>
21963+ </constant>
21964+ <constant name="KEY_rightpointer"
21965+ value="2795"
21966+ c:type="GDK_KEY_rightpointer">
21967+ <source-position filename="gdk/gdkkeysyms.h" line="1238"/>
21968+ <type name="gint" c:type="gint"/>
21969+ </constant>
21970+ <constant name="KEY_rightshoe" value="3032" c:type="GDK_KEY_rightshoe">
21971+ <source-position filename="gdk/gdkkeysyms.h" line="1273"/>
21972+ <type name="gint" c:type="gint"/>
21973+ </constant>
21974+ <constant name="KEY_rightsinglequotemark"
21975+ value="2769"
21976+ c:type="GDK_KEY_rightsinglequotemark">
21977+ <source-position filename="gdk/gdkkeysyms.h" line="1213"/>
21978+ <type name="gint" c:type="gint"/>
21979+ </constant>
21980+ <constant name="KEY_rightt" value="2549" c:type="GDK_KEY_rightt">
21981+ <source-position filename="gdk/gdkkeysyms.h" line="1170"/>
21982+ <type name="gint" c:type="gint"/>
21983+ </constant>
21984+ <constant name="KEY_righttack" value="3068" c:type="GDK_KEY_righttack">
21985+ <source-position filename="gdk/gdkkeysyms.h" line="1276"/>
21986+ <type name="gint" c:type="gint"/>
21987+ </constant>
21988+ <constant name="KEY_s" value="115" c:type="GDK_KEY_s">
21989+ <source-position filename="gdk/gdkkeysyms.h" line="470"/>
21990+ <type name="gint" c:type="gint"/>
21991+ </constant>
21992+ <constant name="KEY_sabovedot" value="16784993" c:type="GDK_KEY_sabovedot">
21993+ <source-position filename="gdk/gdkkeysyms.h" line="712"/>
21994+ <type name="gint" c:type="gint"/>
21995+ </constant>
21996+ <constant name="KEY_sacute" value="438" c:type="GDK_KEY_sacute">
21997+ <source-position filename="gdk/gdkkeysyms.h" line="597"/>
21998+ <type name="gint" c:type="gint"/>
21999+ </constant>
22000+ <constant name="KEY_scaron" value="441" c:type="GDK_KEY_scaron">
22001+ <source-position filename="gdk/gdkkeysyms.h" line="599"/>
22002+ <type name="gint" c:type="gint"/>
22003+ </constant>
22004+ <constant name="KEY_scedilla" value="442" c:type="GDK_KEY_scedilla">
22005+ <source-position filename="gdk/gdkkeysyms.h" line="600"/>
22006+ <type name="gint" c:type="gint"/>
22007+ </constant>
22008+ <constant name="KEY_schwa" value="16777817" c:type="GDK_KEY_schwa">
22009+ <source-position filename="gdk/gdkkeysyms.h" line="1650"/>
22010+ <type name="gint" c:type="gint"/>
22011+ </constant>
22012+ <constant name="KEY_scircumflex" value="766" c:type="GDK_KEY_scircumflex">
22013+ <source-position filename="gdk/gdkkeysyms.h" line="660"/>
22014+ <type name="gint" c:type="gint"/>
22015+ </constant>
22016+ <constant name="KEY_script_switch"
22017+ value="65406"
22018+ c:type="GDK_KEY_script_switch">
22019+ <source-position filename="gdk/gdkkeysyms.h" line="98"/>
22020+ <type name="gint" c:type="gint"/>
22021+ </constant>
22022+ <constant name="KEY_seconds" value="2775" c:type="GDK_KEY_seconds">
22023+ <source-position filename="gdk/gdkkeysyms.h" line="1219"/>
22024+ <type name="gint" c:type="gint"/>
22025+ </constant>
22026+ <constant name="KEY_section" value="167" c:type="GDK_KEY_section">
22027+ <source-position filename="gdk/gdkkeysyms.h" line="489"/>
22028+ <type name="gint" c:type="gint"/>
22029+ </constant>
22030+ <constant name="KEY_semicolon" value="59" c:type="GDK_KEY_semicolon">
22031+ <source-position filename="gdk/gdkkeysyms.h" line="413"/>
22032+ <type name="gint" c:type="gint"/>
22033+ </constant>
22034+ <constant name="KEY_semivoicedsound"
22035+ value="1247"
22036+ c:type="GDK_KEY_semivoicedsound">
22037+ <source-position filename="gdk/gdkkeysyms.h" line="794"/>
22038+ <type name="gint" c:type="gint"/>
22039+ </constant>
22040+ <constant name="KEY_seveneighths"
22041+ value="2758"
22042+ c:type="GDK_KEY_seveneighths">
22043+ <source-position filename="gdk/gdkkeysyms.h" line="1204"/>
22044+ <type name="gint" c:type="gint"/>
22045+ </constant>
22046+ <constant name="KEY_sevensubscript"
22047+ value="16785543"
22048+ c:type="GDK_KEY_sevensubscript">
22049+ <source-position filename="gdk/gdkkeysyms.h" line="1774"/>
22050+ <type name="gint" c:type="gint"/>
22051+ </constant>
22052+ <constant name="KEY_sevensuperior"
22053+ value="16785527"
22054+ c:type="GDK_KEY_sevensuperior">
22055+ <source-position filename="gdk/gdkkeysyms.h" line="1764"/>
22056+ <type name="gint" c:type="gint"/>
22057+ </constant>
22058+ <constant name="KEY_signaturemark"
22059+ value="2762"
22060+ c:type="GDK_KEY_signaturemark">
22061+ <source-position filename="gdk/gdkkeysyms.h" line="1206"/>
22062+ <type name="gint" c:type="gint"/>
22063+ </constant>
22064+ <constant name="KEY_signifblank" value="2732" c:type="GDK_KEY_signifblank">
22065+ <source-position filename="gdk/gdkkeysyms.h" line="1184"/>
22066+ <type name="gint" c:type="gint"/>
22067+ </constant>
22068+ <constant name="KEY_similarequal"
22069+ value="2249"
22070+ c:type="GDK_KEY_similarequal">
22071+ <source-position filename="gdk/gdkkeysyms.h" line="1133"/>
22072+ <type name="gint" c:type="gint"/>
22073+ </constant>
22074+ <constant name="KEY_singlelowquotemark"
22075+ value="2813"
22076+ c:type="GDK_KEY_singlelowquotemark">
22077+ <source-position filename="gdk/gdkkeysyms.h" line="1255"/>
22078+ <type name="gint" c:type="gint"/>
22079+ </constant>
22080+ <constant name="KEY_sixsubscript"
22081+ value="16785542"
22082+ c:type="GDK_KEY_sixsubscript">
22083+ <source-position filename="gdk/gdkkeysyms.h" line="1773"/>
22084+ <type name="gint" c:type="gint"/>
22085+ </constant>
22086+ <constant name="KEY_sixsuperior"
22087+ value="16785526"
22088+ c:type="GDK_KEY_sixsuperior">
22089+ <source-position filename="gdk/gdkkeysyms.h" line="1763"/>
22090+ <type name="gint" c:type="gint"/>
22091+ </constant>
22092+ <constant name="KEY_slash" value="47" c:type="GDK_KEY_slash">
22093+ <source-position filename="gdk/gdkkeysyms.h" line="401"/>
22094+ <type name="gint" c:type="gint"/>
22095+ </constant>
22096+ <constant name="KEY_soliddiamond"
22097+ value="2528"
22098+ c:type="GDK_KEY_soliddiamond">
22099+ <source-position filename="gdk/gdkkeysyms.h" line="1151"/>
22100+ <type name="gint" c:type="gint"/>
22101+ </constant>
22102+ <constant name="KEY_space" value="32" c:type="GDK_KEY_space">
22103+ <source-position filename="gdk/gdkkeysyms.h" line="385"/>
22104+ <type name="gint" c:type="gint"/>
22105+ </constant>
22106+ <constant name="KEY_squareroot"
22107+ value="16785946"
22108+ c:type="GDK_KEY_squareroot">
22109+ <source-position filename="gdk/gdkkeysyms.h" line="1782"/>
22110+ <type name="gint" c:type="gint"/>
22111+ </constant>
22112+ <constant name="KEY_ssharp" value="223" c:type="GDK_KEY_ssharp">
22113+ <source-position filename="gdk/gdkkeysyms.h" line="548"/>
22114+ <type name="gint" c:type="gint"/>
22115+ </constant>
22116+ <constant name="KEY_sterling" value="163" c:type="GDK_KEY_sterling">
22117+ <source-position filename="gdk/gdkkeysyms.h" line="485"/>
22118+ <type name="gint" c:type="gint"/>
22119+ </constant>
22120+ <constant name="KEY_stricteq" value="16786019" c:type="GDK_KEY_stricteq">
22121+ <source-position filename="gdk/gdkkeysyms.h" line="1791"/>
22122+ <type name="gint" c:type="gint"/>
22123+ </constant>
22124+ <constant name="KEY_t" value="116" c:type="GDK_KEY_t">
22125+ <source-position filename="gdk/gdkkeysyms.h" line="471"/>
22126+ <type name="gint" c:type="gint"/>
22127+ </constant>
22128+ <constant name="KEY_tabovedot" value="16785003" c:type="GDK_KEY_tabovedot">
22129+ <source-position filename="gdk/gdkkeysyms.h" line="714"/>
22130+ <type name="gint" c:type="gint"/>
22131+ </constant>
22132+ <constant name="KEY_tcaron" value="443" c:type="GDK_KEY_tcaron">
22133+ <source-position filename="gdk/gdkkeysyms.h" line="601"/>
22134+ <type name="gint" c:type="gint"/>
22135+ </constant>
22136+ <constant name="KEY_tcedilla" value="510" c:type="GDK_KEY_tcedilla">
22137+ <source-position filename="gdk/gdkkeysyms.h" line="637"/>
22138+ <type name="gint" c:type="gint"/>
22139+ </constant>
22140+ <constant name="KEY_telephone" value="2809" c:type="GDK_KEY_telephone">
22141+ <source-position filename="gdk/gdkkeysyms.h" line="1251"/>
22142+ <type name="gint" c:type="gint"/>
22143+ </constant>
22144+ <constant name="KEY_telephonerecorder"
22145+ value="2810"
22146+ c:type="GDK_KEY_telephonerecorder">
22147+ <source-position filename="gdk/gdkkeysyms.h" line="1252"/>
22148+ <type name="gint" c:type="gint"/>
22149+ </constant>
22150+ <constant name="KEY_therefore" value="2240" c:type="GDK_KEY_therefore">
22151+ <source-position filename="gdk/gdkkeysyms.h" line="1128"/>
22152+ <type name="gint" c:type="gint"/>
22153+ </constant>
22154+ <constant name="KEY_thinspace" value="2727" c:type="GDK_KEY_thinspace">
22155+ <source-position filename="gdk/gdkkeysyms.h" line="1180"/>
22156+ <type name="gint" c:type="gint"/>
22157+ </constant>
22158+ <constant name="KEY_thorn" value="254" c:type="GDK_KEY_thorn">
22159+ <source-position filename="gdk/gdkkeysyms.h" line="580"/>
22160+ <type name="gint" c:type="gint"/>
22161+ </constant>
22162+ <constant name="KEY_threeeighths"
22163+ value="2756"
22164+ c:type="GDK_KEY_threeeighths">
22165+ <source-position filename="gdk/gdkkeysyms.h" line="1202"/>
22166+ <type name="gint" c:type="gint"/>
22167+ </constant>
22168+ <constant name="KEY_threefifths" value="2740" c:type="GDK_KEY_threefifths">
22169+ <source-position filename="gdk/gdkkeysyms.h" line="1191"/>
22170+ <type name="gint" c:type="gint"/>
22171+ </constant>
22172+ <constant name="KEY_threequarters"
22173+ value="190"
22174+ c:type="GDK_KEY_threequarters">
22175+ <source-position filename="gdk/gdkkeysyms.h" line="512"/>
22176+ <type name="gint" c:type="gint"/>
22177+ </constant>
22178+ <constant name="KEY_threesubscript"
22179+ value="16785539"
22180+ c:type="GDK_KEY_threesubscript">
22181+ <source-position filename="gdk/gdkkeysyms.h" line="1770"/>
22182+ <type name="gint" c:type="gint"/>
22183+ </constant>
22184+ <constant name="KEY_threesuperior"
22185+ value="179"
22186+ c:type="GDK_KEY_threesuperior">
22187+ <source-position filename="gdk/gdkkeysyms.h" line="501"/>
22188+ <type name="gint" c:type="gint"/>
22189+ </constant>
22190+ <constant name="KEY_tintegral" value="16785965" c:type="GDK_KEY_tintegral">
22191+ <source-position filename="gdk/gdkkeysyms.h" line="1786"/>
22192+ <type name="gint" c:type="gint"/>
22193+ </constant>
22194+ <constant name="KEY_topintegral" value="2212" c:type="GDK_KEY_topintegral">
22195+ <source-position filename="gdk/gdkkeysyms.h" line="1104"/>
22196+ <type name="gint" c:type="gint"/>
22197+ </constant>
22198+ <constant name="KEY_topleftparens"
22199+ value="2219"
22200+ c:type="GDK_KEY_topleftparens">
22201+ <source-position filename="gdk/gdkkeysyms.h" line="1111"/>
22202+ <type name="gint" c:type="gint"/>
22203+ </constant>
22204+ <constant name="KEY_topleftradical"
22205+ value="2210"
22206+ c:type="GDK_KEY_topleftradical">
22207+ <source-position filename="gdk/gdkkeysyms.h" line="1102"/>
22208+ <type name="gint" c:type="gint"/>
22209+ </constant>
22210+ <constant name="KEY_topleftsqbracket"
22211+ value="2215"
22212+ c:type="GDK_KEY_topleftsqbracket">
22213+ <source-position filename="gdk/gdkkeysyms.h" line="1107"/>
22214+ <type name="gint" c:type="gint"/>
22215+ </constant>
22216+ <constant name="KEY_topleftsummation"
22217+ value="2225"
22218+ c:type="GDK_KEY_topleftsummation">
22219+ <source-position filename="gdk/gdkkeysyms.h" line="1117"/>
22220+ <type name="gint" c:type="gint"/>
22221+ </constant>
22222+ <constant name="KEY_toprightparens"
22223+ value="2221"
22224+ c:type="GDK_KEY_toprightparens">
22225+ <source-position filename="gdk/gdkkeysyms.h" line="1113"/>
22226+ <type name="gint" c:type="gint"/>
22227+ </constant>
22228+ <constant name="KEY_toprightsqbracket"
22229+ value="2217"
22230+ c:type="GDK_KEY_toprightsqbracket">
22231+ <source-position filename="gdk/gdkkeysyms.h" line="1109"/>
22232+ <type name="gint" c:type="gint"/>
22233+ </constant>
22234+ <constant name="KEY_toprightsummation"
22235+ value="2229"
22236+ c:type="GDK_KEY_toprightsummation">
22237+ <source-position filename="gdk/gdkkeysyms.h" line="1121"/>
22238+ <type name="gint" c:type="gint"/>
22239+ </constant>
22240+ <constant name="KEY_topt" value="2551" c:type="GDK_KEY_topt">
22241+ <source-position filename="gdk/gdkkeysyms.h" line="1172"/>
22242+ <type name="gint" c:type="gint"/>
22243+ </constant>
22244+ <constant name="KEY_topvertsummationconnector"
22245+ value="2227"
22246+ c:type="GDK_KEY_topvertsummationconnector">
22247+ <source-position filename="gdk/gdkkeysyms.h" line="1119"/>
22248+ <type name="gint" c:type="gint"/>
22249+ </constant>
22250+ <constant name="KEY_trademark" value="2761" c:type="GDK_KEY_trademark">
22251+ <source-position filename="gdk/gdkkeysyms.h" line="1205"/>
22252+ <type name="gint" c:type="gint"/>
22253+ </constant>
22254+ <constant name="KEY_trademarkincircle"
22255+ value="2763"
22256+ c:type="GDK_KEY_trademarkincircle">
22257+ <source-position filename="gdk/gdkkeysyms.h" line="1207"/>
22258+ <type name="gint" c:type="gint"/>
22259+ </constant>
22260+ <constant name="KEY_tslash" value="956" c:type="GDK_KEY_tslash">
22261+ <source-position filename="gdk/gdkkeysyms.h" line="674"/>
22262+ <type name="gint" c:type="gint"/>
22263+ </constant>
22264+ <constant name="KEY_twofifths" value="2739" c:type="GDK_KEY_twofifths">
22265+ <source-position filename="gdk/gdkkeysyms.h" line="1190"/>
22266+ <type name="gint" c:type="gint"/>
22267+ </constant>
22268+ <constant name="KEY_twosubscript"
22269+ value="16785538"
22270+ c:type="GDK_KEY_twosubscript">
22271+ <source-position filename="gdk/gdkkeysyms.h" line="1769"/>
22272+ <type name="gint" c:type="gint"/>
22273+ </constant>
22274+ <constant name="KEY_twosuperior" value="178" c:type="GDK_KEY_twosuperior">
22275+ <source-position filename="gdk/gdkkeysyms.h" line="500"/>
22276+ <type name="gint" c:type="gint"/>
22277+ </constant>
22278+ <constant name="KEY_twothirds" value="2737" c:type="GDK_KEY_twothirds">
22279+ <source-position filename="gdk/gdkkeysyms.h" line="1188"/>
22280+ <type name="gint" c:type="gint"/>
22281+ </constant>
22282+ <constant name="KEY_u" value="117" c:type="GDK_KEY_u">
22283+ <source-position filename="gdk/gdkkeysyms.h" line="472"/>
22284+ <type name="gint" c:type="gint"/>
22285+ </constant>
22286+ <constant name="KEY_uacute" value="250" c:type="GDK_KEY_uacute">
22287+ <source-position filename="gdk/gdkkeysyms.h" line="576"/>
22288+ <type name="gint" c:type="gint"/>
22289+ </constant>
22290+ <constant name="KEY_ubelowdot" value="16785125" c:type="GDK_KEY_ubelowdot">
22291+ <source-position filename="gdk/gdkkeysyms.h" line="1724"/>
22292+ <type name="gint" c:type="gint"/>
22293+ </constant>
22294+ <constant name="KEY_ubreve" value="765" c:type="GDK_KEY_ubreve">
22295+ <source-position filename="gdk/gdkkeysyms.h" line="659"/>
22296+ <type name="gint" c:type="gint"/>
22297+ </constant>
22298+ <constant name="KEY_ucircumflex" value="251" c:type="GDK_KEY_ucircumflex">
22299+ <source-position filename="gdk/gdkkeysyms.h" line="577"/>
22300+ <type name="gint" c:type="gint"/>
22301+ </constant>
22302+ <constant name="KEY_udiaeresis" value="252" c:type="GDK_KEY_udiaeresis">
22303+ <source-position filename="gdk/gdkkeysyms.h" line="578"/>
22304+ <type name="gint" c:type="gint"/>
22305+ </constant>
22306+ <constant name="KEY_udoubleacute"
22307+ value="507"
22308+ c:type="GDK_KEY_udoubleacute">
22309+ <source-position filename="gdk/gdkkeysyms.h" line="636"/>
22310+ <type name="gint" c:type="gint"/>
22311+ </constant>
22312+ <constant name="KEY_ugrave" value="249" c:type="GDK_KEY_ugrave">
22313+ <source-position filename="gdk/gdkkeysyms.h" line="575"/>
22314+ <type name="gint" c:type="gint"/>
22315+ </constant>
22316+ <constant name="KEY_uhook" value="16785127" c:type="GDK_KEY_uhook">
22317+ <source-position filename="gdk/gdkkeysyms.h" line="1726"/>
22318+ <type name="gint" c:type="gint"/>
22319+ </constant>
22320+ <constant name="KEY_uhorn" value="16777648" c:type="GDK_KEY_uhorn">
22321+ <source-position filename="gdk/gdkkeysyms.h" line="1746"/>
22322+ <type name="gint" c:type="gint"/>
22323+ </constant>
22324+ <constant name="KEY_uhornacute"
22325+ value="16785129"
22326+ c:type="GDK_KEY_uhornacute">
22327+ <source-position filename="gdk/gdkkeysyms.h" line="1728"/>
22328+ <type name="gint" c:type="gint"/>
22329+ </constant>
22330+ <constant name="KEY_uhornbelowdot"
22331+ value="16785137"
22332+ c:type="GDK_KEY_uhornbelowdot">
22333+ <source-position filename="gdk/gdkkeysyms.h" line="1736"/>
22334+ <type name="gint" c:type="gint"/>
22335+ </constant>
22336+ <constant name="KEY_uhorngrave"
22337+ value="16785131"
22338+ c:type="GDK_KEY_uhorngrave">
22339+ <source-position filename="gdk/gdkkeysyms.h" line="1730"/>
22340+ <type name="gint" c:type="gint"/>
22341+ </constant>
22342+ <constant name="KEY_uhornhook" value="16785133" c:type="GDK_KEY_uhornhook">
22343+ <source-position filename="gdk/gdkkeysyms.h" line="1732"/>
22344+ <type name="gint" c:type="gint"/>
22345+ </constant>
22346+ <constant name="KEY_uhorntilde"
22347+ value="16785135"
22348+ c:type="GDK_KEY_uhorntilde">
22349+ <source-position filename="gdk/gdkkeysyms.h" line="1734"/>
22350+ <type name="gint" c:type="gint"/>
22351+ </constant>
22352+ <constant name="KEY_umacron" value="1022" c:type="GDK_KEY_umacron">
22353+ <source-position filename="gdk/gdkkeysyms.h" line="696"/>
22354+ <type name="gint" c:type="gint"/>
22355+ </constant>
22356+ <constant name="KEY_underbar" value="3014" c:type="GDK_KEY_underbar">
22357+ <source-position filename="gdk/gdkkeysyms.h" line="1266"/>
22358+ <type name="gint" c:type="gint"/>
22359+ </constant>
22360+ <constant name="KEY_underscore" value="95" c:type="GDK_KEY_underscore">
22361+ <source-position filename="gdk/gdkkeysyms.h" line="449"/>
22362+ <type name="gint" c:type="gint"/>
22363+ </constant>
22364+ <constant name="KEY_union" value="2269" c:type="GDK_KEY_union">
22365+ <source-position filename="gdk/gdkkeysyms.h" line="1141"/>
22366+ <type name="gint" c:type="gint"/>
22367+ </constant>
22368+ <constant name="KEY_uogonek" value="1017" c:type="GDK_KEY_uogonek">
22369+ <source-position filename="gdk/gdkkeysyms.h" line="694"/>
22370+ <type name="gint" c:type="gint"/>
22371+ </constant>
22372+ <constant name="KEY_uparrow" value="2300" c:type="GDK_KEY_uparrow">
22373+ <source-position filename="gdk/gdkkeysyms.h" line="1147"/>
22374+ <type name="gint" c:type="gint"/>
22375+ </constant>
22376+ <constant name="KEY_upcaret" value="2985" c:type="GDK_KEY_upcaret">
22377+ <source-position filename="gdk/gdkkeysyms.h" line="1261"/>
22378+ <type name="gint" c:type="gint"/>
22379+ </constant>
22380+ <constant name="KEY_upleftcorner"
22381+ value="2540"
22382+ c:type="GDK_KEY_upleftcorner">
22383+ <source-position filename="gdk/gdkkeysyms.h" line="1161"/>
22384+ <type name="gint" c:type="gint"/>
22385+ </constant>
22386+ <constant name="KEY_uprightcorner"
22387+ value="2539"
22388+ c:type="GDK_KEY_uprightcorner">
22389+ <source-position filename="gdk/gdkkeysyms.h" line="1160"/>
22390+ <type name="gint" c:type="gint"/>
22391+ </constant>
22392+ <constant name="KEY_upshoe" value="3011" c:type="GDK_KEY_upshoe">
22393+ <source-position filename="gdk/gdkkeysyms.h" line="1264"/>
22394+ <type name="gint" c:type="gint"/>
22395+ </constant>
22396+ <constant name="KEY_upstile" value="3027" c:type="GDK_KEY_upstile">
22397+ <source-position filename="gdk/gdkkeysyms.h" line="1271"/>
22398+ <type name="gint" c:type="gint"/>
22399+ </constant>
22400+ <constant name="KEY_uptack" value="3022" c:type="GDK_KEY_uptack">
22401+ <source-position filename="gdk/gdkkeysyms.h" line="1269"/>
22402+ <type name="gint" c:type="gint"/>
22403+ </constant>
22404+ <constant name="KEY_uring" value="505" c:type="GDK_KEY_uring">
22405+ <source-position filename="gdk/gdkkeysyms.h" line="635"/>
22406+ <type name="gint" c:type="gint"/>
22407+ </constant>
22408+ <constant name="KEY_utilde" value="1021" c:type="GDK_KEY_utilde">
22409+ <source-position filename="gdk/gdkkeysyms.h" line="695"/>
22410+ <type name="gint" c:type="gint"/>
22411+ </constant>
22412+ <constant name="KEY_v" value="118" c:type="GDK_KEY_v">
22413+ <source-position filename="gdk/gdkkeysyms.h" line="473"/>
22414+ <type name="gint" c:type="gint"/>
22415+ </constant>
22416+ <constant name="KEY_variation" value="2241" c:type="GDK_KEY_variation">
22417+ <source-position filename="gdk/gdkkeysyms.h" line="1129"/>
22418+ <type name="gint" c:type="gint"/>
22419+ </constant>
22420+ <constant name="KEY_vertbar" value="2552" c:type="GDK_KEY_vertbar">
22421+ <source-position filename="gdk/gdkkeysyms.h" line="1173"/>
22422+ <type name="gint" c:type="gint"/>
22423+ </constant>
22424+ <constant name="KEY_vertconnector"
22425+ value="2214"
22426+ c:type="GDK_KEY_vertconnector">
22427+ <source-position filename="gdk/gdkkeysyms.h" line="1106"/>
22428+ <type name="gint" c:type="gint"/>
22429+ </constant>
22430+ <constant name="KEY_voicedsound" value="1246" c:type="GDK_KEY_voicedsound">
22431+ <source-position filename="gdk/gdkkeysyms.h" line="793"/>
22432+ <type name="gint" c:type="gint"/>
22433+ </constant>
22434+ <constant name="KEY_vt" value="2537" c:type="GDK_KEY_vt">
22435+ <source-position filename="gdk/gdkkeysyms.h" line="1158"/>
22436+ <type name="gint" c:type="gint"/>
22437+ </constant>
22438+ <constant name="KEY_w" value="119" c:type="GDK_KEY_w">
22439+ <source-position filename="gdk/gdkkeysyms.h" line="474"/>
22440+ <type name="gint" c:type="gint"/>
22441+ </constant>
22442+ <constant name="KEY_wacute" value="16785027" c:type="GDK_KEY_wacute">
22443+ <source-position filename="gdk/gdkkeysyms.h" line="718"/>
22444+ <type name="gint" c:type="gint"/>
22445+ </constant>
22446+ <constant name="KEY_wcircumflex"
22447+ value="16777589"
22448+ c:type="GDK_KEY_wcircumflex">
22449+ <source-position filename="gdk/gdkkeysyms.h" line="698"/>
22450+ <type name="gint" c:type="gint"/>
22451+ </constant>
22452+ <constant name="KEY_wdiaeresis"
22453+ value="16785029"
22454+ c:type="GDK_KEY_wdiaeresis">
22455+ <source-position filename="gdk/gdkkeysyms.h" line="720"/>
22456+ <type name="gint" c:type="gint"/>
22457+ </constant>
22458+ <constant name="KEY_wgrave" value="16785025" c:type="GDK_KEY_wgrave">
22459+ <source-position filename="gdk/gdkkeysyms.h" line="716"/>
22460+ <type name="gint" c:type="gint"/>
22461+ </constant>
22462+ <constant name="KEY_x" value="120" c:type="GDK_KEY_x">
22463+ <source-position filename="gdk/gdkkeysyms.h" line="475"/>
22464+ <type name="gint" c:type="gint"/>
22465+ </constant>
22466+ <constant name="KEY_xabovedot" value="16785035" c:type="GDK_KEY_xabovedot">
22467+ <source-position filename="gdk/gdkkeysyms.h" line="1643"/>
22468+ <type name="gint" c:type="gint"/>
22469+ </constant>
22470+ <constant name="KEY_y" value="121" c:type="GDK_KEY_y">
22471+ <source-position filename="gdk/gdkkeysyms.h" line="476"/>
22472+ <type name="gint" c:type="gint"/>
22473+ </constant>
22474+ <constant name="KEY_yacute" value="253" c:type="GDK_KEY_yacute">
22475+ <source-position filename="gdk/gdkkeysyms.h" line="579"/>
22476+ <type name="gint" c:type="gint"/>
22477+ </constant>
22478+ <constant name="KEY_ybelowdot" value="16785141" c:type="GDK_KEY_ybelowdot">
22479+ <source-position filename="gdk/gdkkeysyms.h" line="1738"/>
22480+ <type name="gint" c:type="gint"/>
22481+ </constant>
22482+ <constant name="KEY_ycircumflex"
22483+ value="16777591"
22484+ c:type="GDK_KEY_ycircumflex">
22485+ <source-position filename="gdk/gdkkeysyms.h" line="700"/>
22486+ <type name="gint" c:type="gint"/>
22487+ </constant>
22488+ <constant name="KEY_ydiaeresis" value="255" c:type="GDK_KEY_ydiaeresis">
22489+ <source-position filename="gdk/gdkkeysyms.h" line="581"/>
22490+ <type name="gint" c:type="gint"/>
22491+ </constant>
22492+ <constant name="KEY_yen" value="165" c:type="GDK_KEY_yen">
22493+ <source-position filename="gdk/gdkkeysyms.h" line="487"/>
22494+ <type name="gint" c:type="gint"/>
22495+ </constant>
22496+ <constant name="KEY_ygrave" value="16785139" c:type="GDK_KEY_ygrave">
22497+ <source-position filename="gdk/gdkkeysyms.h" line="722"/>
22498+ <type name="gint" c:type="gint"/>
22499+ </constant>
22500+ <constant name="KEY_yhook" value="16785143" c:type="GDK_KEY_yhook">
22501+ <source-position filename="gdk/gdkkeysyms.h" line="1740"/>
22502+ <type name="gint" c:type="gint"/>
22503+ </constant>
22504+ <constant name="KEY_ytilde" value="16785145" c:type="GDK_KEY_ytilde">
22505+ <source-position filename="gdk/gdkkeysyms.h" line="1742"/>
22506+ <type name="gint" c:type="gint"/>
22507+ </constant>
22508+ <constant name="KEY_z" value="122" c:type="GDK_KEY_z">
22509+ <source-position filename="gdk/gdkkeysyms.h" line="477"/>
22510+ <type name="gint" c:type="gint"/>
22511+ </constant>
22512+ <constant name="KEY_zabovedot" value="447" c:type="GDK_KEY_zabovedot">
22513+ <source-position filename="gdk/gdkkeysyms.h" line="605"/>
22514+ <type name="gint" c:type="gint"/>
22515+ </constant>
22516+ <constant name="KEY_zacute" value="444" c:type="GDK_KEY_zacute">
22517+ <source-position filename="gdk/gdkkeysyms.h" line="602"/>
22518+ <type name="gint" c:type="gint"/>
22519+ </constant>
22520+ <constant name="KEY_zcaron" value="446" c:type="GDK_KEY_zcaron">
22521+ <source-position filename="gdk/gdkkeysyms.h" line="604"/>
22522+ <type name="gint" c:type="gint"/>
22523+ </constant>
22524+ <constant name="KEY_zerosubscript"
22525+ value="16785536"
22526+ c:type="GDK_KEY_zerosubscript">
22527+ <source-position filename="gdk/gdkkeysyms.h" line="1767"/>
22528+ <type name="gint" c:type="gint"/>
22529+ </constant>
22530+ <constant name="KEY_zerosuperior"
22531+ value="16785520"
22532+ c:type="GDK_KEY_zerosuperior">
22533+ <source-position filename="gdk/gdkkeysyms.h" line="1760"/>
22534+ <type name="gint" c:type="gint"/>
22535+ </constant>
22536+ <constant name="KEY_zstroke" value="16777654" c:type="GDK_KEY_zstroke">
22537+ <source-position filename="gdk/gdkkeysyms.h" line="1645"/>
22538+ <type name="gint" c:type="gint"/>
22539+ </constant>
22540+ <class name="KeyEvent"
22541+ c:symbol-prefix="key_event"
22542+ c:type="GdkKeyEvent"
22543+ parent="Event"
22544+ glib:type-name="GdkKeyEvent"
22545+ glib:get-type="gdk_key_event_get_type"
22546+ glib:fundamental="1">
22547+ <doc xml:space="preserve"
22548+ filename="gdk/gdkevents.c"
22549+ line="1514">An event related to a key-based device.</doc>
22550+ <method name="get_consumed_modifiers"
22551+ c:identifier="gdk_key_event_get_consumed_modifiers">
22552+ <doc xml:space="preserve"
22553+ filename="gdk/gdkevents.c"
22554+ line="1728">Extracts the consumed modifiers from a key event.</doc>
22555+ <source-position filename="gdk/gdkevents.h" line="440"/>
22556+ <return-value transfer-ownership="none">
22557+ <doc xml:space="preserve"
22558+ filename="gdk/gdkevents.c"
22559+ line="1734">the consumed modifiers or @event</doc>
22560+ <type name="ModifierType" c:type="GdkModifierType"/>
22561+ </return-value>
22562+ <parameters>
22563+ <instance-parameter name="event" transfer-ownership="none">
22564+ <doc xml:space="preserve"
22565+ filename="gdk/gdkevents.c"
22566+ line="1730">a key event</doc>
22567+ <type name="KeyEvent" c:type="GdkEvent*"/>
22568+ </instance-parameter>
22569+ </parameters>
22570+ </method>
22571+ <method name="get_keycode" c:identifier="gdk_key_event_get_keycode">
22572+ <doc xml:space="preserve"
22573+ filename="gdk/gdkevents.c"
22574+ line="1668">Extracts the keycode from a key event.</doc>
22575+ <source-position filename="gdk/gdkevents.h" line="438"/>
22576+ <return-value transfer-ownership="none">
22577+ <doc xml:space="preserve"
22578+ filename="gdk/gdkevents.c"
22579+ line="1674">the keycode of @event</doc>
22580+ <type name="guint" c:type="guint"/>
22581+ </return-value>
22582+ <parameters>
22583+ <instance-parameter name="event" transfer-ownership="none">
22584+ <doc xml:space="preserve"
22585+ filename="gdk/gdkevents.c"
22586+ line="1670">a key event</doc>
22587+ <type name="KeyEvent" c:type="GdkEvent*"/>
22588+ </instance-parameter>
22589+ </parameters>
22590+ </method>
22591+ <method name="get_keyval" c:identifier="gdk_key_event_get_keyval">
22592+ <doc xml:space="preserve"
22593+ filename="gdk/gdkevents.c"
22594+ line="1648">Extracts the keyval from a key event.</doc>
22595+ <source-position filename="gdk/gdkevents.h" line="436"/>
22596+ <return-value transfer-ownership="none">
22597+ <doc xml:space="preserve"
22598+ filename="gdk/gdkevents.c"
22599+ line="1654">the keyval of @event</doc>
22600+ <type name="guint" c:type="guint"/>
22601+ </return-value>
22602+ <parameters>
22603+ <instance-parameter name="event" transfer-ownership="none">
22604+ <doc xml:space="preserve"
22605+ filename="gdk/gdkevents.c"
22606+ line="1650">a key event</doc>
22607+ <type name="KeyEvent" c:type="GdkEvent*"/>
22608+ </instance-parameter>
22609+ </parameters>
22610+ </method>
22611+ <method name="get_layout" c:identifier="gdk_key_event_get_layout">
22612+ <doc xml:space="preserve"
22613+ filename="gdk/gdkevents.c"
22614+ line="1708">Extracts the layout from a key event.</doc>
22615+ <source-position filename="gdk/gdkevents.h" line="442"/>
22616+ <return-value transfer-ownership="none">
22617+ <doc xml:space="preserve"
22618+ filename="gdk/gdkevents.c"
22619+ line="1714">the layout of @event</doc>
22620+ <type name="guint" c:type="guint"/>
22621+ </return-value>
22622+ <parameters>
22623+ <instance-parameter name="event" transfer-ownership="none">
22624+ <doc xml:space="preserve"
22625+ filename="gdk/gdkevents.c"
22626+ line="1710">a key event</doc>
22627+ <type name="KeyEvent" c:type="GdkEvent*"/>
22628+ </instance-parameter>
22629+ </parameters>
22630+ </method>
22631+ <method name="get_level" c:identifier="gdk_key_event_get_level">
22632+ <doc xml:space="preserve"
22633+ filename="gdk/gdkevents.c"
22634+ line="1688">Extracts the shift level from a key event.</doc>
22635+ <source-position filename="gdk/gdkevents.h" line="444"/>
22636+ <return-value transfer-ownership="none">
22637+ <doc xml:space="preserve"
22638+ filename="gdk/gdkevents.c"
22639+ line="1694">the shift level of @event</doc>
22640+ <type name="guint" c:type="guint"/>
22641+ </return-value>
22642+ <parameters>
22643+ <instance-parameter name="event" transfer-ownership="none">
22644+ <doc xml:space="preserve"
22645+ filename="gdk/gdkevents.c"
22646+ line="1690">a key event</doc>
22647+ <type name="KeyEvent" c:type="GdkEvent*"/>
22648+ </instance-parameter>
22649+ </parameters>
22650+ </method>
22651+ <method name="get_match" c:identifier="gdk_key_event_get_match">
22652+ <doc xml:space="preserve"
22653+ filename="gdk/gdkevents.c"
22654+ line="1906">Gets a keyval and modifier combination that will match
22655+the event.
22656+
22657+See [method@Gdk.KeyEvent.matches].</doc>
22658+ <source-position filename="gdk/gdkevents.h" line="549"/>
22659+ <return-value transfer-ownership="none">
22660+ <doc xml:space="preserve"
22661+ filename="gdk/gdkevents.c"
22662+ line="1917">%TRUE on success</doc>
22663+ <type name="gboolean" c:type="gboolean"/>
22664+ </return-value>
22665+ <parameters>
22666+ <instance-parameter name="event" transfer-ownership="none">
22667+ <doc xml:space="preserve"
22668+ filename="gdk/gdkevents.c"
22669+ line="1908">a key `GdkEvent`</doc>
22670+ <type name="KeyEvent" c:type="GdkEvent*"/>
22671+ </instance-parameter>
22672+ <parameter name="keyval"
22673+ direction="out"
22674+ caller-allocates="0"
22675+ transfer-ownership="full">
22676+ <doc xml:space="preserve"
22677+ filename="gdk/gdkevents.c"
22678+ line="1909">return location for a keyval</doc>
22679+ <type name="guint" c:type="guint*"/>
22680+ </parameter>
22681+ <parameter name="modifiers"
22682+ direction="out"
22683+ caller-allocates="0"
22684+ transfer-ownership="full">
22685+ <doc xml:space="preserve"
22686+ filename="gdk/gdkevents.c"
22687+ line="1910">return location for modifiers</doc>
22688+ <type name="ModifierType" c:type="GdkModifierType*"/>
22689+ </parameter>
22690+ </parameters>
22691+ </method>
22692+ <method name="is_modifier" c:identifier="gdk_key_event_is_modifier">
22693+ <doc xml:space="preserve"
22694+ filename="gdk/gdkevents.c"
22695+ line="1748">Extracts whether the key event is for a modifier key.</doc>
22696+ <source-position filename="gdk/gdkevents.h" line="446"/>
22697+ <return-value transfer-ownership="none">
22698+ <doc xml:space="preserve"
22699+ filename="gdk/gdkevents.c"
22700+ line="1754">%TRUE if the @event is for a modifier key</doc>
22701+ <type name="gboolean" c:type="gboolean"/>
22702+ </return-value>
22703+ <parameters>
22704+ <instance-parameter name="event" transfer-ownership="none">
22705+ <doc xml:space="preserve"
22706+ filename="gdk/gdkevents.c"
22707+ line="1750">a key event</doc>
22708+ <type name="KeyEvent" c:type="GdkEvent*"/>
22709+ </instance-parameter>
22710+ </parameters>
22711+ </method>
22712+ <method name="matches" c:identifier="gdk_key_event_matches">
22713+ <doc xml:space="preserve"
22714+ filename="gdk/gdkevents.c"
22715+ line="1786">Matches a key event against a keyval and modifiers.
22716+
22717+This is typically used to trigger keyboard shortcuts such as Ctrl-C.
22718+
22719+Partial matches are possible where the combination matches
22720+if the currently active group is ignored.
22721+
22722+Note that we ignore Caps Lock for matching.</doc>
22723+ <source-position filename="gdk/gdkevents.h" line="544"/>
22724+ <return-value transfer-ownership="none">
22725+ <doc xml:space="preserve"
22726+ filename="gdk/gdkevents.c"
22727+ line="1801">a `GdkKeyMatch` value describing whether @event matches</doc>
22728+ <type name="KeyMatch" c:type="GdkKeyMatch"/>
22729+ </return-value>
22730+ <parameters>
22731+ <instance-parameter name="event" transfer-ownership="none">
22732+ <doc xml:space="preserve"
22733+ filename="gdk/gdkevents.c"
22734+ line="1788">a key `GdkEvent`</doc>
22735+ <type name="KeyEvent" c:type="GdkEvent*"/>
22736+ </instance-parameter>
22737+ <parameter name="keyval" transfer-ownership="none">
22738+ <doc xml:space="preserve"
22739+ filename="gdk/gdkevents.c"
22740+ line="1789">the keyval to match</doc>
22741+ <type name="guint" c:type="guint"/>
22742+ </parameter>
22743+ <parameter name="modifiers" transfer-ownership="none">
22744+ <doc xml:space="preserve"
22745+ filename="gdk/gdkevents.c"
22746+ line="1790">the modifiers to match</doc>
22747+ <type name="ModifierType" c:type="GdkModifierType"/>
22748+ </parameter>
22749+ </parameters>
22750+ </method>
22751+ </class>
22752+ <enumeration name="KeyMatch"
22753+ glib:type-name="GdkKeyMatch"
22754+ glib:get-type="gdk_key_match_get_type"
22755+ c:type="GdkKeyMatch">
22756+ <doc xml:space="preserve"
22757+ filename="gdk/gdkevents.h"
22758+ line="526">Describes how well an event matches a given keyval and modifiers.
22759+
22760+`GdkKeyMatch` values are returned by [method@Gdk.KeyEvent.matches].</doc>
22761+ <member name="none"
22762+ value="0"
22763+ c:identifier="GDK_KEY_MATCH_NONE"
22764+ glib:nick="none"
22765+ glib:name="GDK_KEY_MATCH_NONE">
22766+ <doc xml:space="preserve"
22767+ filename="gdk/gdkevents.h"
22768+ line="528">The key event does not match</doc>
22769+ </member>
22770+ <member name="partial"
22771+ value="1"
22772+ c:identifier="GDK_KEY_MATCH_PARTIAL"
22773+ glib:nick="partial"
22774+ glib:name="GDK_KEY_MATCH_PARTIAL">
22775+ <doc xml:space="preserve"
22776+ filename="gdk/gdkevents.h"
22777+ line="529">The key event matches if keyboard state
22778+ (specifically, the currently active group) is ignored</doc>
22779+ </member>
22780+ <member name="exact"
22781+ value="2"
22782+ c:identifier="GDK_KEY_MATCH_EXACT"
22783+ glib:nick="exact"
22784+ glib:name="GDK_KEY_MATCH_EXACT">
22785+ <doc xml:space="preserve"
22786+ filename="gdk/gdkevents.h"
22787+ line="531">The key event matches</doc>
22788+ </member>
22789+ </enumeration>
22790+ <record name="KeymapKey" c:type="GdkKeymapKey">
22791+ <doc xml:space="preserve"
22792+ filename="gdk/gdktypes.h"
22793+ line="138">A `GdkKeymapKey` is a hardware key that can be mapped to a keyval.</doc>
22794+ <source-position filename="gdk/gdktypes.h" line="160"/>
22795+ <field name="keycode" writable="1">
22796+ <doc xml:space="preserve"
22797+ filename="gdk/gdktypes.h"
22798+ line="140">the hardware keycode. This is an identifying number for a
22799+ physical key.</doc>
22800+ <type name="guint" c:type="guint"/>
22801+ </field>
22802+ <field name="group" writable="1">
22803+ <doc xml:space="preserve"
22804+ filename="gdk/gdktypes.h"
22805+ line="142">indicates movement in a horizontal direction. Usually groups are used
22806+ for two different languages. In group 0, a key might have two English
22807+ characters, and in group 1 it might have two Hebrew characters. The Hebrew
22808+ characters will be printed on the key next to the English characters.</doc>
22809+ <type name="gint" c:type="int"/>
22810+ </field>
22811+ <field name="level" writable="1">
22812+ <doc xml:space="preserve"
22813+ filename="gdk/gdktypes.h"
22814+ line="146">indicates which symbol on the key will be used, in a vertical direction.
22815+ So on a standard US keyboard, the key with the number “1” on it also has the
22816+ exclamation point ("!") character on it. The level indicates whether to use
22817+ the “1” or the “!” symbol. The letter keys are considered to have a lowercase
22818+ letter at level 0, and an uppercase letter at level 1, though only the
22819+ uppercase letter is printed.</doc>
22820+ <type name="gint" c:type="int"/>
22821+ </field>
22822+ </record>
22823+ <function-macro name="MEMORY_TEXTURE"
22824+ c:identifier="GDK_MEMORY_TEXTURE"
22825+ introspectable="0">
22826+ <source-position filename="gdk/gdkmemorytexture.h" line="53"/>
22827+ <parameters>
22828+ <parameter name="obj">
22829+ </parameter>
22830+ </parameters>
22831+ </function-macro>
22832+ <constant name="MODIFIER_MASK"
22833+ value="469769999"
22834+ c:type="GDK_MODIFIER_MASK">
22835+ <doc xml:space="preserve"
22836+ filename="gdk/gdkenums.h"
22837+ line="119">A mask covering all entries in `GdkModifierType`.</doc>
22838+ <source-position filename="gdk/gdkenums.h" line="124"/>
22839+ <type name="gint" c:type="gint"/>
22840+ </constant>
22841+ <function-macro name="MONITOR"
22842+ c:identifier="GDK_MONITOR"
22843+ introspectable="0">
22844+ <source-position filename="gdk/gdkmonitor.h" line="36"/>
22845+ <parameters>
22846+ <parameter name="object">
22847+ </parameter>
22848+ </parameters>
22849+ </function-macro>
22850+ <enumeration name="MemoryFormat"
22851+ glib:type-name="GdkMemoryFormat"
22852+ glib:get-type="gdk_memory_format_get_type"
22853+ c:type="GdkMemoryFormat">
22854+ <doc xml:space="preserve"
22855+ filename="gdk/gdkenums.h"
22856+ line="262">`GdkMemoryFormat` describes formats that image data can have in memory.
22857+
22858+It describes formats by listing the contents of the memory passed to it.
22859+So GDK_MEMORY_A8R8G8B8 will be 1 byte (8 bits) of alpha, followed by a
22860+byte each of red, green and blue. It is not endian-dependent, so
22861+CAIRO_FORMAT_ARGB32 is represented by different `GdkMemoryFormats`
22862+on architectures with different endiannesses.
22863+
22864+Its naming is modelled after
22865+[VkFormat](https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VkFormat)
22866+for details).</doc>
22867+ <member name="b8g8r8a8_premultiplied"
22868+ value="0"
22869+ c:identifier="GDK_MEMORY_B8G8R8A8_PREMULTIPLIED"
22870+ glib:nick="b8g8r8a8-premultiplied"
22871+ glib:name="GDK_MEMORY_B8G8R8A8_PREMULTIPLIED">
22872+ <doc xml:space="preserve"
22873+ filename="gdk/gdkenums.h"
22874+ line="264">4 bytes; for blue, green, red, alpha.
22875+ The color values are premultiplied with the alpha value.</doc>
22876+ </member>
22877+ <member name="a8r8g8b8_premultiplied"
22878+ value="1"
22879+ c:identifier="GDK_MEMORY_A8R8G8B8_PREMULTIPLIED"
22880+ glib:nick="a8r8g8b8-premultiplied"
22881+ glib:name="GDK_MEMORY_A8R8G8B8_PREMULTIPLIED">
22882+ <doc xml:space="preserve"
22883+ filename="gdk/gdkenums.h"
22884+ line="266">4 bytes; for alpha, red, green, blue.
22885+ The color values are premultiplied with the alpha value.</doc>
22886+ </member>
22887+ <member name="r8g8b8a8_premultiplied"
22888+ value="2"
22889+ c:identifier="GDK_MEMORY_R8G8B8A8_PREMULTIPLIED"
22890+ glib:nick="r8g8b8a8-premultiplied"
22891+ glib:name="GDK_MEMORY_R8G8B8A8_PREMULTIPLIED">
22892+ <doc xml:space="preserve"
22893+ filename="gdk/gdkenums.h"
22894+ line="268">4 bytes; for red, green, blue, alpha
22895+ The color values are premultiplied with the alpha value.</doc>
22896+ </member>
22897+ <member name="b8g8r8a8"
22898+ value="3"
22899+ c:identifier="GDK_MEMORY_B8G8R8A8"
22900+ glib:nick="b8g8r8a8"
22901+ glib:name="GDK_MEMORY_B8G8R8A8">
22902+ <doc xml:space="preserve"
22903+ filename="gdk/gdkenums.h"
22904+ line="270">4 bytes; for blue, green, red, alpha.</doc>
22905+ </member>
22906+ <member name="a8r8g8b8"
22907+ value="4"
22908+ c:identifier="GDK_MEMORY_A8R8G8B8"
22909+ glib:nick="a8r8g8b8"
22910+ glib:name="GDK_MEMORY_A8R8G8B8">
22911+ <doc xml:space="preserve"
22912+ filename="gdk/gdkenums.h"
22913+ line="271">4 bytes; for alpha, red, green, blue.</doc>
22914+ </member>
22915+ <member name="r8g8b8a8"
22916+ value="5"
22917+ c:identifier="GDK_MEMORY_R8G8B8A8"
22918+ glib:nick="r8g8b8a8"
22919+ glib:name="GDK_MEMORY_R8G8B8A8">
22920+ <doc xml:space="preserve"
22921+ filename="gdk/gdkenums.h"
22922+ line="272">4 bytes; for red, green, blue, alpha.</doc>
22923+ </member>
22924+ <member name="a8b8g8r8"
22925+ value="6"
22926+ c:identifier="GDK_MEMORY_A8B8G8R8"
22927+ glib:nick="a8b8g8r8"
22928+ glib:name="GDK_MEMORY_A8B8G8R8">
22929+ <doc xml:space="preserve"
22930+ filename="gdk/gdkenums.h"
22931+ line="273">4 bytes; for alpha, blue, green, red.</doc>
22932+ </member>
22933+ <member name="r8g8b8"
22934+ value="7"
22935+ c:identifier="GDK_MEMORY_R8G8B8"
22936+ glib:nick="r8g8b8"
22937+ glib:name="GDK_MEMORY_R8G8B8">
22938+ <doc xml:space="preserve"
22939+ filename="gdk/gdkenums.h"
22940+ line="274">3 bytes; for red, green, blue. The data is opaque.</doc>
22941+ </member>
22942+ <member name="b8g8r8"
22943+ value="8"
22944+ c:identifier="GDK_MEMORY_B8G8R8"
22945+ glib:nick="b8g8r8"
22946+ glib:name="GDK_MEMORY_B8G8R8">
22947+ <doc xml:space="preserve"
22948+ filename="gdk/gdkenums.h"
22949+ line="275">3 bytes; for blue, green, red. The data is opaque.</doc>
22950+ </member>
22951+ <member name="r16g16b16"
22952+ value="9"
22953+ c:identifier="GDK_MEMORY_R16G16B16"
22954+ glib:nick="r16g16b16"
22955+ glib:name="GDK_MEMORY_R16G16B16">
22956+ <doc xml:space="preserve"
22957+ filename="gdk/gdkenums.h"
22958+ line="276">3 guint16 values; for red, green, blue. Since: 4.6</doc>
22959+ </member>
22960+ <member name="r16g16b16a16_premultiplied"
22961+ value="10"
22962+ c:identifier="GDK_MEMORY_R16G16B16A16_PREMULTIPLIED"
22963+ glib:nick="r16g16b16a16-premultiplied"
22964+ glib:name="GDK_MEMORY_R16G16B16A16_PREMULTIPLIED">
22965+ <doc xml:space="preserve"
22966+ filename="gdk/gdkenums.h"
22967+ line="277">4 guint16 values; for red, green,
22968+ blue, alpha. The color values are premultiplied with the alpha value.
22969+ Since: 4.6</doc>
22970+ </member>
22971+ <member name="r16g16b16a16"
22972+ value="11"
22973+ c:identifier="GDK_MEMORY_R16G16B16A16"
22974+ glib:nick="r16g16b16a16"
22975+ glib:name="GDK_MEMORY_R16G16B16A16">
22976+ <doc xml:space="preserve"
22977+ filename="gdk/gdkenums.h"
22978+ line="280">4 guint16 values; for red, green, blue, alpha.
22979+ Since: 4.6</doc>
22980+ </member>
22981+ <member name="r16g16b16_float"
22982+ value="12"
22983+ c:identifier="GDK_MEMORY_R16G16B16_FLOAT"
22984+ glib:nick="r16g16b16-float"
22985+ glib:name="GDK_MEMORY_R16G16B16_FLOAT">
22986+ <doc xml:space="preserve"
22987+ filename="gdk/gdkenums.h"
22988+ line="282">3 half-float values; for red, green, blue.
22989+ The data is opaque. Since: 4.6</doc>
22990+ </member>
22991+ <member name="r16g16b16a16_float_premultiplied"
22992+ value="13"
22993+ c:identifier="GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED"
22994+ glib:nick="r16g16b16a16-float-premultiplied"
22995+ glib:name="GDK_MEMORY_R16G16B16A16_FLOAT_PREMULTIPLIED">
22996+ <doc xml:space="preserve"
22997+ filename="gdk/gdkenums.h"
22998+ line="284">4 half-float values; for
22999+ red, green, blue and alpha. The color values are premultiplied with
23000+ the alpha value. Since: 4.6</doc>
23001+ </member>
23002+ <member name="r16g16b16a16_float"
23003+ value="14"
23004+ c:identifier="GDK_MEMORY_R16G16B16A16_FLOAT"
23005+ glib:nick="r16g16b16a16-float"
23006+ glib:name="GDK_MEMORY_R16G16B16A16_FLOAT">
23007+ <doc xml:space="preserve"
23008+ filename="gdk/gdkenums.h"
23009+ line="287">4 half-float values; for red, green,
23010+ blue and alpha. Since: 4.6</doc>
23011+ </member>
23012+ <member name="r32g32b32_float"
23013+ value="15"
23014+ c:identifier="GDK_MEMORY_R32G32B32_FLOAT"
23015+ glib:nick="r32g32b32-float"
23016+ glib:name="GDK_MEMORY_R32G32B32_FLOAT">
23017+ </member>
23018+ <member name="r32g32b32a32_float_premultiplied"
23019+ value="16"
23020+ c:identifier="GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED"
23021+ glib:nick="r32g32b32a32-float-premultiplied"
23022+ glib:name="GDK_MEMORY_R32G32B32A32_FLOAT_PREMULTIPLIED">
23023+ <doc xml:space="preserve"
23024+ filename="gdk/gdkenums.h"
23025+ line="291">4 float values; for
23026+ red, green, blue and alpha. The color values are premultiplied with
23027+ the alpha value. Since: 4.6</doc>
23028+ </member>
23029+ <member name="r32g32b32a32_float"
23030+ value="17"
23031+ c:identifier="GDK_MEMORY_R32G32B32A32_FLOAT"
23032+ glib:nick="r32g32b32a32-float"
23033+ glib:name="GDK_MEMORY_R32G32B32A32_FLOAT">
23034+ <doc xml:space="preserve"
23035+ filename="gdk/gdkenums.h"
23036+ line="294">4 float values; for red, green, blue and
23037+ alpha. Since: 4.6</doc>
23038+ </member>
23039+ <member name="n_formats"
23040+ value="18"
23041+ c:identifier="GDK_MEMORY_N_FORMATS"
23042+ glib:nick="n-formats"
23043+ glib:name="GDK_MEMORY_N_FORMATS">
23044+ <doc xml:space="preserve"
23045+ filename="gdk/gdkenums.h"
23046+ line="296">The number of formats. This value will change as
23047+ more formats get added, so do not rely on its concrete integer.</doc>
23048+ </member>
23049+ </enumeration>
23050+ <class name="MemoryTexture"
23051+ c:symbol-prefix="memory_texture"
23052+ c:type="GdkMemoryTexture"
23053+ parent="Texture"
23054+ glib:type-name="GdkMemoryTexture"
23055+ glib:get-type="gdk_memory_texture_get_type"
23056+ glib:type-struct="MemoryTextureClass">
23057+ <doc xml:space="preserve"
23058+ filename="gdk/gdkmemorytexture.c"
23059+ line="27">A `GdkTexture` representing image data in memory.</doc>
23060+ <source-position filename="gdk/gdkmemorytexture.h" line="57"/>
23061+ <implements name="Paintable"/>
23062+ <implements name="Gio.Icon"/>
23063+ <implements name="Gio.LoadableIcon"/>
23064+ <constructor name="new" c:identifier="gdk_memory_texture_new">
23065+ <doc xml:space="preserve"
23066+ filename="gdk/gdkmemorytexture.c"
23067+ line="126">Creates a new texture for a blob of image data.
23068+
23069+The `GBytes` must contain @stride × @height pixels
23070+in the given format.</doc>
23071+ <source-position filename="gdk/gdkmemorytexture.h" line="66"/>
23072+ <return-value transfer-ownership="full">
23073+ <doc xml:space="preserve"
23074+ filename="gdk/gdkmemorytexture.c"
23075+ line="139">A newly-created `GdkTexture`</doc>
23076+ <type name="MemoryTexture" c:type="GdkTexture*"/>
23077+ </return-value>
23078+ <parameters>
23079+ <parameter name="width" transfer-ownership="none">
23080+ <doc xml:space="preserve"
23081+ filename="gdk/gdkmemorytexture.c"
23082+ line="128">the width of the texture</doc>
23083+ <type name="gint" c:type="int"/>
23084+ </parameter>
23085+ <parameter name="height" transfer-ownership="none">
23086+ <doc xml:space="preserve"
23087+ filename="gdk/gdkmemorytexture.c"
23088+ line="129">the height of the texture</doc>
23089+ <type name="gint" c:type="int"/>
23090+ </parameter>
23091+ <parameter name="format" transfer-ownership="none">
23092+ <doc xml:space="preserve"
23093+ filename="gdk/gdkmemorytexture.c"
23094+ line="130">the format of the data</doc>
23095+ <type name="MemoryFormat" c:type="GdkMemoryFormat"/>
23096+ </parameter>
23097+ <parameter name="bytes" transfer-ownership="none">
23098+ <doc xml:space="preserve"
23099+ filename="gdk/gdkmemorytexture.c"
23100+ line="131">the `GBytes` containing the pixel data</doc>
23101+ <type name="GLib.Bytes" c:type="GBytes*"/>
23102+ </parameter>
23103+ <parameter name="stride" transfer-ownership="none">
23104+ <doc xml:space="preserve"
23105+ filename="gdk/gdkmemorytexture.c"
23106+ line="132">rowstride for the data</doc>
23107+ <type name="gsize" c:type="gsize"/>
23108+ </parameter>
23109+ </parameters>
23110+ </constructor>
23111+ </class>
23112+ <record name="MemoryTextureClass"
23113+ c:type="GdkMemoryTextureClass"
23114+ disguised="1"
23115+ glib:is-gtype-struct-for="MemoryTexture">
23116+ <source-position filename="gdk/gdkmemorytexture.h" line="57"/>
23117+ </record>
23118+ <bitfield name="ModifierType"
23119+ glib:type-name="GdkModifierType"
23120+ glib:get-type="gdk_modifier_type_get_type"
23121+ c:type="GdkModifierType">
23122+ <doc xml:space="preserve"
23123+ filename="gdk/gdkenums.h"
23124+ line="72">Flags to indicate the state of modifier keys and mouse buttons
23125+in events.
23126+
23127+Typical modifier keys are Shift, Control, Meta, Super, Hyper, Alt, Compose,
23128+Apple, CapsLock or ShiftLock.
23129+
23130+Note that GDK may add internal values to events which include values outside
23131+of this enumeration. Your code should preserve and ignore them. You can use
23132+%GDK_MODIFIER_MASK to remove all private values.</doc>
23133+ <member name="shift_mask"
23134+ value="1"
23135+ c:identifier="GDK_SHIFT_MASK"
23136+ glib:nick="shift-mask"
23137+ glib:name="GDK_SHIFT_MASK">
23138+ <doc xml:space="preserve"
23139+ filename="gdk/gdkenums.h"
23140+ line="74">the Shift key.</doc>
23141+ </member>
23142+ <member name="lock_mask"
23143+ value="2"
23144+ c:identifier="GDK_LOCK_MASK"
23145+ glib:nick="lock-mask"
23146+ glib:name="GDK_LOCK_MASK">
23147+ <doc xml:space="preserve"
23148+ filename="gdk/gdkenums.h"
23149+ line="75">a Lock key (depending on the modifier mapping of the
23150+ X server this may either be CapsLock or ShiftLock).</doc>
23151+ </member>
23152+ <member name="control_mask"
23153+ value="4"
23154+ c:identifier="GDK_CONTROL_MASK"
23155+ glib:nick="control-mask"
23156+ glib:name="GDK_CONTROL_MASK">
23157+ <doc xml:space="preserve"
23158+ filename="gdk/gdkenums.h"
23159+ line="77">the Control key.</doc>
23160+ </member>
23161+ <member name="alt_mask"
23162+ value="8"
23163+ c:identifier="GDK_ALT_MASK"
23164+ glib:nick="alt-mask"
23165+ glib:name="GDK_ALT_MASK">
23166+ <doc xml:space="preserve"
23167+ filename="gdk/gdkenums.h"
23168+ line="78">the fourth modifier key (it depends on the modifier
23169+ mapping of the X server which key is interpreted as this modifier, but
23170+ normally it is the Alt key).</doc>
23171+ </member>
23172+ <member name="button1_mask"
23173+ value="256"
23174+ c:identifier="GDK_BUTTON1_MASK"
23175+ glib:nick="button1-mask"
23176+ glib:name="GDK_BUTTON1_MASK">
23177+ <doc xml:space="preserve"
23178+ filename="gdk/gdkenums.h"
23179+ line="81">the first mouse button.</doc>
23180+ </member>
23181+ <member name="button2_mask"
23182+ value="512"
23183+ c:identifier="GDK_BUTTON2_MASK"
23184+ glib:nick="button2-mask"
23185+ glib:name="GDK_BUTTON2_MASK">
23186+ <doc xml:space="preserve"
23187+ filename="gdk/gdkenums.h"
23188+ line="82">the second mouse button.</doc>
23189+ </member>
23190+ <member name="button3_mask"
23191+ value="1024"
23192+ c:identifier="GDK_BUTTON3_MASK"
23193+ glib:nick="button3-mask"
23194+ glib:name="GDK_BUTTON3_MASK">
23195+ <doc xml:space="preserve"
23196+ filename="gdk/gdkenums.h"
23197+ line="83">the third mouse button.</doc>
23198+ </member>
23199+ <member name="button4_mask"
23200+ value="2048"
23201+ c:identifier="GDK_BUTTON4_MASK"
23202+ glib:nick="button4-mask"
23203+ glib:name="GDK_BUTTON4_MASK">
23204+ <doc xml:space="preserve"
23205+ filename="gdk/gdkenums.h"
23206+ line="84">the fourth mouse button.</doc>
23207+ </member>
23208+ <member name="button5_mask"
23209+ value="4096"
23210+ c:identifier="GDK_BUTTON5_MASK"
23211+ glib:nick="button5-mask"
23212+ glib:name="GDK_BUTTON5_MASK">
23213+ <doc xml:space="preserve"
23214+ filename="gdk/gdkenums.h"
23215+ line="85">the fifth mouse button.</doc>
23216+ </member>
23217+ <member name="super_mask"
23218+ value="67108864"
23219+ c:identifier="GDK_SUPER_MASK"
23220+ glib:nick="super-mask"
23221+ glib:name="GDK_SUPER_MASK">
23222+ <doc xml:space="preserve"
23223+ filename="gdk/gdkenums.h"
23224+ line="86">the Super modifier</doc>
23225+ </member>
23226+ <member name="hyper_mask"
23227+ value="134217728"
23228+ c:identifier="GDK_HYPER_MASK"
23229+ glib:nick="hyper-mask"
23230+ glib:name="GDK_HYPER_MASK">
23231+ <doc xml:space="preserve"
23232+ filename="gdk/gdkenums.h"
23233+ line="87">the Hyper modifier</doc>
23234+ </member>
23235+ <member name="meta_mask"
23236+ value="268435456"
23237+ c:identifier="GDK_META_MASK"
23238+ glib:nick="meta-mask"
23239+ glib:name="GDK_META_MASK">
23240+ <doc xml:space="preserve"
23241+ filename="gdk/gdkenums.h"
23242+ line="88">the Meta modifier</doc>
23243+ </member>
23244+ </bitfield>
23245+ <class name="Monitor"
23246+ c:symbol-prefix="monitor"
23247+ c:type="GdkMonitor"
23248+ parent="GObject.Object"
23249+ glib:type-name="GdkMonitor"
23250+ glib:get-type="gdk_monitor_get_type"
23251+ glib:type-struct="MonitorClass">
23252+ <doc xml:space="preserve"
23253+ filename="gdk/gdkmonitor.c"
23254+ line="28">`GdkMonitor` objects represent the individual outputs that are
23255+associated with a `GdkDisplay`.
23256+
23257+`GdkDisplay` keeps a `GListModel` to enumerate and monitor
23258+monitors with [method@Gdk.Display.get_monitors]. You can use
23259+[method@Gdk.Display.get_monitor_at_surface] to find a particular
23260+monitor.</doc>
23261+ <source-position filename="gdk/gdkmonitor.h" line="40"/>
23262+ <method name="get_connector"
23263+ c:identifier="gdk_monitor_get_connector"
23264+ glib:get-property="connector">
23265+ <attribute name="org.gtk.Method.get_property" value="connector"/>
23266+ <doc xml:space="preserve"
23267+ filename="gdk/gdkmonitor.c"
23268+ line="374">Gets the name of the monitor's connector, if available.</doc>
23269+ <source-position filename="gdk/gdkmonitor.h" line="80"/>
23270+ <return-value transfer-ownership="none" nullable="1">
23271+ <doc xml:space="preserve"
23272+ filename="gdk/gdkmonitor.c"
23273+ line="380">the name of the connector</doc>
23274+ <type name="utf8" c:type="const char*"/>
23275+ </return-value>
23276+ <parameters>
23277+ <instance-parameter name="monitor" transfer-ownership="none">
23278+ <doc xml:space="preserve"
23279+ filename="gdk/gdkmonitor.c"
23280+ line="376">a `GdkMonitor`</doc>
23281+ <type name="Monitor" c:type="GdkMonitor*"/>
23282+ </instance-parameter>
23283+ </parameters>
23284+ </method>
23285+ <method name="get_display"
23286+ c:identifier="gdk_monitor_get_display"
23287+ glib:get-property="display">
23288+ <attribute name="org.gtk.Method.get_property" value="display"/>
23289+ <doc xml:space="preserve"
23290+ filename="gdk/gdkmonitor.c"
23291+ line="305">Gets the display that this monitor belongs to.</doc>
23292+ <source-position filename="gdk/gdkmonitor.h" line="67"/>
23293+ <return-value transfer-ownership="none">
23294+ <doc xml:space="preserve"
23295+ filename="gdk/gdkmonitor.c"
23296+ line="311">the display</doc>
23297+ <type name="Display" c:type="GdkDisplay*"/>
23298+ </return-value>
23299+ <parameters>
23300+ <instance-parameter name="monitor" transfer-ownership="none">
23301+ <doc xml:space="preserve"
23302+ filename="gdk/gdkmonitor.c"
23303+ line="307">a `GdkMonitor`</doc>
23304+ <type name="Monitor" c:type="GdkMonitor*"/>
23305+ </instance-parameter>
23306+ </parameters>
23307+ </method>
23308+ <method name="get_geometry"
23309+ c:identifier="gdk_monitor_get_geometry"
23310+ glib:get-property="geometry">
23311+ <attribute name="org.gtk.Method.get_property" value="geometry"/>
23312+ <doc xml:space="preserve"
23313+ filename="gdk/gdkmonitor.c"
23314+ line="321">Retrieves the size and position of the monitor within the
23315+display coordinate space.
23316+
23317+The returned geometry is in ”application pixels”, not in
23318+”device pixels” (see [method@Gdk.Monitor.get_scale_factor]).</doc>
23319+ <source-position filename="gdk/gdkmonitor.h" line="69"/>
23320+ <return-value transfer-ownership="none">
23321+ <type name="none" c:type="void"/>
23322+ </return-value>
23323+ <parameters>
23324+ <instance-parameter name="monitor" transfer-ownership="none">
23325+ <doc xml:space="preserve"
23326+ filename="gdk/gdkmonitor.c"
23327+ line="323">a `GdkMonitor`</doc>
23328+ <type name="Monitor" c:type="GdkMonitor*"/>
23329+ </instance-parameter>
23330+ <parameter name="geometry"
23331+ direction="out"
23332+ caller-allocates="1"
23333+ transfer-ownership="none">
23334+ <doc xml:space="preserve"
23335+ filename="gdk/gdkmonitor.c"
23336+ line="324">a `GdkRectangle` to be filled with the monitor geometry</doc>
23337+ <type name="Rectangle" c:type="GdkRectangle*"/>
23338+ </parameter>
23339+ </parameters>
23340+ </method>
23341+ <method name="get_height_mm"
23342+ c:identifier="gdk_monitor_get_height_mm"
23343+ glib:get-property="height-mm">
23344+ <attribute name="org.gtk.Method.get_property" value="height-mm"/>
23345+ <doc xml:space="preserve"
23346+ filename="gdk/gdkmonitor.c"
23347+ line="358">Gets the height in millimeters of the monitor.</doc>
23348+ <source-position filename="gdk/gdkmonitor.h" line="74"/>
23349+ <return-value transfer-ownership="none">
23350+ <doc xml:space="preserve"
23351+ filename="gdk/gdkmonitor.c"
23352+ line="364">the physical height of the monitor</doc>
23353+ <type name="gint" c:type="int"/>
23354+ </return-value>
23355+ <parameters>
23356+ <instance-parameter name="monitor" transfer-ownership="none">
23357+ <doc xml:space="preserve"
23358+ filename="gdk/gdkmonitor.c"
23359+ line="360">a `GdkMonitor`</doc>
23360+ <type name="Monitor" c:type="GdkMonitor*"/>
23361+ </instance-parameter>
23362+ </parameters>
23363+ </method>
23364+ <method name="get_manufacturer"
23365+ c:identifier="gdk_monitor_get_manufacturer"
23366+ glib:get-property="manufacturer">
23367+ <attribute name="org.gtk.Method.get_property" value="manufacturer"/>
23368+ <doc xml:space="preserve"
23369+ filename="gdk/gdkmonitor.c"
23370+ line="390">Gets the name or PNP ID of the monitor's manufacturer.
23371+
23372+Note that this value might also vary depending on actual
23373+display backend.
23374+
23375+The PNP ID registry is located at
23376+[https://uefi.org/pnp_id_list](https://uefi.org/pnp_id_list).</doc>
23377+ <source-position filename="gdk/gdkmonitor.h" line="76"/>
23378+ <return-value transfer-ownership="none" nullable="1">
23379+ <doc xml:space="preserve"
23380+ filename="gdk/gdkmonitor.c"
23381+ line="402">the name of the manufacturer</doc>
23382+ <type name="utf8" c:type="const char*"/>
23383+ </return-value>
23384+ <parameters>
23385+ <instance-parameter name="monitor" transfer-ownership="none">
23386+ <doc xml:space="preserve"
23387+ filename="gdk/gdkmonitor.c"
23388+ line="392">a `GdkMonitor`</doc>
23389+ <type name="Monitor" c:type="GdkMonitor*"/>
23390+ </instance-parameter>
23391+ </parameters>
23392+ </method>
23393+ <method name="get_model"
23394+ c:identifier="gdk_monitor_get_model"
23395+ glib:get-property="model">
23396+ <attribute name="org.gtk.Method.get_property" value="model"/>
23397+ <doc xml:space="preserve"
23398+ filename="gdk/gdkmonitor.c"
23399+ line="412">Gets the string identifying the monitor model, if available.</doc>
23400+ <source-position filename="gdk/gdkmonitor.h" line="78"/>
23401+ <return-value transfer-ownership="none" nullable="1">
23402+ <doc xml:space="preserve"
23403+ filename="gdk/gdkmonitor.c"
23404+ line="418">the monitor model</doc>
23405+ <type name="utf8" c:type="const char*"/>
23406+ </return-value>
23407+ <parameters>
23408+ <instance-parameter name="monitor" transfer-ownership="none">
23409+ <doc xml:space="preserve"
23410+ filename="gdk/gdkmonitor.c"
23411+ line="414">a `GdkMonitor`</doc>
23412+ <type name="Monitor" c:type="GdkMonitor*"/>
23413+ </instance-parameter>
23414+ </parameters>
23415+ </method>
23416+ <method name="get_refresh_rate"
23417+ c:identifier="gdk_monitor_get_refresh_rate"
23418+ glib:get-property="refresh-rate">
23419+ <attribute name="org.gtk.Method.get_property" value="refresh-rate"/>
23420+ <doc xml:space="preserve"
23421+ filename="gdk/gdkmonitor.c"
23422+ line="452">Gets the refresh rate of the monitor, if available.
23423+
23424+The value is in milli-Hertz, so a refresh rate of 60Hz
23425+is returned as 60000.</doc>
23426+ <source-position filename="gdk/gdkmonitor.h" line="84"/>
23427+ <return-value transfer-ownership="none">
23428+ <doc xml:space="preserve"
23429+ filename="gdk/gdkmonitor.c"
23430+ line="461">the refresh rate in milli-Hertz, or 0</doc>
23431+ <type name="gint" c:type="int"/>
23432+ </return-value>
23433+ <parameters>
23434+ <instance-parameter name="monitor" transfer-ownership="none">
23435+ <doc xml:space="preserve"
23436+ filename="gdk/gdkmonitor.c"
23437+ line="454">a `GdkMonitor`</doc>
23438+ <type name="Monitor" c:type="GdkMonitor*"/>
23439+ </instance-parameter>
23440+ </parameters>
23441+ </method>
23442+ <method name="get_scale_factor"
23443+ c:identifier="gdk_monitor_get_scale_factor"
23444+ glib:get-property="scale-factor">
23445+ <attribute name="org.gtk.Method.get_property" value="scale-factor"/>
23446+ <doc xml:space="preserve"
23447+ filename="gdk/gdkmonitor.c"
23448+ line="428">Gets the internal scale factor that maps from monitor coordinates
23449+to device pixels.
23450+
23451+On traditional systems this is 1, but on very high density outputs
23452+it can be a higher value (often 2).
23453+
23454+This can be used if you want to create pixel based data for a
23455+particular monitor, but most of the time you’re drawing to a surface
23456+where it is better to use [method@Gdk.Surface.get_scale_factor] instead.</doc>
23457+ <source-position filename="gdk/gdkmonitor.h" line="82"/>
23458+ <return-value transfer-ownership="none">
23459+ <doc xml:space="preserve"
23460+ filename="gdk/gdkmonitor.c"
23461+ line="442">the scale factor</doc>
23462+ <type name="gint" c:type="int"/>
23463+ </return-value>
23464+ <parameters>
23465+ <instance-parameter name="monitor" transfer-ownership="none">
23466+ <doc xml:space="preserve"
23467+ filename="gdk/gdkmonitor.c"
23468+ line="430">a `GdkMonitor`</doc>
23469+ <type name="Monitor" c:type="GdkMonitor*"/>
23470+ </instance-parameter>
23471+ </parameters>
23472+ </method>
23473+ <method name="get_subpixel_layout"
23474+ c:identifier="gdk_monitor_get_subpixel_layout"
23475+ glib:get-property="subpixel-layout">
23476+ <attribute name="org.gtk.Method.get_property" value="subpixel-layout"/>
23477+ <doc xml:space="preserve"
23478+ filename="gdk/gdkmonitor.c"
23479+ line="471">Gets information about the layout of red, green and blue
23480+primaries for pixels.</doc>
23481+ <source-position filename="gdk/gdkmonitor.h" line="86"/>
23482+ <return-value transfer-ownership="none">
23483+ <doc xml:space="preserve"
23484+ filename="gdk/gdkmonitor.c"
23485+ line="478">the subpixel layout</doc>
23486+ <type name="SubpixelLayout" c:type="GdkSubpixelLayout"/>
23487+ </return-value>
23488+ <parameters>
23489+ <instance-parameter name="monitor" transfer-ownership="none">
23490+ <doc xml:space="preserve"
23491+ filename="gdk/gdkmonitor.c"
23492+ line="473">a `GdkMonitor`</doc>
23493+ <type name="Monitor" c:type="GdkMonitor*"/>
23494+ </instance-parameter>
23495+ </parameters>
23496+ </method>
23497+ <method name="get_width_mm"
23498+ c:identifier="gdk_monitor_get_width_mm"
23499+ glib:get-property="width-mm">
23500+ <attribute name="org.gtk.Method.get_property" value="width-mm"/>
23501+ <doc xml:space="preserve"
23502+ filename="gdk/gdkmonitor.c"
23503+ line="342">Gets the width in millimeters of the monitor.</doc>
23504+ <source-position filename="gdk/gdkmonitor.h" line="72"/>
23505+ <return-value transfer-ownership="none">
23506+ <doc xml:space="preserve"
23507+ filename="gdk/gdkmonitor.c"
23508+ line="348">the physical width of the monitor</doc>
23509+ <type name="gint" c:type="int"/>
23510+ </return-value>
23511+ <parameters>
23512+ <instance-parameter name="monitor" transfer-ownership="none">
23513+ <doc xml:space="preserve"
23514+ filename="gdk/gdkmonitor.c"
23515+ line="344">a `GdkMonitor`</doc>
23516+ <type name="Monitor" c:type="GdkMonitor*"/>
23517+ </instance-parameter>
23518+ </parameters>
23519+ </method>
23520+ <method name="is_valid" c:identifier="gdk_monitor_is_valid">
23521+ <attribute name="org.gtk.Method.get_property" value="valid"/>
23522+ <doc xml:space="preserve"
23523+ filename="gdk/gdkmonitor.c"
23524+ line="603">Returns %TRUE if the @monitor object corresponds to a
23525+physical monitor.
23526+
23527+The @monitor becomes invalid when the physical monitor
23528+is unplugged or removed.</doc>
23529+ <source-position filename="gdk/gdkmonitor.h" line="88"/>
23530+ <return-value transfer-ownership="none">
23531+ <doc xml:space="preserve"
23532+ filename="gdk/gdkmonitor.c"
23533+ line="613">%TRUE if the object corresponds to a physical monitor</doc>
23534+ <type name="gboolean" c:type="gboolean"/>
23535+ </return-value>
23536+ <parameters>
23537+ <instance-parameter name="monitor" transfer-ownership="none">
23538+ <doc xml:space="preserve"
23539+ filename="gdk/gdkmonitor.c"
23540+ line="605">a `GdkMonitor`</doc>
23541+ <type name="Monitor" c:type="GdkMonitor*"/>
23542+ </instance-parameter>
23543+ </parameters>
23544+ </method>
23545+ <property name="connector"
23546+ transfer-ownership="none"
23547+ getter="get_connector">
23548+ <attribute name="org.gtk.Property.get"
23549+ value="gdk_monitor_get_connector"/>
23550+ <doc xml:space="preserve"
23551+ filename="gdk/gdkmonitor.c"
23552+ line="203">The connector name.</doc>
23553+ <type name="utf8" c:type="gchar*"/>
23554+ </property>
23555+ <property name="display"
23556+ writable="1"
23557+ construct-only="1"
23558+ transfer-ownership="none"
23559+ getter="get_display">
23560+ <attribute name="org.gtk.Property.get"
23561+ value="gdk_monitor_get_display"/>
23562+ <doc xml:space="preserve"
23563+ filename="gdk/gdkmonitor.c"
23564+ line="173">The `GdkDisplay` of the monitor.</doc>
23565+ <type name="Display"/>
23566+ </property>
23567+ <property name="geometry"
23568+ transfer-ownership="none"
23569+ getter="get_geometry">
23570+ <attribute name="org.gtk.Property.get"
23571+ value="gdk_monitor_get_geometry"/>
23572+ <doc xml:space="preserve"
23573+ filename="gdk/gdkmonitor.c"
23574+ line="224">The geometry of the monitor.</doc>
23575+ <type name="Rectangle"/>
23576+ </property>
23577+ <property name="height-mm"
23578+ transfer-ownership="none"
23579+ getter="get_height_mm">
23580+ <attribute name="org.gtk.Property.get"
23581+ value="gdk_monitor_get_height_mm"/>
23582+ <doc xml:space="preserve"
23583+ filename="gdk/gdkmonitor.c"
23584+ line="245">The height of the monitor, in millimeters.</doc>
23585+ <type name="gint" c:type="gint"/>
23586+ </property>
23587+ <property name="manufacturer"
23588+ transfer-ownership="none"
23589+ getter="get_manufacturer">
23590+ <attribute name="org.gtk.Property.get"
23591+ value="gdk_monitor_get_manufacturer"/>
23592+ <doc xml:space="preserve"
23593+ filename="gdk/gdkmonitor.c"
23594+ line="183">The manufacturer name.</doc>
23595+ <type name="utf8" c:type="gchar*"/>
23596+ </property>
23597+ <property name="model" transfer-ownership="none" getter="get_model">
23598+ <attribute name="org.gtk.Property.get" value="gdk_monitor_get_model"/>
23599+ <doc xml:space="preserve"
23600+ filename="gdk/gdkmonitor.c"
23601+ line="193">The model name.</doc>
23602+ <type name="utf8" c:type="gchar*"/>
23603+ </property>
23604+ <property name="refresh-rate"
23605+ transfer-ownership="none"
23606+ getter="get_refresh_rate">
23607+ <attribute name="org.gtk.Property.get"
23608+ value="gdk_monitor_get_refresh_rate"/>
23609+ <doc xml:space="preserve"
23610+ filename="gdk/gdkmonitor.c"
23611+ line="256">The refresh rate, in milli-Hertz.</doc>
23612+ <type name="gint" c:type="gint"/>
23613+ </property>
23614+ <property name="scale-factor"
23615+ transfer-ownership="none"
23616+ getter="get_scale_factor">
23617+ <attribute name="org.gtk.Property.get"
23618+ value="gdk_monitor_get_scale_factor"/>
23619+ <doc xml:space="preserve"
23620+ filename="gdk/gdkmonitor.c"
23621+ line="213">The scale factor.</doc>
23622+ <type name="gint" c:type="gint"/>
23623+ </property>
23624+ <property name="subpixel-layout"
23625+ transfer-ownership="none"
23626+ getter="get_subpixel_layout">
23627+ <attribute name="org.gtk.Property.get"
23628+ value="gdk_monitor_get_subpixel_layout"/>
23629+ <doc xml:space="preserve"
23630+ filename="gdk/gdkmonitor.c"
23631+ line="267">The subpixel layout.</doc>
23632+ <type name="SubpixelLayout"/>
23633+ </property>
23634+ <property name="valid" transfer-ownership="none">
23635+ <attribute name="org.gtk.Property.get" value="gdk_monitor_is_valid"/>
23636+ <doc xml:space="preserve"
23637+ filename="gdk/gdkmonitor.c"
23638+ line="278">Whether the object is still valid.</doc>
23639+ <type name="gboolean" c:type="gboolean"/>
23640+ </property>
23641+ <property name="width-mm"
23642+ transfer-ownership="none"
23643+ getter="get_width_mm">
23644+ <attribute name="org.gtk.Property.get"
23645+ value="gdk_monitor_get_width_mm"/>
23646+ <doc xml:space="preserve"
23647+ filename="gdk/gdkmonitor.c"
23648+ line="234">The width of the monitor, in millimeters.</doc>
23649+ <type name="gint" c:type="gint"/>
23650+ </property>
23651+ <glib:signal name="invalidate" when="first">
23652+ <doc xml:space="preserve"
23653+ filename="gdk/gdkmonitor.c"
23654+ line="290">Emitted when the output represented by @monitor gets disconnected.</doc>
23655+ <return-value transfer-ownership="none">
23656+ <type name="none" c:type="void"/>
23657+ </return-value>
23658+ </glib:signal>
23659+ </class>
23660+ <record name="MonitorClass"
23661+ c:type="GdkMonitorClass"
23662+ disguised="1"
23663+ glib:is-gtype-struct-for="Monitor">
23664+ <source-position filename="gdk/gdkmonitor.h" line="40"/>
23665+ </record>
23666+ <class name="MotionEvent"
23667+ c:symbol-prefix="motion_event"
23668+ c:type="GdkMotionEvent"
23669+ parent="Event"
23670+ glib:type-name="GdkMotionEvent"
23671+ glib:get-type="gdk_motion_event_get_type"
23672+ glib:fundamental="1">
23673+ <doc xml:space="preserve"
23674+ filename="gdk/gdkevents.c"
23675+ line="3036">An event related to a pointer or touch device motion.</doc>
23676+ </class>
23677+ <enumeration name="NotifyType"
23678+ glib:type-name="GdkNotifyType"
23679+ glib:get-type="gdk_notify_type_get_type"
23680+ c:type="GdkNotifyType">
23681+ <doc xml:space="preserve"
23682+ filename="gdk/gdkevents.h"
23683+ line="298">Specifies the kind of crossing for enter and leave events.
23684+
23685+See the X11 protocol specification of LeaveNotify for
23686+full details of crossing event generation.</doc>
23687+ <member name="ancestor"
23688+ value="0"
23689+ c:identifier="GDK_NOTIFY_ANCESTOR"
23690+ glib:nick="ancestor"
23691+ glib:name="GDK_NOTIFY_ANCESTOR">
23692+ <doc xml:space="preserve"
23693+ filename="gdk/gdkevents.h"
23694+ line="300">the surface is entered from an ancestor or
23695+ left towards an ancestor.</doc>
23696+ </member>
23697+ <member name="virtual"
23698+ value="1"
23699+ c:identifier="GDK_NOTIFY_VIRTUAL"
23700+ glib:nick="virtual"
23701+ glib:name="GDK_NOTIFY_VIRTUAL">
23702+ <doc xml:space="preserve"
23703+ filename="gdk/gdkevents.h"
23704+ line="302">the pointer moves between an ancestor and an
23705+ inferior of the surface.</doc>
23706+ </member>
23707+ <member name="inferior"
23708+ value="2"
23709+ c:identifier="GDK_NOTIFY_INFERIOR"
23710+ glib:nick="inferior"
23711+ glib:name="GDK_NOTIFY_INFERIOR">
23712+ <doc xml:space="preserve"
23713+ filename="gdk/gdkevents.h"
23714+ line="304">the surface is entered from an inferior or
23715+ left towards an inferior.</doc>
23716+ </member>
23717+ <member name="nonlinear"
23718+ value="3"
23719+ c:identifier="GDK_NOTIFY_NONLINEAR"
23720+ glib:nick="nonlinear"
23721+ glib:name="GDK_NOTIFY_NONLINEAR">
23722+ <doc xml:space="preserve"
23723+ filename="gdk/gdkevents.h"
23724+ line="306">the surface is entered from or left towards
23725+ a surface which is neither an ancestor nor an inferior.</doc>
23726+ </member>
23727+ <member name="nonlinear_virtual"
23728+ value="4"
23729+ c:identifier="GDK_NOTIFY_NONLINEAR_VIRTUAL"
23730+ glib:nick="nonlinear-virtual"
23731+ glib:name="GDK_NOTIFY_NONLINEAR_VIRTUAL">
23732+ <doc xml:space="preserve"
23733+ filename="gdk/gdkevents.h"
23734+ line="308">the pointer moves between two surfaces
23735+ which are not ancestors of each other and the surface is part of
23736+ the ancestor chain between one of these surfaces and their least
23737+ common ancestor.</doc>
23738+ </member>
23739+ <member name="unknown"
23740+ value="5"
23741+ c:identifier="GDK_NOTIFY_UNKNOWN"
23742+ glib:nick="unknown"
23743+ glib:name="GDK_NOTIFY_UNKNOWN">
23744+ <doc xml:space="preserve"
23745+ filename="gdk/gdkevents.h"
23746+ line="312">an unknown type of enter/leave event occurred.</doc>
23747+ </member>
23748+ </enumeration>
23749+ <constant name="PRIORITY_REDRAW" value="120" c:type="GDK_PRIORITY_REDRAW">
23750+ <doc xml:space="preserve"
23751+ filename="gdk/gdkevents.h"
23752+ line="56">This is the priority that the idle handler processing surface updates
23753+is given in the main loop.</doc>
23754+ <source-position filename="gdk/gdkevents.h" line="62"/>
23755+ <type name="gint" c:type="gint"/>
23756+ </constant>
23757+ <class name="PadEvent"
23758+ c:symbol-prefix="pad_event"
23759+ c:type="GdkPadEvent"
23760+ parent="Event"
23761+ glib:type-name="GdkPadEvent"
23762+ glib:get-type="gdk_pad_event_get_type"
23763+ glib:fundamental="1">
23764+ <doc xml:space="preserve"
23765+ filename="gdk/gdkevents.c"
23766+ line="2862">An event related to a pad-based device.</doc>
23767+ <method name="get_axis_value"
23768+ c:identifier="gdk_pad_event_get_axis_value">
23769+ <doc xml:space="preserve"
23770+ filename="gdk/gdkevents.c"
23771+ line="2983">Extracts the information from a pad strip or ring event.</doc>
23772+ <source-position filename="gdk/gdkevents.h" line="483"/>
23773+ <return-value transfer-ownership="none">
23774+ <type name="none" c:type="void"/>
23775+ </return-value>
23776+ <parameters>
23777+ <instance-parameter name="event" transfer-ownership="none">
23778+ <doc xml:space="preserve"
23779+ filename="gdk/gdkevents.c"
23780+ line="2985">a pad strip or ring event</doc>
23781+ <type name="PadEvent" c:type="GdkEvent*"/>
23782+ </instance-parameter>
23783+ <parameter name="index"
23784+ direction="out"
23785+ caller-allocates="0"
23786+ transfer-ownership="full">
23787+ <doc xml:space="preserve"
23788+ filename="gdk/gdkevents.c"
23789+ line="2986">Return location for the axis index</doc>
23790+ <type name="guint" c:type="guint*"/>
23791+ </parameter>
23792+ <parameter name="value"
23793+ direction="out"
23794+ caller-allocates="0"
23795+ transfer-ownership="full">
23796+ <doc xml:space="preserve"
23797+ filename="gdk/gdkevents.c"
23798+ line="2987">Return location for the axis value</doc>
23799+ <type name="gdouble" c:type="double*"/>
23800+ </parameter>
23801+ </parameters>
23802+ </method>
23803+ <method name="get_button" c:identifier="gdk_pad_event_get_button">
23804+ <doc xml:space="preserve"
23805+ filename="gdk/gdkevents.c"
23806+ line="2962">Extracts information about the pressed button from
23807+a pad event.</doc>
23808+ <source-position filename="gdk/gdkevents.h" line="481"/>
23809+ <return-value transfer-ownership="none">
23810+ <doc xml:space="preserve"
23811+ filename="gdk/gdkevents.c"
23812+ line="2969">the button of @event</doc>
23813+ <type name="guint" c:type="guint"/>
23814+ </return-value>
23815+ <parameters>
23816+ <instance-parameter name="event" transfer-ownership="none">
23817+ <doc xml:space="preserve"
23818+ filename="gdk/gdkevents.c"
23819+ line="2964">a pad button event</doc>
23820+ <type name="PadEvent" c:type="GdkEvent*"/>
23821+ </instance-parameter>
23822+ </parameters>
23823+ </method>
23824+ <method name="get_group_mode"
23825+ c:identifier="gdk_pad_event_get_group_mode">
23826+ <doc xml:space="preserve"
23827+ filename="gdk/gdkevents.c"
23828+ line="3006">Extracts group and mode information from a pad event.</doc>
23829+ <source-position filename="gdk/gdkevents.h" line="487"/>
23830+ <return-value transfer-ownership="none">
23831+ <type name="none" c:type="void"/>
23832+ </return-value>
23833+ <parameters>
23834+ <instance-parameter name="event" transfer-ownership="none">
23835+ <doc xml:space="preserve"
23836+ filename="gdk/gdkevents.c"
23837+ line="3008">a pad event</doc>
23838+ <type name="PadEvent" c:type="GdkEvent*"/>
23839+ </instance-parameter>
23840+ <parameter name="group"
23841+ direction="out"
23842+ caller-allocates="0"
23843+ transfer-ownership="full">
23844+ <doc xml:space="preserve"
23845+ filename="gdk/gdkevents.c"
23846+ line="3009">return location for the group</doc>
23847+ <type name="guint" c:type="guint*"/>
23848+ </parameter>
23849+ <parameter name="mode"
23850+ direction="out"
23851+ caller-allocates="0"
23852+ transfer-ownership="full">
23853+ <doc xml:space="preserve"
23854+ filename="gdk/gdkevents.c"
23855+ line="3010">return location for the mode</doc>
23856+ <type name="guint" c:type="guint*"/>
23857+ </parameter>
23858+ </parameters>
23859+ </method>
23860+ </class>
23861+ <interface name="Paintable"
23862+ c:symbol-prefix="paintable"
23863+ c:type="GdkPaintable"
23864+ glib:type-name="GdkPaintable"
23865+ glib:get-type="gdk_paintable_get_type"
23866+ glib:type-struct="PaintableInterface">
23867+ <doc xml:space="preserve"
23868+ filename="gdk/gdkpaintable.c"
23869+ line="33">`GdkPaintable` is a simple interface used by GTK to represent content that
23870+can be painted.
23871+
23872+The content of a `GdkPaintable` can be painted anywhere at any size
23873+without requiring any sort of layout. The interface is inspired by
23874+similar concepts elsewhere, such as
23875+[ClutterContent](https://developer.gnome.org/clutter/stable/ClutterContent.html),
23876+[HTML/CSS Paint Sources](https://www.w3.org/TR/css-images-4/#paint-source),
23877+or [SVG Paint Servers](https://www.w3.org/TR/SVG2/pservers.html).
23878+
23879+A `GdkPaintable` can be snapshot at any time and size using
23880+[method@Gdk.Paintable.snapshot]. How the paintable interprets that size and
23881+if it scales or centers itself into the given rectangle is implementation
23882+defined, though if you are implementing a `GdkPaintable` and don't know what
23883+to do, it is suggested that you scale your paintable ignoring any potential
23884+aspect ratio.
23885+
23886+The contents that a `GdkPaintable` produces may depend on the [class@GdkSnapshot]
23887+passed to it. For example, paintables may decide to use more detailed images
23888+on higher resolution screens or when OpenGL is available. A `GdkPaintable`
23889+will however always produce the same output for the same snapshot.
23890+
23891+A `GdkPaintable` may change its contents, meaning that it will now produce
23892+a different output with the same snapshot. Once that happens, it will call
23893+[method@Gdk.Paintable.invalidate_contents] which will emit the
23894+[signal@GdkPaintable::invalidate-contents] signal. If a paintable is known
23895+to never change its contents, it will set the %GDK_PAINTABLE_STATIC_CONTENTS
23896+flag. If a consumer cannot deal with changing contents, it may call
23897+[method@Gdk.Paintable.get_current_image] which will return a static
23898+paintable and use that.
23899+
23900+A paintable can report an intrinsic (or preferred) size or aspect ratio it
23901+wishes to be rendered at, though it doesn't have to. Consumers of the interface
23902+can use this information to layout thepaintable appropriately. Just like the
23903+contents, the size of a paintable can change. A paintable will indicate this
23904+by calling [method@Gdk.Paintable.invalidate_size] which will emit the
23905+[signal@GdkPaintable::invalidate-size] signal. And just like for contents,
23906+if a paintable is known to never change its size, it will set the
23907+%GDK_PAINTABLE_STATIC_SIZE flag.
23908+
23909+Besides API for applications, there are some functions that are only
23910+useful for implementing subclasses and should not be used by applications:
23911+[method@Gdk.Paintable.invalidate_contents],
23912+[method@Gdk.Paintable.invalidate_size],
23913+[func@Gdk.Paintable.new_empty].</doc>
23914+ <source-position filename="gdk/gdkpaintable.h" line="109"/>
23915+ <function name="new_empty" c:identifier="gdk_paintable_new_empty">
23916+ <doc xml:space="preserve"
23917+ filename="gdk/gdkpaintable.c"
23918+ line="657">Returns a paintable that has the given intrinsic size and draws nothing.
23919+
23920+This is often useful for implementing the
23921+[vfunc@Gdk.Paintable.get_current_image] virtual function
23922+when the paintable is in an incomplete state (like a
23923+[class@Gtk.MediaStream] before receiving the first frame).</doc>
23924+ <source-position filename="gdk/gdkpaintable.h" line="143"/>
23925+ <return-value transfer-ownership="full">
23926+ <doc xml:space="preserve"
23927+ filename="gdk/gdkpaintable.c"
23928+ line="669">a `GdkPaintable`</doc>
23929+ <type name="Paintable" c:type="GdkPaintable*"/>
23930+ </return-value>
23931+ <parameters>
23932+ <parameter name="intrinsic_width" transfer-ownership="none">
23933+ <doc xml:space="preserve"
23934+ filename="gdk/gdkpaintable.c"
23935+ line="659">The intrinsic width to report. Can be 0 for no width.</doc>
23936+ <type name="gint" c:type="int"/>
23937+ </parameter>
23938+ <parameter name="intrinsic_height" transfer-ownership="none">
23939+ <doc xml:space="preserve"
23940+ filename="gdk/gdkpaintable.c"
23941+ line="660">The intrinsic height to report. Can be 0 for no height.</doc>
23942+ <type name="gint" c:type="int"/>
23943+ </parameter>
23944+ </parameters>
23945+ </function>
23946+ <virtual-method name="get_current_image" invoker="get_current_image">
23947+ <doc xml:space="preserve"
23948+ filename="gdk/gdkpaintable.c"
23949+ line="249">Gets an immutable paintable for the current contents displayed by @paintable.
23950+
23951+This is useful when you want to retain the current state of an animation,
23952+for example to take a screenshot of a running animation.
23953+
23954+If the @paintable is already immutable, it will return itself.</doc>
23955+ <source-position filename="gdk/gdkpaintable.h" line="99"/>
23956+ <return-value transfer-ownership="full">
23957+ <doc xml:space="preserve"
23958+ filename="gdk/gdkpaintable.c"
23959+ line="260">An immutable paintable for the current
23960+ contents of @paintable</doc>
23961+ <type name="Paintable" c:type="GdkPaintable*"/>
23962+ </return-value>
23963+ <parameters>
23964+ <instance-parameter name="paintable" transfer-ownership="none">
23965+ <doc xml:space="preserve"
23966+ filename="gdk/gdkpaintable.c"
23967+ line="251">a `GdkPaintable`</doc>
23968+ <type name="Paintable" c:type="GdkPaintable*"/>
23969+ </instance-parameter>
23970+ </parameters>
23971+ </virtual-method>
23972+ <virtual-method name="get_flags" invoker="get_flags">
23973+ <doc xml:space="preserve"
23974+ filename="gdk/gdkpaintable.c"
23975+ line="277">Get flags for the paintable.
23976+
23977+This is oftentimes useful for optimizations.
23978+
23979+See [flags@Gdk.PaintableFlags] for the flags and what they mean.</doc>
23980+ <source-position filename="gdk/gdkpaintable.h" line="102"/>
23981+ <return-value transfer-ownership="none">
23982+ <doc xml:space="preserve"
23983+ filename="gdk/gdkpaintable.c"
23984+ line="287">The `GdkPaintableFlags` for this paintable</doc>
23985+ <type name="PaintableFlags" c:type="GdkPaintableFlags"/>
23986+ </return-value>
23987+ <parameters>
23988+ <instance-parameter name="paintable" transfer-ownership="none">
23989+ <doc xml:space="preserve"
23990+ filename="gdk/gdkpaintable.c"
23991+ line="279">a `GdkPaintable`</doc>
23992+ <type name="Paintable" c:type="GdkPaintable*"/>
23993+ </instance-parameter>
23994+ </parameters>
23995+ </virtual-method>
23996+ <virtual-method name="get_intrinsic_aspect_ratio"
23997+ invoker="get_intrinsic_aspect_ratio">
23998+ <doc xml:space="preserve"
23999+ filename="gdk/gdkpaintable.c"
24000+ line="356">Gets the preferred aspect ratio the @paintable would like to be displayed at.
24001+
24002+The aspect ratio is the width divided by the height, so a value of 0.5
24003+means that the @paintable prefers to be displayed twice as high as it
24004+is wide. Consumers of this interface can use this to preserve aspect
24005+ratio when displaying the paintable.
24006+
24007+This is a purely informational value and does not in any way limit the
24008+values that may be passed to [method@Gdk.Paintable.snapshot].
24009+
24010+Usually when a @paintable returns nonzero values from
24011+[method@Gdk.Paintable.get_intrinsic_width] and
24012+[method@Gdk.Paintable.get_intrinsic_height] the aspect ratio
24013+should conform to those values, though that is not required.
24014+
24015+If the @paintable does not have a preferred aspect ratio,
24016+it returns 0. Negative values are never returned.</doc>
24017+ <source-position filename="gdk/gdkpaintable.h" line="108"/>
24018+ <return-value transfer-ownership="none">
24019+ <doc xml:space="preserve"
24020+ filename="gdk/gdkpaintable.c"
24021+ line="378">the intrinsic aspect ratio of @paintable or 0 if none.</doc>
24022+ <type name="gdouble" c:type="double"/>
24023+ </return-value>
24024+ <parameters>
24025+ <instance-parameter name="paintable" transfer-ownership="none">
24026+ <doc xml:space="preserve"
24027+ filename="gdk/gdkpaintable.c"
24028+ line="358">a `GdkPaintable`</doc>
24029+ <type name="Paintable" c:type="GdkPaintable*"/>
24030+ </instance-parameter>
24031+ </parameters>
24032+ </virtual-method>
24033+ <virtual-method name="get_intrinsic_height"
24034+ invoker="get_intrinsic_height">
24035+ <doc xml:space="preserve"
24036+ filename="gdk/gdkpaintable.c"
24037+ line="328">Gets the preferred height the @paintable would like to be displayed at.
24038+
24039+Consumers of this interface can use this to reserve enough space to draw
24040+the paintable.
24041+
24042+This is a purely informational value and does not in any way limit the
24043+values that may be passed to [method@Gdk.Paintable.snapshot].
24044+
24045+If the @paintable does not have a preferred height, it returns 0.
24046+Negative values are never returned.</doc>
24047+ <source-position filename="gdk/gdkpaintable.h" line="106"/>
24048+ <return-value transfer-ownership="none">
24049+ <doc xml:space="preserve"
24050+ filename="gdk/gdkpaintable.c"
24051+ line="343">the intrinsic height of @paintable or 0 if none.</doc>
24052+ <type name="gint" c:type="int"/>
24053+ </return-value>
24054+ <parameters>
24055+ <instance-parameter name="paintable" transfer-ownership="none">
24056+ <doc xml:space="preserve"
24057+ filename="gdk/gdkpaintable.c"
24058+ line="330">a `GdkPaintable`</doc>
24059+ <type name="Paintable" c:type="GdkPaintable*"/>
24060+ </instance-parameter>
24061+ </parameters>
24062+ </virtual-method>
24063+ <virtual-method name="get_intrinsic_width" invoker="get_intrinsic_width">
24064+ <doc xml:space="preserve"
24065+ filename="gdk/gdkpaintable.c"
24066+ line="300">Gets the preferred width the @paintable would like to be displayed at.
24067+
24068+Consumers of this interface can use this to reserve enough space to draw
24069+the paintable.
24070+
24071+This is a purely informational value and does not in any way limit the
24072+values that may be passed to [method@Gdk.Paintable.snapshot].
24073+
24074+If the @paintable does not have a preferred width, it returns 0.
24075+Negative values are never returned.</doc>
24076+ <source-position filename="gdk/gdkpaintable.h" line="104"/>
24077+ <return-value transfer-ownership="none">
24078+ <doc xml:space="preserve"
24079+ filename="gdk/gdkpaintable.c"
24080+ line="315">the intrinsic width of @paintable or 0 if none.</doc>
24081+ <type name="gint" c:type="int"/>
24082+ </return-value>
24083+ <parameters>
24084+ <instance-parameter name="paintable" transfer-ownership="none">
24085+ <doc xml:space="preserve"
24086+ filename="gdk/gdkpaintable.c"
24087+ line="302">a `GdkPaintable`</doc>
24088+ <type name="Paintable" c:type="GdkPaintable*"/>
24089+ </instance-parameter>
24090+ </parameters>
24091+ </virtual-method>
24092+ <virtual-method name="snapshot" invoker="snapshot">
24093+ <doc xml:space="preserve"
24094+ filename="gdk/gdkpaintable.c"
24095+ line="207">Snapshots the given paintable with the given @width and @height.
24096+
24097+The paintable is drawn at the current (0,0) offset of the @snapshot.
24098+If @width and @height are not larger than zero, this function will
24099+do nothing.</doc>
24100+ <source-position filename="gdk/gdkpaintable.h" line="94"/>
24101+ <return-value transfer-ownership="none">
24102+ <type name="none" c:type="void"/>
24103+ </return-value>
24104+ <parameters>
24105+ <instance-parameter name="paintable" transfer-ownership="none">
24106+ <doc xml:space="preserve"
24107+ filename="gdk/gdkpaintable.c"
24108+ line="209">a `GdkPaintable`</doc>
24109+ <type name="Paintable" c:type="GdkPaintable*"/>
24110+ </instance-parameter>
24111+ <parameter name="snapshot" transfer-ownership="none">
24112+ <doc xml:space="preserve"
24113+ filename="gdk/gdkpaintable.c"
24114+ line="210">a `GdkSnapshot` to snapshot to</doc>
24115+ <type name="Snapshot" c:type="GdkSnapshot*"/>
24116+ </parameter>
24117+ <parameter name="width" transfer-ownership="none">
24118+ <doc xml:space="preserve"
24119+ filename="gdk/gdkpaintable.c"
24120+ line="211">width to snapshot in</doc>
24121+ <type name="gdouble" c:type="double"/>
24122+ </parameter>
24123+ <parameter name="height" transfer-ownership="none">
24124+ <doc xml:space="preserve"
24125+ filename="gdk/gdkpaintable.c"
24126+ line="212">height to snapshot in</doc>
24127+ <type name="gdouble" c:type="double"/>
24128+ </parameter>
24129+ </parameters>
24130+ </virtual-method>
24131+ <method name="compute_concrete_size"
24132+ c:identifier="gdk_paintable_compute_concrete_size">
24133+ <doc xml:space="preserve"
24134+ filename="gdk/gdkpaintable.c"
24135+ line="439">Compute a concrete size for the `GdkPaintable`.
24136+
24137+Applies the sizing algorithm outlined in the
24138+[CSS Image spec](https://drafts.csswg.org/css-images-3/#default-sizing)
24139+to the given @paintable. See that link for more details.
24140+
24141+It is not necessary to call this function when both @specified_width
24142+and @specified_height are known, but it is useful to call this
24143+function in GtkWidget:measure implementations to compute the
24144+other dimension when only one dimension is given.</doc>
24145+ <source-position filename="gdk/gdkpaintable.h" line="130"/>
24146+ <return-value transfer-ownership="none">
24147+ <type name="none" c:type="void"/>
24148+ </return-value>
24149+ <parameters>
24150+ <instance-parameter name="paintable" transfer-ownership="none">
24151+ <doc xml:space="preserve"
24152+ filename="gdk/gdkpaintable.c"
24153+ line="441">a `GdkPaintable`</doc>
24154+ <type name="Paintable" c:type="GdkPaintable*"/>
24155+ </instance-parameter>
24156+ <parameter name="specified_width" transfer-ownership="none">
24157+ <doc xml:space="preserve"
24158+ filename="gdk/gdkpaintable.c"
24159+ line="442">the width @paintable could be drawn into or
24160+ 0.0 if unknown</doc>
24161+ <type name="gdouble" c:type="double"/>
24162+ </parameter>
24163+ <parameter name="specified_height" transfer-ownership="none">
24164+ <doc xml:space="preserve"
24165+ filename="gdk/gdkpaintable.c"
24166+ line="444">the height @paintable could be drawn into or
24167+ 0.0 if unknown</doc>
24168+ <type name="gdouble" c:type="double"/>
24169+ </parameter>
24170+ <parameter name="default_width" transfer-ownership="none">
24171+ <doc xml:space="preserve"
24172+ filename="gdk/gdkpaintable.c"
24173+ line="446">the width @paintable would be drawn into if
24174+ no other constraints were given</doc>
24175+ <type name="gdouble" c:type="double"/>
24176+ </parameter>
24177+ <parameter name="default_height" transfer-ownership="none">
24178+ <doc xml:space="preserve"
24179+ filename="gdk/gdkpaintable.c"
24180+ line="448">the height @paintable would be drawn into if
24181+ no other constraints were given</doc>
24182+ <type name="gdouble" c:type="double"/>
24183+ </parameter>
24184+ <parameter name="concrete_width"
24185+ direction="out"
24186+ caller-allocates="0"
24187+ transfer-ownership="full">
24188+ <doc xml:space="preserve"
24189+ filename="gdk/gdkpaintable.c"
24190+ line="450">will be set to the concrete width computed</doc>
24191+ <type name="gdouble" c:type="double*"/>
24192+ </parameter>
24193+ <parameter name="concrete_height"
24194+ direction="out"
24195+ caller-allocates="0"
24196+ transfer-ownership="full">
24197+ <doc xml:space="preserve"
24198+ filename="gdk/gdkpaintable.c"
24199+ line="451">will be set to the concrete height computed</doc>
24200+ <type name="gdouble" c:type="double*"/>
24201+ </parameter>
24202+ </parameters>
24203+ </method>
24204+ <method name="get_current_image"
24205+ c:identifier="gdk_paintable_get_current_image">
24206+ <doc xml:space="preserve"
24207+ filename="gdk/gdkpaintable.c"
24208+ line="249">Gets an immutable paintable for the current contents displayed by @paintable.
24209+
24210+This is useful when you want to retain the current state of an animation,
24211+for example to take a screenshot of a running animation.
24212+
24213+If the @paintable is already immutable, it will return itself.</doc>
24214+ <source-position filename="gdk/gdkpaintable.h" line="117"/>
24215+ <return-value transfer-ownership="full">
24216+ <doc xml:space="preserve"
24217+ filename="gdk/gdkpaintable.c"
24218+ line="260">An immutable paintable for the current
24219+ contents of @paintable</doc>
24220+ <type name="Paintable" c:type="GdkPaintable*"/>
24221+ </return-value>
24222+ <parameters>
24223+ <instance-parameter name="paintable" transfer-ownership="none">
24224+ <doc xml:space="preserve"
24225+ filename="gdk/gdkpaintable.c"
24226+ line="251">a `GdkPaintable`</doc>
24227+ <type name="Paintable" c:type="GdkPaintable*"/>
24228+ </instance-parameter>
24229+ </parameters>
24230+ </method>
24231+ <method name="get_flags" c:identifier="gdk_paintable_get_flags">
24232+ <doc xml:space="preserve"
24233+ filename="gdk/gdkpaintable.c"
24234+ line="277">Get flags for the paintable.
24235+
24236+This is oftentimes useful for optimizations.
24237+
24238+See [flags@Gdk.PaintableFlags] for the flags and what they mean.</doc>
24239+ <source-position filename="gdk/gdkpaintable.h" line="121"/>
24240+ <return-value transfer-ownership="none">
24241+ <doc xml:space="preserve"
24242+ filename="gdk/gdkpaintable.c"
24243+ line="287">The `GdkPaintableFlags` for this paintable</doc>
24244+ <type name="PaintableFlags" c:type="GdkPaintableFlags"/>
24245+ </return-value>
24246+ <parameters>
24247+ <instance-parameter name="paintable" transfer-ownership="none">
24248+ <doc xml:space="preserve"
24249+ filename="gdk/gdkpaintable.c"
24250+ line="279">a `GdkPaintable`</doc>
24251+ <type name="Paintable" c:type="GdkPaintable*"/>
24252+ </instance-parameter>
24253+ </parameters>
24254+ </method>
24255+ <method name="get_intrinsic_aspect_ratio"
24256+ c:identifier="gdk_paintable_get_intrinsic_aspect_ratio">
24257+ <doc xml:space="preserve"
24258+ filename="gdk/gdkpaintable.c"
24259+ line="356">Gets the preferred aspect ratio the @paintable would like to be displayed at.
24260+
24261+The aspect ratio is the width divided by the height, so a value of 0.5
24262+means that the @paintable prefers to be displayed twice as high as it
24263+is wide. Consumers of this interface can use this to preserve aspect
24264+ratio when displaying the paintable.
24265+
24266+This is a purely informational value and does not in any way limit the
24267+values that may be passed to [method@Gdk.Paintable.snapshot].
24268+
24269+Usually when a @paintable returns nonzero values from
24270+[method@Gdk.Paintable.get_intrinsic_width] and
24271+[method@Gdk.Paintable.get_intrinsic_height] the aspect ratio
24272+should conform to those values, though that is not required.
24273+
24274+If the @paintable does not have a preferred aspect ratio,
24275+it returns 0. Negative values are never returned.</doc>
24276+ <source-position filename="gdk/gdkpaintable.h" line="127"/>
24277+ <return-value transfer-ownership="none">
24278+ <doc xml:space="preserve"
24279+ filename="gdk/gdkpaintable.c"
24280+ line="378">the intrinsic aspect ratio of @paintable or 0 if none.</doc>
24281+ <type name="gdouble" c:type="double"/>
24282+ </return-value>
24283+ <parameters>
24284+ <instance-parameter name="paintable" transfer-ownership="none">
24285+ <doc xml:space="preserve"
24286+ filename="gdk/gdkpaintable.c"
24287+ line="358">a `GdkPaintable`</doc>
24288+ <type name="Paintable" c:type="GdkPaintable*"/>
24289+ </instance-parameter>
24290+ </parameters>
24291+ </method>
24292+ <method name="get_intrinsic_height"
24293+ c:identifier="gdk_paintable_get_intrinsic_height">
24294+ <doc xml:space="preserve"
24295+ filename="gdk/gdkpaintable.c"
24296+ line="328">Gets the preferred height the @paintable would like to be displayed at.
24297+
24298+Consumers of this interface can use this to reserve enough space to draw
24299+the paintable.
24300+
24301+This is a purely informational value and does not in any way limit the
24302+values that may be passed to [method@Gdk.Paintable.snapshot].
24303+
24304+If the @paintable does not have a preferred height, it returns 0.
24305+Negative values are never returned.</doc>
24306+ <source-position filename="gdk/gdkpaintable.h" line="125"/>
24307+ <return-value transfer-ownership="none">
24308+ <doc xml:space="preserve"
24309+ filename="gdk/gdkpaintable.c"
24310+ line="343">the intrinsic height of @paintable or 0 if none.</doc>
24311+ <type name="gint" c:type="int"/>
24312+ </return-value>
24313+ <parameters>
24314+ <instance-parameter name="paintable" transfer-ownership="none">
24315+ <doc xml:space="preserve"
24316+ filename="gdk/gdkpaintable.c"
24317+ line="330">a `GdkPaintable`</doc>
24318+ <type name="Paintable" c:type="GdkPaintable*"/>
24319+ </instance-parameter>
24320+ </parameters>
24321+ </method>
24322+ <method name="get_intrinsic_width"
24323+ c:identifier="gdk_paintable_get_intrinsic_width">
24324+ <doc xml:space="preserve"
24325+ filename="gdk/gdkpaintable.c"
24326+ line="300">Gets the preferred width the @paintable would like to be displayed at.
24327+
24328+Consumers of this interface can use this to reserve enough space to draw
24329+the paintable.
24330+
24331+This is a purely informational value and does not in any way limit the
24332+values that may be passed to [method@Gdk.Paintable.snapshot].
24333+
24334+If the @paintable does not have a preferred width, it returns 0.
24335+Negative values are never returned.</doc>
24336+ <source-position filename="gdk/gdkpaintable.h" line="123"/>
24337+ <return-value transfer-ownership="none">
24338+ <doc xml:space="preserve"
24339+ filename="gdk/gdkpaintable.c"
24340+ line="315">the intrinsic width of @paintable or 0 if none.</doc>
24341+ <type name="gint" c:type="int"/>
24342+ </return-value>
24343+ <parameters>
24344+ <instance-parameter name="paintable" transfer-ownership="none">
24345+ <doc xml:space="preserve"
24346+ filename="gdk/gdkpaintable.c"
24347+ line="302">a `GdkPaintable`</doc>
24348+ <type name="Paintable" c:type="GdkPaintable*"/>
24349+ </instance-parameter>
24350+ </parameters>
24351+ </method>
24352+ <method name="invalidate_contents"
24353+ c:identifier="gdk_paintable_invalidate_contents">
24354+ <doc xml:space="preserve"
24355+ filename="gdk/gdkpaintable.c"
24356+ line="391">Called by implementations of `GdkPaintable` to invalidate their contents.
24357+
24358+Unless the contents are invalidated, implementations must guarantee that
24359+multiple calls of [method@Gdk.Paintable.snapshot] produce the same output.
24360+
24361+This function will emit the [signal@Gdk.Paintable::invalidate-contents]
24362+signal.
24363+
24364+If a @paintable reports the %GDK_PAINTABLE_STATIC_CONTENTS flag,
24365+it must not call this function.</doc>
24366+ <source-position filename="gdk/gdkpaintable.h" line="139"/>
24367+ <return-value transfer-ownership="none">
24368+ <type name="none" c:type="void"/>
24369+ </return-value>
24370+ <parameters>
24371+ <instance-parameter name="paintable" transfer-ownership="none">
24372+ <doc xml:space="preserve"
24373+ filename="gdk/gdkpaintable.c"
24374+ line="393">a `GdkPaintable`</doc>
24375+ <type name="Paintable" c:type="GdkPaintable*"/>
24376+ </instance-parameter>
24377+ </parameters>
24378+ </method>
24379+ <method name="invalidate_size"
24380+ c:identifier="gdk_paintable_invalidate_size">
24381+ <doc xml:space="preserve"
24382+ filename="gdk/gdkpaintable.c"
24383+ line="415">Called by implementations of `GdkPaintable` to invalidate their size.
24384+
24385+As long as the size is not invalidated, @paintable must return the same
24386+values for its intrinsic width, height and aspect ratio.
24387+
24388+This function will emit the [signal@Gdk.Paintable::invalidate-size]
24389+signal.
24390+
24391+If a @paintable reports the %GDK_PAINTABLE_STATIC_SIZE flag,
24392+it must not call this function.</doc>
24393+ <source-position filename="gdk/gdkpaintable.h" line="141"/>
24394+ <return-value transfer-ownership="none">
24395+ <type name="none" c:type="void"/>
24396+ </return-value>
24397+ <parameters>
24398+ <instance-parameter name="paintable" transfer-ownership="none">
24399+ <doc xml:space="preserve"
24400+ filename="gdk/gdkpaintable.c"
24401+ line="417">a `GdkPaintable`</doc>
24402+ <type name="Paintable" c:type="GdkPaintable*"/>
24403+ </instance-parameter>
24404+ </parameters>
24405+ </method>
24406+ <method name="snapshot" c:identifier="gdk_paintable_snapshot">
24407+ <doc xml:space="preserve"
24408+ filename="gdk/gdkpaintable.c"
24409+ line="207">Snapshots the given paintable with the given @width and @height.
24410+
24411+The paintable is drawn at the current (0,0) offset of the @snapshot.
24412+If @width and @height are not larger than zero, this function will
24413+do nothing.</doc>
24414+ <source-position filename="gdk/gdkpaintable.h" line="112"/>
24415+ <return-value transfer-ownership="none">
24416+ <type name="none" c:type="void"/>
24417+ </return-value>
24418+ <parameters>
24419+ <instance-parameter name="paintable" transfer-ownership="none">
24420+ <doc xml:space="preserve"
24421+ filename="gdk/gdkpaintable.c"
24422+ line="209">a `GdkPaintable`</doc>
24423+ <type name="Paintable" c:type="GdkPaintable*"/>
24424+ </instance-parameter>
24425+ <parameter name="snapshot" transfer-ownership="none">
24426+ <doc xml:space="preserve"
24427+ filename="gdk/gdkpaintable.c"
24428+ line="210">a `GdkSnapshot` to snapshot to</doc>
24429+ <type name="Snapshot" c:type="GdkSnapshot*"/>
24430+ </parameter>
24431+ <parameter name="width" transfer-ownership="none">
24432+ <doc xml:space="preserve"
24433+ filename="gdk/gdkpaintable.c"
24434+ line="211">width to snapshot in</doc>
24435+ <type name="gdouble" c:type="double"/>
24436+ </parameter>
24437+ <parameter name="height" transfer-ownership="none">
24438+ <doc xml:space="preserve"
24439+ filename="gdk/gdkpaintable.c"
24440+ line="212">height to snapshot in</doc>
24441+ <type name="gdouble" c:type="double"/>
24442+ </parameter>
24443+ </parameters>
24444+ </method>
24445+ <glib:signal name="invalidate-contents" when="last">
24446+ <doc xml:space="preserve"
24447+ filename="gdk/gdkpaintable.c"
24448+ line="164">Emitted when the contents of the @paintable change.
24449+
24450+Examples for such an event would be videos changing to the next frame or
24451+the icon theme for an icon changing.</doc>
24452+ <return-value transfer-ownership="none">
24453+ <type name="none" c:type="void"/>
24454+ </return-value>
24455+ </glib:signal>
24456+ <glib:signal name="invalidate-size" when="last">
24457+ <doc xml:space="preserve"
24458+ filename="gdk/gdkpaintable.c"
24459+ line="182">Emitted when the intrinsic size of the @paintable changes.
24460+
24461+This means the values reported by at least one of
24462+[method@Gdk.Paintable.get_intrinsic_width],
24463+[method@Gdk.Paintable.get_intrinsic_height] or
24464+[method@Gdk.Paintable.get_intrinsic_aspect_ratio]
24465+has changed.
24466+
24467+Examples for such an event would be a paintable displaying
24468+the contents of a toplevel surface being resized.</doc>
24469+ <return-value transfer-ownership="none">
24470+ <type name="none" c:type="void"/>
24471+ </return-value>
24472+ </glib:signal>
24473+ </interface>
24474+ <bitfield name="PaintableFlags"
24475+ glib:type-name="GdkPaintableFlags"
24476+ glib:get-type="gdk_paintable_flags_get_type"
24477+ c:type="GdkPaintableFlags">
24478+ <doc xml:space="preserve"
24479+ filename="gdk/gdkpaintable.h"
24480+ line="37">Flags about a paintable object.
24481+
24482+Implementations use these for optimizations such as caching.</doc>
24483+ <member name="size"
24484+ value="1"
24485+ c:identifier="GDK_PAINTABLE_STATIC_SIZE"
24486+ glib:nick="size"
24487+ glib:name="GDK_PAINTABLE_STATIC_SIZE">
24488+ <doc xml:space="preserve"
24489+ filename="gdk/gdkpaintable.h"
24490+ line="39">The size is immutable.
24491+ The [signal@GdkPaintable::invalidate-size] signal will never be
24492+ emitted.</doc>
24493+ </member>
24494+ <member name="contents"
24495+ value="2"
24496+ c:identifier="GDK_PAINTABLE_STATIC_CONTENTS"
24497+ glib:nick="contents"
24498+ glib:name="GDK_PAINTABLE_STATIC_CONTENTS">
24499+ <doc xml:space="preserve"
24500+ filename="gdk/gdkpaintable.h"
24501+ line="42">The content is immutable.
24502+ The [signal@GdkPaintable::invalidate-contents] signal will never be
24503+ emitted.</doc>
24504+ </member>
24505+ </bitfield>
24506+ <record name="PaintableInterface"
24507+ c:type="GdkPaintableInterface"
24508+ glib:is-gtype-struct-for="Paintable">
24509+ <doc xml:space="preserve"
24510+ filename="gdk/gdkpaintable.h"
24511+ line="55">The list of functions that can be implemented for the `GdkPaintable`
24512+interface.
24513+
24514+Note that apart from the [vfunc@Gdk.Paintable.snapshot] function,
24515+no virtual function of this interface is mandatory to implement, though it
24516+is a good idea to implement [vfunc@Gdk.Paintable.get_current_image]
24517+for non-static paintables and [vfunc@Gdk.Paintable.get_flags] if the
24518+image is not dynamic as the default implementation returns no flags and
24519+that will make the implementation likely quite slow.</doc>
24520+ <source-position filename="gdk/gdkpaintable.h" line="109"/>
24521+ <field name="g_iface" readable="0" private="1">
24522+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
24523+ </field>
24524+ <field name="snapshot">
24525+ <callback name="snapshot">
24526+ <source-position filename="gdk/gdkpaintable.h" line="94"/>
24527+ <return-value transfer-ownership="none">
24528+ <type name="none" c:type="void"/>
24529+ </return-value>
24530+ <parameters>
24531+ <parameter name="paintable" transfer-ownership="none">
24532+ <doc xml:space="preserve"
24533+ filename="gdk/gdkpaintable.c"
24534+ line="209">a `GdkPaintable`</doc>
24535+ <type name="Paintable" c:type="GdkPaintable*"/>
24536+ </parameter>
24537+ <parameter name="snapshot" transfer-ownership="none">
24538+ <doc xml:space="preserve"
24539+ filename="gdk/gdkpaintable.c"
24540+ line="210">a `GdkSnapshot` to snapshot to</doc>
24541+ <type name="Snapshot" c:type="GdkSnapshot*"/>
24542+ </parameter>
24543+ <parameter name="width" transfer-ownership="none">
24544+ <doc xml:space="preserve"
24545+ filename="gdk/gdkpaintable.c"
24546+ line="211">width to snapshot in</doc>
24547+ <type name="gdouble" c:type="double"/>
24548+ </parameter>
24549+ <parameter name="height" transfer-ownership="none">
24550+ <doc xml:space="preserve"
24551+ filename="gdk/gdkpaintable.c"
24552+ line="212">height to snapshot in</doc>
24553+ <type name="gdouble" c:type="double"/>
24554+ </parameter>
24555+ </parameters>
24556+ </callback>
24557+ </field>
24558+ <field name="get_current_image">
24559+ <callback name="get_current_image">
24560+ <source-position filename="gdk/gdkpaintable.h" line="99"/>
24561+ <return-value transfer-ownership="full">
24562+ <doc xml:space="preserve"
24563+ filename="gdk/gdkpaintable.c"
24564+ line="260">An immutable paintable for the current
24565+ contents of @paintable</doc>
24566+ <type name="Paintable" c:type="GdkPaintable*"/>
24567+ </return-value>
24568+ <parameters>
24569+ <parameter name="paintable" transfer-ownership="none">
24570+ <doc xml:space="preserve"
24571+ filename="gdk/gdkpaintable.c"
24572+ line="251">a `GdkPaintable`</doc>
24573+ <type name="Paintable" c:type="GdkPaintable*"/>
24574+ </parameter>
24575+ </parameters>
24576+ </callback>
24577+ </field>
24578+ <field name="get_flags">
24579+ <callback name="get_flags">
24580+ <source-position filename="gdk/gdkpaintable.h" line="102"/>
24581+ <return-value transfer-ownership="none">
24582+ <doc xml:space="preserve"
24583+ filename="gdk/gdkpaintable.c"
24584+ line="287">The `GdkPaintableFlags` for this paintable</doc>
24585+ <type name="PaintableFlags" c:type="GdkPaintableFlags"/>
24586+ </return-value>
24587+ <parameters>
24588+ <parameter name="paintable" transfer-ownership="none">
24589+ <doc xml:space="preserve"
24590+ filename="gdk/gdkpaintable.c"
24591+ line="279">a `GdkPaintable`</doc>
24592+ <type name="Paintable" c:type="GdkPaintable*"/>
24593+ </parameter>
24594+ </parameters>
24595+ </callback>
24596+ </field>
24597+ <field name="get_intrinsic_width">
24598+ <callback name="get_intrinsic_width">
24599+ <source-position filename="gdk/gdkpaintable.h" line="104"/>
24600+ <return-value transfer-ownership="none">
24601+ <doc xml:space="preserve"
24602+ filename="gdk/gdkpaintable.c"
24603+ line="315">the intrinsic width of @paintable or 0 if none.</doc>
24604+ <type name="gint" c:type="int"/>
24605+ </return-value>
24606+ <parameters>
24607+ <parameter name="paintable" transfer-ownership="none">
24608+ <doc xml:space="preserve"
24609+ filename="gdk/gdkpaintable.c"
24610+ line="302">a `GdkPaintable`</doc>
24611+ <type name="Paintable" c:type="GdkPaintable*"/>
24612+ </parameter>
24613+ </parameters>
24614+ </callback>
24615+ </field>
24616+ <field name="get_intrinsic_height">
24617+ <callback name="get_intrinsic_height">
24618+ <source-position filename="gdk/gdkpaintable.h" line="106"/>
24619+ <return-value transfer-ownership="none">
24620+ <doc xml:space="preserve"
24621+ filename="gdk/gdkpaintable.c"
24622+ line="343">the intrinsic height of @paintable or 0 if none.</doc>
24623+ <type name="gint" c:type="int"/>
24624+ </return-value>
24625+ <parameters>
24626+ <parameter name="paintable" transfer-ownership="none">
24627+ <doc xml:space="preserve"
24628+ filename="gdk/gdkpaintable.c"
24629+ line="330">a `GdkPaintable`</doc>
24630+ <type name="Paintable" c:type="GdkPaintable*"/>
24631+ </parameter>
24632+ </parameters>
24633+ </callback>
24634+ </field>
24635+ <field name="get_intrinsic_aspect_ratio">
24636+ <callback name="get_intrinsic_aspect_ratio">
24637+ <source-position filename="gdk/gdkpaintable.h" line="108"/>
24638+ <return-value transfer-ownership="none">
24639+ <doc xml:space="preserve"
24640+ filename="gdk/gdkpaintable.c"
24641+ line="378">the intrinsic aspect ratio of @paintable or 0 if none.</doc>
24642+ <type name="gdouble" c:type="double"/>
24643+ </return-value>
24644+ <parameters>
24645+ <parameter name="paintable" transfer-ownership="none">
24646+ <doc xml:space="preserve"
24647+ filename="gdk/gdkpaintable.c"
24648+ line="358">a `GdkPaintable`</doc>
24649+ <type name="Paintable" c:type="GdkPaintable*"/>
24650+ </parameter>
24651+ </parameters>
24652+ </callback>
24653+ </field>
24654+ </record>
24655+ <interface name="Popup"
24656+ c:symbol-prefix="popup"
24657+ c:type="GdkPopup"
24658+ glib:type-name="GdkPopup"
24659+ glib:get-type="gdk_popup_get_type"
24660+ glib:type-struct="PopupInterface">
24661+ <doc xml:space="preserve"
24662+ filename="gdk/gdkpopup.c"
24663+ line="26">A `GdkPopup` is a surface that is attached to another surface.
24664+
24665+The `GdkPopup` is positioned relative to its parent surface.
24666+
24667+`GdkPopup`s are typically used to implement menus and similar popups.
24668+They can be modal, which is indicated by the [property@GdkPopup:autohide]
24669+property.</doc>
24670+ <source-position filename="gdk/gdkpopup.h" line="35"/>
24671+ <prerequisite name="Surface"/>
24672+ <method name="get_autohide"
24673+ c:identifier="gdk_popup_get_autohide"
24674+ glib:get-property="autohide">
24675+ <attribute name="org.gtk.Method.get_property" value="autohide"/>
24676+ <doc xml:space="preserve"
24677+ filename="gdk/gdkpopup.c"
24678+ line="235">Returns whether this popup is set to hide on outside clicks.</doc>
24679+ <source-position filename="gdk/gdkpopup.h" line="59"/>
24680+ <return-value transfer-ownership="none">
24681+ <doc xml:space="preserve"
24682+ filename="gdk/gdkpopup.c"
24683+ line="241">%TRUE if @popup will autohide</doc>
24684+ <type name="gboolean" c:type="gboolean"/>
24685+ </return-value>
24686+ <parameters>
24687+ <instance-parameter name="popup" transfer-ownership="none">
24688+ <doc xml:space="preserve"
24689+ filename="gdk/gdkpopup.c"
24690+ line="237">a `GdkPopup`</doc>
24691+ <type name="Popup" c:type="GdkPopup*"/>
24692+ </instance-parameter>
24693+ </parameters>
24694+ </method>
24695+ <method name="get_parent"
24696+ c:identifier="gdk_popup_get_parent"
24697+ glib:get-property="parent">
24698+ <attribute name="org.gtk.Method.get_property" value="parent"/>
24699+ <doc xml:space="preserve"
24700+ filename="gdk/gdkpopup.c"
24701+ line="180">Returns the parent surface of a popup.</doc>
24702+ <source-position filename="gdk/gdkpopup.h" line="50"/>
24703+ <return-value transfer-ownership="none" nullable="1">
24704+ <doc xml:space="preserve"
24705+ filename="gdk/gdkpopup.c"
24706+ line="186">the parent surface</doc>
24707+ <type name="Surface" c:type="GdkSurface*"/>
24708+ </return-value>
24709+ <parameters>
24710+ <instance-parameter name="popup" transfer-ownership="none">
24711+ <doc xml:space="preserve"
24712+ filename="gdk/gdkpopup.c"
24713+ line="182">a `GdkPopup`</doc>
24714+ <type name="Popup" c:type="GdkPopup*"/>
24715+ </instance-parameter>
24716+ </parameters>
24717+ </method>
24718+ <method name="get_position_x" c:identifier="gdk_popup_get_position_x">
24719+ <doc xml:space="preserve"
24720+ filename="gdk/gdkpopup.c"
24721+ line="203">Obtains the position of the popup relative to its parent.</doc>
24722+ <source-position filename="gdk/gdkpopup.h" line="53"/>
24723+ <return-value transfer-ownership="none">
24724+ <doc xml:space="preserve"
24725+ filename="gdk/gdkpopup.c"
24726+ line="209">the X coordinate of @popup position</doc>
24727+ <type name="gint" c:type="int"/>
24728+ </return-value>
24729+ <parameters>
24730+ <instance-parameter name="popup" transfer-ownership="none">
24731+ <doc xml:space="preserve"
24732+ filename="gdk/gdkpopup.c"
24733+ line="205">a `GdkPopup`</doc>
24734+ <type name="Popup" c:type="GdkPopup*"/>
24735+ </instance-parameter>
24736+ </parameters>
24737+ </method>
24738+ <method name="get_position_y" c:identifier="gdk_popup_get_position_y">
24739+ <doc xml:space="preserve"
24740+ filename="gdk/gdkpopup.c"
24741+ line="219">Obtains the position of the popup relative to its parent.</doc>
24742+ <source-position filename="gdk/gdkpopup.h" line="56"/>
24743+ <return-value transfer-ownership="none">
24744+ <doc xml:space="preserve"
24745+ filename="gdk/gdkpopup.c"
24746+ line="225">the Y coordinate of @popup position</doc>
24747+ <type name="gint" c:type="int"/>
24748+ </return-value>
24749+ <parameters>
24750+ <instance-parameter name="popup" transfer-ownership="none">
24751+ <doc xml:space="preserve"
24752+ filename="gdk/gdkpopup.c"
24753+ line="221">a `GdkPopup`</doc>
24754+ <type name="Popup" c:type="GdkPopup*"/>
24755+ </instance-parameter>
24756+ </parameters>
24757+ </method>
24758+ <method name="get_rect_anchor" c:identifier="gdk_popup_get_rect_anchor">
24759+ <doc xml:space="preserve"
24760+ filename="gdk/gdkpopup.c"
24761+ line="161">Gets the current popup rectangle anchor.
24762+
24763+The value returned may change after calling [method@Gdk.Popup.present],
24764+or after the [signal@Gdk.Surface::layout] signal is emitted.</doc>
24765+ <source-position filename="gdk/gdkpopup.h" line="47"/>
24766+ <return-value transfer-ownership="none">
24767+ <doc xml:space="preserve"
24768+ filename="gdk/gdkpopup.c"
24769+ line="170">the current rectangle anchor value of @popup</doc>
24770+ <type name="Gravity" c:type="GdkGravity"/>
24771+ </return-value>
24772+ <parameters>
24773+ <instance-parameter name="popup" transfer-ownership="none">
24774+ <doc xml:space="preserve"
24775+ filename="gdk/gdkpopup.c"
24776+ line="163">a `GdkPopup`</doc>
24777+ <type name="Popup" c:type="GdkPopup*"/>
24778+ </instance-parameter>
24779+ </parameters>
24780+ </method>
24781+ <method name="get_surface_anchor"
24782+ c:identifier="gdk_popup_get_surface_anchor">
24783+ <doc xml:space="preserve"
24784+ filename="gdk/gdkpopup.c"
24785+ line="142">Gets the current popup surface anchor.
24786+
24787+The value returned may change after calling [method@Gdk.Popup.present],
24788+or after the [signal@Gdk.Surface::layout] signal is emitted.</doc>
24789+ <source-position filename="gdk/gdkpopup.h" line="44"/>
24790+ <return-value transfer-ownership="none">
24791+ <doc xml:space="preserve"
24792+ filename="gdk/gdkpopup.c"
24793+ line="151">the current surface anchor value of @popup</doc>
24794+ <type name="Gravity" c:type="GdkGravity"/>
24795+ </return-value>
24796+ <parameters>
24797+ <instance-parameter name="popup" transfer-ownership="none">
24798+ <doc xml:space="preserve"
24799+ filename="gdk/gdkpopup.c"
24800+ line="144">a `GdkPopup`</doc>
24801+ <type name="Popup" c:type="GdkPopup*"/>
24802+ </instance-parameter>
24803+ </parameters>
24804+ </method>
24805+ <method name="present" c:identifier="gdk_popup_present">
24806+ <doc xml:space="preserve"
24807+ filename="gdk/gdkpopup.c"
24808+ line="103">Present @popup after having processed the `GdkPopupLayout` rules.
24809+
24810+If the popup was previously now showing, it will be showed,
24811+otherwise it will change position according to @layout.
24812+
24813+After calling this function, the result should be handled in response
24814+to the [signal@GdkSurface::layout] signal being emitted. The resulting
24815+popup position can be queried using [method@Gdk.Popup.get_position_x],
24816+[method@Gdk.Popup.get_position_y], and the resulting size will be sent as
24817+parameters in the layout signal. Use [method@Gdk.Popup.get_rect_anchor]
24818+and [method@Gdk.Popup.get_surface_anchor] to get the resulting anchors.
24819+
24820+Presenting may fail, for example if the @popup is set to autohide
24821+and is immediately hidden upon being presented. If presenting failed,
24822+the [signal@Gdk.Surface::layout] signal will not me emitted.</doc>
24823+ <source-position filename="gdk/gdkpopup.h" line="38"/>
24824+ <return-value transfer-ownership="none">
24825+ <doc xml:space="preserve"
24826+ filename="gdk/gdkpopup.c"
24827+ line="126">%FALSE if it failed to be presented, otherwise %TRUE.</doc>
24828+ <type name="gboolean" c:type="gboolean"/>
24829+ </return-value>
24830+ <parameters>
24831+ <instance-parameter name="popup" transfer-ownership="none">
24832+ <doc xml:space="preserve"
24833+ filename="gdk/gdkpopup.c"
24834+ line="105">the `GdkPopup` to show</doc>
24835+ <type name="Popup" c:type="GdkPopup*"/>
24836+ </instance-parameter>
24837+ <parameter name="width" transfer-ownership="none">
24838+ <doc xml:space="preserve"
24839+ filename="gdk/gdkpopup.c"
24840+ line="106">the unconstrained popup width to layout</doc>
24841+ <type name="gint" c:type="int"/>
24842+ </parameter>
24843+ <parameter name="height" transfer-ownership="none">
24844+ <doc xml:space="preserve"
24845+ filename="gdk/gdkpopup.c"
24846+ line="107">the unconstrained popup height to layout</doc>
24847+ <type name="gint" c:type="int"/>
24848+ </parameter>
24849+ <parameter name="layout" transfer-ownership="none">
24850+ <doc xml:space="preserve"
24851+ filename="gdk/gdkpopup.c"
24852+ line="108">the `GdkPopupLayout` object used to layout</doc>
24853+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
24854+ </parameter>
24855+ </parameters>
24856+ </method>
24857+ <property name="autohide"
24858+ writable="1"
24859+ construct-only="1"
24860+ transfer-ownership="none"
24861+ getter="get_autohide">
24862+ <attribute name="org.gtk.Property.get" value="gdk_popup_get_autohide"/>
24863+ <doc xml:space="preserve"
24864+ filename="gdk/gdkpopup.c"
24865+ line="92">Whether to hide on outside clicks.</doc>
24866+ <type name="gboolean" c:type="gboolean"/>
24867+ </property>
24868+ <property name="parent"
24869+ writable="1"
24870+ construct-only="1"
24871+ transfer-ownership="none"
24872+ getter="get_parent">
24873+ <attribute name="org.gtk.Property.get" value="gdk_popup_get_parent"/>
24874+ <doc xml:space="preserve"
24875+ filename="gdk/gdkpopup.c"
24876+ line="82">The parent surface.</doc>
24877+ <type name="Surface"/>
24878+ </property>
24879+ </interface>
24880+ <record name="PopupInterface"
24881+ c:type="GdkPopupInterface"
24882+ disguised="1"
24883+ glib:is-gtype-struct-for="Popup">
24884+ <source-position filename="gdk/gdkpopup.h" line="35"/>
24885+ </record>
24886+ <record name="PopupLayout"
24887+ c:type="GdkPopupLayout"
24888+ glib:type-name="GdkPopupLayout"
24889+ glib:get-type="gdk_popup_layout_get_type"
24890+ c:symbol-prefix="popup_layout">
24891+ <doc xml:space="preserve"
24892+ filename="gdk/gdkpopuplayout.c"
24893+ line="25">The `GdkPopupLayout` struct contains information that is
24894+necessary position a [iface@Gdk.Popup] relative to its parent.
24895+
24896+The positioning requires a negotiation with the windowing system,
24897+since it depends on external constraints, such as the position of
24898+the parent surface, and the screen dimensions.
24899+
24900+The basic ingredients are a rectangle on the parent surface,
24901+and the anchor on both that rectangle and the popup. The anchors
24902+specify a side or corner to place next to each other.
24903+
24904+![Popup anchors](popup-anchors.png)
24905+
24906+For cases where placing the anchors next to each other would make
24907+the popup extend offscreen, the layout includes some hints for how
24908+to resolve this problem. The hints may suggest to flip the anchor
24909+position to the other side, or to 'slide' the popup along a side,
24910+or to resize it.
24911+
24912+![Flipping popups](popup-flip.png)
24913+
24914+![Sliding popups](popup-slide.png)
24915+
24916+These hints may be combined.
24917+
24918+Ultimatively, it is up to the windowing system to determine the position
24919+and size of the popup. You can learn about the result by calling
24920+[method@Gdk.Popup.get_position_x], [method@Gdk.Popup.get_position_y],
24921+[method@Gdk.Popup.get_rect_anchor] and [method@Gdk.Popup.get_surface_anchor]
24922+after the popup has been presented. This can be used to adjust the rendering.
24923+For example, [class@Gtk.Popover] changes its arrow position accordingly.
24924+But you have to be careful avoid changing the size of the popover, or it
24925+has to be presented again.</doc>
24926+ <source-position filename="gdk/gdkpopuplayout.h" line="73"/>
24927+ <constructor name="new" c:identifier="gdk_popup_layout_new">
24928+ <doc xml:space="preserve"
24929+ filename="gdk/gdkpopuplayout.c"
24930+ line="84">Create a popup layout description.
24931+
24932+Used together with [method@Gdk.Popup.present] to describe how a popup
24933+surface should be placed and behave on-screen.
24934+
24935+@anchor_rect is relative to the top-left corner of the surface's parent.
24936+@rect_anchor and @surface_anchor determine anchor points on @anchor_rect
24937+and surface to pin together.
24938+
24939+The position of @anchor_rect's anchor point can optionally be offset using
24940+[method@Gdk.PopupLayout.set_offset], which is equivalent to offsetting the
24941+position of surface.</doc>
24942+ <source-position filename="gdk/gdkpopuplayout.h" line="81"/>
24943+ <return-value transfer-ownership="full">
24944+ <doc xml:space="preserve"
24945+ filename="gdk/gdkpopuplayout.c"
24946+ line="103">newly created instance of `GdkPopupLayout`</doc>
24947+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
24948+ </return-value>
24949+ <parameters>
24950+ <parameter name="anchor_rect" transfer-ownership="none">
24951+ <doc xml:space="preserve"
24952+ filename="gdk/gdkpopuplayout.c"
24953+ line="86">the anchor `GdkRectangle` to align @surface with</doc>
24954+ <type name="Rectangle" c:type="const GdkRectangle*"/>
24955+ </parameter>
24956+ <parameter name="rect_anchor" transfer-ownership="none">
24957+ <doc xml:space="preserve"
24958+ filename="gdk/gdkpopuplayout.c"
24959+ line="87">the point on @anchor_rect to align with @surface's anchor point</doc>
24960+ <type name="Gravity" c:type="GdkGravity"/>
24961+ </parameter>
24962+ <parameter name="surface_anchor" transfer-ownership="none">
24963+ <doc xml:space="preserve"
24964+ filename="gdk/gdkpopuplayout.c"
24965+ line="88">the point on @surface to align with @rect's anchor point</doc>
24966+ <type name="Gravity" c:type="GdkGravity"/>
24967+ </parameter>
24968+ </parameters>
24969+ </constructor>
24970+ <method name="copy" c:identifier="gdk_popup_layout_copy">
24971+ <doc xml:space="preserve"
24972+ filename="gdk/gdkpopuplayout.c"
24973+ line="149">Makes a copy of @layout.</doc>
24974+ <source-position filename="gdk/gdkpopuplayout.h" line="92"/>
24975+ <return-value transfer-ownership="full">
24976+ <doc xml:space="preserve"
24977+ filename="gdk/gdkpopuplayout.c"
24978+ line="155">a copy of @layout.</doc>
24979+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
24980+ </return-value>
24981+ <parameters>
24982+ <instance-parameter name="layout" transfer-ownership="none">
24983+ <doc xml:space="preserve"
24984+ filename="gdk/gdkpopuplayout.c"
24985+ line="151">a `GdkPopupLayout`</doc>
24986+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
24987+ </instance-parameter>
24988+ </parameters>
24989+ </method>
24990+ <method name="equal" c:identifier="gdk_popup_layout_equal">
24991+ <doc xml:space="preserve"
24992+ filename="gdk/gdkpopuplayout.c"
24993+ line="179">Check whether @layout and @other has identical layout properties.</doc>
24994+ <source-position filename="gdk/gdkpopuplayout.h" line="95"/>
24995+ <return-value transfer-ownership="none">
24996+ <doc xml:space="preserve"
24997+ filename="gdk/gdkpopuplayout.c"
24998+ line="186">%TRUE if @layout and @other have identical layout properties,
24999+ otherwise %FALSE.</doc>
25000+ <type name="gboolean" c:type="gboolean"/>
25001+ </return-value>
25002+ <parameters>
25003+ <instance-parameter name="layout" transfer-ownership="none">
25004+ <doc xml:space="preserve"
25005+ filename="gdk/gdkpopuplayout.c"
25006+ line="181">a `GdkPopupLayout`</doc>
25007+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25008+ </instance-parameter>
25009+ <parameter name="other" transfer-ownership="none">
25010+ <doc xml:space="preserve"
25011+ filename="gdk/gdkpopuplayout.c"
25012+ line="182">another `GdkPopupLayout`</doc>
25013+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25014+ </parameter>
25015+ </parameters>
25016+ </method>
25017+ <method name="get_anchor_hints"
25018+ c:identifier="gdk_popup_layout_get_anchor_hints">
25019+ <doc xml:space="preserve"
25020+ filename="gdk/gdkpopuplayout.c"
25021+ line="312">Get the `GdkAnchorHints`.</doc>
25022+ <source-position filename="gdk/gdkpopuplayout.h" line="124"/>
25023+ <return-value transfer-ownership="none">
25024+ <doc xml:space="preserve"
25025+ filename="gdk/gdkpopuplayout.c"
25026+ line="318">the `GdkAnchorHints`</doc>
25027+ <type name="AnchorHints" c:type="GdkAnchorHints"/>
25028+ </return-value>
25029+ <parameters>
25030+ <instance-parameter name="layout" transfer-ownership="none">
25031+ <doc xml:space="preserve"
25032+ filename="gdk/gdkpopuplayout.c"
25033+ line="314">a `GdkPopupLayout`</doc>
25034+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25035+ </instance-parameter>
25036+ </parameters>
25037+ </method>
25038+ <method name="get_anchor_rect"
25039+ c:identifier="gdk_popup_layout_get_anchor_rect">
25040+ <doc xml:space="preserve"
25041+ filename="gdk/gdkpopuplayout.c"
25042+ line="222">Get the anchor rectangle.</doc>
25043+ <source-position filename="gdk/gdkpopuplayout.h" line="103"/>
25044+ <return-value transfer-ownership="none">
25045+ <doc xml:space="preserve"
25046+ filename="gdk/gdkpopuplayout.c"
25047+ line="228">The anchor rectangle</doc>
25048+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25049+ </return-value>
25050+ <parameters>
25051+ <instance-parameter name="layout" transfer-ownership="none">
25052+ <doc xml:space="preserve"
25053+ filename="gdk/gdkpopuplayout.c"
25054+ line="224">a `GdkPopupLayout`</doc>
25055+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25056+ </instance-parameter>
25057+ </parameters>
25058+ </method>
25059+ <method name="get_offset" c:identifier="gdk_popup_layout_get_offset">
25060+ <doc xml:space="preserve"
25061+ filename="gdk/gdkpopuplayout.c"
25062+ line="343">Retrieves the offset for the anchor rectangle.</doc>
25063+ <source-position filename="gdk/gdkpopuplayout.h" line="132"/>
25064+ <return-value transfer-ownership="none">
25065+ <type name="none" c:type="void"/>
25066+ </return-value>
25067+ <parameters>
25068+ <instance-parameter name="layout" transfer-ownership="none">
25069+ <doc xml:space="preserve"
25070+ filename="gdk/gdkpopuplayout.c"
25071+ line="345">a `GdkPopupLayout`</doc>
25072+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25073+ </instance-parameter>
25074+ <parameter name="dx"
25075+ direction="out"
25076+ caller-allocates="0"
25077+ transfer-ownership="full">
25078+ <doc xml:space="preserve"
25079+ filename="gdk/gdkpopuplayout.c"
25080+ line="346">return location for the delta X coordinate</doc>
25081+ <type name="gint" c:type="int*"/>
25082+ </parameter>
25083+ <parameter name="dy"
25084+ direction="out"
25085+ caller-allocates="0"
25086+ transfer-ownership="full">
25087+ <doc xml:space="preserve"
25088+ filename="gdk/gdkpopuplayout.c"
25089+ line="347">return location for the delta Y coordinate</doc>
25090+ <type name="gint" c:type="int*"/>
25091+ </parameter>
25092+ </parameters>
25093+ </method>
25094+ <method name="get_rect_anchor"
25095+ c:identifier="gdk_popup_layout_get_rect_anchor">
25096+ <doc xml:space="preserve"
25097+ filename="gdk/gdkpopuplayout.c"
25098+ line="250">Returns the anchor position on the anchor rectangle.</doc>
25099+ <source-position filename="gdk/gdkpopuplayout.h" line="110"/>
25100+ <return-value transfer-ownership="none">
25101+ <doc xml:space="preserve"
25102+ filename="gdk/gdkpopuplayout.c"
25103+ line="256">the anchor on the anchor rectangle.</doc>
25104+ <type name="Gravity" c:type="GdkGravity"/>
25105+ </return-value>
25106+ <parameters>
25107+ <instance-parameter name="layout" transfer-ownership="none">
25108+ <doc xml:space="preserve"
25109+ filename="gdk/gdkpopuplayout.c"
25110+ line="252">a `GdkPopupLayout`</doc>
25111+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25112+ </instance-parameter>
25113+ </parameters>
25114+ </method>
25115+ <method name="get_shadow_width"
25116+ c:identifier="gdk_popup_layout_get_shadow_width"
25117+ version="4.2">
25118+ <doc xml:space="preserve"
25119+ filename="gdk/gdkpopuplayout.c"
25120+ line="391">Obtains the shadow widths of this layout.</doc>
25121+ <source-position filename="gdk/gdkpopuplayout.h" line="143"/>
25122+ <return-value transfer-ownership="none">
25123+ <type name="none" c:type="void"/>
25124+ </return-value>
25125+ <parameters>
25126+ <instance-parameter name="layout" transfer-ownership="none">
25127+ <doc xml:space="preserve"
25128+ filename="gdk/gdkpopuplayout.c"
25129+ line="393">a `GdkPopupLayout`</doc>
25130+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25131+ </instance-parameter>
25132+ <parameter name="left"
25133+ direction="out"
25134+ caller-allocates="0"
25135+ transfer-ownership="full">
25136+ <doc xml:space="preserve"
25137+ filename="gdk/gdkpopuplayout.c"
25138+ line="394">return location for the left shadow width</doc>
25139+ <type name="gint" c:type="int*"/>
25140+ </parameter>
25141+ <parameter name="right"
25142+ direction="out"
25143+ caller-allocates="0"
25144+ transfer-ownership="full">
25145+ <doc xml:space="preserve"
25146+ filename="gdk/gdkpopuplayout.c"
25147+ line="395">return location for the right shadow width</doc>
25148+ <type name="gint" c:type="int*"/>
25149+ </parameter>
25150+ <parameter name="top"
25151+ direction="out"
25152+ caller-allocates="0"
25153+ transfer-ownership="full">
25154+ <doc xml:space="preserve"
25155+ filename="gdk/gdkpopuplayout.c"
25156+ line="396">return location for the top shadow width</doc>
25157+ <type name="gint" c:type="int*"/>
25158+ </parameter>
25159+ <parameter name="bottom"
25160+ direction="out"
25161+ caller-allocates="0"
25162+ transfer-ownership="full">
25163+ <doc xml:space="preserve"
25164+ filename="gdk/gdkpopuplayout.c"
25165+ line="397">return location for the bottom shadow width</doc>
25166+ <type name="gint" c:type="int*"/>
25167+ </parameter>
25168+ </parameters>
25169+ </method>
25170+ <method name="get_surface_anchor"
25171+ c:identifier="gdk_popup_layout_get_surface_anchor">
25172+ <doc xml:space="preserve"
25173+ filename="gdk/gdkpopuplayout.c"
25174+ line="278">Returns the anchor position on the popup surface.</doc>
25175+ <source-position filename="gdk/gdkpopuplayout.h" line="117"/>
25176+ <return-value transfer-ownership="none">
25177+ <doc xml:space="preserve"
25178+ filename="gdk/gdkpopuplayout.c"
25179+ line="284">the anchor on the popup surface.</doc>
25180+ <type name="Gravity" c:type="GdkGravity"/>
25181+ </return-value>
25182+ <parameters>
25183+ <instance-parameter name="layout" transfer-ownership="none">
25184+ <doc xml:space="preserve"
25185+ filename="gdk/gdkpopuplayout.c"
25186+ line="280">a `GdkPopupLayout`</doc>
25187+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25188+ </instance-parameter>
25189+ </parameters>
25190+ </method>
25191+ <method name="ref" c:identifier="gdk_popup_layout_ref">
25192+ <doc xml:space="preserve"
25193+ filename="gdk/gdkpopuplayout.c"
25194+ line="121">Increases the reference count of @value.</doc>
25195+ <source-position filename="gdk/gdkpopuplayout.h" line="86"/>
25196+ <return-value transfer-ownership="full">
25197+ <doc xml:space="preserve"
25198+ filename="gdk/gdkpopuplayout.c"
25199+ line="127">the same @layout</doc>
25200+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25201+ </return-value>
25202+ <parameters>
25203+ <instance-parameter name="layout" transfer-ownership="none">
25204+ <doc xml:space="preserve"
25205+ filename="gdk/gdkpopuplayout.c"
25206+ line="123">a `GdkPopupLayout`</doc>
25207+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25208+ </instance-parameter>
25209+ </parameters>
25210+ </method>
25211+ <method name="set_anchor_hints"
25212+ c:identifier="gdk_popup_layout_set_anchor_hints">
25213+ <doc xml:space="preserve"
25214+ filename="gdk/gdkpopuplayout.c"
25215+ line="292">Set new anchor hints.
25216+
25217+The set @anchor_hints determines how @surface will be moved
25218+if the anchor points cause it to move off-screen. For example,
25219+%GDK_ANCHOR_FLIP_X will replace %GDK_GRAVITY_NORTH_WEST with
25220+%GDK_GRAVITY_NORTH_EAST and vice versa if @surface extends
25221+beyond the left or right edges of the monitor.</doc>
25222+ <source-position filename="gdk/gdkpopuplayout.h" line="120"/>
25223+ <return-value transfer-ownership="none">
25224+ <type name="none" c:type="void"/>
25225+ </return-value>
25226+ <parameters>
25227+ <instance-parameter name="layout" transfer-ownership="none">
25228+ <doc xml:space="preserve"
25229+ filename="gdk/gdkpopuplayout.c"
25230+ line="294">a `GdkPopupLayout`</doc>
25231+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25232+ </instance-parameter>
25233+ <parameter name="anchor_hints" transfer-ownership="none">
25234+ <doc xml:space="preserve"
25235+ filename="gdk/gdkpopuplayout.c"
25236+ line="295">the new `GdkAnchorHints`</doc>
25237+ <type name="AnchorHints" c:type="GdkAnchorHints"/>
25238+ </parameter>
25239+ </parameters>
25240+ </method>
25241+ <method name="set_anchor_rect"
25242+ c:identifier="gdk_popup_layout_set_anchor_rect">
25243+ <doc xml:space="preserve"
25244+ filename="gdk/gdkpopuplayout.c"
25245+ line="208">Set the anchor rectangle.</doc>
25246+ <source-position filename="gdk/gdkpopuplayout.h" line="99"/>
25247+ <return-value transfer-ownership="none">
25248+ <type name="none" c:type="void"/>
25249+ </return-value>
25250+ <parameters>
25251+ <instance-parameter name="layout" transfer-ownership="none">
25252+ <doc xml:space="preserve"
25253+ filename="gdk/gdkpopuplayout.c"
25254+ line="210">a `GdkPopupLayout`</doc>
25255+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25256+ </instance-parameter>
25257+ <parameter name="anchor_rect" transfer-ownership="none">
25258+ <doc xml:space="preserve"
25259+ filename="gdk/gdkpopuplayout.c"
25260+ line="211">the new anchor rectangle</doc>
25261+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25262+ </parameter>
25263+ </parameters>
25264+ </method>
25265+ <method name="set_offset" c:identifier="gdk_popup_layout_set_offset">
25266+ <doc xml:space="preserve"
25267+ filename="gdk/gdkpopuplayout.c"
25268+ line="326">Offset the position of the anchor rectangle with the given delta.</doc>
25269+ <source-position filename="gdk/gdkpopuplayout.h" line="127"/>
25270+ <return-value transfer-ownership="none">
25271+ <type name="none" c:type="void"/>
25272+ </return-value>
25273+ <parameters>
25274+ <instance-parameter name="layout" transfer-ownership="none">
25275+ <doc xml:space="preserve"
25276+ filename="gdk/gdkpopuplayout.c"
25277+ line="328">a `GdkPopupLayout`</doc>
25278+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25279+ </instance-parameter>
25280+ <parameter name="dx" transfer-ownership="none">
25281+ <doc xml:space="preserve"
25282+ filename="gdk/gdkpopuplayout.c"
25283+ line="329">x delta to offset the anchor rectangle with</doc>
25284+ <type name="gint" c:type="int"/>
25285+ </parameter>
25286+ <parameter name="dy" transfer-ownership="none">
25287+ <doc xml:space="preserve"
25288+ filename="gdk/gdkpopuplayout.c"
25289+ line="330">y delta to offset the anchor rectangle with</doc>
25290+ <type name="gint" c:type="int"/>
25291+ </parameter>
25292+ </parameters>
25293+ </method>
25294+ <method name="set_rect_anchor"
25295+ c:identifier="gdk_popup_layout_set_rect_anchor">
25296+ <doc xml:space="preserve"
25297+ filename="gdk/gdkpopuplayout.c"
25298+ line="236">Set the anchor on the anchor rectangle.</doc>
25299+ <source-position filename="gdk/gdkpopuplayout.h" line="106"/>
25300+ <return-value transfer-ownership="none">
25301+ <type name="none" c:type="void"/>
25302+ </return-value>
25303+ <parameters>
25304+ <instance-parameter name="layout" transfer-ownership="none">
25305+ <doc xml:space="preserve"
25306+ filename="gdk/gdkpopuplayout.c"
25307+ line="238">a `GdkPopupLayout`</doc>
25308+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25309+ </instance-parameter>
25310+ <parameter name="anchor" transfer-ownership="none">
25311+ <doc xml:space="preserve"
25312+ filename="gdk/gdkpopuplayout.c"
25313+ line="239">the new rect anchor</doc>
25314+ <type name="Gravity" c:type="GdkGravity"/>
25315+ </parameter>
25316+ </parameters>
25317+ </method>
25318+ <method name="set_shadow_width"
25319+ c:identifier="gdk_popup_layout_set_shadow_width"
25320+ version="4.2">
25321+ <doc xml:space="preserve"
25322+ filename="gdk/gdkpopuplayout.c"
25323+ line="362">Sets the shadow width of the popup.
25324+
25325+The shadow width corresponds to the part of the computed
25326+surface size that would consist of the shadow margin
25327+surrounding the window, would there be any.</doc>
25328+ <source-position filename="gdk/gdkpopuplayout.h" line="137"/>
25329+ <return-value transfer-ownership="none">
25330+ <type name="none" c:type="void"/>
25331+ </return-value>
25332+ <parameters>
25333+ <instance-parameter name="layout" transfer-ownership="none">
25334+ <doc xml:space="preserve"
25335+ filename="gdk/gdkpopuplayout.c"
25336+ line="364">a `GdkPopupLayout`</doc>
25337+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25338+ </instance-parameter>
25339+ <parameter name="left" transfer-ownership="none">
25340+ <doc xml:space="preserve"
25341+ filename="gdk/gdkpopuplayout.c"
25342+ line="365">width of the left part of the shadow</doc>
25343+ <type name="gint" c:type="int"/>
25344+ </parameter>
25345+ <parameter name="right" transfer-ownership="none">
25346+ <doc xml:space="preserve"
25347+ filename="gdk/gdkpopuplayout.c"
25348+ line="366">width of the right part of the shadow</doc>
25349+ <type name="gint" c:type="int"/>
25350+ </parameter>
25351+ <parameter name="top" transfer-ownership="none">
25352+ <doc xml:space="preserve"
25353+ filename="gdk/gdkpopuplayout.c"
25354+ line="367">height of the top part of the shadow</doc>
25355+ <type name="gint" c:type="int"/>
25356+ </parameter>
25357+ <parameter name="bottom" transfer-ownership="none">
25358+ <doc xml:space="preserve"
25359+ filename="gdk/gdkpopuplayout.c"
25360+ line="368">height of the bottom part of the shadow</doc>
25361+ <type name="gint" c:type="int"/>
25362+ </parameter>
25363+ </parameters>
25364+ </method>
25365+ <method name="set_surface_anchor"
25366+ c:identifier="gdk_popup_layout_set_surface_anchor">
25367+ <doc xml:space="preserve"
25368+ filename="gdk/gdkpopuplayout.c"
25369+ line="264">Set the anchor on the popup surface.</doc>
25370+ <source-position filename="gdk/gdkpopuplayout.h" line="113"/>
25371+ <return-value transfer-ownership="none">
25372+ <type name="none" c:type="void"/>
25373+ </return-value>
25374+ <parameters>
25375+ <instance-parameter name="layout" transfer-ownership="none">
25376+ <doc xml:space="preserve"
25377+ filename="gdk/gdkpopuplayout.c"
25378+ line="266">a `GdkPopupLayout`</doc>
25379+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25380+ </instance-parameter>
25381+ <parameter name="anchor" transfer-ownership="none">
25382+ <doc xml:space="preserve"
25383+ filename="gdk/gdkpopuplayout.c"
25384+ line="267">the new popup surface anchor</doc>
25385+ <type name="Gravity" c:type="GdkGravity"/>
25386+ </parameter>
25387+ </parameters>
25388+ </method>
25389+ <method name="unref" c:identifier="gdk_popup_layout_unref">
25390+ <doc xml:space="preserve"
25391+ filename="gdk/gdkpopuplayout.c"
25392+ line="136">Decreases the reference count of @value.</doc>
25393+ <source-position filename="gdk/gdkpopuplayout.h" line="89"/>
25394+ <return-value transfer-ownership="none">
25395+ <type name="none" c:type="void"/>
25396+ </return-value>
25397+ <parameters>
25398+ <instance-parameter name="layout" transfer-ownership="none">
25399+ <doc xml:space="preserve"
25400+ filename="gdk/gdkpopuplayout.c"
25401+ line="138">a `GdkPopupLayout`</doc>
25402+ <type name="PopupLayout" c:type="GdkPopupLayout*"/>
25403+ </instance-parameter>
25404+ </parameters>
25405+ </method>
25406+ </record>
25407+ <class name="ProximityEvent"
25408+ c:symbol-prefix="proximity_event"
25409+ c:type="GdkProximityEvent"
25410+ parent="Event"
25411+ glib:type-name="GdkProximityEvent"
25412+ glib:get-type="gdk_proximity_event_get_type"
25413+ glib:fundamental="1">
25414+ <doc xml:space="preserve"
25415+ filename="gdk/gdkevents.c"
25416+ line="3198">An event related to the proximity of a tool to a device.</doc>
25417+ </class>
25418+ <record name="RGBA"
25419+ c:type="GdkRGBA"
25420+ glib:type-name="GdkRGBA"
25421+ glib:get-type="gdk_rgba_get_type"
25422+ c:symbol-prefix="rgba">
25423+ <doc xml:space="preserve"
25424+ filename="gdk/gdkrgba.c"
25425+ line="38">A `GdkRGBA` is used to represent a color, in a way that is compatible
25426+with cairo’s notion of color.
25427+
25428+`GdkRGBA` is a convenient way to pass colors around. It’s based on
25429+cairo’s way to deal with colors and mirrors its behavior. All values
25430+are in the range from 0.0 to 1.0 inclusive. So the color
25431+(0.0, 0.0, 0.0, 0.0) represents transparent black and
25432+(1.0, 1.0, 1.0, 1.0) is opaque white. Other values will
25433+be clamped to this range when drawing.</doc>
25434+ <source-position filename="gdk/gdkrgba.h" line="43"/>
25435+ <field name="red" writable="1">
25436+ <doc xml:space="preserve"
25437+ filename="gdk/gdkrgba.c"
25438+ line="40">The intensity of the red channel from 0.0 to 1.0 inclusive</doc>
25439+ <type name="gfloat" c:type="float"/>
25440+ </field>
25441+ <field name="green" writable="1">
25442+ <doc xml:space="preserve"
25443+ filename="gdk/gdkrgba.c"
25444+ line="41">The intensity of the green channel from 0.0 to 1.0 inclusive</doc>
25445+ <type name="gfloat" c:type="float"/>
25446+ </field>
25447+ <field name="blue" writable="1">
25448+ <doc xml:space="preserve"
25449+ filename="gdk/gdkrgba.c"
25450+ line="42">The intensity of the blue channel from 0.0 to 1.0 inclusive</doc>
25451+ <type name="gfloat" c:type="float"/>
25452+ </field>
25453+ <field name="alpha" writable="1">
25454+ <doc xml:space="preserve"
25455+ filename="gdk/gdkrgba.c"
25456+ line="43">The opacity of the color from 0.0 for completely translucent to
25457+ 1.0 for opaque</doc>
25458+ <type name="gfloat" c:type="float"/>
25459+ </field>
25460+ <method name="copy" c:identifier="gdk_rgba_copy">
25461+ <doc xml:space="preserve"
25462+ filename="gdk/gdkrgba.c"
25463+ line="57">Makes a copy of a `GdkRGBA`.
25464+
25465+The result must be freed through [method@Gdk.RGBA.free].</doc>
25466+ <source-position filename="gdk/gdkrgba.h" line="51"/>
25467+ <return-value transfer-ownership="full">
25468+ <doc xml:space="preserve"
25469+ filename="gdk/gdkrgba.c"
25470+ line="65">A newly allocated `GdkRGBA`, with the same contents as @rgba</doc>
25471+ <type name="RGBA" c:type="GdkRGBA*"/>
25472+ </return-value>
25473+ <parameters>
25474+ <instance-parameter name="rgba" transfer-ownership="none">
25475+ <doc xml:space="preserve"
25476+ filename="gdk/gdkrgba.c"
25477+ line="59">a `GdkRGBA`</doc>
25478+ <type name="RGBA" c:type="const GdkRGBA*"/>
25479+ </instance-parameter>
25480+ </parameters>
25481+ </method>
25482+ <method name="equal" c:identifier="gdk_rgba_equal">
25483+ <doc xml:space="preserve"
25484+ filename="gdk/gdkrgba.c"
25485+ line="354">Compares two `GdkRGBA` colors.</doc>
25486+ <source-position filename="gdk/gdkrgba.h" line="63"/>
25487+ <return-value transfer-ownership="none">
25488+ <doc xml:space="preserve"
25489+ filename="gdk/gdkrgba.c"
25490+ line="361">%TRUE if the two colors compare equal</doc>
25491+ <type name="gboolean" c:type="gboolean"/>
25492+ </return-value>
25493+ <parameters>
25494+ <instance-parameter name="p1" transfer-ownership="none">
25495+ <doc xml:space="preserve"
25496+ filename="gdk/gdkrgba.c"
25497+ line="356">a `GdkRGBA`</doc>
25498+ <type name="RGBA" c:type="gconstpointer"/>
25499+ </instance-parameter>
25500+ <parameter name="p2" transfer-ownership="none">
25501+ <doc xml:space="preserve"
25502+ filename="gdk/gdkrgba.c"
25503+ line="357">another `GdkRGBA`</doc>
25504+ <type name="RGBA" c:type="gconstpointer"/>
25505+ </parameter>
25506+ </parameters>
25507+ </method>
25508+ <method name="free" c:identifier="gdk_rgba_free">
25509+ <doc xml:space="preserve"
25510+ filename="gdk/gdkrgba.c"
25511+ line="73">Frees a `GdkRGBA`.</doc>
25512+ <source-position filename="gdk/gdkrgba.h" line="53"/>
25513+ <return-value transfer-ownership="none">
25514+ <type name="none" c:type="void"/>
25515+ </return-value>
25516+ <parameters>
25517+ <instance-parameter name="rgba" transfer-ownership="none">
25518+ <doc xml:space="preserve"
25519+ filename="gdk/gdkrgba.c"
25520+ line="75">a `GdkRGBA`</doc>
25521+ <type name="RGBA" c:type="GdkRGBA*"/>
25522+ </instance-parameter>
25523+ </parameters>
25524+ </method>
25525+ <method name="hash" c:identifier="gdk_rgba_hash">
25526+ <doc xml:space="preserve"
25527+ filename="gdk/gdkrgba.c"
25528+ line="334">A hash function suitable for using for a hash
25529+table that stores `GdkRGBA`s.</doc>
25530+ <source-position filename="gdk/gdkrgba.h" line="61"/>
25531+ <return-value transfer-ownership="none">
25532+ <doc xml:space="preserve"
25533+ filename="gdk/gdkrgba.c"
25534+ line="341">The hash value for @p</doc>
25535+ <type name="guint" c:type="guint"/>
25536+ </return-value>
25537+ <parameters>
25538+ <instance-parameter name="p" transfer-ownership="none">
25539+ <doc xml:space="preserve"
25540+ filename="gdk/gdkrgba.c"
25541+ line="336">a `GdkRGBA`</doc>
25542+ <type name="RGBA" c:type="gconstpointer"/>
25543+ </instance-parameter>
25544+ </parameters>
25545+ </method>
25546+ <method name="is_clear" c:identifier="gdk_rgba_is_clear">
25547+ <doc xml:space="preserve"
25548+ filename="gdk/gdkrgba.c"
25549+ line="85">Checks if an @rgba value is transparent.
25550+
25551+That is, drawing with the value would not produce any change.</doc>
25552+ <source-position filename="gdk/gdkrgba.h" line="56"/>
25553+ <return-value transfer-ownership="none">
25554+ <doc xml:space="preserve"
25555+ filename="gdk/gdkrgba.c"
25556+ line="93">%TRUE if the @rgba is clear</doc>
25557+ <type name="gboolean" c:type="gboolean"/>
25558+ </return-value>
25559+ <parameters>
25560+ <instance-parameter name="rgba" transfer-ownership="none">
25561+ <doc xml:space="preserve"
25562+ filename="gdk/gdkrgba.c"
25563+ line="87">a `GdkRGBA`</doc>
25564+ <type name="RGBA" c:type="const GdkRGBA*"/>
25565+ </instance-parameter>
25566+ </parameters>
25567+ </method>
25568+ <method name="is_opaque" c:identifier="gdk_rgba_is_opaque">
25569+ <doc xml:space="preserve"
25570+ filename="gdk/gdkrgba.c"
25571+ line="101">Checks if an @rgba value is opaque.
25572+
25573+That is, drawing with the value will not retain any results
25574+from previous contents.</doc>
25575+ <source-position filename="gdk/gdkrgba.h" line="58"/>
25576+ <return-value transfer-ownership="none">
25577+ <doc xml:space="preserve"
25578+ filename="gdk/gdkrgba.c"
25579+ line="110">%TRUE if the @rgba is opaque</doc>
25580+ <type name="gboolean" c:type="gboolean"/>
25581+ </return-value>
25582+ <parameters>
25583+ <instance-parameter name="rgba" transfer-ownership="none">
25584+ <doc xml:space="preserve"
25585+ filename="gdk/gdkrgba.c"
25586+ line="103">a `GdkRGBA`</doc>
25587+ <type name="RGBA" c:type="const GdkRGBA*"/>
25588+ </instance-parameter>
25589+ </parameters>
25590+ </method>
25591+ <method name="parse" c:identifier="gdk_rgba_parse">
25592+ <doc xml:space="preserve"
25593+ filename="gdk/gdkrgba.c"
25594+ line="159">Parses a textual representation of a color.
25595+
25596+The string can be either one of:
25597+
25598+- A standard name (Taken from the Css specification).
25599+- A hexadecimal value in the form “\#rgb”, “\#rrggbb”,
25600+ “\#rrrgggbbb” or ”\#rrrrggggbbbb”
25601+- A hexadecimal value in the form “\#rgba”, “\#rrggbbaa”,
25602+ or ”\#rrrrggggbbbbaaaa”
25603+- A RGB color in the form “rgb(r,g,b)” (In this case the color
25604+ will have full opacity)
25605+- A RGBA color in the form “rgba(r,g,b,a)”
25606+
25607+Where “r”, “g”, “b” and “a” are respectively the red, green,
25608+blue and alpha color values. In the last two cases, “r”, “g”,
25609+and “b” are either integers in the range 0 to 255 or percentage
25610+values in the range 0% to 100%, and a is a floating point value
25611+in the range 0 to 1.</doc>
25612+ <source-position filename="gdk/gdkrgba.h" line="67"/>
25613+ <return-value transfer-ownership="none">
25614+ <doc xml:space="preserve"
25615+ filename="gdk/gdkrgba.c"
25616+ line="183">%TRUE if the parsing succeeded</doc>
25617+ <type name="gboolean" c:type="gboolean"/>
25618+ </return-value>
25619+ <parameters>
25620+ <instance-parameter name="rgba" transfer-ownership="none">
25621+ <doc xml:space="preserve"
25622+ filename="gdk/gdkrgba.c"
25623+ line="161">the `GdkRGBA` to fill in</doc>
25624+ <type name="RGBA" c:type="GdkRGBA*"/>
25625+ </instance-parameter>
25626+ <parameter name="spec" transfer-ownership="none">
25627+ <doc xml:space="preserve"
25628+ filename="gdk/gdkrgba.c"
25629+ line="162">the string specifying the color</doc>
25630+ <type name="utf8" c:type="const char*"/>
25631+ </parameter>
25632+ </parameters>
25633+ </method>
25634+ <method name="to_string" c:identifier="gdk_rgba_to_string">
25635+ <doc xml:space="preserve"
25636+ filename="gdk/gdkrgba.c"
25637+ line="381">Returns a textual specification of @rgba in the form
25638+`rgb(r,g,b)` or `rgba(r,g,b,a)`, where “r”, “g”, “b” and
25639+“a” represent the red, green, blue and alpha values
25640+respectively. “r”, “g”, and “b” are represented as integers
25641+in the range 0 to 255, and “a” is represented as a floating
25642+point value in the range 0 to 1.
25643+
25644+These string forms are string forms that are supported by
25645+the CSS3 colors module, and can be parsed by [method@Gdk.RGBA.parse].
25646+
25647+Note that this string representation may lose some precision,
25648+since “r”, “g” and “b” are represented as 8-bit integers. If
25649+this is a concern, you should use a different representation.</doc>
25650+ <source-position filename="gdk/gdkrgba.h" line="70"/>
25651+ <return-value transfer-ownership="full">
25652+ <doc xml:space="preserve"
25653+ filename="gdk/gdkrgba.c"
25654+ line="399">A newly allocated text string</doc>
25655+ <type name="utf8" c:type="char*"/>
25656+ </return-value>
25657+ <parameters>
25658+ <instance-parameter name="rgba" transfer-ownership="none">
25659+ <doc xml:space="preserve"
25660+ filename="gdk/gdkrgba.c"
25661+ line="383">a `GdkRGBA`</doc>
25662+ <type name="RGBA" c:type="const GdkRGBA*"/>
25663+ </instance-parameter>
25664+ </parameters>
25665+ </method>
25666+ </record>
25667+ <record name="Rectangle"
25668+ c:type="GdkRectangle"
25669+ glib:type-name="GdkRectangle"
25670+ glib:get-type="gdk_rectangle_get_type"
25671+ c:symbol-prefix="rectangle">
25672+ <doc xml:space="preserve"
25673+ filename="gdk/gdkrectangle.c"
25674+ line="31">A `GdkRectangle` data type for representing rectangles.
25675+
25676+`GdkRectangle` is identical to `cairo_rectangle_t`. Together with Cairo’s
25677+`cairo_region_t` data type, these are the central types for representing
25678+sets of pixels.
25679+
25680+The intersection of two rectangles can be computed with
25681+[method@Gdk.Rectangle.intersect]; to find the union of two rectangles use
25682+[method@Gdk.Rectangle.union].
25683+
25684+The `cairo_region_t` type provided by Cairo is usually used for managing
25685+non-rectangular clipping of graphical operations.
25686+
25687+The Graphene library has a number of other data types for regions and
25688+volumes in 2D and 3D.</doc>
25689+ <source-position filename="gdk/gdktypes.h" line="68"/>
25690+ <field name="x" writable="1">
25691+ <doc xml:space="preserve"
25692+ filename="gdk/gdkrectangle.c"
25693+ line="33">the x coordinate of the top left corner</doc>
25694+ <type name="gint" c:type="int"/>
25695+ </field>
25696+ <field name="y" writable="1">
25697+ <doc xml:space="preserve"
25698+ filename="gdk/gdkrectangle.c"
25699+ line="34">the y coordinate of the top left corner</doc>
25700+ <type name="gint" c:type="int"/>
25701+ </field>
25702+ <field name="width" writable="1">
25703+ <doc xml:space="preserve"
25704+ filename="gdk/gdkrectangle.c"
25705+ line="35">the width of the rectangle</doc>
25706+ <type name="gint" c:type="int"/>
25707+ </field>
25708+ <field name="height" writable="1">
25709+ <doc xml:space="preserve"
25710+ filename="gdk/gdkrectangle.c"
25711+ line="36">the height of the rectangle</doc>
25712+ <type name="gint" c:type="int"/>
25713+ </field>
25714+ <method name="contains_point"
25715+ c:identifier="gdk_rectangle_contains_point">
25716+ <doc xml:space="preserve"
25717+ filename="gdk/gdkrectangle.c"
25718+ line="146">Returns %TRUE if @rect contains the point described by @x and @y.</doc>
25719+ <source-position filename="gdk/gdkrectangle.h" line="53"/>
25720+ <return-value transfer-ownership="none">
25721+ <doc xml:space="preserve"
25722+ filename="gdk/gdkrectangle.c"
25723+ line="154">%TRUE if @rect contains the point</doc>
25724+ <type name="gboolean" c:type="gboolean"/>
25725+ </return-value>
25726+ <parameters>
25727+ <instance-parameter name="rect" transfer-ownership="none">
25728+ <doc xml:space="preserve"
25729+ filename="gdk/gdkrectangle.c"
25730+ line="148">a `GdkRectangle`</doc>
25731+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25732+ </instance-parameter>
25733+ <parameter name="x" transfer-ownership="none">
25734+ <doc xml:space="preserve"
25735+ filename="gdk/gdkrectangle.c"
25736+ line="149">X coordinate</doc>
25737+ <type name="gint" c:type="int"/>
25738+ </parameter>
25739+ <parameter name="y" transfer-ownership="none">
25740+ <doc xml:space="preserve"
25741+ filename="gdk/gdkrectangle.c"
25742+ line="150">Y coordinate</doc>
25743+ <type name="gint" c:type="int"/>
25744+ </parameter>
25745+ </parameters>
25746+ </method>
25747+ <method name="equal" c:identifier="gdk_rectangle_equal">
25748+ <doc xml:space="preserve"
25749+ filename="gdk/gdkrectangle.c"
25750+ line="169">Checks if the two given rectangles are equal.</doc>
25751+ <source-position filename="gdk/gdkrectangle.h" line="49"/>
25752+ <return-value transfer-ownership="none">
25753+ <doc xml:space="preserve"
25754+ filename="gdk/gdkrectangle.c"
25755+ line="176">%TRUE if the rectangles are equal.</doc>
25756+ <type name="gboolean" c:type="gboolean"/>
25757+ </return-value>
25758+ <parameters>
25759+ <instance-parameter name="rect1" transfer-ownership="none">
25760+ <doc xml:space="preserve"
25761+ filename="gdk/gdkrectangle.c"
25762+ line="171">a `GdkRectangle`</doc>
25763+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25764+ </instance-parameter>
25765+ <parameter name="rect2" transfer-ownership="none">
25766+ <doc xml:space="preserve"
25767+ filename="gdk/gdkrectangle.c"
25768+ line="172">a `GdkRectangle`</doc>
25769+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25770+ </parameter>
25771+ </parameters>
25772+ </method>
25773+ <method name="intersect" c:identifier="gdk_rectangle_intersect">
25774+ <doc xml:space="preserve"
25775+ filename="gdk/gdkrectangle.c"
25776+ line="90">Calculates the intersection of two rectangles.
25777+
25778+It is allowed for @dest to be the same as either @src1 or @src2.
25779+If the rectangles do not intersect, @dest’s width and height is set
25780+to 0 and its x and y values are undefined. If you are only interested
25781+in whether the rectangles intersect, but not in the intersecting area
25782+itself, pass %NULL for @dest.</doc>
25783+ <source-position filename="gdk/gdkrectangle.h" line="40"/>
25784+ <return-value transfer-ownership="none">
25785+ <doc xml:space="preserve"
25786+ filename="gdk/gdkrectangle.c"
25787+ line="105">%TRUE if the rectangles intersect.</doc>
25788+ <type name="gboolean" c:type="gboolean"/>
25789+ </return-value>
25790+ <parameters>
25791+ <instance-parameter name="src1" transfer-ownership="none">
25792+ <doc xml:space="preserve"
25793+ filename="gdk/gdkrectangle.c"
25794+ line="92">a `GdkRectangle`</doc>
25795+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25796+ </instance-parameter>
25797+ <parameter name="src2" transfer-ownership="none">
25798+ <doc xml:space="preserve"
25799+ filename="gdk/gdkrectangle.c"
25800+ line="93">a `GdkRectangle`</doc>
25801+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25802+ </parameter>
25803+ <parameter name="dest"
25804+ direction="out"
25805+ caller-allocates="1"
25806+ transfer-ownership="none"
25807+ optional="1"
25808+ allow-none="1">
25809+ <doc xml:space="preserve"
25810+ filename="gdk/gdkrectangle.c"
25811+ line="94">return location for the
25812+ intersection of @src1 and @src2</doc>
25813+ <type name="Rectangle" c:type="GdkRectangle*"/>
25814+ </parameter>
25815+ </parameters>
25816+ </method>
25817+ <method name="union" c:identifier="gdk_rectangle_union">
25818+ <doc xml:space="preserve"
25819+ filename="gdk/gdkrectangle.c"
25820+ line="56">Calculates the union of two rectangles.
25821+
25822+The union of rectangles @src1 and @src2 is the smallest rectangle which
25823+includes both @src1 and @src2 within it. It is allowed for @dest to be
25824+the same as either @src1 or @src2.
25825+
25826+Note that this function does not ignore 'empty' rectangles (ie. with
25827+zero width or height).</doc>
25828+ <source-position filename="gdk/gdkrectangle.h" line="44"/>
25829+ <return-value transfer-ownership="none">
25830+ <type name="none" c:type="void"/>
25831+ </return-value>
25832+ <parameters>
25833+ <instance-parameter name="src1" transfer-ownership="none">
25834+ <doc xml:space="preserve"
25835+ filename="gdk/gdkrectangle.c"
25836+ line="58">a `GdkRectangle`</doc>
25837+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25838+ </instance-parameter>
25839+ <parameter name="src2" transfer-ownership="none">
25840+ <doc xml:space="preserve"
25841+ filename="gdk/gdkrectangle.c"
25842+ line="59">a `GdkRectangle`</doc>
25843+ <type name="Rectangle" c:type="const GdkRectangle*"/>
25844+ </parameter>
25845+ <parameter name="dest"
25846+ direction="out"
25847+ caller-allocates="1"
25848+ transfer-ownership="none">
25849+ <doc xml:space="preserve"
25850+ filename="gdk/gdkrectangle.c"
25851+ line="60">return location for the union of @src1 and @src2</doc>
25852+ <type name="Rectangle" c:type="GdkRectangle*"/>
25853+ </parameter>
25854+ </parameters>
25855+ </method>
25856+ </record>
25857+ <function-macro name="SEAT" c:identifier="GDK_SEAT" introspectable="0">
25858+ <source-position filename="gdk/gdkseat.h" line="35"/>
25859+ <parameters>
25860+ <parameter name="o">
25861+ </parameter>
25862+ </parameters>
25863+ </function-macro>
25864+ <function-macro name="SNAPSHOT"
25865+ c:identifier="GDK_SNAPSHOT"
25866+ introspectable="0">
25867+ <source-position filename="gdk/gdksnapshot.h" line="36"/>
25868+ <parameters>
25869+ <parameter name="obj">
25870+ </parameter>
25871+ </parameters>
25872+ </function-macro>
25873+ <function-macro name="SURFACE"
25874+ c:identifier="GDK_SURFACE"
25875+ introspectable="0">
25876+ <source-position filename="gdk/gdksurface.h" line="44"/>
25877+ <parameters>
25878+ <parameter name="object">
25879+ </parameter>
25880+ </parameters>
25881+ </function-macro>
25882+ <function-macro name="SURFACE_CLASS"
25883+ c:identifier="GDK_SURFACE_CLASS"
25884+ introspectable="0">
25885+ <source-position filename="gdk/gdksurface.h" line="45"/>
25886+ <parameters>
25887+ <parameter name="klass">
25888+ </parameter>
25889+ </parameters>
25890+ </function-macro>
25891+ <function-macro name="SURFACE_GET_CLASS"
25892+ c:identifier="GDK_SURFACE_GET_CLASS"
25893+ introspectable="0">
25894+ <source-position filename="gdk/gdksurface.h" line="48"/>
25895+ <parameters>
25896+ <parameter name="obj">
25897+ </parameter>
25898+ </parameters>
25899+ </function-macro>
25900+ <enumeration name="ScrollDirection"
25901+ glib:type-name="GdkScrollDirection"
25902+ glib:get-type="gdk_scroll_direction_get_type"
25903+ c:type="GdkScrollDirection">
25904+ <doc xml:space="preserve"
25905+ filename="gdk/gdkevents.h"
25906+ line="247">Specifies the direction for scroll events.</doc>
25907+ <member name="up"
25908+ value="0"
25909+ c:identifier="GDK_SCROLL_UP"
25910+ glib:nick="up"
25911+ glib:name="GDK_SCROLL_UP">
25912+ <doc xml:space="preserve"
25913+ filename="gdk/gdkevents.h"
25914+ line="249">the surface is scrolled up.</doc>
25915+ </member>
25916+ <member name="down"
25917+ value="1"
25918+ c:identifier="GDK_SCROLL_DOWN"
25919+ glib:nick="down"
25920+ glib:name="GDK_SCROLL_DOWN">
25921+ <doc xml:space="preserve"
25922+ filename="gdk/gdkevents.h"
25923+ line="250">the surface is scrolled down.</doc>
25924+ </member>
25925+ <member name="left"
25926+ value="2"
25927+ c:identifier="GDK_SCROLL_LEFT"
25928+ glib:nick="left"
25929+ glib:name="GDK_SCROLL_LEFT">
25930+ <doc xml:space="preserve"
25931+ filename="gdk/gdkevents.h"
25932+ line="251">the surface is scrolled to the left.</doc>
25933+ </member>
25934+ <member name="right"
25935+ value="3"
25936+ c:identifier="GDK_SCROLL_RIGHT"
25937+ glib:nick="right"
25938+ glib:name="GDK_SCROLL_RIGHT">
25939+ <doc xml:space="preserve"
25940+ filename="gdk/gdkevents.h"
25941+ line="252">the surface is scrolled to the right.</doc>
25942+ </member>
25943+ <member name="smooth"
25944+ value="4"
25945+ c:identifier="GDK_SCROLL_SMOOTH"
25946+ glib:nick="smooth"
25947+ glib:name="GDK_SCROLL_SMOOTH">
25948+ <doc xml:space="preserve"
25949+ filename="gdk/gdkevents.h"
25950+ line="253">the scrolling is determined by the delta values
25951+ in scroll events. See gdk_scroll_event_get_deltas()</doc>
25952+ </member>
25953+ </enumeration>
25954+ <class name="ScrollEvent"
25955+ c:symbol-prefix="scroll_event"
25956+ c:type="GdkScrollEvent"
25957+ parent="Event"
25958+ glib:type-name="GdkScrollEvent"
25959+ glib:get-type="gdk_scroll_event_get_type"
25960+ glib:fundamental="1">
25961+ <doc xml:space="preserve"
25962+ filename="gdk/gdkevents.c"
25963+ line="2344">An event related to a scrolling motion.</doc>
25964+ <method name="get_deltas" c:identifier="gdk_scroll_event_get_deltas">
25965+ <doc xml:space="preserve"
25966+ filename="gdk/gdkevents.c"
25967+ line="2519">Extracts the scroll deltas of a scroll event.
25968+
25969+The deltas will be zero unless the scroll direction
25970+is %GDK_SCROLL_SMOOTH.
25971+
25972+For the representation unit of these deltas, see
25973+[method@Gdk.ScrollEvent.get_unit].</doc>
25974+ <source-position filename="gdk/gdkevents.h" line="425"/>
25975+ <return-value transfer-ownership="none">
25976+ <type name="none" c:type="void"/>
25977+ </return-value>
25978+ <parameters>
25979+ <instance-parameter name="event" transfer-ownership="none">
25980+ <doc xml:space="preserve"
25981+ filename="gdk/gdkevents.c"
25982+ line="2521">a scroll event</doc>
25983+ <type name="ScrollEvent" c:type="GdkEvent*"/>
25984+ </instance-parameter>
25985+ <parameter name="delta_x"
25986+ direction="out"
25987+ caller-allocates="0"
25988+ transfer-ownership="full">
25989+ <doc xml:space="preserve"
25990+ filename="gdk/gdkevents.c"
25991+ line="2522">return location for x scroll delta</doc>
25992+ <type name="gdouble" c:type="double*"/>
25993+ </parameter>
25994+ <parameter name="delta_y"
25995+ direction="out"
25996+ caller-allocates="0"
25997+ transfer-ownership="full">
25998+ <doc xml:space="preserve"
25999+ filename="gdk/gdkevents.c"
26000+ line="2523">return location for y scroll delta</doc>
26001+ <type name="gdouble" c:type="double*"/>
26002+ </parameter>
26003+ </parameters>
26004+ </method>
26005+ <method name="get_direction"
26006+ c:identifier="gdk_scroll_event_get_direction">
26007+ <doc xml:space="preserve"
26008+ filename="gdk/gdkevents.c"
26009+ line="2500">Extracts the direction of a scroll event.</doc>
26010+ <source-position filename="gdk/gdkevents.h" line="423"/>
26011+ <return-value transfer-ownership="none">
26012+ <doc xml:space="preserve"
26013+ filename="gdk/gdkevents.c"
26014+ line="2506">the scroll direction of @event</doc>
26015+ <type name="ScrollDirection" c:type="GdkScrollDirection"/>
26016+ </return-value>
26017+ <parameters>
26018+ <instance-parameter name="event" transfer-ownership="none">
26019+ <doc xml:space="preserve"
26020+ filename="gdk/gdkevents.c"
26021+ line="2502">a scroll event</doc>
26022+ <type name="ScrollEvent" c:type="GdkEvent*"/>
26023+ </instance-parameter>
26024+ </parameters>
26025+ </method>
26026+ <method name="get_unit"
26027+ c:identifier="gdk_scroll_event_get_unit"
26028+ version="4.8">
26029+ <doc xml:space="preserve"
26030+ filename="gdk/gdkevents.c"
26031+ line="2574">Extracts the scroll delta unit of a scroll event.
26032+
26033+The unit will always be %GDK_SCROLL_UNIT_WHEEL if the scroll direction is not
26034+%GDK_SCROLL_SMOOTH.</doc>
26035+ <source-position filename="gdk/gdkevents.h" line="429"/>
26036+ <return-value transfer-ownership="none">
26037+ <doc xml:space="preserve"
26038+ filename="gdk/gdkevents.c"
26039+ line="2583">the scroll unit.</doc>
26040+ <type name="ScrollUnit" c:type="GdkScrollUnit"/>
26041+ </return-value>
26042+ <parameters>
26043+ <instance-parameter name="event" transfer-ownership="none">
26044+ <doc xml:space="preserve"
26045+ filename="gdk/gdkevents.c"
26046+ line="2576">a scroll event.</doc>
26047+ <type name="ScrollEvent" c:type="GdkEvent*"/>
26048+ </instance-parameter>
26049+ </parameters>
26050+ </method>
26051+ <method name="is_stop" c:identifier="gdk_scroll_event_is_stop">
26052+ <doc xml:space="preserve"
26053+ filename="gdk/gdkevents.c"
26054+ line="2547">Check whether a scroll event is a stop scroll event.
26055+
26056+Scroll sequences with smooth scroll information may provide
26057+a stop scroll event once the interaction with the device finishes,
26058+e.g. by lifting a finger. This stop scroll event is the signal
26059+that a widget may trigger kinetic scrolling based on the current
26060+velocity.
26061+
26062+Stop scroll events always have a delta of 0/0.</doc>
26063+ <source-position filename="gdk/gdkevents.h" line="432"/>
26064+ <return-value transfer-ownership="none">
26065+ <doc xml:space="preserve"
26066+ filename="gdk/gdkevents.c"
26067+ line="2561">%TRUE if the event is a scroll stop event</doc>
26068+ <type name="gboolean" c:type="gboolean"/>
26069+ </return-value>
26070+ <parameters>
26071+ <instance-parameter name="event" transfer-ownership="none">
26072+ <doc xml:space="preserve"
26073+ filename="gdk/gdkevents.c"
26074+ line="2549">a scroll event</doc>
26075+ <type name="ScrollEvent" c:type="GdkEvent*"/>
26076+ </instance-parameter>
26077+ </parameters>
26078+ </method>
26079+ </class>
26080+ <enumeration name="ScrollUnit"
26081+ version="4.8"
26082+ glib:type-name="GdkScrollUnit"
26083+ glib:get-type="gdk_scroll_unit_get_type"
26084+ c:type="GdkScrollUnit">
26085+ <doc xml:space="preserve"
26086+ filename="gdk/gdkevents.h"
26087+ line="267">Specifies the unit of scroll deltas.
26088+
26089+When you get %GDK_SCROLL_UNIT_WHEEL, a delta of 1.0 means 1 wheel detent
26090+click in the south direction, 2.0 means 2 wheel detent clicks in the south
26091+direction... This is the same logic for negative values but in the north
26092+direction.
26093+
26094+If you get %GDK_SCROLL_UNIT_SURFACE, are managing a scrollable view and get a
26095+value of 123, you have to scroll 123 surface logical pixels right if it's
26096+@delta_x or down if it's @delta_y. This is the same logic for negative values
26097+but you have to scroll left instead of right if it's @delta_x and up instead
26098+of down if it's @delta_y.
26099+
26100+1 surface logical pixel is equal to 1 real screen pixel multiplied by the
26101+final scale factor of your graphical interface (the product of the desktop
26102+scale factor and eventually a custom scale factor in your app).</doc>
26103+ <member name="wheel"
26104+ value="0"
26105+ c:identifier="GDK_SCROLL_UNIT_WHEEL"
26106+ glib:nick="wheel"
26107+ glib:name="GDK_SCROLL_UNIT_WHEEL">
26108+ <doc xml:space="preserve"
26109+ filename="gdk/gdkevents.h"
26110+ line="269">The delta is in number of wheel clicks.</doc>
26111+ </member>
26112+ <member name="surface"
26113+ value="1"
26114+ c:identifier="GDK_SCROLL_UNIT_SURFACE"
26115+ glib:nick="surface"
26116+ glib:name="GDK_SCROLL_UNIT_SURFACE">
26117+ <doc xml:space="preserve"
26118+ filename="gdk/gdkevents.h"
26119+ line="270">The delta is in surface pixels to scroll directly
26120+ on screen.</doc>
26121+ </member>
26122+ </enumeration>
26123+ <class name="Seat"
26124+ c:symbol-prefix="seat"
26125+ c:type="GdkSeat"
26126+ parent="GObject.Object"
26127+ abstract="1"
26128+ glib:type-name="GdkSeat"
26129+ glib:get-type="gdk_seat_get_type">
26130+ <doc xml:space="preserve"
26131+ filename="gdk/gdkseat.c"
26132+ line="30">The `GdkSeat` object represents a collection of input devices
26133+that belong to a user.</doc>
26134+ <method name="get_capabilities" c:identifier="gdk_seat_get_capabilities">
26135+ <doc xml:space="preserve"
26136+ filename="gdk/gdkseat.c"
26137+ line="201">Returns the capabilities this `GdkSeat` currently has.</doc>
26138+ <source-position filename="gdk/gdkseat.h" line="75"/>
26139+ <return-value transfer-ownership="none">
26140+ <doc xml:space="preserve"
26141+ filename="gdk/gdkseat.c"
26142+ line="207">the seat capabilities</doc>
26143+ <type name="SeatCapabilities" c:type="GdkSeatCapabilities"/>
26144+ </return-value>
26145+ <parameters>
26146+ <instance-parameter name="seat" transfer-ownership="none">
26147+ <doc xml:space="preserve"
26148+ filename="gdk/gdkseat.c"
26149+ line="203">a `GdkSeat`</doc>
26150+ <type name="Seat" c:type="GdkSeat*"/>
26151+ </instance-parameter>
26152+ </parameters>
26153+ </method>
26154+ <method name="get_devices" c:identifier="gdk_seat_get_devices">
26155+ <doc xml:space="preserve"
26156+ filename="gdk/gdkseat.c"
26157+ line="313">Returns the devices that match the given capabilities.</doc>
26158+ <source-position filename="gdk/gdkseat.h" line="78"/>
26159+ <return-value transfer-ownership="container">
26160+ <doc xml:space="preserve"
26161+ filename="gdk/gdkseat.c"
26162+ line="320">A list
26163+ of `GdkDevices`. The list must be freed with g_list_free(),
26164+ the elements are owned by GTK and must not be freed.</doc>
26165+ <type name="GLib.List" c:type="GList*">
26166+ <type name="Device"/>
26167+ </type>
26168+ </return-value>
26169+ <parameters>
26170+ <instance-parameter name="seat" transfer-ownership="none">
26171+ <doc xml:space="preserve"
26172+ filename="gdk/gdkseat.c"
26173+ line="315">a `GdkSeat`</doc>
26174+ <type name="Seat" c:type="GdkSeat*"/>
26175+ </instance-parameter>
26176+ <parameter name="capabilities" transfer-ownership="none">
26177+ <doc xml:space="preserve"
26178+ filename="gdk/gdkseat.c"
26179+ line="316">capabilities to get devices for</doc>
26180+ <type name="SeatCapabilities" c:type="GdkSeatCapabilities"/>
26181+ </parameter>
26182+ </parameters>
26183+ </method>
26184+ <method name="get_display"
26185+ c:identifier="gdk_seat_get_display"
26186+ glib:get-property="display">
26187+ <attribute name="org.gtk.Method.get_property" value="display"/>
26188+ <doc xml:space="preserve"
26189+ filename="gdk/gdkseat.c"
26190+ line="392">Returns the `GdkDisplay` this seat belongs to.</doc>
26191+ <source-position filename="gdk/gdkseat.h" line="71"/>
26192+ <return-value transfer-ownership="none">
26193+ <doc xml:space="preserve"
26194+ filename="gdk/gdkseat.c"
26195+ line="398">a `GdkDisplay`. This object
26196+ is owned by GTK and must not be freed.</doc>
26197+ <type name="Display" c:type="GdkDisplay*"/>
26198+ </return-value>
26199+ <parameters>
26200+ <instance-parameter name="seat" transfer-ownership="none">
26201+ <doc xml:space="preserve"
26202+ filename="gdk/gdkseat.c"
26203+ line="394">a `GdkSeat`</doc>
26204+ <type name="Seat" c:type="GdkSeat*"/>
26205+ </instance-parameter>
26206+ </parameters>
26207+ </method>
26208+ <method name="get_keyboard" c:identifier="gdk_seat_get_keyboard">
26209+ <doc xml:space="preserve"
26210+ filename="gdk/gdkseat.c"
26211+ line="356">Returns the device that routes keyboard events.</doc>
26212+ <source-position filename="gdk/gdkseat.h" line="87"/>
26213+ <return-value transfer-ownership="none" nullable="1">
26214+ <doc xml:space="preserve"
26215+ filename="gdk/gdkseat.c"
26216+ line="362">a `GdkDevice` with keyboard
26217+ capabilities. This object is owned by GTK and must not be freed.</doc>
26218+ <type name="Device" c:type="GdkDevice*"/>
26219+ </return-value>
26220+ <parameters>
26221+ <instance-parameter name="seat" transfer-ownership="none">
26222+ <doc xml:space="preserve"
26223+ filename="gdk/gdkseat.c"
26224+ line="358">a `GdkSeat`</doc>
26225+ <type name="Seat" c:type="GdkSeat*"/>
26226+ </instance-parameter>
26227+ </parameters>
26228+ </method>
26229+ <method name="get_pointer" c:identifier="gdk_seat_get_pointer">
26230+ <doc xml:space="preserve"
26231+ filename="gdk/gdkseat.c"
26232+ line="336">Returns the device that routes pointer events.</doc>
26233+ <source-position filename="gdk/gdkseat.h" line="85"/>
26234+ <return-value transfer-ownership="none" nullable="1">
26235+ <doc xml:space="preserve"
26236+ filename="gdk/gdkseat.c"
26237+ line="342">a `GdkDevice` with pointer
26238+ capabilities. This object is owned by GTK and must not be freed.</doc>
26239+ <type name="Device" c:type="GdkDevice*"/>
26240+ </return-value>
26241+ <parameters>
26242+ <instance-parameter name="seat" transfer-ownership="none">
26243+ <doc xml:space="preserve"
26244+ filename="gdk/gdkseat.c"
26245+ line="338">a `GdkSeat`</doc>
26246+ <type name="Seat" c:type="GdkSeat*"/>
26247+ </instance-parameter>
26248+ </parameters>
26249+ </method>
26250+ <method name="get_tools" c:identifier="gdk_seat_get_tools">
26251+ <doc xml:space="preserve"
26252+ filename="gdk/gdkseat.c"
26253+ line="452">Returns all `GdkDeviceTools` that are known to the application.</doc>
26254+ <source-position filename="gdk/gdkseat.h" line="82"/>
26255+ <return-value transfer-ownership="container">
26256+ <doc xml:space="preserve"
26257+ filename="gdk/gdkseat.c"
26258+ line="458">
26259+ A list of tools. Free with g_list_free().</doc>
26260+ <type name="GLib.List" c:type="GList*">
26261+ <type name="DeviceTool"/>
26262+ </type>
26263+ </return-value>
26264+ <parameters>
26265+ <instance-parameter name="seat" transfer-ownership="none">
26266+ <doc xml:space="preserve"
26267+ filename="gdk/gdkseat.c"
26268+ line="454">a `GdkSeat`</doc>
26269+ <type name="Seat" c:type="GdkSeat*"/>
26270+ </instance-parameter>
26271+ </parameters>
26272+ </method>
26273+ <property name="display"
26274+ writable="1"
26275+ construct-only="1"
26276+ transfer-ownership="none"
26277+ getter="get_display">
26278+ <attribute name="org.gtk.Property.get" value="gdk_seat_get_display"/>
26279+ <doc xml:space="preserve"
26280+ filename="gdk/gdkseat.c"
26281+ line="181">`GdkDisplay` of this seat.</doc>
26282+ <type name="Display"/>
26283+ </property>
26284+ <field name="parent_instance">
26285+ <type name="GObject.Object" c:type="GObject"/>
26286+ </field>
26287+ <glib:signal name="device-added" when="last">
26288+ <doc xml:space="preserve"
26289+ filename="gdk/gdkseat.c"
26290+ line="109">Emitted when a new input device is related to this seat.</doc>
26291+ <return-value transfer-ownership="none">
26292+ <type name="none" c:type="void"/>
26293+ </return-value>
26294+ <parameters>
26295+ <parameter name="device" transfer-ownership="none">
26296+ <doc xml:space="preserve"
26297+ filename="gdk/gdkseat.c"
26298+ line="112">the newly added `GdkDevice`.</doc>
26299+ <type name="Device"/>
26300+ </parameter>
26301+ </parameters>
26302+ </glib:signal>
26303+ <glib:signal name="device-removed" when="last">
26304+ <doc xml:space="preserve"
26305+ filename="gdk/gdkseat.c"
26306+ line="126">Emitted when an input device is removed (e.g. unplugged).</doc>
26307+ <return-value transfer-ownership="none">
26308+ <type name="none" c:type="void"/>
26309+ </return-value>
26310+ <parameters>
26311+ <parameter name="device" transfer-ownership="none">
26312+ <doc xml:space="preserve"
26313+ filename="gdk/gdkseat.c"
26314+ line="129">the just removed `GdkDevice`.</doc>
26315+ <type name="Device"/>
26316+ </parameter>
26317+ </parameters>
26318+ </glib:signal>
26319+ <glib:signal name="tool-added" when="last">
26320+ <doc xml:space="preserve"
26321+ filename="gdk/gdkseat.c"
26322+ line="143">Emitted whenever a new tool is made known to the seat.
26323+
26324+The tool may later be assigned to a device (i.e. on
26325+proximity with a tablet). The device will emit the
26326+[signal@Gdk.Device::tool-changed] signal accordingly.
26327+
26328+A same tool may be used by several devices.</doc>
26329+ <return-value transfer-ownership="none">
26330+ <type name="none" c:type="void"/>
26331+ </return-value>
26332+ <parameters>
26333+ <parameter name="tool" transfer-ownership="none">
26334+ <doc xml:space="preserve"
26335+ filename="gdk/gdkseat.c"
26336+ line="146">the new `GdkDeviceTool` known to the seat</doc>
26337+ <type name="DeviceTool"/>
26338+ </parameter>
26339+ </parameters>
26340+ </glib:signal>
26341+ <glib:signal name="tool-removed" when="last">
26342+ <doc xml:space="preserve"
26343+ filename="gdk/gdkseat.c"
26344+ line="165">Emitted whenever a tool is no longer known to this @seat.</doc>
26345+ <return-value transfer-ownership="none">
26346+ <type name="none" c:type="void"/>
26347+ </return-value>
26348+ <parameters>
26349+ <parameter name="tool" transfer-ownership="none">
26350+ <doc xml:space="preserve"
26351+ filename="gdk/gdkseat.c"
26352+ line="168">the just removed `GdkDeviceTool`</doc>
26353+ <type name="DeviceTool"/>
26354+ </parameter>
26355+ </parameters>
26356+ </glib:signal>
26357+ </class>
26358+ <bitfield name="SeatCapabilities"
26359+ glib:type-name="GdkSeatCapabilities"
26360+ glib:get-type="gdk_seat_capabilities_get_type"
26361+ c:type="GdkSeatCapabilities">
26362+ <doc xml:space="preserve"
26363+ filename="gdk/gdkseat.h"
26364+ line="38">Flags describing the seat capabilities.</doc>
26365+ <member name="none"
26366+ value="0"
26367+ c:identifier="GDK_SEAT_CAPABILITY_NONE"
26368+ glib:nick="none"
26369+ glib:name="GDK_SEAT_CAPABILITY_NONE">
26370+ <doc xml:space="preserve"
26371+ filename="gdk/gdkseat.h"
26372+ line="40">No input capabilities</doc>
26373+ </member>
26374+ <member name="pointer"
26375+ value="1"
26376+ c:identifier="GDK_SEAT_CAPABILITY_POINTER"
26377+ glib:nick="pointer"
26378+ glib:name="GDK_SEAT_CAPABILITY_POINTER">
26379+ <doc xml:space="preserve"
26380+ filename="gdk/gdkseat.h"
26381+ line="41">The seat has a pointer (e.g. mouse)</doc>
26382+ </member>
26383+ <member name="touch"
26384+ value="2"
26385+ c:identifier="GDK_SEAT_CAPABILITY_TOUCH"
26386+ glib:nick="touch"
26387+ glib:name="GDK_SEAT_CAPABILITY_TOUCH">
26388+ <doc xml:space="preserve"
26389+ filename="gdk/gdkseat.h"
26390+ line="42">The seat has touchscreen(s) attached</doc>
26391+ </member>
26392+ <member name="tablet_stylus"
26393+ value="4"
26394+ c:identifier="GDK_SEAT_CAPABILITY_TABLET_STYLUS"
26395+ glib:nick="tablet-stylus"
26396+ glib:name="GDK_SEAT_CAPABILITY_TABLET_STYLUS">
26397+ <doc xml:space="preserve"
26398+ filename="gdk/gdkseat.h"
26399+ line="43">The seat has drawing tablet(s) attached</doc>
26400+ </member>
26401+ <member name="keyboard"
26402+ value="8"
26403+ c:identifier="GDK_SEAT_CAPABILITY_KEYBOARD"
26404+ glib:nick="keyboard"
26405+ glib:name="GDK_SEAT_CAPABILITY_KEYBOARD">
26406+ <doc xml:space="preserve"
26407+ filename="gdk/gdkseat.h"
26408+ line="44">The seat has keyboard(s) attached</doc>
26409+ </member>
26410+ <member name="tablet_pad"
26411+ value="16"
26412+ c:identifier="GDK_SEAT_CAPABILITY_TABLET_PAD"
26413+ glib:nick="tablet-pad"
26414+ glib:name="GDK_SEAT_CAPABILITY_TABLET_PAD">
26415+ <doc xml:space="preserve"
26416+ filename="gdk/gdkseat.h"
26417+ line="45">The seat has drawing tablet pad(s) attached</doc>
26418+ </member>
26419+ <member name="all_pointing"
26420+ value="7"
26421+ c:identifier="GDK_SEAT_CAPABILITY_ALL_POINTING"
26422+ glib:nick="all-pointing"
26423+ glib:name="GDK_SEAT_CAPABILITY_ALL_POINTING">
26424+ <doc xml:space="preserve"
26425+ filename="gdk/gdkseat.h"
26426+ line="46">The union of all pointing capabilities</doc>
26427+ </member>
26428+ <member name="all"
26429+ value="15"
26430+ c:identifier="GDK_SEAT_CAPABILITY_ALL"
26431+ glib:nick="all"
26432+ glib:name="GDK_SEAT_CAPABILITY_ALL">
26433+ <doc xml:space="preserve"
26434+ filename="gdk/gdkseat.h"
26435+ line="47">The union of all capabilities</doc>
26436+ </member>
26437+ </bitfield>
26438+ <class name="Snapshot"
26439+ c:symbol-prefix="snapshot"
26440+ c:type="GdkSnapshot"
26441+ parent="GObject.Object"
26442+ abstract="1"
26443+ glib:type-name="GdkSnapshot"
26444+ glib:get-type="gdk_snapshot_get_type"
26445+ glib:type-struct="SnapshotClass">
26446+ <doc xml:space="preserve"
26447+ filename="gdk/gdksnapshot.c"
26448+ line="24">Base type for snapshot operations.
26449+
26450+The subclass of `GdkSnapshot` used by GTK is [class@Gtk.Snapshot].</doc>
26451+ <source-position filename="gdk/gdksnapshot.h" line="32"/>
26452+ </class>
26453+ <record name="SnapshotClass"
26454+ c:type="GdkSnapshotClass"
26455+ disguised="1"
26456+ glib:is-gtype-struct-for="Snapshot">
26457+ <source-position filename="gdk/gdksnapshot.h" line="32"/>
26458+ </record>
26459+ <enumeration name="SubpixelLayout"
26460+ glib:type-name="GdkSubpixelLayout"
26461+ glib:get-type="gdk_subpixel_layout_get_type"
26462+ c:type="GdkSubpixelLayout">
26463+ <doc xml:space="preserve"
26464+ filename="gdk/gdkmonitor.h"
26465+ line="42">This enumeration describes how the red, green and blue components
26466+of physical pixels on an output device are laid out.</doc>
26467+ <member name="unknown"
26468+ value="0"
26469+ c:identifier="GDK_SUBPIXEL_LAYOUT_UNKNOWN"
26470+ glib:nick="unknown"
26471+ glib:name="GDK_SUBPIXEL_LAYOUT_UNKNOWN">
26472+ <doc xml:space="preserve"
26473+ filename="gdk/gdkmonitor.h"
26474+ line="44">The layout is not known</doc>
26475+ </member>
26476+ <member name="none"
26477+ value="1"
26478+ c:identifier="GDK_SUBPIXEL_LAYOUT_NONE"
26479+ glib:nick="none"
26480+ glib:name="GDK_SUBPIXEL_LAYOUT_NONE">
26481+ <doc xml:space="preserve"
26482+ filename="gdk/gdkmonitor.h"
26483+ line="45">Not organized in this way</doc>
26484+ </member>
26485+ <member name="horizontal_rgb"
26486+ value="2"
26487+ c:identifier="GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB"
26488+ glib:nick="horizontal-rgb"
26489+ glib:name="GDK_SUBPIXEL_LAYOUT_HORIZONTAL_RGB">
26490+ <doc xml:space="preserve"
26491+ filename="gdk/gdkmonitor.h"
26492+ line="46">The layout is horizontal, the order is RGB</doc>
26493+ </member>
26494+ <member name="horizontal_bgr"
26495+ value="3"
26496+ c:identifier="GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR"
26497+ glib:nick="horizontal-bgr"
26498+ glib:name="GDK_SUBPIXEL_LAYOUT_HORIZONTAL_BGR">
26499+ <doc xml:space="preserve"
26500+ filename="gdk/gdkmonitor.h"
26501+ line="47">The layout is horizontal, the order is BGR</doc>
26502+ </member>
26503+ <member name="vertical_rgb"
26504+ value="4"
26505+ c:identifier="GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB"
26506+ glib:nick="vertical-rgb"
26507+ glib:name="GDK_SUBPIXEL_LAYOUT_VERTICAL_RGB">
26508+ <doc xml:space="preserve"
26509+ filename="gdk/gdkmonitor.h"
26510+ line="48">The layout is vertical, the order is RGB</doc>
26511+ </member>
26512+ <member name="vertical_bgr"
26513+ value="5"
26514+ c:identifier="GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR"
26515+ glib:nick="vertical-bgr"
26516+ glib:name="GDK_SUBPIXEL_LAYOUT_VERTICAL_BGR">
26517+ <doc xml:space="preserve"
26518+ filename="gdk/gdkmonitor.h"
26519+ line="49">The layout is vertical, the order is BGR</doc>
26520+ </member>
26521+ </enumeration>
26522+ <class name="Surface"
26523+ c:symbol-prefix="surface"
26524+ c:type="GdkSurface"
26525+ parent="GObject.Object"
26526+ abstract="1"
26527+ glib:type-name="GdkSurface"
26528+ glib:get-type="gdk_surface_get_type"
26529+ glib:type-struct="SurfaceClass">
26530+ <doc xml:space="preserve"
26531+ filename="gdk/gdksurface.c"
26532+ line="53">A `GdkSurface` is a rectangular region on the screen.
26533+
26534+It’s a low-level object, used to implement high-level objects
26535+such as [class@Gtk.Window] or [class@Gtk.Dialog] in GTK.
26536+
26537+The surfaces you see in practice are either [iface@Gdk.Toplevel] or
26538+[iface@Gdk.Popup], and those interfaces provide much of the required
26539+API to interact with these surfaces. Other, more specialized surface
26540+types exist, but you will rarely interact with them directly.</doc>
26541+ <source-position filename="gdk/gdksurface.h" line="41"/>
26542+ <constructor name="new_popup" c:identifier="gdk_surface_new_popup">
26543+ <doc xml:space="preserve"
26544+ filename="gdk/gdksurface.c"
26545+ line="853">Create a new popup surface.
26546+
26547+The surface will be attached to @parent and can be positioned
26548+relative to it using [method@Gdk.Popup.present].</doc>
26549+ <source-position filename="gdk/gdksurface.h" line="56"/>
26550+ <return-value transfer-ownership="full">
26551+ <doc xml:space="preserve"
26552+ filename="gdk/gdksurface.c"
26553+ line="863">a new `GdkSurface`</doc>
26554+ <type name="Surface" c:type="GdkSurface*"/>
26555+ </return-value>
26556+ <parameters>
26557+ <parameter name="parent" transfer-ownership="none">
26558+ <doc xml:space="preserve"
26559+ filename="gdk/gdksurface.c"
26560+ line="855">the parent surface to attach the surface to</doc>
26561+ <type name="Surface" c:type="GdkSurface*"/>
26562+ </parameter>
26563+ <parameter name="autohide" transfer-ownership="none">
26564+ <doc xml:space="preserve"
26565+ filename="gdk/gdksurface.c"
26566+ line="856">whether to hide the surface on outside clicks</doc>
26567+ <type name="gboolean" c:type="gboolean"/>
26568+ </parameter>
26569+ </parameters>
26570+ </constructor>
26571+ <constructor name="new_toplevel" c:identifier="gdk_surface_new_toplevel">
26572+ <doc xml:space="preserve"
26573+ filename="gdk/gdksurface.c"
26574+ line="836">Creates a new toplevel surface.</doc>
26575+ <source-position filename="gdk/gdksurface.h" line="54"/>
26576+ <return-value transfer-ownership="full">
26577+ <doc xml:space="preserve"
26578+ filename="gdk/gdksurface.c"
26579+ line="842">the new `GdkSurface`</doc>
26580+ <type name="Surface" c:type="GdkSurface*"/>
26581+ </return-value>
26582+ <parameters>
26583+ <parameter name="display" transfer-ownership="none">
26584+ <doc xml:space="preserve"
26585+ filename="gdk/gdksurface.c"
26586+ line="838">the display to create the surface on</doc>
26587+ <type name="Display" c:type="GdkDisplay*"/>
26588+ </parameter>
26589+ </parameters>
26590+ </constructor>
26591+ <method name="beep" c:identifier="gdk_surface_beep">
26592+ <doc xml:space="preserve"
26593+ filename="gdk/gdksurface.c"
26594+ line="2178">Emits a short beep associated to @surface.
26595+
26596+If the display of @surface does not support per-surface beeps,
26597+emits a short beep on the display just as [method@Gdk.Display.beep].</doc>
26598+ <source-position filename="gdk/gdksurface.h" line="116"/>
26599+ <return-value transfer-ownership="none">
26600+ <type name="none" c:type="void"/>
26601+ </return-value>
26602+ <parameters>
26603+ <instance-parameter name="surface" transfer-ownership="none">
26604+ <doc xml:space="preserve"
26605+ filename="gdk/gdksurface.c"
26606+ line="2180">a toplevel `GdkSurface`</doc>
26607+ <type name="Surface" c:type="GdkSurface*"/>
26608+ </instance-parameter>
26609+ </parameters>
26610+ </method>
26611+ <method name="create_cairo_context"
26612+ c:identifier="gdk_surface_create_cairo_context">
26613+ <doc xml:space="preserve"
26614+ filename="gdk/gdksurface.c"
26615+ line="1180">Creates a new `GdkCairoContext` for rendering on @surface.</doc>
26616+ <source-position filename="gdk/gdksurface.h" line="132"/>
26617+ <return-value transfer-ownership="full">
26618+ <doc xml:space="preserve"
26619+ filename="gdk/gdksurface.c"
26620+ line="1186">the newly created `GdkCairoContext`</doc>
26621+ <type name="CairoContext" c:type="GdkCairoContext*"/>
26622+ </return-value>
26623+ <parameters>
26624+ <instance-parameter name="surface" transfer-ownership="none">
26625+ <doc xml:space="preserve"
26626+ filename="gdk/gdksurface.c"
26627+ line="1182">a `GdkSurface`</doc>
26628+ <type name="Surface" c:type="GdkSurface*"/>
26629+ </instance-parameter>
26630+ </parameters>
26631+ </method>
26632+ <method name="create_gl_context"
26633+ c:identifier="gdk_surface_create_gl_context"
26634+ throws="1">
26635+ <doc xml:space="preserve"
26636+ filename="gdk/gdksurface.c"
26637+ line="1153">Creates a new `GdkGLContext` for the `GdkSurface`.
26638+
26639+The context is disconnected from any particular surface or surface.
26640+If the creation of the `GdkGLContext` failed, @error will be set.
26641+Before using the returned `GdkGLContext`, you will need to
26642+call [method@Gdk.GLContext.make_current] or [method@Gdk.GLContext.realize].</doc>
26643+ <source-position filename="gdk/gdksurface.h" line="134"/>
26644+ <return-value transfer-ownership="full">
26645+ <doc xml:space="preserve"
26646+ filename="gdk/gdksurface.c"
26647+ line="1165">the newly created `GdkGLContext`</doc>
26648+ <type name="GLContext" c:type="GdkGLContext*"/>
26649+ </return-value>
26650+ <parameters>
26651+ <instance-parameter name="surface" transfer-ownership="none">
26652+ <doc xml:space="preserve"
26653+ filename="gdk/gdksurface.c"
26654+ line="1155">a `GdkSurface`</doc>
26655+ <type name="Surface" c:type="GdkSurface*"/>
26656+ </instance-parameter>
26657+ </parameters>
26658+ </method>
26659+ <method name="create_similar_surface"
26660+ c:identifier="gdk_surface_create_similar_surface">
26661+ <doc xml:space="preserve"
26662+ filename="gdk/gdksurface.c"
26663+ line="2335">Create a new Cairo surface that is as compatible as possible with the
26664+given @surface.
26665+
26666+For example the new surface will have the same fallback resolution
26667+and font options as @surface. Generally, the new surface will also
26668+use the same backend as @surface, unless that is not possible for
26669+some reason. The type of the returned surface may be examined with
26670+cairo_surface_get_type().
26671+
26672+Initially the surface contents are all 0 (transparent if contents
26673+have transparency, black otherwise.)
26674+
26675+This function always returns a valid pointer, but it will return a
26676+pointer to a “nil” surface if @other is already in an error state
26677+or any other error occurs.</doc>
26678+ <source-position filename="gdk/gdksurface.h" line="110"/>
26679+ <return-value transfer-ownership="full">
26680+ <doc xml:space="preserve"
26681+ filename="gdk/gdksurface.c"
26682+ line="2358">a pointer to the newly allocated surface. The caller
26683+ owns the surface and should call cairo_surface_destroy() when done
26684+ with it.</doc>
26685+ <type name="cairo.Surface" c:type="cairo_surface_t*"/>
26686+ </return-value>
26687+ <parameters>
26688+ <instance-parameter name="surface" transfer-ownership="none">
26689+ <doc xml:space="preserve"
26690+ filename="gdk/gdksurface.c"
26691+ line="2337">surface to make new surface similar to</doc>
26692+ <type name="Surface" c:type="GdkSurface*"/>
26693+ </instance-parameter>
26694+ <parameter name="content" transfer-ownership="none">
26695+ <doc xml:space="preserve"
26696+ filename="gdk/gdksurface.c"
26697+ line="2338">the content for the new surface</doc>
26698+ <type name="cairo.Content" c:type="cairo_content_t"/>
26699+ </parameter>
26700+ <parameter name="width" transfer-ownership="none">
26701+ <doc xml:space="preserve"
26702+ filename="gdk/gdksurface.c"
26703+ line="2339">width of the new surface</doc>
26704+ <type name="gint" c:type="int"/>
26705+ </parameter>
26706+ <parameter name="height" transfer-ownership="none">
26707+ <doc xml:space="preserve"
26708+ filename="gdk/gdksurface.c"
26709+ line="2340">height of the new surface</doc>
26710+ <type name="gint" c:type="int"/>
26711+ </parameter>
26712+ </parameters>
26713+ </method>
26714+ <method name="create_vulkan_context"
26715+ c:identifier="gdk_surface_create_vulkan_context"
26716+ throws="1">
26717+ <doc xml:space="preserve"
26718+ filename="gdk/gdksurface.c"
26719+ line="1202">Creates a new `GdkVulkanContext` for rendering on @surface.
26720+
26721+If the creation of the `GdkVulkanContext` failed, @error will be set.</doc>
26722+ <source-position filename="gdk/gdksurface.h" line="138"/>
26723+ <return-value transfer-ownership="full">
26724+ <doc xml:space="preserve"
26725+ filename="gdk/gdksurface.c"
26726+ line="1211">the newly created `GdkVulkanContext`, or
26727+ %NULL on error</doc>
26728+ <type name="VulkanContext" c:type="GdkVulkanContext*"/>
26729+ </return-value>
26730+ <parameters>
26731+ <instance-parameter name="surface" transfer-ownership="none">
26732+ <doc xml:space="preserve"
26733+ filename="gdk/gdksurface.c"
26734+ line="1204">a `GdkSurface`</doc>
26735+ <type name="Surface" c:type="GdkSurface*"/>
26736+ </instance-parameter>
26737+ </parameters>
26738+ </method>
26739+ <method name="destroy" c:identifier="gdk_surface_destroy">
26740+ <doc xml:space="preserve"
26741+ filename="gdk/gdksurface.c"
26742+ line="984">Destroys the window system resources associated with @surface and
26743+decrements @surface's reference count.
26744+
26745+The window system resources for all children of @surface are also
26746+destroyed, but the children’s reference counts are not decremented.
26747+
26748+Note that a surface will not be destroyed automatically when its
26749+reference count reaches zero. You must call this function yourself
26750+before that happens.</doc>
26751+ <source-position filename="gdk/gdksurface.h" line="60"/>
26752+ <return-value transfer-ownership="none">
26753+ <type name="none" c:type="void"/>
26754+ </return-value>
26755+ <parameters>
26756+ <instance-parameter name="surface" transfer-ownership="none">
26757+ <doc xml:space="preserve"
26758+ filename="gdk/gdksurface.c"
26759+ line="986">a `GdkSurface`</doc>
26760+ <type name="Surface" c:type="GdkSurface*"/>
26761+ </instance-parameter>
26762+ </parameters>
26763+ </method>
26764+ <method name="get_cursor"
26765+ c:identifier="gdk_surface_get_cursor"
26766+ glib:get-property="cursor">
26767+ <attribute name="org.gtk.Method.get_property" value="cursor"/>
26768+ <doc xml:space="preserve"
26769+ filename="gdk/gdksurface.c"
26770+ line="1823">Retrieves a `GdkCursor` pointer for the cursor currently set on the
26771+`GdkSurface`.
26772+
26773+If the return value is %NULL then there is no custom cursor set on
26774+the surface, and it is using the cursor for its parent surface.
26775+
26776+Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.</doc>
26777+ <source-position filename="gdk/gdksurface.h" line="80"/>
26778+ <return-value transfer-ownership="none" nullable="1">
26779+ <doc xml:space="preserve"
26780+ filename="gdk/gdksurface.c"
26781+ line="1835">a `GdkCursor`</doc>
26782+ <type name="Cursor" c:type="GdkCursor*"/>
26783+ </return-value>
26784+ <parameters>
26785+ <instance-parameter name="surface" transfer-ownership="none">
26786+ <doc xml:space="preserve"
26787+ filename="gdk/gdksurface.c"
26788+ line="1825">a `GdkSurface`</doc>
26789+ <type name="Surface" c:type="GdkSurface*"/>
26790+ </instance-parameter>
26791+ </parameters>
26792+ </method>
26793+ <method name="get_device_cursor"
26794+ c:identifier="gdk_surface_get_device_cursor">
26795+ <doc xml:space="preserve"
26796+ filename="gdk/gdksurface.c"
26797+ line="1902">Retrieves a `GdkCursor` pointer for the @device currently set on the
26798+specified `GdkSurface`.
26799+
26800+If the return value is %NULL then there is no custom cursor set on the
26801+specified surface, and it is using the cursor for its parent surface.
26802+
26803+Use [method@Gdk.Surface.set_cursor] to unset the cursor of the surface.</doc>
26804+ <source-position filename="gdk/gdksurface.h" line="86"/>
26805+ <return-value transfer-ownership="none" nullable="1">
26806+ <doc xml:space="preserve"
26807+ filename="gdk/gdksurface.c"
26808+ line="1915">a `GdkCursor`</doc>
26809+ <type name="Cursor" c:type="GdkCursor*"/>
26810+ </return-value>
26811+ <parameters>
26812+ <instance-parameter name="surface" transfer-ownership="none">
26813+ <doc xml:space="preserve"
26814+ filename="gdk/gdksurface.c"
26815+ line="1904">a `GdkSurface`</doc>
26816+ <type name="Surface" c:type="GdkSurface*"/>
26817+ </instance-parameter>
26818+ <parameter name="device" transfer-ownership="none">
26819+ <doc xml:space="preserve"
26820+ filename="gdk/gdksurface.c"
26821+ line="1905">a pointer `GdkDevice`</doc>
26822+ <type name="Device" c:type="GdkDevice*"/>
26823+ </parameter>
26824+ </parameters>
26825+ </method>
26826+ <method name="get_device_position"
26827+ c:identifier="gdk_surface_get_device_position">
26828+ <doc xml:space="preserve"
26829+ filename="gdk/gdksurface.c"
26830+ line="1686">Obtains the current device position and modifier state.
26831+
26832+The position is given in coordinates relative to the upper
26833+left corner of @surface.</doc>
26834+ <source-position filename="gdk/gdksurface.h" line="102"/>
26835+ <return-value transfer-ownership="none">
26836+ <doc xml:space="preserve"
26837+ filename="gdk/gdksurface.c"
26838+ line="1699">%TRUE if the device is over the surface</doc>
26839+ <type name="gboolean" c:type="gboolean"/>
26840+ </return-value>
26841+ <parameters>
26842+ <instance-parameter name="surface" transfer-ownership="none">
26843+ <doc xml:space="preserve"
26844+ filename="gdk/gdksurface.c"
26845+ line="1688">a `GdkSurface`</doc>
26846+ <type name="Surface" c:type="GdkSurface*"/>
26847+ </instance-parameter>
26848+ <parameter name="device" transfer-ownership="none">
26849+ <doc xml:space="preserve"
26850+ filename="gdk/gdksurface.c"
26851+ line="1689">pointer `GdkDevice` to query to</doc>
26852+ <type name="Device" c:type="GdkDevice*"/>
26853+ </parameter>
26854+ <parameter name="x"
26855+ direction="out"
26856+ caller-allocates="0"
26857+ transfer-ownership="full"
26858+ optional="1"
26859+ allow-none="1">
26860+ <doc xml:space="preserve"
26861+ filename="gdk/gdksurface.c"
26862+ line="1690">return location for the X coordinate of @device</doc>
26863+ <type name="gdouble" c:type="double*"/>
26864+ </parameter>
26865+ <parameter name="y"
26866+ direction="out"
26867+ caller-allocates="0"
26868+ transfer-ownership="full"
26869+ optional="1"
26870+ allow-none="1">
26871+ <doc xml:space="preserve"
26872+ filename="gdk/gdksurface.c"
26873+ line="1691">return location for the Y coordinate of @device</doc>
26874+ <type name="gdouble" c:type="double*"/>
26875+ </parameter>
26876+ <parameter name="mask"
26877+ direction="out"
26878+ caller-allocates="0"
26879+ transfer-ownership="full"
26880+ optional="1"
26881+ allow-none="1">
26882+ <doc xml:space="preserve"
26883+ filename="gdk/gdksurface.c"
26884+ line="1692">return location for the modifier mask</doc>
26885+ <type name="ModifierType" c:type="GdkModifierType*"/>
26886+ </parameter>
26887+ </parameters>
26888+ </method>
26889+ <method name="get_display"
26890+ c:identifier="gdk_surface_get_display"
26891+ glib:get-property="display">
26892+ <attribute name="org.gtk.Method.get_property" value="display"/>
26893+ <doc xml:space="preserve"
26894+ filename="gdk/gdksurface.c"
26895+ line="1022">Gets the `GdkDisplay` associated with a `GdkSurface`.</doc>
26896+ <source-position filename="gdk/gdksurface.h" line="65"/>
26897+ <return-value transfer-ownership="none">
26898+ <doc xml:space="preserve"
26899+ filename="gdk/gdksurface.c"
26900+ line="1028">the `GdkDisplay` associated with @surface</doc>
26901+ <type name="Display" c:type="GdkDisplay*"/>
26902+ </return-value>
26903+ <parameters>
26904+ <instance-parameter name="surface" transfer-ownership="none">
26905+ <doc xml:space="preserve"
26906+ filename="gdk/gdksurface.c"
26907+ line="1024">a `GdkSurface`</doc>
26908+ <type name="Surface" c:type="GdkSurface*"/>
26909+ </instance-parameter>
26910+ </parameters>
26911+ </method>
26912+ <method name="get_frame_clock"
26913+ c:identifier="gdk_surface_get_frame_clock"
26914+ glib:get-property="frame-clock">
26915+ <attribute name="org.gtk.Method.get_property" value="frame-clock"/>
26916+ <doc xml:space="preserve"
26917+ filename="gdk/gdksurface.c"
26918+ line="2566">Gets the frame clock for the surface.
26919+
26920+The frame clock for a surface never changes unless the surface is
26921+reparented to a new toplevel surface.</doc>
26922+ <source-position filename="gdk/gdksurface.h" line="125"/>
26923+ <return-value transfer-ownership="none">
26924+ <doc xml:space="preserve"
26925+ filename="gdk/gdksurface.c"
26926+ line="2575">the frame clock</doc>
26927+ <type name="FrameClock" c:type="GdkFrameClock*"/>
26928+ </return-value>
26929+ <parameters>
26930+ <instance-parameter name="surface" transfer-ownership="none">
26931+ <doc xml:space="preserve"
26932+ filename="gdk/gdksurface.c"
26933+ line="2568">surface to get frame clock for</doc>
26934+ <type name="Surface" c:type="GdkSurface*"/>
26935+ </instance-parameter>
26936+ </parameters>
26937+ </method>
26938+ <method name="get_height"
26939+ c:identifier="gdk_surface_get_height"
26940+ glib:get-property="height">
26941+ <attribute name="org.gtk.Method.get_property" value="height"/>
26942+ <doc xml:space="preserve"
26943+ filename="gdk/gdksurface.c"
26944+ line="2024">Returns the height of the given @surface.
26945+
26946+Surface size is reported in ”application pixels”, not
26947+”device pixels” (see [method@Gdk.Surface.get_scale_factor]).</doc>
26948+ <source-position filename="gdk/gdksurface.h" line="91"/>
26949+ <return-value transfer-ownership="none">
26950+ <doc xml:space="preserve"
26951+ filename="gdk/gdksurface.c"
26952+ line="2033">The height of @surface</doc>
26953+ <type name="gint" c:type="int"/>
26954+ </return-value>
26955+ <parameters>
26956+ <instance-parameter name="surface" transfer-ownership="none">
26957+ <doc xml:space="preserve"
26958+ filename="gdk/gdksurface.c"
26959+ line="2026">a `GdkSurface`</doc>
26960+ <type name="Surface" c:type="GdkSurface*"/>
26961+ </instance-parameter>
26962+ </parameters>
26963+ </method>
26964+ <method name="get_mapped"
26965+ c:identifier="gdk_surface_get_mapped"
26966+ glib:get-property="mapped">
26967+ <attribute name="org.gtk.Method.get_property" value="mapped"/>
26968+ <doc xml:space="preserve"
26969+ filename="gdk/gdksurface.c"
26970+ line="1051">Checks whether the surface has been mapped.
26971+
26972+A surface is mapped with [method@Gdk.Toplevel.present]
26973+or [method@Gdk.Popup.present].</doc>
26974+ <source-position filename="gdk/gdksurface.h" line="74"/>
26975+ <return-value transfer-ownership="none">
26976+ <doc xml:space="preserve"
26977+ filename="gdk/gdksurface.c"
26978+ line="1060">%TRUE if the surface is mapped</doc>
26979+ <type name="gboolean" c:type="gboolean"/>
26980+ </return-value>
26981+ <parameters>
26982+ <instance-parameter name="surface" transfer-ownership="none">
26983+ <doc xml:space="preserve"
26984+ filename="gdk/gdksurface.c"
26985+ line="1053">a `GdkSurface`</doc>
26986+ <type name="Surface" c:type="GdkSurface*"/>
26987+ </instance-parameter>
26988+ </parameters>
26989+ </method>
26990+ <method name="get_scale_factor"
26991+ c:identifier="gdk_surface_get_scale_factor"
26992+ glib:get-property="scale-factor">
26993+ <attribute name="org.gtk.Method.get_property" value="scale-factor"/>
26994+ <doc xml:space="preserve"
26995+ filename="gdk/gdksurface.c"
26996+ line="2585">Returns the internal scale factor that maps from surface coordinates
26997+to the actual device pixels.
26998+
26999+On traditional systems this is 1, but on very high density outputs
27000+this can be a higher value (often 2). A higher value means that drawing
27001+is automatically scaled up to a higher resolution, so any code doing
27002+drawing will automatically look nicer. However, if you are supplying
27003+pixel-based data the scale value can be used to determine whether to
27004+use a pixel resource with higher resolution data.
27005+
27006+The scale of a surface may change during runtime.</doc>
27007+ <source-position filename="gdk/gdksurface.h" line="99"/>
27008+ <return-value transfer-ownership="none">
27009+ <doc xml:space="preserve"
27010+ filename="gdk/gdksurface.c"
27011+ line="2601">the scale factor</doc>
27012+ <type name="gint" c:type="int"/>
27013+ </return-value>
27014+ <parameters>
27015+ <instance-parameter name="surface" transfer-ownership="none">
27016+ <doc xml:space="preserve"
27017+ filename="gdk/gdksurface.c"
27018+ line="2587">surface to get scale factor for</doc>
27019+ <type name="Surface" c:type="GdkSurface*"/>
27020+ </instance-parameter>
27021+ </parameters>
27022+ </method>
27023+ <method name="get_width"
27024+ c:identifier="gdk_surface_get_width"
27025+ glib:get-property="width">
27026+ <attribute name="org.gtk.Method.get_property" value="width"/>
27027+ <doc xml:space="preserve"
27028+ filename="gdk/gdksurface.c"
27029+ line="2005">Returns the width of the given @surface.
27030+
27031+Surface size is reported in ”application pixels”, not
27032+”device pixels” (see [method@Gdk.Surface.get_scale_factor]).</doc>
27033+ <source-position filename="gdk/gdksurface.h" line="89"/>
27034+ <return-value transfer-ownership="none">
27035+ <doc xml:space="preserve"
27036+ filename="gdk/gdksurface.c"
27037+ line="2014">The width of @surface</doc>
27038+ <type name="gint" c:type="int"/>
27039+ </return-value>
27040+ <parameters>
27041+ <instance-parameter name="surface" transfer-ownership="none">
27042+ <doc xml:space="preserve"
27043+ filename="gdk/gdksurface.c"
27044+ line="2007">a `GdkSurface`</doc>
27045+ <type name="Surface" c:type="GdkSurface*"/>
27046+ </instance-parameter>
27047+ </parameters>
27048+ </method>
27049+ <method name="hide" c:identifier="gdk_surface_hide">
27050+ <doc xml:space="preserve"
27051+ filename="gdk/gdksurface.c"
27052+ line="1735">Hide the surface.
27053+
27054+For toplevel surfaces, withdraws them, so they will no longer be
27055+known to the window manager; for all surfaces, unmaps them, so
27056+they won’t be displayed. Normally done automatically as
27057+part of [method@Gtk.Widget.hide].</doc>
27058+ <source-position filename="gdk/gdksurface.h" line="67"/>
27059+ <return-value transfer-ownership="none">
27060+ <type name="none" c:type="void"/>
27061+ </return-value>
27062+ <parameters>
27063+ <instance-parameter name="surface" transfer-ownership="none">
27064+ <doc xml:space="preserve"
27065+ filename="gdk/gdksurface.c"
27066+ line="1737">a `GdkSurface`</doc>
27067+ <type name="Surface" c:type="GdkSurface*"/>
27068+ </instance-parameter>
27069+ </parameters>
27070+ </method>
27071+ <method name="is_destroyed" c:identifier="gdk_surface_is_destroyed">
27072+ <doc xml:space="preserve"
27073+ filename="gdk/gdksurface.c"
27074+ line="1037">Check to see if a surface is destroyed.</doc>
27075+ <source-position filename="gdk/gdksurface.h" line="62"/>
27076+ <return-value transfer-ownership="none">
27077+ <doc xml:space="preserve"
27078+ filename="gdk/gdksurface.c"
27079+ line="1043">%TRUE if the surface is destroyed</doc>
27080+ <type name="gboolean" c:type="gboolean"/>
27081+ </return-value>
27082+ <parameters>
27083+ <instance-parameter name="surface" transfer-ownership="none">
27084+ <doc xml:space="preserve"
27085+ filename="gdk/gdksurface.c"
27086+ line="1039">a `GdkSurface`</doc>
27087+ <type name="Surface" c:type="GdkSurface*"/>
27088+ </instance-parameter>
27089+ </parameters>
27090+ </method>
27091+ <method name="queue_render" c:identifier="gdk_surface_queue_render">
27092+ <doc xml:space="preserve"
27093+ filename="gdk/gdksurface.c"
27094+ line="1480">Forces a [signal@Gdk.Surface::render] signal emission for @surface
27095+to be scheduled.
27096+
27097+This function is useful for implementations that track invalid
27098+regions on their own.</doc>
27099+ <source-position filename="gdk/gdksurface.h" line="119"/>
27100+ <return-value transfer-ownership="none">
27101+ <type name="none" c:type="void"/>
27102+ </return-value>
27103+ <parameters>
27104+ <instance-parameter name="surface" transfer-ownership="none">
27105+ <doc xml:space="preserve"
27106+ filename="gdk/gdksurface.c"
27107+ line="1482">a `GdkSurface`</doc>
27108+ <type name="Surface" c:type="GdkSurface*"/>
27109+ </instance-parameter>
27110+ </parameters>
27111+ </method>
27112+ <method name="request_layout" c:identifier="gdk_surface_request_layout">
27113+ <doc xml:space="preserve"
27114+ filename="gdk/gdksurface.c"
27115+ line="1375">Request a layout phase from the surface's frame clock.
27116+
27117+See [method@Gdk.FrameClock.request_phase].</doc>
27118+ <source-position filename="gdk/gdksurface.h" line="122"/>
27119+ <return-value transfer-ownership="none">
27120+ <type name="none" c:type="void"/>
27121+ </return-value>
27122+ <parameters>
27123+ <instance-parameter name="surface" transfer-ownership="none">
27124+ <doc xml:space="preserve"
27125+ filename="gdk/gdksurface.c"
27126+ line="1377">a `GdkSurface`</doc>
27127+ <type name="Surface" c:type="GdkSurface*"/>
27128+ </instance-parameter>
27129+ </parameters>
27130+ </method>
27131+ <method name="set_cursor"
27132+ c:identifier="gdk_surface_set_cursor"
27133+ glib:set-property="cursor">
27134+ <attribute name="org.gtk.Method.set_property" value="cursor"/>
27135+ <doc xml:space="preserve"
27136+ filename="gdk/gdksurface.c"
27137+ line="1845">Sets the default mouse pointer for a `GdkSurface`.
27138+
27139+Passing %NULL for the @cursor argument means that @surface will use
27140+the cursor of its parent surface. Most surfaces should use this default.
27141+Note that @cursor must be for the same display as @surface.
27142+
27143+Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]
27144+to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.</doc>
27145+ <source-position filename="gdk/gdksurface.h" line="77"/>
27146+ <return-value transfer-ownership="none">
27147+ <type name="none" c:type="void"/>
27148+ </return-value>
27149+ <parameters>
27150+ <instance-parameter name="surface" transfer-ownership="none">
27151+ <doc xml:space="preserve"
27152+ filename="gdk/gdksurface.c"
27153+ line="1847">a `GdkSurface`</doc>
27154+ <type name="Surface" c:type="GdkSurface*"/>
27155+ </instance-parameter>
27156+ <parameter name="cursor"
27157+ transfer-ownership="none"
27158+ nullable="1"
27159+ allow-none="1">
27160+ <doc xml:space="preserve"
27161+ filename="gdk/gdksurface.c"
27162+ line="1848">a `GdkCursor`</doc>
27163+ <type name="Cursor" c:type="GdkCursor*"/>
27164+ </parameter>
27165+ </parameters>
27166+ </method>
27167+ <method name="set_device_cursor"
27168+ c:identifier="gdk_surface_set_device_cursor">
27169+ <doc xml:space="preserve"
27170+ filename="gdk/gdksurface.c"
27171+ line="1928">Sets a specific `GdkCursor` for a given device when it gets inside @surface.
27172+
27173+Passing %NULL for the @cursor argument means that @surface will use the
27174+cursor of its parent surface. Most surfaces should use this default.
27175+
27176+Use [ctor@Gdk.Cursor.new_from_name] or [ctor@Gdk.Cursor.new_from_texture]
27177+to create the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR.</doc>
27178+ <source-position filename="gdk/gdksurface.h" line="82"/>
27179+ <return-value transfer-ownership="none">
27180+ <type name="none" c:type="void"/>
27181+ </return-value>
27182+ <parameters>
27183+ <instance-parameter name="surface" transfer-ownership="none">
27184+ <doc xml:space="preserve"
27185+ filename="gdk/gdksurface.c"
27186+ line="1930">a `GdkSurface`</doc>
27187+ <type name="Surface" c:type="GdkSurface*"/>
27188+ </instance-parameter>
27189+ <parameter name="device" transfer-ownership="none">
27190+ <doc xml:space="preserve"
27191+ filename="gdk/gdksurface.c"
27192+ line="1931">a pointer `GdkDevice`</doc>
27193+ <type name="Device" c:type="GdkDevice*"/>
27194+ </parameter>
27195+ <parameter name="cursor" transfer-ownership="none">
27196+ <doc xml:space="preserve"
27197+ filename="gdk/gdksurface.c"
27198+ line="1932">a `GdkCursor`</doc>
27199+ <type name="Cursor" c:type="GdkCursor*"/>
27200+ </parameter>
27201+ </parameters>
27202+ </method>
27203+ <method name="set_input_region"
27204+ c:identifier="gdk_surface_set_input_region">
27205+ <doc xml:space="preserve"
27206+ filename="gdk/gdksurface.c"
27207+ line="2097">Apply the region to the surface for the purpose of event
27208+handling.
27209+
27210+Mouse events which happen while the pointer position corresponds
27211+to an unset bit in the mask will be passed on the surface below
27212+@surface.
27213+
27214+An input region is typically used with RGBA surfaces. The alpha
27215+channel of the surface defines which pixels are invisible and
27216+allows for nicely antialiased borders, and the input region
27217+controls where the surface is “clickable”.
27218+
27219+Use [method@Gdk.Display.supports_input_shapes] to find out if
27220+a particular backend supports input regions.</doc>
27221+ <source-position filename="gdk/gdksurface.h" line="70"/>
27222+ <return-value transfer-ownership="none">
27223+ <type name="none" c:type="void"/>
27224+ </return-value>
27225+ <parameters>
27226+ <instance-parameter name="surface" transfer-ownership="none">
27227+ <doc xml:space="preserve"
27228+ filename="gdk/gdksurface.c"
27229+ line="2099">a `GdkSurface`</doc>
27230+ <type name="Surface" c:type="GdkSurface*"/>
27231+ </instance-parameter>
27232+ <parameter name="region" transfer-ownership="none">
27233+ <doc xml:space="preserve"
27234+ filename="gdk/gdksurface.c"
27235+ line="2100">region of surface to be reactive</doc>
27236+ <type name="cairo.Region" c:type="cairo_region_t*"/>
27237+ </parameter>
27238+ </parameters>
27239+ </method>
27240+ <method name="set_opaque_region"
27241+ c:identifier="gdk_surface_set_opaque_region">
27242+ <doc xml:space="preserve"
27243+ filename="gdk/gdksurface.c"
27244+ line="2620">Marks a region of the `GdkSurface` as opaque.
27245+
27246+For optimisation purposes, compositing window managers may
27247+like to not draw obscured regions of surfaces, or turn off blending
27248+during for these regions. With RGB windows with no transparency,
27249+this is just the shape of the window, but with ARGB32 windows, the
27250+compositor does not know what regions of the window are transparent
27251+or not.
27252+
27253+This function only works for toplevel surfaces.
27254+
27255+GTK will update this property automatically if the @surface background
27256+is opaque, as we know where the opaque regions are. If your surface
27257+background is not opaque, please update this property in your
27258+[vfunc@Gtk.Widget.css_changed] handler.</doc>
27259+ <source-position filename="gdk/gdksurface.h" line="128"/>
27260+ <return-value transfer-ownership="none">
27261+ <type name="none" c:type="void"/>
27262+ </return-value>
27263+ <parameters>
27264+ <instance-parameter name="surface" transfer-ownership="none">
27265+ <doc xml:space="preserve"
27266+ filename="gdk/gdksurface.c"
27267+ line="2622">a top-level `GdkSurface`</doc>
27268+ <type name="Surface" c:type="GdkSurface*"/>
27269+ </instance-parameter>
27270+ <parameter name="region"
27271+ transfer-ownership="none"
27272+ nullable="1"
27273+ allow-none="1">
27274+ <doc xml:space="preserve"
27275+ filename="gdk/gdksurface.c"
27276+ line="2623">a region, or %NULL to make the entire
27277+ surface opaque</doc>
27278+ <type name="cairo.Region" c:type="cairo_region_t*"/>
27279+ </parameter>
27280+ </parameters>
27281+ </method>
27282+ <method name="translate_coordinates"
27283+ c:identifier="gdk_surface_translate_coordinates">
27284+ <doc xml:space="preserve"
27285+ filename="gdk/gdksurface.c"
27286+ line="2971">Translates coordinates between two surfaces.
27287+
27288+Note that this only works if @to and @from are popups or
27289+transient-for to the same toplevel (directly or indirectly).</doc>
27290+ <source-position filename="gdk/gdksurface.h" line="93"/>
27291+ <return-value transfer-ownership="none">
27292+ <doc xml:space="preserve"
27293+ filename="gdk/gdksurface.c"
27294+ line="2983">%TRUE if the coordinates were successfully translated</doc>
27295+ <type name="gboolean" c:type="gboolean"/>
27296+ </return-value>
27297+ <parameters>
27298+ <instance-parameter name="from" transfer-ownership="none">
27299+ <doc xml:space="preserve"
27300+ filename="gdk/gdksurface.c"
27301+ line="2973">the origin surface</doc>
27302+ <type name="Surface" c:type="GdkSurface*"/>
27303+ </instance-parameter>
27304+ <parameter name="to" transfer-ownership="none">
27305+ <doc xml:space="preserve"
27306+ filename="gdk/gdksurface.c"
27307+ line="2974">the target surface</doc>
27308+ <type name="Surface" c:type="GdkSurface*"/>
27309+ </parameter>
27310+ <parameter name="x"
27311+ direction="inout"
27312+ caller-allocates="0"
27313+ transfer-ownership="full">
27314+ <doc xml:space="preserve"
27315+ filename="gdk/gdksurface.c"
27316+ line="2975">coordinates to translate</doc>
27317+ <type name="gdouble" c:type="double*"/>
27318+ </parameter>
27319+ <parameter name="y"
27320+ direction="inout"
27321+ caller-allocates="0"
27322+ transfer-ownership="full">
27323+ <doc xml:space="preserve"
27324+ filename="gdk/gdksurface.c"
27325+ line="2976">coordinates to translate</doc>
27326+ <type name="gdouble" c:type="double*"/>
27327+ </parameter>
27328+ </parameters>
27329+ </method>
27330+ <property name="cursor"
27331+ writable="1"
27332+ transfer-ownership="none"
27333+ setter="set_cursor"
27334+ getter="get_cursor">
27335+ <attribute name="org.gtk.Property.get" value="gdk_surface_get_cursor"/>
27336+ <attribute name="org.gtk.Property.set" value="gdk_surface_set_cursor"/>
27337+ <doc xml:space="preserve"
27338+ filename="gdk/gdksurface.c"
27339+ line="503">The mouse pointer for the `GdkSurface`.</doc>
27340+ <type name="Cursor"/>
27341+ </property>
27342+ <property name="display"
27343+ writable="1"
27344+ construct-only="1"
27345+ transfer-ownership="none"
27346+ getter="get_display">
27347+ <attribute name="org.gtk.Property.get"
27348+ value="gdk_surface_get_display"/>
27349+ <doc xml:space="preserve"
27350+ filename="gdk/gdksurface.c"
27351+ line="513">The `GdkDisplay` connection of the surface.</doc>
27352+ <type name="Display"/>
27353+ </property>
27354+ <property name="frame-clock"
27355+ writable="1"
27356+ construct-only="1"
27357+ transfer-ownership="none"
27358+ getter="get_frame_clock">
27359+ <attribute name="org.gtk.Property.get"
27360+ value="gdk_surface_get_frame_clock"/>
27361+ <doc xml:space="preserve"
27362+ filename="gdk/gdksurface.c"
27363+ line="523">The `GdkFrameClock` of the surface.</doc>
27364+ <type name="FrameClock"/>
27365+ </property>
27366+ <property name="height" transfer-ownership="none" getter="get_height">
27367+ <attribute name="org.gtk.Property.get" value="gdk_surface_get_height"/>
27368+ <doc xml:space="preserve"
27369+ filename="gdk/gdksurface.c"
27370+ line="553">The height of the surface, in pixels.</doc>
27371+ <type name="gint" c:type="gint"/>
27372+ </property>
27373+ <property name="mapped" transfer-ownership="none" getter="get_mapped">
27374+ <attribute name="org.gtk.Property.get" value="gdk_surface_get_mapped"/>
27375+ <doc xml:space="preserve"
27376+ filename="gdk/gdksurface.c"
27377+ line="533">Whether the surface is mapped.</doc>
27378+ <type name="gboolean" c:type="gboolean"/>
27379+ </property>
27380+ <property name="scale-factor"
27381+ transfer-ownership="none"
27382+ getter="get_scale_factor">
27383+ <attribute name="org.gtk.Property.get"
27384+ value="gdk_surface_get_scale_factor"/>
27385+ <doc xml:space="preserve"
27386+ filename="gdk/gdksurface.c"
27387+ line="563">The scale factor of the surface.</doc>
27388+ <type name="gint" c:type="gint"/>
27389+ </property>
27390+ <property name="width" transfer-ownership="none" getter="get_width">
27391+ <attribute name="org.gtk.Property.get" value="gdk_surface_get_width"/>
27392+ <doc xml:space="preserve"
27393+ filename="gdk/gdksurface.c"
27394+ line="543">The width of the surface in pixels.</doc>
27395+ <type name="gint" c:type="gint"/>
27396+ </property>
27397+ <glib:signal name="enter-monitor" when="first">
27398+ <doc xml:space="preserve"
27399+ filename="gdk/gdksurface.c"
27400+ line="651">Emitted when @surface starts being present on the monitor.</doc>
27401+ <return-value transfer-ownership="none">
27402+ <type name="none" c:type="void"/>
27403+ </return-value>
27404+ <parameters>
27405+ <parameter name="monitor" transfer-ownership="none">
27406+ <doc xml:space="preserve"
27407+ filename="gdk/gdksurface.c"
27408+ line="654">the monitor</doc>
27409+ <type name="Monitor"/>
27410+ </parameter>
27411+ </parameters>
27412+ </glib:signal>
27413+ <glib:signal name="event" when="last">
27414+ <doc xml:space="preserve"
27415+ filename="gdk/gdksurface.c"
27416+ line="627">Emitted when GDK receives an input event for @surface.</doc>
27417+ <return-value transfer-ownership="none">
27418+ <doc xml:space="preserve"
27419+ filename="gdk/gdksurface.c"
27420+ line="634">%TRUE to indicate that the event has been handled</doc>
27421+ <type name="gboolean" c:type="gboolean"/>
27422+ </return-value>
27423+ <parameters>
27424+ <parameter name="event" transfer-ownership="none">
27425+ <doc xml:space="preserve"
27426+ filename="gdk/gdksurface.c"
27427+ line="630">an input event</doc>
27428+ <type name="Event" c:type="gpointer"/>
27429+ </parameter>
27430+ </parameters>
27431+ </glib:signal>
27432+ <glib:signal name="layout" when="first">
27433+ <doc xml:space="preserve"
27434+ filename="gdk/gdksurface.c"
27435+ line="575">Emitted when the size of @surface is changed, or when relayout should
27436+be performed.
27437+
27438+Surface size is reported in ”application pixels”, not
27439+”device pixels” (see gdk_surface_get_scale_factor()).</doc>
27440+ <return-value transfer-ownership="none">
27441+ <type name="none" c:type="void"/>
27442+ </return-value>
27443+ <parameters>
27444+ <parameter name="width" transfer-ownership="none">
27445+ <doc xml:space="preserve"
27446+ filename="gdk/gdksurface.c"
27447+ line="578">the current width</doc>
27448+ <type name="gint" c:type="gint"/>
27449+ </parameter>
27450+ <parameter name="height" transfer-ownership="none">
27451+ <doc xml:space="preserve"
27452+ filename="gdk/gdksurface.c"
27453+ line="579">the current height</doc>
27454+ <type name="gint" c:type="gint"/>
27455+ </parameter>
27456+ </parameters>
27457+ </glib:signal>
27458+ <glib:signal name="leave-monitor" when="first">
27459+ <doc xml:space="preserve"
27460+ filename="gdk/gdksurface.c"
27461+ line="670">Emitted when @surface stops being present on the monitor.</doc>
27462+ <return-value transfer-ownership="none">
27463+ <type name="none" c:type="void"/>
27464+ </return-value>
27465+ <parameters>
27466+ <parameter name="monitor" transfer-ownership="none">
27467+ <doc xml:space="preserve"
27468+ filename="gdk/gdksurface.c"
27469+ line="673">the monitor</doc>
27470+ <type name="Monitor"/>
27471+ </parameter>
27472+ </parameters>
27473+ </glib:signal>
27474+ <glib:signal name="render" when="last">
27475+ <doc xml:space="preserve"
27476+ filename="gdk/gdksurface.c"
27477+ line="603">Emitted when part of the surface needs to be redrawn.</doc>
27478+ <return-value transfer-ownership="none">
27479+ <doc xml:space="preserve"
27480+ filename="gdk/gdksurface.c"
27481+ line="610">%TRUE to indicate that the signal has been handled</doc>
27482+ <type name="gboolean" c:type="gboolean"/>
27483+ </return-value>
27484+ <parameters>
27485+ <parameter name="region" transfer-ownership="none">
27486+ <doc xml:space="preserve"
27487+ filename="gdk/gdksurface.c"
27488+ line="606">the region that needs to be redrawn</doc>
27489+ <type name="cairo.Region"/>
27490+ </parameter>
27491+ </parameters>
27492+ </glib:signal>
27493+ </class>
27494+ <record name="SurfaceClass"
27495+ c:type="GdkSurfaceClass"
27496+ disguised="1"
27497+ glib:is-gtype-struct-for="Surface">
27498+ <source-position filename="gdk/gdksurface.h" line="41"/>
27499+ </record>
27500+ <enumeration name="SurfaceEdge"
27501+ glib:type-name="GdkSurfaceEdge"
27502+ glib:get-type="gdk_surface_edge_get_type"
27503+ c:type="GdkSurfaceEdge">
27504+ <doc xml:space="preserve"
27505+ filename="gdk/gdktoplevel.h"
27506+ line="33">Determines a surface edge or corner.</doc>
27507+ <member name="north_west"
27508+ value="0"
27509+ c:identifier="GDK_SURFACE_EDGE_NORTH_WEST"
27510+ glib:nick="north-west"
27511+ glib:name="GDK_SURFACE_EDGE_NORTH_WEST">
27512+ <doc xml:space="preserve"
27513+ filename="gdk/gdktoplevel.h"
27514+ line="35">the top left corner.</doc>
27515+ </member>
27516+ <member name="north"
27517+ value="1"
27518+ c:identifier="GDK_SURFACE_EDGE_NORTH"
27519+ glib:nick="north"
27520+ glib:name="GDK_SURFACE_EDGE_NORTH">
27521+ <doc xml:space="preserve"
27522+ filename="gdk/gdktoplevel.h"
27523+ line="36">the top edge.</doc>
27524+ </member>
27525+ <member name="north_east"
27526+ value="2"
27527+ c:identifier="GDK_SURFACE_EDGE_NORTH_EAST"
27528+ glib:nick="north-east"
27529+ glib:name="GDK_SURFACE_EDGE_NORTH_EAST">
27530+ <doc xml:space="preserve"
27531+ filename="gdk/gdktoplevel.h"
27532+ line="37">the top right corner.</doc>
27533+ </member>
27534+ <member name="west"
27535+ value="3"
27536+ c:identifier="GDK_SURFACE_EDGE_WEST"
27537+ glib:nick="west"
27538+ glib:name="GDK_SURFACE_EDGE_WEST">
27539+ <doc xml:space="preserve"
27540+ filename="gdk/gdktoplevel.h"
27541+ line="38">the left edge.</doc>
27542+ </member>
27543+ <member name="east"
27544+ value="4"
27545+ c:identifier="GDK_SURFACE_EDGE_EAST"
27546+ glib:nick="east"
27547+ glib:name="GDK_SURFACE_EDGE_EAST">
27548+ <doc xml:space="preserve"
27549+ filename="gdk/gdktoplevel.h"
27550+ line="39">the right edge.</doc>
27551+ </member>
27552+ <member name="south_west"
27553+ value="5"
27554+ c:identifier="GDK_SURFACE_EDGE_SOUTH_WEST"
27555+ glib:nick="south-west"
27556+ glib:name="GDK_SURFACE_EDGE_SOUTH_WEST">
27557+ <doc xml:space="preserve"
27558+ filename="gdk/gdktoplevel.h"
27559+ line="40">the lower left corner.</doc>
27560+ </member>
27561+ <member name="south"
27562+ value="6"
27563+ c:identifier="GDK_SURFACE_EDGE_SOUTH"
27564+ glib:nick="south"
27565+ glib:name="GDK_SURFACE_EDGE_SOUTH">
27566+ <doc xml:space="preserve"
27567+ filename="gdk/gdktoplevel.h"
27568+ line="41">the lower edge.</doc>
27569+ </member>
27570+ <member name="south_east"
27571+ value="7"
27572+ c:identifier="GDK_SURFACE_EDGE_SOUTH_EAST"
27573+ glib:nick="south-east"
27574+ glib:name="GDK_SURFACE_EDGE_SOUTH_EAST">
27575+ <doc xml:space="preserve"
27576+ filename="gdk/gdktoplevel.h"
27577+ line="42">the lower right corner.</doc>
27578+ </member>
27579+ </enumeration>
27580+ <function-macro name="TEXTURE"
27581+ c:identifier="GDK_TEXTURE"
27582+ introspectable="0">
27583+ <source-position filename="gdk/gdktexture.h" line="34"/>
27584+ <parameters>
27585+ <parameter name="obj">
27586+ </parameter>
27587+ </parameters>
27588+ </function-macro>
27589+ <class name="Texture"
27590+ c:symbol-prefix="texture"
27591+ c:type="GdkTexture"
27592+ parent="GObject.Object"
27593+ abstract="1"
27594+ glib:type-name="GdkTexture"
27595+ glib:get-type="gdk_texture_get_type"
27596+ glib:type-struct="TextureClass">
27597+ <doc xml:space="preserve"
27598+ filename="gdk/gdktexture.c"
27599+ line="19">`GdkTexture` is the basic element used to refer to pixel data.
27600+
27601+It is primarily meant for pixel data that will not change over
27602+multiple frames, and will be used for a long time.
27603+
27604+There are various ways to create `GdkTexture` objects from a
27605+[class@GdkPixbuf.Pixbuf], or a Cairo surface, or other pixel data.
27606+
27607+The ownership of the pixel data is transferred to the `GdkTexture`
27608+instance; you can only make a copy of it, via [method@Gdk.Texture.download].
27609+
27610+`GdkTexture` is an immutable object: That means you cannot change
27611+anything about it other than increasing the reference count via
27612+[method@GObject.Object.ref], and consequently, it is a thread-safe object.</doc>
27613+ <source-position filename="gdk/gdktexture.h" line="37"/>
27614+ <implements name="Paintable"/>
27615+ <implements name="Gio.Icon"/>
27616+ <implements name="Gio.LoadableIcon"/>
27617+ <constructor name="new_for_pixbuf"
27618+ c:identifier="gdk_texture_new_for_pixbuf">
27619+ <doc xml:space="preserve"
27620+ filename="gdk/gdktexture.c"
27621+ line="376">Creates a new texture object representing the `GdkPixbuf`.
27622+
27623+This function is threadsafe, so that you can e.g. use GTask
27624+and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
27625+while loading a big image.</doc>
27626+ <source-position filename="gdk/gdktexture.h" line="68"/>
27627+ <return-value transfer-ownership="full">
27628+ <doc xml:space="preserve"
27629+ filename="gdk/gdktexture.c"
27630+ line="386">a new `GdkTexture`</doc>
27631+ <type name="Texture" c:type="GdkTexture*"/>
27632+ </return-value>
27633+ <parameters>
27634+ <parameter name="pixbuf" transfer-ownership="none">
27635+ <doc xml:space="preserve"
27636+ filename="gdk/gdktexture.c"
27637+ line="378">a `GdkPixbuf`</doc>
27638+ <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
27639+ </parameter>
27640+ </parameters>
27641+ </constructor>
27642+ <constructor name="new_from_bytes"
27643+ c:identifier="gdk_texture_new_from_bytes"
27644+ version="4.6"
27645+ throws="1">
27646+ <doc xml:space="preserve"
27647+ filename="gdk/gdktexture.c"
27648+ line="551">Creates a new texture by loading an image from memory,
27649+
27650+The file format is detected automatically. The supported formats
27651+are PNG and JPEG, though more formats might be available.
27652+
27653+If %NULL is returned, then @error will be set.
27654+
27655+This function is threadsafe, so that you can e.g. use GTask
27656+and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
27657+while loading a big image.</doc>
27658+ <source-position filename="gdk/gdktexture.h" line="78"/>
27659+ <return-value transfer-ownership="full">
27660+ <doc xml:space="preserve"
27661+ filename="gdk/gdktexture.c"
27662+ line="567">A newly-created `GdkTexture`</doc>
27663+ <type name="Texture" c:type="GdkTexture*"/>
27664+ </return-value>
27665+ <parameters>
27666+ <parameter name="bytes" transfer-ownership="none">
27667+ <doc xml:space="preserve"
27668+ filename="gdk/gdktexture.c"
27669+ line="553">a `GBytes` containing the data to load</doc>
27670+ <type name="GLib.Bytes" c:type="GBytes*"/>
27671+ </parameter>
27672+ </parameters>
27673+ </constructor>
27674+ <constructor name="new_from_file"
27675+ c:identifier="gdk_texture_new_from_file"
27676+ throws="1">
27677+ <doc xml:space="preserve"
27678+ filename="gdk/gdktexture.c"
27679+ line="458">Creates a new texture by loading an image from a file.
27680+
27681+The file format is detected automatically. The supported formats
27682+are PNG and JPEG, though more formats might be available.
27683+
27684+If %NULL is returned, then @error will be set.
27685+
27686+This function is threadsafe, so that you can e.g. use GTask
27687+and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
27688+while loading a big image.</doc>
27689+ <source-position filename="gdk/gdktexture.h" line="72"/>
27690+ <return-value transfer-ownership="full">
27691+ <doc xml:space="preserve"
27692+ filename="gdk/gdktexture.c"
27693+ line="474">A newly-created `GdkTexture`</doc>
27694+ <type name="Texture" c:type="GdkTexture*"/>
27695+ </return-value>
27696+ <parameters>
27697+ <parameter name="file" transfer-ownership="none">
27698+ <doc xml:space="preserve"
27699+ filename="gdk/gdktexture.c"
27700+ line="460">`GFile` to load</doc>
27701+ <type name="Gio.File" c:type="GFile*"/>
27702+ </parameter>
27703+ </parameters>
27704+ </constructor>
27705+ <constructor name="new_from_filename"
27706+ c:identifier="gdk_texture_new_from_filename"
27707+ version="4.6"
27708+ throws="1">
27709+ <doc xml:space="preserve"
27710+ filename="gdk/gdktexture.c"
27711+ line="597">Creates a new texture by loading an image from a file.
27712+
27713+The file format is detected automatically. The supported formats
27714+are PNG and JPEG, though more formats might be available.
27715+
27716+If %NULL is returned, then @error will be set.
27717+
27718+This function is threadsafe, so that you can e.g. use GTask
27719+and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
27720+while loading a big image.</doc>
27721+ <source-position filename="gdk/gdktexture.h" line="75"/>
27722+ <return-value transfer-ownership="full">
27723+ <doc xml:space="preserve"
27724+ filename="gdk/gdktexture.c"
27725+ line="613">A newly-created `GdkTexture`</doc>
27726+ <type name="Texture" c:type="GdkTexture*"/>
27727+ </return-value>
27728+ <parameters>
27729+ <parameter name="path" transfer-ownership="none">
27730+ <doc xml:space="preserve"
27731+ filename="gdk/gdktexture.c"
27732+ line="599">the filename to load</doc>
27733+ <type name="filename" c:type="const char*"/>
27734+ </parameter>
27735+ </parameters>
27736+ </constructor>
27737+ <constructor name="new_from_resource"
27738+ c:identifier="gdk_texture_new_from_resource">
27739+ <doc xml:space="preserve"
27740+ filename="gdk/gdktexture.c"
27741+ line="414">Creates a new texture by loading an image from a resource.
27742+
27743+The file format is detected automatically. The supported formats
27744+are PNG and JPEG, though more formats might be available.
27745+
27746+It is a fatal error if @resource_path does not specify a valid
27747+image resource and the program will abort if that happens.
27748+If you are unsure about the validity of a resource, use
27749+[ctor@Gdk.Texture.new_from_file] to load it.
27750+
27751+This function is threadsafe, so that you can e.g. use GTask
27752+and [method@Gio.Task.run_in_thread] to avoid blocking the main thread
27753+while loading a big image.</doc>
27754+ <source-position filename="gdk/gdktexture.h" line="70"/>
27755+ <return-value transfer-ownership="full">
27756+ <doc xml:space="preserve"
27757+ filename="gdk/gdktexture.c"
27758+ line="432">A newly-created `GdkTexture`</doc>
27759+ <type name="Texture" c:type="GdkTexture*"/>
27760+ </return-value>
27761+ <parameters>
27762+ <parameter name="resource_path" transfer-ownership="none">
27763+ <doc xml:space="preserve"
27764+ filename="gdk/gdktexture.c"
27765+ line="416">the path of the resource file</doc>
27766+ <type name="utf8" c:type="const char*"/>
27767+ </parameter>
27768+ </parameters>
27769+ </constructor>
27770+ <method name="download" c:identifier="gdk_texture_download">
27771+ <doc xml:space="preserve"
27772+ filename="gdk/gdktexture.c"
27773+ line="699">Downloads the @texture into local memory.
27774+
27775+This may be an expensive operation, as the actual texture data
27776+may reside on a GPU or on a remote display server.
27777+
27778+The data format of the downloaded data is equivalent to
27779+%CAIRO_FORMAT_ARGB32, so every downloaded pixel requires
27780+4 bytes of memory.
27781+
27782+Downloading a texture into a Cairo image surface:
27783+```c
27784+surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
27785+ gdk_texture_get_width (texture),
27786+ gdk_texture_get_height (texture));
27787+gdk_texture_download (texture,
27788+ cairo_image_surface_get_data (surface),
27789+ cairo_image_surface_get_stride (surface));
27790+cairo_surface_mark_dirty (surface);
27791+```</doc>
27792+ <source-position filename="gdk/gdktexture.h" line="87"/>
27793+ <return-value transfer-ownership="none">
27794+ <type name="none" c:type="void"/>
27795+ </return-value>
27796+ <parameters>
27797+ <instance-parameter name="texture" transfer-ownership="none">
27798+ <doc xml:space="preserve"
27799+ filename="gdk/gdktexture.c"
27800+ line="701">a `GdkTexture`</doc>
27801+ <type name="Texture" c:type="GdkTexture*"/>
27802+ </instance-parameter>
27803+ <parameter name="data" transfer-ownership="none">
27804+ <doc xml:space="preserve"
27805+ filename="gdk/gdktexture.c"
27806+ line="702">pointer to enough memory to be filled with the
27807+ downloaded data of @texture</doc>
27808+ <array zero-terminated="0" c:type="guchar*">
27809+ <type name="guint8" c:type="guchar"/>
27810+ </array>
27811+ </parameter>
27812+ <parameter name="stride" transfer-ownership="none">
27813+ <doc xml:space="preserve"
27814+ filename="gdk/gdktexture.c"
27815+ line="704">rowstride in bytes</doc>
27816+ <type name="gsize" c:type="gsize"/>
27817+ </parameter>
27818+ </parameters>
27819+ </method>
27820+ <method name="get_height"
27821+ c:identifier="gdk_texture_get_height"
27822+ glib:get-property="height">
27823+ <attribute name="org.gtk.Method.get_property" value="height"/>
27824+ <doc xml:space="preserve"
27825+ filename="gdk/gdktexture.c"
27826+ line="652">Returns the height of the @texture, in pixels.</doc>
27827+ <source-position filename="gdk/gdktexture.h" line="84"/>
27828+ <return-value transfer-ownership="none">
27829+ <doc xml:space="preserve"
27830+ filename="gdk/gdktexture.c"
27831+ line="658">the height of the `GdkTexture`</doc>
27832+ <type name="gint" c:type="int"/>
27833+ </return-value>
27834+ <parameters>
27835+ <instance-parameter name="texture" transfer-ownership="none">
27836+ <doc xml:space="preserve"
27837+ filename="gdk/gdktexture.c"
27838+ line="654">a `GdkTexture`</doc>
27839+ <type name="Texture" c:type="GdkTexture*"/>
27840+ </instance-parameter>
27841+ </parameters>
27842+ </method>
27843+ <method name="get_width"
27844+ c:identifier="gdk_texture_get_width"
27845+ glib:get-property="width">
27846+ <attribute name="org.gtk.Method.get_property" value="width"/>
27847+ <doc xml:space="preserve"
27848+ filename="gdk/gdktexture.c"
27849+ line="636">Returns the width of @texture, in pixels.</doc>
27850+ <source-position filename="gdk/gdktexture.h" line="82"/>
27851+ <return-value transfer-ownership="none">
27852+ <doc xml:space="preserve"
27853+ filename="gdk/gdktexture.c"
27854+ line="642">the width of the `GdkTexture`</doc>
27855+ <type name="gint" c:type="int"/>
27856+ </return-value>
27857+ <parameters>
27858+ <instance-parameter name="texture" transfer-ownership="none">
27859+ <doc xml:space="preserve"
27860+ filename="gdk/gdktexture.c"
27861+ line="638">a `GdkTexture`</doc>
27862+ <type name="Texture" c:type="GdkTexture*"/>
27863+ </instance-parameter>
27864+ </parameters>
27865+ </method>
27866+ <method name="save_to_png" c:identifier="gdk_texture_save_to_png">
27867+ <doc xml:space="preserve"
27868+ filename="gdk/gdktexture.c"
27869+ line="786">Store the given @texture to the @filename as a PNG file.
27870+
27871+This is a utility function intended for debugging and testing.
27872+If you want more control over formats, proper error handling or
27873+want to store to a [iface@Gio.File] or other location, you might want to
27874+use [method@Gdk.Texture.save_to_png_bytes] or look into the
27875+gdk-pixbuf library.</doc>
27876+ <source-position filename="gdk/gdktexture.h" line="91"/>
27877+ <return-value transfer-ownership="none">
27878+ <doc xml:space="preserve"
27879+ filename="gdk/gdktexture.c"
27880+ line="799">%TRUE if saving succeeded, %FALSE on failure.</doc>
27881+ <type name="gboolean" c:type="gboolean"/>
27882+ </return-value>
27883+ <parameters>
27884+ <instance-parameter name="texture" transfer-ownership="none">
27885+ <doc xml:space="preserve"
27886+ filename="gdk/gdktexture.c"
27887+ line="788">a `GdkTexture`</doc>
27888+ <type name="Texture" c:type="GdkTexture*"/>
27889+ </instance-parameter>
27890+ <parameter name="filename" transfer-ownership="none">
27891+ <doc xml:space="preserve"
27892+ filename="gdk/gdktexture.c"
27893+ line="789">the filename to store to</doc>
27894+ <type name="filename" c:type="const char*"/>
27895+ </parameter>
27896+ </parameters>
27897+ </method>
27898+ <method name="save_to_png_bytes"
27899+ c:identifier="gdk_texture_save_to_png_bytes"
27900+ version="4.6">
27901+ <doc xml:space="preserve"
27902+ filename="gdk/gdktexture.c"
27903+ line="821">Store the given @texture in memory as a PNG file.
27904+
27905+Use [ctor@Gdk.Texture.new_from_bytes] to read it back.
27906+
27907+If you want to serialize a texture, this is a convenient and
27908+portable way to do that.
27909+
27910+If you need more control over the generated image, such as
27911+attaching metadata, you should look into an image handling
27912+library such as the gdk-pixbuf library.
27913+
27914+If you are dealing with high dynamic range float data, you
27915+might also want to consider [method@Gdk.Texture.save_to_tiff_bytes]
27916+instead.</doc>
27917+ <source-position filename="gdk/gdktexture.h" line="94"/>
27918+ <return-value transfer-ownership="full">
27919+ <doc xml:space="preserve"
27920+ filename="gdk/gdktexture.c"
27921+ line="840">a newly allocated `GBytes` containing PNG data</doc>
27922+ <type name="GLib.Bytes" c:type="GBytes*"/>
27923+ </return-value>
27924+ <parameters>
27925+ <instance-parameter name="texture" transfer-ownership="none">
27926+ <doc xml:space="preserve"
27927+ filename="gdk/gdktexture.c"
27928+ line="823">a `GdkTexture`</doc>
27929+ <type name="Texture" c:type="GdkTexture*"/>
27930+ </instance-parameter>
27931+ </parameters>
27932+ </method>
27933+ <method name="save_to_tiff"
27934+ c:identifier="gdk_texture_save_to_tiff"
27935+ version="4.6">
27936+ <doc xml:space="preserve"
27937+ filename="gdk/gdktexture.c"
27938+ line="852">Store the given @texture to the @filename as a TIFF file.
27939+
27940+GTK will attempt to store data without loss.</doc>
27941+ <source-position filename="gdk/gdktexture.h" line="96"/>
27942+ <return-value transfer-ownership="none">
27943+ <doc xml:space="preserve"
27944+ filename="gdk/gdktexture.c"
27945+ line="860">%TRUE if saving succeeded, %FALSE on failure.</doc>
27946+ <type name="gboolean" c:type="gboolean"/>
27947+ </return-value>
27948+ <parameters>
27949+ <instance-parameter name="texture" transfer-ownership="none">
27950+ <doc xml:space="preserve"
27951+ filename="gdk/gdktexture.c"
27952+ line="854">a `GdkTexture`</doc>
27953+ <type name="Texture" c:type="GdkTexture*"/>
27954+ </instance-parameter>
27955+ <parameter name="filename" transfer-ownership="none">
27956+ <doc xml:space="preserve"
27957+ filename="gdk/gdktexture.c"
27958+ line="855">the filename to store to</doc>
27959+ <type name="filename" c:type="const char*"/>
27960+ </parameter>
27961+ </parameters>
27962+ </method>
27963+ <method name="save_to_tiff_bytes"
27964+ c:identifier="gdk_texture_save_to_tiff_bytes"
27965+ version="4.6">
27966+ <doc xml:space="preserve"
27967+ filename="gdk/gdktexture.c"
27968+ line="884">Store the given @texture in memory as a TIFF file.
27969+
27970+Use [ctor@Gdk.Texture.new_from_bytes] to read it back.
27971+
27972+This function is intended to store a representation of the
27973+texture's data that is as accurate as possible. This is
27974+particularly relevant when working with high dynamic range
27975+images and floating-point texture data.
27976+
27977+If that is not your concern and you are interested in a
27978+smaller size and a more portable format, you might want to
27979+use [method@Gdk.Texture.save_to_png_bytes].</doc>
27980+ <source-position filename="gdk/gdktexture.h" line="99"/>
27981+ <return-value transfer-ownership="full">
27982+ <doc xml:space="preserve"
27983+ filename="gdk/gdktexture.c"
27984+ line="901">a newly allocated `GBytes` containing TIFF data</doc>
27985+ <type name="GLib.Bytes" c:type="GBytes*"/>
27986+ </return-value>
27987+ <parameters>
27988+ <instance-parameter name="texture" transfer-ownership="none">
27989+ <doc xml:space="preserve"
27990+ filename="gdk/gdktexture.c"
27991+ line="886">a `GdkTexture`</doc>
27992+ <type name="Texture" c:type="GdkTexture*"/>
27993+ </instance-parameter>
27994+ </parameters>
27995+ </method>
27996+ <property name="height"
27997+ writable="1"
27998+ construct-only="1"
27999+ transfer-ownership="none"
28000+ getter="get_height">
28001+ <attribute name="org.gtk.Property.get" value="gdk_texture_get_height"/>
28002+ <doc xml:space="preserve"
28003+ filename="gdk/gdktexture.c"
28004+ line="316">The height of the texture, in pixels.</doc>
28005+ <type name="gint" c:type="gint"/>
28006+ </property>
28007+ <property name="width"
28008+ writable="1"
28009+ construct-only="1"
28010+ transfer-ownership="none"
28011+ getter="get_width">
28012+ <attribute name="org.gtk.Property.get" value="gdk_texture_get_width"/>
28013+ <doc xml:space="preserve"
28014+ filename="gdk/gdktexture.c"
28015+ line="301">The width of the texture, in pixels.</doc>
28016+ <type name="gint" c:type="gint"/>
28017+ </property>
28018+ </class>
28019+ <record name="TextureClass"
28020+ c:type="GdkTextureClass"
28021+ disguised="1"
28022+ glib:is-gtype-struct-for="Texture">
28023+ <source-position filename="gdk/gdktexture.h" line="37"/>
28024+ </record>
28025+ <enumeration name="TextureError"
28026+ version="4.6"
28027+ glib:type-name="GdkTextureError"
28028+ glib:get-type="gdk_texture_error_get_type"
28029+ c:type="GdkTextureError"
28030+ glib:error-domain="gdk-texture-error-quark">
28031+ <doc xml:space="preserve"
28032+ filename="gdk/gdktexture.h"
28033+ line="44">Possible errors that can be returned by `GdkTexture` constructors.</doc>
28034+ <member name="too_large"
28035+ value="0"
28036+ c:identifier="GDK_TEXTURE_ERROR_TOO_LARGE"
28037+ glib:nick="too-large"
28038+ glib:name="GDK_TEXTURE_ERROR_TOO_LARGE">
28039+ <doc xml:space="preserve"
28040+ filename="gdk/gdktexture.h"
28041+ line="46">Not enough memory to handle this image</doc>
28042+ </member>
28043+ <member name="corrupt_image"
28044+ value="1"
28045+ c:identifier="GDK_TEXTURE_ERROR_CORRUPT_IMAGE"
28046+ glib:nick="corrupt-image"
28047+ glib:name="GDK_TEXTURE_ERROR_CORRUPT_IMAGE">
28048+ <doc xml:space="preserve"
28049+ filename="gdk/gdktexture.h"
28050+ line="47">The image data appears corrupted</doc>
28051+ </member>
28052+ <member name="unsupported_content"
28053+ value="2"
28054+ c:identifier="GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT"
28055+ glib:nick="unsupported-content"
28056+ glib:name="GDK_TEXTURE_ERROR_UNSUPPORTED_CONTENT">
28057+ <doc xml:space="preserve"
28058+ filename="gdk/gdktexture.h"
28059+ line="48">The image contains features
28060+ that cannot be loaded</doc>
28061+ </member>
28062+ <member name="unsupported_format"
28063+ value="3"
28064+ c:identifier="GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT"
28065+ glib:nick="unsupported-format"
28066+ glib:name="GDK_TEXTURE_ERROR_UNSUPPORTED_FORMAT">
28067+ <doc xml:space="preserve"
28068+ filename="gdk/gdktexture.h"
28069+ line="50">The image format is not supported</doc>
28070+ </member>
28071+ <function name="quark" c:identifier="gdk_texture_error_quark">
28072+ <return-value transfer-ownership="none">
28073+ <type name="GLib.Quark" c:type="GQuark"/>
28074+ </return-value>
28075+ </function>
28076+ </enumeration>
28077+ <record name="TimeCoord" c:type="GdkTimeCoord">
28078+ <doc xml:space="preserve"
28079+ filename="gdk/gdkdevice.h"
28080+ line="66">A `GdkTimeCoord` stores a single event in a motion history.
28081+
28082+To check whether an axis is present, check whether the corresponding
28083+flag from the [flags@Gdk.AxisFlags] enumeration is set in the @flags
28084+To access individual axis values, use the values of the values of
28085+the [enum@Gdk.AxisUse] enumerations as indices.</doc>
28086+ <source-position filename="gdk/gdkdevice.h" line="84"/>
28087+ <field name="time" writable="1">
28088+ <doc xml:space="preserve"
28089+ filename="gdk/gdkdevice.h"
28090+ line="68">The timestamp for this event</doc>
28091+ <type name="guint32" c:type="guint32"/>
28092+ </field>
28093+ <field name="flags" writable="1">
28094+ <doc xml:space="preserve"
28095+ filename="gdk/gdkdevice.h"
28096+ line="69">Flags indicating what axes are present, see [flags@Gdk.AxisFlags]</doc>
28097+ <type name="AxisFlags" c:type="GdkAxisFlags"/>
28098+ </field>
28099+ <field name="axes" writable="1">
28100+ <doc xml:space="preserve"
28101+ filename="gdk/gdkdevice.h"
28102+ line="70">axis values, indexed by [enum@Gdk.AxisUse]</doc>
28103+ <array zero-terminated="0" fixed-size="12">
28104+ <type name="gdouble" c:type="double"/>
28105+ </array>
28106+ </field>
28107+ </record>
28108+ <enumeration name="TitlebarGesture"
28109+ version="4.4"
28110+ glib:type-name="GdkTitlebarGesture"
28111+ glib:get-type="gdk_titlebar_gesture_get_type"
28112+ c:type="GdkTitlebarGesture">
28113+ <member name="double_click"
28114+ value="1"
28115+ c:identifier="GDK_TITLEBAR_GESTURE_DOUBLE_CLICK"
28116+ glib:nick="double-click"
28117+ glib:name="GDK_TITLEBAR_GESTURE_DOUBLE_CLICK">
28118+ </member>
28119+ <member name="right_click"
28120+ value="2"
28121+ c:identifier="GDK_TITLEBAR_GESTURE_RIGHT_CLICK"
28122+ glib:nick="right-click"
28123+ glib:name="GDK_TITLEBAR_GESTURE_RIGHT_CLICK">
28124+ </member>
28125+ <member name="middle_click"
28126+ value="3"
28127+ c:identifier="GDK_TITLEBAR_GESTURE_MIDDLE_CLICK"
28128+ glib:nick="middle-click"
28129+ glib:name="GDK_TITLEBAR_GESTURE_MIDDLE_CLICK">
28130+ </member>
28131+ </enumeration>
28132+ <interface name="Toplevel"
28133+ c:symbol-prefix="toplevel"
28134+ c:type="GdkToplevel"
28135+ glib:type-name="GdkToplevel"
28136+ glib:get-type="gdk_toplevel_get_type"
28137+ glib:type-struct="ToplevelInterface">
28138+ <doc xml:space="preserve"
28139+ filename="gdk/gdktoplevel.c"
28140+ line="32">A `GdkToplevel` is a freestanding toplevel surface.
28141+
28142+The `GdkToplevel` interface provides useful APIs for interacting with
28143+the windowing system, such as controlling maximization and size of the
28144+surface, setting icons and transient parents for dialogs.</doc>
28145+ <source-position filename="gdk/gdktoplevel.h" line="137"/>
28146+ <prerequisite name="Surface"/>
28147+ <method name="begin_move" c:identifier="gdk_toplevel_begin_move">
28148+ <doc xml:space="preserve"
28149+ filename="gdk/gdktoplevel.c"
28150+ line="671">Begins an interactive move operation.
28151+
28152+You might use this function to implement draggable titlebars.</doc>
28153+ <source-position filename="gdk/gdktoplevel.h" line="207"/>
28154+ <return-value transfer-ownership="none">
28155+ <type name="none" c:type="void"/>
28156+ </return-value>
28157+ <parameters>
28158+ <instance-parameter name="toplevel" transfer-ownership="none">
28159+ <doc xml:space="preserve"
28160+ filename="gdk/gdktoplevel.c"
28161+ line="673">a `GdkToplevel`</doc>
28162+ <type name="Toplevel" c:type="GdkToplevel*"/>
28163+ </instance-parameter>
28164+ <parameter name="device" transfer-ownership="none">
28165+ <doc xml:space="preserve"
28166+ filename="gdk/gdktoplevel.c"
28167+ line="674">the device used for the operation</doc>
28168+ <type name="Device" c:type="GdkDevice*"/>
28169+ </parameter>
28170+ <parameter name="button" transfer-ownership="none">
28171+ <doc xml:space="preserve"
28172+ filename="gdk/gdktoplevel.c"
28173+ line="675">the button being used to drag, or 0 for a keyboard-initiated drag</doc>
28174+ <type name="gint" c:type="int"/>
28175+ </parameter>
28176+ <parameter name="x" transfer-ownership="none">
28177+ <doc xml:space="preserve"
28178+ filename="gdk/gdktoplevel.c"
28179+ line="676">surface X coordinate of mouse click that began the drag</doc>
28180+ <type name="gdouble" c:type="double"/>
28181+ </parameter>
28182+ <parameter name="y" transfer-ownership="none">
28183+ <doc xml:space="preserve"
28184+ filename="gdk/gdktoplevel.c"
28185+ line="677">surface Y coordinate of mouse click that began the drag</doc>
28186+ <type name="gdouble" c:type="double"/>
28187+ </parameter>
28188+ <parameter name="timestamp" transfer-ownership="none">
28189+ <doc xml:space="preserve"
28190+ filename="gdk/gdktoplevel.c"
28191+ line="678">timestamp of mouse click that began the drag (use
28192+ [method@Gdk.Event.get_time])</doc>
28193+ <type name="guint32" c:type="guint32"/>
28194+ </parameter>
28195+ </parameters>
28196+ </method>
28197+ <method name="begin_resize" c:identifier="gdk_toplevel_begin_resize">
28198+ <doc xml:space="preserve"
28199+ filename="gdk/gdktoplevel.c"
28200+ line="628">Begins an interactive resize operation.
28201+
28202+You might use this function to implement a “window resize grip.”</doc>
28203+ <source-position filename="gdk/gdktoplevel.h" line="198"/>
28204+ <return-value transfer-ownership="none">
28205+ <type name="none" c:type="void"/>
28206+ </return-value>
28207+ <parameters>
28208+ <instance-parameter name="toplevel" transfer-ownership="none">
28209+ <doc xml:space="preserve"
28210+ filename="gdk/gdktoplevel.c"
28211+ line="630">a `GdkToplevel`</doc>
28212+ <type name="Toplevel" c:type="GdkToplevel*"/>
28213+ </instance-parameter>
28214+ <parameter name="edge" transfer-ownership="none">
28215+ <doc xml:space="preserve"
28216+ filename="gdk/gdktoplevel.c"
28217+ line="631">the edge or corner from which the drag is started</doc>
28218+ <type name="SurfaceEdge" c:type="GdkSurfaceEdge"/>
28219+ </parameter>
28220+ <parameter name="device"
28221+ transfer-ownership="none"
28222+ nullable="1"
28223+ allow-none="1">
28224+ <doc xml:space="preserve"
28225+ filename="gdk/gdktoplevel.c"
28226+ line="632">the device used for the operation</doc>
28227+ <type name="Device" c:type="GdkDevice*"/>
28228+ </parameter>
28229+ <parameter name="button" transfer-ownership="none">
28230+ <doc xml:space="preserve"
28231+ filename="gdk/gdktoplevel.c"
28232+ line="633">the button being used to drag, or 0 for a keyboard-initiated drag</doc>
28233+ <type name="gint" c:type="int"/>
28234+ </parameter>
28235+ <parameter name="x" transfer-ownership="none">
28236+ <doc xml:space="preserve"
28237+ filename="gdk/gdktoplevel.c"
28238+ line="634">surface X coordinate of mouse click that began the drag</doc>
28239+ <type name="gdouble" c:type="double"/>
28240+ </parameter>
28241+ <parameter name="y" transfer-ownership="none">
28242+ <doc xml:space="preserve"
28243+ filename="gdk/gdktoplevel.c"
28244+ line="635">surface Y coordinate of mouse click that began the drag</doc>
28245+ <type name="gdouble" c:type="double"/>
28246+ </parameter>
28247+ <parameter name="timestamp" transfer-ownership="none">
28248+ <doc xml:space="preserve"
28249+ filename="gdk/gdktoplevel.c"
28250+ line="636">timestamp of mouse click that began the drag (use
28251+ [method@Gdk.Event.get_time])</doc>
28252+ <type name="guint32" c:type="guint32"/>
28253+ </parameter>
28254+ </parameters>
28255+ </method>
28256+ <method name="focus" c:identifier="gdk_toplevel_focus">
28257+ <doc xml:space="preserve"
28258+ filename="gdk/gdktoplevel.c"
28259+ line="342">Sets keyboard focus to @surface.
28260+
28261+In most cases, [method@Gtk.Window.present_with_time] should be
28262+used on a [class@Gtk.Window], rather than calling this function.</doc>
28263+ <source-position filename="gdk/gdktoplevel.h" line="150"/>
28264+ <return-value transfer-ownership="none">
28265+ <type name="none" c:type="void"/>
28266+ </return-value>
28267+ <parameters>
28268+ <instance-parameter name="toplevel" transfer-ownership="none">
28269+ <doc xml:space="preserve"
28270+ filename="gdk/gdktoplevel.c"
28271+ line="344">a `GdkToplevel`</doc>
28272+ <type name="Toplevel" c:type="GdkToplevel*"/>
28273+ </instance-parameter>
28274+ <parameter name="timestamp" transfer-ownership="none">
28275+ <doc xml:space="preserve"
28276+ filename="gdk/gdktoplevel.c"
28277+ line="345">timestamp of the event triggering the surface focus</doc>
28278+ <type name="guint32" c:type="guint32"/>
28279+ </parameter>
28280+ </parameters>
28281+ </method>
28282+ <method name="get_state"
28283+ c:identifier="gdk_toplevel_get_state"
28284+ glib:get-property="state">
28285+ <attribute name="org.gtk.Method.get_property" value="state"/>
28286+ <doc xml:space="preserve"
28287+ filename="gdk/gdktoplevel.c"
28288+ line="361">Gets the bitwise or of the currently active surface state flags,
28289+from the `GdkToplevelState` enumeration.</doc>
28290+ <source-position filename="gdk/gdktoplevel.h" line="154"/>
28291+ <return-value transfer-ownership="none">
28292+ <doc xml:space="preserve"
28293+ filename="gdk/gdktoplevel.c"
28294+ line="368">surface state bitfield</doc>
28295+ <type name="ToplevelState" c:type="GdkToplevelState"/>
28296+ </return-value>
28297+ <parameters>
28298+ <instance-parameter name="toplevel" transfer-ownership="none">
28299+ <doc xml:space="preserve"
28300+ filename="gdk/gdktoplevel.c"
28301+ line="363">a `GdkToplevel`</doc>
28302+ <type name="Toplevel" c:type="GdkToplevel*"/>
28303+ </instance-parameter>
28304+ </parameters>
28305+ </method>
28306+ <method name="inhibit_system_shortcuts"
28307+ c:identifier="gdk_toplevel_inhibit_system_shortcuts">
28308+ <doc xml:space="preserve"
28309+ filename="gdk/gdktoplevel.c"
28310+ line="573">Requests that the @toplevel inhibit the system shortcuts.
28311+
28312+This is asking the desktop environment/windowing system to let all
28313+keyboard events reach the surface, as long as it is focused, instead
28314+of triggering system actions.
28315+
28316+If granted, the rerouting remains active until the default shortcuts
28317+processing is restored with [method@Gdk.Toplevel.restore_system_shortcuts],
28318+or the request is revoked by the desktop environment, windowing system
28319+or the user.
28320+
28321+A typical use case for this API is remote desktop or virtual machine
28322+viewers which need to inhibit the default system keyboard shortcuts
28323+so that the remote session or virtual host gets those instead of the
28324+local environment.
28325+
28326+The windowing system or desktop environment may ask the user to grant
28327+or deny the request or even choose to ignore the request entirely.
28328+
28329+The caller can be notified whenever the request is granted or revoked
28330+by listening to the [property@Gdk.Toplevel:shortcuts-inhibited] property.</doc>
28331+ <source-position filename="gdk/gdktoplevel.h" line="191"/>
28332+ <return-value transfer-ownership="none">
28333+ <type name="none" c:type="void"/>
28334+ </return-value>
28335+ <parameters>
28336+ <instance-parameter name="toplevel" transfer-ownership="none">
28337+ <doc xml:space="preserve"
28338+ filename="gdk/gdktoplevel.c"
28339+ line="575">a `GdkToplevel`</doc>
28340+ <type name="Toplevel" c:type="GdkToplevel*"/>
28341+ </instance-parameter>
28342+ <parameter name="event"
28343+ transfer-ownership="none"
28344+ nullable="1"
28345+ allow-none="1">
28346+ <doc xml:space="preserve"
28347+ filename="gdk/gdktoplevel.c"
28348+ line="576">the `GdkEvent` that is triggering the inhibit
28349+ request, or %NULL if none is available</doc>
28350+ <type name="Event" c:type="GdkEvent*"/>
28351+ </parameter>
28352+ </parameters>
28353+ </method>
28354+ <method name="lower" c:identifier="gdk_toplevel_lower">
28355+ <doc xml:space="preserve"
28356+ filename="gdk/gdktoplevel.c"
28357+ line="324">Asks to lower the @toplevel below other windows.
28358+
28359+The windowing system may choose to ignore the request.</doc>
28360+ <source-position filename="gdk/gdktoplevel.h" line="147"/>
28361+ <return-value transfer-ownership="none">
28362+ <doc xml:space="preserve"
28363+ filename="gdk/gdktoplevel.c"
28364+ line="332">%TRUE if the surface was lowered</doc>
28365+ <type name="gboolean" c:type="gboolean"/>
28366+ </return-value>
28367+ <parameters>
28368+ <instance-parameter name="toplevel" transfer-ownership="none">
28369+ <doc xml:space="preserve"
28370+ filename="gdk/gdktoplevel.c"
28371+ line="326">a `GdkToplevel`</doc>
28372+ <type name="Toplevel" c:type="GdkToplevel*"/>
28373+ </instance-parameter>
28374+ </parameters>
28375+ </method>
28376+ <method name="minimize" c:identifier="gdk_toplevel_minimize">
28377+ <doc xml:space="preserve"
28378+ filename="gdk/gdktoplevel.c"
28379+ line="306">Asks to minimize the @toplevel.
28380+
28381+The windowing system may choose to ignore the request.</doc>
28382+ <source-position filename="gdk/gdktoplevel.h" line="144"/>
28383+ <return-value transfer-ownership="none">
28384+ <doc xml:space="preserve"
28385+ filename="gdk/gdktoplevel.c"
28386+ line="314">%TRUE if the surface was minimized</doc>
28387+ <type name="gboolean" c:type="gboolean"/>
28388+ </return-value>
28389+ <parameters>
28390+ <instance-parameter name="toplevel" transfer-ownership="none">
28391+ <doc xml:space="preserve"
28392+ filename="gdk/gdktoplevel.c"
28393+ line="308">a `GdkToplevel`</doc>
28394+ <type name="Toplevel" c:type="GdkToplevel*"/>
28395+ </instance-parameter>
28396+ </parameters>
28397+ </method>
28398+ <method name="present" c:identifier="gdk_toplevel_present">
28399+ <doc xml:space="preserve"
28400+ filename="gdk/gdktoplevel.c"
28401+ line="279">Present @toplevel after having processed the `GdkToplevelLayout` rules.
28402+
28403+If the toplevel was previously not showing, it will be showed,
28404+otherwise it will change layout according to @layout.
28405+
28406+GDK may emit the [signal@Gdk.Toplevel::compute-size] signal to let
28407+the user of this toplevel compute the preferred size of the toplevel
28408+surface.
28409+
28410+Presenting is asynchronous and the specified layout parameters are not
28411+guaranteed to be respected.</doc>
28412+ <source-position filename="gdk/gdktoplevel.h" line="140"/>
28413+ <return-value transfer-ownership="none">
28414+ <type name="none" c:type="void"/>
28415+ </return-value>
28416+ <parameters>
28417+ <instance-parameter name="toplevel" transfer-ownership="none">
28418+ <doc xml:space="preserve"
28419+ filename="gdk/gdktoplevel.c"
28420+ line="281">the `GdkToplevel` to show</doc>
28421+ <type name="Toplevel" c:type="GdkToplevel*"/>
28422+ </instance-parameter>
28423+ <parameter name="layout" transfer-ownership="none">
28424+ <doc xml:space="preserve"
28425+ filename="gdk/gdktoplevel.c"
28426+ line="282">the `GdkToplevelLayout` object used to layout</doc>
28427+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28428+ </parameter>
28429+ </parameters>
28430+ </method>
28431+ <method name="restore_system_shortcuts"
28432+ c:identifier="gdk_toplevel_restore_system_shortcuts">
28433+ <doc xml:space="preserve"
28434+ filename="gdk/gdktoplevel.c"
28435+ line="611">Restore default system keyboard shortcuts which were previously
28436+inhibited.
28437+
28438+This undoes the effect of [method@Gdk.Toplevel.inhibit_system_shortcuts].</doc>
28439+ <source-position filename="gdk/gdktoplevel.h" line="195"/>
28440+ <return-value transfer-ownership="none">
28441+ <type name="none" c:type="void"/>
28442+ </return-value>
28443+ <parameters>
28444+ <instance-parameter name="toplevel" transfer-ownership="none">
28445+ <doc xml:space="preserve"
28446+ filename="gdk/gdktoplevel.c"
28447+ line="613">a `GdkToplevel`</doc>
28448+ <type name="Toplevel" c:type="GdkToplevel*"/>
28449+ </instance-parameter>
28450+ </parameters>
28451+ </method>
28452+ <method name="set_decorated"
28453+ c:identifier="gdk_toplevel_set_decorated"
28454+ glib:set-property="decorated">
28455+ <attribute name="org.gtk.Method.set_property" value="decorated"/>
28456+ <doc xml:space="preserve"
28457+ filename="gdk/gdktoplevel.c"
28458+ line="517">Sets the toplevel to be decorated.
28459+
28460+Setting @decorated to %FALSE hints the desktop environment
28461+that the surface has its own, client-side decorations and
28462+does not need to have window decorations added.</doc>
28463+ <source-position filename="gdk/gdktoplevel.h" line="181"/>
28464+ <return-value transfer-ownership="none">
28465+ <type name="none" c:type="void"/>
28466+ </return-value>
28467+ <parameters>
28468+ <instance-parameter name="toplevel" transfer-ownership="none">
28469+ <doc xml:space="preserve"
28470+ filename="gdk/gdktoplevel.c"
28471+ line="519">a `GdkToplevel`</doc>
28472+ <type name="Toplevel" c:type="GdkToplevel*"/>
28473+ </instance-parameter>
28474+ <parameter name="decorated" transfer-ownership="none">
28475+ <doc xml:space="preserve"
28476+ filename="gdk/gdktoplevel.c"
28477+ line="520">%TRUE to request decorations</doc>
28478+ <type name="gboolean" c:type="gboolean"/>
28479+ </parameter>
28480+ </parameters>
28481+ </method>
28482+ <method name="set_deletable"
28483+ c:identifier="gdk_toplevel_set_deletable"
28484+ glib:set-property="deletable">
28485+ <attribute name="org.gtk.Method.set_property" value="deletable"/>
28486+ <doc xml:space="preserve"
28487+ filename="gdk/gdktoplevel.c"
28488+ line="537">Sets the toplevel to be deletable.
28489+
28490+Setting @deletable to %TRUE hints the desktop environment
28491+that it should offer the user a way to close the surface.</doc>
28492+ <source-position filename="gdk/gdktoplevel.h" line="185"/>
28493+ <return-value transfer-ownership="none">
28494+ <type name="none" c:type="void"/>
28495+ </return-value>
28496+ <parameters>
28497+ <instance-parameter name="toplevel" transfer-ownership="none">
28498+ <doc xml:space="preserve"
28499+ filename="gdk/gdktoplevel.c"
28500+ line="539">a `GdkToplevel`</doc>
28501+ <type name="Toplevel" c:type="GdkToplevel*"/>
28502+ </instance-parameter>
28503+ <parameter name="deletable" transfer-ownership="none">
28504+ <doc xml:space="preserve"
28505+ filename="gdk/gdktoplevel.c"
28506+ line="540">%TRUE to request a delete button</doc>
28507+ <type name="gboolean" c:type="gboolean"/>
28508+ </parameter>
28509+ </parameters>
28510+ </method>
28511+ <method name="set_icon_list"
28512+ c:identifier="gdk_toplevel_set_icon_list"
28513+ glib:set-property="icon-list">
28514+ <attribute name="org.gtk.Method.set_property" value="icon-list"/>
28515+ <doc xml:space="preserve"
28516+ filename="gdk/gdktoplevel.c"
28517+ line="469">Sets a list of icons for the surface.
28518+
28519+One of these will be used to represent the surface in iconic form.
28520+The icon may be shown in window lists or task bars. Which icon
28521+size is shown depends on the window manager. The window manager
28522+can scale the icon but setting several size icons can give better
28523+image quality.
28524+
28525+Note that some platforms don't support surface icons.</doc>
28526+ <source-position filename="gdk/gdktoplevel.h" line="173"/>
28527+ <return-value transfer-ownership="none">
28528+ <type name="none" c:type="void"/>
28529+ </return-value>
28530+ <parameters>
28531+ <instance-parameter name="toplevel" transfer-ownership="none">
28532+ <doc xml:space="preserve"
28533+ filename="gdk/gdktoplevel.c"
28534+ line="471">a `GdkToplevel`</doc>
28535+ <type name="Toplevel" c:type="GdkToplevel*"/>
28536+ </instance-parameter>
28537+ <parameter name="surfaces" transfer-ownership="none">
28538+ <doc xml:space="preserve"
28539+ filename="gdk/gdktoplevel.c"
28540+ line="472">
28541+ A list of textures to use as icon, of different sizes</doc>
28542+ <type name="GLib.List" c:type="GList*">
28543+ <type name="Texture"/>
28544+ </type>
28545+ </parameter>
28546+ </parameters>
28547+ </method>
28548+ <method name="set_modal"
28549+ c:identifier="gdk_toplevel_set_modal"
28550+ glib:set-property="modal">
28551+ <attribute name="org.gtk.Method.set_property" value="modal"/>
28552+ <doc xml:space="preserve"
28553+ filename="gdk/gdktoplevel.c"
28554+ line="445">Sets the toplevel to be modal.
28555+
28556+The application can use this hint to tell the
28557+window manager that a certain surface has modal
28558+behaviour. The window manager can use this information
28559+to handle modal surfaces in a special way.
28560+
28561+You should only use this on surfaces for which you have
28562+previously called [method@Gdk.Toplevel.set_transient_for].</doc>
28563+ <source-position filename="gdk/gdktoplevel.h" line="169"/>
28564+ <return-value transfer-ownership="none">
28565+ <type name="none" c:type="void"/>
28566+ </return-value>
28567+ <parameters>
28568+ <instance-parameter name="toplevel" transfer-ownership="none">
28569+ <doc xml:space="preserve"
28570+ filename="gdk/gdktoplevel.c"
28571+ line="447">a `GdkToplevel`</doc>
28572+ <type name="Toplevel" c:type="GdkToplevel*"/>
28573+ </instance-parameter>
28574+ <parameter name="modal" transfer-ownership="none">
28575+ <doc xml:space="preserve"
28576+ filename="gdk/gdktoplevel.c"
28577+ line="448">%TRUE if the surface is modal, %FALSE otherwise.</doc>
28578+ <type name="gboolean" c:type="gboolean"/>
28579+ </parameter>
28580+ </parameters>
28581+ </method>
28582+ <method name="set_startup_id"
28583+ c:identifier="gdk_toplevel_set_startup_id"
28584+ glib:set-property="startup-id">
28585+ <attribute name="org.gtk.Method.set_property" value="startup-id"/>
28586+ <doc xml:space="preserve"
28587+ filename="gdk/gdktoplevel.c"
28588+ line="401">Sets the startup notification ID.
28589+
28590+When using GTK, typically you should use
28591+[method@Gtk.Window.set_startup_id] instead of this
28592+low-level function.</doc>
28593+ <source-position filename="gdk/gdktoplevel.h" line="161"/>
28594+ <return-value transfer-ownership="none">
28595+ <type name="none" c:type="void"/>
28596+ </return-value>
28597+ <parameters>
28598+ <instance-parameter name="toplevel" transfer-ownership="none">
28599+ <doc xml:space="preserve"
28600+ filename="gdk/gdktoplevel.c"
28601+ line="403">a `GdkToplevel`</doc>
28602+ <type name="Toplevel" c:type="GdkToplevel*"/>
28603+ </instance-parameter>
28604+ <parameter name="startup_id" transfer-ownership="none">
28605+ <doc xml:space="preserve"
28606+ filename="gdk/gdktoplevel.c"
28607+ line="404">a string with startup-notification identifier</doc>
28608+ <type name="utf8" c:type="const char*"/>
28609+ </parameter>
28610+ </parameters>
28611+ </method>
28612+ <method name="set_title"
28613+ c:identifier="gdk_toplevel_set_title"
28614+ glib:set-property="title">
28615+ <attribute name="org.gtk.Method.set_property" value="title"/>
28616+ <doc xml:space="preserve"
28617+ filename="gdk/gdktoplevel.c"
28618+ line="382">Sets the title of a toplevel surface.
28619+
28620+The title maybe be displayed in the titlebar,
28621+in lists of windows, etc.</doc>
28622+ <source-position filename="gdk/gdktoplevel.h" line="157"/>
28623+ <return-value transfer-ownership="none">
28624+ <type name="none" c:type="void"/>
28625+ </return-value>
28626+ <parameters>
28627+ <instance-parameter name="toplevel" transfer-ownership="none">
28628+ <doc xml:space="preserve"
28629+ filename="gdk/gdktoplevel.c"
28630+ line="384">a `GdkToplevel`</doc>
28631+ <type name="Toplevel" c:type="GdkToplevel*"/>
28632+ </instance-parameter>
28633+ <parameter name="title" transfer-ownership="none">
28634+ <doc xml:space="preserve"
28635+ filename="gdk/gdktoplevel.c"
28636+ line="385">title of @surface</doc>
28637+ <type name="utf8" c:type="const char*"/>
28638+ </parameter>
28639+ </parameters>
28640+ </method>
28641+ <method name="set_transient_for"
28642+ c:identifier="gdk_toplevel_set_transient_for"
28643+ glib:set-property="transient-for">
28644+ <attribute name="org.gtk.Method.set_property" value="transient-for"/>
28645+ <doc xml:space="preserve"
28646+ filename="gdk/gdktoplevel.c"
28647+ line="421">Sets a transient-for parent.
28648+
28649+Indicates to the window manager that @surface is a transient
28650+dialog associated with the application surface @parent. This
28651+allows the window manager to do things like center @surface
28652+on @parent and keep @surface above @parent.
28653+
28654+See [method@Gtk.Window.set_transient_for] if you’re using
28655+[class@Gtk.Window] or [class@Gtk.Dialog].</doc>
28656+ <source-position filename="gdk/gdktoplevel.h" line="165"/>
28657+ <return-value transfer-ownership="none">
28658+ <type name="none" c:type="void"/>
28659+ </return-value>
28660+ <parameters>
28661+ <instance-parameter name="toplevel" transfer-ownership="none">
28662+ <doc xml:space="preserve"
28663+ filename="gdk/gdktoplevel.c"
28664+ line="423">a `GdkToplevel`</doc>
28665+ <type name="Toplevel" c:type="GdkToplevel*"/>
28666+ </instance-parameter>
28667+ <parameter name="parent" transfer-ownership="none">
28668+ <doc xml:space="preserve"
28669+ filename="gdk/gdktoplevel.c"
28670+ line="424">another toplevel `GdkSurface`</doc>
28671+ <type name="Surface" c:type="GdkSurface*"/>
28672+ </parameter>
28673+ </parameters>
28674+ </method>
28675+ <method name="show_window_menu"
28676+ c:identifier="gdk_toplevel_show_window_menu">
28677+ <doc xml:space="preserve"
28678+ filename="gdk/gdktoplevel.c"
28679+ line="494">Asks the windowing system to show the window menu.
28680+
28681+The window menu is the menu shown when right-clicking the titlebar
28682+on traditional windows managed by the window manager. This is useful
28683+for windows using client-side decorations, activating it with a
28684+right-click on the window decorations.</doc>
28685+ <source-position filename="gdk/gdktoplevel.h" line="177"/>
28686+ <return-value transfer-ownership="none">
28687+ <doc xml:space="preserve"
28688+ filename="gdk/gdktoplevel.c"
28689+ line="506">%TRUE if the window menu was shown and %FALSE otherwise.</doc>
28690+ <type name="gboolean" c:type="gboolean"/>
28691+ </return-value>
28692+ <parameters>
28693+ <instance-parameter name="toplevel" transfer-ownership="none">
28694+ <doc xml:space="preserve"
28695+ filename="gdk/gdktoplevel.c"
28696+ line="496">a `GdkToplevel`</doc>
28697+ <type name="Toplevel" c:type="GdkToplevel*"/>
28698+ </instance-parameter>
28699+ <parameter name="event" transfer-ownership="none">
28700+ <doc xml:space="preserve"
28701+ filename="gdk/gdktoplevel.c"
28702+ line="497">a `GdkEvent` to show the menu for</doc>
28703+ <type name="Event" c:type="GdkEvent*"/>
28704+ </parameter>
28705+ </parameters>
28706+ </method>
28707+ <method name="supports_edge_constraints"
28708+ c:identifier="gdk_toplevel_supports_edge_constraints">
28709+ <doc xml:space="preserve"
28710+ filename="gdk/gdktoplevel.c"
28711+ line="556">Returns whether the desktop environment supports
28712+tiled window states.</doc>
28713+ <source-position filename="gdk/gdktoplevel.h" line="188"/>
28714+ <return-value transfer-ownership="none">
28715+ <doc xml:space="preserve"
28716+ filename="gdk/gdktoplevel.c"
28717+ line="563">%TRUE if the desktop environment supports tiled window states</doc>
28718+ <type name="gboolean" c:type="gboolean"/>
28719+ </return-value>
28720+ <parameters>
28721+ <instance-parameter name="toplevel" transfer-ownership="none">
28722+ <doc xml:space="preserve"
28723+ filename="gdk/gdktoplevel.c"
28724+ line="558">a `GdkToplevel`</doc>
28725+ <type name="Toplevel" c:type="GdkToplevel*"/>
28726+ </instance-parameter>
28727+ </parameters>
28728+ </method>
28729+ <method name="titlebar_gesture"
28730+ c:identifier="gdk_toplevel_titlebar_gesture"
28731+ version="4.4">
28732+ <source-position filename="gdk/gdktoplevel.h" line="215"/>
28733+ <return-value transfer-ownership="none">
28734+ <type name="gboolean" c:type="gboolean"/>
28735+ </return-value>
28736+ <parameters>
28737+ <instance-parameter name="toplevel" transfer-ownership="none">
28738+ <doc xml:space="preserve"
28739+ filename="gdk/gdktoplevel.c"
28740+ line="713">a `GdkToplevel`</doc>
28741+ <type name="Toplevel" c:type="GdkToplevel*"/>
28742+ </instance-parameter>
28743+ <parameter name="gesture" transfer-ownership="none">
28744+ <doc xml:space="preserve"
28745+ filename="gdk/gdktoplevel.c"
28746+ line="714">a `GdkTitlebarGesture`</doc>
28747+ <type name="TitlebarGesture" c:type="GdkTitlebarGesture"/>
28748+ </parameter>
28749+ </parameters>
28750+ </method>
28751+ <property name="decorated"
28752+ writable="1"
28753+ transfer-ownership="none"
28754+ setter="set_decorated">
28755+ <attribute name="org.gtk.Property.set"
28756+ value="gdk_toplevel_set_decorated"/>
28757+ <doc xml:space="preserve"
28758+ filename="gdk/gdktoplevel.c"
28759+ line="191">Whether the window manager should add decorations.</doc>
28760+ <type name="gboolean" c:type="gboolean"/>
28761+ </property>
28762+ <property name="deletable"
28763+ writable="1"
28764+ transfer-ownership="none"
28765+ setter="set_deletable">
28766+ <attribute name="org.gtk.Property.set"
28767+ value="gdk_toplevel_set_deletable"/>
28768+ <doc xml:space="preserve"
28769+ filename="gdk/gdktoplevel.c"
28770+ line="201">Whether the window manager should allow to close the surface.</doc>
28771+ <type name="gboolean" c:type="gboolean"/>
28772+ </property>
28773+ <property name="fullscreen-mode" writable="1" transfer-ownership="none">
28774+ <doc xml:space="preserve"
28775+ filename="gdk/gdktoplevel.c"
28776+ line="211">The fullscreen mode of the surface.</doc>
28777+ <type name="FullscreenMode"/>
28778+ </property>
28779+ <property name="icon-list"
28780+ writable="1"
28781+ transfer-ownership="none"
28782+ setter="set_icon_list">
28783+ <attribute name="org.gtk.Property.set"
28784+ value="gdk_toplevel_set_icon_list"/>
28785+ <doc xml:space="preserve"
28786+ filename="gdk/gdktoplevel.c"
28787+ line="182">A list of textures to use as icon.</doc>
28788+ <type name="gpointer" c:type="gpointer"/>
28789+ </property>
28790+ <property name="modal"
28791+ writable="1"
28792+ transfer-ownership="none"
28793+ setter="set_modal">
28794+ <attribute name="org.gtk.Property.set" value="gdk_toplevel_set_modal"/>
28795+ <doc xml:space="preserve"
28796+ filename="gdk/gdktoplevel.c"
28797+ line="172">Whether the surface is modal.</doc>
28798+ <type name="gboolean" c:type="gboolean"/>
28799+ </property>
28800+ <property name="shortcuts-inhibited" transfer-ownership="none">
28801+ <doc xml:space="preserve"
28802+ filename="gdk/gdktoplevel.c"
28803+ line="222">Whether the surface should inhibit keyboard shortcuts.</doc>
28804+ <type name="gboolean" c:type="gboolean"/>
28805+ </property>
28806+ <property name="startup-id"
28807+ writable="1"
28808+ transfer-ownership="none"
28809+ setter="set_startup_id">
28810+ <attribute name="org.gtk.Property.set"
28811+ value="gdk_toplevel_set_startup_id"/>
28812+ <doc xml:space="preserve"
28813+ filename="gdk/gdktoplevel.c"
28814+ line="149">The startup ID of the surface.
28815+
28816+See [class@Gdk.AppLaunchContext] for more information about
28817+startup feedback.</doc>
28818+ <type name="utf8" c:type="gchar*"/>
28819+ </property>
28820+ <property name="state" transfer-ownership="none" getter="get_state">
28821+ <attribute name="org.gtk.Property.get" value="gdk_toplevel_get_state"/>
28822+ <doc xml:space="preserve"
28823+ filename="gdk/gdktoplevel.c"
28824+ line="129">The state of the toplevel.</doc>
28825+ <type name="ToplevelState"/>
28826+ </property>
28827+ <property name="title"
28828+ writable="1"
28829+ transfer-ownership="none"
28830+ setter="set_title">
28831+ <attribute name="org.gtk.Property.set" value="gdk_toplevel_set_title"/>
28832+ <doc xml:space="preserve"
28833+ filename="gdk/gdktoplevel.c"
28834+ line="139">The title of the surface.</doc>
28835+ <type name="utf8" c:type="gchar*"/>
28836+ </property>
28837+ <property name="transient-for"
28838+ writable="1"
28839+ transfer-ownership="none"
28840+ setter="set_transient_for">
28841+ <attribute name="org.gtk.Property.set"
28842+ value="gdk_toplevel_set_transient_for"/>
28843+ <doc xml:space="preserve"
28844+ filename="gdk/gdktoplevel.c"
28845+ line="162">The transient parent of the surface.</doc>
28846+ <type name="Surface"/>
28847+ </property>
28848+ <glib:signal name="compute-size" when="last">
28849+ <doc xml:space="preserve"
28850+ filename="gdk/gdktoplevel.c"
28851+ line="232">Emitted when the size for the surface needs to be computed, when
28852+it is present.
28853+
28854+It will normally be emitted during or after [method@Gdk.Toplevel.present],
28855+depending on the configuration received by the windowing system.
28856+It may also be emitted at any other point in time, in response
28857+to the windowing system spontaneously changing the configuration.
28858+
28859+It is the responsibility of the toplevel user to handle this signal
28860+and compute the desired size of the toplevel, given the information
28861+passed via the [struct@Gdk.ToplevelSize] object. Failing to do so
28862+will result in an arbitrary size being used as a result.</doc>
28863+ <return-value transfer-ownership="none">
28864+ <type name="none" c:type="void"/>
28865+ </return-value>
28866+ <parameters>
28867+ <parameter name="size"
28868+ direction="out"
28869+ caller-allocates="1"
28870+ transfer-ownership="none">
28871+ <doc xml:space="preserve"
28872+ filename="gdk/gdktoplevel.c"
28873+ line="235">a `GdkToplevelSize`</doc>
28874+ <type name="ToplevelSize"/>
28875+ </parameter>
28876+ </parameters>
28877+ </glib:signal>
28878+ </interface>
28879+ <record name="ToplevelInterface"
28880+ c:type="GdkToplevelInterface"
28881+ disguised="1"
28882+ glib:is-gtype-struct-for="Toplevel">
28883+ <source-position filename="gdk/gdktoplevel.h" line="137"/>
28884+ </record>
28885+ <record name="ToplevelLayout"
28886+ c:type="GdkToplevelLayout"
28887+ glib:type-name="GdkToplevelLayout"
28888+ glib:get-type="gdk_toplevel_layout_get_type"
28889+ c:symbol-prefix="toplevel_layout">
28890+ <doc xml:space="preserve"
28891+ filename="gdk/gdktoplevellayout.c"
28892+ line="25">The `GdkToplevelLayout` struct contains information that
28893+is necessary to present a sovereign window on screen.
28894+
28895+The `GdkToplevelLayout` struct is necessary for using
28896+[method@Gdk.Toplevel.present].
28897+
28898+Toplevel surfaces are sovereign windows that can be presented
28899+to the user in various states (maximized, on all workspaces,
28900+etc).</doc>
28901+ <source-position filename="gdk/gdktoplevellayout.h" line="32"/>
28902+ <constructor name="new" c:identifier="gdk_toplevel_layout_new">
28903+ <doc xml:space="preserve"
28904+ filename="gdk/gdktoplevellayout.c"
28905+ line="56">Create a toplevel layout description.
28906+
28907+Used together with gdk_toplevel_present() to describe
28908+how a toplevel surface should be placed and behave on-screen.
28909+
28910+The size is in ”application pixels”, not
28911+”device pixels” (see gdk_surface_get_scale_factor()).</doc>
28912+ <source-position filename="gdk/gdktoplevellayout.h" line="40"/>
28913+ <return-value transfer-ownership="full">
28914+ <doc xml:space="preserve"
28915+ filename="gdk/gdktoplevellayout.c"
28916+ line="67">newly created instance of `GdkToplevelLayout`</doc>
28917+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28918+ </return-value>
28919+ </constructor>
28920+ <method name="copy" c:identifier="gdk_toplevel_layout_copy">
28921+ <doc xml:space="preserve"
28922+ filename="gdk/gdktoplevellayout.c"
28923+ line="117">Create a new `GdkToplevelLayout` and copy the contents of @layout into it.</doc>
28924+ <source-position filename="gdk/gdktoplevellayout.h" line="49"/>
28925+ <return-value transfer-ownership="full">
28926+ <doc xml:space="preserve"
28927+ filename="gdk/gdktoplevellayout.c"
28928+ line="123">a copy of @layout.</doc>
28929+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28930+ </return-value>
28931+ <parameters>
28932+ <instance-parameter name="layout" transfer-ownership="none">
28933+ <doc xml:space="preserve"
28934+ filename="gdk/gdktoplevellayout.c"
28935+ line="119">a `GdkToplevelLayout`</doc>
28936+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28937+ </instance-parameter>
28938+ </parameters>
28939+ </method>
28940+ <method name="equal" c:identifier="gdk_toplevel_layout_equal">
28941+ <doc xml:space="preserve"
28942+ filename="gdk/gdktoplevellayout.c"
28943+ line="144">Check whether @layout and @other has identical layout properties.</doc>
28944+ <source-position filename="gdk/gdktoplevellayout.h" line="52"/>
28945+ <return-value transfer-ownership="none">
28946+ <doc xml:space="preserve"
28947+ filename="gdk/gdktoplevellayout.c"
28948+ line="151">%TRUE if @layout and @other have identical layout properties,
28949+ otherwise %FALSE.</doc>
28950+ <type name="gboolean" c:type="gboolean"/>
28951+ </return-value>
28952+ <parameters>
28953+ <instance-parameter name="layout" transfer-ownership="none">
28954+ <doc xml:space="preserve"
28955+ filename="gdk/gdktoplevellayout.c"
28956+ line="146">a `GdkToplevelLayout`</doc>
28957+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28958+ </instance-parameter>
28959+ <parameter name="other" transfer-ownership="none">
28960+ <doc xml:space="preserve"
28961+ filename="gdk/gdktoplevellayout.c"
28962+ line="147">another `GdkToplevelLayout`</doc>
28963+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28964+ </parameter>
28965+ </parameters>
28966+ </method>
28967+ <method name="get_fullscreen"
28968+ c:identifier="gdk_toplevel_layout_get_fullscreen">
28969+ <doc xml:space="preserve"
28970+ filename="gdk/gdktoplevellayout.c"
28971+ line="259">If the layout specifies whether to the toplevel should go fullscreen,
28972+the value pointed to by @fullscreen is set to %TRUE if it should go
28973+fullscreen, or %FALSE, if it should go unfullscreen.</doc>
28974+ <source-position filename="gdk/gdktoplevellayout.h" line="68"/>
28975+ <return-value transfer-ownership="none">
28976+ <doc xml:space="preserve"
28977+ filename="gdk/gdktoplevellayout.c"
28978+ line="268">whether the @layout specifies the fullscreen state for the toplevel</doc>
28979+ <type name="gboolean" c:type="gboolean"/>
28980+ </return-value>
28981+ <parameters>
28982+ <instance-parameter name="layout" transfer-ownership="none">
28983+ <doc xml:space="preserve"
28984+ filename="gdk/gdktoplevellayout.c"
28985+ line="261">a ``GdkToplevelLayout`</doc>
28986+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
28987+ </instance-parameter>
28988+ <parameter name="fullscreen"
28989+ direction="out"
28990+ caller-allocates="0"
28991+ transfer-ownership="full">
28992+ <doc xml:space="preserve"
28993+ filename="gdk/gdktoplevellayout.c"
28994+ line="262">location to store whether the toplevel should be fullscreen</doc>
28995+ <type name="gboolean" c:type="gboolean*"/>
28996+ </parameter>
28997+ </parameters>
28998+ </method>
28999+ <method name="get_fullscreen_monitor"
29000+ c:identifier="gdk_toplevel_layout_get_fullscreen_monitor">
29001+ <doc xml:space="preserve"
29002+ filename="gdk/gdktoplevellayout.c"
29003+ line="283">Returns the monitor that the layout is fullscreening
29004+the surface on.</doc>
29005+ <source-position filename="gdk/gdktoplevellayout.h" line="72"/>
29006+ <return-value transfer-ownership="none" nullable="1">
29007+ <doc xml:space="preserve"
29008+ filename="gdk/gdktoplevellayout.c"
29009+ line="290">the monitor on which @layout fullscreens</doc>
29010+ <type name="Monitor" c:type="GdkMonitor*"/>
29011+ </return-value>
29012+ <parameters>
29013+ <instance-parameter name="layout" transfer-ownership="none">
29014+ <doc xml:space="preserve"
29015+ filename="gdk/gdktoplevellayout.c"
29016+ line="285">a `GdkToplevelLayout`</doc>
29017+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29018+ </instance-parameter>
29019+ </parameters>
29020+ </method>
29021+ <method name="get_maximized"
29022+ c:identifier="gdk_toplevel_layout_get_maximized">
29023+ <doc xml:space="preserve"
29024+ filename="gdk/gdktoplevellayout.c"
29025+ line="215">If the layout specifies whether to the toplevel should go maximized,
29026+the value pointed to by @maximized is set to %TRUE if it should go
29027+fullscreen, or %FALSE, if it should go unmaximized.</doc>
29028+ <source-position filename="gdk/gdktoplevellayout.h" line="64"/>
29029+ <return-value transfer-ownership="none">
29030+ <doc xml:space="preserve"
29031+ filename="gdk/gdktoplevellayout.c"
29032+ line="224">whether the @layout specifies the maximized state for the toplevel</doc>
29033+ <type name="gboolean" c:type="gboolean"/>
29034+ </return-value>
29035+ <parameters>
29036+ <instance-parameter name="layout" transfer-ownership="none">
29037+ <doc xml:space="preserve"
29038+ filename="gdk/gdktoplevellayout.c"
29039+ line="217">a `GdkToplevelLayout`</doc>
29040+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29041+ </instance-parameter>
29042+ <parameter name="maximized"
29043+ direction="out"
29044+ caller-allocates="0"
29045+ transfer-ownership="full">
29046+ <doc xml:space="preserve"
29047+ filename="gdk/gdktoplevellayout.c"
29048+ line="218">set to %TRUE if the toplevel should be maximized</doc>
29049+ <type name="gboolean" c:type="gboolean*"/>
29050+ </parameter>
29051+ </parameters>
29052+ </method>
29053+ <method name="get_resizable"
29054+ c:identifier="gdk_toplevel_layout_get_resizable">
29055+ <doc xml:space="preserve"
29056+ filename="gdk/gdktoplevellayout.c"
29057+ line="184">Returns whether the layout should allow the user
29058+to resize the surface.</doc>
29059+ <source-position filename="gdk/gdktoplevellayout.h" line="79"/>
29060+ <return-value transfer-ownership="none">
29061+ <doc xml:space="preserve"
29062+ filename="gdk/gdktoplevellayout.c"
29063+ line="191">%TRUE if the layout is resizable</doc>
29064+ <type name="gboolean" c:type="gboolean"/>
29065+ </return-value>
29066+ <parameters>
29067+ <instance-parameter name="layout" transfer-ownership="none">
29068+ <doc xml:space="preserve"
29069+ filename="gdk/gdktoplevellayout.c"
29070+ line="186">a `GdkToplevelLayout`</doc>
29071+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29072+ </instance-parameter>
29073+ </parameters>
29074+ </method>
29075+ <method name="ref" c:identifier="gdk_toplevel_layout_ref">
29076+ <doc xml:space="preserve"
29077+ filename="gdk/gdktoplevellayout.c"
29078+ line="86">Increases the reference count of @layout.</doc>
29079+ <source-position filename="gdk/gdktoplevellayout.h" line="43"/>
29080+ <return-value transfer-ownership="full">
29081+ <doc xml:space="preserve"
29082+ filename="gdk/gdktoplevellayout.c"
29083+ line="92">the same @layout</doc>
29084+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29085+ </return-value>
29086+ <parameters>
29087+ <instance-parameter name="layout" transfer-ownership="none">
29088+ <doc xml:space="preserve"
29089+ filename="gdk/gdktoplevellayout.c"
29090+ line="88">a `GdkToplevelLayout`</doc>
29091+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29092+ </instance-parameter>
29093+ </parameters>
29094+ </method>
29095+ <method name="set_fullscreen"
29096+ c:identifier="gdk_toplevel_layout_set_fullscreen">
29097+ <doc xml:space="preserve"
29098+ filename="gdk/gdktoplevellayout.c"
29099+ line="239">Sets whether the layout should cause the surface
29100+to be fullscreen when presented.</doc>
29101+ <source-position filename="gdk/gdktoplevellayout.h" line="59"/>
29102+ <return-value transfer-ownership="none">
29103+ <type name="none" c:type="void"/>
29104+ </return-value>
29105+ <parameters>
29106+ <instance-parameter name="layout" transfer-ownership="none">
29107+ <doc xml:space="preserve"
29108+ filename="gdk/gdktoplevellayout.c"
29109+ line="241">a `GdkToplevelLayout`</doc>
29110+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29111+ </instance-parameter>
29112+ <parameter name="fullscreen" transfer-ownership="none">
29113+ <doc xml:space="preserve"
29114+ filename="gdk/gdktoplevellayout.c"
29115+ line="242">%TRUE to fullscreen the surface</doc>
29116+ <type name="gboolean" c:type="gboolean"/>
29117+ </parameter>
29118+ <parameter name="monitor"
29119+ transfer-ownership="none"
29120+ nullable="1"
29121+ allow-none="1">
29122+ <doc xml:space="preserve"
29123+ filename="gdk/gdktoplevellayout.c"
29124+ line="243">the monitor to fullscreen on</doc>
29125+ <type name="Monitor" c:type="GdkMonitor*"/>
29126+ </parameter>
29127+ </parameters>
29128+ </method>
29129+ <method name="set_maximized"
29130+ c:identifier="gdk_toplevel_layout_set_maximized">
29131+ <doc xml:space="preserve"
29132+ filename="gdk/gdktoplevellayout.c"
29133+ line="199">Sets whether the layout should cause the surface
29134+to be maximized when presented.</doc>
29135+ <source-position filename="gdk/gdktoplevellayout.h" line="56"/>
29136+ <return-value transfer-ownership="none">
29137+ <type name="none" c:type="void"/>
29138+ </return-value>
29139+ <parameters>
29140+ <instance-parameter name="layout" transfer-ownership="none">
29141+ <doc xml:space="preserve"
29142+ filename="gdk/gdktoplevellayout.c"
29143+ line="201">a `GdkToplevelLayout`</doc>
29144+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29145+ </instance-parameter>
29146+ <parameter name="maximized" transfer-ownership="none">
29147+ <doc xml:space="preserve"
29148+ filename="gdk/gdktoplevellayout.c"
29149+ line="202">%TRUE to maximize</doc>
29150+ <type name="gboolean" c:type="gboolean"/>
29151+ </parameter>
29152+ </parameters>
29153+ </method>
29154+ <method name="set_resizable"
29155+ c:identifier="gdk_toplevel_layout_set_resizable">
29156+ <doc xml:space="preserve"
29157+ filename="gdk/gdktoplevellayout.c"
29158+ line="169">Sets whether the layout should allow the user
29159+to resize the surface after it has been presented.</doc>
29160+ <source-position filename="gdk/gdktoplevellayout.h" line="75"/>
29161+ <return-value transfer-ownership="none">
29162+ <type name="none" c:type="void"/>
29163+ </return-value>
29164+ <parameters>
29165+ <instance-parameter name="layout" transfer-ownership="none">
29166+ <doc xml:space="preserve"
29167+ filename="gdk/gdktoplevellayout.c"
29168+ line="171">a `GdkToplevelLayout`</doc>
29169+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29170+ </instance-parameter>
29171+ <parameter name="resizable" transfer-ownership="none">
29172+ <doc xml:space="preserve"
29173+ filename="gdk/gdktoplevellayout.c"
29174+ line="172">%TRUE to allow resizing</doc>
29175+ <type name="gboolean" c:type="gboolean"/>
29176+ </parameter>
29177+ </parameters>
29178+ </method>
29179+ <method name="unref" c:identifier="gdk_toplevel_layout_unref">
29180+ <doc xml:space="preserve"
29181+ filename="gdk/gdktoplevellayout.c"
29182+ line="101">Decreases the reference count of @layout.</doc>
29183+ <source-position filename="gdk/gdktoplevellayout.h" line="46"/>
29184+ <return-value transfer-ownership="none">
29185+ <type name="none" c:type="void"/>
29186+ </return-value>
29187+ <parameters>
29188+ <instance-parameter name="layout" transfer-ownership="none">
29189+ <doc xml:space="preserve"
29190+ filename="gdk/gdktoplevellayout.c"
29191+ line="103">a `GdkToplevelLayout`</doc>
29192+ <type name="ToplevelLayout" c:type="GdkToplevelLayout*"/>
29193+ </instance-parameter>
29194+ </parameters>
29195+ </method>
29196+ </record>
29197+ <record name="ToplevelSize" c:type="GdkToplevelSize" disguised="1">
29198+ <doc xml:space="preserve"
29199+ filename="gdk/gdktoplevelsize.c"
29200+ line="23">The `GdkToplevelSize` struct contains information that is useful
29201+to compute the size of a toplevel.</doc>
29202+ <source-position filename="gdk/gdktoplevelsize.h" line="31"/>
29203+ <method name="get_bounds" c:identifier="gdk_toplevel_size_get_bounds">
29204+ <doc xml:space="preserve"
29205+ filename="gdk/gdktoplevelsize.c"
29206+ line="52">Retrieves the bounds the toplevel is placed within.
29207+
29208+The bounds represent the largest size a toplevel may have while still being
29209+able to fit within some type of boundary. Depending on the backend, this may
29210+be equivalent to the dimensions of the work area or the monitor on which the
29211+window is being presented on, or something else that limits the way a
29212+toplevel can be presented.</doc>
29213+ <source-position filename="gdk/gdktoplevelsize.h" line="39"/>
29214+ <return-value transfer-ownership="none">
29215+ <type name="none" c:type="void"/>
29216+ </return-value>
29217+ <parameters>
29218+ <instance-parameter name="size" transfer-ownership="none">
29219+ <doc xml:space="preserve"
29220+ filename="gdk/gdktoplevelsize.c"
29221+ line="54">a `GdkToplevelSize`</doc>
29222+ <type name="ToplevelSize" c:type="GdkToplevelSize*"/>
29223+ </instance-parameter>
29224+ <parameter name="bounds_width"
29225+ direction="out"
29226+ caller-allocates="0"
29227+ transfer-ownership="full">
29228+ <doc xml:space="preserve"
29229+ filename="gdk/gdktoplevelsize.c"
29230+ line="55">return location for width</doc>
29231+ <type name="gint" c:type="int*"/>
29232+ </parameter>
29233+ <parameter name="bounds_height"
29234+ direction="out"
29235+ caller-allocates="0"
29236+ transfer-ownership="full">
29237+ <doc xml:space="preserve"
29238+ filename="gdk/gdktoplevelsize.c"
29239+ line="56">return location for height</doc>
29240+ <type name="gint" c:type="int*"/>
29241+ </parameter>
29242+ </parameters>
29243+ </method>
29244+ <method name="set_min_size"
29245+ c:identifier="gdk_toplevel_size_set_min_size">
29246+ <doc xml:space="preserve"
29247+ filename="gdk/gdktoplevelsize.c"
29248+ line="107">Sets the minimum size of the toplevel.
29249+
29250+The minimum size corresponds to the limitations the toplevel can be shrunk
29251+to, without resulting in incorrect painting. A user of a `GdkToplevel` should
29252+calculate these given both the existing size, and the bounds retrieved from
29253+the `GdkToplevelSize` object.
29254+
29255+The minimum size should be within the bounds (see
29256+[method@Gdk.ToplevelSize.get_bounds]).</doc>
29257+ <source-position filename="gdk/gdktoplevelsize.h" line="48"/>
29258+ <return-value transfer-ownership="none">
29259+ <type name="none" c:type="void"/>
29260+ </return-value>
29261+ <parameters>
29262+ <instance-parameter name="size" transfer-ownership="none">
29263+ <doc xml:space="preserve"
29264+ filename="gdk/gdktoplevelsize.c"
29265+ line="109">a `GdkToplevelSize`</doc>
29266+ <type name="ToplevelSize" c:type="GdkToplevelSize*"/>
29267+ </instance-parameter>
29268+ <parameter name="min_width" transfer-ownership="none">
29269+ <doc xml:space="preserve"
29270+ filename="gdk/gdktoplevelsize.c"
29271+ line="110">the minimum width</doc>
29272+ <type name="gint" c:type="int"/>
29273+ </parameter>
29274+ <parameter name="min_height" transfer-ownership="none">
29275+ <doc xml:space="preserve"
29276+ filename="gdk/gdktoplevelsize.c"
29277+ line="111">the minimum height</doc>
29278+ <type name="gint" c:type="int"/>
29279+ </parameter>
29280+ </parameters>
29281+ </method>
29282+ <method name="set_shadow_width"
29283+ c:identifier="gdk_toplevel_size_set_shadow_width">
29284+ <doc xml:space="preserve"
29285+ filename="gdk/gdktoplevelsize.c"
29286+ line="132">Sets the shadows size of the toplevel.
29287+
29288+The shadow width corresponds to the part of the computed surface size
29289+that would consist of the shadow margin surrounding the window, would
29290+there be any.</doc>
29291+ <source-position filename="gdk/gdktoplevelsize.h" line="53"/>
29292+ <return-value transfer-ownership="none">
29293+ <type name="none" c:type="void"/>
29294+ </return-value>
29295+ <parameters>
29296+ <instance-parameter name="size" transfer-ownership="none">
29297+ <doc xml:space="preserve"
29298+ filename="gdk/gdktoplevelsize.c"
29299+ line="134">a `GdkToplevelSize`</doc>
29300+ <type name="ToplevelSize" c:type="GdkToplevelSize*"/>
29301+ </instance-parameter>
29302+ <parameter name="left" transfer-ownership="none">
29303+ <doc xml:space="preserve"
29304+ filename="gdk/gdktoplevelsize.c"
29305+ line="135">width of the left part of the shadow</doc>
29306+ <type name="gint" c:type="int"/>
29307+ </parameter>
29308+ <parameter name="right" transfer-ownership="none">
29309+ <doc xml:space="preserve"
29310+ filename="gdk/gdktoplevelsize.c"
29311+ line="136">width of the right part of the shadow</doc>
29312+ <type name="gint" c:type="int"/>
29313+ </parameter>
29314+ <parameter name="top" transfer-ownership="none">
29315+ <doc xml:space="preserve"
29316+ filename="gdk/gdktoplevelsize.c"
29317+ line="137">height of the top part of the shadow</doc>
29318+ <type name="gint" c:type="int"/>
29319+ </parameter>
29320+ <parameter name="bottom" transfer-ownership="none">
29321+ <doc xml:space="preserve"
29322+ filename="gdk/gdktoplevelsize.c"
29323+ line="138">height of the bottom part of the shadow</doc>
29324+ <type name="gint" c:type="int"/>
29325+ </parameter>
29326+ </parameters>
29327+ </method>
29328+ <method name="set_size" c:identifier="gdk_toplevel_size_set_size">
29329+ <doc xml:space="preserve"
29330+ filename="gdk/gdktoplevelsize.c"
29331+ line="85">Sets the size the toplevel prefers to be resized to.
29332+
29333+The size should be within the bounds (see
29334+[method@Gdk.ToplevelSize.get_bounds]). The set size should
29335+be considered as a hint, and should not be assumed to be
29336+respected by the windowing system, or backend.</doc>
29337+ <source-position filename="gdk/gdktoplevelsize.h" line="44"/>
29338+ <return-value transfer-ownership="none">
29339+ <type name="none" c:type="void"/>
29340+ </return-value>
29341+ <parameters>
29342+ <instance-parameter name="size" transfer-ownership="none">
29343+ <doc xml:space="preserve"
29344+ filename="gdk/gdktoplevelsize.c"
29345+ line="87">a `GdkToplevelSize`</doc>
29346+ <type name="ToplevelSize" c:type="GdkToplevelSize*"/>
29347+ </instance-parameter>
29348+ <parameter name="width" transfer-ownership="none">
29349+ <doc xml:space="preserve"
29350+ filename="gdk/gdktoplevelsize.c"
29351+ line="88">the width</doc>
29352+ <type name="gint" c:type="int"/>
29353+ </parameter>
29354+ <parameter name="height" transfer-ownership="none">
29355+ <doc xml:space="preserve"
29356+ filename="gdk/gdktoplevelsize.c"
29357+ line="89">the height</doc>
29358+ <type name="gint" c:type="int"/>
29359+ </parameter>
29360+ </parameters>
29361+ </method>
29362+ </record>
29363+ <bitfield name="ToplevelState"
29364+ glib:type-name="GdkToplevelState"
29365+ glib:get-type="gdk_toplevel_state_get_type"
29366+ c:type="GdkToplevelState">
29367+ <doc xml:space="preserve"
29368+ filename="gdk/gdktoplevel.h"
29369+ line="71">Specifies the state of a toplevel surface.
29370+
29371+On platforms that support information about individual edges, the
29372+%GDK_TOPLEVEL_STATE_TILED state will be set whenever any of the individual
29373+tiled states is set. On platforms that lack that support, the tiled state
29374+will give an indication of tiledness without any of the per-edge states
29375+being set.</doc>
29376+ <member name="minimized"
29377+ value="1"
29378+ c:identifier="GDK_TOPLEVEL_STATE_MINIMIZED"
29379+ glib:nick="minimized"
29380+ glib:name="GDK_TOPLEVEL_STATE_MINIMIZED">
29381+ <doc xml:space="preserve"
29382+ filename="gdk/gdktoplevel.h"
29383+ line="73">the surface is minimized</doc>
29384+ </member>
29385+ <member name="maximized"
29386+ value="2"
29387+ c:identifier="GDK_TOPLEVEL_STATE_MAXIMIZED"
29388+ glib:nick="maximized"
29389+ glib:name="GDK_TOPLEVEL_STATE_MAXIMIZED">
29390+ <doc xml:space="preserve"
29391+ filename="gdk/gdktoplevel.h"
29392+ line="74">the surface is maximized</doc>
29393+ </member>
29394+ <member name="sticky"
29395+ value="4"
29396+ c:identifier="GDK_TOPLEVEL_STATE_STICKY"
29397+ glib:nick="sticky"
29398+ glib:name="GDK_TOPLEVEL_STATE_STICKY">
29399+ <doc xml:space="preserve"
29400+ filename="gdk/gdktoplevel.h"
29401+ line="75">the surface is sticky</doc>
29402+ </member>
29403+ <member name="fullscreen"
29404+ value="8"
29405+ c:identifier="GDK_TOPLEVEL_STATE_FULLSCREEN"
29406+ glib:nick="fullscreen"
29407+ glib:name="GDK_TOPLEVEL_STATE_FULLSCREEN">
29408+ <doc xml:space="preserve"
29409+ filename="gdk/gdktoplevel.h"
29410+ line="76">the surface is maximized without decorations</doc>
29411+ </member>
29412+ <member name="above"
29413+ value="16"
29414+ c:identifier="GDK_TOPLEVEL_STATE_ABOVE"
29415+ glib:nick="above"
29416+ glib:name="GDK_TOPLEVEL_STATE_ABOVE">
29417+ <doc xml:space="preserve"
29418+ filename="gdk/gdktoplevel.h"
29419+ line="77">the surface is kept above other surfaces</doc>
29420+ </member>
29421+ <member name="below"
29422+ value="32"
29423+ c:identifier="GDK_TOPLEVEL_STATE_BELOW"
29424+ glib:nick="below"
29425+ glib:name="GDK_TOPLEVEL_STATE_BELOW">
29426+ <doc xml:space="preserve"
29427+ filename="gdk/gdktoplevel.h"
29428+ line="78">the surface is kept below other surfaces</doc>
29429+ </member>
29430+ <member name="focused"
29431+ value="64"
29432+ c:identifier="GDK_TOPLEVEL_STATE_FOCUSED"
29433+ glib:nick="focused"
29434+ glib:name="GDK_TOPLEVEL_STATE_FOCUSED">
29435+ <doc xml:space="preserve"
29436+ filename="gdk/gdktoplevel.h"
29437+ line="79">the surface is presented as focused (with active decorations)</doc>
29438+ </member>
29439+ <member name="tiled"
29440+ value="128"
29441+ c:identifier="GDK_TOPLEVEL_STATE_TILED"
29442+ glib:nick="tiled"
29443+ glib:name="GDK_TOPLEVEL_STATE_TILED">
29444+ <doc xml:space="preserve"
29445+ filename="gdk/gdktoplevel.h"
29446+ line="80">the surface is in a tiled state</doc>
29447+ </member>
29448+ <member name="top_tiled"
29449+ value="256"
29450+ c:identifier="GDK_TOPLEVEL_STATE_TOP_TILED"
29451+ glib:nick="top-tiled"
29452+ glib:name="GDK_TOPLEVEL_STATE_TOP_TILED">
29453+ <doc xml:space="preserve"
29454+ filename="gdk/gdktoplevel.h"
29455+ line="81">whether the top edge is tiled</doc>
29456+ </member>
29457+ <member name="top_resizable"
29458+ value="512"
29459+ c:identifier="GDK_TOPLEVEL_STATE_TOP_RESIZABLE"
29460+ glib:nick="top-resizable"
29461+ glib:name="GDK_TOPLEVEL_STATE_TOP_RESIZABLE">
29462+ <doc xml:space="preserve"
29463+ filename="gdk/gdktoplevel.h"
29464+ line="82">whether the top edge is resizable</doc>
29465+ </member>
29466+ <member name="right_tiled"
29467+ value="1024"
29468+ c:identifier="GDK_TOPLEVEL_STATE_RIGHT_TILED"
29469+ glib:nick="right-tiled"
29470+ glib:name="GDK_TOPLEVEL_STATE_RIGHT_TILED">
29471+ <doc xml:space="preserve"
29472+ filename="gdk/gdktoplevel.h"
29473+ line="83">whether the right edge is tiled</doc>
29474+ </member>
29475+ <member name="right_resizable"
29476+ value="2048"
29477+ c:identifier="GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE"
29478+ glib:nick="right-resizable"
29479+ glib:name="GDK_TOPLEVEL_STATE_RIGHT_RESIZABLE">
29480+ <doc xml:space="preserve"
29481+ filename="gdk/gdktoplevel.h"
29482+ line="84">whether the right edge is resizable</doc>
29483+ </member>
29484+ <member name="bottom_tiled"
29485+ value="4096"
29486+ c:identifier="GDK_TOPLEVEL_STATE_BOTTOM_TILED"
29487+ glib:nick="bottom-tiled"
29488+ glib:name="GDK_TOPLEVEL_STATE_BOTTOM_TILED">
29489+ <doc xml:space="preserve"
29490+ filename="gdk/gdktoplevel.h"
29491+ line="85">whether the bottom edge is tiled</doc>
29492+ </member>
29493+ <member name="bottom_resizable"
29494+ value="8192"
29495+ c:identifier="GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE"
29496+ glib:nick="bottom-resizable"
29497+ glib:name="GDK_TOPLEVEL_STATE_BOTTOM_RESIZABLE">
29498+ <doc xml:space="preserve"
29499+ filename="gdk/gdktoplevel.h"
29500+ line="86">whether the bottom edge is resizable</doc>
29501+ </member>
29502+ <member name="left_tiled"
29503+ value="16384"
29504+ c:identifier="GDK_TOPLEVEL_STATE_LEFT_TILED"
29505+ glib:nick="left-tiled"
29506+ glib:name="GDK_TOPLEVEL_STATE_LEFT_TILED">
29507+ <doc xml:space="preserve"
29508+ filename="gdk/gdktoplevel.h"
29509+ line="87">whether the left edge is tiled</doc>
29510+ </member>
29511+ <member name="left_resizable"
29512+ value="32768"
29513+ c:identifier="GDK_TOPLEVEL_STATE_LEFT_RESIZABLE"
29514+ glib:nick="left-resizable"
29515+ glib:name="GDK_TOPLEVEL_STATE_LEFT_RESIZABLE">
29516+ <doc xml:space="preserve"
29517+ filename="gdk/gdktoplevel.h"
29518+ line="88">whether the left edge is resizable</doc>
29519+ </member>
29520+ </bitfield>
29521+ <class name="TouchEvent"
29522+ c:symbol-prefix="touch_event"
29523+ c:type="GdkTouchEvent"
29524+ parent="Event"
29525+ glib:type-name="GdkTouchEvent"
29526+ glib:get-type="gdk_touch_event_get_type"
29527+ glib:fundamental="1">
29528+ <doc xml:space="preserve"
29529+ filename="gdk/gdkevents.c"
29530+ line="1975">An event related to a touch-based device.</doc>
29531+ <method name="get_emulating_pointer"
29532+ c:identifier="gdk_touch_event_get_emulating_pointer">
29533+ <doc xml:space="preserve"
29534+ filename="gdk/gdkevents.c"
29535+ line="2086">Extracts whether a touch event is emulating a pointer event.</doc>
29536+ <source-position filename="gdk/gdkevents.h" line="454"/>
29537+ <return-value transfer-ownership="none">
29538+ <doc xml:space="preserve"
29539+ filename="gdk/gdkevents.c"
29540+ line="2092">%TRUE if @event is emulating</doc>
29541+ <type name="gboolean" c:type="gboolean"/>
29542+ </return-value>
29543+ <parameters>
29544+ <instance-parameter name="event" transfer-ownership="none">
29545+ <doc xml:space="preserve"
29546+ filename="gdk/gdkevents.c"
29547+ line="2088">a touch event</doc>
29548+ <type name="TouchEvent" c:type="GdkEvent*"/>
29549+ </instance-parameter>
29550+ </parameters>
29551+ </method>
29552+ </class>
29553+ <class name="TouchpadEvent"
29554+ c:symbol-prefix="touchpad_event"
29555+ c:type="GdkTouchpadEvent"
29556+ parent="Event"
29557+ glib:type-name="GdkTouchpadEvent"
29558+ glib:get-type="gdk_touchpad_event_get_type"
29559+ glib:fundamental="1">
29560+ <doc xml:space="preserve"
29561+ filename="gdk/gdkevents.c"
29562+ line="2603">An event related to a gesture on a touchpad device.
29563+
29564+Unlike touchscreens, where the windowing system sends basic
29565+sequences of begin, update, end events, and leaves gesture
29566+recognition to the clients, touchpad gestures are typically
29567+processed by the system, resulting in these events.</doc>
29568+ <method name="get_deltas" c:identifier="gdk_touchpad_event_get_deltas">
29569+ <doc xml:space="preserve"
29570+ filename="gdk/gdkevents.c"
29571+ line="2797">Extracts delta information from a touchpad event.</doc>
29572+ <source-position filename="gdk/gdkevents.h" line="471"/>
29573+ <return-value transfer-ownership="none">
29574+ <type name="none" c:type="void"/>
29575+ </return-value>
29576+ <parameters>
29577+ <instance-parameter name="event" transfer-ownership="none">
29578+ <doc xml:space="preserve"
29579+ filename="gdk/gdkevents.c"
29580+ line="2799">a touchpad event</doc>
29581+ <type name="TouchpadEvent" c:type="GdkEvent*"/>
29582+ </instance-parameter>
29583+ <parameter name="dx"
29584+ direction="out"
29585+ caller-allocates="0"
29586+ transfer-ownership="full">
29587+ <doc xml:space="preserve"
29588+ filename="gdk/gdkevents.c"
29589+ line="2800">return location for x</doc>
29590+ <type name="gdouble" c:type="double*"/>
29591+ </parameter>
29592+ <parameter name="dy"
29593+ direction="out"
29594+ caller-allocates="0"
29595+ transfer-ownership="full">
29596+ <doc xml:space="preserve"
29597+ filename="gdk/gdkevents.c"
29598+ line="2801">return location for y</doc>
29599+ <type name="gdouble" c:type="double*"/>
29600+ </parameter>
29601+ </parameters>
29602+ </method>
29603+ <method name="get_gesture_phase"
29604+ c:identifier="gdk_touchpad_event_get_gesture_phase">
29605+ <doc xml:space="preserve"
29606+ filename="gdk/gdkevents.c"
29607+ line="2755">Extracts the touchpad gesture phase from a touchpad event.</doc>
29608+ <source-position filename="gdk/gdkevents.h" line="467"/>
29609+ <return-value transfer-ownership="none">
29610+ <doc xml:space="preserve"
29611+ filename="gdk/gdkevents.c"
29612+ line="2761">the gesture phase of @event</doc>
29613+ <type name="TouchpadGesturePhase" c:type="GdkTouchpadGesturePhase"/>
29614+ </return-value>
29615+ <parameters>
29616+ <instance-parameter name="event" transfer-ownership="none">
29617+ <doc xml:space="preserve"
29618+ filename="gdk/gdkevents.c"
29619+ line="2757">a touchpad event</doc>
29620+ <type name="TouchpadEvent" c:type="GdkEvent*"/>
29621+ </instance-parameter>
29622+ </parameters>
29623+ </method>
29624+ <method name="get_n_fingers"
29625+ c:identifier="gdk_touchpad_event_get_n_fingers">
29626+ <doc xml:space="preserve"
29627+ filename="gdk/gdkevents.c"
29628+ line="2776">Extracts the number of fingers from a touchpad event.</doc>
29629+ <source-position filename="gdk/gdkevents.h" line="469"/>
29630+ <return-value transfer-ownership="none">
29631+ <doc xml:space="preserve"
29632+ filename="gdk/gdkevents.c"
29633+ line="2782">the number of fingers for @event</doc>
29634+ <type name="guint" c:type="guint"/>
29635+ </return-value>
29636+ <parameters>
29637+ <instance-parameter name="event" transfer-ownership="none">
29638+ <doc xml:space="preserve"
29639+ filename="gdk/gdkevents.c"
29640+ line="2778">a touchpad event</doc>
29641+ <type name="TouchpadEvent" c:type="GdkEvent*"/>
29642+ </instance-parameter>
29643+ </parameters>
29644+ </method>
29645+ <method name="get_pinch_angle_delta"
29646+ c:identifier="gdk_touchpad_event_get_pinch_angle_delta">
29647+ <doc xml:space="preserve"
29648+ filename="gdk/gdkevents.c"
29649+ line="2820">Extracts the angle delta from a touchpad pinch event.</doc>
29650+ <source-position filename="gdk/gdkevents.h" line="475"/>
29651+ <return-value transfer-ownership="none">
29652+ <doc xml:space="preserve"
29653+ filename="gdk/gdkevents.c"
29654+ line="2826">the angle delta of @event</doc>
29655+ <type name="gdouble" c:type="double"/>
29656+ </return-value>
29657+ <parameters>
29658+ <instance-parameter name="event" transfer-ownership="none">
29659+ <doc xml:space="preserve"
29660+ filename="gdk/gdkevents.c"
29661+ line="2822">a touchpad pinch event</doc>
29662+ <type name="TouchpadEvent" c:type="GdkEvent*"/>
29663+ </instance-parameter>
29664+ </parameters>
29665+ </method>
29666+ <method name="get_pinch_scale"
29667+ c:identifier="gdk_touchpad_event_get_pinch_scale">
29668+ <doc xml:space="preserve"
29669+ filename="gdk/gdkevents.c"
29670+ line="2839">Extracts the scale from a touchpad pinch event.</doc>
29671+ <source-position filename="gdk/gdkevents.h" line="477"/>
29672+ <return-value transfer-ownership="none">
29673+ <doc xml:space="preserve"
29674+ filename="gdk/gdkevents.c"
29675+ line="2845">the scale of @event</doc>
29676+ <type name="gdouble" c:type="double"/>
29677+ </return-value>
29678+ <parameters>
29679+ <instance-parameter name="event" transfer-ownership="none">
29680+ <doc xml:space="preserve"
29681+ filename="gdk/gdkevents.c"
29682+ line="2841">a touchpad pinch event</doc>
29683+ <type name="TouchpadEvent" c:type="GdkEvent*"/>
29684+ </instance-parameter>
29685+ </parameters>
29686+ </method>
29687+ </class>
29688+ <enumeration name="TouchpadGesturePhase"
29689+ glib:type-name="GdkTouchpadGesturePhase"
29690+ glib:get-type="gdk_touchpad_gesture_phase_get_type"
29691+ c:type="GdkTouchpadGesturePhase">
29692+ <doc xml:space="preserve"
29693+ filename="gdk/gdkevents.h"
29694+ line="211">Specifies the current state of a touchpad gesture.
29695+
29696+All gestures are guaranteed to begin with an event with phase
29697+%GDK_TOUCHPAD_GESTURE_PHASE_BEGIN, followed by 0 or several events
29698+with phase %GDK_TOUCHPAD_GESTURE_PHASE_UPDATE.
29699+
29700+A finished gesture may have 2 possible outcomes, an event with phase
29701+%GDK_TOUCHPAD_GESTURE_PHASE_END will be emitted when the gesture is
29702+considered successful, this should be used as the hint to perform any
29703+permanent changes.
29704+
29705+Cancelled gestures may be so for a variety of reasons, due to hardware
29706+or the compositor, or due to the gesture recognition layers hinting the
29707+gesture did not finish resolutely (eg. a 3rd finger being added during
29708+a pinch gesture). In these cases, the last event will report the phase
29709+%GDK_TOUCHPAD_GESTURE_PHASE_CANCEL, this should be used as a hint
29710+to undo any visible/permanent changes that were done throughout the
29711+progress of the gesture.</doc>
29712+ <member name="begin"
29713+ value="0"
29714+ c:identifier="GDK_TOUCHPAD_GESTURE_PHASE_BEGIN"
29715+ glib:nick="begin"
29716+ glib:name="GDK_TOUCHPAD_GESTURE_PHASE_BEGIN">
29717+ <doc xml:space="preserve"
29718+ filename="gdk/gdkevents.h"
29719+ line="213">The gesture has begun.</doc>
29720+ </member>
29721+ <member name="update"
29722+ value="1"
29723+ c:identifier="GDK_TOUCHPAD_GESTURE_PHASE_UPDATE"
29724+ glib:nick="update"
29725+ glib:name="GDK_TOUCHPAD_GESTURE_PHASE_UPDATE">
29726+ <doc xml:space="preserve"
29727+ filename="gdk/gdkevents.h"
29728+ line="214">The gesture has been updated.</doc>
29729+ </member>
29730+ <member name="end"
29731+ value="2"
29732+ c:identifier="GDK_TOUCHPAD_GESTURE_PHASE_END"
29733+ glib:nick="end"
29734+ glib:name="GDK_TOUCHPAD_GESTURE_PHASE_END">
29735+ <doc xml:space="preserve"
29736+ filename="gdk/gdkevents.h"
29737+ line="215">The gesture was finished, changes
29738+ should be permanently applied.</doc>
29739+ </member>
29740+ <member name="cancel"
29741+ value="3"
29742+ c:identifier="GDK_TOUCHPAD_GESTURE_PHASE_CANCEL"
29743+ glib:nick="cancel"
29744+ glib:name="GDK_TOUCHPAD_GESTURE_PHASE_CANCEL">
29745+ <doc xml:space="preserve"
29746+ filename="gdk/gdkevents.h"
29747+ line="217">The gesture was cancelled, all
29748+ changes should be undone.</doc>
29749+ </member>
29750+ </enumeration>
29751+ <function-macro name="VULKAN_CONTEXT"
29752+ c:identifier="GDK_VULKAN_CONTEXT"
29753+ introspectable="0">
29754+ <source-position filename="gdk/gdkvulkancontext.h" line="38"/>
29755+ <parameters>
29756+ <parameter name="obj">
29757+ </parameter>
29758+ </parameters>
29759+ </function-macro>
29760+ <class name="VulkanContext"
29761+ c:symbol-prefix="vulkan_context"
29762+ c:type="GdkVulkanContext"
29763+ parent="DrawContext"
29764+ abstract="1"
29765+ glib:type-name="GdkVulkanContext"
29766+ glib:get-type="gdk_vulkan_context_get_type">
29767+ <doc xml:space="preserve"
29768+ filename="gdk/gdkvulkancontext.c"
29769+ line="30">`GdkVulkanContext` is an object representing the platform-specific
29770+Vulkan draw context.
29771+
29772+`GdkVulkanContext`s are created for a surface using
29773+[method@Gdk.Surface.create_vulkan_context], and the context will match
29774+the characteristics of the surface.
29775+
29776+Support for `GdkVulkanContext` is platform-specific and context creation
29777+can fail, returning %NULL context.</doc>
29778+ <implements name="Gio.Initable"/>
29779+ <glib:signal name="images-updated" when="last">
29780+ <doc xml:space="preserve"
29781+ filename="gdk/gdkvulkancontext.c"
29782+ line="534">Emitted when the images managed by this context have changed.
29783+
29784+Usually this means that the swapchain had to be recreated,
29785+for example in response to a change of the surface size.</doc>
29786+ <return-value transfer-ownership="none">
29787+ <type name="none" c:type="void"/>
29788+ </return-value>
29789+ </glib:signal>
29790+ </class>
29791+ <enumeration name="VulkanError"
29792+ glib:type-name="GdkVulkanError"
29793+ glib:get-type="gdk_vulkan_error_get_type"
29794+ c:type="GdkVulkanError"
29795+ glib:error-domain="gdk-vulkan-error-quark">
29796+ <doc xml:space="preserve"
29797+ filename="gdk/gdkenums.h"
29798+ line="148">Error enumeration for `GdkVulkanContext`.</doc>
29799+ <member name="unsupported"
29800+ value="0"
29801+ c:identifier="GDK_VULKAN_ERROR_UNSUPPORTED"
29802+ glib:nick="unsupported"
29803+ glib:name="GDK_VULKAN_ERROR_UNSUPPORTED">
29804+ <doc xml:space="preserve"
29805+ filename="gdk/gdkenums.h"
29806+ line="150">Vulkan is not supported on this backend or has not been
29807+ compiled in.</doc>
29808+ </member>
29809+ <member name="not_available"
29810+ value="1"
29811+ c:identifier="GDK_VULKAN_ERROR_NOT_AVAILABLE"
29812+ glib:nick="not-available"
29813+ glib:name="GDK_VULKAN_ERROR_NOT_AVAILABLE">
29814+ <doc xml:space="preserve"
29815+ filename="gdk/gdkenums.h"
29816+ line="152">Vulkan support is not available on this Surface</doc>
29817+ </member>
29818+ <function name="quark" c:identifier="gdk_vulkan_error_quark">
29819+ <return-value transfer-ownership="none">
29820+ <type name="GLib.Quark" c:type="GQuark"/>
29821+ </return-value>
29822+ </function>
29823+ </enumeration>
29824+ <function name="cairo_draw_from_gl"
29825+ c:identifier="gdk_cairo_draw_from_gl"
29826+ deprecated="1"
29827+ deprecated-version="4.6">
29828+ <doc xml:space="preserve"
29829+ filename="gdk/gdkgl.c"
29830+ line="33">The main way to not draw GL content in GTK.
29831+
29832+It takes a render buffer ID (@source_type == GL_RENDERBUFFER) or a texture
29833+id (@source_type == GL_TEXTURE) and draws it onto @cr with an OVER operation,
29834+respecting the current clip. The top left corner of the rectangle specified
29835+by @x, @y, @width and @height will be drawn at the current (0,0) position of
29836+the `cairo_t`.
29837+
29838+This will work for *all* `cairo_t`, as long as @surface is realized, but the
29839+fallback implementation that reads back the pixels from the buffer may be
29840+used in the general case. In the case of direct drawing to a surface with
29841+no special effects applied to @cr it will however use a more efficient
29842+approach.
29843+
29844+For GL_RENDERBUFFER the code will always fall back to software for buffers
29845+with alpha components, so make sure you use GL_TEXTURE if using alpha.
29846+
29847+Calling this may change the current GL context.</doc>
29848+ <doc-deprecated xml:space="preserve">The function is overly complex and produces broken output
29849+ in various combinations of arguments. If you want to draw with GL textures
29850+ in GTK, use [ctor@Gdk.GLTexture.new]; if you want to use that texture in
29851+ Cairo, use [method@Gdk.Texture.download] to download the data into a Cairo
29852+ image surface.</doc-deprecated>
29853+ <source-position filename="gdk/gdkcairo.h" line="54"/>
29854+ <return-value transfer-ownership="none">
29855+ <type name="none" c:type="void"/>
29856+ </return-value>
29857+ <parameters>
29858+ <parameter name="cr" transfer-ownership="none">
29859+ <doc xml:space="preserve"
29860+ filename="gdk/gdkgl.c"
29861+ line="35">a cairo context</doc>
29862+ <type name="cairo.Context" c:type="cairo_t*"/>
29863+ </parameter>
29864+ <parameter name="surface" transfer-ownership="none">
29865+ <doc xml:space="preserve"
29866+ filename="gdk/gdkgl.c"
29867+ line="36">The surface we're rendering for (not necessarily into)</doc>
29868+ <type name="Surface" c:type="GdkSurface*"/>
29869+ </parameter>
29870+ <parameter name="source" transfer-ownership="none">
29871+ <doc xml:space="preserve"
29872+ filename="gdk/gdkgl.c"
29873+ line="37">The GL ID of the source buffer</doc>
29874+ <type name="gint" c:type="int"/>
29875+ </parameter>
29876+ <parameter name="source_type" transfer-ownership="none">
29877+ <doc xml:space="preserve"
29878+ filename="gdk/gdkgl.c"
29879+ line="38">The type of the @source</doc>
29880+ <type name="gint" c:type="int"/>
29881+ </parameter>
29882+ <parameter name="buffer_scale" transfer-ownership="none">
29883+ <doc xml:space="preserve"
29884+ filename="gdk/gdkgl.c"
29885+ line="39">The scale-factor that the @source buffer is allocated for</doc>
29886+ <type name="gint" c:type="int"/>
29887+ </parameter>
29888+ <parameter name="x" transfer-ownership="none">
29889+ <doc xml:space="preserve"
29890+ filename="gdk/gdkgl.c"
29891+ line="40">The source x position in @source to start copying from in GL coordinates</doc>
29892+ <type name="gint" c:type="int"/>
29893+ </parameter>
29894+ <parameter name="y" transfer-ownership="none">
29895+ <doc xml:space="preserve"
29896+ filename="gdk/gdkgl.c"
29897+ line="41">The source y position in @source to start copying from in GL coordinates</doc>
29898+ <type name="gint" c:type="int"/>
29899+ </parameter>
29900+ <parameter name="width" transfer-ownership="none">
29901+ <doc xml:space="preserve"
29902+ filename="gdk/gdkgl.c"
29903+ line="42">The width of the region to draw</doc>
29904+ <type name="gint" c:type="int"/>
29905+ </parameter>
29906+ <parameter name="height" transfer-ownership="none">
29907+ <doc xml:space="preserve"
29908+ filename="gdk/gdkgl.c"
29909+ line="43">The height of the region to draw</doc>
29910+ <type name="gint" c:type="int"/>
29911+ </parameter>
29912+ </parameters>
29913+ </function>
29914+ <function name="cairo_rectangle" c:identifier="gdk_cairo_rectangle">
29915+ <doc xml:space="preserve"
29916+ filename="gdk/gdkcairo.c"
29917+ line="45">Adds the given rectangle to the current path of @cr.</doc>
29918+ <source-position filename="gdk/gdkcairo.h" line="42"/>
29919+ <return-value transfer-ownership="none">
29920+ <type name="none" c:type="void"/>
29921+ </return-value>
29922+ <parameters>
29923+ <parameter name="cr" transfer-ownership="none">
29924+ <doc xml:space="preserve"
29925+ filename="gdk/gdkcairo.c"
29926+ line="47">a cairo context</doc>
29927+ <type name="cairo.Context" c:type="cairo_t*"/>
29928+ </parameter>
29929+ <parameter name="rectangle" transfer-ownership="none">
29930+ <doc xml:space="preserve"
29931+ filename="gdk/gdkcairo.c"
29932+ line="48">a `GdkRectangle`</doc>
29933+ <type name="Rectangle" c:type="const GdkRectangle*"/>
29934+ </parameter>
29935+ </parameters>
29936+ </function>
29937+ <function name="cairo_region" c:identifier="gdk_cairo_region">
29938+ <doc xml:space="preserve"
29939+ filename="gdk/gdkcairo.c"
29940+ line="64">Adds the given region to the current path of @cr.</doc>
29941+ <source-position filename="gdk/gdkcairo.h" line="45"/>
29942+ <return-value transfer-ownership="none">
29943+ <type name="none" c:type="void"/>
29944+ </return-value>
29945+ <parameters>
29946+ <parameter name="cr" transfer-ownership="none">
29947+ <doc xml:space="preserve"
29948+ filename="gdk/gdkcairo.c"
29949+ line="66">a cairo context</doc>
29950+ <type name="cairo.Context" c:type="cairo_t*"/>
29951+ </parameter>
29952+ <parameter name="region" transfer-ownership="none">
29953+ <doc xml:space="preserve"
29954+ filename="gdk/gdkcairo.c"
29955+ line="67">a `cairo_region_t`</doc>
29956+ <type name="cairo.Region" c:type="const cairo_region_t*"/>
29957+ </parameter>
29958+ </parameters>
29959+ </function>
29960+ <function name="cairo_region_create_from_surface"
29961+ c:identifier="gdk_cairo_region_create_from_surface">
29962+ <doc xml:space="preserve"
29963+ filename="gdk/gdkcairo.c"
29964+ line="214">Creates region that covers the area where the given
29965+@surface is more than 50% opaque.
29966+
29967+This function takes into account device offsets that might be
29968+set with cairo_surface_set_device_offset().</doc>
29969+ <source-position filename="gdk/gdkcairo.h" line="50"/>
29970+ <return-value transfer-ownership="full">
29971+ <doc xml:space="preserve"
29972+ filename="gdk/gdkcairo.c"
29973+ line="224">A `cairo_region_t`</doc>
29974+ <type name="cairo.Region" c:type="cairo_region_t*"/>
29975+ </return-value>
29976+ <parameters>
29977+ <parameter name="surface" transfer-ownership="none">
29978+ <doc xml:space="preserve"
29979+ filename="gdk/gdkcairo.c"
29980+ line="216">a cairo surface</doc>
29981+ <type name="cairo.Surface" c:type="cairo_surface_t*"/>
29982+ </parameter>
29983+ </parameters>
29984+ </function>
29985+ <function name="cairo_set_source_pixbuf"
29986+ c:identifier="gdk_cairo_set_source_pixbuf">
29987+ <doc xml:space="preserve"
29988+ filename="gdk/gdkcairo.c"
29989+ line="119">Sets the given pixbuf as the source pattern for @cr.
29990+
29991+The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned
29992+so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y.</doc>
29993+ <source-position filename="gdk/gdkcairo.h" line="36"/>
29994+ <return-value transfer-ownership="none">
29995+ <type name="none" c:type="void"/>
29996+ </return-value>
29997+ <parameters>
29998+ <parameter name="cr" transfer-ownership="none">
29999+ <doc xml:space="preserve"
30000+ filename="gdk/gdkcairo.c"
30001+ line="121">a cairo context</doc>
30002+ <type name="cairo.Context" c:type="cairo_t*"/>
30003+ </parameter>
30004+ <parameter name="pixbuf" transfer-ownership="none">
30005+ <doc xml:space="preserve"
30006+ filename="gdk/gdkcairo.c"
30007+ line="122">a `GdkPixbuf`</doc>
30008+ <type name="GdkPixbuf.Pixbuf" c:type="const GdkPixbuf*"/>
30009+ </parameter>
30010+ <parameter name="pixbuf_x" transfer-ownership="none">
30011+ <doc xml:space="preserve"
30012+ filename="gdk/gdkcairo.c"
30013+ line="123">X coordinate of location to place upper left corner of @pixbuf</doc>
30014+ <type name="gdouble" c:type="double"/>
30015+ </parameter>
30016+ <parameter name="pixbuf_y" transfer-ownership="none">
30017+ <doc xml:space="preserve"
30018+ filename="gdk/gdkcairo.c"
30019+ line="124">Y coordinate of location to place upper left corner of @pixbuf</doc>
30020+ <type name="gdouble" c:type="double"/>
30021+ </parameter>
30022+ </parameters>
30023+ </function>
30024+ <function name="cairo_set_source_rgba"
30025+ c:identifier="gdk_cairo_set_source_rgba">
30026+ <doc xml:space="preserve"
30027+ filename="gdk/gdkcairo.c"
30028+ line="24">Sets the specified `GdkRGBA` as the source color of @cr.</doc>
30029+ <source-position filename="gdk/gdkcairo.h" line="33"/>
30030+ <return-value transfer-ownership="none">
30031+ <type name="none" c:type="void"/>
30032+ </return-value>
30033+ <parameters>
30034+ <parameter name="cr" transfer-ownership="none">
30035+ <doc xml:space="preserve"
30036+ filename="gdk/gdkcairo.c"
30037+ line="26">a cairo context</doc>
30038+ <type name="cairo.Context" c:type="cairo_t*"/>
30039+ </parameter>
30040+ <parameter name="rgba" transfer-ownership="none">
30041+ <doc xml:space="preserve"
30042+ filename="gdk/gdkcairo.c"
30043+ line="27">a `GdkRGBA`</doc>
30044+ <type name="RGBA" c:type="const GdkRGBA*"/>
30045+ </parameter>
30046+ </parameters>
30047+ </function>
30048+ <function name="content_deserialize_async"
30049+ c:identifier="gdk_content_deserialize_async">
30050+ <doc xml:space="preserve"
30051+ filename="gdk/gdkcontentdeserializer.c"
30052+ line="529">Read content from the given input stream and deserialize it, asynchronously.
30053+
30054+The default I/O priority is %G_PRIORITY_DEFAULT (i.e. 0), and lower numbers
30055+indicate a higher priority.
30056+
30057+When the operation is finished, @callback will be called. You must then
30058+call [func@Gdk.content_deserialize_finish] to get the result of the operation.</doc>
30059+ <source-position filename="gdk/gdkcontentdeserializer.h" line="91"/>
30060+ <return-value transfer-ownership="none">
30061+ <type name="none" c:type="void"/>
30062+ </return-value>
30063+ <parameters>
30064+ <parameter name="stream" transfer-ownership="none">
30065+ <doc xml:space="preserve"
30066+ filename="gdk/gdkcontentdeserializer.c"
30067+ line="531">a `GInputStream` to read the serialized content from</doc>
30068+ <type name="Gio.InputStream" c:type="GInputStream*"/>
30069+ </parameter>
30070+ <parameter name="mime_type" transfer-ownership="none">
30071+ <doc xml:space="preserve"
30072+ filename="gdk/gdkcontentdeserializer.c"
30073+ line="532">the mime type to deserialize from</doc>
30074+ <type name="utf8" c:type="const char*"/>
30075+ </parameter>
30076+ <parameter name="type" transfer-ownership="none">
30077+ <doc xml:space="preserve"
30078+ filename="gdk/gdkcontentdeserializer.c"
30079+ line="533">the GType to deserialize from</doc>
30080+ <type name="GType" c:type="GType"/>
30081+ </parameter>
30082+ <parameter name="io_priority" transfer-ownership="none">
30083+ <doc xml:space="preserve"
30084+ filename="gdk/gdkcontentdeserializer.c"
30085+ line="534">the I/O priority of the operation</doc>
30086+ <type name="gint" c:type="int"/>
30087+ </parameter>
30088+ <parameter name="cancellable"
30089+ transfer-ownership="none"
30090+ nullable="1"
30091+ allow-none="1">
30092+ <doc xml:space="preserve"
30093+ filename="gdk/gdkcontentdeserializer.c"
30094+ line="535">optional `GCancellable` object</doc>
30095+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
30096+ </parameter>
30097+ <parameter name="callback"
30098+ transfer-ownership="none"
30099+ nullable="1"
30100+ allow-none="1"
30101+ scope="async"
30102+ closure="6">
30103+ <doc xml:space="preserve"
30104+ filename="gdk/gdkcontentdeserializer.c"
30105+ line="536">callback to call when the operation is done</doc>
30106+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
30107+ </parameter>
30108+ <parameter name="user_data"
30109+ transfer-ownership="none"
30110+ nullable="1"
30111+ allow-none="1">
30112+ <doc xml:space="preserve"
30113+ filename="gdk/gdkcontentdeserializer.c"
30114+ line="537">data to pass to the callback function</doc>
30115+ <type name="gpointer" c:type="gpointer"/>
30116+ </parameter>
30117+ </parameters>
30118+ </function>
30119+ <function name="content_deserialize_finish"
30120+ c:identifier="gdk_content_deserialize_finish"
30121+ throws="1">
30122+ <doc xml:space="preserve"
30123+ filename="gdk/gdkcontentdeserializer.c"
30124+ line="577">Finishes a content deserialization operation.</doc>
30125+ <source-position filename="gdk/gdkcontentdeserializer.h" line="99"/>
30126+ <return-value transfer-ownership="none">
30127+ <doc xml:space="preserve"
30128+ filename="gdk/gdkcontentdeserializer.c"
30129+ line="585">%TRUE if the operation was successful. In this case,
30130+ @value is set. %FALSE if an error occurred. In this case,
30131+ @error is set</doc>
30132+ <type name="gboolean" c:type="gboolean"/>
30133+ </return-value>
30134+ <parameters>
30135+ <parameter name="result" transfer-ownership="none">
30136+ <doc xml:space="preserve"
30137+ filename="gdk/gdkcontentdeserializer.c"
30138+ line="579">the `GAsyncResult`</doc>
30139+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
30140+ </parameter>
30141+ <parameter name="value"
30142+ direction="out"
30143+ caller-allocates="1"
30144+ transfer-ownership="none">
30145+ <doc xml:space="preserve"
30146+ filename="gdk/gdkcontentdeserializer.c"
30147+ line="580">return location for the result of the operation</doc>
30148+ <type name="GObject.Value" c:type="GValue*"/>
30149+ </parameter>
30150+ </parameters>
30151+ </function>
30152+ <function name="content_formats_parse"
30153+ c:identifier="gdk_content_formats_parse"
30154+ moved-to="ContentFormats.parse"
30155+ version="4.4">
30156+ <doc xml:space="preserve"
30157+ filename="gdk/gdkcontentformats.c"
30158+ line="182">Parses the given @string into `GdkContentFormats` and
30159+returns the formats.
30160+
30161+Strings printed via [method@Gdk.ContentFormats.to_string]
30162+can be read in again successfully using this function.
30163+
30164+If @string does not describe valid content formats, %NULL
30165+is returned.</doc>
30166+ <source-position filename="gdk/gdkcontentformats.h" line="44"/>
30167+ <return-value transfer-ownership="full" nullable="1">
30168+ <doc xml:space="preserve"
30169+ filename="gdk/gdkcontentformats.c"
30170+ line="195">the content formats if @string is valid</doc>
30171+ <type name="ContentFormats" c:type="GdkContentFormats*"/>
30172+ </return-value>
30173+ <parameters>
30174+ <parameter name="string" transfer-ownership="none">
30175+ <doc xml:space="preserve"
30176+ filename="gdk/gdkcontentformats.c"
30177+ line="184">the string to parse</doc>
30178+ <type name="utf8" c:type="const char*"/>
30179+ </parameter>
30180+ </parameters>
30181+ </function>
30182+ <function name="content_register_deserializer"
30183+ c:identifier="gdk_content_register_deserializer">
30184+ <doc xml:space="preserve"
30185+ filename="gdk/gdkcontentdeserializer.c"
30186+ line="391">Registers a function to deserialize object of a given type.</doc>
30187+ <source-position filename="gdk/gdkcontentdeserializer.h" line="85"/>
30188+ <return-value transfer-ownership="none">
30189+ <type name="none" c:type="void"/>
30190+ </return-value>
30191+ <parameters>
30192+ <parameter name="mime_type" transfer-ownership="none">
30193+ <doc xml:space="preserve"
30194+ filename="gdk/gdkcontentdeserializer.c"
30195+ line="393">the mime type which the function can deserialize from</doc>
30196+ <type name="utf8" c:type="const char*"/>
30197+ </parameter>
30198+ <parameter name="type" transfer-ownership="none">
30199+ <doc xml:space="preserve"
30200+ filename="gdk/gdkcontentdeserializer.c"
30201+ line="394">the type of objects that the function creates</doc>
30202+ <type name="GType" c:type="GType"/>
30203+ </parameter>
30204+ <parameter name="deserialize"
30205+ transfer-ownership="none"
30206+ scope="notified"
30207+ closure="3"
30208+ destroy="4">
30209+ <doc xml:space="preserve"
30210+ filename="gdk/gdkcontentdeserializer.c"
30211+ line="395">the callback</doc>
30212+ <type name="ContentDeserializeFunc"
30213+ c:type="GdkContentDeserializeFunc"/>
30214+ </parameter>
30215+ <parameter name="data"
30216+ transfer-ownership="none"
30217+ nullable="1"
30218+ allow-none="1">
30219+ <doc xml:space="preserve"
30220+ filename="gdk/gdkcontentdeserializer.c"
30221+ line="396">data that @deserialize can access</doc>
30222+ <type name="gpointer" c:type="gpointer"/>
30223+ </parameter>
30224+ <parameter name="notify" transfer-ownership="none" scope="async">
30225+ <doc xml:space="preserve"
30226+ filename="gdk/gdkcontentdeserializer.c"
30227+ line="397">destroy notify for @data</doc>
30228+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
30229+ </parameter>
30230+ </parameters>
30231+ </function>
30232+ <function name="content_register_serializer"
30233+ c:identifier="gdk_content_register_serializer">
30234+ <doc xml:space="preserve"
30235+ filename="gdk/gdkcontentserializer.c"
30236+ line="397">Registers a function to serialize objects of a given type.</doc>
30237+ <source-position filename="gdk/gdkcontentserializer.h" line="85"/>
30238+ <return-value transfer-ownership="none">
30239+ <type name="none" c:type="void"/>
30240+ </return-value>
30241+ <parameters>
30242+ <parameter name="type" transfer-ownership="none">
30243+ <doc xml:space="preserve"
30244+ filename="gdk/gdkcontentserializer.c"
30245+ line="399">the type of objects that the function can serialize</doc>
30246+ <type name="GType" c:type="GType"/>
30247+ </parameter>
30248+ <parameter name="mime_type" transfer-ownership="none">
30249+ <doc xml:space="preserve"
30250+ filename="gdk/gdkcontentserializer.c"
30251+ line="400">the mime type to serialize to</doc>
30252+ <type name="utf8" c:type="const char*"/>
30253+ </parameter>
30254+ <parameter name="serialize"
30255+ transfer-ownership="none"
30256+ scope="notified"
30257+ closure="3"
30258+ destroy="4">
30259+ <doc xml:space="preserve"
30260+ filename="gdk/gdkcontentserializer.c"
30261+ line="401">the callback</doc>
30262+ <type name="ContentSerializeFunc" c:type="GdkContentSerializeFunc"/>
30263+ </parameter>
30264+ <parameter name="data"
30265+ transfer-ownership="none"
30266+ nullable="1"
30267+ allow-none="1">
30268+ <doc xml:space="preserve"
30269+ filename="gdk/gdkcontentserializer.c"
30270+ line="402">data that @serialize can access</doc>
30271+ <type name="gpointer" c:type="gpointer"/>
30272+ </parameter>
30273+ <parameter name="notify" transfer-ownership="none" scope="async">
30274+ <doc xml:space="preserve"
30275+ filename="gdk/gdkcontentserializer.c"
30276+ line="403">destroy notify for @data</doc>
30277+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
30278+ </parameter>
30279+ </parameters>
30280+ </function>
30281+ <function name="content_serialize_async"
30282+ c:identifier="gdk_content_serialize_async">
30283+ <doc xml:space="preserve"
30284+ filename="gdk/gdkcontentserializer.c"
30285+ line="535">Serialize content and write it to the given output stream, asynchronously.
30286+
30287+The default I/O priority is %G_PRIORITY_DEFAULT (i.e. 0), and lower numbers
30288+indicate a higher priority.
30289+
30290+When the operation is finished, @callback will be called. You must then
30291+call [func@Gdk.content_serialize_finish] to get the result of the operation.</doc>
30292+ <source-position filename="gdk/gdkcontentserializer.h" line="91"/>
30293+ <return-value transfer-ownership="none">
30294+ <type name="none" c:type="void"/>
30295+ </return-value>
30296+ <parameters>
30297+ <parameter name="stream" transfer-ownership="none">
30298+ <doc xml:space="preserve"
30299+ filename="gdk/gdkcontentserializer.c"
30300+ line="537">a `GOutputStream` to write the serialized content to</doc>
30301+ <type name="Gio.OutputStream" c:type="GOutputStream*"/>
30302+ </parameter>
30303+ <parameter name="mime_type" transfer-ownership="none">
30304+ <doc xml:space="preserve"
30305+ filename="gdk/gdkcontentserializer.c"
30306+ line="538">the mime type to serialize to</doc>
30307+ <type name="utf8" c:type="const char*"/>
30308+ </parameter>
30309+ <parameter name="value" transfer-ownership="none">
30310+ <doc xml:space="preserve"
30311+ filename="gdk/gdkcontentserializer.c"
30312+ line="539">the content to serialize</doc>
30313+ <type name="GObject.Value" c:type="const GValue*"/>
30314+ </parameter>
30315+ <parameter name="io_priority" transfer-ownership="none">
30316+ <doc xml:space="preserve"
30317+ filename="gdk/gdkcontentserializer.c"
30318+ line="540">the I/O priority of the operation</doc>
30319+ <type name="gint" c:type="int"/>
30320+ </parameter>
30321+ <parameter name="cancellable"
30322+ transfer-ownership="none"
30323+ nullable="1"
30324+ allow-none="1">
30325+ <doc xml:space="preserve"
30326+ filename="gdk/gdkcontentserializer.c"
30327+ line="541">optional `GCancellable` object</doc>
30328+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
30329+ </parameter>
30330+ <parameter name="callback"
30331+ transfer-ownership="none"
30332+ nullable="1"
30333+ allow-none="1"
30334+ scope="async"
30335+ closure="6">
30336+ <doc xml:space="preserve"
30337+ filename="gdk/gdkcontentserializer.c"
30338+ line="542">callback to call when the operation is done</doc>
30339+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
30340+ </parameter>
30341+ <parameter name="user_data"
30342+ transfer-ownership="none"
30343+ nullable="1"
30344+ allow-none="1">
30345+ <doc xml:space="preserve"
30346+ filename="gdk/gdkcontentserializer.c"
30347+ line="543">data to pass to the callback function</doc>
30348+ <type name="gpointer" c:type="gpointer"/>
30349+ </parameter>
30350+ </parameters>
30351+ </function>
30352+ <function name="content_serialize_finish"
30353+ c:identifier="gdk_content_serialize_finish"
30354+ throws="1">
30355+ <doc xml:space="preserve"
30356+ filename="gdk/gdkcontentserializer.c"
30357+ line="581">Finishes a content serialization operation.</doc>
30358+ <source-position filename="gdk/gdkcontentserializer.h" line="99"/>
30359+ <return-value transfer-ownership="none">
30360+ <doc xml:space="preserve"
30361+ filename="gdk/gdkcontentserializer.c"
30362+ line="588">%TRUE if the operation was successful, %FALSE if an
30363+ error occurred. In this case, @error is set</doc>
30364+ <type name="gboolean" c:type="gboolean"/>
30365+ </return-value>
30366+ <parameters>
30367+ <parameter name="result" transfer-ownership="none">
30368+ <doc xml:space="preserve"
30369+ filename="gdk/gdkcontentserializer.c"
30370+ line="583">the `GAsyncResult`</doc>
30371+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
30372+ </parameter>
30373+ </parameters>
30374+ </function>
30375+ <function name="drag_action_is_unique"
30376+ c:identifier="gdk_drag_action_is_unique"
30377+ moved-to="DragAction.is_unique">
30378+ <doc xml:space="preserve"
30379+ filename="gdk/gdkdrag.c"
30380+ line="805">Checks if @action represents a single action or includes
30381+multiple actions.
30382+
30383+When @action is 0 - ie no action was given, %TRUE
30384+is returned.</doc>
30385+ <source-position filename="gdk/gdkdrag.h" line="73"/>
30386+ <return-value transfer-ownership="none">
30387+ <doc xml:space="preserve"
30388+ filename="gdk/gdkdrag.c"
30389+ line="815">%TRUE if exactly one action was given</doc>
30390+ <type name="gboolean" c:type="gboolean"/>
30391+ </return-value>
30392+ <parameters>
30393+ <parameter name="action" transfer-ownership="none">
30394+ <doc xml:space="preserve"
30395+ filename="gdk/gdkdrag.c"
30396+ line="807">a `GdkDragAction`</doc>
30397+ <type name="DragAction" c:type="GdkDragAction"/>
30398+ </parameter>
30399+ </parameters>
30400+ </function>
30401+ <function name="events_get_angle" c:identifier="gdk_events_get_angle">
30402+ <doc xml:space="preserve"
30403+ filename="gdk/gdkevents.c"
30404+ line="1064">Returns the relative angle from @event1 to @event2.
30405+
30406+The relative angle is the angle between the X axis and the line
30407+through both events' positions. The rotation direction for positive
30408+angles is from the positive X axis towards the positive Y axis.
30409+
30410+This assumes that both events have X/Y information.
30411+If not, this function returns %FALSE.</doc>
30412+ <source-position filename="gdk/gdkevents.h" line="517"/>
30413+ <return-value transfer-ownership="none">
30414+ <doc xml:space="preserve"
30415+ filename="gdk/gdkevents.c"
30416+ line="1079">%TRUE if the angle could be calculated.</doc>
30417+ <type name="gboolean" c:type="gboolean"/>
30418+ </return-value>
30419+ <parameters>
30420+ <parameter name="event1" transfer-ownership="none">
30421+ <doc xml:space="preserve"
30422+ filename="gdk/gdkevents.c"
30423+ line="1066">first `GdkEvent`</doc>
30424+ <type name="Event" c:type="GdkEvent*"/>
30425+ </parameter>
30426+ <parameter name="event2" transfer-ownership="none">
30427+ <doc xml:space="preserve"
30428+ filename="gdk/gdkevents.c"
30429+ line="1067">second `GdkEvent`</doc>
30430+ <type name="Event" c:type="GdkEvent*"/>
30431+ </parameter>
30432+ <parameter name="angle"
30433+ direction="out"
30434+ caller-allocates="0"
30435+ transfer-ownership="full">
30436+ <doc xml:space="preserve"
30437+ filename="gdk/gdkevents.c"
30438+ line="1068">return location for the relative angle between both events</doc>
30439+ <type name="gdouble" c:type="double*"/>
30440+ </parameter>
30441+ </parameters>
30442+ </function>
30443+ <function name="events_get_center" c:identifier="gdk_events_get_center">
30444+ <doc xml:space="preserve"
30445+ filename="gdk/gdkevents.c"
30446+ line="1110">Returns the point halfway between the events' positions.
30447+
30448+This assumes that both events have X/Y information.
30449+If not, this function returns %FALSE.</doc>
30450+ <source-position filename="gdk/gdkevents.h" line="521"/>
30451+ <return-value transfer-ownership="none">
30452+ <doc xml:space="preserve"
30453+ filename="gdk/gdkevents.c"
30454+ line="1122">%TRUE if the center could be calculated.</doc>
30455+ <type name="gboolean" c:type="gboolean"/>
30456+ </return-value>
30457+ <parameters>
30458+ <parameter name="event1" transfer-ownership="none">
30459+ <doc xml:space="preserve"
30460+ filename="gdk/gdkevents.c"
30461+ line="1112">first `GdkEvent`</doc>
30462+ <type name="Event" c:type="GdkEvent*"/>
30463+ </parameter>
30464+ <parameter name="event2" transfer-ownership="none">
30465+ <doc xml:space="preserve"
30466+ filename="gdk/gdkevents.c"
30467+ line="1113">second `GdkEvent`</doc>
30468+ <type name="Event" c:type="GdkEvent*"/>
30469+ </parameter>
30470+ <parameter name="x"
30471+ direction="out"
30472+ caller-allocates="0"
30473+ transfer-ownership="full">
30474+ <doc xml:space="preserve"
30475+ filename="gdk/gdkevents.c"
30476+ line="1114">return location for the X coordinate of the center</doc>
30477+ <type name="gdouble" c:type="double*"/>
30478+ </parameter>
30479+ <parameter name="y"
30480+ direction="out"
30481+ caller-allocates="0"
30482+ transfer-ownership="full">
30483+ <doc xml:space="preserve"
30484+ filename="gdk/gdkevents.c"
30485+ line="1115">return location for the Y coordinate of the center</doc>
30486+ <type name="gdouble" c:type="double*"/>
30487+ </parameter>
30488+ </parameters>
30489+ </function>
30490+ <function name="events_get_distance"
30491+ c:identifier="gdk_events_get_distance">
30492+ <doc xml:space="preserve"
30493+ filename="gdk/gdkevents.c"
30494+ line="1041">Returns the distance between the event locations.
30495+
30496+This assumes that both events have X/Y information.
30497+If not, this function returns %FALSE.</doc>
30498+ <source-position filename="gdk/gdkevents.h" line="513"/>
30499+ <return-value transfer-ownership="none">
30500+ <doc xml:space="preserve"
30501+ filename="gdk/gdkevents.c"
30502+ line="1052">%TRUE if the distance could be calculated.</doc>
30503+ <type name="gboolean" c:type="gboolean"/>
30504+ </return-value>
30505+ <parameters>
30506+ <parameter name="event1" transfer-ownership="none">
30507+ <doc xml:space="preserve"
30508+ filename="gdk/gdkevents.c"
30509+ line="1043">first `GdkEvent`</doc>
30510+ <type name="Event" c:type="GdkEvent*"/>
30511+ </parameter>
30512+ <parameter name="event2" transfer-ownership="none">
30513+ <doc xml:space="preserve"
30514+ filename="gdk/gdkevents.c"
30515+ line="1044">second `GdkEvent`</doc>
30516+ <type name="Event" c:type="GdkEvent*"/>
30517+ </parameter>
30518+ <parameter name="distance"
30519+ direction="out"
30520+ caller-allocates="0"
30521+ transfer-ownership="full">
30522+ <doc xml:space="preserve"
30523+ filename="gdk/gdkevents.c"
30524+ line="1045">return location for the distance</doc>
30525+ <type name="gdouble" c:type="double*"/>
30526+ </parameter>
30527+ </parameters>
30528+ </function>
30529+ <function name="gl_error_quark"
30530+ c:identifier="gdk_gl_error_quark"
30531+ moved-to="GLError.quark">
30532+ <return-value transfer-ownership="none">
30533+ <type name="GLib.Quark" c:type="GQuark"/>
30534+ </return-value>
30535+ </function>
30536+ <function name="intern_mime_type" c:identifier="gdk_intern_mime_type">
30537+ <doc xml:space="preserve"
30538+ filename="gdk/gdkcontentformats.c"
30539+ line="78">Canonicalizes the given mime type and interns the result.
30540+
30541+If @string is not a valid mime type, %NULL is returned instead.
30542+See RFC 2048 for the syntax if mime types.</doc>
30543+ <source-position filename="gdk/gdkcontentformats.h" line="34"/>
30544+ <return-value transfer-ownership="none" nullable="1">
30545+ <doc xml:space="preserve"
30546+ filename="gdk/gdkcontentformats.c"
30547+ line="87">An interned string for the canonicalized
30548+ mime type or %NULL if the string wasn't a valid mime type</doc>
30549+ <type name="utf8" c:type="const char*"/>
30550+ </return-value>
30551+ <parameters>
30552+ <parameter name="string" transfer-ownership="none">
30553+ <doc xml:space="preserve"
30554+ filename="gdk/gdkcontentformats.c"
30555+ line="80">string of a potential mime type</doc>
30556+ <type name="utf8" c:type="const char*"/>
30557+ </parameter>
30558+ </parameters>
30559+ </function>
30560+ <function name="keyval_convert_case"
30561+ c:identifier="gdk_keyval_convert_case">
30562+ <doc xml:space="preserve"
30563+ filename="gdk/gdkkeys.c"
30564+ line="728">Obtains the upper- and lower-case versions of the keyval @symbol.
30565+
30566+Examples of keyvals are `GDK_KEY_a`, `GDK_KEY_Enter`, `GDK_KEY_F1`, etc.</doc>
30567+ <source-position filename="gdk/gdkkeys.h" line="43"/>
30568+ <return-value transfer-ownership="none">
30569+ <type name="none" c:type="void"/>
30570+ </return-value>
30571+ <parameters>
30572+ <parameter name="symbol" transfer-ownership="none">
30573+ <doc xml:space="preserve"
30574+ filename="gdk/gdkkeys.c"
30575+ line="730">a keyval</doc>
30576+ <type name="guint" c:type="guint"/>
30577+ </parameter>
30578+ <parameter name="lower"
30579+ direction="out"
30580+ caller-allocates="0"
30581+ transfer-ownership="full">
30582+ <doc xml:space="preserve"
30583+ filename="gdk/gdkkeys.c"
30584+ line="731">return location for lowercase version of @symbol</doc>
30585+ <type name="guint" c:type="guint*"/>
30586+ </parameter>
30587+ <parameter name="upper"
30588+ direction="out"
30589+ caller-allocates="0"
30590+ transfer-ownership="full">
30591+ <doc xml:space="preserve"
30592+ filename="gdk/gdkkeys.c"
30593+ line="732">return location for uppercase version of @symbol</doc>
30594+ <type name="guint" c:type="guint*"/>
30595+ </parameter>
30596+ </parameters>
30597+ </function>
30598+ <function name="keyval_from_name" c:identifier="gdk_keyval_from_name">
30599+ <doc xml:space="preserve"
30600+ filename="gdk/gdkkeys.c"
30601+ line="709">Converts a key name to a key value.
30602+
30603+The names are the same as those in the
30604+`gdk/gdkkeysyms.h` header file
30605+but without the leading “GDK_KEY_”.</doc>
30606+ <source-position filename="gdk/gdkkeys.h" line="41"/>
30607+ <return-value transfer-ownership="none">
30608+ <doc xml:space="preserve"
30609+ filename="gdk/gdkkeys.c"
30610+ line="719">the corresponding key value, or %GDK_KEY_VoidSymbol
30611+ if the key name is not a valid key</doc>
30612+ <type name="guint" c:type="guint"/>
30613+ </return-value>
30614+ <parameters>
30615+ <parameter name="keyval_name" transfer-ownership="none">
30616+ <doc xml:space="preserve"
30617+ filename="gdk/gdkkeys.c"
30618+ line="711">a key name</doc>
30619+ <type name="utf8" c:type="const char*"/>
30620+ </parameter>
30621+ </parameters>
30622+ </function>
30623+ <function name="keyval_is_lower" c:identifier="gdk_keyval_is_lower">
30624+ <doc xml:space="preserve"
30625+ filename="gdk/gdkkeys.c"
30626+ line="270">Returns %TRUE if the given key value is in lower case.</doc>
30627+ <source-position filename="gdk/gdkkeys.h" line="53"/>
30628+ <return-value transfer-ownership="none">
30629+ <doc xml:space="preserve"
30630+ filename="gdk/gdkkeys.c"
30631+ line="276">%TRUE if @keyval is in lower case, or if @keyval is not
30632+ subject to case conversion.</doc>
30633+ <type name="gboolean" c:type="gboolean"/>
30634+ </return-value>
30635+ <parameters>
30636+ <parameter name="keyval" transfer-ownership="none">
30637+ <doc xml:space="preserve"
30638+ filename="gdk/gdkkeys.c"
30639+ line="272">a key value.</doc>
30640+ <type name="guint" c:type="guint"/>
30641+ </parameter>
30642+ </parameters>
30643+ </function>
30644+ <function name="keyval_is_upper" c:identifier="gdk_keyval_is_upper">
30645+ <doc xml:space="preserve"
30646+ filename="gdk/gdkkeys.c"
30647+ line="248">Returns %TRUE if the given key value is in upper case.</doc>
30648+ <source-position filename="gdk/gdkkeys.h" line="51"/>
30649+ <return-value transfer-ownership="none">
30650+ <doc xml:space="preserve"
30651+ filename="gdk/gdkkeys.c"
30652+ line="254">%TRUE if @keyval is in upper case, or if @keyval is not subject to
30653+ case conversion.</doc>
30654+ <type name="gboolean" c:type="gboolean"/>
30655+ </return-value>
30656+ <parameters>
30657+ <parameter name="keyval" transfer-ownership="none">
30658+ <doc xml:space="preserve"
30659+ filename="gdk/gdkkeys.c"
30660+ line="250">a key value.</doc>
30661+ <type name="guint" c:type="guint"/>
30662+ </parameter>
30663+ </parameters>
30664+ </function>
30665+ <function name="keyval_name" c:identifier="gdk_keyval_name">
30666+ <doc xml:space="preserve"
30667+ filename="gdk/gdkkeys.c"
30668+ line="690">Converts a key value into a symbolic name.
30669+
30670+The names are the same as those in the
30671+`gdk/gdkkeysyms.h` header file
30672+but without the leading “GDK_KEY_”.</doc>
30673+ <source-position filename="gdk/gdkkeys.h" line="38"/>
30674+ <return-value transfer-ownership="none" nullable="1">
30675+ <doc xml:space="preserve"
30676+ filename="gdk/gdkkeys.c"
30677+ line="700">a string containing the name
30678+ of the key</doc>
30679+ <type name="utf8" c:type="const char*"/>
30680+ </return-value>
30681+ <parameters>
30682+ <parameter name="keyval" transfer-ownership="none">
30683+ <doc xml:space="preserve"
30684+ filename="gdk/gdkkeys.c"
30685+ line="692">a key value</doc>
30686+ <type name="guint" c:type="guint"/>
30687+ </parameter>
30688+ </parameters>
30689+ </function>
30690+ <function name="keyval_to_lower" c:identifier="gdk_keyval_to_lower">
30691+ <doc xml:space="preserve"
30692+ filename="gdk/gdkkeys.c"
30693+ line="229">Converts a key value to lower case, if applicable.</doc>
30694+ <source-position filename="gdk/gdkkeys.h" line="49"/>
30695+ <return-value transfer-ownership="none">
30696+ <doc xml:space="preserve"
30697+ filename="gdk/gdkkeys.c"
30698+ line="235">the lower case form of @keyval, or @keyval itself if it is already
30699+ in lower case or it is not subject to case conversion.</doc>
30700+ <type name="guint" c:type="guint"/>
30701+ </return-value>
30702+ <parameters>
30703+ <parameter name="keyval" transfer-ownership="none">
30704+ <doc xml:space="preserve"
30705+ filename="gdk/gdkkeys.c"
30706+ line="231">a key value.</doc>
30707+ <type name="guint" c:type="guint"/>
30708+ </parameter>
30709+ </parameters>
30710+ </function>
30711+ <function name="keyval_to_unicode" c:identifier="gdk_keyval_to_unicode">
30712+ <doc xml:space="preserve"
30713+ filename="gdk/gdkkeyuni.c"
30714+ line="874">Convert from a GDK key symbol to the corresponding Unicode
30715+character.
30716+
30717+Note that the conversion does not take the current locale
30718+into consideration, which might be expected for particular
30719+keyvals, such as %GDK_KEY_KP_Decimal.</doc>
30720+ <source-position filename="gdk/gdkkeys.h" line="56"/>
30721+ <return-value transfer-ownership="none">
30722+ <doc xml:space="preserve"
30723+ filename="gdk/gdkkeyuni.c"
30724+ line="885">the corresponding unicode character, or 0 if there
30725+ is no corresponding character.</doc>
30726+ <type name="guint32" c:type="guint32"/>
30727+ </return-value>
30728+ <parameters>
30729+ <parameter name="keyval" transfer-ownership="none">
30730+ <doc xml:space="preserve"
30731+ filename="gdk/gdkkeyuni.c"
30732+ line="876">a GDK key symbol</doc>
30733+ <type name="guint" c:type="guint"/>
30734+ </parameter>
30735+ </parameters>
30736+ </function>
30737+ <function name="keyval_to_upper" c:identifier="gdk_keyval_to_upper">
30738+ <doc xml:space="preserve"
30739+ filename="gdk/gdkkeys.c"
30740+ line="210">Converts a key value to upper case, if applicable.</doc>
30741+ <source-position filename="gdk/gdkkeys.h" line="47"/>
30742+ <return-value transfer-ownership="none">
30743+ <doc xml:space="preserve"
30744+ filename="gdk/gdkkeys.c"
30745+ line="216">the upper case form of @keyval, or @keyval itself if it is already
30746+ in upper case or it is not subject to case conversion.</doc>
30747+ <type name="guint" c:type="guint"/>
30748+ </return-value>
30749+ <parameters>
30750+ <parameter name="keyval" transfer-ownership="none">
30751+ <doc xml:space="preserve"
30752+ filename="gdk/gdkkeys.c"
30753+ line="212">a key value.</doc>
30754+ <type name="guint" c:type="guint"/>
30755+ </parameter>
30756+ </parameters>
30757+ </function>
30758+ <function name="paintable_new_empty"
30759+ c:identifier="gdk_paintable_new_empty"
30760+ moved-to="Paintable.new_empty">
30761+ <doc xml:space="preserve"
30762+ filename="gdk/gdkpaintable.c"
30763+ line="657">Returns a paintable that has the given intrinsic size and draws nothing.
30764+
30765+This is often useful for implementing the
30766+[vfunc@Gdk.Paintable.get_current_image] virtual function
30767+when the paintable is in an incomplete state (like a
30768+[class@Gtk.MediaStream] before receiving the first frame).</doc>
30769+ <source-position filename="gdk/gdkpaintable.h" line="143"/>
30770+ <return-value transfer-ownership="full">
30771+ <doc xml:space="preserve"
30772+ filename="gdk/gdkpaintable.c"
30773+ line="669">a `GdkPaintable`</doc>
30774+ <type name="Paintable" c:type="GdkPaintable*"/>
30775+ </return-value>
30776+ <parameters>
30777+ <parameter name="intrinsic_width" transfer-ownership="none">
30778+ <doc xml:space="preserve"
30779+ filename="gdk/gdkpaintable.c"
30780+ line="659">The intrinsic width to report. Can be 0 for no width.</doc>
30781+ <type name="gint" c:type="int"/>
30782+ </parameter>
30783+ <parameter name="intrinsic_height" transfer-ownership="none">
30784+ <doc xml:space="preserve"
30785+ filename="gdk/gdkpaintable.c"
30786+ line="660">The intrinsic height to report. Can be 0 for no height.</doc>
30787+ <type name="gint" c:type="int"/>
30788+ </parameter>
30789+ </parameters>
30790+ </function>
30791+ <function name="pango_layout_get_clip_region"
30792+ c:identifier="gdk_pango_layout_get_clip_region"
30793+ introspectable="0">
30794+ <doc xml:space="preserve"
30795+ filename="gdk/gdkpango.c"
30796+ line="142">Obtains a clip region which contains the areas where the given ranges
30797+of text would be drawn.
30798+
30799+@x_origin and @y_origin are the top left point to center the layout.
30800+@index_ranges should contain ranges of bytes in the layout’s text.
30801+
30802+Note that the regions returned correspond to logical extents of the text
30803+ranges, not ink extents. So the drawn layout may in fact touch areas out of
30804+the clip region. The clip region is mainly useful for highlightling parts
30805+of text, such as when text is selected.</doc>
30806+ <source-position filename="gdk/gdkpango.h" line="43"/>
30807+ <return-value transfer-ownership="full">
30808+ <doc xml:space="preserve"
30809+ filename="gdk/gdkpango.c"
30810+ line="161">a clip region containing the given ranges</doc>
30811+ <type name="cairo.Region" c:type="cairo_region_t*"/>
30812+ </return-value>
30813+ <parameters>
30814+ <parameter name="layout" transfer-ownership="none">
30815+ <doc xml:space="preserve"
30816+ filename="gdk/gdkpango.c"
30817+ line="144">a `PangoLayout`</doc>
30818+ <type name="Pango.Layout" c:type="PangoLayout*"/>
30819+ </parameter>
30820+ <parameter name="x_origin" transfer-ownership="none">
30821+ <doc xml:space="preserve"
30822+ filename="gdk/gdkpango.c"
30823+ line="145">X pixel where you intend to draw the layout with this clip</doc>
30824+ <type name="gint" c:type="int"/>
30825+ </parameter>
30826+ <parameter name="y_origin" transfer-ownership="none">
30827+ <doc xml:space="preserve"
30828+ filename="gdk/gdkpango.c"
30829+ line="146">Y pixel where you intend to draw the layout with this clip</doc>
30830+ <type name="gint" c:type="int"/>
30831+ </parameter>
30832+ <parameter name="index_ranges" transfer-ownership="none">
30833+ <doc xml:space="preserve"
30834+ filename="gdk/gdkpango.c"
30835+ line="147">array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes</doc>
30836+ <type name="gint" c:type="const int*"/>
30837+ </parameter>
30838+ <parameter name="n_ranges" transfer-ownership="none">
30839+ <doc xml:space="preserve"
30840+ filename="gdk/gdkpango.c"
30841+ line="148">number of ranges in @index_ranges, i.e. half the size of @index_ranges</doc>
30842+ <type name="gint" c:type="int"/>
30843+ </parameter>
30844+ </parameters>
30845+ </function>
30846+ <function name="pango_layout_line_get_clip_region"
30847+ c:identifier="gdk_pango_layout_line_get_clip_region"
30848+ introspectable="0">
30849+ <doc xml:space="preserve"
30850+ filename="gdk/gdkpango.c"
30851+ line="91">Obtains a clip region which contains the areas where the given
30852+ranges of text would be drawn.
30853+
30854+@x_origin and @y_origin are the top left position of the layout.
30855+@index_ranges should contain ranges of bytes in the layout’s text.
30856+The clip region will include space to the left or right of the line
30857+(to the layout bounding box) if you have indexes above or below the
30858+indexes contained inside the line. This is to draw the selection all
30859+the way to the side of the layout. However, the clip region is in line
30860+coordinates, not layout coordinates.
30861+
30862+Note that the regions returned correspond to logical extents of the text
30863+ranges, not ink extents. So the drawn line may in fact touch areas out of
30864+the clip region. The clip region is mainly useful for highlightling parts
30865+of text, such as when text is selected.</doc>
30866+ <source-position filename="gdk/gdkpango.h" line="37"/>
30867+ <return-value transfer-ownership="full">
30868+ <doc xml:space="preserve"
30869+ filename="gdk/gdkpango.c"
30870+ line="116">a clip region containing the given ranges</doc>
30871+ <type name="cairo.Region" c:type="cairo_region_t*"/>
30872+ </return-value>
30873+ <parameters>
30874+ <parameter name="line" transfer-ownership="none">
30875+ <doc xml:space="preserve"
30876+ filename="gdk/gdkpango.c"
30877+ line="93">a `PangoLayoutLine`</doc>
30878+ <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
30879+ </parameter>
30880+ <parameter name="x_origin" transfer-ownership="none">
30881+ <doc xml:space="preserve"
30882+ filename="gdk/gdkpango.c"
30883+ line="94">X pixel where you intend to draw the layout line with this clip</doc>
30884+ <type name="gint" c:type="int"/>
30885+ </parameter>
30886+ <parameter name="y_origin" transfer-ownership="none">
30887+ <doc xml:space="preserve"
30888+ filename="gdk/gdkpango.c"
30889+ line="95">baseline pixel where you intend to draw the layout line with this clip</doc>
30890+ <type name="gint" c:type="int"/>
30891+ </parameter>
30892+ <parameter name="index_ranges" transfer-ownership="none">
30893+ <doc xml:space="preserve"
30894+ filename="gdk/gdkpango.c"
30895+ line="96">array of byte indexes into the layout, where even
30896+ members of array are start indexes and odd elements are end indexes</doc>
30897+ <array zero-terminated="0" c:type="const int*">
30898+ <type name="gint" c:type="int"/>
30899+ </array>
30900+ </parameter>
30901+ <parameter name="n_ranges" transfer-ownership="none">
30902+ <doc xml:space="preserve"
30903+ filename="gdk/gdkpango.c"
30904+ line="98">number of ranges in @index_ranges, i.e. half the size of @index_ranges</doc>
30905+ <type name="gint" c:type="int"/>
30906+ </parameter>
30907+ </parameters>
30908+ </function>
30909+ <function name="pixbuf_get_from_surface"
30910+ c:identifier="gdk_pixbuf_get_from_surface">
30911+ <doc xml:space="preserve"
30912+ filename="gdk/gdkpixbuf.c"
30913+ line="142">Transfers image data from a `cairo_surface_t` and converts it
30914+to a `GdkPixbuf`.
30915+
30916+This allows you to efficiently read individual pixels from cairo surfaces.
30917+
30918+This function will create an RGB pixbuf with 8 bits per channel.
30919+The pixbuf will contain an alpha channel if the @surface contains one.</doc>
30920+ <source-position filename="gdk/gdkpixbuf.h" line="42"/>
30921+ <return-value transfer-ownership="full" nullable="1">
30922+ <doc xml:space="preserve"
30923+ filename="gdk/gdkpixbuf.c"
30924+ line="158">A newly-created pixbuf with a
30925+ reference count of 1</doc>
30926+ <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
30927+ </return-value>
30928+ <parameters>
30929+ <parameter name="surface" transfer-ownership="none">
30930+ <doc xml:space="preserve"
30931+ filename="gdk/gdkpixbuf.c"
30932+ line="144">surface to copy from</doc>
30933+ <type name="cairo.Surface" c:type="cairo_surface_t*"/>
30934+ </parameter>
30935+ <parameter name="src_x" transfer-ownership="none">
30936+ <doc xml:space="preserve"
30937+ filename="gdk/gdkpixbuf.c"
30938+ line="145">Source X coordinate within @surface</doc>
30939+ <type name="gint" c:type="int"/>
30940+ </parameter>
30941+ <parameter name="src_y" transfer-ownership="none">
30942+ <doc xml:space="preserve"
30943+ filename="gdk/gdkpixbuf.c"
30944+ line="146">Source Y coordinate within @surface</doc>
30945+ <type name="gint" c:type="int"/>
30946+ </parameter>
30947+ <parameter name="width" transfer-ownership="none">
30948+ <doc xml:space="preserve"
30949+ filename="gdk/gdkpixbuf.c"
30950+ line="147">Width in pixels of region to get</doc>
30951+ <type name="gint" c:type="int"/>
30952+ </parameter>
30953+ <parameter name="height" transfer-ownership="none">
30954+ <doc xml:space="preserve"
30955+ filename="gdk/gdkpixbuf.c"
30956+ line="148">Height in pixels of region to get</doc>
30957+ <type name="gint" c:type="int"/>
30958+ </parameter>
30959+ </parameters>
30960+ </function>
30961+ <function name="pixbuf_get_from_texture"
30962+ c:identifier="gdk_pixbuf_get_from_texture">
30963+ <doc xml:space="preserve"
30964+ filename="gdk/gdkpixbuf.c"
30965+ line="226">Creates a new pixbuf from @texture.
30966+
30967+This should generally not be used in newly written code as later
30968+stages will almost certainly convert the pixbuf back into a texture
30969+to draw it on screen.</doc>
30970+ <source-position filename="gdk/gdkpixbuf.h" line="48"/>
30971+ <return-value transfer-ownership="full" nullable="1">
30972+ <doc xml:space="preserve"
30973+ filename="gdk/gdkpixbuf.c"
30974+ line="236">a new `GdkPixbuf`</doc>
30975+ <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
30976+ </return-value>
30977+ <parameters>
30978+ <parameter name="texture" transfer-ownership="none">
30979+ <doc xml:space="preserve"
30980+ filename="gdk/gdkpixbuf.c"
30981+ line="228">a `GdkTexture`</doc>
30982+ <type name="Texture" c:type="GdkTexture*"/>
30983+ </parameter>
30984+ </parameters>
30985+ </function>
30986+ <function name="set_allowed_backends"
30987+ c:identifier="gdk_set_allowed_backends">
30988+ <doc xml:space="preserve"
30989+ filename="gdk/gdkdisplaymanager.c"
30990+ line="206">Sets a list of backends that GDK should try to use.
30991+
30992+This can be useful if your application does not
30993+work with certain GDK backends.
30994+
30995+By default, GDK tries all included backends.
30996+
30997+For example:
30998+
30999+```c
31000+gdk_set_allowed_backends ("wayland,macos,*");
31001+```
31002+
31003+instructs GDK to try the Wayland backend first, followed by the
31004+MacOs backend, and then all others.
31005+
31006+If the `GDK_BACKEND` environment variable is set, it determines
31007+what backends are tried in what order, while still respecting the
31008+set of allowed backends that are specified by this function.
31009+
31010+The possible backend names are:
31011+
31012+ - `broadway`
31013+ - `macos`
31014+ - `wayland`.
31015+ - `win32`
31016+ - `x11`
31017+
31018+You can also include a `*` in the list to try all remaining backends.
31019+
31020+This call must happen prior to functions that open a display, such
31021+as [func@Gdk.Display.open], `gtk_init()`, or `gtk_init_check()`
31022+in order to take effect.</doc>
31023+ <source-position filename="gdk/gdkdisplaymanager.h" line="58"/>
31024+ <return-value transfer-ownership="none">
31025+ <type name="none" c:type="void"/>
31026+ </return-value>
31027+ <parameters>
31028+ <parameter name="backends" transfer-ownership="none">
31029+ <doc xml:space="preserve"
31030+ filename="gdk/gdkdisplaymanager.c"
31031+ line="208">a comma-separated list of backends</doc>
31032+ <type name="utf8" c:type="const char*"/>
31033+ </parameter>
31034+ </parameters>
31035+ </function>
31036+ <function name="texture_error_quark"
31037+ c:identifier="gdk_texture_error_quark"
31038+ moved-to="TextureError.quark">
31039+ <return-value transfer-ownership="none">
31040+ <type name="GLib.Quark" c:type="GQuark"/>
31041+ </return-value>
31042+ </function>
31043+ <function name="toplevel_size_get_type"
31044+ c:identifier="gdk_toplevel_size_get_type">
31045+ <source-position filename="gdk/gdktoplevelsize.h" line="36"/>
31046+ <return-value transfer-ownership="none">
31047+ <type name="GType" c:type="GType"/>
31048+ </return-value>
31049+ </function>
31050+ <function name="unicode_to_keyval" c:identifier="gdk_unicode_to_keyval">
31051+ <doc xml:space="preserve"
31052+ filename="gdk/gdkkeyuni.c"
31053+ line="1698">Convert from a Unicode character to a key symbol.</doc>
31054+ <source-position filename="gdk/gdkkeys.h" line="58"/>
31055+ <return-value transfer-ownership="none">
31056+ <doc xml:space="preserve"
31057+ filename="gdk/gdkkeyuni.c"
31058+ line="1704">the corresponding GDK key symbol, if one exists.
31059+ or, if there is no corresponding symbol, wc | 0x01000000</doc>
31060+ <type name="guint" c:type="guint"/>
31061+ </return-value>
31062+ <parameters>
31063+ <parameter name="wc" transfer-ownership="none">
31064+ <doc xml:space="preserve"
31065+ filename="gdk/gdkkeyuni.c"
31066+ line="1700">a Unicode character</doc>
31067+ <type name="guint32" c:type="guint32"/>
31068+ </parameter>
31069+ </parameters>
31070+ </function>
31071+ <function name="vulkan_error_quark"
31072+ c:identifier="gdk_vulkan_error_quark"
31073+ moved-to="VulkanError.quark">
31074+ <return-value transfer-ownership="none">
31075+ <type name="GLib.Quark" c:type="GQuark"/>
31076+ </return-value>
31077+ </function>
31078+ </namespace>
31079+</repository>
A internal/gir/spec/GdkPixbuf-2.0.gir +7353 -0 large diff (7353 lines changed): collapsed
A internal/gir/spec/Gio-2.0.gir +134893 -0 large diff (134893 lines changed): collapsed
A internal/gir/spec/Graphene-1.0.gir +13375 -0 large diff (13375 lines changed): collapsed
A internal/gir/spec/Gsk-4.0.gir +7181 -0 large diff (7181 lines changed): collapsed
A internal/gir/spec/Gtk-4.0.gir +167916 -0 large diff (167916 lines changed): collapsed
A internal/gir/spec/Pango-1.0.gir +22709 -0 large diff (22709 lines changed): collapsed
A internal/gir/spec/PangoCairo-1.0.gir +1136 -0
@@ -0,0 +1,1136 @@
1+<?xml version="1.0"?>
2+<!-- This file was automatically generated from C sources - DO NOT EDIT!
3+To affect the contents of this file, edit the original C definitions,
4+and/or use gtk-doc annotations. -->
5+<repository version="1.2"
6+ xmlns="http://www.gtk.org/introspection/core/1.0"
7+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
8+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9+ <include name="GObject" version="2.0"/>
10+ <include name="Pango" version="1.0"/>
11+ <include name="cairo" version="1.0"/>
12+ <package name="pangocairo"/>
13+ <c:include name="pango/pangocairo.h"/>
14+ <namespace name="PangoCairo"
15+ version="1.0"
16+ shared-library="libpangocairo-1.0.so.0"
17+ c:identifier-prefixes="PangoCairo"
18+ c:symbol-prefixes="pango_cairo">
19+ <function-macro name="FONT"
20+ c:identifier="PANGO_CAIRO_FONT"
21+ introspectable="0">
22+ <source-position filename="../pango/pangocairo.h" line="49"/>
23+ <parameters>
24+ <parameter name="obj">
25+ </parameter>
26+ </parameters>
27+ </function-macro>
28+ <function-macro name="FONT_MAP"
29+ c:identifier="PANGO_CAIRO_FONT_MAP"
30+ introspectable="0">
31+ <source-position filename="../pango/pangocairo.h" line="72"/>
32+ <parameters>
33+ <parameter name="obj">
34+ </parameter>
35+ </parameters>
36+ </function-macro>
37+ <interface name="Font"
38+ c:symbol-prefix="font"
39+ c:type="PangoCairoFont"
40+ version="1.18"
41+ glib:type-name="PangoCairoFont"
42+ glib:get-type="pango_cairo_font_get_type">
43+ <doc xml:space="preserve"
44+ filename="../pango/pangocairo.h"
45+ line="30">`PangoCairoFont` is an interface exported by fonts for
46+use with Cairo.
47+
48+The actual type of the font will depend on the particular
49+font technology Cairo was compiled to use.</doc>
50+ <prerequisite name="Pango.Font"/>
51+ <method name="get_scaled_font"
52+ c:identifier="pango_cairo_font_get_scaled_font"
53+ version="1.18">
54+ <doc xml:space="preserve"
55+ filename="../pango/pangocairo-font.c"
56+ line="138">Gets the `cairo_scaled_font_t` used by @font.
57+The scaled font can be referenced and kept using
58+cairo_scaled_font_reference().</doc>
59+ <source-position filename="../pango/pangocairo.h" line="133"/>
60+ <return-value transfer-ownership="none" nullable="1">
61+ <doc xml:space="preserve"
62+ filename="../pango/pangocairo-font.c"
63+ line="146">the `cairo_scaled_font_t`
64+ used by @font</doc>
65+ <type name="cairo.ScaledFont" c:type="cairo_scaled_font_t*"/>
66+ </return-value>
67+ <parameters>
68+ <instance-parameter name="font"
69+ transfer-ownership="none"
70+ nullable="1"
71+ allow-none="1">
72+ <doc xml:space="preserve"
73+ filename="../pango/pangocairo-font.c"
74+ line="140">a `PangoFont` from a `PangoCairoFontMap`</doc>
75+ <type name="Font" c:type="PangoCairoFont*"/>
76+ </instance-parameter>
77+ </parameters>
78+ </method>
79+ </interface>
80+ <interface name="FontMap"
81+ c:symbol-prefix="font_map"
82+ c:type="PangoCairoFontMap"
83+ version="1.10"
84+ glib:type-name="PangoCairoFontMap"
85+ glib:get-type="pango_cairo_font_map_get_type">
86+ <doc xml:space="preserve"
87+ filename="../pango/pangocairo.h"
88+ line="57">`PangoCairoFontMap` is an interface exported by font maps for
89+use with Cairo.
90+
91+The actual type of the font map will depend on the particular
92+font technology Cairo was compiled to use.</doc>
93+ <prerequisite name="Pango.FontMap"/>
94+ <function name="get_default"
95+ c:identifier="pango_cairo_font_map_get_default"
96+ version="1.10">
97+ <doc xml:space="preserve"
98+ filename="../pango/pangocairo-fontmap.c"
99+ line="151">Gets a default `PangoCairoFontMap` to use with Cairo.
100+
101+Note that the type of the returned object will depend on the
102+particular font backend Cairo was compiled to use; you generally
103+should only use the `PangoFontMap` and `PangoCairoFontMap`
104+interfaces on the returned object.
105+
106+The default Cairo fontmap can be changed by using
107+[method@PangoCairo.FontMap.set_default]. This can be used to
108+change the Cairo font backend that the default fontmap uses
109+for example.
110+
111+Note that since Pango 1.32.6, the default fontmap is per-thread.
112+Each thread gets its own default fontmap. In this way, PangoCairo
113+can be used safely from multiple threads.</doc>
114+ <source-position filename="../pango/pangocairo.h" line="110"/>
115+ <return-value transfer-ownership="none">
116+ <doc xml:space="preserve"
117+ filename="../pango/pangocairo-fontmap.c"
118+ line="170">the default PangoCairo fontmap
119+ for the current thread. This object is owned by Pango and must
120+ not be freed.</doc>
121+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
122+ </return-value>
123+ </function>
124+ <function name="new"
125+ c:identifier="pango_cairo_font_map_new"
126+ version="1.10">
127+ <doc xml:space="preserve"
128+ filename="../pango/pangocairo-fontmap.c"
129+ line="47">Creates a new `PangoCairoFontMap` object.
130+
131+A fontmap is used to cache information about available fonts,
132+and holds certain global parameters such as the resolution.
133+In most cases, you can use `func@PangoCairo.font_map_get_default]
134+instead.
135+
136+Note that the type of the returned object will depend
137+on the particular font backend Cairo was compiled to use;
138+You generally should only use the `PangoFontMap` and
139+`PangoCairoFontMap` interfaces on the returned object.
140+
141+You can override the type of backend returned by using an
142+environment variable %PANGOCAIRO_BACKEND. Supported types,
143+based on your build, are fc (fontconfig), win32, and coretext.
144+If requested type is not available, NULL is returned. Ie.
145+this is only useful for testing, when at least two backends
146+are compiled in.</doc>
147+ <source-position filename="../pango/pangocairo.h" line="106"/>
148+ <return-value transfer-ownership="full">
149+ <doc xml:space="preserve"
150+ filename="../pango/pangocairo-fontmap.c"
151+ line="69">the newly allocated `PangoFontMap`,
152+ which should be freed with g_object_unref().</doc>
153+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
154+ </return-value>
155+ </function>
156+ <function name="new_for_font_type"
157+ c:identifier="pango_cairo_font_map_new_for_font_type"
158+ version="1.18">
159+ <doc xml:space="preserve"
160+ filename="../pango/pangocairo-fontmap.c"
161+ line="110">Creates a new `PangoCairoFontMap` object of the type suitable
162+to be used with cairo font backend of type @fonttype.
163+
164+In most cases one should simply use [func@PangoCairo.FontMap.new], or
165+in fact in most of those cases, just use [func@PangoCairo.FontMap.get_default].</doc>
166+ <source-position filename="../pango/pangocairo.h" line="108"/>
167+ <return-value transfer-ownership="full" nullable="1">
168+ <doc xml:space="preserve"
169+ filename="../pango/pangocairo-fontmap.c"
170+ line="120">the newly allocated
171+ `PangoFontMap` of suitable type which should be freed with
172+ g_object_unref(), or %NULL if the requested cairo font backend
173+ is not supported / compiled in.</doc>
174+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
175+ </return-value>
176+ <parameters>
177+ <parameter name="fonttype" transfer-ownership="none">
178+ <doc xml:space="preserve"
179+ filename="../pango/pangocairo-fontmap.c"
180+ line="112">desired #cairo_font_type_t</doc>
181+ <type name="cairo.FontType" c:type="cairo_font_type_t"/>
182+ </parameter>
183+ </parameters>
184+ </function>
185+ <method name="create_context"
186+ c:identifier="pango_cairo_font_map_create_context"
187+ version="1.10"
188+ introspectable="0"
189+ deprecated="1"
190+ deprecated-version="1.22">
191+ <doc xml:space="preserve"
192+ filename="../pango/pangocairo-fontmap.c"
193+ line="267">Create a `PangoContext` for the given fontmap.</doc>
194+ <doc-deprecated xml:space="preserve">Use pango_font_map_create_context() instead.</doc-deprecated>
195+ <source-position filename="../pango/pangocairo.h" line="123"/>
196+ <return-value>
197+ <doc xml:space="preserve"
198+ filename="../pango/pangocairo-fontmap.c"
199+ line="273">the newly created context; free with g_object_unref().</doc>
200+ <type name="Pango.Context" c:type="PangoContext*"/>
201+ </return-value>
202+ <parameters>
203+ <instance-parameter name="fontmap" transfer-ownership="none">
204+ <doc xml:space="preserve"
205+ filename="../pango/pangocairo-fontmap.c"
206+ line="269">a `PangoCairoFontMap`</doc>
207+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
208+ </instance-parameter>
209+ </parameters>
210+ </method>
211+ <method name="get_font_type"
212+ c:identifier="pango_cairo_font_map_get_font_type"
213+ version="1.18">
214+ <doc xml:space="preserve"
215+ filename="../pango/pangocairo-fontmap.c"
216+ line="287">Gets the type of Cairo font backend that @fontmap uses.</doc>
217+ <source-position filename="../pango/pangocairo.h" line="114"/>
218+ <return-value transfer-ownership="none">
219+ <doc xml:space="preserve"
220+ filename="../pango/pangocairo-fontmap.c"
221+ line="293">the `cairo_font_type_t` cairo font backend type</doc>
222+ <type name="cairo.FontType" c:type="cairo_font_type_t"/>
223+ </return-value>
224+ <parameters>
225+ <instance-parameter name="fontmap" transfer-ownership="none">
226+ <doc xml:space="preserve"
227+ filename="../pango/pangocairo-fontmap.c"
228+ line="289">a `PangoCairoFontMap`</doc>
229+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
230+ </instance-parameter>
231+ </parameters>
232+ </method>
233+ <method name="get_resolution"
234+ c:identifier="pango_cairo_font_map_get_resolution"
235+ version="1.10">
236+ <doc xml:space="preserve"
237+ filename="../pango/pangocairo-fontmap.c"
238+ line="247">Gets the resolution for the fontmap.
239+
240+See [method@PangoCairo.FontMap.set_resolution].</doc>
241+ <source-position filename="../pango/pangocairo.h" line="120"/>
242+ <return-value transfer-ownership="none">
243+ <doc xml:space="preserve"
244+ filename="../pango/pangocairo-fontmap.c"
245+ line="255">the resolution in "dots per inch"</doc>
246+ <type name="gdouble" c:type="double"/>
247+ </return-value>
248+ <parameters>
249+ <instance-parameter name="fontmap" transfer-ownership="none">
250+ <doc xml:space="preserve"
251+ filename="../pango/pangocairo-fontmap.c"
252+ line="249">a `PangoCairoFontMap`</doc>
253+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
254+ </instance-parameter>
255+ </parameters>
256+ </method>
257+ <method name="set_default"
258+ c:identifier="pango_cairo_font_map_set_default"
259+ version="1.22">
260+ <doc xml:space="preserve"
261+ filename="../pango/pangocairo-fontmap.c"
262+ line="190">Sets a default `PangoCairoFontMap` to use with Cairo.
263+
264+This can be used to change the Cairo font backend that the
265+default fontmap uses for example. The old default font map
266+is unreffed and the new font map referenced.
267+
268+Note that since Pango 1.32.6, the default fontmap is per-thread.
269+This function only changes the default fontmap for
270+the current thread. Default fontmaps of existing threads
271+are not changed. Default fontmaps of any new threads will
272+still be created using [func@PangoCairo.FontMap.new].
273+
274+A value of %NULL for @fontmap will cause the current default
275+font map to be released and a new default font map to be created
276+on demand, using [func@PangoCairo.FontMap.new].</doc>
277+ <source-position filename="../pango/pangocairo.h" line="112"/>
278+ <return-value transfer-ownership="none">
279+ <type name="none" c:type="void"/>
280+ </return-value>
281+ <parameters>
282+ <instance-parameter name="fontmap"
283+ transfer-ownership="none"
284+ nullable="1"
285+ allow-none="1">
286+ <doc xml:space="preserve"
287+ filename="../pango/pangocairo-fontmap.c"
288+ line="192">The new default font map</doc>
289+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
290+ </instance-parameter>
291+ </parameters>
292+ </method>
293+ <method name="set_resolution"
294+ c:identifier="pango_cairo_font_map_set_resolution"
295+ version="1.10">
296+ <doc xml:space="preserve"
297+ filename="../pango/pangocairo-fontmap.c"
298+ line="223">Sets the resolution for the fontmap.
299+
300+This is a scale factor between
301+points specified in a `PangoFontDescription` and Cairo units. The
302+default value is 96, meaning that a 10 point font will be 13
303+units high. (10 * 96. / 72. = 13.3).</doc>
304+ <source-position filename="../pango/pangocairo.h" line="117"/>
305+ <return-value transfer-ownership="none">
306+ <type name="none" c:type="void"/>
307+ </return-value>
308+ <parameters>
309+ <instance-parameter name="fontmap" transfer-ownership="none">
310+ <doc xml:space="preserve"
311+ filename="../pango/pangocairo-fontmap.c"
312+ line="225">a `PangoCairoFontMap`</doc>
313+ <type name="FontMap" c:type="PangoCairoFontMap*"/>
314+ </instance-parameter>
315+ <parameter name="dpi" transfer-ownership="none">
316+ <doc xml:space="preserve"
317+ filename="../pango/pangocairo-fontmap.c"
318+ line="226">the resolution in "dots per inch". (Physical inches aren't actually
319+ involved; the terminology is conventional.)</doc>
320+ <type name="gdouble" c:type="double"/>
321+ </parameter>
322+ </parameters>
323+ </method>
324+ </interface>
325+ <function-macro name="IS_FONT"
326+ c:identifier="PANGO_CAIRO_IS_FONT"
327+ introspectable="0">
328+ <source-position filename="../pango/pangocairo.h" line="50"/>
329+ <parameters>
330+ <parameter name="obj">
331+ </parameter>
332+ </parameters>
333+ </function-macro>
334+ <function-macro name="IS_FONT_MAP"
335+ c:identifier="PANGO_CAIRO_IS_FONT_MAP"
336+ introspectable="0">
337+ <source-position filename="../pango/pangocairo.h" line="73"/>
338+ <parameters>
339+ <parameter name="obj">
340+ </parameter>
341+ </parameters>
342+ </function-macro>
343+ <callback name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc">
344+ <doc xml:space="preserve"
345+ filename="../pango/pangocairo.h"
346+ line="80">Function type for rendering attributes of type %PANGO_ATTR_SHAPE
347+with Pango's Cairo renderer.</doc>
348+ <source-position filename="../pango/pangocairo.h" line="94"/>
349+ <return-value transfer-ownership="none">
350+ <type name="none" c:type="void"/>
351+ </return-value>
352+ <parameters>
353+ <parameter name="cr" transfer-ownership="none">
354+ <doc xml:space="preserve"
355+ filename="../pango/pangocairo.h"
356+ line="82">a Cairo context with current point set to where the shape should
357+be rendered</doc>
358+ <type name="cairo.Context" c:type="cairo_t*"/>
359+ </parameter>
360+ <parameter name="attr" transfer-ownership="none">
361+ <doc xml:space="preserve"
362+ filename="../pango/pangocairo.h"
363+ line="84">the %PANGO_ATTR_SHAPE to render</doc>
364+ <type name="Pango.AttrShape" c:type="PangoAttrShape*"/>
365+ </parameter>
366+ <parameter name="do_path" transfer-ownership="none">
367+ <doc xml:space="preserve"
368+ filename="../pango/pangocairo.h"
369+ line="85">whether only the shape path should be appended to current
370+path of @cr and no filling/stroking done. This will be set
371+to %TRUE when called from pango_cairo_layout_path() and
372+pango_cairo_layout_line_path() rendering functions.</doc>
373+ <type name="gboolean" c:type="gboolean"/>
374+ </parameter>
375+ <parameter name="data"
376+ transfer-ownership="none"
377+ nullable="1"
378+ allow-none="1"
379+ closure="3">
380+ <doc xml:space="preserve"
381+ filename="../pango/pangocairo.h"
382+ line="89">user data passed to pango_cairo_context_set_shape_renderer()</doc>
383+ <type name="gpointer" c:type="gpointer"/>
384+ </parameter>
385+ </parameters>
386+ </callback>
387+ <function name="context_get_font_options"
388+ c:identifier="pango_cairo_context_get_font_options"
389+ version="1.10">
390+ <doc xml:space="preserve"
391+ filename="../pango/pangocairo-context.c"
392+ line="284">Retrieves any font rendering options previously set with
393+[func@PangoCairo.context_set_font_options].
394+
395+This function does not report options that are derived from
396+the target surface by [func@update_context].</doc>
397+ <source-position filename="../pango/pangocairo.h" line="145"/>
398+ <return-value transfer-ownership="none" nullable="1">
399+ <doc xml:space="preserve"
400+ filename="../pango/pangocairo-context.c"
401+ line="294">the font options previously set on the
402+ context, or %NULL if no options have been set. This value is
403+ owned by the context and must not be modified or freed.</doc>
404+ <type name="cairo.FontOptions" c:type="const cairo_font_options_t*"/>
405+ </return-value>
406+ <parameters>
407+ <parameter name="context" transfer-ownership="none">
408+ <doc xml:space="preserve"
409+ filename="../pango/pangocairo-context.c"
410+ line="286">a `PangoContext`, from a pangocairo font map</doc>
411+ <type name="Pango.Context" c:type="PangoContext*"/>
412+ </parameter>
413+ </parameters>
414+ </function>
415+ <function name="context_get_resolution"
416+ c:identifier="pango_cairo_context_get_resolution"
417+ version="1.10">
418+ <doc xml:space="preserve"
419+ filename="../pango/pangocairo-context.c"
420+ line="205">Gets the resolution for the context.
421+
422+See [func@PangoCairo.context_set_resolution]</doc>
423+ <source-position filename="../pango/pangocairo.h" line="151"/>
424+ <return-value transfer-ownership="none">
425+ <doc xml:space="preserve"
426+ filename="../pango/pangocairo-context.c"
427+ line="213">the resolution in "dots per inch". A negative value will
428+ be returned if no resolution has previously been set.</doc>
429+ <type name="gdouble" c:type="double"/>
430+ </return-value>
431+ <parameters>
432+ <parameter name="context" transfer-ownership="none">
433+ <doc xml:space="preserve"
434+ filename="../pango/pangocairo-context.c"
435+ line="207">a `PangoContext`, from a pangocairo font map</doc>
436+ <type name="Pango.Context" c:type="PangoContext*"/>
437+ </parameter>
438+ </parameters>
439+ </function>
440+ <function name="context_get_shape_renderer"
441+ c:identifier="pango_cairo_context_get_shape_renderer"
442+ version="1.18"
443+ introspectable="0">
444+ <doc xml:space="preserve"
445+ filename="../pango/pangocairo-context.c"
446+ line="380">Sets callback function for context to use for rendering attributes
447+of type %PANGO_ATTR_SHAPE.
448+
449+See `PangoCairoShapeRendererFunc` for details.
450+
451+Retrieves callback function and associated user data for rendering
452+attributes of type %PANGO_ATTR_SHAPE as set by
453+[func@PangoCairo.context_set_shape_renderer], if any.</doc>
454+ <source-position filename="../pango/pangocairo.h" line="159"/>
455+ <return-value transfer-ownership="none" nullable="1">
456+ <doc xml:space="preserve"
457+ filename="../pango/pangocairo-context.c"
458+ line="394">the shape rendering callback
459+ previously set on the context, or %NULL if no shape rendering callback
460+ have been set.</doc>
461+ <type name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc"/>
462+ </return-value>
463+ <parameters>
464+ <parameter name="context" transfer-ownership="none">
465+ <doc xml:space="preserve"
466+ filename="../pango/pangocairo-context.c"
467+ line="382">a `PangoContext`, from a pangocairo font map</doc>
468+ <type name="Pango.Context" c:type="PangoContext*"/>
469+ </parameter>
470+ <parameter name="data"
471+ transfer-ownership="none"
472+ nullable="1"
473+ allow-none="1">
474+ <doc xml:space="preserve"
475+ filename="../pango/pangocairo-context.c"
476+ line="383">Pointer to `gpointer` to return user data</doc>
477+ <type name="gpointer" c:type="gpointer*"/>
478+ </parameter>
479+ </parameters>
480+ </function>
481+ <function name="context_set_font_options"
482+ c:identifier="pango_cairo_context_set_font_options"
483+ version="1.10">
484+ <doc xml:space="preserve"
485+ filename="../pango/pangocairo-context.c"
486+ line="229">Sets the font options used when rendering text with this context.
487+
488+These options override any options that [func@update_context]
489+derives from the target surface.</doc>
490+ <source-position filename="../pango/pangocairo.h" line="142"/>
491+ <return-value transfer-ownership="none">
492+ <type name="none" c:type="void"/>
493+ </return-value>
494+ <parameters>
495+ <parameter name="context" transfer-ownership="none">
496+ <doc xml:space="preserve"
497+ filename="../pango/pangocairo-context.c"
498+ line="231">a `PangoContext`, from a pangocairo font map</doc>
499+ <type name="Pango.Context" c:type="PangoContext*"/>
500+ </parameter>
501+ <parameter name="options"
502+ transfer-ownership="none"
503+ nullable="1"
504+ allow-none="1">
505+ <doc xml:space="preserve"
506+ filename="../pango/pangocairo-context.c"
507+ line="232">a `cairo_font_options_t`, or %NULL to unset
508+ any previously set options. A copy is made.</doc>
509+ <type name="cairo.FontOptions" c:type="const cairo_font_options_t*"/>
510+ </parameter>
511+ </parameters>
512+ </function>
513+ <function name="context_set_resolution"
514+ c:identifier="pango_cairo_context_set_resolution"
515+ version="1.10">
516+ <doc xml:space="preserve"
517+ filename="../pango/pangocairo-context.c"
518+ line="182">Sets the resolution for the context.
519+
520+This is a scale factor between points specified in a `PangoFontDescription`
521+and Cairo units. The default value is 96, meaning that a 10 point font will
522+be 13 units high. (10 * 96. / 72. = 13.3).</doc>
523+ <source-position filename="../pango/pangocairo.h" line="148"/>
524+ <return-value transfer-ownership="none">
525+ <type name="none" c:type="void"/>
526+ </return-value>
527+ <parameters>
528+ <parameter name="context" transfer-ownership="none">
529+ <doc xml:space="preserve"
530+ filename="../pango/pangocairo-context.c"
531+ line="184">a `PangoContext`, from a pangocairo font map</doc>
532+ <type name="Pango.Context" c:type="PangoContext*"/>
533+ </parameter>
534+ <parameter name="dpi" transfer-ownership="none">
535+ <doc xml:space="preserve"
536+ filename="../pango/pangocairo-context.c"
537+ line="185">the resolution in "dots per inch". (Physical inches aren't actually
538+ involved; the terminology is conventional.) A 0 or negative value
539+ means to use the resolution from the font map.</doc>
540+ <type name="gdouble" c:type="double"/>
541+ </parameter>
542+ </parameters>
543+ </function>
544+ <function name="context_set_shape_renderer"
545+ c:identifier="pango_cairo_context_set_shape_renderer"
546+ version="1.18">
547+ <doc xml:space="preserve"
548+ filename="../pango/pangocairo-context.c"
549+ line="344">Sets callback function for context to use for rendering attributes
550+of type %PANGO_ATTR_SHAPE.
551+
552+See `PangoCairoShapeRendererFunc` for details.</doc>
553+ <source-position filename="../pango/pangocairo.h" line="154"/>
554+ <return-value transfer-ownership="none">
555+ <type name="none" c:type="void"/>
556+ </return-value>
557+ <parameters>
558+ <parameter name="context" transfer-ownership="none">
559+ <doc xml:space="preserve"
560+ filename="../pango/pangocairo-context.c"
561+ line="346">a `PangoContext`, from a pangocairo font map</doc>
562+ <type name="Pango.Context" c:type="PangoContext*"/>
563+ </parameter>
564+ <parameter name="func"
565+ transfer-ownership="none"
566+ nullable="1"
567+ allow-none="1"
568+ scope="notified"
569+ closure="2"
570+ destroy="3">
571+ <doc xml:space="preserve"
572+ filename="../pango/pangocairo-context.c"
573+ line="347">Callback function for rendering attributes of
574+ type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering.</doc>
575+ <type name="ShapeRendererFunc" c:type="PangoCairoShapeRendererFunc"/>
576+ </parameter>
577+ <parameter name="data"
578+ transfer-ownership="none"
579+ nullable="1"
580+ allow-none="1">
581+ <doc xml:space="preserve"
582+ filename="../pango/pangocairo-context.c"
583+ line="349">User data that will be passed to @func.</doc>
584+ <type name="gpointer" c:type="gpointer"/>
585+ </parameter>
586+ <parameter name="dnotify"
587+ transfer-ownership="none"
588+ nullable="1"
589+ allow-none="1"
590+ scope="async">
591+ <doc xml:space="preserve"
592+ filename="../pango/pangocairo-context.c"
593+ line="350">Callback that will be called when the
594+ context is freed to release @data</doc>
595+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
596+ </parameter>
597+ </parameters>
598+ </function>
599+ <function name="create_context"
600+ c:identifier="pango_cairo_create_context"
601+ version="1.22">
602+ <doc xml:space="preserve"
603+ filename="../pango/pangocairo-context.c"
604+ line="424">Creates a context object set up to match the current transformation
605+and target surface of the Cairo context.
606+
607+This context can then be
608+used to create a layout using [ctor@Pango.Layout.new].
609+
610+This function is a convenience function that creates a context using
611+the default font map, then updates it to @cr. If you just need to
612+create a layout for use with @cr and do not need to access `PangoContext`
613+directly, you can use [func@create_layout] instead.</doc>
614+ <source-position filename="../pango/pangocairo.h" line="165"/>
615+ <return-value transfer-ownership="full">
616+ <doc xml:space="preserve"
617+ filename="../pango/pangocairo-context.c"
618+ line="439">the newly created `PangoContext`</doc>
619+ <type name="Pango.Context" c:type="PangoContext*"/>
620+ </return-value>
621+ <parameters>
622+ <parameter name="cr" transfer-ownership="none">
623+ <doc xml:space="preserve"
624+ filename="../pango/pangocairo-context.c"
625+ line="426">a Cairo context</doc>
626+ <type name="cairo.Context" c:type="cairo_t*"/>
627+ </parameter>
628+ </parameters>
629+ </function>
630+ <function name="create_layout"
631+ c:identifier="pango_cairo_create_layout"
632+ version="1.10">
633+ <doc xml:space="preserve"
634+ filename="../pango/pangocairo-context.c"
635+ line="458">Creates a layout object set up to match the current transformation
636+and target surface of the Cairo context.
637+
638+This layout can then be used for text measurement with functions
639+like [method@Pango.Layout.get_size] or drawing with functions like
640+[func@show_layout]. If you change the transformation or target
641+surface for @cr, you need to call [func@update_layout].
642+
643+This function is the most convenient way to use Cairo with Pango,
644+however it is slightly inefficient since it creates a separate
645+`PangoContext` object for each layout. This might matter in an
646+application that was laying out large amounts of text.</doc>
647+ <source-position filename="../pango/pangocairo.h" line="167"/>
648+ <return-value transfer-ownership="full">
649+ <doc xml:space="preserve"
650+ filename="../pango/pangocairo-context.c"
651+ line="475">the newly created `PangoLayout`</doc>
652+ <type name="Pango.Layout" c:type="PangoLayout*"/>
653+ </return-value>
654+ <parameters>
655+ <parameter name="cr" transfer-ownership="none">
656+ <doc xml:space="preserve"
657+ filename="../pango/pangocairo-context.c"
658+ line="460">a Cairo context</doc>
659+ <type name="cairo.Context" c:type="cairo_t*"/>
660+ </parameter>
661+ </parameters>
662+ </function>
663+ <function name="error_underline_path"
664+ c:identifier="pango_cairo_error_underline_path"
665+ version="1.14">
666+ <doc xml:space="preserve"
667+ filename="../pango/pangocairo-render.c"
668+ line="1244">Add a squiggly line to the current path in the specified cairo context that
669+approximately covers the given rectangle in the style of an underline used
670+to indicate a spelling error.
671+
672+The width of the underline is rounded to an integer number of up/down
673+segments and the resulting rectangle is centered in the original rectangle.</doc>
674+ <source-position filename="../pango/pangocairo.h" line="212"/>
675+ <return-value transfer-ownership="none">
676+ <type name="none" c:type="void"/>
677+ </return-value>
678+ <parameters>
679+ <parameter name="cr" transfer-ownership="none">
680+ <doc xml:space="preserve"
681+ filename="../pango/pangocairo-render.c"
682+ line="1246">a Cairo context</doc>
683+ <type name="cairo.Context" c:type="cairo_t*"/>
684+ </parameter>
685+ <parameter name="x" transfer-ownership="none">
686+ <doc xml:space="preserve"
687+ filename="../pango/pangocairo-render.c"
688+ line="1247">The X coordinate of one corner of the rectangle</doc>
689+ <type name="gdouble" c:type="double"/>
690+ </parameter>
691+ <parameter name="y" transfer-ownership="none">
692+ <doc xml:space="preserve"
693+ filename="../pango/pangocairo-render.c"
694+ line="1248">The Y coordinate of one corner of the rectangle</doc>
695+ <type name="gdouble" c:type="double"/>
696+ </parameter>
697+ <parameter name="width" transfer-ownership="none">
698+ <doc xml:space="preserve"
699+ filename="../pango/pangocairo-render.c"
700+ line="1249">Non-negative width of the rectangle</doc>
701+ <type name="gdouble" c:type="double"/>
702+ </parameter>
703+ <parameter name="height" transfer-ownership="none">
704+ <doc xml:space="preserve"
705+ filename="../pango/pangocairo-render.c"
706+ line="1250">Non-negative height of the rectangle</doc>
707+ <type name="gdouble" c:type="double"/>
708+ </parameter>
709+ </parameters>
710+ </function>
711+ <function name="font_map_get_default"
712+ c:identifier="pango_cairo_font_map_get_default"
713+ moved-to="FontMap.get_default"
714+ version="1.10">
715+ <doc xml:space="preserve"
716+ filename="../pango/pangocairo-fontmap.c"
717+ line="151">Gets a default `PangoCairoFontMap` to use with Cairo.
718+
719+Note that the type of the returned object will depend on the
720+particular font backend Cairo was compiled to use; you generally
721+should only use the `PangoFontMap` and `PangoCairoFontMap`
722+interfaces on the returned object.
723+
724+The default Cairo fontmap can be changed by using
725+[method@PangoCairo.FontMap.set_default]. This can be used to
726+change the Cairo font backend that the default fontmap uses
727+for example.
728+
729+Note that since Pango 1.32.6, the default fontmap is per-thread.
730+Each thread gets its own default fontmap. In this way, PangoCairo
731+can be used safely from multiple threads.</doc>
732+ <source-position filename="../pango/pangocairo.h" line="110"/>
733+ <return-value transfer-ownership="none">
734+ <doc xml:space="preserve"
735+ filename="../pango/pangocairo-fontmap.c"
736+ line="170">the default PangoCairo fontmap
737+ for the current thread. This object is owned by Pango and must
738+ not be freed.</doc>
739+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
740+ </return-value>
741+ </function>
742+ <function name="font_map_new"
743+ c:identifier="pango_cairo_font_map_new"
744+ moved-to="FontMap.new"
745+ version="1.10">
746+ <doc xml:space="preserve"
747+ filename="../pango/pangocairo-fontmap.c"
748+ line="47">Creates a new `PangoCairoFontMap` object.
749+
750+A fontmap is used to cache information about available fonts,
751+and holds certain global parameters such as the resolution.
752+In most cases, you can use `func@PangoCairo.font_map_get_default]
753+instead.
754+
755+Note that the type of the returned object will depend
756+on the particular font backend Cairo was compiled to use;
757+You generally should only use the `PangoFontMap` and
758+`PangoCairoFontMap` interfaces on the returned object.
759+
760+You can override the type of backend returned by using an
761+environment variable %PANGOCAIRO_BACKEND. Supported types,
762+based on your build, are fc (fontconfig), win32, and coretext.
763+If requested type is not available, NULL is returned. Ie.
764+this is only useful for testing, when at least two backends
765+are compiled in.</doc>
766+ <source-position filename="../pango/pangocairo.h" line="106"/>
767+ <return-value transfer-ownership="full">
768+ <doc xml:space="preserve"
769+ filename="../pango/pangocairo-fontmap.c"
770+ line="69">the newly allocated `PangoFontMap`,
771+ which should be freed with g_object_unref().</doc>
772+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
773+ </return-value>
774+ </function>
775+ <function name="font_map_new_for_font_type"
776+ c:identifier="pango_cairo_font_map_new_for_font_type"
777+ moved-to="FontMap.new_for_font_type"
778+ version="1.18">
779+ <doc xml:space="preserve"
780+ filename="../pango/pangocairo-fontmap.c"
781+ line="110">Creates a new `PangoCairoFontMap` object of the type suitable
782+to be used with cairo font backend of type @fonttype.
783+
784+In most cases one should simply use [func@PangoCairo.FontMap.new], or
785+in fact in most of those cases, just use [func@PangoCairo.FontMap.get_default].</doc>
786+ <source-position filename="../pango/pangocairo.h" line="108"/>
787+ <return-value transfer-ownership="full" nullable="1">
788+ <doc xml:space="preserve"
789+ filename="../pango/pangocairo-fontmap.c"
790+ line="120">the newly allocated
791+ `PangoFontMap` of suitable type which should be freed with
792+ g_object_unref(), or %NULL if the requested cairo font backend
793+ is not supported / compiled in.</doc>
794+ <type name="Pango.FontMap" c:type="PangoFontMap*"/>
795+ </return-value>
796+ <parameters>
797+ <parameter name="fonttype" transfer-ownership="none">
798+ <doc xml:space="preserve"
799+ filename="../pango/pangocairo-fontmap.c"
800+ line="112">desired #cairo_font_type_t</doc>
801+ <type name="cairo.FontType" c:type="cairo_font_type_t"/>
802+ </parameter>
803+ </parameters>
804+ </function>
805+ <function name="glyph_string_path"
806+ c:identifier="pango_cairo_glyph_string_path"
807+ version="1.10">
808+ <doc xml:space="preserve"
809+ filename="../pango/pangocairo-render.c"
810+ line="1173">Adds the glyphs in @glyphs to the current path in the specified
811+cairo context.
812+
813+The origin of the glyphs (the left edge of the baseline)
814+will be at the current point of the cairo context.</doc>
815+ <source-position filename="../pango/pangocairo.h" line="201"/>
816+ <return-value transfer-ownership="none">
817+ <type name="none" c:type="void"/>
818+ </return-value>
819+ <parameters>
820+ <parameter name="cr" transfer-ownership="none">
821+ <doc xml:space="preserve"
822+ filename="../pango/pangocairo-render.c"
823+ line="1175">a Cairo context</doc>
824+ <type name="cairo.Context" c:type="cairo_t*"/>
825+ </parameter>
826+ <parameter name="font" transfer-ownership="none">
827+ <doc xml:space="preserve"
828+ filename="../pango/pangocairo-render.c"
829+ line="1176">a `PangoFont` from a `PangoCairoFontMap`</doc>
830+ <type name="Pango.Font" c:type="PangoFont*"/>
831+ </parameter>
832+ <parameter name="glyphs" transfer-ownership="none">
833+ <doc xml:space="preserve"
834+ filename="../pango/pangocairo-render.c"
835+ line="1177">a `PangoGlyphString`</doc>
836+ <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
837+ </parameter>
838+ </parameters>
839+ </function>
840+ <function name="layout_line_path"
841+ c:identifier="pango_cairo_layout_line_path"
842+ version="1.10">
843+ <doc xml:space="preserve"
844+ filename="../pango/pangocairo-render.c"
845+ line="1198">Adds the text in `PangoLayoutLine` to the current path in the
846+specified cairo context.
847+
848+The origin of the glyphs (the left edge of the line) will be
849+at the current point of the cairo context.</doc>
850+ <source-position filename="../pango/pangocairo.h" line="205"/>
851+ <return-value transfer-ownership="none">
852+ <type name="none" c:type="void"/>
853+ </return-value>
854+ <parameters>
855+ <parameter name="cr" transfer-ownership="none">
856+ <doc xml:space="preserve"
857+ filename="../pango/pangocairo-render.c"
858+ line="1200">a Cairo context</doc>
859+ <type name="cairo.Context" c:type="cairo_t*"/>
860+ </parameter>
861+ <parameter name="line" transfer-ownership="none">
862+ <doc xml:space="preserve"
863+ filename="../pango/pangocairo-render.c"
864+ line="1201">a `PangoLayoutLine`</doc>
865+ <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
866+ </parameter>
867+ </parameters>
868+ </function>
869+ <function name="layout_path"
870+ c:identifier="pango_cairo_layout_path"
871+ version="1.10">
872+ <doc xml:space="preserve"
873+ filename="../pango/pangocairo-render.c"
874+ line="1221">Adds the text in a `PangoLayout` to the current path in the
875+specified cairo context.
876+
877+The top-left corner of the `PangoLayout` will be at the
878+current point of the cairo context.</doc>
879+ <source-position filename="../pango/pangocairo.h" line="208"/>
880+ <return-value transfer-ownership="none">
881+ <type name="none" c:type="void"/>
882+ </return-value>
883+ <parameters>
884+ <parameter name="cr" transfer-ownership="none">
885+ <doc xml:space="preserve"
886+ filename="../pango/pangocairo-render.c"
887+ line="1223">a Cairo context</doc>
888+ <type name="cairo.Context" c:type="cairo_t*"/>
889+ </parameter>
890+ <parameter name="layout" transfer-ownership="none">
891+ <doc xml:space="preserve"
892+ filename="../pango/pangocairo-render.c"
893+ line="1224">a Pango layout</doc>
894+ <type name="Pango.Layout" c:type="PangoLayout*"/>
895+ </parameter>
896+ </parameters>
897+ </function>
898+ <function name="show_error_underline"
899+ c:identifier="pango_cairo_show_error_underline"
900+ version="1.14">
901+ <doc xml:space="preserve"
902+ filename="../pango/pangocairo-render.c"
903+ line="1142">Draw a squiggly line in the specified cairo context that approximately
904+covers the given rectangle in the style of an underline used to indicate a
905+spelling error.
906+
907+The width of the underline is rounded to an integer
908+number of up/down segments and the resulting rectangle is centered in the
909+original rectangle.</doc>
910+ <source-position filename="../pango/pangocairo.h" line="191"/>
911+ <return-value transfer-ownership="none">
912+ <type name="none" c:type="void"/>
913+ </return-value>
914+ <parameters>
915+ <parameter name="cr" transfer-ownership="none">
916+ <doc xml:space="preserve"
917+ filename="../pango/pangocairo-render.c"
918+ line="1144">a Cairo context</doc>
919+ <type name="cairo.Context" c:type="cairo_t*"/>
920+ </parameter>
921+ <parameter name="x" transfer-ownership="none">
922+ <doc xml:space="preserve"
923+ filename="../pango/pangocairo-render.c"
924+ line="1145">The X coordinate of one corner of the rectangle</doc>
925+ <type name="gdouble" c:type="double"/>
926+ </parameter>
927+ <parameter name="y" transfer-ownership="none">
928+ <doc xml:space="preserve"
929+ filename="../pango/pangocairo-render.c"
930+ line="1146">The Y coordinate of one corner of the rectangle</doc>
931+ <type name="gdouble" c:type="double"/>
932+ </parameter>
933+ <parameter name="width" transfer-ownership="none">
934+ <doc xml:space="preserve"
935+ filename="../pango/pangocairo-render.c"
936+ line="1147">Non-negative width of the rectangle</doc>
937+ <type name="gdouble" c:type="double"/>
938+ </parameter>
939+ <parameter name="height" transfer-ownership="none">
940+ <doc xml:space="preserve"
941+ filename="../pango/pangocairo-render.c"
942+ line="1148">Non-negative height of the rectangle</doc>
943+ <type name="gdouble" c:type="double"/>
944+ </parameter>
945+ </parameters>
946+ </function>
947+ <function name="show_glyph_item"
948+ c:identifier="pango_cairo_show_glyph_item"
949+ version="1.22">
950+ <doc xml:space="preserve"
951+ filename="../pango/pangocairo-render.c"
952+ line="1066">Draws the glyphs in @glyph_item in the specified cairo context,
953+
954+embedding the text associated with the glyphs in the output if the
955+output format supports it (PDF for example), otherwise it acts
956+similar to [func@show_glyph_string].
957+
958+The origin of the glyphs (the left edge of the baseline) will
959+be drawn at the current point of the cairo context.
960+
961+Note that @text is the start of the text for layout, which is then
962+indexed by `glyph_item-&gt;item-&gt;offset`.</doc>
963+ <source-position filename="../pango/pangocairo.h" line="180"/>
964+ <return-value transfer-ownership="none">
965+ <type name="none" c:type="void"/>
966+ </return-value>
967+ <parameters>
968+ <parameter name="cr" transfer-ownership="none">
969+ <doc xml:space="preserve"
970+ filename="../pango/pangocairo-render.c"
971+ line="1068">a Cairo context</doc>
972+ <type name="cairo.Context" c:type="cairo_t*"/>
973+ </parameter>
974+ <parameter name="text" transfer-ownership="none">
975+ <doc xml:space="preserve"
976+ filename="../pango/pangocairo-render.c"
977+ line="1069">the UTF-8 text that @glyph_item refers to</doc>
978+ <type name="utf8" c:type="const char*"/>
979+ </parameter>
980+ <parameter name="glyph_item" transfer-ownership="none">
981+ <doc xml:space="preserve"
982+ filename="../pango/pangocairo-render.c"
983+ line="1070">a `PangoGlyphItem`</doc>
984+ <type name="Pango.GlyphItem" c:type="PangoGlyphItem*"/>
985+ </parameter>
986+ </parameters>
987+ </function>
988+ <function name="show_glyph_string"
989+ c:identifier="pango_cairo_show_glyph_string"
990+ version="1.10">
991+ <doc xml:space="preserve"
992+ filename="../pango/pangocairo-render.c"
993+ line="1041">Draws the glyphs in @glyphs in the specified cairo context.
994+
995+The origin of the glyphs (the left edge of the baseline) will
996+be drawn at the current point of the cairo context.</doc>
997+ <source-position filename="../pango/pangocairo.h" line="176"/>
998+ <return-value transfer-ownership="none">
999+ <type name="none" c:type="void"/>
1000+ </return-value>
1001+ <parameters>
1002+ <parameter name="cr" transfer-ownership="none">
1003+ <doc xml:space="preserve"
1004+ filename="../pango/pangocairo-render.c"
1005+ line="1043">a Cairo context</doc>
1006+ <type name="cairo.Context" c:type="cairo_t*"/>
1007+ </parameter>
1008+ <parameter name="font" transfer-ownership="none">
1009+ <doc xml:space="preserve"
1010+ filename="../pango/pangocairo-render.c"
1011+ line="1044">a `PangoFont` from a `PangoCairoFontMap`</doc>
1012+ <type name="Pango.Font" c:type="PangoFont*"/>
1013+ </parameter>
1014+ <parameter name="glyphs" transfer-ownership="none">
1015+ <doc xml:space="preserve"
1016+ filename="../pango/pangocairo-render.c"
1017+ line="1045">a `PangoGlyphString`</doc>
1018+ <type name="Pango.GlyphString" c:type="PangoGlyphString*"/>
1019+ </parameter>
1020+ </parameters>
1021+ </function>
1022+ <function name="show_layout"
1023+ c:identifier="pango_cairo_show_layout"
1024+ version="1.10">
1025+ <doc xml:space="preserve"
1026+ filename="../pango/pangocairo-render.c"
1027+ line="1120">Draws a `PangoLayout` in the specified cairo context.
1028+
1029+The top-left corner of the `PangoLayout` will be drawn
1030+at the current point of the cairo context.</doc>
1031+ <source-position filename="../pango/pangocairo.h" line="187"/>
1032+ <return-value transfer-ownership="none">
1033+ <type name="none" c:type="void"/>
1034+ </return-value>
1035+ <parameters>
1036+ <parameter name="cr" transfer-ownership="none">
1037+ <doc xml:space="preserve"
1038+ filename="../pango/pangocairo-render.c"
1039+ line="1122">a Cairo context</doc>
1040+ <type name="cairo.Context" c:type="cairo_t*"/>
1041+ </parameter>
1042+ <parameter name="layout" transfer-ownership="none">
1043+ <doc xml:space="preserve"
1044+ filename="../pango/pangocairo-render.c"
1045+ line="1123">a Pango layout</doc>
1046+ <type name="Pango.Layout" c:type="PangoLayout*"/>
1047+ </parameter>
1048+ </parameters>
1049+ </function>
1050+ <function name="show_layout_line"
1051+ c:identifier="pango_cairo_show_layout_line"
1052+ version="1.10">
1053+ <doc xml:space="preserve"
1054+ filename="../pango/pangocairo-render.c"
1055+ line="1098">Draws a `PangoLayoutLine` in the specified cairo context.
1056+
1057+The origin of the glyphs (the left edge of the line) will
1058+be drawn at the current point of the cairo context.</doc>
1059+ <source-position filename="../pango/pangocairo.h" line="184"/>
1060+ <return-value transfer-ownership="none">
1061+ <type name="none" c:type="void"/>
1062+ </return-value>
1063+ <parameters>
1064+ <parameter name="cr" transfer-ownership="none">
1065+ <doc xml:space="preserve"
1066+ filename="../pango/pangocairo-render.c"
1067+ line="1100">a Cairo context</doc>
1068+ <type name="cairo.Context" c:type="cairo_t*"/>
1069+ </parameter>
1070+ <parameter name="line" transfer-ownership="none">
1071+ <doc xml:space="preserve"
1072+ filename="../pango/pangocairo-render.c"
1073+ line="1101">a `PangoLayoutLine`</doc>
1074+ <type name="Pango.LayoutLine" c:type="PangoLayoutLine*"/>
1075+ </parameter>
1076+ </parameters>
1077+ </function>
1078+ <function name="update_context"
1079+ c:identifier="pango_cairo_update_context"
1080+ version="1.10">
1081+ <doc xml:space="preserve"
1082+ filename="../pango/pangocairo-context.c"
1083+ line="158">Updates a `PangoContext` previously created for use with Cairo to
1084+match the current transformation and target surface of a Cairo
1085+context.
1086+
1087+If any layouts have been created for the context, it's necessary
1088+to call [method@Pango.Layout.context_changed] on those layouts.</doc>
1089+ <source-position filename="../pango/pangocairo.h" line="138"/>
1090+ <return-value transfer-ownership="none">
1091+ <type name="none" c:type="void"/>
1092+ </return-value>
1093+ <parameters>
1094+ <parameter name="cr" transfer-ownership="none">
1095+ <doc xml:space="preserve"
1096+ filename="../pango/pangocairo-context.c"
1097+ line="160">a Cairo context</doc>
1098+ <type name="cairo.Context" c:type="cairo_t*"/>
1099+ </parameter>
1100+ <parameter name="context" transfer-ownership="none">
1101+ <doc xml:space="preserve"
1102+ filename="../pango/pangocairo-context.c"
1103+ line="161">a `PangoContext`, from a pangocairo font map</doc>
1104+ <type name="Pango.Context" c:type="PangoContext*"/>
1105+ </parameter>
1106+ </parameters>
1107+ </function>
1108+ <function name="update_layout"
1109+ c:identifier="pango_cairo_update_layout"
1110+ version="1.10">
1111+ <doc xml:space="preserve"
1112+ filename="../pango/pangocairo-context.c"
1113+ line="494">Updates the private `PangoContext` of a `PangoLayout` created with
1114+[func@create_layout] to match the current transformation and target
1115+surface of a Cairo context.</doc>
1116+ <source-position filename="../pango/pangocairo.h" line="169"/>
1117+ <return-value transfer-ownership="none">
1118+ <type name="none" c:type="void"/>
1119+ </return-value>
1120+ <parameters>
1121+ <parameter name="cr" transfer-ownership="none">
1122+ <doc xml:space="preserve"
1123+ filename="../pango/pangocairo-context.c"
1124+ line="496">a Cairo context</doc>
1125+ <type name="cairo.Context" c:type="cairo_t*"/>
1126+ </parameter>
1127+ <parameter name="layout" transfer-ownership="none">
1128+ <doc xml:space="preserve"
1129+ filename="../pango/pangocairo-context.c"
1130+ line="497">a `PangoLayout`, from [func@create_layout]</doc>
1131+ <type name="Pango.Layout" c:type="PangoLayout*"/>
1132+ </parameter>
1133+ </parameters>
1134+ </function>
1135+ </namespace>
1136+</repository>
A internal/gir/spec/cairo-1.0.gir +688 -0
@@ -0,0 +1,688 @@
1+<?xml version="1.0"?>
2+<repository version="1.2"
3+ xmlns="http://www.gtk.org/introspection/core/1.0"
4+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
5+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
6+ <package name="cairo-gobject"/>
7+ <c:include name="cairo-gobject.h"/>
8+ <namespace name="cairo" version="1.0"
9+ shared-library="libcairo-gobject.so.2"
10+ c:identifier-prefixes="cairo"
11+ c:symbol-prefixes="cairo">
12+ <record name="Context" c:type="cairo_t" foreign="1"
13+ glib:type-name="CairoContext"
14+ glib:get-type="cairo_gobject_context_get_type"/>
15+ <record name="Device" c:type="cairo_device_t" foreign="1"
16+ glib:type-name="CairoDevice"
17+ glib:get-type="cairo_gobject_device_get_type"/>
18+ <record name="Surface" c:type="cairo_surface_t" foreign="1"
19+ glib:type-name="CairoSurface"
20+ glib:get-type="cairo_gobject_surface_get_type"/>
21+ <record name="Matrix" c:type="cairo_matrix_t" foreign="1"/>
22+ <record name="Pattern" c:type="cairo_pattern_t" foreign="1"
23+ glib:type-name="CairoPattern"
24+ glib:get-type="cairo_gobject_pattern_get_type"/>
25+ <record name="Region" c:type="cairo_region_t" foreign="1"
26+ glib:type-name="CairoRegion"
27+ glib:get-type="cairo_gobject_region_get_type"/>
28+ <enumeration name="Status" c:type="cairo_status_t"
29+ glib:type-name="cairo_status_t"
30+ glib:get-type="cairo_gobject_status_get_type">
31+ <member name="success"
32+ value="0"
33+ c:identifier="CAIRO_STATUS_SUCCESS"/>
34+ <member name="no_memory"
35+ value="1"
36+ c:identifier="CAIRO_STATUS_NO_MEMORY"/>
37+ <member name="invalid_restore"
38+ value="2"
39+ c:identifier="CAIRO_STATUS_INVALID_RESTORE"/>
40+ <member name="invalid_pop_group"
41+ value="3"
42+ c:identifier="CAIRO_STATUS_INVALID_POP_GROUP"/>
43+ <member name="no_current_point"
44+ value="4"
45+ c:identifier="CAIRO_STATUS_NO_CURRENT_POINT"/>
46+ <member name="invalid_matrix"
47+ value="5"
48+ c:identifier="CAIRO_STATUS_INVALID_MATRIX"/>
49+ <member name="invalid_status"
50+ value="6"
51+ c:identifier="CAIRO_STATUS_INVALID_STATUS"/>
52+ <member name="null_pointer"
53+ value="7"
54+ c:identifier="CAIRO_STATUS_NULL_POINTER"/>
55+ <member name="invalid_string"
56+ value="8"
57+ c:identifier="CAIRO_STATUS_INVALID_STRING"/>
58+ <member name="invalid_path_data"
59+ value="9"
60+ c:identifier="CAIRO_STATUS_INVALID_PATH_DATA"/>
61+ <member name="read_error"
62+ value="10"
63+ c:identifier="CAIRO_STATUS_READ_ERROR"/>
64+ <member name="write_error"
65+ value="11"
66+ c:identifier="CAIRO_STATUS_WRITE_ERROR"/>
67+ <member name="surface_finished"
68+ value="12"
69+ c:identifier="CAIRO_STATUS_SURFACE_FINISHED"/>
70+ <member name="surface_type_mismatch"
71+ value="13"
72+ c:identifier="CAIRO_STATUS_SURFACE_TYPE_MISMATCH"/>
73+ <member name="pattern_type_mismatch"
74+ value="14"
75+ c:identifier="CAIRO_STATUS_PATTERN_TYPE_MISMATCH"/>
76+ <member name="invalid_content"
77+ value="15"
78+ c:identifier="CAIRO_STATUS_INVALID_CONTENT"/>
79+ <member name="invalid_format"
80+ value="16"
81+ c:identifier="CAIRO_STATUS_INVALID_FORMAT"/>
82+ <member name="invalid_visual"
83+ value="17"
84+ c:identifier="CAIRO_STATUS_INVALID_VISUAL"/>
85+ <member name="file_not_found"
86+ value="18"
87+ c:identifier="CAIRO_STATUS_FILE_NOT_FOUND"/>
88+ <member name="invalid_dash"
89+ value="19"
90+ c:identifier="CAIRO_STATUS_INVALID_DASH"/>
91+ <member name="invalid_dsc_comment"
92+ value="20"
93+ c:identifier="CAIRO_STATUS_INVALID_DSC_COMMENT"/>
94+ <member name="invalid_index"
95+ value="21"
96+ c:identifier="CAIRO_STATUS_INVALID_INDEX"/>
97+ <member name="clip_not_representable"
98+ value="22"
99+ c:identifier="CAIRO_STATUS_CLIP_NOT_REPRESENTABLE"/>
100+ <member name="temp_file_error"
101+ value="23"
102+ c:identifier="CAIRO_STATUS_TEMP_FILE_ERROR"/>
103+ <member name="invalid_stride"
104+ value="24"
105+ c:identifier="CAIRO_STATUS_INVALID_STRIDE"/>
106+ <member name="font_type_mismatch"
107+ value="25"
108+ c:identifier="CAIRO_STATUS_FONT_TYPE_MISMATCH"/>
109+ <member name="user_font_immutable"
110+ value="26"
111+ c:identifier="CAIRO_STATUS_USER_FONT_IMMUTABLE"/>
112+ <member name="user_font_error"
113+ value="27"
114+ c:identifier="CAIRO_STATUS_USER_FONT_ERROR"/>
115+ <member name="negative_count"
116+ value="28"
117+ c:identifier="CAIRO_STATUS_NEGATIVE_COUNT"/>
118+ <member name="invalid_clusters"
119+ value="29"
120+ c:identifier="CAIRO_STATUS_INVALID_CLUSTERS"/>
121+ <member name="invalid_slant"
122+ value="30"
123+ c:identifier="CAIRO_STATUS_INVALID_SLANT"/>
124+ <member name="invalid_weight"
125+ value="31"
126+ c:identifier="CAIRO_STATUS_INVALID_WEIGHT"/>
127+ <member name="invalid_size"
128+ value="32"
129+ c:identifier="CAIRO_STATUS_INVALID_SIZE"/>
130+ <member name="user_font_not_implemented"
131+ value="33"
132+ c:identifier="CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED"/>
133+ <member name="device_type_mismatch"
134+ value="34"
135+ c:identifier="CAIRO_STATUS_DEVICE_TYPE_MISMATCH"/>
136+ <member name="device_error"
137+ value="35"
138+ c:identifier="CAIRO_STATUS_DEVICE_ERROR"/>
139+ <member name="invalid_mesh_construction"
140+ value="36"
141+ c:identifier="CAIRO_STATUS_INVALID_MESH_CONSTRUCTION"/>
142+ <member name="device_finished"
143+ value="37"
144+ c:identifier="CAIRO_STATUS_DEVICE_FINISHED"/>
145+ <member name="jbig2_global_missing"
146+ value="38"
147+ c:identifier="CAIRO_STATUS_JBIG2_GLOBAL_MISSING"/>
148+ </enumeration>
149+ <enumeration name="Content" c:type="cairo_content_t"
150+ glib:type-name="cairo_content_t"
151+ glib:get-type="cairo_gobject_content_get_type">
152+ <member name="color"
153+ value="4096"
154+ c:identifier="CAIRO_CONTENT_COLOR"/>
155+ <member name="alpha"
156+ value="8192"
157+ c:identifier="CAIRO_CONTENT_ALPHA"/>
158+ <member name="color_alpha"
159+ value="12288"
160+ c:identifier="CAIRO_CONTENT_COLOR_ALPHA"/>
161+ </enumeration>
162+ <enumeration name="Operator" c:type="cairo_operator_t"
163+ glib:type-name="cairo_operator_t"
164+ glib:get-type="cairo_gobject_operator_get_type">
165+ <member name="clear"
166+ value="0"
167+ c:identifier="CAIRO_OPERATOR_CLEAR"/>
168+ <member name="source"
169+ value="1"
170+ c:identifier="CAIRO_OPERATOR_SOURCE"/>
171+ <member name="over"
172+ value="2"
173+ c:identifier="CAIRO_OPERATOR_OVER"/>
174+ <member name="in"
175+ value="3"
176+ c:identifier="CAIRO_OPERATOR_IN"/>
177+ <member name="out"
178+ value="4"
179+ c:identifier="CAIRO_OPERATOR_OUT"/>
180+ <member name="atop"
181+ value="5"
182+ c:identifier="CAIRO_OPERATOR_ATOP"/>
183+ <member name="dest"
184+ value="6"
185+ c:identifier="CAIRO_OPERATOR_DEST"/>
186+ <member name="dest_over"
187+ value="7"
188+ c:identifier="CAIRO_OPERATOR_DEST_OVER"/>
189+ <member name="dest_in"
190+ value="8"
191+ c:identifier="CAIRO_OPERATOR_DEST_IN"/>
192+ <member name="dest_out"
193+ value="9"
194+ c:identifier="CAIRO_OPERATOR_DEST_OUT"/>
195+ <member name="dest_atop"
196+ value="10"
197+ c:identifier="CAIRO_OPERATOR_DEST_ATOP"/>
198+ <member name="xor"
199+ value="11"
200+ c:identifier="CAIRO_OPERATOR_XOR"/>
201+ <member name="add"
202+ value="12"
203+ c:identifier="CAIRO_OPERATOR_ADD"/>
204+ <member name="saturate"
205+ value="13"
206+ c:identifier="CAIRO_OPERATOR_SATURATE"/>
207+ <member name="multiply"
208+ value="14"
209+ c:identifier="CAIRO_OPERATOR_MULTIPLY"/>
210+ <member name="screen"
211+ value="15"
212+ c:identifier="CAIRO_OPERATOR_SCREEN"/>
213+ <member name="overlay"
214+ value="16"
215+ c:identifier="CAIRO_OPERATOR_OVERLAY"/>
216+ <member name="darken"
217+ value="17"
218+ c:identifier="CAIRO_OPERATOR_DARKEN"/>
219+ <member name="lighten"
220+ value="18"
221+ c:identifier="CAIRO_OPERATOR_LIGHTEN"/>
222+ <member name="color_dodge"
223+ value="19"
224+ c:identifier="CAIRO_OPERATOR_COLOR_DODGE"/>
225+ <member name="color_burn"
226+ value="20"
227+ c:identifier="CAIRO_OPERATOR_COLOR_BURN"/>
228+ <member name="hard_light"
229+ value="21"
230+ c:identifier="CAIRO_OPERATOR_HARD_LIGHT"/>
231+ <member name="soft_light"
232+ value="22"
233+ c:identifier="CAIRO_OPERATOR_SOFT_LIGHT"/>
234+ <member name="difference"
235+ value="23"
236+ c:identifier="CAIRO_OPERATOR_DIFFERENCE"/>
237+ <member name="exclusion"
238+ value="24"
239+ c:identifier="CAIRO_OPERATOR_EXCLUSION"/>
240+ <member name="hsl_hue"
241+ value="25"
242+ c:identifier="CAIRO_OPERATOR_HSL_HUE"/>
243+ <member name="hsl_saturation"
244+ value="26"
245+ c:identifier="CAIRO_OPERATOR_HSL_SATURATION"/>
246+ <member name="hsl_color"
247+ value="27"
248+ c:identifier="CAIRO_OPERATOR_HSL_COLOR"/>
249+ <member name="hsl_luminosity"
250+ value="28"
251+ c:identifier="CAIRO_OPERATOR_HSL_LUMINOSITY"/>
252+ </enumeration>
253+ <enumeration name="Antialias" c:type="cairo_antialias_t"
254+ glib:type-name="cairo_antialias_t"
255+ glib:get-type="cairo_gobject_antialias_get_type">
256+ <member name="default"
257+ value="0"
258+ c:identifier="CAIRO_ANTIALIAS_DEFAULT"/>
259+ <member name="none"
260+ value="1"
261+ c:identifier="CAIRO_ANTIALIAS_NONE"/>
262+ <member name="gray"
263+ value="2"
264+ c:identifier="CAIRO_ANTIALIAS_GRAY"/>
265+ <member name="subpixel"
266+ value="3"
267+ c:identifier="CAIRO_ANTIALIAS_SUBPIXEL"/>
268+ <member name="fast"
269+ value="4"
270+ c:identifier="CAIRO_ANTIALIAS_FAST"/>
271+ <member name="good"
272+ value="5"
273+ c:identifier="CAIRO_ANTIALIAS_GOOD"/>
274+ <member name="best"
275+ value="6"
276+ c:identifier="CAIRO_ANTIALIAS_BEST"/>
277+ </enumeration>
278+ <enumeration name="FillRule" c:type="cairo_fill_rule_t"
279+ glib:type-name="cairo_fill_rule_t"
280+ glib:get-type="cairo_gobject_fill_rule_get_type">
281+ <member name="winding"
282+ value="0"
283+ c:identifier="CAIRO_FILL_RULE_WINDING"/>
284+ <member name="even_odd"
285+ value="1"
286+ c:identifier="CAIRO_FILL_RULE_EVEN_ODD"/>
287+ </enumeration>
288+ <enumeration name="LineCap" c:type="cairo_line_cap_t"
289+ glib:type-name="cairo_line_cap_t"
290+ glib:get-type="cairo_gobject_line_cap_get_type">
291+ <member name="butt"
292+ value="0"
293+ c:identifier="CAIRO_LINE_CAP_BUTT"/>
294+ <member name="round"
295+ value="1"
296+ c:identifier="CAIRO_LINE_CAP_ROUND"/>
297+ <member name="square"
298+ value="2"
299+ c:identifier="CAIRO_LINE_CAP_SQUARE"/>
300+ </enumeration>
301+ <enumeration name="LineJoin" c:type="cairo_line_join_t"
302+ glib:type-name="cairo_line_join_t"
303+ glib:get-type="cairo_gobject_line_join_get_type">
304+ <member name="miter"
305+ value="0"
306+ c:identifier="CAIRO_LINE_JOIN_MITER"/>
307+ <member name="round"
308+ value="1"
309+ c:identifier="CAIRO_LINE_JOIN_ROUND"/>
310+ <member name="bevel"
311+ value="2"
312+ c:identifier="CAIRO_LINE_JOIN_BEVEL"/>
313+ </enumeration>
314+ <enumeration name="TextClusterFlags" c:type="cairo_text_cluster_flags_t"
315+ glib:type-name="cairo_text_cluster_flags_t"
316+ glib:get-type="cairo_gobject_text_cluster_flags_get_type">
317+ <member name="backward"
318+ value="1"
319+ c:identifier="CAIRO_TEXT_CLUSTER_FLAG_BACKWARD"/>
320+ </enumeration>
321+ <enumeration name="FontSlant" c:type="cairo_font_slant_t"
322+ glib:type-name="cairo_font_slant_t"
323+ glib:get-type="cairo_gobject_font_slant_get_type">
324+ <member name="normal"
325+ value="0"
326+ c:identifier="CAIRO_FONT_SLANT_NORMAL"/>
327+ <member name="italic"
328+ value="1"
329+ c:identifier="CAIRO_FONT_SLANT_ITALIC"/>
330+ <member name="oblique"
331+ value="2"
332+ c:identifier="CAIRO_FONT_SLANT_OBLIQUE"/>
333+ </enumeration>
334+ <enumeration name="FontWeight" c:type="cairo_font_weight_t"
335+ glib:type-name="cairo_font_weight_t"
336+ glib:get-type="cairo_gobject_font_weight_get_type">
337+ <member name="normal"
338+ value="0"
339+ c:identifier="CAIRO_FONT_WEIGHT_NORMAL"/>
340+ <member name="bold"
341+ value="1"
342+ c:identifier="CAIRO_FONT_WEIGHT_BOLD"/>
343+ </enumeration>
344+ <enumeration name="SubpixelOrder" c:type="cairo_subpixel_order_t"
345+ glib:type-name="cairo_subpixel_order_t"
346+ glib:get-type="cairo_gobject_subpixel_order_get_type">
347+ <member name="default"
348+ value="0"
349+ c:identifier="CAIRO_SUBPIXEL_ORDER_DEFAULT"/>
350+ <member name="rgb"
351+ value="1"
352+ c:identifier="CAIRO_SUBPIXEL_ORDER_RGB"/>
353+ <member name="bgr"
354+ value="2"
355+ c:identifier="CAIRO_SUBPIXEL_ORDER_BGR"/>
356+ <member name="vrgb"
357+ value="3"
358+ c:identifier="CAIRO_SUBPIXEL_ORDER_VRGB"/>
359+ <member name="vbgr"
360+ value="4"
361+ c:identifier="CAIRO_SUBPIXEL_ORDER_VBGR"/>
362+ </enumeration>
363+ <enumeration name="HintStyle" c:type="cairo_hint_style_t"
364+ glib:type-name="cairo_hint_style_t"
365+ glib:get-type="cairo_gobject_hint_style_get_type">
366+ <member name="default"
367+ value="0"
368+ c:identifier="CAIRO_HINT_STYLE_DEFAULT"/>
369+ <member name="none"
370+ value="1"
371+ c:identifier="CAIRO_HINT_STYLE_NONE"/>
372+ <member name="slight"
373+ value="2"
374+ c:identifier="CAIRO_HINT_STYLE_SLIGHT"/>
375+ <member name="medium"
376+ value="3"
377+ c:identifier="CAIRO_HINT_STYLE_MEDIUM"/>
378+ <member name="full"
379+ value="4"
380+ c:identifier="CAIRO_HINT_STYLE_FULL"/>
381+ </enumeration>
382+ <enumeration name="HintMetrics" c:type="cairo_hint_metrics_t"
383+ glib:type-name="cairo_hint_metrics_t"
384+ glib:get-type="cairo_gobject_hint_metrics_get_type">
385+ <member name="default"
386+ value="0"
387+ c:identifier="CAIRO_HINT_METRICS_DEFAULT"/>
388+ <member name="off"
389+ value="1"
390+ c:identifier="CAIRO_HINT_METRICS_OFF"/>
391+ <member name="on"
392+ value="2"
393+ c:identifier="CAIRO_HINT_METRICS_ON"/>
394+ </enumeration>
395+ <record name="FontOptions" c:type="cairo_font_options_t" foreign="1"
396+ glib:type-name="CairoFontOptions"
397+ glib:get-type="cairo_gobject_font_options_get_type"/>
398+ <enumeration name="FontType" c:type="cairo_font_type_t"
399+ glib:type-name="cairo_font_type_t"
400+ glib:get-type="cairo_gobject_font_type_get_type">
401+ <member name="toy"
402+ value="0"
403+ c:identifier="CAIRO_FONT_TYPE_TOY"/>
404+ <member name="ft"
405+ value="1"
406+ c:identifier="CAIRO_FONT_TYPE_FT"/>
407+ <member name="win32"
408+ value="2"
409+ c:identifier="CAIRO_FONT_TYPE_WIN32"/>
410+ <member name="quartz"
411+ value="3"
412+ c:identifier="CAIRO_FONT_TYPE_QUARTZ"/>
413+ <member name="user"
414+ value="4"
415+ c:identifier="CAIRO_FONT_TYPE_USER"/>
416+ </enumeration>
417+ <enumeration name="PathDataType" c:type="cairo_path_data_type_t"
418+ glib:type-name="cairo_path_data_type_t"
419+ glib:get-type="cairo_gobject_path_data_type_get_type">
420+ <member name="move_to"
421+ value="0"
422+ c:identifier="CAIRO_PATH_MOVE_TO"/>
423+ <member name="line_to"
424+ value="1"
425+ c:identifier="CAIRO_PATH_LINE_TO"/>
426+ <member name="curve_to"
427+ value="2"
428+ c:identifier="CAIRO_PATH_CURVE_TO"/>
429+ <member name="close_path"
430+ value="3"
431+ c:identifier="CAIRO_PATH_CLOSE_PATH"/>
432+ </enumeration>
433+ <enumeration name="DeviceType" c:type="cairo_device_type_t"
434+ glib:type-name="cairo_device_type_t"
435+ glib:get-type="cairo_gobject_device_type_get_type">
436+ <member name="drm"
437+ value="0"
438+ c:identifier="CAIRO_DEVICE_TYPE_DRM"/>
439+ <member name="gl"
440+ value="1"
441+ c:identifier="CAIRO_DEVICE_TYPE_GL"/>
442+ <member name="script"
443+ value="2"
444+ c:identifier="CAIRO_DEVICE_TYPE_SCRIPT"/>
445+ <member name="xcb"
446+ value="3"
447+ c:identifier="CAIRO_DEVICE_TYPE_XCB"/>
448+ <member name="xlib"
449+ value="4"
450+ c:identifier="CAIRO_DEVICE_TYPE_XLIB"/>
451+ <member name="xml"
452+ value="5"
453+ c:identifier="CAIRO_DEVICE_TYPE_XML"/>
454+ <member name="cogl"
455+ value="6"
456+ c:identifier="CAIRO_DEVICE_TYPE_COGL"/>
457+ <member name="win32"
458+ value="7"
459+ c:identifier="CAIRO_DEVICE_TYPE_WIN32"/>
460+ <member name="invalid"
461+ value="-1"
462+ c:identifier="CAIRO_DEVICE_TYPE_INVALID"/>
463+ </enumeration>
464+ <enumeration name="SurfaceType" c:type="cairo_surface_type_t"
465+ glib:type-name="cairo_surface_type_t"
466+ glib:get-type="cairo_gobject_surface_type_get_type">
467+ <member name="image"
468+ value="0"
469+ c:identifier="CAIRO_SURFACE_TYPE_IMAGE"/>
470+ <member name="pdf"
471+ value="1"
472+ c:identifier="CAIRO_SURFACE_TYPE_PDF"/>
473+ <member name="ps"
474+ value="2"
475+ c:identifier="CAIRO_SURFACE_TYPE_PS"/>
476+ <member name="xlib"
477+ value="3"
478+ c:identifier="CAIRO_SURFACE_TYPE_XLIB"/>
479+ <member name="xcb"
480+ value="4"
481+ c:identifier="CAIRO_SURFACE_TYPE_XCB"/>
482+ <member name="glitz"
483+ value="5"
484+ c:identifier="CAIRO_SURFACE_TYPE_GLITZ"/>
485+ <member name="quartz"
486+ value="6"
487+ c:identifier="CAIRO_SURFACE_TYPE_QUARTZ"/>
488+ <member name="win32"
489+ value="7"
490+ c:identifier="CAIRO_SURFACE_TYPE_WIN32"/>
491+ <member name="beos"
492+ value="8"
493+ c:identifier="CAIRO_SURFACE_TYPE_BEOS"/>
494+ <member name="directfb"
495+ value="9"
496+ c:identifier="CAIRO_SURFACE_TYPE_DIRECTFB"/>
497+ <member name="svg"
498+ value="10"
499+ c:identifier="CAIRO_SURFACE_TYPE_SVG"/>
500+ <member name="os2"
501+ value="11"
502+ c:identifier="CAIRO_SURFACE_TYPE_OS2"/>
503+ <member name="win32_printing"
504+ value="12"
505+ c:identifier="CAIRO_SURFACE_TYPE_WIN32_PRINTING"/>
506+ <member name="quartz_image"
507+ value="13"
508+ c:identifier="CAIRO_SURFACE_TYPE_QUARTZ_IMAGE"/>
509+ <member name="script"
510+ value="14"
511+ c:identifier="CAIRO_SURFACE_TYPE_SCRIPT"/>
512+ <member name="qt"
513+ value="15"
514+ c:identifier="CAIRO_SURFACE_TYPE_QT"/>
515+ <member name="recording"
516+ value="16"
517+ c:identifier="CAIRO_SURFACE_TYPE_RECORDING"/>
518+ <member name="vg"
519+ value="17"
520+ c:identifier="CAIRO_SURFACE_TYPE_VG"/>
521+ <member name="gl"
522+ value="18"
523+ c:identifier="CAIRO_SURFACE_TYPE_GL"/>
524+ <member name="drm"
525+ value="19"
526+ c:identifier="CAIRO_SURFACE_TYPE_DRM"/>
527+ <member name="tee"
528+ value="20"
529+ c:identifier="CAIRO_SURFACE_TYPE_TEE"/>
530+ <member name="xml"
531+ value="21"
532+ c:identifier="CAIRO_SURFACE_TYPE_XML"/>
533+ <member name="skia"
534+ value="22"
535+ c:identifier="CAIRO_SURFACE_TYPE_SKIA"/>
536+ <member name="subsurface"
537+ value="23"
538+ c:identifier="CAIRO_SURFACE_TYPE_SUBSURFACE"/>
539+ <member name="cogl"
540+ value="24"
541+ c:identifier="CAIRO_SURFACE_TYPE_COGL"/>
542+ </enumeration>
543+ <enumeration name="Format" c:type="cairo_format_t"
544+ glib:type-name="cairo_format_t"
545+ glib:get-type="cairo_gobject_format_get_type">
546+ <member name="invalid"
547+ value="-1"
548+ c:identifier="CAIRO_FORMAT_INVALID"/>
549+ <member name="argb32"
550+ value="0"
551+ c:identifier="CAIRO_FORMAT_ARGB32"/>
552+ <member name="rgb24"
553+ value="1"
554+ c:identifier="CAIRO_FORMAT_RGB24"/>
555+ <member name="a8"
556+ value="2"
557+ c:identifier="CAIRO_FORMAT_A8"/>
558+ <member name="a1"
559+ value="3"
560+ c:identifier="CAIRO_FORMAT_A1"/>
561+ <member name="rgb16_565"
562+ value="4"
563+ c:identifier="CAIRO_FORMAT_RGB16_565"/>
564+ <member name="rgb30"
565+ value="5"
566+ c:identifier="CAIRO_FORMAT_RGB30"/>
567+ </enumeration>
568+ <enumeration name="PatternType" c:type="cairo_pattern_type_t"
569+ glib:type-name="cairo_pattern_type_t"
570+ glib:get-type="cairo_gobject_pattern_type_get_type">
571+ <member name="solid"
572+ value="0"
573+ c:identifier="CAIRO_PATTERN_TYPE_SOLID"/>
574+ <member name="surface"
575+ value="1"
576+ c:identifier="CAIRO_PATTERN_TYPE_SURFACE"/>
577+ <member name="linear"
578+ value="2"
579+ c:identifier="CAIRO_PATTERN_TYPE_LINEAR"/>
580+ <member name="radial"
581+ value="3"
582+ c:identifier="CAIRO_PATTERN_TYPE_RADIAL"/>
583+ <member name="mesh"
584+ value="4"
585+ c:identifier="CAIRO_PATTERN_TYPE_MESH"/>
586+ <member name="raster_source"
587+ value="5"
588+ c:identifier="CAIRO_PATTERN_TYPE_RASTER_SOURCE"/>
589+ </enumeration>
590+ <enumeration name="Extend" c:type="cairo_extend_t"
591+ glib:type-name="cairo_extend_t"
592+ glib:get-type="cairo_gobject_extend_get_type">
593+ <member name="none"
594+ value="0"
595+ c:identifier="CAIRO_EXTEND_NONE"/>
596+ <member name="repeat"
597+ value="1"
598+ c:identifier="CAIRO_EXTEND_REPEAT"/>
599+ <member name="reflect"
600+ value="2"
601+ c:identifier="CAIRO_EXTEND_REFLECT"/>
602+ <member name="pad"
603+ value="3"
604+ c:identifier="CAIRO_EXTEND_PAD"/>
605+ </enumeration>
606+ <enumeration name="Filter" c:type="cairo_filter_t"
607+ glib:type-name="cairo_filter_t"
608+ glib:get-type="cairo_gobject_filter_get_type">
609+ <member name="fast"
610+ value="0"
611+ c:identifier="CAIRO_FILTER_FAST"/>
612+ <member name="good"
613+ value="1"
614+ c:identifier="CAIRO_FILTER_GOOD"/>
615+ <member name="best"
616+ value="2"
617+ c:identifier="CAIRO_FILTER_BEST"/>
618+ <member name="nearest"
619+ value="3"
620+ c:identifier="CAIRO_FILTER_NEAREST"/>
621+ <member name="bilinear"
622+ value="4"
623+ c:identifier="CAIRO_FILTER_BILINEAR"/>
624+ <member name="gaussian"
625+ value="5"
626+ c:identifier="CAIRO_FILTER_GAUSSIAN"/>
627+ </enumeration>
628+ <enumeration name="RegionOverlap" c:type="cairo_region_overlap_t"
629+ glib:type-name="cairo_region_overlap_t"
630+ glib:get-type="cairo_gobject_region_overlap_get_type">
631+ <member name="in"
632+ value="0"
633+ c:identifier="CAIRO_REGION_OVERLAP_IN"/>
634+ <member name="out"
635+ value="1"
636+ c:identifier="CAIRO_REGION_OVERLAP_OUT"/>
637+ <member name="part"
638+ value="2"
639+ c:identifier="CAIRO_REGION_OVERLAP_PART"/>
640+ </enumeration>
641+ <record name="FontFace" c:type="cairo_font_face_t" foreign="1"
642+ glib:type-name="CairoFontFace"
643+ glib:get-type="cairo_gobject_font_face_get_type"/>
644+ <record name="ScaledFont" c:type="cairo_scaled_font_t" foreign="1"
645+ glib:type-name="CairoScaledFont"
646+ glib:get-type="cairo_gobject_scaled_font_get_type"/>
647+ <record name="Path" c:type="cairo_path_t" foreign="1"/>
648+ <record name="Rectangle" c:type="cairo_rectangle_t"
649+ glib:type-name="CairoRectangle"
650+ glib:get-type="cairo_gobject_rectangle_get_type">
651+ <field name="x" writable="1">
652+ <type name="gdouble" c:type="gdouble"/>
653+ </field>
654+ <field name="y" writable="1">
655+ <type name="gdouble" c:type="gdouble"/>
656+ </field>
657+ <field name="width" writable="1">
658+ <type name="gdouble" c:type="gdouble"/>
659+ </field>
660+ <field name="height" writable="1">
661+ <type name="gdouble" c:type="gdouble"/>
662+ </field>
663+ </record>
664+ <record name="RectangleInt" c:type="cairo_rectangle_int_t"
665+ glib:type-name="CairoRectangleInt"
666+ glib:get-type="cairo_gobject_rectangle_int_get_type">
667+ <field name="x" writable="1">
668+ <type name="gint" c:type="gint"/>
669+ </field>
670+ <field name="y" writable="1">
671+ <type name="gint" c:type="gint"/>
672+ </field>
673+ <field name="width" writable="1">
674+ <type name="gint" c:type="gint"/>
675+ </field>
676+ <field name="height" writable="1">
677+ <type name="gint" c:type="gint"/>
678+ </field>
679+ </record>
680+ <function name="image_surface_create" c:identifier="cairo_image_surface_create">
681+ <return-value transfer-ownership="none">
682+ <type name="none" c:type="void"/>
683+ </return-value>
684+ <parameters>
685+ </parameters>
686+ </function>
687+ </namespace>
688+</repository>
A internal/gir/types/interface.go +52 -0
@@ -0,0 +1,52 @@
1+package types
2+
3+import (
4+ "strings"
5+
6+ "github.com/jwijenbergh/puregotk/internal/gir/util"
7+)
8+
9+func ConvertInterface(currns string, ins string, inter Interface, implemented map[string]bool, kinds KindMap) InterfaceTemplate {
10+ var methods []InterfaceFuncTemplate
11+
12+ for _, m := range inter.Methods {
13+ name := util.SnakeToCamel(m.Name)
14+ if implemented != nil {
15+ v, ok := implemented[name]
16+ if v && ok {
17+ continue
18+ }
19+ }
20+ var newns string
21+ if ins != "" {
22+ newns = ins + "."
23+ }
24+ methods = append(methods, InterfaceFuncTemplate{
25+ Namespace: newns,
26+ FullName: util.SnakeToCamel(m.CIdentifier),
27+ FuncTemplate: FuncTemplate{
28+ Doc: m.Doc.StringSafe(),
29+ CName: m.CIdentifier,
30+ Name: name,
31+ Args: m.Parameters.Template(currns, ins, kinds),
32+ Ret: m.ReturnValue.Template(currns, ins, kinds),
33+ },
34+ })
35+ }
36+ name := util.SnakeToCamel(inter.Name)
37+ return InterfaceTemplate{
38+ Name: name,
39+ Doc: inter.Doc.StringSafe(),
40+ Methods: methods,
41+ }
42+}
43+
44+func GetInterfaceFuncs(ns string, name string, implemented map[string]bool, kinds KindMap) InterfaceTemplate {
45+ inter := kinds.MustInterface(ns, name)
46+ parts := strings.Split(name, ".")
47+ var ins string
48+ if len(parts) > 1 {
49+ ins = strings.ToLower(parts[0])
50+ }
51+ return ConvertInterface(ns, ins, inter, implemented, kinds)
52+}
A internal/gir/types/kind.go +51 -0
@@ -0,0 +1,51 @@
1+package types
2+
3+import "github.com/jwijenbergh/puregotk/internal/gir/util"
4+
5+type Kind int8
6+
7+const (
8+ UnknownType Kind = iota
9+ AliasType
10+ CallbackType
11+ ClassesType
12+ InterfacesType
13+ RecordsType
14+ OtherType
15+)
16+
17+type KindMap map[string]KindPair
18+
19+func (km KindMap) key(ns string, name string) string {
20+ return util.NormalizeNamespace(ns, name, false)
21+}
22+
23+func (km KindMap) Add(ns string, name string, t Kind, v interface{}) {
24+ k := km.key(ns, name)
25+ km[k] = KindPair{
26+ K: t,
27+ Value: v,
28+ }
29+}
30+
31+func (km KindMap) pair(ns string, name string) KindPair {
32+ f := util.NormalizeNamespace(ns, name, false)
33+ return km[f]
34+}
35+
36+func (km KindMap) Kind(ns string, name string) Kind {
37+ return km.pair(ns, name).K
38+}
39+
40+func (km KindMap) MustInterface(ns string, name string) Interface {
41+ p := km.pair(ns, name)
42+ if p.K != InterfacesType {
43+ panic("value is not an interface")
44+ }
45+ return p.Value.(Interface)
46+}
47+
48+type KindPair struct {
49+ K Kind
50+ Value interface{}
51+}
A internal/gir/types/template.go +284 -0
@@ -0,0 +1,284 @@
1+package types
2+
3+import (
4+ "fmt"
5+ "strings"
6+
7+ "github.com/jwijenbergh/puregotk/internal/gir/util"
8+)
9+
10+type argsTemplate struct {
11+ // Names are the variables but just the names
12+ Names []string
13+
14+ // Types are the variables but just the types
15+ Types []string
16+
17+ // Call are the variables as given in a function call
18+ Call []string
19+
20+ Full []string
21+}
22+
23+type funcArgsTemplate struct {
24+ // Pure are the arguments as passed directly to PureGo
25+ // The pure Call is a special case that contains the arguments for a callback call
26+ Pure argsTemplate
27+
28+ // API are the arguments as suitable for a Go API
29+ API argsTemplate
30+}
31+
32+func (f *funcArgsTemplate) AddAPI(t string, n string, k Kind, ns string) {
33+ c := n
34+ stars := strings.Count(t, "*")
35+ gobjectNs := "gobject."
36+ if strings.ToLower(ns) == "gobject" {
37+ gobjectNs = ""
38+ }
39+ switch k {
40+ case CallbackType:
41+ c = fmt.Sprintf("purego.NewCallback(%s)", n)
42+ case ClassesType:
43+ if stars == 0 {
44+ c = n
45+ t = "uintptr"
46+ } else if stars > 1 {
47+ c = fmt.Sprintf("%sConvertPtr(%s)", gobjectNs, n)
48+ } else if stars == 1 {
49+ c = n + ".GoPointer()"
50+ }
51+ case InterfacesType:
52+ t = strings.TrimPrefix(t, "*")
53+ if stars == 0 {
54+ c = n
55+ t = "uintptr"
56+ } else if stars > 1 {
57+ c = fmt.Sprintf("%sConvertPtr(%s)", gobjectNs, n)
58+ } else if stars == 1 {
59+ c = n + ".GoPointer()"
60+ }
61+ }
62+
63+ // special case for varargs
64+ if n == "varArgs" {
65+ c = n + "..."
66+ }
67+ f.API.Names = append(f.API.Names, n)
68+ f.API.Types = append(f.API.Types, t)
69+ f.API.Call = append(f.API.Call, c)
70+ f.API.Full = append(f.API.Full, n+" "+t)
71+}
72+
73+func (f *funcArgsTemplate) AddPure(t string, n string, k Kind) {
74+ n += "p"
75+ c := n
76+ stars := strings.Count(t, "*")
77+ switch k {
78+ case RecordsType:
79+ if stars == 0 {
80+ t = "uintptr"
81+ }
82+ case CallbackType:
83+ t = "uintptr"
84+ case ClassesType:
85+ if stars == 0 {
86+ c = n
87+ t = "uintptr"
88+ } else {
89+ c = fmt.Sprintf("%sNewFromInternalPtr(%s)", strings.TrimPrefix(t, "*"), n)
90+ t = strings.Repeat("*", stars-1) + "uintptr"
91+ }
92+ case InterfacesType:
93+ if stars == 0 {
94+ c = n
95+ t = "uintptr"
96+ } else {
97+ c = fmt.Sprintf("%s{Ptr: %s}", t+"Base", n)
98+ t = strings.Repeat("*", stars-1) + "uintptr"
99+ }
100+ }
101+ f.Pure.Names = append(f.Pure.Names, n)
102+ f.Pure.Types = append(f.Pure.Types, t)
103+ f.Pure.Call = append(f.Pure.Call, c)
104+ f.Pure.Full = append(f.Pure.Full, n+" "+t)
105+}
106+
107+func (f *funcArgsTemplate) Add(p Parameter, ins string, ns string, kinds KindMap) {
108+ // get the lookup namespace
109+ // as if the interface namespace is non-empty
110+ // means we can also lookup in the namespace of the interface
111+ lns := ns
112+ if ins != "" {
113+ lns = ins
114+ }
115+ goType := p.Translate(lns, kinds)
116+ kind := kinds.Kind(lns, goType)
117+ stars := strings.Count(goType, "*")
118+ goType = util.NormalizeNamespace(ns, goType, true)
119+ if kind != OtherType && kind != UnknownType {
120+ if ins != "" && strings.Count(goType, ".") < 1 {
121+ goType = ins + "." + goType
122+ }
123+ }
124+ if stars > 0 {
125+ goType = strings.Repeat("*", stars) + strings.ReplaceAll(goType, "*", "")
126+ }
127+
128+ // Get a suitable variable name
129+ varName := p.VarName()
130+
131+ f.AddAPI(goType, varName, kind, ns)
132+ f.AddPure(goType, varName, kind)
133+}
134+
135+type CallbackTemplate struct {
136+ Doc string
137+ Name string
138+ Args funcArgsTemplate
139+ Ret funcRetTemplate
140+}
141+
142+type AliasTemplate struct {
143+ // Name is the name of the alias given to the Go type declaration
144+ Name string
145+
146+ // Doc is the documentation of the alias
147+ Doc string
148+
149+ // Value is the value for the alias as a Go type
150+ Value string
151+}
152+
153+type RecordField struct {
154+ // Name is the Go name of the field
155+ Name string
156+
157+ // Type is the Go type of the field
158+ Type string
159+}
160+
161+type RecordTemplate struct {
162+ // Name is the name of the record given to the Go type declaration
163+ Name string
164+
165+ // Doc is the documentation of the alias
166+ Doc string
167+
168+ // Fields is the list of record fields
169+ Fields []RecordField
170+}
171+
172+type enumValues struct {
173+ // Doc is the documentation for the value
174+ Doc string
175+ // Name is the name of the enumeration value
176+ Name string
177+ // Value is the actual underlying value
178+ Value int
179+}
180+
181+type EnumTemplate struct {
182+ // Name is the name of the enumeration declared as the Go type for the int
183+ Name string
184+ // Doc is the documentation for the enumeration
185+ Doc string
186+ // Values are the list of values for the enumeration
187+ Values []enumValues
188+}
189+
190+type funcRetTemplate struct {
191+ // Raw is the raw value for the underlying purego function
192+ Raw string
193+ // Value is the underlying return value as a Go type
194+ Value string
195+ // Class indicates whether or not the return value is a class
196+ Class bool
197+ // RefSink indicates whether or not we should increase the reference count using obj.RefSink()
198+ RefSink bool
199+}
200+
201+func (fr *funcRetTemplate) Instance() string {
202+ if strings.HasPrefix(fr.Value, "*") {
203+ return "&"+fr.Value[1:]
204+ }
205+ return fr.Value
206+}
207+
208+type FuncTemplate struct {
209+ // Name is the name of the function declared as the Go function variable and public exposed API
210+ Name string
211+ // CName is the raw c name to be passed to purego register
212+ CName string
213+ // Doc is the documentation for the function
214+ Doc string
215+ // Args are the arguments
216+ Args funcArgsTemplate
217+ // Ret is the return argument
218+ Ret funcRetTemplate
219+}
220+
221+type InterfaceFuncTemplate struct {
222+ Namespace string
223+ FullName string
224+ FuncTemplate
225+}
226+
227+type SignalsTemplate struct {
228+ Doc string
229+ Name string
230+ CName string
231+ Args funcArgsTemplate
232+ Ret funcRetTemplate
233+}
234+
235+type ClassTemplate struct {
236+ // Doc is the documentation for the class
237+ Doc string
238+ // Name is the name of the class that is given to the Go struct
239+ Name string
240+ // Parent is a non-empty string of the embedded parent struct
241+ Parent string
242+ // Constructors is the slice of functions that create the class struct
243+ Constructors []FuncTemplate
244+ // Receivers is the slice of functions that have value receivers to the struct
245+ Receivers []FuncTemplate
246+ // Interfaces are receiver methods that are implemented because it needs to satisfy a certain interface
247+ Interfaces []InterfaceTemplate
248+ // Signals are helpers for ConnectX receivers
249+ Signals []SignalsTemplate
250+}
251+
252+type InterfaceTemplate struct {
253+ Doc string
254+ Name string
255+ // Methods is the methods that this interface defines
256+ Methods []InterfaceFuncTemplate
257+}
258+
259+type TemplateArg struct {
260+ // PkgName is the name of the package, declared at the top-level
261+ PkgName string
262+ // PkgEnv is the name of the package in the load environment variable
263+ PkgEnv string
264+ // NeedsInit declares whether or not this file needs an init code to register functions with purego
265+ NeedsInit bool
266+ // Imports defines the package imports that we need
267+ // This does not include purego
268+ // As the template already includes that if `NeedsInit` is set to true
269+ Imports []string
270+ // Aliases are type aliases declared as type ... = ...
271+ Aliases []AliasTemplate
272+ // Aliases are structs that are not classes
273+ Records []RecordTemplate
274+ // Callbacks are functions that will be converted with purego to uintptr
275+ Callbacks []CallbackTemplate
276+ // Enums are enumerations declared as const ... .... = ....
277+ Enums []EnumTemplate
278+ // Functions are the Go function declarations
279+ Functions []FuncTemplate
280+ // Interfaces is the list of interfaces that this package implements
281+ Interfaces []InterfaceTemplate
282+ // Classes are the Go struct with receiver declarations
283+ Classes []ClassTemplate
284+}
A internal/gir/types/types.go +698 -0
@@ -0,0 +1,698 @@
1+// package types implements types as found in gir XML files
2+// NOTE: This was copied largely from (the type definitions) from
3+package types
4+
5+import (
6+ "encoding/xml"
7+ "strconv"
8+ "strings"
9+
10+ "github.com/jwijenbergh/puregotk/internal/gir/util"
11+)
12+
13+// convList maps the given GIR primitive type to a Go builtin type.
14+// See https://github.com/diamondburned/gotk4/blob/fd960d20b525a07580938d10a214336bafb47d12/gir/girgen/types/types.go#LL483C1-L512C2
15+var convList = map[string]string{
16+ "none": "",
17+ "gboolean": "bool",
18+ "gfloat": "float32",
19+ "gdouble": "float64",
20+ // This was changed because e.g. the error code in a GError struct is a gint and it has to be an int32
21+ // gint is a typedef to an int and on 32 and 64 bit systems a c int is 32 bits commonly, whereas in go an int is 32 bits on 32 bits systems and 64 bits on 64 bits systems
22+ // gotk4 seems to not cast these, see e.g. https://github.com/diamondburned/gotk4/blob/fd960d20b525a07580938d10a214336bafb47d12/gir/girgen/types/types.go#L473-L481
23+ "gint": "int32",
24+ "gssize": "int",
25+ "gint8": "int8",
26+ "gint16": "int16",
27+ "gshort": "int16",
28+ "gint32": "int32",
29+ "glong": "int32",
30+ "int32": "int32",
31+ "gint64": "int64",
32+ "guint": "uint",
33+ "gsize": "uint",
34+ "guchar": "byte",
35+ "gchar": "byte",
36+ "guint8": "byte", // some weird cases
37+ "guint16": "uint16",
38+ "gushort": "uint16",
39+ "guint32": "uint32",
40+ "gulong": "uint32",
41+ "gunichar": "uint32",
42+ "guint64": "uint64",
43+ "guintptr": "uintptr",
44+ "utf8": "string",
45+ "filename": "string",
46+
47+ // these are probably not correct but needed to compile
48+ "long double": "float64",
49+ "va_list": "[]interface{}",
50+ "gpointer": "uintptr",
51+ "GType": "[]interface{}",
52+ "const char*": "string",
53+ "char**": "[]string",
54+ // not exported
55+ "HarfBuzz.font_t": "uintptr",
56+ //"GLib.Quark": "byte",
57+ //"Allocation": "uintptr",
58+}
59+
60+// Repository represents a GObject Introspection Repository, which contains the
61+// includes, C includes and namespaces of a single gir file.
62+type Repository struct {
63+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 repository"`
64+
65+ Version string `xml:"version,attr"`
66+ CIdentifierPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 identifier-prefixes,attr"`
67+ CSymbolPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefixes,attr"`
68+
69+ Includes []Include `xml:"http://www.gtk.org/introspection/core/1.0 include"`
70+ CIncludes []CInclude `xml:"http://www.gtk.org/introspection/c/1.0 include"`
71+ Packages []Package `xml:"http://www.gtk.org/introspection/core/1.0 package"`
72+ Namespaces []Namespace `xml:"http://www.gtk.org/introspection/core/1.0 namespace"`
73+}
74+
75+// https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/master/docs/gir-1.2.rnc
76+
77+type Alias struct {
78+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 alias"`
79+
80+ Name string `xml:"name,attr"`
81+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
82+
83+ InfoAttrs
84+ InfoElements
85+
86+ Type Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
87+}
88+
89+type AnyType struct {
90+ // Possible variants.
91+ Type *Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
92+ Array *Array `xml:"http://www.gtk.org/introspection/core/1.0 array"`
93+}
94+
95+func (a *AnyType) Translate(ns string, kinds KindMap) string {
96+ if a == nil {
97+ panic("unknown type found")
98+ }
99+ t := a.Type
100+ if t == nil {
101+ if a.Array == nil {
102+ return ""
103+ }
104+ if v, ok := convList[a.Array.CType]; ok {
105+ return v
106+ }
107+ return "uintptr"
108+ }
109+ return a.Type.Template(ns, kinds)
110+}
111+
112+type Annotation struct {
113+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 attribute"`
114+ Name string `xml:"name,attr"`
115+ Value string `xml:"value,attr"`
116+}
117+
118+type Array struct {
119+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 array"`
120+ Name string `xml:"name,attr"`
121+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
122+ Length *int `xml:"length,attr"` // ix of .Parameters
123+ ZeroTerminated *bool `xml:"zero-terminated,attr"`
124+ FixedSize int `xml:"fixed-size,attr"`
125+ Introspectable bool `xml:"introspectable,attr"`
126+ // Type is the array's inner type.
127+ Type *Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
128+}
129+
130+// IsZeroTerminated returns true if the Array is zero-terminated. It accounts
131+// for edge cases of the structure.
132+func (a Array) IsZeroTerminated() bool {
133+ return a.Name == "" && (a.ZeroTerminated == nil || *a.ZeroTerminated)
134+}
135+
136+type Bitfield struct {
137+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 bitfield"`
138+
139+ Name string `xml:"name,attr"` // Go case
140+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
141+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
142+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
143+
144+ Members []Member `xml:"http://www.gtk.org/introspection/core/1.0 member"`
145+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
146+
147+ InfoAttrs
148+ InfoElements
149+}
150+
151+func (b *Bitfield) Template(ns string) EnumTemplate {
152+ els := make([]enumValues, len(b.Members))
153+ for i, m := range b.Members {
154+ v, err := strconv.Atoi(m.Value)
155+ if err != nil {
156+ panic(err)
157+ }
158+ // + Value needed to get rid of duplicates
159+ els[i] = enumValues{
160+ Doc: m.Doc.StringSafe(),
161+ Name: util.SnakeToCamel(util.RemoveSnakePrefix(strings.ToLower(m.CIdentifier), ns)) + "Value",
162+ Value: v,
163+ }
164+ }
165+ return EnumTemplate{
166+ Name: util.SnakeToCamel(b.Name),
167+ Doc: b.Doc.StringSafe(),
168+ Values: els,
169+ }
170+}
171+
172+type Signal struct {
173+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/glib/1.0 signal"`
174+ Name string `xml:"name,attr"`
175+ Detailed bool `xml:"detailed,attr"`
176+ When SignalWhen `xml:"when,attr"`
177+ Action bool `xml:"action,attr"`
178+ NoHooks bool `xml:"no-hooks,attr"`
179+ NoRecurse bool `xml:"no-recurse,attr"`
180+ InfoElements
181+ Parameters *Parameters `xml:"http://www.gtk.org/introspection/core/1.0 parameters"`
182+ ReturnValue *ReturnValue `xml:"http://www.gtk.org/introspection/core/1.0 return-value"`
183+}
184+
185+type SignalWhen string
186+
187+const (
188+ SignalWhenFirst = "first"
189+ SignalWhenLast = "last"
190+ SignalWhenCleanup = "cleanup"
191+)
192+
193+type SourcePosition struct {
194+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 source-position"`
195+ Filename string `xml:"filename,attr"`
196+ Line int `xml:"line,attr"`
197+ Column int `xml:"column,attr"`
198+}
199+
200+type TransferOwnership struct {
201+ TransferOwnership string `xml:"transfer-ownership,attr"`
202+}
203+
204+type Type struct {
205+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 type"`
206+
207+ Name string `xml:"name,attr"`
208+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
209+ Introspectable *bool `xml:"introspectable,attr"`
210+
211+ DocElements
212+ // Types is the type's inner types.
213+ Types []Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
214+}
215+
216+func (typ *Type) IsIntrospectable() bool {
217+ return typ.Introspectable == nil || *typ.Introspectable
218+}
219+
220+func (t *Type) Template(ns string, kinds KindMap) string {
221+ if v, ok := convList[t.Name]; ok {
222+ return v
223+ }
224+
225+ _type := util.NormalizeNamespace(ns, t.Name, true)
226+
227+ kind := kinds.Kind(ns, _type)
228+ // find the total pointer count
229+ count := strings.Count(t.CType, "*")
230+ w := strings.Trim(t.CType, "*")
231+ if w == "gpointer" {
232+ count += 1
233+ }
234+ // set the same pointer types on the name
235+ if count > 0 && kind != CallbackType {
236+ _type = strings.Repeat("*", count) + _type
237+ } else if kind == RecordsType {
238+ // if it's not a pointer
239+ // then purego doesn't support it (struct by value is not supported
240+ // so return uintptr
241+ _type = "uintptr"
242+ }
243+ return _type
244+}
245+
246+type Union struct {
247+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 union"`
248+
249+ Name string `xml:"name,attr"` // Go case
250+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
251+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
252+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
253+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
254+
255+ InfoAttrs
256+ InfoElements
257+
258+ Fields []Field `xml:"http://www.gtk.org/introspection/core/1.0 field"`
259+ Constructors []Constructor `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
260+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
261+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
262+ Records []Record `xml:"http://www.gtk.org/introspection/core/1.0 record"`
263+}
264+
265+type VarArgs struct {
266+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 varargs"`
267+}
268+
269+type VirtualMethod struct {
270+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 virtual-method"`
271+
272+ Invoker string `xml:"invoker,attr"`
273+ CallableAttrs
274+}
275+
276+type Boxed struct{}
277+
278+type CInclude struct {
279+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/c/1.0 include"`
280+ Name string `xml:"name,attr"`
281+}
282+
283+type CallableAttrs struct {
284+ Name string `xml:"name,attr"`
285+ CIdentifier string `xml:"http://www.gtk.org/introspection/c/1.0 identifier,attr"`
286+ ShadowedBy string `xml:"shadowed-by,attr"`
287+ Shadows string `xml:"shadows,attr"`
288+ Throws bool `xml:"throws,attr"`
289+ MovedTo string `xml:"moved-to,attr"`
290+ Parameters *Parameters `xml:"http://www.gtk.org/introspection/core/1.0 parameters"`
291+ ReturnValue *ReturnValue `xml:"http://www.gtk.org/introspection/core/1.0 return-value"`
292+ InfoAttrs
293+ InfoElements
294+}
295+
296+type Callback struct {
297+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 callback"`
298+ CallableAttrs
299+}
300+
301+type Class struct {
302+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 class"`
303+ Name string `xml:"name,attr"`
304+ Parent string `xml:"parent,attr"`
305+ Abstract bool `xml:"abstract,attr"`
306+
307+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
308+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
309+
310+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
311+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
312+ GLibTypeStruct string `xml:"http://www.gtk.org/introspection/glib/1.0 type-struct,attr"`
313+
314+ InfoAttrs
315+ InfoElements
316+
317+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
318+ Implements []Implements `xml:"http://www.gtk.org/introspection/core/1.0 implements"`
319+ Constructors []Constructor `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
320+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
321+ VirtualMethods []VirtualMethod `xml:"http://www.gtk.org/introspection/core/1.0 virtual-method"`
322+ Fields []Field `xml:"http://www.gtk.org/introspection/core/1.0 field"`
323+ Signals []Signal `xml:"http://www.gtk.org/introspection/glib/1.0 signal"`
324+}
325+
326+type Constant struct {
327+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 constant"`
328+ Name string `xml:"name,attr"`
329+ Value string `xml:"value,attr"`
330+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
331+
332+ Type Type `xml:"http://www.gtk.org/introspection/core/1.0 type"`
333+
334+ InfoAttrs
335+ InfoElements
336+}
337+
338+type Constructor struct {
339+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
340+ CallableAttrs
341+}
342+
343+type Doc struct {
344+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 doc"`
345+ Filename string `xml:"filename,attr"`
346+ String string `xml:",innerxml"`
347+ Line int `xml:"line,attr"`
348+}
349+
350+func (d *Doc) StringSafe() string {
351+ if d == nil {
352+ return ""
353+ }
354+ lines := strings.Split(d.String, "\n")
355+ for i, l := range lines {
356+ lines[i] = "// " + l
357+ }
358+ return strings.Join(lines, "\n")
359+}
360+
361+type DocDeprecated struct {
362+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 doc-deprecated"`
363+ String string `xml:",innerxml"`
364+}
365+
366+type DocElements struct {
367+ Doc *Doc
368+ DocDeprecated *DocDeprecated
369+ SourcePosition *SourcePosition
370+}
371+
372+func (d *DocElements) FilenameSafe() string {
373+ if d == nil || (d.SourcePosition == nil && d.Doc == nil) {
374+ return "main.go"
375+ }
376+ if d.SourcePosition != nil {
377+ return util.TranslateFilename(d.SourcePosition.Filename)
378+ }
379+ return util.TranslateFilename(d.Doc.Filename)
380+}
381+
382+type Enum struct {
383+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 enumeration"`
384+
385+ Name string `xml:"name,attr"` // Go case
386+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
387+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
388+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
389+ GLibErrorDomain string `xml:"http://www.gtk.org/introspection/glib/1.0 error-domain,attr"`
390+
391+ Members []Member `xml:"http://www.gtk.org/introspection/core/1.0 member"`
392+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
393+
394+ InfoAttrs
395+ InfoElements
396+}
397+
398+func (e *Enum) Template(ns string) EnumTemplate {
399+ els := make([]enumValues, len(e.Members))
400+
401+ for i, m := range e.Members {
402+ v, err := strconv.Atoi(m.Value)
403+ if err != nil {
404+ panic(err)
405+ }
406+ id := strings.ToLower(m.CIdentifier)
407+ sID := util.RemoveSnakePrefix(id, ns)
408+ els[i] = enumValues{
409+ Doc: m.Doc.StringSafe(),
410+ // + Value needed to get rid of duplicates
411+ Name: util.SnakeToCamel(sID) + "Value",
412+ Value: v,
413+ }
414+ }
415+ return EnumTemplate{
416+ Name: util.SnakeToCamel(e.Name),
417+ Doc: e.Doc.StringSafe(),
418+ Values: els,
419+ }
420+}
421+
422+type Field struct {
423+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 field"`
424+ Name string `xml:"name,attr"`
425+ Bits int `xml:"bits,attr"`
426+ Private bool `xml:"private,attr"`
427+ Writable bool `xml:"writable,attr"` // default false
428+ Readable *bool `xml:"readable,attr"` // default true
429+ AnyType
430+ Callback *Callback
431+ Doc *Doc
432+}
433+
434+// IsReadable returns true if the field is readable.
435+func (f Field) IsReadable() bool {
436+ return f.Readable == nil || *f.Readable
437+}
438+
439+type Function struct {
440+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 function"`
441+ CallableAttrs
442+}
443+
444+type Implements struct {
445+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 implements"`
446+ Name string `xml:"name,attr"`
447+}
448+
449+type Include struct {
450+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 include"`
451+ Name string `xml:"name,attr"`
452+ Version string `xml:"version,attr"`
453+}
454+
455+type InfoAttrs struct {
456+ Introspectable *bool `xml:"introspectable,attr"` // default true
457+ Deprecated bool `xml:"deprecated,attr"`
458+ DeprecatedVersion string `xml:"deprecated-version,attr"`
459+ Version string `xml:"version,attr"`
460+ Stability string `xml:"stability,attr"`
461+}
462+
463+// IsIntrospectable returns true if the InfoAttrs indicates that the type is
464+// introspectable.
465+func (inf InfoAttrs) IsIntrospectable() bool {
466+ return inf.Introspectable == nil || *inf.Introspectable
467+}
468+
469+type InfoElements struct {
470+ DocElements
471+ Annotations []Annotation `xml:"http://www.gtk.org/introspection/core/1.0 attribute"`
472+}
473+
474+type InstanceParameter struct {
475+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 instance-parameter"`
476+ ParameterAttrs
477+}
478+
479+type Interface struct {
480+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 interface"`
481+ Name string `xml:"name,attr"`
482+
483+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
484+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
485+
486+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
487+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
488+ GLibTypeStruct string `xml:"http://www.gtk.org/introspection/glib/1.0 type-struct,attr"`
489+
490+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
491+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
492+ VirtualMethods []VirtualMethod `xml:"http://www.gtk.org/introspection/core/1.0 virtual-method"`
493+ Prerequisites []Prerequisite `xml:"http://www.gtk.org/introspection/core/1.0 prerequisite"`
494+ Signals []Signal `xml:"http://www.gtk.org/introspection/glib/1.0 signal"`
495+
496+ InfoAttrs
497+ InfoElements
498+}
499+
500+type Member struct {
501+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 member"`
502+
503+ Names []xml.Attr `xml:"name,attr"`
504+ Value string `xml:"value,attr"`
505+ CIdentifier string `xml:"http://www.gtk.org/introspection/c/1.0 identifier,attr"`
506+ GLibNick string `xml:"http://www.gtk.org/introspection/glib/1.0 nick,attr"`
507+
508+ InfoAttrs
509+ InfoElements
510+}
511+
512+func (m Member) Name() string {
513+ return m.nameAttr(xml.Name{Local: "name"})
514+}
515+
516+func (m Member) GLibName() string {
517+ return m.nameAttr(xml.Name{Space: "http://www.gtk.org/introspection/glib/1.0", Local: "name"})
518+}
519+
520+func (m Member) nameAttr(name xml.Name) string {
521+ for _, attr := range m.Names {
522+ if attr.Name == name {
523+ return attr.Value
524+ }
525+ }
526+ return ""
527+}
528+
529+type Method struct {
530+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 method"`
531+ CallableAttrs
532+}
533+
534+type Namespace struct {
535+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 namespace"`
536+
537+ Name string `xml:"name,attr"`
538+ Version string `xml:"version,attr"`
539+ CIdentifierPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 identifier-prefixes,attr"`
540+ CSymbolPrefixes string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefixes,attr"`
541+ Prefix string `xml:"http://www.gtk.org/introspection/c/1.0 prefix,attr"`
542+ SharedLibrary string `xml:"shared-library,attr"`
543+
544+ Aliases []Alias `xml:"http://www.gtk.org/introspection/core/1.0 alias"`
545+ Classes []Class `xml:"http://www.gtk.org/introspection/core/1.0 class"`
546+ Interfaces []Interface `xml:"http://www.gtk.org/introspection/core/1.0 interface"`
547+ Records []Record `xml:"http://www.gtk.org/introspection/core/1.0 record"`
548+ Enums []Enum `xml:"http://www.gtk.org/introspection/core/1.0 enumeration"`
549+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
550+ Unions []Union `xml:"http://www.gtk.org/introspection/core/1.0 union"`
551+ Bitfields []Bitfield `xml:"http://www.gtk.org/introspection/core/1.0 bitfield"`
552+ Callbacks []Callback `xml:"http://www.gtk.org/introspection/core/1.0 callback"`
553+ Constants []Constant `xml:"http://www.gtk.org/introspection/core/1.0 constant"`
554+ Annotations []Annotation `xml:"http://www.gtk.org/introspection/core/1.0 attribute"`
555+ Boxeds []Boxed `xml:"http://www.gtk.org/introspection/core/1.0 boxed"`
556+}
557+
558+type Package struct {
559+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 package"`
560+ Name string `xml:"name,attr"`
561+}
562+
563+type Parameter struct {
564+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 parameter"`
565+ ParameterAttrs
566+}
567+
568+func (p *Parameter) Translate(ns string, kinds KindMap) string {
569+ if p.Name == "..." {
570+ return "...interface{}"
571+ }
572+ return p.AnyType.Translate(ns, kinds)
573+}
574+
575+func (p *Parameter) VarName() string {
576+ snaked := util.SnakeToCamel(p.Name)
577+ if snaked == "..." {
578+ return "varArgs"
579+ }
580+ // avoid clash between same name of type and var
581+ // could also do first letter to lower?
582+ return snaked + "Var"
583+}
584+
585+func (p *Parameters) Template(ns string, ifacens string, kinds KindMap) funcArgsTemplate {
586+ if p == nil {
587+ return funcArgsTemplate{}
588+ }
589+ params := p.Parameters
590+ if len(params) == 0 {
591+ return funcArgsTemplate{}
592+ }
593+ args := funcArgsTemplate{}
594+ for _, par := range params {
595+ args.Add(par, ifacens, ns, kinds)
596+ }
597+ return args
598+}
599+
600+type ParameterAttrs struct {
601+ Name string `xml:"name,attr"`
602+ Direction string `xml:"direction,attr"`
603+ Scope string `xml:"scope,attr"`
604+ Closure *int `xml:"closure,attr"`
605+ Destroy *int `xml:"destroy,attr"`
606+ CallerAllocates bool `xml:"caller-allocates,attr"`
607+ Skip bool `xml:"skip,attr"`
608+ Optional bool `xml:"optional,attr"`
609+ Nullable bool `xml:"nullable,attr"`
610+
611+ TransferOwnership
612+ AnyType
613+ Doc *Doc
614+}
615+
616+type Parameters struct {
617+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 parameters"`
618+ InstanceParameter *InstanceParameter `xml:"http://www.gtk.org/introspection/core/1.0 instance-parameter"`
619+ Parameters []Parameter `xml:"http://www.gtk.org/introspection/core/1.0 parameter"`
620+}
621+
622+type Prerequisite struct {
623+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 prerequisite"`
624+ Name string `xml:"name,attr"`
625+}
626+
627+type Property struct{}
628+
629+type Record struct {
630+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 record"`
631+ Name string `xml:"name,attr"`
632+ CType string `xml:"http://www.gtk.org/introspection/c/1.0 type,attr"`
633+ GLibTypeName string `xml:"http://www.gtk.org/introspection/glib/1.0 type-name,attr"`
634+ GLibGetType string `xml:"http://www.gtk.org/introspection/glib/1.0 get-type,attr"`
635+ CSymbolPrefix string `xml:"http://www.gtk.org/introspection/c/1.0 symbol-prefix,attr"`
636+ GLibIsGTypeStructFor string `xml:"http://www.gtk.org/introspection/glib/1.0 is-gtype-struct-for,attr"`
637+ Disguised bool `xml:"disguised,attr"`
638+ Foreign bool `xml:"foreign,attr"`
639+
640+ Fields []Field `xml:"http://www.gtk.org/introspection/core/1.0 field"`
641+ Functions []Function `xml:"http://www.gtk.org/introspection/core/1.0 function"`
642+ Unions []Union `xml:"http://www.gtk.org/introspection/core/1.0 union"`
643+ Methods []Method `xml:"http://www.gtk.org/introspection/core/1.0 method"`
644+ Constructors []Constructor `xml:"http://www.gtk.org/introspection/core/1.0 constructor"`
645+ Properties []Property `xml:"http://www.gtk.org/introspection/core/1.0 property"`
646+
647+ InfoAttrs
648+ InfoElements
649+}
650+
651+type ReturnValue struct {
652+ XMLName xml.Name `xml:"http://www.gtk.org/introspection/core/1.0 return-value"`
653+ Scope string `xml:"scope,attr"`
654+ Closure *int `xml:"closure,attr"`
655+ Destroy *int `xml:"destroy,attr"`
656+ Introspectable bool `xml:"introspectable,attr"`
657+ Nullable bool `xml:"nullable,attr"`
658+ Skip bool `xml:"skip,attr"`
659+ AllowNone bool `xml:"allow-none,attr"`
660+ TransferOwnership
661+ DocElements
662+ AnyType
663+}
664+
665+func (r *ReturnValue) Template(ns string, ins string, kinds KindMap) funcRetTemplate {
666+ val := r.AnyType.Translate(ns, kinds)
667+ raw := val
668+ class := false
669+ lns := ns
670+ if ins != "" {
671+ lns = ins
672+ }
673+ kind := kinds.Kind(lns, raw)
674+ stars := strings.Count(val, "*")
675+ if kind != OtherType && kind != UnknownType {
676+ if ins != "" && strings.Count(val, ".") < 1 {
677+ val = ins + "." + val
678+ }
679+ }
680+ if stars > 0 {
681+ val = strings.Repeat("*", stars) + strings.ReplaceAll(val, "*", "")
682+ }
683+ switch kind {
684+ case ClassesType:
685+ raw = "uintptr"
686+ class = true
687+ case InterfacesType:
688+ raw = "uintptr"
689+ val += "Base"
690+ class = true
691+ }
692+ return funcRetTemplate{
693+ Raw: raw,
694+ Value: val,
695+ Class: class,
696+ RefSink: r.TransferOwnership.TransferOwnership == "none",
697+ }
698+}
A internal/gir/util/util.go +93 -0
@@ -0,0 +1,93 @@
1+// package util implements some utility functions for parsing/converting gir files
2+// TODO: Maybe some of this can more easily be done with regexes?
3+//
4+// But using regexes introduces 2 problems :^)
5+package util
6+
7+import (
8+ "path/filepath"
9+ "strings"
10+)
11+
12+// delimToCamel to camel converts a string with parts separated by `delim` to CamelCase
13+func delimToCamel(s string, delim string) string {
14+ var sb strings.Builder
15+ words := strings.Split(s, delim)
16+ for _, w := range words {
17+ sb.WriteString(strings.Title(w))
18+ }
19+ return sb.String()
20+}
21+
22+// SnakeToCamel converts hello_world to HelloWorld
23+func SnakeToCamel(s string) string {
24+ return delimToCamel(s, "_")
25+}
26+
27+// DashToCamel converts hello-world to HelloWorld
28+func DashToCamel(s string) string {
29+ return delimToCamel(s, "-")
30+}
31+
32+// RemoveSnakePrefix removes `prefix` from string `s` if that prefix ise separated with a _
33+// it removes lowercase or all u
34+func RemoveSnakePrefix(s string, prefix string) string {
35+ parts := strings.Split(s, "_")
36+ if len(parts) <= 1 {
37+ return s
38+ }
39+ if strings.EqualFold(parts[0], prefix) {
40+ parts = parts[1:]
41+ }
42+ return strings.Join(parts, "_")
43+}
44+
45+// ReplaceExtension replaces an extension from filename with ext
46+// the extension is found by splitting on "." and taking the last part
47+func ReplaceExtension(filename string, ext string) string {
48+ splt := strings.Split(filename, ".")
49+ if len(splt) == 1 {
50+ return filename
51+ }
52+ splt[len(splt)-1] = ext
53+ return strings.Join(splt, ".")
54+}
55+
56+// NormalizeNamespace converts a type to one that always includes a lowercase namespace
57+// if no namespace is found, it adds `ns`, unless if strip is True then namespaces always equaling `ns` will be removed
58+func NormalizeNamespace(ns string, gotype string, strip bool) string {
59+ if ns == "" {
60+ return ""
61+ }
62+ gotype = strings.Trim(gotype, "*")
63+ splt := strings.Split(gotype, ".")
64+ if len(splt) <= 1 {
65+ splt = append([]string{ns}, splt...)
66+ }
67+ splt[0] = strings.ToLower(splt[0])
68+ if strip && splt[0] == strings.ToLower(ns) {
69+ splt = splt[1:]
70+ }
71+ return strings.Join(splt, ".")
72+}
73+
74+// TranslateFilename translates a file path by renaming the file to a go suitable file
75+func TranslateFilename(filename string) string {
76+ if filename == "" {
77+ return "main.go"
78+ }
79+
80+ b := filepath.Base(filename)
81+ return ReplaceExtension(b, "go")
82+}
83+
84+func ConvertArgs(a []string) string {
85+ return strings.Join(a, ", ")
86+}
87+
88+func ConvertArgsComma(a []string) string {
89+ if len(a) == 0 {
90+ return ""
91+ }
92+ return ", " + strings.Join(a, ", ")
93+}
A shell.nix +26 -0
@@ -0,0 +1,26 @@
1+{ pkgs ? import <nixpkgs> {} }:
2+ pkgs.mkShell {
3+ # nativeBuildInputs is usually what you want -- tools you need to run
4+ buildInputs = [
5+ pkgs.go
6+ pkgs.godef
7+ pkgs.go-tools
8+ pkgs.vim
9+ pkgs.gofumpt
10+ pkgs.gopls
11+ pkgs.python3
12+ pkgs.libadwaita.dev
13+ pkgs.python3.pkgs.pip
14+ pkgs.gotools
15+ ];
16+ shellHook = ''
17+ # Tells pip to put packages into $PIP_PREFIX instead of the usual locations.
18+ # See https://pip.pypa.io/en/stable/user_guide/#environment-variables.
19+ export PIP_PREFIX=$(pwd)/_build/pip_packages
20+ export PYTHONPATH="$PIP_PREFIX/${pkgs.python3.sitePackages}:$PYTHONPATH"
21+ export PATH="$PIP_PREFIX/bin:$PATH"
22+ export GOPATH="$HOME/go"
23+ unset SOURCE_DATE_EPOCH
24+ '';
25+}
26+
A templates/go +264 -0
@@ -0,0 +1,264 @@
1+// Package {{.PkgName}} was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package {{.PkgName}}
3+
4+{{ $NotGObject := ne .PkgName "gobject" }}
5+
6+{{if or .Imports .NeedsInit}}
7+import (
8+ {{if .NeedsInit}}
9+ "github.com/jwijenbergh/purego"
10+ "github.com/jwijenbergh/puregotk/internal/core"
11+ {{end}}
12+ {{range .Imports -}}
13+ "github.com/jwijenbergh/puregotk/v4/{{.}}"
14+ {{end}}
15+)
16+{{end}}
17+
18+{{$outer := .}}
19+
20+{{range .Callbacks -}}
21+{{.Doc}}
22+type {{.Name}} func({{ conv .Args.Pure.Types }}) {{.Ret.Raw}}
23+{{end}}
24+
25+{{range .Records -}}
26+{{.Doc}}
27+type {{.Name}} struct {
28+ {{range .Fields}}
29+ {{.Name}} {{.Type}}
30+ {{end}}
31+}
32+{{end}}
33+
34+{{range .Interfaces -}}
35+{{.Doc}}
36+type {{.Name}} interface {
37+ GoPointer() uintptr
38+ SetGoPointer(uintptr)
39+ {{range .Methods -}}
40+ {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}}
41+ {{end}}
42+}
43+type {{.Name}}Base struct {
44+ Ptr uintptr
45+}
46+
47+func (x *{{.Name}}Base) GoPointer() uintptr {
48+ return x.Ptr
49+}
50+
51+func (x *{{.Name}}Base) SetGoPointer(ptr uintptr) {
52+ x.Ptr = ptr
53+}
54+
55+{{$outer := .}}
56+{{range .Methods -}}
57+{{.Doc}}
58+func (x *{{$outer.Name}}Base) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
59+ {{if .Ret.Class}}
60+ {{.Name}}Ptr := {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
61+ if {{.Name}}Ptr == 0 {
62+ return nil
63+ }
64+ {{if .Ret.RefSink}}
65+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
66+ {{end}}
67+ {{.Name}}Cls := {{.Ret.Instance}}{}
68+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
69+ return {{.Name}}Cls
70+ {{else if .Ret.Value}}
71+ return {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
72+ {{else}}
73+ {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
74+ {{end}}
75+}
76+{{end}}
77+
78+{{range .Methods -}}
79+var {{.Namespace}}X{{.FullName}} func(uintptr {{convc .Args.Pure.Types}}) {{.Ret.Raw}}
80+{{end}}
81+{{end}}
82+
83+{{range .Aliases -}}
84+{{.Doc}}
85+type {{.Name}} = {{.Value}}
86+{{end}}
87+
88+{{range .Enums -}}
89+{{.Doc}}
90+type {{.Name}} int
91+const (
92+{{$outer := .}}
93+{{range .Values -}}
94+ {{.Doc}}
95+ {{.Name}} {{$outer.Name}} = {{.Value}}
96+{{end}}
97+)
98+{{end}}
99+
100+{{range .Functions -}}
101+var x{{.Name}} func({{conv .Args.Pure.Types}}) {{.Ret.Raw}}
102+
103+{{.Doc}}
104+func {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
105+ {{if .Ret.Class}}
106+ {{.Name}}Ptr := x{{.Name}}({{conv .Args.API.Call}})
107+ if {{.Name}}Ptr == 0 {
108+ return nil
109+ }
110+ {{if .Ret.RefSink}}
111+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
112+ {{end}}
113+ {{.Name}}Cls := {{.Ret.Instance}}{}
114+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
115+ return {{.Name}}Cls
116+ {{else if .Ret.Value}}
117+ return x{{.Name}}({{conv .Args.API.Call}})
118+ {{else}}
119+ x{{.Name}}({{conv .Args.API.Call}})
120+ {{end}}
121+}
122+{{end}}
123+
124+{{range .Classes -}}
125+{{.Doc}}
126+type {{.Name}} struct {
127+ {{.Parent}}
128+ {{if not .Parent}}
129+ Ptr uintptr
130+ {{end}}
131+}
132+
133+{{$outer := .}}
134+func {{.Name}}NewFromInternalPtr(ptr uintptr) *{{.Name}} {
135+ cls := &{{.Name}}{}
136+ cls.Ptr = ptr
137+ return cls
138+}
139+
140+{{range .Constructors -}}
141+var x{{.Name}}{{$outer.Name}} func({{conv .Args.Pure.Types}}) {{.Ret.Raw}}
142+
143+
144+{{.Doc}}
145+func {{.Name}}{{$outer.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
146+ {{.Name}}{{$outer.Name}}Ptr := x{{.Name}}{{$outer.Name}}({{conv .Args.API.Call}})
147+ if {{.Name}}{{$outer.Name}}Ptr == 0 {
148+ return nil
149+ }
150+ {{if .Ret.RefSink}}
151+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}{{$outer.Name}}Ptr)
152+ {{end}}
153+ {{.Name}}{{$outer.Name}}Cls := {{.Ret.Instance}}{}
154+ {{.Name}}{{$outer.Name}}Cls.Ptr = {{.Name}}{{$outer.Name}}Ptr
155+ return {{.Name}}{{$outer.Name}}Cls
156+}
157+{{end}}
158+
159+{{$outer := .}}
160+{{range .Receivers -}}
161+var x{{$outer.Name}}{{.Name}} func(uintptr {{convc .Args.Pure.Types}}) {{.Ret.Raw}}
162+
163+{{.Doc}}
164+func (x *{{$outer.Name}}) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
165+ {{if .Ret.Class}}
166+ {{.Name}}Ptr := x{{$outer.Name}}{{.Name}}(x.GoPointer() {{convc .Args.API.Call}})
167+ if {{.Name}}Ptr == 0 {
168+ return nil
169+ }
170+ {{if .Ret.RefSink}}
171+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
172+ {{end}}
173+ {{.Name}}Cls := {{.Ret.Instance}}{}
174+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
175+ return {{.Name}}Cls
176+ {{else if .Ret.Value}}
177+ return x{{$outer.Name}}{{.Name}}(x.GoPointer() {{convc .Args.API.Call}})
178+ {{else}}
179+ x{{$outer.Name}}{{.Name}}(x.GoPointer() {{convc .Args.API.Call}})
180+ {{end}}
181+}
182+{{end}}
183+
184+func (c *{{.Name}}) GoPointer() uintptr {
185+ return c.Ptr
186+}
187+
188+func (c *{{.Name}}) SetGoPointer(ptr uintptr) {
189+ c.Ptr = ptr
190+}
191+
192+{{range .Signals -}}
193+
194+{{.Doc}}
195+func (x *{{$outer.Name}}) Connect{{.Name}}(cb func({{$outer.Name}} {{convc .Args.API.Types}}) {{.Ret.Value}}) {
196+ fcb := func(clsPtr uintptr {{convc .Args.Pure.Full}}) {{.Ret.Raw}} {
197+ fa := {{$outer.Name}}{}
198+ fa.Ptr = clsPtr
199+ {{if .Ret.Class}}
200+ {{.Name}}Cls := cb(fa {{convc .Args.Pure.Call}})
201+ return {{.Name}}Cls.Ptr
202+ {{else if .Ret.Value}}
203+ return cb(fa {{convc .Args.Pure.Call}})
204+ {{else}}
205+ cb(fa {{convc .Args.Pure.Call}})
206+ {{end}}
207+ }
208+ {{if $NotGObject}}gobject.{{end}}ObjectConnect(x.GoPointer(), "signal::{{.CName}}", purego.NewCallback(fcb))
209+}
210+{{end}}
211+
212+{{range .Interfaces -}}
213+{{range .Methods -}}
214+{{.Doc}}
215+func (x *{{$outer.Name}}) {{.Name}}({{conv .Args.API.Full}}) {{.Ret.Value}} {
216+ {{if .Ret.Class}}
217+ {{.Name}}Ptr := {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
218+ if {{.Name}}Ptr == 0 {
219+ return nil
220+ }
221+ {{if .Ret.RefSink}}
222+ {{if $NotGObject}}gobject.{{end}}IncreaseRef({{.Name}}Ptr)
223+ {{end}}
224+ {{.Name}}Cls := {{.Ret.Instance}}{}
225+ {{.Name}}Cls.Ptr = {{.Name}}Ptr
226+ return {{.Name}}Cls
227+ {{else if .Ret.Value}}
228+ return {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
229+ {{else}}
230+ {{.Namespace}}X{{.FullName}}(x.GoPointer() {{convc .Args.API.Call}})
231+ {{end}}
232+}
233+{{end}}
234+{{end}}
235+
236+{{end}}
237+
238+
239+{{if .NeedsInit}}
240+
241+func init() {
242+ lib, err := purego.Dlopen(core.GetPath("{{.PkgEnv}}"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
243+ if err != nil {
244+ panic(err)
245+ }
246+ {{range .Functions -}}
247+ core.PuregoSafeRegister(&x{{.Name}}, lib, "{{.CName}}")
248+ {{end}}
249+ {{range .Classes -}}
250+ {{$cls := .}}
251+ {{range .Constructors -}}
252+ core.PuregoSafeRegister(&x{{.Name}}{{$cls.Name}}, lib, "{{.CName}}")
253+ {{end}}
254+ {{range .Receivers -}}
255+ core.PuregoSafeRegister(&x{{$cls.Name}}{{.Name}}, lib, "{{.CName}}")
256+ {{end}}
257+ {{end}}
258+ {{range .Interfaces -}}
259+ {{range .Methods -}}
260+ core.PuregoSafeRegister(&{{.Namespace}}X{{.FullName}}, lib, "{{.CName}}")
261+ {{end}}
262+ {{end}}
263+}
264+{{end}}
A templates/gobject +94 -0
@@ -0,0 +1,94 @@
1+package gobject
2+
3+import (
4+ "os"
5+ "reflect"
6+
7+ "github.com/jwijenbergh/purego"
8+ "github.com/jwijenbergh/puregotk/internal/core"
9+)
10+
11+type Ptr interface {
12+ GoPointer() uintptr
13+ SetGoPointer(uintptr)
14+}
15+
16+func ConvertPtr(a interface{}) *uintptr {
17+ if a == nil || (reflect.ValueOf(a).Kind() == reflect.Ptr && reflect.ValueOf(a).IsNil()) {
18+ return nil
19+ }
20+ ptr := reflect.ValueOf(a).Elem()
21+ v, ok := ptr.Interface().(Ptr);
22+ if !ok {
23+ panic("not valid")
24+ }
25+ g := v.GoPointer()
26+ return &g
27+}
28+
29+func IncreaseRef(a uintptr) {
30+ xObjectRefSink(a)
31+}
32+
33+func ObjectConnect(a uintptr, b string, c ...interface{}) uintptr {
34+ return xObjectConnect(a, b, c...)
35+}
36+
37+func (o Object) Cast(v Ptr) {
38+ v.SetGoPointer(o.GoPointer())
39+}
40+
41+// NewCallback is an alias to purego.NewCallback
42+func NewCallback(fn interface{}) uintptr {
43+ return purego.NewCallback(fn)
44+}
45+
46+// types
47+const (
48+ TypeInvalidVal Type = 0
49+ TypeNoneVal = 1 << 2
50+ TypeInterfaceVal = 2 << 2
51+ TypeCharVal = 3 << 2
52+ TypeUcharVal = 4 << 2
53+ TypeBooleanVal = 5 << 2
54+ TypeIntVal = 6 << 2
55+ TypeUintVal = 7 << 2
56+ TypeLongVal = 8 << 2
57+ TypeUlongVal = 9 << 2
58+ TypeInt64Val = 10 << 2
59+ TypeUint64Val = 11 << 2
60+ TypeEnumVal = 12 << 2
61+ TypeFlagsVal = 13 << 2
62+ TypeFloatVal = 14 << 2
63+ TypeDoubleVal = 15 << 2
64+ TypeStringVal = 16 << 2
65+ TypePointerVal = 17 << 2
66+ TypeBoxedVal = 18 << 2
67+ TypeParamVal = 19 << 2
68+ TypeObjectVal = 20 << 2
69+ TypeReservedGLibLastVal = 31 << 2
70+ TypeReservedBseFirstVal = 32 << 2
71+ TypeReservedBseLastVal = 48 << 2
72+ TypeReservedUserFirstVal = 49 << 2
73+)
74+
75+var xValueDupString func(*Value) string
76+
77+func (v *Value) String() string {
78+ return xValueDupString(v)
79+}
80+
81+var xValueGetInt func(*Value) int
82+
83+func (v *Value) Int() int {
84+ return xValueGetInt(v)
85+}
86+
87+func init() {
88+ lib, err := purego.Dlopen(os.Getenv("PUREGOTK_GTK_PATH"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
89+ if err != nil {
90+ panic(err)
91+ }
92+ core.PuregoSafeRegister(&xValueDupString, lib, "g_value_dup_string")
93+ core.PuregoSafeRegister(&xValueGetInt, lib, "g_value_get_int")
94+}
A v4/adw/adw-about-window.go +1220 -0
@@ -0,0 +1,1220 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gsk"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type AboutWindowClass struct {
14+ ParentClass uintptr
15+}
16+
17+var xShowAboutWindow func(uintptr, string, ...interface{})
18+
19+// A convenience function for showing an application’s about window.
20+func ShowAboutWindow(ParentVar *gtk.Window, FirstPropertyNameVar string, varArgs ...interface{}) {
21+
22+ xShowAboutWindow(ParentVar.GoPointer(), FirstPropertyNameVar, varArgs...)
23+
24+}
25+
26+// A window showing information about the application.
27+//
28+// &lt;picture&gt;
29+//
30+// &lt;source srcset="about-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
31+// &lt;img src="about-window.png" alt="about-window"&gt;
32+//
33+// &lt;/picture&gt;
34+//
35+// An about window is typically opened when the user activates the `About …`
36+// item in the application's primary menu. All parts of the window are optional.
37+//
38+// ## Main page
39+//
40+// `AdwAboutWindow` prominently displays the application's icon, name, developer
41+// name and version. They can be set with the [property@AboutWindow:application-icon],
42+// [property@AboutWindow:application-name],
43+// [property@AboutWindow:developer-name] and [property@AboutWindow:version]
44+// respectively.
45+//
46+// ## What's New
47+//
48+// `AdwAboutWindow` provides a way for applications to display their release
49+// notes, set with the [property@AboutWindow:release-notes] property.
50+//
51+// Release notes are formatted the same way as
52+// [AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
53+//
54+// The supported formatting options are:
55+//
56+// * Paragraph (`&lt;p&gt;`)
57+// * Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
58+// * Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
59+//
60+// Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
61+// (`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
62+// while inline code is shown in a monospaced font.
63+//
64+// Any text outside paragraphs or list items is ignored.
65+//
66+// Nested lists are not supported.
67+//
68+// Only one version can be shown at a time. By default, the displayed version
69+// number matches [property@AboutWindow:version]. Use
70+// [property@AboutWindow:release-notes-version] to override it.
71+//
72+// ## Details
73+//
74+// The Details page displays the application comments and links.
75+//
76+// The comments can be set with the [property@AboutWindow:comments] property.
77+// Unlike [property@Gtk.AboutDialog:comments], this string can be long and
78+// detailed. It can also contain links and Pango markup.
79+//
80+// To set the application website, use [property@AboutWindow:website].
81+// To add extra links below the website, use [method@AboutWindow.add_link].
82+//
83+// If the Details page doesn't have any other content besides website, the
84+// website will be displayed on the main page instead.
85+//
86+// ## Troubleshooting
87+//
88+// `AdwAboutWindow` displays the following two links on the main page:
89+//
90+// * Support Questions, set with the [property@AboutWindow:support-url] property,
91+// * Report an Issue, set with the [property@AboutWindow:issue-url] property.
92+//
93+// Additionally, applications can provide debugging information. It will be
94+// shown separately on the Troubleshooting page. Use the
95+// [property@AboutWindow:debug-info] property to specify it.
96+//
97+// It's intended to be attached to issue reports when reporting issues against
98+// the application. As such, it cannot contain markup or links.
99+//
100+// `AdwAboutWindow` provides a quick way to save debug information to a file.
101+// When saving, [property@AboutWindow:debug-info-filename] would be used as
102+// the suggested filename.
103+//
104+// ## Credits and Acknowledgements
105+//
106+// The Credits page has the following default sections:
107+//
108+// * Developers, set with the [property@AboutWindow:developers] property,
109+// * Designers, set with the [property@AboutWindow:designers] property,
110+// * Artists, set with the [property@AboutWindow:artists] property,
111+// * Documenters, set with the [property@AboutWindow:documenters] property,
112+// * Translators, set with the [property@AboutWindow:translator-credits] property.
113+//
114+// When setting translator credits, use the strings `"translator-credits"` or
115+// `"translator_credits"` and mark them as translatable.
116+//
117+// The default sections that don't contain any names won't be displayed.
118+//
119+// The Credits page can also contain an arbitrary number of extra sections below
120+// the default ones. Use [method@AboutWindow.add_credit_section] to add them.
121+//
122+// The Acknowledgements page can be used to acknowledge additional people and
123+// organizations for their non-development contributions. Use
124+// [method@AboutWindow.add_acknowledgement_section] to add sections to it. For
125+// example, it can be used to list backers in a crowdfunded project or to give
126+// special thanks.
127+//
128+// Each of the people or organizations can have an email address or a website
129+// specified. To add a email address, use a string like
130+// `Edgar Allan Poe &lt;edgar@poe.com&gt;`. To specify a website with a title, use a
131+// string like `The GNOME Project https://www.gnome.org`:
132+//
133+// &lt;picture&gt;
134+//
135+// &lt;source srcset="about-window-credits-dark.png" media="(prefers-color-scheme: dark)"&gt;
136+// &lt;img src="about-window-credits.png" alt="about-window-credits"&gt;
137+//
138+// &lt;/picture&gt;
139+//
140+// ## Legal
141+//
142+// The Legal page displays the copyright and licensing information for the
143+// application and other modules.
144+//
145+// The copyright string is set with the [property@AboutWindow:copyright]
146+// property and should be a short string of one or two lines, for example:
147+// `© 2022 Example`.
148+//
149+// Licensing information can be quickly set from a list of known licenses with
150+// the [property@AboutWindow:license-type] property. If the application's
151+// license is not in the list, [property@AboutWindow:license] can be used
152+// instead.
153+//
154+// To add information about other modules, such as application dependencies or
155+// data, use [method@AboutWindow.add_legal_section].
156+//
157+// ## Constructing
158+//
159+// To make constructing an `AdwAboutWindow` as convenient as possible, you can
160+// use the function [func@show_about_window] which constructs and shows a
161+// window.
162+//
163+// ```c
164+// static void
165+// show_about (GtkApplication *app)
166+//
167+// {
168+// const char *developers[] = {
169+// "Angela Avery",
170+// NULL
171+// };
172+//
173+// const char *designers[] = {
174+// "GNOME Design Team",
175+// NULL
176+// };
177+//
178+// adw_show_about_window (gtk_application_get_active_window (app),
179+// "application-name", _("Example"),
180+// "application-icon", "org.example.App",
181+// "version", "1.2.3",
182+// "copyright", "© 2022 Angela Avery",
183+// "issue-url", "https://gitlab.gnome.org/example/example/-/issues/new",
184+// "license-type", GTK_LICENSE_GPL_3_0,
185+// "developers", developers,
186+// "designers", designers,
187+// "translator-credits", _("translator-credits"),
188+// NULL);
189+// }
190+//
191+// ```
192+//
193+// ## CSS nodes
194+//
195+// `AdwAboutWindow` has a main CSS node with the name `window` and the
196+// style class `.about`.
197+type AboutWindow struct {
198+ Window
199+}
200+
201+func AboutWindowNewFromInternalPtr(ptr uintptr) *AboutWindow {
202+ cls := &AboutWindow{}
203+ cls.Ptr = ptr
204+ return cls
205+}
206+
207+var xNewAboutWindow func() uintptr
208+
209+// Creates a new `AdwAboutWindow`.
210+func NewAboutWindow() *gtk.Widget {
211+ NewAboutWindowPtr := xNewAboutWindow()
212+ if NewAboutWindowPtr == 0 {
213+ return nil
214+ }
215+
216+ gobject.IncreaseRef(NewAboutWindowPtr)
217+
218+ NewAboutWindowCls := &gtk.Widget{}
219+ NewAboutWindowCls.Ptr = NewAboutWindowPtr
220+ return NewAboutWindowCls
221+}
222+
223+var xAboutWindowAddAcknowledgementSection func(uintptr, string, uintptr)
224+
225+// Adds a section to the Acknowledgements page.
226+//
227+// This can be used to acknowledge additional people and organizations for their
228+// non-development contributions - for example, backers in a crowdfunded
229+// project.
230+//
231+// Each name may contain email addresses and URLs, see the introduction for more
232+// details.
233+//
234+// See also:
235+//
236+// * [property@AboutWindow:developers]
237+// * [property@AboutWindow:designers]
238+// * [property@AboutWindow:artists]
239+// * [property@AboutWindow:documenters]
240+// * [property@AboutWindow:translator-credits]
241+// * [method@AboutWindow.add_credit_section]
242+func (x *AboutWindow) AddAcknowledgementSection(NameVar string, PeopleVar uintptr) {
243+
244+ xAboutWindowAddAcknowledgementSection(x.GoPointer(), NameVar, PeopleVar)
245+
246+}
247+
248+var xAboutWindowAddCreditSection func(uintptr, string, uintptr)
249+
250+// Adds an extra section to the Credits page.
251+//
252+// Extra sections are displayed below the standard categories.
253+//
254+// Each name may contain email addresses and URLs, see the introduction for more
255+// details.
256+//
257+// See also:
258+//
259+// * [property@AboutWindow:developers]
260+// * [property@AboutWindow:designers]
261+// * [property@AboutWindow:artists]
262+// * [property@AboutWindow:documenters]
263+// * [property@AboutWindow:translator-credits]
264+// * [method@AboutWindow.add_acknowledgement_section]
265+func (x *AboutWindow) AddCreditSection(NameVar string, PeopleVar uintptr) {
266+
267+ xAboutWindowAddCreditSection(x.GoPointer(), NameVar, PeopleVar)
268+
269+}
270+
271+var xAboutWindowAddLegalSection func(uintptr, string, string, gtk.License, string)
272+
273+// Adds an extra section to the Legal page.
274+//
275+// Extra sections will be displayed below the application's own information.
276+//
277+// The parameters @copyright, @license_type and @license will be used to present
278+// the it the same way as [property@AboutWindow:copyright],
279+// [property@AboutWindow:license-type] and [property@AboutWindow:license] are
280+// for the application's own information.
281+//
282+// See those properties for more details.
283+//
284+// This can be useful to attribute the application dependencies or data.
285+//
286+// Examples:
287+//
288+// ```c
289+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
290+//
291+// _("Copyright and a known license"),
292+// "© 2022 Example",
293+// GTK_LICENSE_LGPL_2_1,
294+// NULL);
295+//
296+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
297+//
298+// _("Copyright and custom license"),
299+// "© 2022 Example",
300+// GTK_LICENSE_CUSTOM,
301+// "Custom license text");
302+//
303+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
304+//
305+// _("Copyright only"),
306+// "© 2022 Example",
307+// GTK_LICENSE_UNKNOWN,
308+// NULL);
309+//
310+// adw_about_window_add_legal_section (ADW_ABOUT_WINDOW (about),
311+//
312+// _("Custom license only"),
313+// NULL,
314+// GTK_LICENSE_CUSTOM,
315+// "Something completely custom here.");
316+//
317+// ```
318+func (x *AboutWindow) AddLegalSection(TitleVar string, CopyrightVar string, LicenseTypeVar gtk.License, LicenseVar string) {
319+
320+ xAboutWindowAddLegalSection(x.GoPointer(), TitleVar, CopyrightVar, LicenseTypeVar, LicenseVar)
321+
322+}
323+
324+var xAboutWindowAddLink func(uintptr, string, string)
325+
326+// Adds an extra link to the Details page.
327+//
328+// Extra links are displayed under the comment and website.
329+//
330+// Underlines in @title will be interpreted as indicating a mnemonic.
331+//
332+// See [property@AboutWindow:website].
333+func (x *AboutWindow) AddLink(TitleVar string, UrlVar string) {
334+
335+ xAboutWindowAddLink(x.GoPointer(), TitleVar, UrlVar)
336+
337+}
338+
339+var xAboutWindowGetApplicationIcon func(uintptr) string
340+
341+// Gets the name of the application icon for @self.
342+func (x *AboutWindow) GetApplicationIcon() string {
343+
344+ return xAboutWindowGetApplicationIcon(x.GoPointer())
345+
346+}
347+
348+var xAboutWindowGetApplicationName func(uintptr) string
349+
350+// Gets the application name for @self.
351+func (x *AboutWindow) GetApplicationName() string {
352+
353+ return xAboutWindowGetApplicationName(x.GoPointer())
354+
355+}
356+
357+var xAboutWindowGetArtists func(uintptr) uintptr
358+
359+// Gets the list of artists of the application.
360+func (x *AboutWindow) GetArtists() uintptr {
361+
362+ return xAboutWindowGetArtists(x.GoPointer())
363+
364+}
365+
366+var xAboutWindowGetComments func(uintptr) string
367+
368+// Gets the comments about the application.
369+func (x *AboutWindow) GetComments() string {
370+
371+ return xAboutWindowGetComments(x.GoPointer())
372+
373+}
374+
375+var xAboutWindowGetCopyright func(uintptr) string
376+
377+// Gets the copyright information for @self.
378+func (x *AboutWindow) GetCopyright() string {
379+
380+ return xAboutWindowGetCopyright(x.GoPointer())
381+
382+}
383+
384+var xAboutWindowGetDebugInfo func(uintptr) string
385+
386+// Gets the debug information for @self.
387+func (x *AboutWindow) GetDebugInfo() string {
388+
389+ return xAboutWindowGetDebugInfo(x.GoPointer())
390+
391+}
392+
393+var xAboutWindowGetDebugInfoFilename func(uintptr) string
394+
395+// Gets the debug information filename for @self.
396+func (x *AboutWindow) GetDebugInfoFilename() string {
397+
398+ return xAboutWindowGetDebugInfoFilename(x.GoPointer())
399+
400+}
401+
402+var xAboutWindowGetDesigners func(uintptr) uintptr
403+
404+// Gets the list of designers of the application.
405+func (x *AboutWindow) GetDesigners() uintptr {
406+
407+ return xAboutWindowGetDesigners(x.GoPointer())
408+
409+}
410+
411+var xAboutWindowGetDeveloperName func(uintptr) string
412+
413+// Gets the developer name for @self.
414+func (x *AboutWindow) GetDeveloperName() string {
415+
416+ return xAboutWindowGetDeveloperName(x.GoPointer())
417+
418+}
419+
420+var xAboutWindowGetDevelopers func(uintptr) uintptr
421+
422+// Gets the list of developers of the application.
423+func (x *AboutWindow) GetDevelopers() uintptr {
424+
425+ return xAboutWindowGetDevelopers(x.GoPointer())
426+
427+}
428+
429+var xAboutWindowGetDocumenters func(uintptr) uintptr
430+
431+// Gets the list of documenters of the application.
432+func (x *AboutWindow) GetDocumenters() uintptr {
433+
434+ return xAboutWindowGetDocumenters(x.GoPointer())
435+
436+}
437+
438+var xAboutWindowGetIssueUrl func(uintptr) string
439+
440+// Gets the issue tracker URL for @self.
441+func (x *AboutWindow) GetIssueUrl() string {
442+
443+ return xAboutWindowGetIssueUrl(x.GoPointer())
444+
445+}
446+
447+var xAboutWindowGetLicense func(uintptr) string
448+
449+// Gets the license for @self.
450+func (x *AboutWindow) GetLicense() string {
451+
452+ return xAboutWindowGetLicense(x.GoPointer())
453+
454+}
455+
456+var xAboutWindowGetLicenseType func(uintptr) gtk.License
457+
458+// Gets the license type for @self.
459+func (x *AboutWindow) GetLicenseType() gtk.License {
460+
461+ return xAboutWindowGetLicenseType(x.GoPointer())
462+
463+}
464+
465+var xAboutWindowGetReleaseNotes func(uintptr) string
466+
467+// Gets the release notes for @self.
468+func (x *AboutWindow) GetReleaseNotes() string {
469+
470+ return xAboutWindowGetReleaseNotes(x.GoPointer())
471+
472+}
473+
474+var xAboutWindowGetReleaseNotesVersion func(uintptr) string
475+
476+// Gets the version described by the application's release notes.
477+func (x *AboutWindow) GetReleaseNotesVersion() string {
478+
479+ return xAboutWindowGetReleaseNotesVersion(x.GoPointer())
480+
481+}
482+
483+var xAboutWindowGetSupportUrl func(uintptr) string
484+
485+// Gets the URL of the support page for @self.
486+func (x *AboutWindow) GetSupportUrl() string {
487+
488+ return xAboutWindowGetSupportUrl(x.GoPointer())
489+
490+}
491+
492+var xAboutWindowGetTranslatorCredits func(uintptr) string
493+
494+// Gets the translator credits string.
495+func (x *AboutWindow) GetTranslatorCredits() string {
496+
497+ return xAboutWindowGetTranslatorCredits(x.GoPointer())
498+
499+}
500+
501+var xAboutWindowGetVersion func(uintptr) string
502+
503+// Gets the version for @self.
504+func (x *AboutWindow) GetVersion() string {
505+
506+ return xAboutWindowGetVersion(x.GoPointer())
507+
508+}
509+
510+var xAboutWindowGetWebsite func(uintptr) string
511+
512+// Gets the application website URL for @self.
513+func (x *AboutWindow) GetWebsite() string {
514+
515+ return xAboutWindowGetWebsite(x.GoPointer())
516+
517+}
518+
519+var xAboutWindowSetApplicationIcon func(uintptr, string)
520+
521+// Sets the name of the application icon for @self.
522+//
523+// The icon is displayed at the top of the main page.
524+func (x *AboutWindow) SetApplicationIcon(ApplicationIconVar string) {
525+
526+ xAboutWindowSetApplicationIcon(x.GoPointer(), ApplicationIconVar)
527+
528+}
529+
530+var xAboutWindowSetApplicationName func(uintptr, string)
531+
532+// Sets the application name for @self.
533+//
534+// The name is displayed at the top of the main page.
535+func (x *AboutWindow) SetApplicationName(ApplicationNameVar string) {
536+
537+ xAboutWindowSetApplicationName(x.GoPointer(), ApplicationNameVar)
538+
539+}
540+
541+var xAboutWindowSetArtists func(uintptr, uintptr)
542+
543+// Sets the list of artists of the application.
544+//
545+// It will be displayed on the Credits page.
546+//
547+// Each name may contain email addresses and URLs, see the introduction for more
548+// details.
549+//
550+// See also:
551+//
552+// * [property@AboutWindow:developers]
553+// * [property@AboutWindow:designers]
554+// * [property@AboutWindow:documenters]
555+// * [property@AboutWindow:translator-credits]
556+// * [method@AboutWindow.add_credit_section]
557+// * [method@AboutWindow.add_acknowledgement_section]
558+func (x *AboutWindow) SetArtists(ArtistsVar uintptr) {
559+
560+ xAboutWindowSetArtists(x.GoPointer(), ArtistsVar)
561+
562+}
563+
564+var xAboutWindowSetComments func(uintptr, string)
565+
566+// Sets the comments about the application.
567+//
568+// Comments will be shown on the Details page, above links.
569+//
570+// Unlike [property@Gtk.AboutDialog:comments], this string can be long and
571+// detailed. It can also contain links and Pango markup.
572+func (x *AboutWindow) SetComments(CommentsVar string) {
573+
574+ xAboutWindowSetComments(x.GoPointer(), CommentsVar)
575+
576+}
577+
578+var xAboutWindowSetCopyright func(uintptr, string)
579+
580+// Sets the copyright information for @self.
581+//
582+// This should be a short string of one or two lines, for example:
583+// `© 2022 Example`.
584+//
585+// The copyright information will be displayed on the Legal page, before the
586+// application license.
587+//
588+// [method@AboutWindow.add_legal_section] can be used to add copyright
589+// information for the application dependencies or other components.
590+func (x *AboutWindow) SetCopyright(CopyrightVar string) {
591+
592+ xAboutWindowSetCopyright(x.GoPointer(), CopyrightVar)
593+
594+}
595+
596+var xAboutWindowSetDebugInfo func(uintptr, string)
597+
598+// Sets the debug information for @self.
599+//
600+// Debug information will be shown on the Troubleshooting page. It's intended
601+// to be attached to issue reports when reporting issues against the
602+// application.
603+//
604+// `AdwAboutWindow` provides a quick way to save debug information to a file.
605+// When saving, [property@AboutWindow:debug-info-filename] would be used as
606+// the suggested filename.
607+//
608+// Debug information cannot contain markup or links.
609+func (x *AboutWindow) SetDebugInfo(DebugInfoVar string) {
610+
611+ xAboutWindowSetDebugInfo(x.GoPointer(), DebugInfoVar)
612+
613+}
614+
615+var xAboutWindowSetDebugInfoFilename func(uintptr, string)
616+
617+// Sets the debug information filename for @self.
618+//
619+// It will be used as the suggested filename when saving debug information to a
620+// file.
621+//
622+// See [property@AboutWindow:debug-info].
623+func (x *AboutWindow) SetDebugInfoFilename(FilenameVar string) {
624+
625+ xAboutWindowSetDebugInfoFilename(x.GoPointer(), FilenameVar)
626+
627+}
628+
629+var xAboutWindowSetDesigners func(uintptr, uintptr)
630+
631+// Sets the list of designers of the application.
632+//
633+// It will be displayed on the Credits page.
634+//
635+// Each name may contain email addresses and URLs, see the introduction for more
636+// details.
637+//
638+// See also:
639+//
640+// * [property@AboutWindow:developers]
641+// * [property@AboutWindow:artists]
642+// * [property@AboutWindow:documenters]
643+// * [property@AboutWindow:translator-credits]
644+// * [method@AboutWindow.add_credit_section]
645+// * [method@AboutWindow.add_acknowledgement_section]
646+func (x *AboutWindow) SetDesigners(DesignersVar uintptr) {
647+
648+ xAboutWindowSetDesigners(x.GoPointer(), DesignersVar)
649+
650+}
651+
652+var xAboutWindowSetDeveloperName func(uintptr, string)
653+
654+// Sets the developer name for @self.
655+//
656+// The developer name is displayed on the main page, under the application name.
657+//
658+// If the application is developed by multiple people, the developer name can be
659+// set to values like "AppName team", "AppName developers" or
660+// "The AppName project", and the individual contributors can be listed on the
661+// Credits page, with [property@AboutWindow:developers] and related properties.
662+func (x *AboutWindow) SetDeveloperName(DeveloperNameVar string) {
663+
664+ xAboutWindowSetDeveloperName(x.GoPointer(), DeveloperNameVar)
665+
666+}
667+
668+var xAboutWindowSetDevelopers func(uintptr, uintptr)
669+
670+// Sets the list of developers of the application.
671+//
672+// It will be displayed on the Credits page.
673+//
674+// Each name may contain email addresses and URLs, see the introduction for more
675+// details.
676+//
677+// See also:
678+//
679+// * [property@AboutWindow:designers]
680+// * [property@AboutWindow:artists]
681+// * [property@AboutWindow:documenters]
682+// * [property@AboutWindow:translator-credits]
683+// * [method@AboutWindow.add_credit_section]
684+// * [method@AboutWindow.add_acknowledgement_section]
685+func (x *AboutWindow) SetDevelopers(DevelopersVar uintptr) {
686+
687+ xAboutWindowSetDevelopers(x.GoPointer(), DevelopersVar)
688+
689+}
690+
691+var xAboutWindowSetDocumenters func(uintptr, uintptr)
692+
693+// Sets the list of documenters of the application.
694+//
695+// It will be displayed on the Credits page.
696+//
697+// Each name may contain email addresses and URLs, see the introduction for more
698+// details.
699+//
700+// See also:
701+//
702+// * [property@AboutWindow:developers]
703+// * [property@AboutWindow:designers]
704+// * [property@AboutWindow:artists]
705+// * [property@AboutWindow:translator-credits]
706+// * [method@AboutWindow.add_credit_section]
707+// * [method@AboutWindow.add_acknowledgement_section]
708+func (x *AboutWindow) SetDocumenters(DocumentersVar uintptr) {
709+
710+ xAboutWindowSetDocumenters(x.GoPointer(), DocumentersVar)
711+
712+}
713+
714+var xAboutWindowSetIssueUrl func(uintptr, string)
715+
716+// Sets the issue tracker URL for @self.
717+//
718+// The issue tracker link is displayed on the main page.
719+func (x *AboutWindow) SetIssueUrl(IssueUrlVar string) {
720+
721+ xAboutWindowSetIssueUrl(x.GoPointer(), IssueUrlVar)
722+
723+}
724+
725+var xAboutWindowSetLicense func(uintptr, string)
726+
727+// Sets the license for @self.
728+//
729+// This can be used to set a custom text for the license if it can't be set via
730+// [property@AboutWindow:license-type].
731+//
732+// When set, [property@AboutWindow:license-type] will be set to
733+// `GTK_LICENSE_CUSTOM`.
734+//
735+// The license text will be displayed on the Legal page, below the copyright
736+// information.
737+//
738+// License text can contain Pango markup and links.
739+//
740+// [method@AboutWindow.add_legal_section] can be used to add license information
741+// for the application dependencies or other components.
742+func (x *AboutWindow) SetLicense(LicenseVar string) {
743+
744+ xAboutWindowSetLicense(x.GoPointer(), LicenseVar)
745+
746+}
747+
748+var xAboutWindowSetLicenseType func(uintptr, gtk.License)
749+
750+// Sets the license for @self from a list of known licenses.
751+//
752+// If the application's license is not in the list,
753+// [property@AboutWindow:license] can be used instead. The license type will be
754+// automatically set to `GTK_LICENSE_CUSTOM` in that case.
755+//
756+// If @license_type is `GTK_LICENSE_UNKNOWN`, no information will be displayed.
757+//
758+// If @license_type is different from `GTK_LICENSE_CUSTOM`.
759+// [property@AboutWindow:license] will be cleared out.
760+//
761+// The license description will be displayed on the Legal page, below the
762+// copyright information.
763+//
764+// [method@AboutWindow.add_legal_section] can be used to add license information
765+// for the application dependencies or other components.
766+func (x *AboutWindow) SetLicenseType(LicenseTypeVar gtk.License) {
767+
768+ xAboutWindowSetLicenseType(x.GoPointer(), LicenseTypeVar)
769+
770+}
771+
772+var xAboutWindowSetReleaseNotes func(uintptr, string)
773+
774+// Sets the release notes for @self.
775+//
776+// Release notes are displayed on the the What's New page.
777+//
778+// Release notes are formatted the same way as
779+// [AppStream descriptions](https://freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description).
780+//
781+// The supported formatting options are:
782+//
783+// * Paragraph (`&lt;p&gt;`)
784+// * Ordered list (`&lt;ol&gt;`), with list items (`&lt;li&gt;`)
785+// * Unordered list (`&lt;ul&gt;`), with list items (`&lt;li&gt;`)
786+//
787+// Within paragraphs and list items, emphasis (`&lt;em&gt;`) and inline code
788+// (`&lt;code&gt;`) text styles are supported. The emphasis is rendered in italic,
789+// while inline code is shown in a monospaced font.
790+//
791+// Any text outside paragraphs or list items is ignored.
792+//
793+// Nested lists are not supported.
794+//
795+// `AdwAboutWindow` displays the version above the release notes. If set, the
796+// [property@AboutWindow:release-notes-version] of the property will be used
797+// as the version; otherwise, [property@AboutWindow:version] is used.
798+func (x *AboutWindow) SetReleaseNotes(ReleaseNotesVar string) {
799+
800+ xAboutWindowSetReleaseNotes(x.GoPointer(), ReleaseNotesVar)
801+
802+}
803+
804+var xAboutWindowSetReleaseNotesVersion func(uintptr, string)
805+
806+// Sets the version described by the application's release notes.
807+//
808+// The release notes version is displayed on the What's New page, above the
809+// release notes.
810+//
811+// If not set, [property@AboutWindow:version] will be used instead.
812+//
813+// For example, an application with the current version 2.0.2 might want to
814+// keep the release notes from 2.0.0, and set the release notes version
815+// accordingly.
816+//
817+// See [property@AboutWindow:release-notes].
818+func (x *AboutWindow) SetReleaseNotesVersion(VersionVar string) {
819+
820+ xAboutWindowSetReleaseNotesVersion(x.GoPointer(), VersionVar)
821+
822+}
823+
824+var xAboutWindowSetSupportUrl func(uintptr, string)
825+
826+// Sets the URL of the support page for @self.
827+//
828+// The support page link is displayed on the main page.
829+func (x *AboutWindow) SetSupportUrl(SupportUrlVar string) {
830+
831+ xAboutWindowSetSupportUrl(x.GoPointer(), SupportUrlVar)
832+
833+}
834+
835+var xAboutWindowSetTranslatorCredits func(uintptr, string)
836+
837+// Sets the translator credits string.
838+//
839+// It will be displayed on the Credits page.
840+//
841+// This string should be `"translator-credits"` or `"translator_credits"` and
842+// should be marked as translatable.
843+//
844+// The string may contain email addresses and URLs, see the introduction for
845+// more details.
846+//
847+// See also:
848+//
849+// * [property@AboutWindow:developers]
850+// * [property@AboutWindow:designers]
851+// * [property@AboutWindow:artists]
852+// * [property@AboutWindow:documenters]
853+// * [method@AboutWindow.add_credit_section]
854+// * [method@AboutWindow.add_acknowledgement_section]
855+func (x *AboutWindow) SetTranslatorCredits(TranslatorCreditsVar string) {
856+
857+ xAboutWindowSetTranslatorCredits(x.GoPointer(), TranslatorCreditsVar)
858+
859+}
860+
861+var xAboutWindowSetVersion func(uintptr, string)
862+
863+// Sets the version for @self.
864+//
865+// The version is displayed on the main page.
866+//
867+// If [property@AboutWindow:release-notes-version] is not set, the version will
868+// also be displayed above the release notes on the What's New page.
869+func (x *AboutWindow) SetVersion(VersionVar string) {
870+
871+ xAboutWindowSetVersion(x.GoPointer(), VersionVar)
872+
873+}
874+
875+var xAboutWindowSetWebsite func(uintptr, string)
876+
877+// Sets the application website URL for @self.
878+//
879+// Website is displayed on the Details page, below comments, or on the main page
880+// if the Details page doesn't have any other content.
881+//
882+// Applications can add other links below, see [method@AboutWindow.add_link].
883+func (x *AboutWindow) SetWebsite(WebsiteVar string) {
884+
885+ xAboutWindowSetWebsite(x.GoPointer(), WebsiteVar)
886+
887+}
888+
889+func (c *AboutWindow) GoPointer() uintptr {
890+ return c.Ptr
891+}
892+
893+func (c *AboutWindow) SetGoPointer(ptr uintptr) {
894+ c.Ptr = ptr
895+}
896+
897+// Emitted when a URL is activated.
898+//
899+// Applications may connect to it to override the default behavior, which is
900+// to call [func@Gtk.show_uri].
901+func (x *AboutWindow) ConnectActivateLink(cb func(AboutWindow, string) bool) {
902+ fcb := func(clsPtr uintptr, UriVarp string) bool {
903+ fa := AboutWindow{}
904+ fa.Ptr = clsPtr
905+
906+ return cb(fa, UriVarp)
907+
908+ }
909+ gobject.ObjectConnect(x.GoPointer(), "signal::activate-link", purego.NewCallback(fcb))
910+}
911+
912+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
913+func (x *AboutWindow) GetAccessibleRole() gtk.AccessibleRole {
914+
915+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
916+
917+}
918+
919+// Resets the accessible @property to its default value.
920+func (x *AboutWindow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
921+
922+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
923+
924+}
925+
926+// Resets the accessible @relation to its default value.
927+func (x *AboutWindow) ResetRelation(RelationVar gtk.AccessibleRelation) {
928+
929+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
930+
931+}
932+
933+// Resets the accessible @state to its default value.
934+func (x *AboutWindow) ResetState(StateVar gtk.AccessibleState) {
935+
936+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
937+
938+}
939+
940+// Updates a list of accessible properties.
941+//
942+// See the [enum@Gtk.AccessibleProperty] documentation for the
943+// value types of accessible properties.
944+//
945+// This function should be called by `GtkWidget` types whenever
946+// an accessible property change must be communicated to assistive
947+// technologies.
948+//
949+// Example:
950+// ```c
951+// value = gtk_adjustment_get_value (adjustment);
952+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
953+//
954+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
955+// -1);
956+//
957+// ```
958+func (x *AboutWindow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
959+
960+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
961+
962+}
963+
964+// Updates an array of accessible properties.
965+//
966+// This function should be called by `GtkWidget` types whenever an accessible
967+// property change must be communicated to assistive technologies.
968+//
969+// This function is meant to be used by language bindings.
970+func (x *AboutWindow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
971+
972+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
973+
974+}
975+
976+// Updates a list of accessible relations.
977+//
978+// This function should be called by `GtkWidget` types whenever an accessible
979+// relation change must be communicated to assistive technologies.
980+//
981+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
982+// you should pass each reference individually, followed by %NULL, e.g.
983+//
984+// ```c
985+// gtk_accessible_update_relation (accessible,
986+//
987+// GTK_ACCESSIBLE_RELATION_CONTROLS,
988+// ref1, NULL,
989+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
990+// ref1, ref2, ref3, NULL,
991+// -1);
992+//
993+// ```
994+func (x *AboutWindow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
995+
996+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
997+
998+}
999+
1000+// Updates an array of accessible relations.
1001+//
1002+// This function should be called by `GtkWidget` types whenever an accessible
1003+// relation change must be communicated to assistive technologies.
1004+//
1005+// This function is meant to be used by language bindings.
1006+func (x *AboutWindow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
1007+
1008+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
1009+
1010+}
1011+
1012+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
1013+// documentation for the value types of accessible states.
1014+//
1015+// This function should be called by `GtkWidget` types whenever an accessible
1016+// state change must be communicated to assistive technologies.
1017+//
1018+// Example:
1019+// ```c
1020+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
1021+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
1022+//
1023+// GTK_ACCESSIBLE_STATE_CHECKED, value,
1024+// -1);
1025+//
1026+// ```
1027+func (x *AboutWindow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
1028+
1029+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
1030+
1031+}
1032+
1033+// Updates an array of accessible states.
1034+//
1035+// This function should be called by `GtkWidget` types whenever an accessible
1036+// state change must be communicated to assistive technologies.
1037+//
1038+// This function is meant to be used by language bindings.
1039+func (x *AboutWindow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
1040+
1041+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
1042+
1043+}
1044+
1045+// Gets the ID of the @buildable object.
1046+//
1047+// `GtkBuilder` sets the name based on the ID attribute
1048+// of the &lt;object&gt; tag used to construct the @buildable.
1049+func (x *AboutWindow) GetBuildableId() string {
1050+
1051+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
1052+
1053+}
1054+
1055+// Returns the renderer that is used for this `GtkNative`.
1056+func (x *AboutWindow) GetRenderer() *gsk.Renderer {
1057+
1058+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
1059+ if GetRendererPtr == 0 {
1060+ return nil
1061+ }
1062+
1063+ gobject.IncreaseRef(GetRendererPtr)
1064+
1065+ GetRendererCls := &gsk.Renderer{}
1066+ GetRendererCls.Ptr = GetRendererPtr
1067+ return GetRendererCls
1068+
1069+}
1070+
1071+// Returns the surface of this `GtkNative`.
1072+func (x *AboutWindow) GetSurface() *gdk.Surface {
1073+
1074+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
1075+ if GetSurfacePtr == 0 {
1076+ return nil
1077+ }
1078+
1079+ gobject.IncreaseRef(GetSurfacePtr)
1080+
1081+ GetSurfaceCls := &gdk.Surface{}
1082+ GetSurfaceCls.Ptr = GetSurfacePtr
1083+ return GetSurfaceCls
1084+
1085+}
1086+
1087+// Retrieves the surface transform of @self.
1088+//
1089+// This is the translation from @self's surface coordinates into
1090+// @self's widget coordinates.
1091+func (x *AboutWindow) GetSurfaceTransform(XVar float64, YVar float64) {
1092+
1093+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
1094+
1095+}
1096+
1097+// Realizes a `GtkNative`.
1098+//
1099+// This should only be used by subclasses.
1100+func (x *AboutWindow) Realize() {
1101+
1102+ gtk.XGtkNativeRealize(x.GoPointer())
1103+
1104+}
1105+
1106+// Unrealizes a `GtkNative`.
1107+//
1108+// This should only be used by subclasses.
1109+func (x *AboutWindow) Unrealize() {
1110+
1111+ gtk.XGtkNativeUnrealize(x.GoPointer())
1112+
1113+}
1114+
1115+// Returns the display that this `GtkRoot` is on.
1116+func (x *AboutWindow) GetDisplay() *gdk.Display {
1117+
1118+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
1119+ if GetDisplayPtr == 0 {
1120+ return nil
1121+ }
1122+
1123+ gobject.IncreaseRef(GetDisplayPtr)
1124+
1125+ GetDisplayCls := &gdk.Display{}
1126+ GetDisplayCls.Ptr = GetDisplayPtr
1127+ return GetDisplayCls
1128+
1129+}
1130+
1131+// Retrieves the current focused widget within the root.
1132+//
1133+// Note that this is the widget that would have the focus
1134+// if the root is active; if the root is not focused then
1135+// `gtk_widget_has_focus (widget)` will be %FALSE for the
1136+// widget.
1137+func (x *AboutWindow) GetFocus() *gtk.Widget {
1138+
1139+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
1140+ if GetFocusPtr == 0 {
1141+ return nil
1142+ }
1143+
1144+ gobject.IncreaseRef(GetFocusPtr)
1145+
1146+ GetFocusCls := &gtk.Widget{}
1147+ GetFocusCls.Ptr = GetFocusPtr
1148+ return GetFocusCls
1149+
1150+}
1151+
1152+// If @focus is not the current focus widget, and is focusable, sets
1153+// it as the focus widget for the root.
1154+//
1155+// If @focus is %NULL, unsets the focus widget for the root.
1156+//
1157+// To set the focus to a particular widget in the root, it is usually
1158+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
1159+// this function.
1160+func (x *AboutWindow) SetFocus(FocusVar *gtk.Widget) {
1161+
1162+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
1163+
1164+}
1165+
1166+func init() {
1167+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
1168+ if err != nil {
1169+ panic(err)
1170+ }
1171+ core.PuregoSafeRegister(&xShowAboutWindow, lib, "adw_show_about_window")
1172+
1173+ core.PuregoSafeRegister(&xNewAboutWindow, lib, "adw_about_window_new")
1174+
1175+ core.PuregoSafeRegister(&xAboutWindowAddAcknowledgementSection, lib, "adw_about_window_add_acknowledgement_section")
1176+ core.PuregoSafeRegister(&xAboutWindowAddCreditSection, lib, "adw_about_window_add_credit_section")
1177+ core.PuregoSafeRegister(&xAboutWindowAddLegalSection, lib, "adw_about_window_add_legal_section")
1178+ core.PuregoSafeRegister(&xAboutWindowAddLink, lib, "adw_about_window_add_link")
1179+ core.PuregoSafeRegister(&xAboutWindowGetApplicationIcon, lib, "adw_about_window_get_application_icon")
1180+ core.PuregoSafeRegister(&xAboutWindowGetApplicationName, lib, "adw_about_window_get_application_name")
1181+ core.PuregoSafeRegister(&xAboutWindowGetArtists, lib, "adw_about_window_get_artists")
1182+ core.PuregoSafeRegister(&xAboutWindowGetComments, lib, "adw_about_window_get_comments")
1183+ core.PuregoSafeRegister(&xAboutWindowGetCopyright, lib, "adw_about_window_get_copyright")
1184+ core.PuregoSafeRegister(&xAboutWindowGetDebugInfo, lib, "adw_about_window_get_debug_info")
1185+ core.PuregoSafeRegister(&xAboutWindowGetDebugInfoFilename, lib, "adw_about_window_get_debug_info_filename")
1186+ core.PuregoSafeRegister(&xAboutWindowGetDesigners, lib, "adw_about_window_get_designers")
1187+ core.PuregoSafeRegister(&xAboutWindowGetDeveloperName, lib, "adw_about_window_get_developer_name")
1188+ core.PuregoSafeRegister(&xAboutWindowGetDevelopers, lib, "adw_about_window_get_developers")
1189+ core.PuregoSafeRegister(&xAboutWindowGetDocumenters, lib, "adw_about_window_get_documenters")
1190+ core.PuregoSafeRegister(&xAboutWindowGetIssueUrl, lib, "adw_about_window_get_issue_url")
1191+ core.PuregoSafeRegister(&xAboutWindowGetLicense, lib, "adw_about_window_get_license")
1192+ core.PuregoSafeRegister(&xAboutWindowGetLicenseType, lib, "adw_about_window_get_license_type")
1193+ core.PuregoSafeRegister(&xAboutWindowGetReleaseNotes, lib, "adw_about_window_get_release_notes")
1194+ core.PuregoSafeRegister(&xAboutWindowGetReleaseNotesVersion, lib, "adw_about_window_get_release_notes_version")
1195+ core.PuregoSafeRegister(&xAboutWindowGetSupportUrl, lib, "adw_about_window_get_support_url")
1196+ core.PuregoSafeRegister(&xAboutWindowGetTranslatorCredits, lib, "adw_about_window_get_translator_credits")
1197+ core.PuregoSafeRegister(&xAboutWindowGetVersion, lib, "adw_about_window_get_version")
1198+ core.PuregoSafeRegister(&xAboutWindowGetWebsite, lib, "adw_about_window_get_website")
1199+ core.PuregoSafeRegister(&xAboutWindowSetApplicationIcon, lib, "adw_about_window_set_application_icon")
1200+ core.PuregoSafeRegister(&xAboutWindowSetApplicationName, lib, "adw_about_window_set_application_name")
1201+ core.PuregoSafeRegister(&xAboutWindowSetArtists, lib, "adw_about_window_set_artists")
1202+ core.PuregoSafeRegister(&xAboutWindowSetComments, lib, "adw_about_window_set_comments")
1203+ core.PuregoSafeRegister(&xAboutWindowSetCopyright, lib, "adw_about_window_set_copyright")
1204+ core.PuregoSafeRegister(&xAboutWindowSetDebugInfo, lib, "adw_about_window_set_debug_info")
1205+ core.PuregoSafeRegister(&xAboutWindowSetDebugInfoFilename, lib, "adw_about_window_set_debug_info_filename")
1206+ core.PuregoSafeRegister(&xAboutWindowSetDesigners, lib, "adw_about_window_set_designers")
1207+ core.PuregoSafeRegister(&xAboutWindowSetDeveloperName, lib, "adw_about_window_set_developer_name")
1208+ core.PuregoSafeRegister(&xAboutWindowSetDevelopers, lib, "adw_about_window_set_developers")
1209+ core.PuregoSafeRegister(&xAboutWindowSetDocumenters, lib, "adw_about_window_set_documenters")
1210+ core.PuregoSafeRegister(&xAboutWindowSetIssueUrl, lib, "adw_about_window_set_issue_url")
1211+ core.PuregoSafeRegister(&xAboutWindowSetLicense, lib, "adw_about_window_set_license")
1212+ core.PuregoSafeRegister(&xAboutWindowSetLicenseType, lib, "adw_about_window_set_license_type")
1213+ core.PuregoSafeRegister(&xAboutWindowSetReleaseNotes, lib, "adw_about_window_set_release_notes")
1214+ core.PuregoSafeRegister(&xAboutWindowSetReleaseNotesVersion, lib, "adw_about_window_set_release_notes_version")
1215+ core.PuregoSafeRegister(&xAboutWindowSetSupportUrl, lib, "adw_about_window_set_support_url")
1216+ core.PuregoSafeRegister(&xAboutWindowSetTranslatorCredits, lib, "adw_about_window_set_translator_credits")
1217+ core.PuregoSafeRegister(&xAboutWindowSetVersion, lib, "adw_about_window_set_version")
1218+ core.PuregoSafeRegister(&xAboutWindowSetWebsite, lib, "adw_about_window_set_website")
1219+
1220+}
A v4/adw/adw-action-row.go +524 -0
@@ -0,0 +1,524 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type ActionRowClass struct {
13+ ParentClass uintptr
14+
15+ Padding uintptr
16+}
17+
18+// A [class@Gtk.ListBoxRow] used to present actions.
19+//
20+// &lt;picture&gt;
21+//
22+// &lt;source srcset="action-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
23+// &lt;img src="action-row.png" alt="action-row"&gt;
24+//
25+// &lt;/picture&gt;
26+//
27+// The `AdwActionRow` widget can have a title, a subtitle and an icon. The row
28+// can receive additional widgets at its end, or prefix widgets at its start.
29+//
30+// It is convenient to present a preference and its related actions.
31+//
32+// `AdwActionRow` is unactivatable by default, giving it an activatable widget
33+// will automatically make it activatable, but unsetting it won't change the
34+// row's activatability.
35+//
36+// ## AdwActionRow as GtkBuildable
37+//
38+// The `AdwActionRow` implementation of the [iface@Gtk.Buildable] interface
39+// supports adding a child at its end by specifying “suffix” or omitting the
40+// “type” attribute of a &lt;child&gt; element.
41+//
42+// It also supports adding a child as a prefix widget by specifying “prefix” as
43+// the “type” attribute of a &lt;child&gt; element.
44+//
45+// ## CSS nodes
46+//
47+// `AdwActionRow` has a main CSS node with name `row`.
48+//
49+// It contains the subnode `box.header` for its main horizontal box, and
50+// `box.title` for the vertical box containing the title and subtitle labels.
51+//
52+// It contains subnodes `label.title` and `label.subtitle` representing
53+// respectively the title label and subtitle label.
54+type ActionRow struct {
55+ PreferencesRow
56+}
57+
58+func ActionRowNewFromInternalPtr(ptr uintptr) *ActionRow {
59+ cls := &ActionRow{}
60+ cls.Ptr = ptr
61+ return cls
62+}
63+
64+var xNewActionRow func() uintptr
65+
66+// Creates a new `AdwActionRow`.
67+func NewActionRow() *gtk.Widget {
68+ NewActionRowPtr := xNewActionRow()
69+ if NewActionRowPtr == 0 {
70+ return nil
71+ }
72+
73+ gobject.IncreaseRef(NewActionRowPtr)
74+
75+ NewActionRowCls := &gtk.Widget{}
76+ NewActionRowCls.Ptr = NewActionRowPtr
77+ return NewActionRowCls
78+}
79+
80+var xActionRowActivate func(uintptr)
81+
82+// Activates @self.
83+func (x *ActionRow) Activate() {
84+
85+ xActionRowActivate(x.GoPointer())
86+
87+}
88+
89+var xActionRowAddPrefix func(uintptr, uintptr)
90+
91+// Adds a prefix widget to @self.
92+func (x *ActionRow) AddPrefix(WidgetVar *gtk.Widget) {
93+
94+ xActionRowAddPrefix(x.GoPointer(), WidgetVar.GoPointer())
95+
96+}
97+
98+var xActionRowAddSuffix func(uintptr, uintptr)
99+
100+// Adds a suffix widget to @self.
101+func (x *ActionRow) AddSuffix(WidgetVar *gtk.Widget) {
102+
103+ xActionRowAddSuffix(x.GoPointer(), WidgetVar.GoPointer())
104+
105+}
106+
107+var xActionRowGetActivatableWidget func(uintptr) uintptr
108+
109+// Gets the widget activated when @self is activated.
110+func (x *ActionRow) GetActivatableWidget() *gtk.Widget {
111+
112+ GetActivatableWidgetPtr := xActionRowGetActivatableWidget(x.GoPointer())
113+ if GetActivatableWidgetPtr == 0 {
114+ return nil
115+ }
116+
117+ gobject.IncreaseRef(GetActivatableWidgetPtr)
118+
119+ GetActivatableWidgetCls := &gtk.Widget{}
120+ GetActivatableWidgetCls.Ptr = GetActivatableWidgetPtr
121+ return GetActivatableWidgetCls
122+
123+}
124+
125+var xActionRowGetIconName func(uintptr) string
126+
127+// Gets the icon name for @self.
128+func (x *ActionRow) GetIconName() string {
129+
130+ return xActionRowGetIconName(x.GoPointer())
131+
132+}
133+
134+var xActionRowGetSubtitle func(uintptr) string
135+
136+// Gets the subtitle for @self.
137+func (x *ActionRow) GetSubtitle() string {
138+
139+ return xActionRowGetSubtitle(x.GoPointer())
140+
141+}
142+
143+var xActionRowGetSubtitleLines func(uintptr) int32
144+
145+// Gets the number of lines at the end of which the subtitle label will be
146+// ellipsized.
147+func (x *ActionRow) GetSubtitleLines() int32 {
148+
149+ return xActionRowGetSubtitleLines(x.GoPointer())
150+
151+}
152+
153+var xActionRowGetSubtitleSelectable func(uintptr) bool
154+
155+// Gets whether the user can copy the subtitle from the label
156+func (x *ActionRow) GetSubtitleSelectable() bool {
157+
158+ return xActionRowGetSubtitleSelectable(x.GoPointer())
159+
160+}
161+
162+var xActionRowGetTitleLines func(uintptr) int32
163+
164+// Gets the number of lines at the end of which the title label will be
165+// ellipsized.
166+func (x *ActionRow) GetTitleLines() int32 {
167+
168+ return xActionRowGetTitleLines(x.GoPointer())
169+
170+}
171+
172+var xActionRowRemove func(uintptr, uintptr)
173+
174+// Removes a child from @self.
175+func (x *ActionRow) Remove(WidgetVar *gtk.Widget) {
176+
177+ xActionRowRemove(x.GoPointer(), WidgetVar.GoPointer())
178+
179+}
180+
181+var xActionRowSetActivatableWidget func(uintptr, uintptr)
182+
183+// Sets the widget to activate when @self is activated.
184+//
185+// The row can be activated either by clicking on it, calling
186+// [method@ActionRow.activate], or via mnemonics in the title.
187+// See the [property@PreferencesRow:use-underline] property to enable mnemonics.
188+//
189+// The target widget will be activated by emitting the
190+// [signal@Gtk.Widget::mnemonic-activate] signal on it.
191+func (x *ActionRow) SetActivatableWidget(WidgetVar *gtk.Widget) {
192+
193+ xActionRowSetActivatableWidget(x.GoPointer(), WidgetVar.GoPointer())
194+
195+}
196+
197+var xActionRowSetIconName func(uintptr, string)
198+
199+// Sets the icon name for @self.
200+func (x *ActionRow) SetIconName(IconNameVar string) {
201+
202+ xActionRowSetIconName(x.GoPointer(), IconNameVar)
203+
204+}
205+
206+var xActionRowSetSubtitle func(uintptr, string)
207+
208+// Sets the subtitle for @self.
209+//
210+// The subtitle is interpreted as Pango markup unless
211+// [property@PreferencesRow:use-markup] is set to `FALSE`.
212+func (x *ActionRow) SetSubtitle(SubtitleVar string) {
213+
214+ xActionRowSetSubtitle(x.GoPointer(), SubtitleVar)
215+
216+}
217+
218+var xActionRowSetSubtitleLines func(uintptr, int32)
219+
220+// Sets the number of lines at the end of which the subtitle label will be
221+// ellipsized.
222+//
223+// If the value is 0, the number of lines won't be limited.
224+func (x *ActionRow) SetSubtitleLines(SubtitleLinesVar int32) {
225+
226+ xActionRowSetSubtitleLines(x.GoPointer(), SubtitleLinesVar)
227+
228+}
229+
230+var xActionRowSetSubtitleSelectable func(uintptr, bool)
231+
232+// Sets whether the user can copy the subtitle from the label
233+//
234+// See also [property@Gtk.Label:selectable].
235+func (x *ActionRow) SetSubtitleSelectable(SubtitleSelectableVar bool) {
236+
237+ xActionRowSetSubtitleSelectable(x.GoPointer(), SubtitleSelectableVar)
238+
239+}
240+
241+var xActionRowSetTitleLines func(uintptr, int32)
242+
243+// Sets the number of lines at the end of which the title label will be
244+// ellipsized.
245+//
246+// If the value is 0, the number of lines won't be limited.
247+func (x *ActionRow) SetTitleLines(TitleLinesVar int32) {
248+
249+ xActionRowSetTitleLines(x.GoPointer(), TitleLinesVar)
250+
251+}
252+
253+func (c *ActionRow) GoPointer() uintptr {
254+ return c.Ptr
255+}
256+
257+func (c *ActionRow) SetGoPointer(ptr uintptr) {
258+ c.Ptr = ptr
259+}
260+
261+// This signal is emitted after the row has been activated.
262+func (x *ActionRow) ConnectActivated(cb func(ActionRow)) {
263+ fcb := func(clsPtr uintptr) {
264+ fa := ActionRow{}
265+ fa.Ptr = clsPtr
266+
267+ cb(fa)
268+
269+ }
270+ gobject.ObjectConnect(x.GoPointer(), "signal::activated", purego.NewCallback(fcb))
271+}
272+
273+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
274+func (x *ActionRow) GetAccessibleRole() gtk.AccessibleRole {
275+
276+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
277+
278+}
279+
280+// Resets the accessible @property to its default value.
281+func (x *ActionRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
282+
283+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
284+
285+}
286+
287+// Resets the accessible @relation to its default value.
288+func (x *ActionRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
289+
290+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
291+
292+}
293+
294+// Resets the accessible @state to its default value.
295+func (x *ActionRow) ResetState(StateVar gtk.AccessibleState) {
296+
297+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
298+
299+}
300+
301+// Updates a list of accessible properties.
302+//
303+// See the [enum@Gtk.AccessibleProperty] documentation for the
304+// value types of accessible properties.
305+//
306+// This function should be called by `GtkWidget` types whenever
307+// an accessible property change must be communicated to assistive
308+// technologies.
309+//
310+// Example:
311+// ```c
312+// value = gtk_adjustment_get_value (adjustment);
313+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
314+//
315+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
316+// -1);
317+//
318+// ```
319+func (x *ActionRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
320+
321+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
322+
323+}
324+
325+// Updates an array of accessible properties.
326+//
327+// This function should be called by `GtkWidget` types whenever an accessible
328+// property change must be communicated to assistive technologies.
329+//
330+// This function is meant to be used by language bindings.
331+func (x *ActionRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
332+
333+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
334+
335+}
336+
337+// Updates a list of accessible relations.
338+//
339+// This function should be called by `GtkWidget` types whenever an accessible
340+// relation change must be communicated to assistive technologies.
341+//
342+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
343+// you should pass each reference individually, followed by %NULL, e.g.
344+//
345+// ```c
346+// gtk_accessible_update_relation (accessible,
347+//
348+// GTK_ACCESSIBLE_RELATION_CONTROLS,
349+// ref1, NULL,
350+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
351+// ref1, ref2, ref3, NULL,
352+// -1);
353+//
354+// ```
355+func (x *ActionRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
356+
357+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
358+
359+}
360+
361+// Updates an array of accessible relations.
362+//
363+// This function should be called by `GtkWidget` types whenever an accessible
364+// relation change must be communicated to assistive technologies.
365+//
366+// This function is meant to be used by language bindings.
367+func (x *ActionRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
368+
369+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
370+
371+}
372+
373+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
374+// documentation for the value types of accessible states.
375+//
376+// This function should be called by `GtkWidget` types whenever an accessible
377+// state change must be communicated to assistive technologies.
378+//
379+// Example:
380+// ```c
381+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
382+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
383+//
384+// GTK_ACCESSIBLE_STATE_CHECKED, value,
385+// -1);
386+//
387+// ```
388+func (x *ActionRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
389+
390+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
391+
392+}
393+
394+// Updates an array of accessible states.
395+//
396+// This function should be called by `GtkWidget` types whenever an accessible
397+// state change must be communicated to assistive technologies.
398+//
399+// This function is meant to be used by language bindings.
400+func (x *ActionRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
401+
402+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
403+
404+}
405+
406+// Gets the action name for @actionable.
407+func (x *ActionRow) GetActionName() string {
408+
409+ return gtk.XGtkActionableGetActionName(x.GoPointer())
410+
411+}
412+
413+// Gets the current target value of @actionable.
414+func (x *ActionRow) GetActionTargetValue() *glib.Variant {
415+
416+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
417+
418+}
419+
420+// Specifies the name of the action with which this widget should be
421+// associated.
422+//
423+// If @action_name is %NULL then the widget will be unassociated from
424+// any previous action.
425+//
426+// Usually this function is used when the widget is located (or will be
427+// located) within the hierarchy of a `GtkApplicationWindow`.
428+//
429+// Names are of the form “win.save” or “app.quit” for actions on the
430+// containing [class@ApplicationWindow] or its associated [class@Application],
431+// respectively. This is the same form used for actions in the [class@Gio.Menu]
432+// associated with the window.
433+func (x *ActionRow) SetActionName(ActionNameVar string) {
434+
435+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
436+
437+}
438+
439+// Sets the target of an actionable widget.
440+//
441+// This is a convenience function that calls [ctor@GLib.Variant.new] for
442+// @format_string and uses the result to call
443+// [method@Gtk.Actionable.set_action_target_value].
444+//
445+// If you are setting a string-valued target and want to set
446+// the action name at the same time, you can use
447+// [method@Gtk.Actionable.set_detailed_action_name].
448+func (x *ActionRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
449+
450+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
451+
452+}
453+
454+// Sets the target value of an actionable widget.
455+//
456+// If @target_value is %NULL then the target value is unset.
457+//
458+// The target value has two purposes. First, it is used as the parameter
459+// to activation of the action associated with the `GtkActionable` widget.
460+// Second, it is used to determine if the widget should be rendered as
461+// “active” — the widget is active if the state is equal to the given target.
462+//
463+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
464+// with string state in a typical “radio button” situation. Each button
465+// will be associated with the same action, but with a different target
466+// value for that action. Clicking on a particular button will activate
467+// the action with the target of that button, which will typically cause
468+// the action’s state to change to that value. Since the action’s state
469+// is now equal to the target value of the button, the button will now
470+// be rendered as active (and the other buttons, with different targets,
471+// rendered inactive).
472+func (x *ActionRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
473+
474+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
475+
476+}
477+
478+// Sets the action-name and associated string target value of an
479+// actionable widget.
480+//
481+// @detailed_action_name is a string in the format accepted by
482+// [func@Gio.Action.parse_detailed_name].
483+func (x *ActionRow) SetDetailedActionName(DetailedActionNameVar string) {
484+
485+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
486+
487+}
488+
489+// Gets the ID of the @buildable object.
490+//
491+// `GtkBuilder` sets the name based on the ID attribute
492+// of the &lt;object&gt; tag used to construct the @buildable.
493+func (x *ActionRow) GetBuildableId() string {
494+
495+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
496+
497+}
498+
499+func init() {
500+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
501+ if err != nil {
502+ panic(err)
503+ }
504+
505+ core.PuregoSafeRegister(&xNewActionRow, lib, "adw_action_row_new")
506+
507+ core.PuregoSafeRegister(&xActionRowActivate, lib, "adw_action_row_activate")
508+ core.PuregoSafeRegister(&xActionRowAddPrefix, lib, "adw_action_row_add_prefix")
509+ core.PuregoSafeRegister(&xActionRowAddSuffix, lib, "adw_action_row_add_suffix")
510+ core.PuregoSafeRegister(&xActionRowGetActivatableWidget, lib, "adw_action_row_get_activatable_widget")
511+ core.PuregoSafeRegister(&xActionRowGetIconName, lib, "adw_action_row_get_icon_name")
512+ core.PuregoSafeRegister(&xActionRowGetSubtitle, lib, "adw_action_row_get_subtitle")
513+ core.PuregoSafeRegister(&xActionRowGetSubtitleLines, lib, "adw_action_row_get_subtitle_lines")
514+ core.PuregoSafeRegister(&xActionRowGetSubtitleSelectable, lib, "adw_action_row_get_subtitle_selectable")
515+ core.PuregoSafeRegister(&xActionRowGetTitleLines, lib, "adw_action_row_get_title_lines")
516+ core.PuregoSafeRegister(&xActionRowRemove, lib, "adw_action_row_remove")
517+ core.PuregoSafeRegister(&xActionRowSetActivatableWidget, lib, "adw_action_row_set_activatable_widget")
518+ core.PuregoSafeRegister(&xActionRowSetIconName, lib, "adw_action_row_set_icon_name")
519+ core.PuregoSafeRegister(&xActionRowSetSubtitle, lib, "adw_action_row_set_subtitle")
520+ core.PuregoSafeRegister(&xActionRowSetSubtitleLines, lib, "adw_action_row_set_subtitle_lines")
521+ core.PuregoSafeRegister(&xActionRowSetSubtitleSelectable, lib, "adw_action_row_set_subtitle_selectable")
522+ core.PuregoSafeRegister(&xActionRowSetTitleLines, lib, "adw_action_row_set_title_lines")
523+
524+}
A v4/adw/adw-animation-target.go +181 -0
@@ -0,0 +1,181 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+)
10+
11+// Prototype for animation targets based on user callbacks.
12+type AnimationTargetFunc func(float64, uintptr)
13+
14+type AnimationTargetClass struct {
15+}
16+
17+type CallbackAnimationTargetClass struct {
18+}
19+
20+type PropertyAnimationTargetClass struct {
21+}
22+
23+// Represents a value [class@Animation] can animate.
24+type AnimationTarget struct {
25+ gobject.Object
26+}
27+
28+func AnimationTargetNewFromInternalPtr(ptr uintptr) *AnimationTarget {
29+ cls := &AnimationTarget{}
30+ cls.Ptr = ptr
31+ return cls
32+}
33+
34+func (c *AnimationTarget) GoPointer() uintptr {
35+ return c.Ptr
36+}
37+
38+func (c *AnimationTarget) SetGoPointer(ptr uintptr) {
39+ c.Ptr = ptr
40+}
41+
42+// An [class@AnimationTarget] that calls a given callback during the
43+// animation.
44+type CallbackAnimationTarget struct {
45+ AnimationTarget
46+}
47+
48+func CallbackAnimationTargetNewFromInternalPtr(ptr uintptr) *CallbackAnimationTarget {
49+ cls := &CallbackAnimationTarget{}
50+ cls.Ptr = ptr
51+ return cls
52+}
53+
54+var xNewCallbackAnimationTarget func(uintptr, uintptr, uintptr) uintptr
55+
56+// Creates a new `AdwAnimationTarget` that calls the given @callback during
57+// the animation.
58+func NewCallbackAnimationTarget(CallbackVar AnimationTargetFunc, UserDataVar uintptr, DestroyVar glib.DestroyNotify) *AnimationTarget {
59+ NewCallbackAnimationTargetPtr := xNewCallbackAnimationTarget(purego.NewCallback(CallbackVar), UserDataVar, purego.NewCallback(DestroyVar))
60+ if NewCallbackAnimationTargetPtr == 0 {
61+ return nil
62+ }
63+
64+ NewCallbackAnimationTargetCls := &AnimationTarget{}
65+ NewCallbackAnimationTargetCls.Ptr = NewCallbackAnimationTargetPtr
66+ return NewCallbackAnimationTargetCls
67+}
68+
69+func (c *CallbackAnimationTarget) GoPointer() uintptr {
70+ return c.Ptr
71+}
72+
73+func (c *CallbackAnimationTarget) SetGoPointer(ptr uintptr) {
74+ c.Ptr = ptr
75+}
76+
77+// An [class@AnimationTarget] changing the value of a property of a
78+// [class@GObject.Object] instance.
79+type PropertyAnimationTarget struct {
80+ AnimationTarget
81+}
82+
83+func PropertyAnimationTargetNewFromInternalPtr(ptr uintptr) *PropertyAnimationTarget {
84+ cls := &PropertyAnimationTarget{}
85+ cls.Ptr = ptr
86+ return cls
87+}
88+
89+var xNewPropertyAnimationTarget func(uintptr, string) uintptr
90+
91+// Creates a new `AdwPropertyAnimationTarget` for the @property_name property on
92+// @object.
93+func NewPropertyAnimationTarget(ObjectVar *gobject.Object, PropertyNameVar string) *AnimationTarget {
94+ NewPropertyAnimationTargetPtr := xNewPropertyAnimationTarget(ObjectVar.GoPointer(), PropertyNameVar)
95+ if NewPropertyAnimationTargetPtr == 0 {
96+ return nil
97+ }
98+
99+ NewPropertyAnimationTargetCls := &AnimationTarget{}
100+ NewPropertyAnimationTargetCls.Ptr = NewPropertyAnimationTargetPtr
101+ return NewPropertyAnimationTargetCls
102+}
103+
104+var xNewForPspecPropertyAnimationTarget func(uintptr, uintptr) uintptr
105+
106+// Creates a new `AdwPropertyAnimationTarget` for the @pspec property on
107+// @object.
108+func NewForPspecPropertyAnimationTarget(ObjectVar *gobject.Object, PspecVar *gobject.ParamSpec) *AnimationTarget {
109+ NewForPspecPropertyAnimationTargetPtr := xNewForPspecPropertyAnimationTarget(ObjectVar.GoPointer(), PspecVar.GoPointer())
110+ if NewForPspecPropertyAnimationTargetPtr == 0 {
111+ return nil
112+ }
113+
114+ NewForPspecPropertyAnimationTargetCls := &AnimationTarget{}
115+ NewForPspecPropertyAnimationTargetCls.Ptr = NewForPspecPropertyAnimationTargetPtr
116+ return NewForPspecPropertyAnimationTargetCls
117+}
118+
119+var xPropertyAnimationTargetGetObject func(uintptr) uintptr
120+
121+// Gets the object animated by @self.
122+//
123+// The `AdwPropertyAnimationTarget` instance does not hold a strong reference on
124+// the object; make sure the object is kept alive throughout the target's
125+// lifetime.
126+func (x *PropertyAnimationTarget) GetObject() *gobject.Object {
127+
128+ GetObjectPtr := xPropertyAnimationTargetGetObject(x.GoPointer())
129+ if GetObjectPtr == 0 {
130+ return nil
131+ }
132+
133+ gobject.IncreaseRef(GetObjectPtr)
134+
135+ GetObjectCls := &gobject.Object{}
136+ GetObjectCls.Ptr = GetObjectPtr
137+ return GetObjectCls
138+
139+}
140+
141+var xPropertyAnimationTargetGetPspec func(uintptr) uintptr
142+
143+// Gets the `GParamSpec` of the property animated by @self.
144+func (x *PropertyAnimationTarget) GetPspec() *gobject.ParamSpec {
145+
146+ GetPspecPtr := xPropertyAnimationTargetGetPspec(x.GoPointer())
147+ if GetPspecPtr == 0 {
148+ return nil
149+ }
150+
151+ gobject.IncreaseRef(GetPspecPtr)
152+
153+ GetPspecCls := &gobject.ParamSpec{}
154+ GetPspecCls.Ptr = GetPspecPtr
155+ return GetPspecCls
156+
157+}
158+
159+func (c *PropertyAnimationTarget) GoPointer() uintptr {
160+ return c.Ptr
161+}
162+
163+func (c *PropertyAnimationTarget) SetGoPointer(ptr uintptr) {
164+ c.Ptr = ptr
165+}
166+
167+func init() {
168+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
169+ if err != nil {
170+ panic(err)
171+ }
172+
173+ core.PuregoSafeRegister(&xNewCallbackAnimationTarget, lib, "adw_callback_animation_target_new")
174+
175+ core.PuregoSafeRegister(&xNewPropertyAnimationTarget, lib, "adw_property_animation_target_new")
176+ core.PuregoSafeRegister(&xNewForPspecPropertyAnimationTarget, lib, "adw_property_animation_target_new_for_pspec")
177+
178+ core.PuregoSafeRegister(&xPropertyAnimationTargetGetObject, lib, "adw_property_animation_target_get_object")
179+ core.PuregoSafeRegister(&xPropertyAnimationTargetGetPspec, lib, "adw_property_animation_target_get_pspec")
180+
181+}
A v4/adw/adw-animation-util.go +39 -0
@@ -0,0 +1,39 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gtk"
8+)
9+
10+var xGetEnableAnimations func(uintptr) bool
11+
12+// Checks whether animations are enabled for @widget.
13+//
14+// This should be used when implementing an animated widget to know whether to
15+// animate it or not.
16+func GetEnableAnimations(WidgetVar *gtk.Widget) bool {
17+
18+ return xGetEnableAnimations(WidgetVar.GoPointer())
19+
20+}
21+
22+var xLerp func(float64, float64, float64) float64
23+
24+// Computes the linear interpolation between @a and @b for @t.
25+func Lerp(AVar float64, BVar float64, TVar float64) float64 {
26+
27+ return xLerp(AVar, BVar, TVar)
28+
29+}
30+
31+func init() {
32+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
33+ if err != nil {
34+ panic(err)
35+ }
36+ core.PuregoSafeRegister(&xGetEnableAnimations, lib, "adw_get_enable_animations")
37+ core.PuregoSafeRegister(&xLerp, lib, "adw_lerp")
38+
39+}
A v4/adw/adw-animation.go +307 -0
@@ -0,0 +1,307 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type AnimationClass struct {
12+}
13+
14+// Describes the possible states of an [class@Animation].
15+//
16+// The state can be controlled with [method@Animation.play],
17+// [method@Animation.pause], [method@Animation.resume],
18+// [method@Animation.reset] and [method@Animation.skip].
19+type AnimationState int
20+
21+const (
22+
23+ // The animation hasn't started yet.
24+ AnimationIdleValue AnimationState = 0
25+ // The animation has been paused.
26+ AnimationPausedValue AnimationState = 1
27+ // The animation is currently playing.
28+ AnimationPlayingValue AnimationState = 2
29+ // The animation has finished.
30+ AnimationFinishedValue AnimationState = 3
31+)
32+
33+// A base class for animations.
34+//
35+// `AdwAnimation` represents an animation on a widget. It has a target that
36+// provides a value to animate, and a state indicating whether the
37+// animation hasn't been started yet, is playing, paused or finished.
38+//
39+// Currently there are two concrete animation types:
40+// [class@TimedAnimation] and [class@SpringAnimation].
41+//
42+// `AdwAnimation` will automatically skip the animation if
43+// [property@Animation:widget] is unmapped, or if
44+// [property@Gtk.Settings:gtk-enable-animations] is `FALSE`.
45+//
46+// The [signal@Animation::done] signal can be used to perform an action after
47+// the animation ends, for example hiding a widget after animating its
48+// [property@Gtk.Widget:opacity] to 0.
49+//
50+// `AdwAnimation` will be kept alive while the animation is playing. As such,
51+// it's safe to create an animation, start it and immediately unref it:
52+// A fire-and-forget animation:
53+//
54+// ```c
55+// static void
56+// animation_cb (double value,
57+//
58+// MyObject *self)
59+//
60+// {
61+// // Do something with @value
62+// }
63+//
64+// static void
65+// my_object_animate (MyObject *self)
66+//
67+// {
68+// AdwAnimationTarget *target =
69+// adw_callback_animation_target_new ((AdwAnimationTargetFunc) animation_cb,
70+// self, NULL);
71+// g_autoptr (AdwAnimation) animation =
72+// adw_timed_animation_new (widget, 0, 1, 250, target);
73+//
74+// adw_animation_play (animation);
75+// }
76+//
77+// ```
78+//
79+// If there's a chance the previous animation for the same target hasn't yet
80+// finished, the previous animation should be stopped first, or the existing
81+// `AdwAnimation` object can be reused.
82+type Animation struct {
83+ gobject.Object
84+}
85+
86+func AnimationNewFromInternalPtr(ptr uintptr) *Animation {
87+ cls := &Animation{}
88+ cls.Ptr = ptr
89+ return cls
90+}
91+
92+var xAnimationGetFollowEnableAnimationsSetting func(uintptr) bool
93+
94+// Gets whether @self should be skipped when animations are globally disabled.
95+func (x *Animation) GetFollowEnableAnimationsSetting() bool {
96+
97+ return xAnimationGetFollowEnableAnimationsSetting(x.GoPointer())
98+
99+}
100+
101+var xAnimationGetState func(uintptr) AnimationState
102+
103+// Gets the current value of @self.
104+//
105+// The state indicates whether @self is currently playing, paused, finished or
106+// hasn't been started yet.
107+func (x *Animation) GetState() AnimationState {
108+
109+ return xAnimationGetState(x.GoPointer())
110+
111+}
112+
113+var xAnimationGetTarget func(uintptr) uintptr
114+
115+// Gets the target @self animates.
116+func (x *Animation) GetTarget() *AnimationTarget {
117+
118+ GetTargetPtr := xAnimationGetTarget(x.GoPointer())
119+ if GetTargetPtr == 0 {
120+ return nil
121+ }
122+
123+ gobject.IncreaseRef(GetTargetPtr)
124+
125+ GetTargetCls := &AnimationTarget{}
126+ GetTargetCls.Ptr = GetTargetPtr
127+ return GetTargetCls
128+
129+}
130+
131+var xAnimationGetValue func(uintptr) float64
132+
133+// Gets the current value of @self.
134+func (x *Animation) GetValue() float64 {
135+
136+ return xAnimationGetValue(x.GoPointer())
137+
138+}
139+
140+var xAnimationGetWidget func(uintptr) uintptr
141+
142+// Gets the widget @self was created for.
143+//
144+// It provides the frame clock for the animation. It's not strictly necessary
145+// for this widget to be same as the one being animated.
146+//
147+// The widget must be mapped in order for the animation to work. If it's not
148+// mapped, or if it gets unmapped during an ongoing animation, the animation
149+// will be automatically skipped.
150+func (x *Animation) GetWidget() *gtk.Widget {
151+
152+ GetWidgetPtr := xAnimationGetWidget(x.GoPointer())
153+ if GetWidgetPtr == 0 {
154+ return nil
155+ }
156+
157+ gobject.IncreaseRef(GetWidgetPtr)
158+
159+ GetWidgetCls := &gtk.Widget{}
160+ GetWidgetCls.Ptr = GetWidgetPtr
161+ return GetWidgetCls
162+
163+}
164+
165+var xAnimationPause func(uintptr)
166+
167+// Pauses a playing animation for @self.
168+//
169+// Does nothing if the current state of @self isn't `ADW_ANIMATION_PLAYING`.
170+//
171+// Sets [property@Animation:state] to `ADW_ANIMATION_PAUSED`.
172+func (x *Animation) Pause() {
173+
174+ xAnimationPause(x.GoPointer())
175+
176+}
177+
178+var xAnimationPlay func(uintptr)
179+
180+// Starts the animation for @self.
181+//
182+// If the animation is playing, paused or has been completed, restarts it from
183+// the beginning. This allows to easily play an animation regardless of whether
184+// it's already playing or not.
185+//
186+// Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.
187+//
188+// The animation will be automatically skipped if [property@Animation:widget] is
189+// unmapped, or if [property@Gtk.Settings:gtk-enable-animations] is `FALSE`.
190+//
191+// As such, it's not guaranteed that the animation will actually run. For
192+// example, when using [func@GLib.idle_add] and starting an animation
193+// immediately afterwards, it's entirely possible that the idle callback will
194+// run after the animation has already finished, and not while it's playing.
195+func (x *Animation) Play() {
196+
197+ xAnimationPlay(x.GoPointer())
198+
199+}
200+
201+var xAnimationReset func(uintptr)
202+
203+// Resets the animation for @self.
204+//
205+// Sets [property@Animation:state] to `ADW_ANIMATION_IDLE`.
206+func (x *Animation) Reset() {
207+
208+ xAnimationReset(x.GoPointer())
209+
210+}
211+
212+var xAnimationResume func(uintptr)
213+
214+// Resumes a paused animation for @self.
215+//
216+// This function must only be used if the animation has been paused with
217+// [method@Animation.pause].
218+//
219+// Sets [property@Animation:state] to `ADW_ANIMATION_PLAYING`.
220+func (x *Animation) Resume() {
221+
222+ xAnimationResume(x.GoPointer())
223+
224+}
225+
226+var xAnimationSetFollowEnableAnimationsSetting func(uintptr, bool)
227+
228+// Sets whether to skip @self when animations are globally disabled.
229+//
230+// The default behavior is to skip the animation. Set to `FALSE` to disable this
231+// behavior.
232+//
233+// This can be useful for cases where animation is essential, like spinners, or
234+// in demo applications. Most other animations should keep it enabled.
235+//
236+// See [property@Gtk.Settings:gtk-enable-animations].
237+func (x *Animation) SetFollowEnableAnimationsSetting(SettingVar bool) {
238+
239+ xAnimationSetFollowEnableAnimationsSetting(x.GoPointer(), SettingVar)
240+
241+}
242+
243+var xAnimationSetTarget func(uintptr, uintptr)
244+
245+// Sets the target @self animates to @target.
246+func (x *Animation) SetTarget(TargetVar *AnimationTarget) {
247+
248+ xAnimationSetTarget(x.GoPointer(), TargetVar.GoPointer())
249+
250+}
251+
252+var xAnimationSkip func(uintptr)
253+
254+// Skips the animation for @self.
255+//
256+// If the animation hasn't been started yet, is playing, or is paused, instantly
257+// skips the animation to the end and causes [signal@Animation::done] to be
258+// emitted.
259+//
260+// Sets [property@Animation:state] to `ADW_ANIMATION_FINISHED`.
261+func (x *Animation) Skip() {
262+
263+ xAnimationSkip(x.GoPointer())
264+
265+}
266+
267+func (c *Animation) GoPointer() uintptr {
268+ return c.Ptr
269+}
270+
271+func (c *Animation) SetGoPointer(ptr uintptr) {
272+ c.Ptr = ptr
273+}
274+
275+// This signal is emitted when the animation has been completed, either on its
276+// own or via calling [method@Animation.skip].
277+func (x *Animation) ConnectDone(cb func(Animation)) {
278+ fcb := func(clsPtr uintptr) {
279+ fa := Animation{}
280+ fa.Ptr = clsPtr
281+
282+ cb(fa)
283+
284+ }
285+ gobject.ObjectConnect(x.GoPointer(), "signal::done", purego.NewCallback(fcb))
286+}
287+
288+func init() {
289+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
290+ if err != nil {
291+ panic(err)
292+ }
293+
294+ core.PuregoSafeRegister(&xAnimationGetFollowEnableAnimationsSetting, lib, "adw_animation_get_follow_enable_animations_setting")
295+ core.PuregoSafeRegister(&xAnimationGetState, lib, "adw_animation_get_state")
296+ core.PuregoSafeRegister(&xAnimationGetTarget, lib, "adw_animation_get_target")
297+ core.PuregoSafeRegister(&xAnimationGetValue, lib, "adw_animation_get_value")
298+ core.PuregoSafeRegister(&xAnimationGetWidget, lib, "adw_animation_get_widget")
299+ core.PuregoSafeRegister(&xAnimationPause, lib, "adw_animation_pause")
300+ core.PuregoSafeRegister(&xAnimationPlay, lib, "adw_animation_play")
301+ core.PuregoSafeRegister(&xAnimationReset, lib, "adw_animation_reset")
302+ core.PuregoSafeRegister(&xAnimationResume, lib, "adw_animation_resume")
303+ core.PuregoSafeRegister(&xAnimationSetFollowEnableAnimationsSetting, lib, "adw_animation_set_follow_enable_animations_setting")
304+ core.PuregoSafeRegister(&xAnimationSetTarget, lib, "adw_animation_set_target")
305+ core.PuregoSafeRegister(&xAnimationSkip, lib, "adw_animation_skip")
306+
307+}
A v4/adw/adw-application-window.go +686 -0
@@ -0,0 +1,686 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gio"
9+ "github.com/jwijenbergh/puregotk/v4/glib"
10+ "github.com/jwijenbergh/puregotk/v4/gobject"
11+ "github.com/jwijenbergh/puregotk/v4/gsk"
12+ "github.com/jwijenbergh/puregotk/v4/gtk"
13+)
14+
15+type ApplicationWindowClass struct {
16+ ParentClass uintptr
17+
18+ Padding uintptr
19+}
20+
21+// A freeform application window.
22+//
23+// &lt;picture&gt;
24+//
25+// &lt;source srcset="application-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
26+// &lt;img src="application-window.png" alt="application-window"&gt;
27+//
28+// &lt;/picture&gt;
29+//
30+// `AdwApplicationWindow` is a [class@Gtk.ApplicationWindow] subclass providing
31+// the same features as [class@Window].
32+//
33+// See [class@Window] for details.
34+//
35+// Using [property@Gtk.Application:menubar] is not supported and may result in
36+// visual glitches.
37+type ApplicationWindow struct {
38+ gtk.ApplicationWindow
39+}
40+
41+func ApplicationWindowNewFromInternalPtr(ptr uintptr) *ApplicationWindow {
42+ cls := &ApplicationWindow{}
43+ cls.Ptr = ptr
44+ return cls
45+}
46+
47+var xNewApplicationWindow func(uintptr) uintptr
48+
49+// Creates a new `AdwApplicationWindow` for @app.
50+func NewApplicationWindow(AppVar *gtk.Application) *gtk.Widget {
51+ NewApplicationWindowPtr := xNewApplicationWindow(AppVar.GoPointer())
52+ if NewApplicationWindowPtr == 0 {
53+ return nil
54+ }
55+
56+ gobject.IncreaseRef(NewApplicationWindowPtr)
57+
58+ NewApplicationWindowCls := &gtk.Widget{}
59+ NewApplicationWindowCls.Ptr = NewApplicationWindowPtr
60+ return NewApplicationWindowCls
61+}
62+
63+var xApplicationWindowGetContent func(uintptr) uintptr
64+
65+// Gets the content widget of @self.
66+//
67+// This method should always be used instead of [method@Gtk.Window.get_child].
68+func (x *ApplicationWindow) GetContent() *gtk.Widget {
69+
70+ GetContentPtr := xApplicationWindowGetContent(x.GoPointer())
71+ if GetContentPtr == 0 {
72+ return nil
73+ }
74+
75+ gobject.IncreaseRef(GetContentPtr)
76+
77+ GetContentCls := &gtk.Widget{}
78+ GetContentCls.Ptr = GetContentPtr
79+ return GetContentCls
80+
81+}
82+
83+var xApplicationWindowSetContent func(uintptr, uintptr)
84+
85+// Sets the content widget of @self.
86+//
87+// This method should always be used instead of [method@Gtk.Window.set_child].
88+func (x *ApplicationWindow) SetContent(ContentVar *gtk.Widget) {
89+
90+ xApplicationWindowSetContent(x.GoPointer(), ContentVar.GoPointer())
91+
92+}
93+
94+func (c *ApplicationWindow) GoPointer() uintptr {
95+ return c.Ptr
96+}
97+
98+func (c *ApplicationWindow) SetGoPointer(ptr uintptr) {
99+ c.Ptr = ptr
100+}
101+
102+// Emits the #GActionGroup::action-added signal on @action_group.
103+//
104+// This function should only be called by #GActionGroup implementations.
105+func (x *ApplicationWindow) ActionAdded(ActionNameVar string) {
106+
107+ gio.XGActionGroupActionAdded(x.GoPointer(), ActionNameVar)
108+
109+}
110+
111+// Emits the #GActionGroup::action-enabled-changed signal on @action_group.
112+//
113+// This function should only be called by #GActionGroup implementations.
114+func (x *ApplicationWindow) ActionEnabledChanged(ActionNameVar string, EnabledVar bool) {
115+
116+ gio.XGActionGroupActionEnabledChanged(x.GoPointer(), ActionNameVar, EnabledVar)
117+
118+}
119+
120+// Emits the #GActionGroup::action-removed signal on @action_group.
121+//
122+// This function should only be called by #GActionGroup implementations.
123+func (x *ApplicationWindow) ActionRemoved(ActionNameVar string) {
124+
125+ gio.XGActionGroupActionRemoved(x.GoPointer(), ActionNameVar)
126+
127+}
128+
129+// Emits the #GActionGroup::action-state-changed signal on @action_group.
130+//
131+// This function should only be called by #GActionGroup implementations.
132+func (x *ApplicationWindow) ActionStateChanged(ActionNameVar string, StateVar *glib.Variant) {
133+
134+ gio.XGActionGroupActionStateChanged(x.GoPointer(), ActionNameVar, StateVar)
135+
136+}
137+
138+// Activate the named action within @action_group.
139+//
140+// If the action is expecting a parameter, then the correct type of
141+// parameter must be given as @parameter. If the action is expecting no
142+// parameters then @parameter must be %NULL. See
143+// g_action_group_get_action_parameter_type().
144+//
145+// If the #GActionGroup implementation supports asynchronous remote
146+// activation over D-Bus, this call may return before the relevant
147+// D-Bus traffic has been sent, or any replies have been received. In
148+// order to block on such asynchronous activation calls,
149+// g_dbus_connection_flush() should be called prior to the code, which
150+// depends on the result of the action activation. Without flushing
151+// the D-Bus connection, there is no guarantee that the action would
152+// have been activated.
153+//
154+// The following code which runs in a remote app instance, shows an
155+// example of a "quit" action being activated on the primary app
156+// instance over D-Bus. Here g_dbus_connection_flush() is called
157+// before `exit()`. Without g_dbus_connection_flush(), the "quit" action
158+// may fail to be activated on the primary instance.
159+//
160+// |[&lt;!-- language="C" --&gt;
161+// // call "quit" action on primary instance
162+// g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
163+//
164+// // make sure the action is activated now
165+// g_dbus_connection_flush (...);
166+//
167+// g_debug ("application has been terminated. exiting.");
168+//
169+// exit (0);
170+// ]|
171+func (x *ApplicationWindow) ActivateAction(ActionNameVar string, ParameterVar *glib.Variant) {
172+
173+ gio.XGActionGroupActivateAction(x.GoPointer(), ActionNameVar, ParameterVar)
174+
175+}
176+
177+// Request for the state of the named action within @action_group to be
178+// changed to @value.
179+//
180+// The action must be stateful and @value must be of the correct type.
181+// See g_action_group_get_action_state_type().
182+//
183+// This call merely requests a change. The action may refuse to change
184+// its state or may change its state to something other than @value.
185+// See g_action_group_get_action_state_hint().
186+//
187+// If the @value GVariant is floating, it is consumed.
188+func (x *ApplicationWindow) ChangeActionState(ActionNameVar string, ValueVar *glib.Variant) {
189+
190+ gio.XGActionGroupChangeActionState(x.GoPointer(), ActionNameVar, ValueVar)
191+
192+}
193+
194+// Checks if the named action within @action_group is currently enabled.
195+//
196+// An action must be enabled in order to be activated or in order to
197+// have its state changed from outside callers.
198+func (x *ApplicationWindow) GetActionEnabled(ActionNameVar string) bool {
199+
200+ return gio.XGActionGroupGetActionEnabled(x.GoPointer(), ActionNameVar)
201+
202+}
203+
204+// Queries the type of the parameter that must be given when activating
205+// the named action within @action_group.
206+//
207+// When activating the action using g_action_group_activate_action(),
208+// the #GVariant given to that function must be of the type returned
209+// by this function.
210+//
211+// In the case that this function returns %NULL, you must not give any
212+// #GVariant, but %NULL instead.
213+//
214+// The parameter type of a particular action will never change but it is
215+// possible for an action to be removed and for a new action to be added
216+// with the same name but a different parameter type.
217+func (x *ApplicationWindow) GetActionParameterType(ActionNameVar string) *glib.VariantType {
218+
219+ return gio.XGActionGroupGetActionParameterType(x.GoPointer(), ActionNameVar)
220+
221+}
222+
223+// Queries the current state of the named action within @action_group.
224+//
225+// If the action is not stateful then %NULL will be returned. If the
226+// action is stateful then the type of the return value is the type
227+// given by g_action_group_get_action_state_type().
228+//
229+// The return value (if non-%NULL) should be freed with
230+// g_variant_unref() when it is no longer required.
231+func (x *ApplicationWindow) GetActionState(ActionNameVar string) *glib.Variant {
232+
233+ return gio.XGActionGroupGetActionState(x.GoPointer(), ActionNameVar)
234+
235+}
236+
237+// Requests a hint about the valid range of values for the state of the
238+// named action within @action_group.
239+//
240+// If %NULL is returned it either means that the action is not stateful
241+// or that there is no hint about the valid range of values for the
242+// state of the action.
243+//
244+// If a #GVariant array is returned then each item in the array is a
245+// possible value for the state. If a #GVariant pair (ie: two-tuple) is
246+// returned then the tuple specifies the inclusive lower and upper bound
247+// of valid values for the state.
248+//
249+// In any case, the information is merely a hint. It may be possible to
250+// have a state value outside of the hinted range and setting a value
251+// within the range may fail.
252+//
253+// The return value (if non-%NULL) should be freed with
254+// g_variant_unref() when it is no longer required.
255+func (x *ApplicationWindow) GetActionStateHint(ActionNameVar string) *glib.Variant {
256+
257+ return gio.XGActionGroupGetActionStateHint(x.GoPointer(), ActionNameVar)
258+
259+}
260+
261+// Queries the type of the state of the named action within
262+// @action_group.
263+//
264+// If the action is stateful then this function returns the
265+// #GVariantType of the state. All calls to
266+// g_action_group_change_action_state() must give a #GVariant of this
267+// type and g_action_group_get_action_state() will return a #GVariant
268+// of the same type.
269+//
270+// If the action is not stateful then this function will return %NULL.
271+// In that case, g_action_group_get_action_state() will return %NULL
272+// and you must not call g_action_group_change_action_state().
273+//
274+// The state type of a particular action will never change but it is
275+// possible for an action to be removed and for a new action to be added
276+// with the same name but a different state type.
277+func (x *ApplicationWindow) GetActionStateType(ActionNameVar string) *glib.VariantType {
278+
279+ return gio.XGActionGroupGetActionStateType(x.GoPointer(), ActionNameVar)
280+
281+}
282+
283+// Checks if the named action exists within @action_group.
284+func (x *ApplicationWindow) HasAction(ActionNameVar string) bool {
285+
286+ return gio.XGActionGroupHasAction(x.GoPointer(), ActionNameVar)
287+
288+}
289+
290+// Lists the actions contained within @action_group.
291+//
292+// The caller is responsible for freeing the list with g_strfreev() when
293+// it is no longer required.
294+func (x *ApplicationWindow) ListActions() uintptr {
295+
296+ return gio.XGActionGroupListActions(x.GoPointer())
297+
298+}
299+
300+// Queries all aspects of the named action within an @action_group.
301+//
302+// This function acquires the information available from
303+// g_action_group_has_action(), g_action_group_get_action_enabled(),
304+// g_action_group_get_action_parameter_type(),
305+// g_action_group_get_action_state_type(),
306+// g_action_group_get_action_state_hint() and
307+// g_action_group_get_action_state() with a single function call.
308+//
309+// This provides two main benefits.
310+//
311+// The first is the improvement in efficiency that comes with not having
312+// to perform repeated lookups of the action in order to discover
313+// different things about it. The second is that implementing
314+// #GActionGroup can now be done by only overriding this one virtual
315+// function.
316+//
317+// The interface provides a default implementation of this function that
318+// calls the individual functions, as required, to fetch the
319+// information. The interface also provides default implementations of
320+// those functions that call this function. All implementations,
321+// therefore, must override either this function or all of the others.
322+//
323+// If the action exists, %TRUE is returned and any of the requested
324+// fields (as indicated by having a non-%NULL reference passed in) are
325+// filled. If the action doesn't exist, %FALSE is returned and the
326+// fields may or may not have been modified.
327+func (x *ApplicationWindow) QueryAction(ActionNameVar string, EnabledVar bool, ParameterTypeVar **glib.VariantType, StateTypeVar **glib.VariantType, StateHintVar **glib.Variant, StateVar **glib.Variant) bool {
328+
329+ return gio.XGActionGroupQueryAction(x.GoPointer(), ActionNameVar, EnabledVar, ParameterTypeVar, StateTypeVar, StateHintVar, StateVar)
330+
331+}
332+
333+// Adds an action to the @action_map.
334+//
335+// If the action map already contains an action with the same name
336+// as @action then the old action is dropped from the action map.
337+//
338+// The action map takes its own reference on @action.
339+func (x *ApplicationWindow) AddAction(ActionVar gio.Action) {
340+
341+ gio.XGActionMapAddAction(x.GoPointer(), ActionVar.GoPointer())
342+
343+}
344+
345+// A convenience function for creating multiple #GSimpleAction instances
346+// and adding them to a #GActionMap.
347+//
348+// Each action is constructed as per one #GActionEntry.
349+//
350+// |[&lt;!-- language="C" --&gt;
351+// static void
352+// activate_quit (GSimpleAction *simple,
353+//
354+// GVariant *parameter,
355+// gpointer user_data)
356+//
357+// {
358+// exit (0);
359+// }
360+//
361+// static void
362+// activate_print_string (GSimpleAction *simple,
363+//
364+// GVariant *parameter,
365+// gpointer user_data)
366+//
367+// {
368+// g_print ("%s\n", g_variant_get_string (parameter, NULL));
369+// }
370+//
371+// static GActionGroup *
372+// create_action_group (void)
373+//
374+// {
375+// const GActionEntry entries[] = {
376+// { "quit", activate_quit },
377+// { "print-string", activate_print_string, "s" }
378+// };
379+// GSimpleActionGroup *group;
380+//
381+// group = g_simple_action_group_new ();
382+// g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);
383+//
384+// return G_ACTION_GROUP (group);
385+// }
386+//
387+// ]|
388+func (x *ApplicationWindow) AddActionEntries(EntriesVar uintptr, NEntriesVar int32, UserDataVar uintptr) {
389+
390+ gio.XGActionMapAddActionEntries(x.GoPointer(), EntriesVar, NEntriesVar, UserDataVar)
391+
392+}
393+
394+// Looks up the action with the name @action_name in @action_map.
395+//
396+// If no such action exists, returns %NULL.
397+func (x *ApplicationWindow) LookupAction(ActionNameVar string) *gio.ActionBase {
398+
399+ LookupActionPtr := gio.XGActionMapLookupAction(x.GoPointer(), ActionNameVar)
400+ if LookupActionPtr == 0 {
401+ return nil
402+ }
403+
404+ gobject.IncreaseRef(LookupActionPtr)
405+
406+ LookupActionCls := &gio.ActionBase{}
407+ LookupActionCls.Ptr = LookupActionPtr
408+ return LookupActionCls
409+
410+}
411+
412+// Removes the named action from the action map.
413+//
414+// If no action of this name is in the map then nothing happens.
415+func (x *ApplicationWindow) RemoveAction(ActionNameVar string) {
416+
417+ gio.XGActionMapRemoveAction(x.GoPointer(), ActionNameVar)
418+
419+}
420+
421+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
422+func (x *ApplicationWindow) GetAccessibleRole() gtk.AccessibleRole {
423+
424+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
425+
426+}
427+
428+// Resets the accessible @property to its default value.
429+func (x *ApplicationWindow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
430+
431+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
432+
433+}
434+
435+// Resets the accessible @relation to its default value.
436+func (x *ApplicationWindow) ResetRelation(RelationVar gtk.AccessibleRelation) {
437+
438+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
439+
440+}
441+
442+// Resets the accessible @state to its default value.
443+func (x *ApplicationWindow) ResetState(StateVar gtk.AccessibleState) {
444+
445+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
446+
447+}
448+
449+// Updates a list of accessible properties.
450+//
451+// See the [enum@Gtk.AccessibleProperty] documentation for the
452+// value types of accessible properties.
453+//
454+// This function should be called by `GtkWidget` types whenever
455+// an accessible property change must be communicated to assistive
456+// technologies.
457+//
458+// Example:
459+// ```c
460+// value = gtk_adjustment_get_value (adjustment);
461+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
462+//
463+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
464+// -1);
465+//
466+// ```
467+func (x *ApplicationWindow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
468+
469+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
470+
471+}
472+
473+// Updates an array of accessible properties.
474+//
475+// This function should be called by `GtkWidget` types whenever an accessible
476+// property change must be communicated to assistive technologies.
477+//
478+// This function is meant to be used by language bindings.
479+func (x *ApplicationWindow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
480+
481+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
482+
483+}
484+
485+// Updates a list of accessible relations.
486+//
487+// This function should be called by `GtkWidget` types whenever an accessible
488+// relation change must be communicated to assistive technologies.
489+//
490+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
491+// you should pass each reference individually, followed by %NULL, e.g.
492+//
493+// ```c
494+// gtk_accessible_update_relation (accessible,
495+//
496+// GTK_ACCESSIBLE_RELATION_CONTROLS,
497+// ref1, NULL,
498+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
499+// ref1, ref2, ref3, NULL,
500+// -1);
501+//
502+// ```
503+func (x *ApplicationWindow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
504+
505+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
506+
507+}
508+
509+// Updates an array of accessible relations.
510+//
511+// This function should be called by `GtkWidget` types whenever an accessible
512+// relation change must be communicated to assistive technologies.
513+//
514+// This function is meant to be used by language bindings.
515+func (x *ApplicationWindow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
516+
517+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
518+
519+}
520+
521+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
522+// documentation for the value types of accessible states.
523+//
524+// This function should be called by `GtkWidget` types whenever an accessible
525+// state change must be communicated to assistive technologies.
526+//
527+// Example:
528+// ```c
529+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
530+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
531+//
532+// GTK_ACCESSIBLE_STATE_CHECKED, value,
533+// -1);
534+//
535+// ```
536+func (x *ApplicationWindow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
537+
538+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
539+
540+}
541+
542+// Updates an array of accessible states.
543+//
544+// This function should be called by `GtkWidget` types whenever an accessible
545+// state change must be communicated to assistive technologies.
546+//
547+// This function is meant to be used by language bindings.
548+func (x *ApplicationWindow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
549+
550+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
551+
552+}
553+
554+// Gets the ID of the @buildable object.
555+//
556+// `GtkBuilder` sets the name based on the ID attribute
557+// of the &lt;object&gt; tag used to construct the @buildable.
558+func (x *ApplicationWindow) GetBuildableId() string {
559+
560+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
561+
562+}
563+
564+// Returns the renderer that is used for this `GtkNative`.
565+func (x *ApplicationWindow) GetRenderer() *gsk.Renderer {
566+
567+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
568+ if GetRendererPtr == 0 {
569+ return nil
570+ }
571+
572+ gobject.IncreaseRef(GetRendererPtr)
573+
574+ GetRendererCls := &gsk.Renderer{}
575+ GetRendererCls.Ptr = GetRendererPtr
576+ return GetRendererCls
577+
578+}
579+
580+// Returns the surface of this `GtkNative`.
581+func (x *ApplicationWindow) GetSurface() *gdk.Surface {
582+
583+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
584+ if GetSurfacePtr == 0 {
585+ return nil
586+ }
587+
588+ gobject.IncreaseRef(GetSurfacePtr)
589+
590+ GetSurfaceCls := &gdk.Surface{}
591+ GetSurfaceCls.Ptr = GetSurfacePtr
592+ return GetSurfaceCls
593+
594+}
595+
596+// Retrieves the surface transform of @self.
597+//
598+// This is the translation from @self's surface coordinates into
599+// @self's widget coordinates.
600+func (x *ApplicationWindow) GetSurfaceTransform(XVar float64, YVar float64) {
601+
602+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
603+
604+}
605+
606+// Realizes a `GtkNative`.
607+//
608+// This should only be used by subclasses.
609+func (x *ApplicationWindow) Realize() {
610+
611+ gtk.XGtkNativeRealize(x.GoPointer())
612+
613+}
614+
615+// Unrealizes a `GtkNative`.
616+//
617+// This should only be used by subclasses.
618+func (x *ApplicationWindow) Unrealize() {
619+
620+ gtk.XGtkNativeUnrealize(x.GoPointer())
621+
622+}
623+
624+// Returns the display that this `GtkRoot` is on.
625+func (x *ApplicationWindow) GetDisplay() *gdk.Display {
626+
627+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
628+ if GetDisplayPtr == 0 {
629+ return nil
630+ }
631+
632+ gobject.IncreaseRef(GetDisplayPtr)
633+
634+ GetDisplayCls := &gdk.Display{}
635+ GetDisplayCls.Ptr = GetDisplayPtr
636+ return GetDisplayCls
637+
638+}
639+
640+// Retrieves the current focused widget within the root.
641+//
642+// Note that this is the widget that would have the focus
643+// if the root is active; if the root is not focused then
644+// `gtk_widget_has_focus (widget)` will be %FALSE for the
645+// widget.
646+func (x *ApplicationWindow) GetFocus() *gtk.Widget {
647+
648+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
649+ if GetFocusPtr == 0 {
650+ return nil
651+ }
652+
653+ gobject.IncreaseRef(GetFocusPtr)
654+
655+ GetFocusCls := &gtk.Widget{}
656+ GetFocusCls.Ptr = GetFocusPtr
657+ return GetFocusCls
658+
659+}
660+
661+// If @focus is not the current focus widget, and is focusable, sets
662+// it as the focus widget for the root.
663+//
664+// If @focus is %NULL, unsets the focus widget for the root.
665+//
666+// To set the focus to a particular widget in the root, it is usually
667+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
668+// this function.
669+func (x *ApplicationWindow) SetFocus(FocusVar *gtk.Widget) {
670+
671+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
672+
673+}
674+
675+func init() {
676+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
677+ if err != nil {
678+ panic(err)
679+ }
680+
681+ core.PuregoSafeRegister(&xNewApplicationWindow, lib, "adw_application_window_new")
682+
683+ core.PuregoSafeRegister(&xApplicationWindowGetContent, lib, "adw_application_window_get_content")
684+ core.PuregoSafeRegister(&xApplicationWindowSetContent, lib, "adw_application_window_set_content")
685+
686+}
A v4/adw/adw-application.go +433 -0
@@ -0,0 +1,433 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/glib"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type ApplicationClass struct {
14+ ParentClass uintptr
15+
16+ Padding uintptr
17+}
18+
19+// A base class for Adwaita applications.
20+//
21+// `AdwApplication` handles library initialization by calling [func@init] in the
22+// default [signal@Gio.Application::startup] signal handler, in turn chaining up
23+// as required by [class@Gtk.Application]. Therefore, any subclass of
24+// `AdwApplication` should always chain up its `startup` handler before using
25+// any Adwaita or GTK API.
26+//
27+// ## Automatic Resources
28+//
29+// `AdwApplication` will automatically load stylesheets located in the
30+// application's resource base path (see
31+// [method@Gio.Application.set_resource_base_path], if they're present.
32+//
33+// They can be used to add custom styles to the application, as follows:
34+//
35+// - `style.css` contains styles that are always present.
36+//
37+// - `style-dark.css` contains styles only used when
38+// [property@StyleManager:dark] is `TRUE`.
39+//
40+// - `style-hc.css` contains styles used when the system high contrast
41+// preference is enabled.
42+//
43+// - `style-hc-dark.css` contains styles used when the system high contrast
44+// preference is enabled and [property@StyleManager:dark] is `TRUE`.
45+type Application struct {
46+ gtk.Application
47+}
48+
49+func ApplicationNewFromInternalPtr(ptr uintptr) *Application {
50+ cls := &Application{}
51+ cls.Ptr = ptr
52+ return cls
53+}
54+
55+var xNewApplication func(string, gio.ApplicationFlags) uintptr
56+
57+// Creates a new `AdwApplication`.
58+//
59+// If `application_id` is not `NULL`, then it must be valid. See
60+// [func@Gio.Application.id_is_valid].
61+//
62+// If no application ID is given then some features (most notably application
63+// uniqueness) will be disabled.
64+func NewApplication(ApplicationIdVar string, FlagsVar gio.ApplicationFlags) *Application {
65+ NewApplicationPtr := xNewApplication(ApplicationIdVar, FlagsVar)
66+ if NewApplicationPtr == 0 {
67+ return nil
68+ }
69+
70+ NewApplicationCls := &Application{}
71+ NewApplicationCls.Ptr = NewApplicationPtr
72+ return NewApplicationCls
73+}
74+
75+var xApplicationGetStyleManager func(uintptr) uintptr
76+
77+// Gets the style manager for @self.
78+//
79+// This is a convenience property allowing to access `AdwStyleManager` through
80+// property bindings or expressions.
81+func (x *Application) GetStyleManager() *StyleManager {
82+
83+ GetStyleManagerPtr := xApplicationGetStyleManager(x.GoPointer())
84+ if GetStyleManagerPtr == 0 {
85+ return nil
86+ }
87+
88+ gobject.IncreaseRef(GetStyleManagerPtr)
89+
90+ GetStyleManagerCls := &StyleManager{}
91+ GetStyleManagerCls.Ptr = GetStyleManagerPtr
92+ return GetStyleManagerCls
93+
94+}
95+
96+func (c *Application) GoPointer() uintptr {
97+ return c.Ptr
98+}
99+
100+func (c *Application) SetGoPointer(ptr uintptr) {
101+ c.Ptr = ptr
102+}
103+
104+// Emits the #GActionGroup::action-added signal on @action_group.
105+//
106+// This function should only be called by #GActionGroup implementations.
107+func (x *Application) ActionAdded(ActionNameVar string) {
108+
109+ gio.XGActionGroupActionAdded(x.GoPointer(), ActionNameVar)
110+
111+}
112+
113+// Emits the #GActionGroup::action-enabled-changed signal on @action_group.
114+//
115+// This function should only be called by #GActionGroup implementations.
116+func (x *Application) ActionEnabledChanged(ActionNameVar string, EnabledVar bool) {
117+
118+ gio.XGActionGroupActionEnabledChanged(x.GoPointer(), ActionNameVar, EnabledVar)
119+
120+}
121+
122+// Emits the #GActionGroup::action-removed signal on @action_group.
123+//
124+// This function should only be called by #GActionGroup implementations.
125+func (x *Application) ActionRemoved(ActionNameVar string) {
126+
127+ gio.XGActionGroupActionRemoved(x.GoPointer(), ActionNameVar)
128+
129+}
130+
131+// Emits the #GActionGroup::action-state-changed signal on @action_group.
132+//
133+// This function should only be called by #GActionGroup implementations.
134+func (x *Application) ActionStateChanged(ActionNameVar string, StateVar *glib.Variant) {
135+
136+ gio.XGActionGroupActionStateChanged(x.GoPointer(), ActionNameVar, StateVar)
137+
138+}
139+
140+// Activate the named action within @action_group.
141+//
142+// If the action is expecting a parameter, then the correct type of
143+// parameter must be given as @parameter. If the action is expecting no
144+// parameters then @parameter must be %NULL. See
145+// g_action_group_get_action_parameter_type().
146+//
147+// If the #GActionGroup implementation supports asynchronous remote
148+// activation over D-Bus, this call may return before the relevant
149+// D-Bus traffic has been sent, or any replies have been received. In
150+// order to block on such asynchronous activation calls,
151+// g_dbus_connection_flush() should be called prior to the code, which
152+// depends on the result of the action activation. Without flushing
153+// the D-Bus connection, there is no guarantee that the action would
154+// have been activated.
155+//
156+// The following code which runs in a remote app instance, shows an
157+// example of a "quit" action being activated on the primary app
158+// instance over D-Bus. Here g_dbus_connection_flush() is called
159+// before `exit()`. Without g_dbus_connection_flush(), the "quit" action
160+// may fail to be activated on the primary instance.
161+//
162+// |[&lt;!-- language="C" --&gt;
163+// // call "quit" action on primary instance
164+// g_action_group_activate_action (G_ACTION_GROUP (app), "quit", NULL);
165+//
166+// // make sure the action is activated now
167+// g_dbus_connection_flush (...);
168+//
169+// g_debug ("application has been terminated. exiting.");
170+//
171+// exit (0);
172+// ]|
173+func (x *Application) ActivateAction(ActionNameVar string, ParameterVar *glib.Variant) {
174+
175+ gio.XGActionGroupActivateAction(x.GoPointer(), ActionNameVar, ParameterVar)
176+
177+}
178+
179+// Request for the state of the named action within @action_group to be
180+// changed to @value.
181+//
182+// The action must be stateful and @value must be of the correct type.
183+// See g_action_group_get_action_state_type().
184+//
185+// This call merely requests a change. The action may refuse to change
186+// its state or may change its state to something other than @value.
187+// See g_action_group_get_action_state_hint().
188+//
189+// If the @value GVariant is floating, it is consumed.
190+func (x *Application) ChangeActionState(ActionNameVar string, ValueVar *glib.Variant) {
191+
192+ gio.XGActionGroupChangeActionState(x.GoPointer(), ActionNameVar, ValueVar)
193+
194+}
195+
196+// Checks if the named action within @action_group is currently enabled.
197+//
198+// An action must be enabled in order to be activated or in order to
199+// have its state changed from outside callers.
200+func (x *Application) GetActionEnabled(ActionNameVar string) bool {
201+
202+ return gio.XGActionGroupGetActionEnabled(x.GoPointer(), ActionNameVar)
203+
204+}
205+
206+// Queries the type of the parameter that must be given when activating
207+// the named action within @action_group.
208+//
209+// When activating the action using g_action_group_activate_action(),
210+// the #GVariant given to that function must be of the type returned
211+// by this function.
212+//
213+// In the case that this function returns %NULL, you must not give any
214+// #GVariant, but %NULL instead.
215+//
216+// The parameter type of a particular action will never change but it is
217+// possible for an action to be removed and for a new action to be added
218+// with the same name but a different parameter type.
219+func (x *Application) GetActionParameterType(ActionNameVar string) *glib.VariantType {
220+
221+ return gio.XGActionGroupGetActionParameterType(x.GoPointer(), ActionNameVar)
222+
223+}
224+
225+// Queries the current state of the named action within @action_group.
226+//
227+// If the action is not stateful then %NULL will be returned. If the
228+// action is stateful then the type of the return value is the type
229+// given by g_action_group_get_action_state_type().
230+//
231+// The return value (if non-%NULL) should be freed with
232+// g_variant_unref() when it is no longer required.
233+func (x *Application) GetActionState(ActionNameVar string) *glib.Variant {
234+
235+ return gio.XGActionGroupGetActionState(x.GoPointer(), ActionNameVar)
236+
237+}
238+
239+// Requests a hint about the valid range of values for the state of the
240+// named action within @action_group.
241+//
242+// If %NULL is returned it either means that the action is not stateful
243+// or that there is no hint about the valid range of values for the
244+// state of the action.
245+//
246+// If a #GVariant array is returned then each item in the array is a
247+// possible value for the state. If a #GVariant pair (ie: two-tuple) is
248+// returned then the tuple specifies the inclusive lower and upper bound
249+// of valid values for the state.
250+//
251+// In any case, the information is merely a hint. It may be possible to
252+// have a state value outside of the hinted range and setting a value
253+// within the range may fail.
254+//
255+// The return value (if non-%NULL) should be freed with
256+// g_variant_unref() when it is no longer required.
257+func (x *Application) GetActionStateHint(ActionNameVar string) *glib.Variant {
258+
259+ return gio.XGActionGroupGetActionStateHint(x.GoPointer(), ActionNameVar)
260+
261+}
262+
263+// Queries the type of the state of the named action within
264+// @action_group.
265+//
266+// If the action is stateful then this function returns the
267+// #GVariantType of the state. All calls to
268+// g_action_group_change_action_state() must give a #GVariant of this
269+// type and g_action_group_get_action_state() will return a #GVariant
270+// of the same type.
271+//
272+// If the action is not stateful then this function will return %NULL.
273+// In that case, g_action_group_get_action_state() will return %NULL
274+// and you must not call g_action_group_change_action_state().
275+//
276+// The state type of a particular action will never change but it is
277+// possible for an action to be removed and for a new action to be added
278+// with the same name but a different state type.
279+func (x *Application) GetActionStateType(ActionNameVar string) *glib.VariantType {
280+
281+ return gio.XGActionGroupGetActionStateType(x.GoPointer(), ActionNameVar)
282+
283+}
284+
285+// Checks if the named action exists within @action_group.
286+func (x *Application) HasAction(ActionNameVar string) bool {
287+
288+ return gio.XGActionGroupHasAction(x.GoPointer(), ActionNameVar)
289+
290+}
291+
292+// Lists the actions contained within @action_group.
293+//
294+// The caller is responsible for freeing the list with g_strfreev() when
295+// it is no longer required.
296+func (x *Application) ListActions() uintptr {
297+
298+ return gio.XGActionGroupListActions(x.GoPointer())
299+
300+}
301+
302+// Queries all aspects of the named action within an @action_group.
303+//
304+// This function acquires the information available from
305+// g_action_group_has_action(), g_action_group_get_action_enabled(),
306+// g_action_group_get_action_parameter_type(),
307+// g_action_group_get_action_state_type(),
308+// g_action_group_get_action_state_hint() and
309+// g_action_group_get_action_state() with a single function call.
310+//
311+// This provides two main benefits.
312+//
313+// The first is the improvement in efficiency that comes with not having
314+// to perform repeated lookups of the action in order to discover
315+// different things about it. The second is that implementing
316+// #GActionGroup can now be done by only overriding this one virtual
317+// function.
318+//
319+// The interface provides a default implementation of this function that
320+// calls the individual functions, as required, to fetch the
321+// information. The interface also provides default implementations of
322+// those functions that call this function. All implementations,
323+// therefore, must override either this function or all of the others.
324+//
325+// If the action exists, %TRUE is returned and any of the requested
326+// fields (as indicated by having a non-%NULL reference passed in) are
327+// filled. If the action doesn't exist, %FALSE is returned and the
328+// fields may or may not have been modified.
329+func (x *Application) QueryAction(ActionNameVar string, EnabledVar bool, ParameterTypeVar **glib.VariantType, StateTypeVar **glib.VariantType, StateHintVar **glib.Variant, StateVar **glib.Variant) bool {
330+
331+ return gio.XGActionGroupQueryAction(x.GoPointer(), ActionNameVar, EnabledVar, ParameterTypeVar, StateTypeVar, StateHintVar, StateVar)
332+
333+}
334+
335+// Adds an action to the @action_map.
336+//
337+// If the action map already contains an action with the same name
338+// as @action then the old action is dropped from the action map.
339+//
340+// The action map takes its own reference on @action.
341+func (x *Application) AddAction(ActionVar gio.Action) {
342+
343+ gio.XGActionMapAddAction(x.GoPointer(), ActionVar.GoPointer())
344+
345+}
346+
347+// A convenience function for creating multiple #GSimpleAction instances
348+// and adding them to a #GActionMap.
349+//
350+// Each action is constructed as per one #GActionEntry.
351+//
352+// |[&lt;!-- language="C" --&gt;
353+// static void
354+// activate_quit (GSimpleAction *simple,
355+//
356+// GVariant *parameter,
357+// gpointer user_data)
358+//
359+// {
360+// exit (0);
361+// }
362+//
363+// static void
364+// activate_print_string (GSimpleAction *simple,
365+//
366+// GVariant *parameter,
367+// gpointer user_data)
368+//
369+// {
370+// g_print ("%s\n", g_variant_get_string (parameter, NULL));
371+// }
372+//
373+// static GActionGroup *
374+// create_action_group (void)
375+//
376+// {
377+// const GActionEntry entries[] = {
378+// { "quit", activate_quit },
379+// { "print-string", activate_print_string, "s" }
380+// };
381+// GSimpleActionGroup *group;
382+//
383+// group = g_simple_action_group_new ();
384+// g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);
385+//
386+// return G_ACTION_GROUP (group);
387+// }
388+//
389+// ]|
390+func (x *Application) AddActionEntries(EntriesVar uintptr, NEntriesVar int32, UserDataVar uintptr) {
391+
392+ gio.XGActionMapAddActionEntries(x.GoPointer(), EntriesVar, NEntriesVar, UserDataVar)
393+
394+}
395+
396+// Looks up the action with the name @action_name in @action_map.
397+//
398+// If no such action exists, returns %NULL.
399+func (x *Application) LookupAction(ActionNameVar string) *gio.ActionBase {
400+
401+ LookupActionPtr := gio.XGActionMapLookupAction(x.GoPointer(), ActionNameVar)
402+ if LookupActionPtr == 0 {
403+ return nil
404+ }
405+
406+ gobject.IncreaseRef(LookupActionPtr)
407+
408+ LookupActionCls := &gio.ActionBase{}
409+ LookupActionCls.Ptr = LookupActionPtr
410+ return LookupActionCls
411+
412+}
413+
414+// Removes the named action from the action map.
415+//
416+// If no action of this name is in the map then nothing happens.
417+func (x *Application) RemoveAction(ActionNameVar string) {
418+
419+ gio.XGActionMapRemoveAction(x.GoPointer(), ActionNameVar)
420+
421+}
422+
423+func init() {
424+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
425+ if err != nil {
426+ panic(err)
427+ }
428+
429+ core.PuregoSafeRegister(&xNewApplication, lib, "adw_application_new")
430+
431+ core.PuregoSafeRegister(&xApplicationGetStyleManager, lib, "adw_application_get_style_manager")
432+
433+}
A v4/adw/adw-avatar.go +364 -0
@@ -0,0 +1,364 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type AvatarClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A widget displaying an image, with a generated fallback.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="avatar-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="avatar.png" alt="avatar"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// `AdwAvatar` is a widget that shows a round avatar.
26+//
27+// `AdwAvatar` generates an avatar with the initials of the
28+// [property@Avatar:text] on top of a colored background.
29+//
30+// The color is picked based on the hash of the [property@Avatar:text].
31+//
32+// If [property@Avatar:show-initials] is set to `FALSE`,
33+// [property@Avatar:icon-name] or `avatar-default-symbolic` is shown instead of
34+// the initials.
35+//
36+// Use [property@Avatar:custom-image] to set a custom image.
37+//
38+// ## CSS nodes
39+//
40+// `AdwAvatar` has a single CSS node with name `avatar`.
41+type Avatar struct {
42+ gtk.Widget
43+}
44+
45+func AvatarNewFromInternalPtr(ptr uintptr) *Avatar {
46+ cls := &Avatar{}
47+ cls.Ptr = ptr
48+ return cls
49+}
50+
51+var xNewAvatar func(int32, string, bool) uintptr
52+
53+// Creates a new `AdwAvatar`.
54+func NewAvatar(SizeVar int32, TextVar string, ShowInitialsVar bool) *gtk.Widget {
55+ NewAvatarPtr := xNewAvatar(SizeVar, TextVar, ShowInitialsVar)
56+ if NewAvatarPtr == 0 {
57+ return nil
58+ }
59+
60+ gobject.IncreaseRef(NewAvatarPtr)
61+
62+ NewAvatarCls := &gtk.Widget{}
63+ NewAvatarCls.Ptr = NewAvatarPtr
64+ return NewAvatarCls
65+}
66+
67+var xAvatarDrawToTexture func(uintptr, int32) uintptr
68+
69+// Renders @self into a [class@Gdk.Texture] at @scale_factor.
70+//
71+// This can be used to export the fallback avatar.
72+func (x *Avatar) DrawToTexture(ScaleFactorVar int32) *gdk.Texture {
73+
74+ DrawToTexturePtr := xAvatarDrawToTexture(x.GoPointer(), ScaleFactorVar)
75+ if DrawToTexturePtr == 0 {
76+ return nil
77+ }
78+
79+ DrawToTextureCls := &gdk.Texture{}
80+ DrawToTextureCls.Ptr = DrawToTexturePtr
81+ return DrawToTextureCls
82+
83+}
84+
85+var xAvatarGetCustomImage func(uintptr) uintptr
86+
87+// Gets the custom image paintable.
88+func (x *Avatar) GetCustomImage() *gdk.PaintableBase {
89+
90+ GetCustomImagePtr := xAvatarGetCustomImage(x.GoPointer())
91+ if GetCustomImagePtr == 0 {
92+ return nil
93+ }
94+
95+ gobject.IncreaseRef(GetCustomImagePtr)
96+
97+ GetCustomImageCls := &gdk.PaintableBase{}
98+ GetCustomImageCls.Ptr = GetCustomImagePtr
99+ return GetCustomImageCls
100+
101+}
102+
103+var xAvatarGetIconName func(uintptr) string
104+
105+// Gets the name of an icon to use as a fallback.
106+func (x *Avatar) GetIconName() string {
107+
108+ return xAvatarGetIconName(x.GoPointer())
109+
110+}
111+
112+var xAvatarGetShowInitials func(uintptr) bool
113+
114+// Gets whether initials are used instead of an icon on the fallback avatar.
115+func (x *Avatar) GetShowInitials() bool {
116+
117+ return xAvatarGetShowInitials(x.GoPointer())
118+
119+}
120+
121+var xAvatarGetSize func(uintptr) int32
122+
123+// Gets the size of the avatar.
124+func (x *Avatar) GetSize() int32 {
125+
126+ return xAvatarGetSize(x.GoPointer())
127+
128+}
129+
130+var xAvatarGetText func(uintptr) string
131+
132+// Gets the text used to generate the fallback initials and color.
133+func (x *Avatar) GetText() string {
134+
135+ return xAvatarGetText(x.GoPointer())
136+
137+}
138+
139+var xAvatarSetCustomImage func(uintptr, uintptr)
140+
141+// Sets the custom image paintable.
142+//
143+// Custom image is displayed instead of initials or icon.
144+func (x *Avatar) SetCustomImage(CustomImageVar gdk.Paintable) {
145+
146+ xAvatarSetCustomImage(x.GoPointer(), CustomImageVar.GoPointer())
147+
148+}
149+
150+var xAvatarSetIconName func(uintptr, string)
151+
152+// Sets the name of an icon to use as a fallback.
153+//
154+// If no name is set, `avatar-default-symbolic` will be used.
155+func (x *Avatar) SetIconName(IconNameVar string) {
156+
157+ xAvatarSetIconName(x.GoPointer(), IconNameVar)
158+
159+}
160+
161+var xAvatarSetShowInitials func(uintptr, bool)
162+
163+// Sets whether to use initials instead of an icon on the fallback avatar.
164+//
165+// See [property@Avatar:icon-name] for how to change the fallback icon.
166+func (x *Avatar) SetShowInitials(ShowInitialsVar bool) {
167+
168+ xAvatarSetShowInitials(x.GoPointer(), ShowInitialsVar)
169+
170+}
171+
172+var xAvatarSetSize func(uintptr, int32)
173+
174+// Sets the size of the avatar.
175+func (x *Avatar) SetSize(SizeVar int32) {
176+
177+ xAvatarSetSize(x.GoPointer(), SizeVar)
178+
179+}
180+
181+var xAvatarSetText func(uintptr, string)
182+
183+// Sets the text used to generate the fallback initials and color.
184+//
185+// It's only used to generate the color if [property@Avatar:show-initials] is
186+// `FALSE`.
187+func (x *Avatar) SetText(TextVar string) {
188+
189+ xAvatarSetText(x.GoPointer(), TextVar)
190+
191+}
192+
193+func (c *Avatar) GoPointer() uintptr {
194+ return c.Ptr
195+}
196+
197+func (c *Avatar) SetGoPointer(ptr uintptr) {
198+ c.Ptr = ptr
199+}
200+
201+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
202+func (x *Avatar) GetAccessibleRole() gtk.AccessibleRole {
203+
204+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
205+
206+}
207+
208+// Resets the accessible @property to its default value.
209+func (x *Avatar) ResetProperty(PropertyVar gtk.AccessibleProperty) {
210+
211+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
212+
213+}
214+
215+// Resets the accessible @relation to its default value.
216+func (x *Avatar) ResetRelation(RelationVar gtk.AccessibleRelation) {
217+
218+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
219+
220+}
221+
222+// Resets the accessible @state to its default value.
223+func (x *Avatar) ResetState(StateVar gtk.AccessibleState) {
224+
225+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
226+
227+}
228+
229+// Updates a list of accessible properties.
230+//
231+// See the [enum@Gtk.AccessibleProperty] documentation for the
232+// value types of accessible properties.
233+//
234+// This function should be called by `GtkWidget` types whenever
235+// an accessible property change must be communicated to assistive
236+// technologies.
237+//
238+// Example:
239+// ```c
240+// value = gtk_adjustment_get_value (adjustment);
241+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
242+//
243+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
244+// -1);
245+//
246+// ```
247+func (x *Avatar) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
248+
249+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
250+
251+}
252+
253+// Updates an array of accessible properties.
254+//
255+// This function should be called by `GtkWidget` types whenever an accessible
256+// property change must be communicated to assistive technologies.
257+//
258+// This function is meant to be used by language bindings.
259+func (x *Avatar) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
260+
261+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
262+
263+}
264+
265+// Updates a list of accessible relations.
266+//
267+// This function should be called by `GtkWidget` types whenever an accessible
268+// relation change must be communicated to assistive technologies.
269+//
270+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
271+// you should pass each reference individually, followed by %NULL, e.g.
272+//
273+// ```c
274+// gtk_accessible_update_relation (accessible,
275+//
276+// GTK_ACCESSIBLE_RELATION_CONTROLS,
277+// ref1, NULL,
278+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
279+// ref1, ref2, ref3, NULL,
280+// -1);
281+//
282+// ```
283+func (x *Avatar) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
284+
285+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
286+
287+}
288+
289+// Updates an array of accessible relations.
290+//
291+// This function should be called by `GtkWidget` types whenever an accessible
292+// relation change must be communicated to assistive technologies.
293+//
294+// This function is meant to be used by language bindings.
295+func (x *Avatar) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
296+
297+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
298+
299+}
300+
301+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
302+// documentation for the value types of accessible states.
303+//
304+// This function should be called by `GtkWidget` types whenever an accessible
305+// state change must be communicated to assistive technologies.
306+//
307+// Example:
308+// ```c
309+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
310+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
311+//
312+// GTK_ACCESSIBLE_STATE_CHECKED, value,
313+// -1);
314+//
315+// ```
316+func (x *Avatar) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
317+
318+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
319+
320+}
321+
322+// Updates an array of accessible states.
323+//
324+// This function should be called by `GtkWidget` types whenever an accessible
325+// state change must be communicated to assistive technologies.
326+//
327+// This function is meant to be used by language bindings.
328+func (x *Avatar) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
329+
330+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
331+
332+}
333+
334+// Gets the ID of the @buildable object.
335+//
336+// `GtkBuilder` sets the name based on the ID attribute
337+// of the &lt;object&gt; tag used to construct the @buildable.
338+func (x *Avatar) GetBuildableId() string {
339+
340+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
341+
342+}
343+
344+func init() {
345+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
346+ if err != nil {
347+ panic(err)
348+ }
349+
350+ core.PuregoSafeRegister(&xNewAvatar, lib, "adw_avatar_new")
351+
352+ core.PuregoSafeRegister(&xAvatarDrawToTexture, lib, "adw_avatar_draw_to_texture")
353+ core.PuregoSafeRegister(&xAvatarGetCustomImage, lib, "adw_avatar_get_custom_image")
354+ core.PuregoSafeRegister(&xAvatarGetIconName, lib, "adw_avatar_get_icon_name")
355+ core.PuregoSafeRegister(&xAvatarGetShowInitials, lib, "adw_avatar_get_show_initials")
356+ core.PuregoSafeRegister(&xAvatarGetSize, lib, "adw_avatar_get_size")
357+ core.PuregoSafeRegister(&xAvatarGetText, lib, "adw_avatar_get_text")
358+ core.PuregoSafeRegister(&xAvatarSetCustomImage, lib, "adw_avatar_set_custom_image")
359+ core.PuregoSafeRegister(&xAvatarSetIconName, lib, "adw_avatar_set_icon_name")
360+ core.PuregoSafeRegister(&xAvatarSetShowInitials, lib, "adw_avatar_set_show_initials")
361+ core.PuregoSafeRegister(&xAvatarSetSize, lib, "adw_avatar_set_size")
362+ core.PuregoSafeRegister(&xAvatarSetText, lib, "adw_avatar_set_text")
363+
364+}
A v4/adw/adw-banner.go +412 -0
@@ -0,0 +1,412 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type BannerClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A bar with contextual information.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="banner-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="banner.png" alt="banner"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// Banners are hidden by default, use [property@Banner:revealed] to show them.
26+//
27+// Banners have a title, set with [property@Banner:title]. Titles can be marked
28+// up with Pango markup, use [property@Banner:use-markup] to enable it.
29+//
30+// The title will be shown centered or left-aligned depending on available
31+// space.
32+//
33+// Banners can optionally have a button with text on it, set through
34+// [property@Banner:button-label]. The button can be used with a `GAction`,
35+// or with the [signal@Banner::button-clicked] signal.
36+//
37+// ## CSS nodes
38+//
39+// `AdwBanner` has a main CSS node with the name `banner`.
40+type Banner struct {
41+ gtk.Widget
42+}
43+
44+func BannerNewFromInternalPtr(ptr uintptr) *Banner {
45+ cls := &Banner{}
46+ cls.Ptr = ptr
47+ return cls
48+}
49+
50+var xNewBanner func(string) uintptr
51+
52+// Creates a new `AdwBanner`.
53+func NewBanner(TitleVar string) *gtk.Widget {
54+ NewBannerPtr := xNewBanner(TitleVar)
55+ if NewBannerPtr == 0 {
56+ return nil
57+ }
58+
59+ gobject.IncreaseRef(NewBannerPtr)
60+
61+ NewBannerCls := &gtk.Widget{}
62+ NewBannerCls.Ptr = NewBannerPtr
63+ return NewBannerCls
64+}
65+
66+var xBannerGetButtonLabel func(uintptr) string
67+
68+// Gets the button label for @self.
69+func (x *Banner) GetButtonLabel() string {
70+
71+ return xBannerGetButtonLabel(x.GoPointer())
72+
73+}
74+
75+var xBannerGetRevealed func(uintptr) bool
76+
77+// Gets if a banner is revealed
78+func (x *Banner) GetRevealed() bool {
79+
80+ return xBannerGetRevealed(x.GoPointer())
81+
82+}
83+
84+var xBannerGetTitle func(uintptr) string
85+
86+// Gets the title for @self.
87+func (x *Banner) GetTitle() string {
88+
89+ return xBannerGetTitle(x.GoPointer())
90+
91+}
92+
93+var xBannerGetUseMarkup func(uintptr) bool
94+
95+// Gets whether to use Pango markup for the banner title.
96+func (x *Banner) GetUseMarkup() bool {
97+
98+ return xBannerGetUseMarkup(x.GoPointer())
99+
100+}
101+
102+var xBannerSetButtonLabel func(uintptr, string)
103+
104+// Sets the button label for @self.
105+//
106+// If set to `""` or `NULL`, the button won't be shown.
107+//
108+// The button can be used with a `GAction`, or with the
109+// [signal@Banner::button-clicked] signal.
110+func (x *Banner) SetButtonLabel(LabelVar string) {
111+
112+ xBannerSetButtonLabel(x.GoPointer(), LabelVar)
113+
114+}
115+
116+var xBannerSetRevealed func(uintptr, bool)
117+
118+// Sets whether a banner should be revealed
119+func (x *Banner) SetRevealed(RevealedVar bool) {
120+
121+ xBannerSetRevealed(x.GoPointer(), RevealedVar)
122+
123+}
124+
125+var xBannerSetTitle func(uintptr, string)
126+
127+// Sets the title for this banner.
128+//
129+// See also: [property@Banner:use-markup].
130+func (x *Banner) SetTitle(TitleVar string) {
131+
132+ xBannerSetTitle(x.GoPointer(), TitleVar)
133+
134+}
135+
136+var xBannerSetUseMarkup func(uintptr, bool)
137+
138+// Sets whether to use Pango markup for the banner title.
139+//
140+// See also [func@Pango.parse_markup].
141+func (x *Banner) SetUseMarkup(UseMarkupVar bool) {
142+
143+ xBannerSetUseMarkup(x.GoPointer(), UseMarkupVar)
144+
145+}
146+
147+func (c *Banner) GoPointer() uintptr {
148+ return c.Ptr
149+}
150+
151+func (c *Banner) SetGoPointer(ptr uintptr) {
152+ c.Ptr = ptr
153+}
154+
155+// This signal is emitted after the action button has been clicked.
156+//
157+// It can be used as an alternative to setting an action.
158+func (x *Banner) ConnectButtonClicked(cb func(Banner)) {
159+ fcb := func(clsPtr uintptr) {
160+ fa := Banner{}
161+ fa.Ptr = clsPtr
162+
163+ cb(fa)
164+
165+ }
166+ gobject.ObjectConnect(x.GoPointer(), "signal::button-clicked", purego.NewCallback(fcb))
167+}
168+
169+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
170+func (x *Banner) GetAccessibleRole() gtk.AccessibleRole {
171+
172+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
173+
174+}
175+
176+// Resets the accessible @property to its default value.
177+func (x *Banner) ResetProperty(PropertyVar gtk.AccessibleProperty) {
178+
179+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
180+
181+}
182+
183+// Resets the accessible @relation to its default value.
184+func (x *Banner) ResetRelation(RelationVar gtk.AccessibleRelation) {
185+
186+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
187+
188+}
189+
190+// Resets the accessible @state to its default value.
191+func (x *Banner) ResetState(StateVar gtk.AccessibleState) {
192+
193+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
194+
195+}
196+
197+// Updates a list of accessible properties.
198+//
199+// See the [enum@Gtk.AccessibleProperty] documentation for the
200+// value types of accessible properties.
201+//
202+// This function should be called by `GtkWidget` types whenever
203+// an accessible property change must be communicated to assistive
204+// technologies.
205+//
206+// Example:
207+// ```c
208+// value = gtk_adjustment_get_value (adjustment);
209+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
210+//
211+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
212+// -1);
213+//
214+// ```
215+func (x *Banner) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
216+
217+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
218+
219+}
220+
221+// Updates an array of accessible properties.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// property change must be communicated to assistive technologies.
225+//
226+// This function is meant to be used by language bindings.
227+func (x *Banner) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
228+
229+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
230+
231+}
232+
233+// Updates a list of accessible relations.
234+//
235+// This function should be called by `GtkWidget` types whenever an accessible
236+// relation change must be communicated to assistive technologies.
237+//
238+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
239+// you should pass each reference individually, followed by %NULL, e.g.
240+//
241+// ```c
242+// gtk_accessible_update_relation (accessible,
243+//
244+// GTK_ACCESSIBLE_RELATION_CONTROLS,
245+// ref1, NULL,
246+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
247+// ref1, ref2, ref3, NULL,
248+// -1);
249+//
250+// ```
251+func (x *Banner) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
252+
253+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
254+
255+}
256+
257+// Updates an array of accessible relations.
258+//
259+// This function should be called by `GtkWidget` types whenever an accessible
260+// relation change must be communicated to assistive technologies.
261+//
262+// This function is meant to be used by language bindings.
263+func (x *Banner) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
264+
265+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
266+
267+}
268+
269+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
270+// documentation for the value types of accessible states.
271+//
272+// This function should be called by `GtkWidget` types whenever an accessible
273+// state change must be communicated to assistive technologies.
274+//
275+// Example:
276+// ```c
277+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
278+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
279+//
280+// GTK_ACCESSIBLE_STATE_CHECKED, value,
281+// -1);
282+//
283+// ```
284+func (x *Banner) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
285+
286+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
287+
288+}
289+
290+// Updates an array of accessible states.
291+//
292+// This function should be called by `GtkWidget` types whenever an accessible
293+// state change must be communicated to assistive technologies.
294+//
295+// This function is meant to be used by language bindings.
296+func (x *Banner) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
297+
298+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
299+
300+}
301+
302+// Gets the action name for @actionable.
303+func (x *Banner) GetActionName() string {
304+
305+ return gtk.XGtkActionableGetActionName(x.GoPointer())
306+
307+}
308+
309+// Gets the current target value of @actionable.
310+func (x *Banner) GetActionTargetValue() *glib.Variant {
311+
312+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
313+
314+}
315+
316+// Specifies the name of the action with which this widget should be
317+// associated.
318+//
319+// If @action_name is %NULL then the widget will be unassociated from
320+// any previous action.
321+//
322+// Usually this function is used when the widget is located (or will be
323+// located) within the hierarchy of a `GtkApplicationWindow`.
324+//
325+// Names are of the form “win.save” or “app.quit” for actions on the
326+// containing [class@ApplicationWindow] or its associated [class@Application],
327+// respectively. This is the same form used for actions in the [class@Gio.Menu]
328+// associated with the window.
329+func (x *Banner) SetActionName(ActionNameVar string) {
330+
331+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
332+
333+}
334+
335+// Sets the target of an actionable widget.
336+//
337+// This is a convenience function that calls [ctor@GLib.Variant.new] for
338+// @format_string and uses the result to call
339+// [method@Gtk.Actionable.set_action_target_value].
340+//
341+// If you are setting a string-valued target and want to set
342+// the action name at the same time, you can use
343+// [method@Gtk.Actionable.set_detailed_action_name].
344+func (x *Banner) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
345+
346+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
347+
348+}
349+
350+// Sets the target value of an actionable widget.
351+//
352+// If @target_value is %NULL then the target value is unset.
353+//
354+// The target value has two purposes. First, it is used as the parameter
355+// to activation of the action associated with the `GtkActionable` widget.
356+// Second, it is used to determine if the widget should be rendered as
357+// “active” — the widget is active if the state is equal to the given target.
358+//
359+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
360+// with string state in a typical “radio button” situation. Each button
361+// will be associated with the same action, but with a different target
362+// value for that action. Clicking on a particular button will activate
363+// the action with the target of that button, which will typically cause
364+// the action’s state to change to that value. Since the action’s state
365+// is now equal to the target value of the button, the button will now
366+// be rendered as active (and the other buttons, with different targets,
367+// rendered inactive).
368+func (x *Banner) SetActionTargetValue(TargetValueVar *glib.Variant) {
369+
370+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
371+
372+}
373+
374+// Sets the action-name and associated string target value of an
375+// actionable widget.
376+//
377+// @detailed_action_name is a string in the format accepted by
378+// [func@Gio.Action.parse_detailed_name].
379+func (x *Banner) SetDetailedActionName(DetailedActionNameVar string) {
380+
381+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
382+
383+}
384+
385+// Gets the ID of the @buildable object.
386+//
387+// `GtkBuilder` sets the name based on the ID attribute
388+// of the &lt;object&gt; tag used to construct the @buildable.
389+func (x *Banner) GetBuildableId() string {
390+
391+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
392+
393+}
394+
395+func init() {
396+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
397+ if err != nil {
398+ panic(err)
399+ }
400+
401+ core.PuregoSafeRegister(&xNewBanner, lib, "adw_banner_new")
402+
403+ core.PuregoSafeRegister(&xBannerGetButtonLabel, lib, "adw_banner_get_button_label")
404+ core.PuregoSafeRegister(&xBannerGetRevealed, lib, "adw_banner_get_revealed")
405+ core.PuregoSafeRegister(&xBannerGetTitle, lib, "adw_banner_get_title")
406+ core.PuregoSafeRegister(&xBannerGetUseMarkup, lib, "adw_banner_get_use_markup")
407+ core.PuregoSafeRegister(&xBannerSetButtonLabel, lib, "adw_banner_set_button_label")
408+ core.PuregoSafeRegister(&xBannerSetRevealed, lib, "adw_banner_set_revealed")
409+ core.PuregoSafeRegister(&xBannerSetTitle, lib, "adw_banner_set_title")
410+ core.PuregoSafeRegister(&xBannerSetUseMarkup, lib, "adw_banner_set_use_markup")
411+
412+}
A v4/adw/adw-bin.go +244 -0
@@ -0,0 +1,244 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type BinClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A widget with one child.
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="bin-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="bin.png" alt="bin"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// The `AdwBin` widget has only one child, set with the [property@Bin:child]
25+// property.
26+//
27+// It is useful for deriving subclasses, since it provides common code needed
28+// for handling a single child widget.
29+type Bin struct {
30+ gtk.Widget
31+}
32+
33+func BinNewFromInternalPtr(ptr uintptr) *Bin {
34+ cls := &Bin{}
35+ cls.Ptr = ptr
36+ return cls
37+}
38+
39+var xNewBin func() uintptr
40+
41+// Creates a new `AdwBin`.
42+func NewBin() *gtk.Widget {
43+ NewBinPtr := xNewBin()
44+ if NewBinPtr == 0 {
45+ return nil
46+ }
47+
48+ gobject.IncreaseRef(NewBinPtr)
49+
50+ NewBinCls := &gtk.Widget{}
51+ NewBinCls.Ptr = NewBinPtr
52+ return NewBinCls
53+}
54+
55+var xBinGetChild func(uintptr) uintptr
56+
57+// Gets the child widget of @self.
58+func (x *Bin) GetChild() *gtk.Widget {
59+
60+ GetChildPtr := xBinGetChild(x.GoPointer())
61+ if GetChildPtr == 0 {
62+ return nil
63+ }
64+
65+ gobject.IncreaseRef(GetChildPtr)
66+
67+ GetChildCls := &gtk.Widget{}
68+ GetChildCls.Ptr = GetChildPtr
69+ return GetChildCls
70+
71+}
72+
73+var xBinSetChild func(uintptr, uintptr)
74+
75+// Sets the child widget of @self.
76+func (x *Bin) SetChild(ChildVar *gtk.Widget) {
77+
78+ xBinSetChild(x.GoPointer(), ChildVar.GoPointer())
79+
80+}
81+
82+func (c *Bin) GoPointer() uintptr {
83+ return c.Ptr
84+}
85+
86+func (c *Bin) SetGoPointer(ptr uintptr) {
87+ c.Ptr = ptr
88+}
89+
90+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
91+func (x *Bin) GetAccessibleRole() gtk.AccessibleRole {
92+
93+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
94+
95+}
96+
97+// Resets the accessible @property to its default value.
98+func (x *Bin) ResetProperty(PropertyVar gtk.AccessibleProperty) {
99+
100+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
101+
102+}
103+
104+// Resets the accessible @relation to its default value.
105+func (x *Bin) ResetRelation(RelationVar gtk.AccessibleRelation) {
106+
107+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
108+
109+}
110+
111+// Resets the accessible @state to its default value.
112+func (x *Bin) ResetState(StateVar gtk.AccessibleState) {
113+
114+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
115+
116+}
117+
118+// Updates a list of accessible properties.
119+//
120+// See the [enum@Gtk.AccessibleProperty] documentation for the
121+// value types of accessible properties.
122+//
123+// This function should be called by `GtkWidget` types whenever
124+// an accessible property change must be communicated to assistive
125+// technologies.
126+//
127+// Example:
128+// ```c
129+// value = gtk_adjustment_get_value (adjustment);
130+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
131+//
132+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
133+// -1);
134+//
135+// ```
136+func (x *Bin) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
137+
138+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
139+
140+}
141+
142+// Updates an array of accessible properties.
143+//
144+// This function should be called by `GtkWidget` types whenever an accessible
145+// property change must be communicated to assistive technologies.
146+//
147+// This function is meant to be used by language bindings.
148+func (x *Bin) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
149+
150+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
151+
152+}
153+
154+// Updates a list of accessible relations.
155+//
156+// This function should be called by `GtkWidget` types whenever an accessible
157+// relation change must be communicated to assistive technologies.
158+//
159+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
160+// you should pass each reference individually, followed by %NULL, e.g.
161+//
162+// ```c
163+// gtk_accessible_update_relation (accessible,
164+//
165+// GTK_ACCESSIBLE_RELATION_CONTROLS,
166+// ref1, NULL,
167+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
168+// ref1, ref2, ref3, NULL,
169+// -1);
170+//
171+// ```
172+func (x *Bin) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
173+
174+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
175+
176+}
177+
178+// Updates an array of accessible relations.
179+//
180+// This function should be called by `GtkWidget` types whenever an accessible
181+// relation change must be communicated to assistive technologies.
182+//
183+// This function is meant to be used by language bindings.
184+func (x *Bin) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
185+
186+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
187+
188+}
189+
190+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
191+// documentation for the value types of accessible states.
192+//
193+// This function should be called by `GtkWidget` types whenever an accessible
194+// state change must be communicated to assistive technologies.
195+//
196+// Example:
197+// ```c
198+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
199+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
200+//
201+// GTK_ACCESSIBLE_STATE_CHECKED, value,
202+// -1);
203+//
204+// ```
205+func (x *Bin) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
206+
207+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
208+
209+}
210+
211+// Updates an array of accessible states.
212+//
213+// This function should be called by `GtkWidget` types whenever an accessible
214+// state change must be communicated to assistive technologies.
215+//
216+// This function is meant to be used by language bindings.
217+func (x *Bin) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
218+
219+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
220+
221+}
222+
223+// Gets the ID of the @buildable object.
224+//
225+// `GtkBuilder` sets the name based on the ID attribute
226+// of the &lt;object&gt; tag used to construct the @buildable.
227+func (x *Bin) GetBuildableId() string {
228+
229+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
230+
231+}
232+
233+func init() {
234+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
235+ if err != nil {
236+ panic(err)
237+ }
238+
239+ core.PuregoSafeRegister(&xNewBin, lib, "adw_bin_new")
240+
241+ core.PuregoSafeRegister(&xBinGetChild, lib, "adw_bin_get_child")
242+ core.PuregoSafeRegister(&xBinSetChild, lib, "adw_bin_set_child")
243+
244+}
A v4/adw/adw-button-content.go +317 -0
@@ -0,0 +1,317 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type ButtonContentClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A helper widget for creating buttons.
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="button-content-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="button-content.png" alt="button-content"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// `AdwButtonContent` is a box-like widget with an icon and a label.
25+//
26+// It's intended to be used as a direct child of [class@Gtk.Button],
27+// [class@Gtk.MenuButton] or [class@SplitButton], when they need to have both an
28+// icon and a label, as follows:
29+//
30+// ```xml
31+// &lt;object class="GtkButton"&gt;
32+//
33+// &lt;property name="child"&gt;
34+// &lt;object class="AdwButtonContent"&gt;
35+// &lt;property name="icon-name"&gt;document-open-symbolic&lt;/property&gt;
36+// &lt;property name="label" translatable="yes"&gt;_Open&lt;/property&gt;
37+// &lt;property name="use-underline"&gt;True&lt;/property&gt;
38+// &lt;/object&gt;
39+// &lt;/property&gt;
40+//
41+// &lt;/object&gt;
42+// ```
43+//
44+// `AdwButtonContent` handles style classes and connecting the mnemonic to the
45+// button automatically.
46+//
47+// ## CSS nodes
48+//
49+// ```
50+// buttoncontent
51+// ├── image
52+// ╰── label
53+// ```
54+//
55+// `AdwButtonContent`'s CSS node is called `buttoncontent`. It contains the
56+// subnodes `image` and `label`.
57+//
58+// When inside a `GtkButton` or `AdwSplitButton`, the button will receive the
59+// `.image-text-button` style class. When inside a `GtkMenuButton`, the
60+// internal `GtkButton` will receive it instead.
61+//
62+// ## Accessibility
63+//
64+// `AdwButtonContent` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
65+type ButtonContent struct {
66+ gtk.Widget
67+}
68+
69+func ButtonContentNewFromInternalPtr(ptr uintptr) *ButtonContent {
70+ cls := &ButtonContent{}
71+ cls.Ptr = ptr
72+ return cls
73+}
74+
75+var xNewButtonContent func() uintptr
76+
77+// Creates a new `AdwButtonContent`.
78+func NewButtonContent() *gtk.Widget {
79+ NewButtonContentPtr := xNewButtonContent()
80+ if NewButtonContentPtr == 0 {
81+ return nil
82+ }
83+
84+ gobject.IncreaseRef(NewButtonContentPtr)
85+
86+ NewButtonContentCls := &gtk.Widget{}
87+ NewButtonContentCls.Ptr = NewButtonContentPtr
88+ return NewButtonContentCls
89+}
90+
91+var xButtonContentGetIconName func(uintptr) string
92+
93+// Gets the name of the displayed icon.
94+func (x *ButtonContent) GetIconName() string {
95+
96+ return xButtonContentGetIconName(x.GoPointer())
97+
98+}
99+
100+var xButtonContentGetLabel func(uintptr) string
101+
102+// Gets the displayed label.
103+func (x *ButtonContent) GetLabel() string {
104+
105+ return xButtonContentGetLabel(x.GoPointer())
106+
107+}
108+
109+var xButtonContentGetUseUnderline func(uintptr) bool
110+
111+// Gets whether an underline in the text indicates a mnemonic.
112+func (x *ButtonContent) GetUseUnderline() bool {
113+
114+ return xButtonContentGetUseUnderline(x.GoPointer())
115+
116+}
117+
118+var xButtonContentSetIconName func(uintptr, string)
119+
120+// Sets the name of the displayed icon.
121+//
122+// If empty, the icon is not shown.
123+func (x *ButtonContent) SetIconName(IconNameVar string) {
124+
125+ xButtonContentSetIconName(x.GoPointer(), IconNameVar)
126+
127+}
128+
129+var xButtonContentSetLabel func(uintptr, string)
130+
131+// Sets the displayed label.
132+func (x *ButtonContent) SetLabel(LabelVar string) {
133+
134+ xButtonContentSetLabel(x.GoPointer(), LabelVar)
135+
136+}
137+
138+var xButtonContentSetUseUnderline func(uintptr, bool)
139+
140+// Sets whether an underline in the text indicates a mnemonic.
141+//
142+// The mnemonic can be used to activate the parent button.
143+//
144+// See [property@ButtonContent:label].
145+func (x *ButtonContent) SetUseUnderline(UseUnderlineVar bool) {
146+
147+ xButtonContentSetUseUnderline(x.GoPointer(), UseUnderlineVar)
148+
149+}
150+
151+func (c *ButtonContent) GoPointer() uintptr {
152+ return c.Ptr
153+}
154+
155+func (c *ButtonContent) SetGoPointer(ptr uintptr) {
156+ c.Ptr = ptr
157+}
158+
159+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
160+func (x *ButtonContent) GetAccessibleRole() gtk.AccessibleRole {
161+
162+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
163+
164+}
165+
166+// Resets the accessible @property to its default value.
167+func (x *ButtonContent) ResetProperty(PropertyVar gtk.AccessibleProperty) {
168+
169+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
170+
171+}
172+
173+// Resets the accessible @relation to its default value.
174+func (x *ButtonContent) ResetRelation(RelationVar gtk.AccessibleRelation) {
175+
176+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
177+
178+}
179+
180+// Resets the accessible @state to its default value.
181+func (x *ButtonContent) ResetState(StateVar gtk.AccessibleState) {
182+
183+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
184+
185+}
186+
187+// Updates a list of accessible properties.
188+//
189+// See the [enum@Gtk.AccessibleProperty] documentation for the
190+// value types of accessible properties.
191+//
192+// This function should be called by `GtkWidget` types whenever
193+// an accessible property change must be communicated to assistive
194+// technologies.
195+//
196+// Example:
197+// ```c
198+// value = gtk_adjustment_get_value (adjustment);
199+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
200+//
201+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
202+// -1);
203+//
204+// ```
205+func (x *ButtonContent) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
206+
207+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
208+
209+}
210+
211+// Updates an array of accessible properties.
212+//
213+// This function should be called by `GtkWidget` types whenever an accessible
214+// property change must be communicated to assistive technologies.
215+//
216+// This function is meant to be used by language bindings.
217+func (x *ButtonContent) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
218+
219+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
220+
221+}
222+
223+// Updates a list of accessible relations.
224+//
225+// This function should be called by `GtkWidget` types whenever an accessible
226+// relation change must be communicated to assistive technologies.
227+//
228+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
229+// you should pass each reference individually, followed by %NULL, e.g.
230+//
231+// ```c
232+// gtk_accessible_update_relation (accessible,
233+//
234+// GTK_ACCESSIBLE_RELATION_CONTROLS,
235+// ref1, NULL,
236+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
237+// ref1, ref2, ref3, NULL,
238+// -1);
239+//
240+// ```
241+func (x *ButtonContent) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
242+
243+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
244+
245+}
246+
247+// Updates an array of accessible relations.
248+//
249+// This function should be called by `GtkWidget` types whenever an accessible
250+// relation change must be communicated to assistive technologies.
251+//
252+// This function is meant to be used by language bindings.
253+func (x *ButtonContent) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
254+
255+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
256+
257+}
258+
259+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
260+// documentation for the value types of accessible states.
261+//
262+// This function should be called by `GtkWidget` types whenever an accessible
263+// state change must be communicated to assistive technologies.
264+//
265+// Example:
266+// ```c
267+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
268+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
269+//
270+// GTK_ACCESSIBLE_STATE_CHECKED, value,
271+// -1);
272+//
273+// ```
274+func (x *ButtonContent) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
275+
276+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
277+
278+}
279+
280+// Updates an array of accessible states.
281+//
282+// This function should be called by `GtkWidget` types whenever an accessible
283+// state change must be communicated to assistive technologies.
284+//
285+// This function is meant to be used by language bindings.
286+func (x *ButtonContent) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
287+
288+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
289+
290+}
291+
292+// Gets the ID of the @buildable object.
293+//
294+// `GtkBuilder` sets the name based on the ID attribute
295+// of the &lt;object&gt; tag used to construct the @buildable.
296+func (x *ButtonContent) GetBuildableId() string {
297+
298+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
299+
300+}
301+
302+func init() {
303+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
304+ if err != nil {
305+ panic(err)
306+ }
307+
308+ core.PuregoSafeRegister(&xNewButtonContent, lib, "adw_button_content_new")
309+
310+ core.PuregoSafeRegister(&xButtonContentGetIconName, lib, "adw_button_content_get_icon_name")
311+ core.PuregoSafeRegister(&xButtonContentGetLabel, lib, "adw_button_content_get_label")
312+ core.PuregoSafeRegister(&xButtonContentGetUseUnderline, lib, "adw_button_content_get_use_underline")
313+ core.PuregoSafeRegister(&xButtonContentSetIconName, lib, "adw_button_content_set_icon_name")
314+ core.PuregoSafeRegister(&xButtonContentSetLabel, lib, "adw_button_content_set_label")
315+ core.PuregoSafeRegister(&xButtonContentSetUseUnderline, lib, "adw_button_content_set_use_underline")
316+
317+}
A v4/adw/adw-carousel-indicator-dots.go +264 -0
@@ -0,0 +1,264 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type CarouselIndicatorDotsClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A dots indicator for [class@Carousel].
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="carousel-indicator-dots-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="carousel-indicator-dots.png" alt="carousel-indicator-dots"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// The `AdwCarouselIndicatorDots` widget shows a set of dots for each page of a
25+// given [class@Carousel]. The dot representing the carousel's active page is
26+// larger and more opaque than the others, the transition to the active and
27+// inactive state is gradual to match the carousel's position.
28+//
29+// See also [class@CarouselIndicatorLines].
30+//
31+// ## CSS nodes
32+//
33+// `AdwCarouselIndicatorDots` has a single CSS node with name
34+// `carouselindicatordots`.
35+type CarouselIndicatorDots struct {
36+ gtk.Widget
37+}
38+
39+func CarouselIndicatorDotsNewFromInternalPtr(ptr uintptr) *CarouselIndicatorDots {
40+ cls := &CarouselIndicatorDots{}
41+ cls.Ptr = ptr
42+ return cls
43+}
44+
45+var xNewCarouselIndicatorDots func() uintptr
46+
47+// Creates a new `AdwCarouselIndicatorDots`.
48+func NewCarouselIndicatorDots() *gtk.Widget {
49+ NewCarouselIndicatorDotsPtr := xNewCarouselIndicatorDots()
50+ if NewCarouselIndicatorDotsPtr == 0 {
51+ return nil
52+ }
53+
54+ gobject.IncreaseRef(NewCarouselIndicatorDotsPtr)
55+
56+ NewCarouselIndicatorDotsCls := &gtk.Widget{}
57+ NewCarouselIndicatorDotsCls.Ptr = NewCarouselIndicatorDotsPtr
58+ return NewCarouselIndicatorDotsCls
59+}
60+
61+var xCarouselIndicatorDotsGetCarousel func(uintptr) uintptr
62+
63+// Gets the displayed carousel.
64+func (x *CarouselIndicatorDots) GetCarousel() *Carousel {
65+
66+ GetCarouselPtr := xCarouselIndicatorDotsGetCarousel(x.GoPointer())
67+ if GetCarouselPtr == 0 {
68+ return nil
69+ }
70+
71+ gobject.IncreaseRef(GetCarouselPtr)
72+
73+ GetCarouselCls := &Carousel{}
74+ GetCarouselCls.Ptr = GetCarouselPtr
75+ return GetCarouselCls
76+
77+}
78+
79+var xCarouselIndicatorDotsSetCarousel func(uintptr, uintptr)
80+
81+// Sets the displayed carousel.
82+func (x *CarouselIndicatorDots) SetCarousel(CarouselVar *Carousel) {
83+
84+ xCarouselIndicatorDotsSetCarousel(x.GoPointer(), CarouselVar.GoPointer())
85+
86+}
87+
88+func (c *CarouselIndicatorDots) GoPointer() uintptr {
89+ return c.Ptr
90+}
91+
92+func (c *CarouselIndicatorDots) SetGoPointer(ptr uintptr) {
93+ c.Ptr = ptr
94+}
95+
96+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
97+func (x *CarouselIndicatorDots) GetAccessibleRole() gtk.AccessibleRole {
98+
99+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
100+
101+}
102+
103+// Resets the accessible @property to its default value.
104+func (x *CarouselIndicatorDots) ResetProperty(PropertyVar gtk.AccessibleProperty) {
105+
106+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
107+
108+}
109+
110+// Resets the accessible @relation to its default value.
111+func (x *CarouselIndicatorDots) ResetRelation(RelationVar gtk.AccessibleRelation) {
112+
113+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
114+
115+}
116+
117+// Resets the accessible @state to its default value.
118+func (x *CarouselIndicatorDots) ResetState(StateVar gtk.AccessibleState) {
119+
120+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
121+
122+}
123+
124+// Updates a list of accessible properties.
125+//
126+// See the [enum@Gtk.AccessibleProperty] documentation for the
127+// value types of accessible properties.
128+//
129+// This function should be called by `GtkWidget` types whenever
130+// an accessible property change must be communicated to assistive
131+// technologies.
132+//
133+// Example:
134+// ```c
135+// value = gtk_adjustment_get_value (adjustment);
136+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
137+//
138+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
139+// -1);
140+//
141+// ```
142+func (x *CarouselIndicatorDots) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
143+
144+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
145+
146+}
147+
148+// Updates an array of accessible properties.
149+//
150+// This function should be called by `GtkWidget` types whenever an accessible
151+// property change must be communicated to assistive technologies.
152+//
153+// This function is meant to be used by language bindings.
154+func (x *CarouselIndicatorDots) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
155+
156+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
157+
158+}
159+
160+// Updates a list of accessible relations.
161+//
162+// This function should be called by `GtkWidget` types whenever an accessible
163+// relation change must be communicated to assistive technologies.
164+//
165+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
166+// you should pass each reference individually, followed by %NULL, e.g.
167+//
168+// ```c
169+// gtk_accessible_update_relation (accessible,
170+//
171+// GTK_ACCESSIBLE_RELATION_CONTROLS,
172+// ref1, NULL,
173+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
174+// ref1, ref2, ref3, NULL,
175+// -1);
176+//
177+// ```
178+func (x *CarouselIndicatorDots) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
179+
180+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
181+
182+}
183+
184+// Updates an array of accessible relations.
185+//
186+// This function should be called by `GtkWidget` types whenever an accessible
187+// relation change must be communicated to assistive technologies.
188+//
189+// This function is meant to be used by language bindings.
190+func (x *CarouselIndicatorDots) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
191+
192+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
193+
194+}
195+
196+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
197+// documentation for the value types of accessible states.
198+//
199+// This function should be called by `GtkWidget` types whenever an accessible
200+// state change must be communicated to assistive technologies.
201+//
202+// Example:
203+// ```c
204+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
205+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
206+//
207+// GTK_ACCESSIBLE_STATE_CHECKED, value,
208+// -1);
209+//
210+// ```
211+func (x *CarouselIndicatorDots) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
212+
213+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
214+
215+}
216+
217+// Updates an array of accessible states.
218+//
219+// This function should be called by `GtkWidget` types whenever an accessible
220+// state change must be communicated to assistive technologies.
221+//
222+// This function is meant to be used by language bindings.
223+func (x *CarouselIndicatorDots) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
224+
225+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
226+
227+}
228+
229+// Gets the ID of the @buildable object.
230+//
231+// `GtkBuilder` sets the name based on the ID attribute
232+// of the &lt;object&gt; tag used to construct the @buildable.
233+func (x *CarouselIndicatorDots) GetBuildableId() string {
234+
235+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
236+
237+}
238+
239+// Retrieves the orientation of the @orientable.
240+func (x *CarouselIndicatorDots) GetOrientation() gtk.Orientation {
241+
242+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
243+
244+}
245+
246+// Sets the orientation of the @orientable.
247+func (x *CarouselIndicatorDots) SetOrientation(OrientationVar gtk.Orientation) {
248+
249+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
250+
251+}
252+
253+func init() {
254+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
255+ if err != nil {
256+ panic(err)
257+ }
258+
259+ core.PuregoSafeRegister(&xNewCarouselIndicatorDots, lib, "adw_carousel_indicator_dots_new")
260+
261+ core.PuregoSafeRegister(&xCarouselIndicatorDotsGetCarousel, lib, "adw_carousel_indicator_dots_get_carousel")
262+ core.PuregoSafeRegister(&xCarouselIndicatorDotsSetCarousel, lib, "adw_carousel_indicator_dots_set_carousel")
263+
264+}
A v4/adw/adw-carousel-indicator-lines.go +263 -0
@@ -0,0 +1,263 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type CarouselIndicatorLinesClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A lines indicator for [class@Carousel].
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="carousel-indicator-dots-lines.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="carousel-indicator-lines.png" alt="carousel-indicator-lines"&gt;
21+//
22+// &lt;/picture&gt;
23+//
24+// The `AdwCarouselIndicatorLines` widget shows a set of lines for each page of
25+// a given [class@Carousel]. The carousel's active page is shown as another line
26+// that moves between them to match the carousel's position.
27+//
28+// See also [class@CarouselIndicatorDots].
29+//
30+// ## CSS nodes
31+//
32+// `AdwCarouselIndicatorLines` has a single CSS node with name
33+// `carouselindicatorlines`.
34+type CarouselIndicatorLines struct {
35+ gtk.Widget
36+}
37+
38+func CarouselIndicatorLinesNewFromInternalPtr(ptr uintptr) *CarouselIndicatorLines {
39+ cls := &CarouselIndicatorLines{}
40+ cls.Ptr = ptr
41+ return cls
42+}
43+
44+var xNewCarouselIndicatorLines func() uintptr
45+
46+// Creates a new `AdwCarouselIndicatorLines`.
47+func NewCarouselIndicatorLines() *gtk.Widget {
48+ NewCarouselIndicatorLinesPtr := xNewCarouselIndicatorLines()
49+ if NewCarouselIndicatorLinesPtr == 0 {
50+ return nil
51+ }
52+
53+ gobject.IncreaseRef(NewCarouselIndicatorLinesPtr)
54+
55+ NewCarouselIndicatorLinesCls := &gtk.Widget{}
56+ NewCarouselIndicatorLinesCls.Ptr = NewCarouselIndicatorLinesPtr
57+ return NewCarouselIndicatorLinesCls
58+}
59+
60+var xCarouselIndicatorLinesGetCarousel func(uintptr) uintptr
61+
62+// Gets the displayed carousel.
63+func (x *CarouselIndicatorLines) GetCarousel() *Carousel {
64+
65+ GetCarouselPtr := xCarouselIndicatorLinesGetCarousel(x.GoPointer())
66+ if GetCarouselPtr == 0 {
67+ return nil
68+ }
69+
70+ gobject.IncreaseRef(GetCarouselPtr)
71+
72+ GetCarouselCls := &Carousel{}
73+ GetCarouselCls.Ptr = GetCarouselPtr
74+ return GetCarouselCls
75+
76+}
77+
78+var xCarouselIndicatorLinesSetCarousel func(uintptr, uintptr)
79+
80+// Sets the displayed carousel.
81+func (x *CarouselIndicatorLines) SetCarousel(CarouselVar *Carousel) {
82+
83+ xCarouselIndicatorLinesSetCarousel(x.GoPointer(), CarouselVar.GoPointer())
84+
85+}
86+
87+func (c *CarouselIndicatorLines) GoPointer() uintptr {
88+ return c.Ptr
89+}
90+
91+func (c *CarouselIndicatorLines) SetGoPointer(ptr uintptr) {
92+ c.Ptr = ptr
93+}
94+
95+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
96+func (x *CarouselIndicatorLines) GetAccessibleRole() gtk.AccessibleRole {
97+
98+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
99+
100+}
101+
102+// Resets the accessible @property to its default value.
103+func (x *CarouselIndicatorLines) ResetProperty(PropertyVar gtk.AccessibleProperty) {
104+
105+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
106+
107+}
108+
109+// Resets the accessible @relation to its default value.
110+func (x *CarouselIndicatorLines) ResetRelation(RelationVar gtk.AccessibleRelation) {
111+
112+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
113+
114+}
115+
116+// Resets the accessible @state to its default value.
117+func (x *CarouselIndicatorLines) ResetState(StateVar gtk.AccessibleState) {
118+
119+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
120+
121+}
122+
123+// Updates a list of accessible properties.
124+//
125+// See the [enum@Gtk.AccessibleProperty] documentation for the
126+// value types of accessible properties.
127+//
128+// This function should be called by `GtkWidget` types whenever
129+// an accessible property change must be communicated to assistive
130+// technologies.
131+//
132+// Example:
133+// ```c
134+// value = gtk_adjustment_get_value (adjustment);
135+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
136+//
137+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
138+// -1);
139+//
140+// ```
141+func (x *CarouselIndicatorLines) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
142+
143+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
144+
145+}
146+
147+// Updates an array of accessible properties.
148+//
149+// This function should be called by `GtkWidget` types whenever an accessible
150+// property change must be communicated to assistive technologies.
151+//
152+// This function is meant to be used by language bindings.
153+func (x *CarouselIndicatorLines) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
154+
155+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
156+
157+}
158+
159+// Updates a list of accessible relations.
160+//
161+// This function should be called by `GtkWidget` types whenever an accessible
162+// relation change must be communicated to assistive technologies.
163+//
164+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
165+// you should pass each reference individually, followed by %NULL, e.g.
166+//
167+// ```c
168+// gtk_accessible_update_relation (accessible,
169+//
170+// GTK_ACCESSIBLE_RELATION_CONTROLS,
171+// ref1, NULL,
172+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
173+// ref1, ref2, ref3, NULL,
174+// -1);
175+//
176+// ```
177+func (x *CarouselIndicatorLines) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
178+
179+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
180+
181+}
182+
183+// Updates an array of accessible relations.
184+//
185+// This function should be called by `GtkWidget` types whenever an accessible
186+// relation change must be communicated to assistive technologies.
187+//
188+// This function is meant to be used by language bindings.
189+func (x *CarouselIndicatorLines) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
190+
191+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
192+
193+}
194+
195+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
196+// documentation for the value types of accessible states.
197+//
198+// This function should be called by `GtkWidget` types whenever an accessible
199+// state change must be communicated to assistive technologies.
200+//
201+// Example:
202+// ```c
203+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
204+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
205+//
206+// GTK_ACCESSIBLE_STATE_CHECKED, value,
207+// -1);
208+//
209+// ```
210+func (x *CarouselIndicatorLines) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
211+
212+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
213+
214+}
215+
216+// Updates an array of accessible states.
217+//
218+// This function should be called by `GtkWidget` types whenever an accessible
219+// state change must be communicated to assistive technologies.
220+//
221+// This function is meant to be used by language bindings.
222+func (x *CarouselIndicatorLines) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
223+
224+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
225+
226+}
227+
228+// Gets the ID of the @buildable object.
229+//
230+// `GtkBuilder` sets the name based on the ID attribute
231+// of the &lt;object&gt; tag used to construct the @buildable.
232+func (x *CarouselIndicatorLines) GetBuildableId() string {
233+
234+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
235+
236+}
237+
238+// Retrieves the orientation of the @orientable.
239+func (x *CarouselIndicatorLines) GetOrientation() gtk.Orientation {
240+
241+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
242+
243+}
244+
245+// Sets the orientation of the @orientable.
246+func (x *CarouselIndicatorLines) SetOrientation(OrientationVar gtk.Orientation) {
247+
248+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
249+
250+}
251+
252+func init() {
253+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
254+ if err != nil {
255+ panic(err)
256+ }
257+
258+ core.PuregoSafeRegister(&xNewCarouselIndicatorLines, lib, "adw_carousel_indicator_lines_new")
259+
260+ core.PuregoSafeRegister(&xCarouselIndicatorLinesGetCarousel, lib, "adw_carousel_indicator_lines_get_carousel")
261+ core.PuregoSafeRegister(&xCarouselIndicatorLinesSetCarousel, lib, "adw_carousel_indicator_lines_set_carousel")
262+
263+}
A v4/adw/adw-carousel.go +565 -0
@@ -0,0 +1,565 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type CarouselClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A paginated scrolling widget.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="carousel-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="carousel.png" alt="carousel"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// The `AdwCarousel` widget can be used to display a set of pages with
26+// swipe-based navigation between them.
27+//
28+// [class@CarouselIndicatorDots] and [class@CarouselIndicatorLines] can be used
29+// to provide page indicators for `AdwCarousel`.
30+//
31+// ## CSS nodes
32+//
33+// `AdwCarousel` has a single CSS node with name `carousel`.
34+type Carousel struct {
35+ gtk.Widget
36+}
37+
38+func CarouselNewFromInternalPtr(ptr uintptr) *Carousel {
39+ cls := &Carousel{}
40+ cls.Ptr = ptr
41+ return cls
42+}
43+
44+var xNewCarousel func() uintptr
45+
46+// Creates a new `AdwCarousel`.
47+func NewCarousel() *gtk.Widget {
48+ NewCarouselPtr := xNewCarousel()
49+ if NewCarouselPtr == 0 {
50+ return nil
51+ }
52+
53+ gobject.IncreaseRef(NewCarouselPtr)
54+
55+ NewCarouselCls := &gtk.Widget{}
56+ NewCarouselCls.Ptr = NewCarouselPtr
57+ return NewCarouselCls
58+}
59+
60+var xCarouselAppend func(uintptr, uintptr)
61+
62+// Appends @child to @self.
63+func (x *Carousel) Append(ChildVar *gtk.Widget) {
64+
65+ xCarouselAppend(x.GoPointer(), ChildVar.GoPointer())
66+
67+}
68+
69+var xCarouselGetAllowLongSwipes func(uintptr) bool
70+
71+// Gets whether to allow swiping for more than one page at a time.
72+func (x *Carousel) GetAllowLongSwipes() bool {
73+
74+ return xCarouselGetAllowLongSwipes(x.GoPointer())
75+
76+}
77+
78+var xCarouselGetAllowMouseDrag func(uintptr) bool
79+
80+// Sets whether @self can be dragged with mouse pointer.
81+func (x *Carousel) GetAllowMouseDrag() bool {
82+
83+ return xCarouselGetAllowMouseDrag(x.GoPointer())
84+
85+}
86+
87+var xCarouselGetAllowScrollWheel func(uintptr) bool
88+
89+// Gets whether @self will respond to scroll wheel events.
90+func (x *Carousel) GetAllowScrollWheel() bool {
91+
92+ return xCarouselGetAllowScrollWheel(x.GoPointer())
93+
94+}
95+
96+var xCarouselGetInteractive func(uintptr) bool
97+
98+// Gets whether @self can be navigated.
99+func (x *Carousel) GetInteractive() bool {
100+
101+ return xCarouselGetInteractive(x.GoPointer())
102+
103+}
104+
105+var xCarouselGetNPages func(uintptr) uint
106+
107+// Gets the number of pages in @self.
108+func (x *Carousel) GetNPages() uint {
109+
110+ return xCarouselGetNPages(x.GoPointer())
111+
112+}
113+
114+var xCarouselGetNthPage func(uintptr, uint) uintptr
115+
116+// Gets the page at position @n.
117+func (x *Carousel) GetNthPage(NVar uint) *gtk.Widget {
118+
119+ GetNthPagePtr := xCarouselGetNthPage(x.GoPointer(), NVar)
120+ if GetNthPagePtr == 0 {
121+ return nil
122+ }
123+
124+ gobject.IncreaseRef(GetNthPagePtr)
125+
126+ GetNthPageCls := &gtk.Widget{}
127+ GetNthPageCls.Ptr = GetNthPagePtr
128+ return GetNthPageCls
129+
130+}
131+
132+var xCarouselGetPosition func(uintptr) float64
133+
134+// Gets current scroll position in @self, unitless.
135+//
136+// 1 matches 1 page. Use [method@Carousel.scroll_to] for changing it.
137+func (x *Carousel) GetPosition() float64 {
138+
139+ return xCarouselGetPosition(x.GoPointer())
140+
141+}
142+
143+var xCarouselGetRevealDuration func(uintptr) uint
144+
145+// Gets the page reveal duration, in milliseconds.
146+func (x *Carousel) GetRevealDuration() uint {
147+
148+ return xCarouselGetRevealDuration(x.GoPointer())
149+
150+}
151+
152+var xCarouselGetScrollParams func(uintptr) *SpringParams
153+
154+// Gets the scroll animation spring parameters for @self.
155+func (x *Carousel) GetScrollParams() *SpringParams {
156+
157+ return xCarouselGetScrollParams(x.GoPointer())
158+
159+}
160+
161+var xCarouselGetSpacing func(uintptr) uint
162+
163+// Gets spacing between pages in pixels.
164+func (x *Carousel) GetSpacing() uint {
165+
166+ return xCarouselGetSpacing(x.GoPointer())
167+
168+}
169+
170+var xCarouselInsert func(uintptr, uintptr, int32)
171+
172+// Inserts @child into @self at position @position.
173+//
174+// If position is -1, or larger than the number of pages,
175+// @child will be appended to the end.
176+func (x *Carousel) Insert(ChildVar *gtk.Widget, PositionVar int32) {
177+
178+ xCarouselInsert(x.GoPointer(), ChildVar.GoPointer(), PositionVar)
179+
180+}
181+
182+var xCarouselPrepend func(uintptr, uintptr)
183+
184+// Prepends @child to @self.
185+func (x *Carousel) Prepend(ChildVar *gtk.Widget) {
186+
187+ xCarouselPrepend(x.GoPointer(), ChildVar.GoPointer())
188+
189+}
190+
191+var xCarouselRemove func(uintptr, uintptr)
192+
193+// Removes @child from @self.
194+func (x *Carousel) Remove(ChildVar *gtk.Widget) {
195+
196+ xCarouselRemove(x.GoPointer(), ChildVar.GoPointer())
197+
198+}
199+
200+var xCarouselReorder func(uintptr, uintptr, int32)
201+
202+// Moves @child into position @position.
203+//
204+// If position is -1, or larger than the number of pages, @child will be moved
205+// at the end.
206+func (x *Carousel) Reorder(ChildVar *gtk.Widget, PositionVar int32) {
207+
208+ xCarouselReorder(x.GoPointer(), ChildVar.GoPointer(), PositionVar)
209+
210+}
211+
212+var xCarouselScrollTo func(uintptr, uintptr, bool)
213+
214+// Scrolls to @widget.
215+//
216+// If @animate is `TRUE`, the transition will be animated.
217+func (x *Carousel) ScrollTo(WidgetVar *gtk.Widget, AnimateVar bool) {
218+
219+ xCarouselScrollTo(x.GoPointer(), WidgetVar.GoPointer(), AnimateVar)
220+
221+}
222+
223+var xCarouselSetAllowLongSwipes func(uintptr, bool)
224+
225+// Sets whether to allow swiping for more than one page at a time.
226+//
227+// If @allow_long_swipes is `FALSE`, each swipe can only move to the adjacent
228+// pages.
229+func (x *Carousel) SetAllowLongSwipes(AllowLongSwipesVar bool) {
230+
231+ xCarouselSetAllowLongSwipes(x.GoPointer(), AllowLongSwipesVar)
232+
233+}
234+
235+var xCarouselSetAllowMouseDrag func(uintptr, bool)
236+
237+// Sets whether @self can be dragged with mouse pointer.
238+//
239+// If @allow_mouse_drag is `FALSE`, dragging is only available on touch.
240+func (x *Carousel) SetAllowMouseDrag(AllowMouseDragVar bool) {
241+
242+ xCarouselSetAllowMouseDrag(x.GoPointer(), AllowMouseDragVar)
243+
244+}
245+
246+var xCarouselSetAllowScrollWheel func(uintptr, bool)
247+
248+// Sets whether @self will respond to scroll wheel events.
249+//
250+// If @allow_scroll_wheel is `FALSE`, wheel events will be ignored.
251+func (x *Carousel) SetAllowScrollWheel(AllowScrollWheelVar bool) {
252+
253+ xCarouselSetAllowScrollWheel(x.GoPointer(), AllowScrollWheelVar)
254+
255+}
256+
257+var xCarouselSetInteractive func(uintptr, bool)
258+
259+// Sets whether @self can be navigated.
260+//
261+// This can be used to temporarily disable the carousel to only allow navigating
262+// it in a certain state.
263+func (x *Carousel) SetInteractive(InteractiveVar bool) {
264+
265+ xCarouselSetInteractive(x.GoPointer(), InteractiveVar)
266+
267+}
268+
269+var xCarouselSetRevealDuration func(uintptr, uint)
270+
271+// Sets the page reveal duration, in milliseconds.
272+//
273+// Reveal duration is used when animating adding or removing pages.
274+func (x *Carousel) SetRevealDuration(RevealDurationVar uint) {
275+
276+ xCarouselSetRevealDuration(x.GoPointer(), RevealDurationVar)
277+
278+}
279+
280+var xCarouselSetScrollParams func(uintptr, *SpringParams)
281+
282+// Sets the scroll animation spring parameters for @self.
283+//
284+// The default value is equivalent to:
285+//
286+// ```c
287+// adw_spring_params_new (1, 0.5, 500)
288+// ```
289+func (x *Carousel) SetScrollParams(ParamsVar *SpringParams) {
290+
291+ xCarouselSetScrollParams(x.GoPointer(), ParamsVar)
292+
293+}
294+
295+var xCarouselSetSpacing func(uintptr, uint)
296+
297+// Sets spacing between pages in pixels.
298+func (x *Carousel) SetSpacing(SpacingVar uint) {
299+
300+ xCarouselSetSpacing(x.GoPointer(), SpacingVar)
301+
302+}
303+
304+func (c *Carousel) GoPointer() uintptr {
305+ return c.Ptr
306+}
307+
308+func (c *Carousel) SetGoPointer(ptr uintptr) {
309+ c.Ptr = ptr
310+}
311+
312+// This signal is emitted after a page has been changed.
313+//
314+// It can be used to implement "infinite scrolling" by amending the pages
315+// after every scroll. Note that an empty carousel is indicated by
316+// `(int)index == -1`.
317+func (x *Carousel) ConnectPageChanged(cb func(Carousel, uint)) {
318+ fcb := func(clsPtr uintptr, IndexVarp uint) {
319+ fa := Carousel{}
320+ fa.Ptr = clsPtr
321+
322+ cb(fa, IndexVarp)
323+
324+ }
325+ gobject.ObjectConnect(x.GoPointer(), "signal::page-changed", purego.NewCallback(fcb))
326+}
327+
328+// Gets the progress @self will snap back to after the gesture is canceled.
329+func (x *Carousel) GetCancelProgress() float64 {
330+
331+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
332+
333+}
334+
335+// Gets the swipe distance of @self.
336+//
337+// This corresponds to how many pixels 1 unit represents.
338+func (x *Carousel) GetDistance() float64 {
339+
340+ return XAdwSwipeableGetDistance(x.GoPointer())
341+
342+}
343+
344+// Gets the current progress of @self.
345+func (x *Carousel) GetProgress() float64 {
346+
347+ return XAdwSwipeableGetProgress(x.GoPointer())
348+
349+}
350+
351+// Gets the snap points of @self.
352+//
353+// Each snap point represents a progress value that is considered acceptable to
354+// end the swipe on.
355+func (x *Carousel) GetSnapPoints(NSnapPointsVar int32) uintptr {
356+
357+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
358+
359+}
360+
361+// Gets the area @self can start a swipe from for the given direction and
362+// gesture type.
363+//
364+// This can be used to restrict swipes to only be possible from a certain area,
365+// for example, to only allow edge swipes, or to have a draggable element and
366+// ignore swipes elsewhere.
367+//
368+// If not implemented, the default implementation returns the allocation of
369+// @self, allowing swipes from anywhere.
370+func (x *Carousel) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
371+
372+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
373+
374+}
375+
376+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
377+func (x *Carousel) GetAccessibleRole() gtk.AccessibleRole {
378+
379+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
380+
381+}
382+
383+// Resets the accessible @property to its default value.
384+func (x *Carousel) ResetProperty(PropertyVar gtk.AccessibleProperty) {
385+
386+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
387+
388+}
389+
390+// Resets the accessible @relation to its default value.
391+func (x *Carousel) ResetRelation(RelationVar gtk.AccessibleRelation) {
392+
393+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
394+
395+}
396+
397+// Resets the accessible @state to its default value.
398+func (x *Carousel) ResetState(StateVar gtk.AccessibleState) {
399+
400+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
401+
402+}
403+
404+// Updates a list of accessible properties.
405+//
406+// See the [enum@Gtk.AccessibleProperty] documentation for the
407+// value types of accessible properties.
408+//
409+// This function should be called by `GtkWidget` types whenever
410+// an accessible property change must be communicated to assistive
411+// technologies.
412+//
413+// Example:
414+// ```c
415+// value = gtk_adjustment_get_value (adjustment);
416+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
417+//
418+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
419+// -1);
420+//
421+// ```
422+func (x *Carousel) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
423+
424+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
425+
426+}
427+
428+// Updates an array of accessible properties.
429+//
430+// This function should be called by `GtkWidget` types whenever an accessible
431+// property change must be communicated to assistive technologies.
432+//
433+// This function is meant to be used by language bindings.
434+func (x *Carousel) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
435+
436+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
437+
438+}
439+
440+// Updates a list of accessible relations.
441+//
442+// This function should be called by `GtkWidget` types whenever an accessible
443+// relation change must be communicated to assistive technologies.
444+//
445+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
446+// you should pass each reference individually, followed by %NULL, e.g.
447+//
448+// ```c
449+// gtk_accessible_update_relation (accessible,
450+//
451+// GTK_ACCESSIBLE_RELATION_CONTROLS,
452+// ref1, NULL,
453+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
454+// ref1, ref2, ref3, NULL,
455+// -1);
456+//
457+// ```
458+func (x *Carousel) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
459+
460+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
461+
462+}
463+
464+// Updates an array of accessible relations.
465+//
466+// This function should be called by `GtkWidget` types whenever an accessible
467+// relation change must be communicated to assistive technologies.
468+//
469+// This function is meant to be used by language bindings.
470+func (x *Carousel) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
471+
472+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
473+
474+}
475+
476+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
477+// documentation for the value types of accessible states.
478+//
479+// This function should be called by `GtkWidget` types whenever an accessible
480+// state change must be communicated to assistive technologies.
481+//
482+// Example:
483+// ```c
484+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
485+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
486+//
487+// GTK_ACCESSIBLE_STATE_CHECKED, value,
488+// -1);
489+//
490+// ```
491+func (x *Carousel) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
492+
493+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
494+
495+}
496+
497+// Updates an array of accessible states.
498+//
499+// This function should be called by `GtkWidget` types whenever an accessible
500+// state change must be communicated to assistive technologies.
501+//
502+// This function is meant to be used by language bindings.
503+func (x *Carousel) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
504+
505+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
506+
507+}
508+
509+// Gets the ID of the @buildable object.
510+//
511+// `GtkBuilder` sets the name based on the ID attribute
512+// of the &lt;object&gt; tag used to construct the @buildable.
513+func (x *Carousel) GetBuildableId() string {
514+
515+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
516+
517+}
518+
519+// Retrieves the orientation of the @orientable.
520+func (x *Carousel) GetOrientation() gtk.Orientation {
521+
522+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
523+
524+}
525+
526+// Sets the orientation of the @orientable.
527+func (x *Carousel) SetOrientation(OrientationVar gtk.Orientation) {
528+
529+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
530+
531+}
532+
533+func init() {
534+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
535+ if err != nil {
536+ panic(err)
537+ }
538+
539+ core.PuregoSafeRegister(&xNewCarousel, lib, "adw_carousel_new")
540+
541+ core.PuregoSafeRegister(&xCarouselAppend, lib, "adw_carousel_append")
542+ core.PuregoSafeRegister(&xCarouselGetAllowLongSwipes, lib, "adw_carousel_get_allow_long_swipes")
543+ core.PuregoSafeRegister(&xCarouselGetAllowMouseDrag, lib, "adw_carousel_get_allow_mouse_drag")
544+ core.PuregoSafeRegister(&xCarouselGetAllowScrollWheel, lib, "adw_carousel_get_allow_scroll_wheel")
545+ core.PuregoSafeRegister(&xCarouselGetInteractive, lib, "adw_carousel_get_interactive")
546+ core.PuregoSafeRegister(&xCarouselGetNPages, lib, "adw_carousel_get_n_pages")
547+ core.PuregoSafeRegister(&xCarouselGetNthPage, lib, "adw_carousel_get_nth_page")
548+ core.PuregoSafeRegister(&xCarouselGetPosition, lib, "adw_carousel_get_position")
549+ core.PuregoSafeRegister(&xCarouselGetRevealDuration, lib, "adw_carousel_get_reveal_duration")
550+ core.PuregoSafeRegister(&xCarouselGetScrollParams, lib, "adw_carousel_get_scroll_params")
551+ core.PuregoSafeRegister(&xCarouselGetSpacing, lib, "adw_carousel_get_spacing")
552+ core.PuregoSafeRegister(&xCarouselInsert, lib, "adw_carousel_insert")
553+ core.PuregoSafeRegister(&xCarouselPrepend, lib, "adw_carousel_prepend")
554+ core.PuregoSafeRegister(&xCarouselRemove, lib, "adw_carousel_remove")
555+ core.PuregoSafeRegister(&xCarouselReorder, lib, "adw_carousel_reorder")
556+ core.PuregoSafeRegister(&xCarouselScrollTo, lib, "adw_carousel_scroll_to")
557+ core.PuregoSafeRegister(&xCarouselSetAllowLongSwipes, lib, "adw_carousel_set_allow_long_swipes")
558+ core.PuregoSafeRegister(&xCarouselSetAllowMouseDrag, lib, "adw_carousel_set_allow_mouse_drag")
559+ core.PuregoSafeRegister(&xCarouselSetAllowScrollWheel, lib, "adw_carousel_set_allow_scroll_wheel")
560+ core.PuregoSafeRegister(&xCarouselSetInteractive, lib, "adw_carousel_set_interactive")
561+ core.PuregoSafeRegister(&xCarouselSetRevealDuration, lib, "adw_carousel_set_reveal_duration")
562+ core.PuregoSafeRegister(&xCarouselSetScrollParams, lib, "adw_carousel_set_scroll_params")
563+ core.PuregoSafeRegister(&xCarouselSetSpacing, lib, "adw_carousel_set_spacing")
564+
565+}
A v4/adw/adw-clamp-layout.go +150 -0
@@ -0,0 +1,150 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gtk"
8+)
9+
10+type ClampLayoutClass struct {
11+ ParentClass uintptr
12+}
13+
14+// A layout manager constraining its children to a given size.
15+//
16+// &lt;picture&gt;
17+//
18+// &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
19+// &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
20+//
21+// &lt;/picture&gt;
22+// &lt;picture&gt;
23+//
24+// &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
25+// &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
26+//
27+// &lt;/picture&gt;
28+//
29+// `AdwClampLayout` constraints the size of the widgets it contains to a given
30+// maximum size. It will constrain the width if it is horizontal, or the height
31+// if it is vertical. The expansion of the children from their minimum to their
32+// maximum size is eased out for a smooth transition.
33+//
34+// If a child requires more than the requested maximum size, it will be
35+// allocated the minimum size it can fit in instead.
36+//
37+// Each child will get the style classes .large when it reached its maximum
38+// size, .small when it's allocated the full size, .medium in-between, or none
39+// if it hasn't been allocated yet.
40+type ClampLayout struct {
41+ gtk.LayoutManager
42+}
43+
44+func ClampLayoutNewFromInternalPtr(ptr uintptr) *ClampLayout {
45+ cls := &ClampLayout{}
46+ cls.Ptr = ptr
47+ return cls
48+}
49+
50+var xNewClampLayout func() uintptr
51+
52+// Creates a new `AdwClampLayout`.
53+func NewClampLayout() *gtk.LayoutManager {
54+ NewClampLayoutPtr := xNewClampLayout()
55+ if NewClampLayoutPtr == 0 {
56+ return nil
57+ }
58+
59+ NewClampLayoutCls := &gtk.LayoutManager{}
60+ NewClampLayoutCls.Ptr = NewClampLayoutPtr
61+ return NewClampLayoutCls
62+}
63+
64+var xClampLayoutGetMaximumSize func(uintptr) int32
65+
66+// Gets the maximum size allocated to the children.
67+func (x *ClampLayout) GetMaximumSize() int32 {
68+
69+ return xClampLayoutGetMaximumSize(x.GoPointer())
70+
71+}
72+
73+var xClampLayoutGetTighteningThreshold func(uintptr) int32
74+
75+// Gets the size above which the children are clamped.
76+func (x *ClampLayout) GetTighteningThreshold() int32 {
77+
78+ return xClampLayoutGetTighteningThreshold(x.GoPointer())
79+
80+}
81+
82+var xClampLayoutSetMaximumSize func(uintptr, int32)
83+
84+// Sets the maximum size allocated to the children.
85+//
86+// It is the width if the layout is horizontal, or the height if it is vertical.
87+func (x *ClampLayout) SetMaximumSize(MaximumSizeVar int32) {
88+
89+ xClampLayoutSetMaximumSize(x.GoPointer(), MaximumSizeVar)
90+
91+}
92+
93+var xClampLayoutSetTighteningThreshold func(uintptr, int32)
94+
95+// Sets the size above which the children are clamped.
96+//
97+// Starting from this size, the layout will tighten its grip on the children,
98+// slowly allocating less and less of the available size up to the maximum
99+// allocated size. Below that threshold and below the maximum size, the children
100+// will be allocated all the available size.
101+//
102+// If the threshold is greater than the maximum size to allocate to the
103+// children, they will be allocated the whole size up to the maximum. If the
104+// threshold is lower than the minimum size to allocate to the children, that
105+// size will be used as the tightening threshold.
106+//
107+// Effectively, tightening the grip on a child before it reaches its maximum
108+// size makes transitions to and from the maximum size smoother when resizing.
109+func (x *ClampLayout) SetTighteningThreshold(TighteningThresholdVar int32) {
110+
111+ xClampLayoutSetTighteningThreshold(x.GoPointer(), TighteningThresholdVar)
112+
113+}
114+
115+func (c *ClampLayout) GoPointer() uintptr {
116+ return c.Ptr
117+}
118+
119+func (c *ClampLayout) SetGoPointer(ptr uintptr) {
120+ c.Ptr = ptr
121+}
122+
123+// Retrieves the orientation of the @orientable.
124+func (x *ClampLayout) GetOrientation() gtk.Orientation {
125+
126+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
127+
128+}
129+
130+// Sets the orientation of the @orientable.
131+func (x *ClampLayout) SetOrientation(OrientationVar gtk.Orientation) {
132+
133+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
134+
135+}
136+
137+func init() {
138+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
139+ if err != nil {
140+ panic(err)
141+ }
142+
143+ core.PuregoSafeRegister(&xNewClampLayout, lib, "adw_clamp_layout_new")
144+
145+ core.PuregoSafeRegister(&xClampLayoutGetMaximumSize, lib, "adw_clamp_layout_get_maximum_size")
146+ core.PuregoSafeRegister(&xClampLayoutGetTighteningThreshold, lib, "adw_clamp_layout_get_tightening_threshold")
147+ core.PuregoSafeRegister(&xClampLayoutSetMaximumSize, lib, "adw_clamp_layout_set_maximum_size")
148+ core.PuregoSafeRegister(&xClampLayoutSetTighteningThreshold, lib, "adw_clamp_layout_set_tightening_threshold")
149+
150+}
A v4/adw/adw-clamp-scrollable.go +398 -0
@@ -0,0 +1,398 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type ClampScrollableClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A scrollable [class@Clamp].
16+//
17+// `AdwClampScrollable` is a variant of [class@Clamp] that implements the
18+// [iface@Gtk.Scrollable] interface.
19+//
20+// The primary use case for `AdwClampScrollable` is clamping
21+// [class@Gtk.ListView].
22+type ClampScrollable struct {
23+ gtk.Widget
24+}
25+
26+func ClampScrollableNewFromInternalPtr(ptr uintptr) *ClampScrollable {
27+ cls := &ClampScrollable{}
28+ cls.Ptr = ptr
29+ return cls
30+}
31+
32+var xNewClampScrollable func() uintptr
33+
34+// Creates a new `AdwClampScrollable`.
35+func NewClampScrollable() *gtk.Widget {
36+ NewClampScrollablePtr := xNewClampScrollable()
37+ if NewClampScrollablePtr == 0 {
38+ return nil
39+ }
40+
41+ gobject.IncreaseRef(NewClampScrollablePtr)
42+
43+ NewClampScrollableCls := &gtk.Widget{}
44+ NewClampScrollableCls.Ptr = NewClampScrollablePtr
45+ return NewClampScrollableCls
46+}
47+
48+var xClampScrollableGetChild func(uintptr) uintptr
49+
50+// Gets the child widget of @self.
51+func (x *ClampScrollable) GetChild() *gtk.Widget {
52+
53+ GetChildPtr := xClampScrollableGetChild(x.GoPointer())
54+ if GetChildPtr == 0 {
55+ return nil
56+ }
57+
58+ gobject.IncreaseRef(GetChildPtr)
59+
60+ GetChildCls := &gtk.Widget{}
61+ GetChildCls.Ptr = GetChildPtr
62+ return GetChildCls
63+
64+}
65+
66+var xClampScrollableGetMaximumSize func(uintptr) int32
67+
68+// Gets the maximum size allocated to the child.
69+func (x *ClampScrollable) GetMaximumSize() int32 {
70+
71+ return xClampScrollableGetMaximumSize(x.GoPointer())
72+
73+}
74+
75+var xClampScrollableGetTighteningThreshold func(uintptr) int32
76+
77+// Gets the size above which the child is clamped.
78+func (x *ClampScrollable) GetTighteningThreshold() int32 {
79+
80+ return xClampScrollableGetTighteningThreshold(x.GoPointer())
81+
82+}
83+
84+var xClampScrollableSetChild func(uintptr, uintptr)
85+
86+// Sets the child widget of @self.
87+func (x *ClampScrollable) SetChild(ChildVar *gtk.Widget) {
88+
89+ xClampScrollableSetChild(x.GoPointer(), ChildVar.GoPointer())
90+
91+}
92+
93+var xClampScrollableSetMaximumSize func(uintptr, int32)
94+
95+// Sets the maximum size allocated to the child.
96+//
97+// It is the width if the clamp is horizontal, or the height if it is vertical.
98+func (x *ClampScrollable) SetMaximumSize(MaximumSizeVar int32) {
99+
100+ xClampScrollableSetMaximumSize(x.GoPointer(), MaximumSizeVar)
101+
102+}
103+
104+var xClampScrollableSetTighteningThreshold func(uintptr, int32)
105+
106+// Sets the size above which the child is clamped.
107+//
108+// Starting from this size, the clamp will tighten its grip on the child, slowly
109+// allocating less and less of the available size up to the maximum allocated
110+// size. Below that threshold and below the maximum width, the child will be
111+// allocated all the available size.
112+//
113+// If the threshold is greater than the maximum size to allocate to the child,
114+// the child will be allocated all the width up to the maximum. If the threshold
115+// is lower than the minimum size to allocate to the child, that size will be
116+// used as the tightening threshold.
117+//
118+// Effectively, tightening the grip on the child before it reaches its maximum
119+// size makes transitions to and from the maximum size smoother when resizing.
120+func (x *ClampScrollable) SetTighteningThreshold(TighteningThresholdVar int32) {
121+
122+ xClampScrollableSetTighteningThreshold(x.GoPointer(), TighteningThresholdVar)
123+
124+}
125+
126+func (c *ClampScrollable) GoPointer() uintptr {
127+ return c.Ptr
128+}
129+
130+func (c *ClampScrollable) SetGoPointer(ptr uintptr) {
131+ c.Ptr = ptr
132+}
133+
134+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
135+func (x *ClampScrollable) GetAccessibleRole() gtk.AccessibleRole {
136+
137+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
138+
139+}
140+
141+// Resets the accessible @property to its default value.
142+func (x *ClampScrollable) ResetProperty(PropertyVar gtk.AccessibleProperty) {
143+
144+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
145+
146+}
147+
148+// Resets the accessible @relation to its default value.
149+func (x *ClampScrollable) ResetRelation(RelationVar gtk.AccessibleRelation) {
150+
151+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
152+
153+}
154+
155+// Resets the accessible @state to its default value.
156+func (x *ClampScrollable) ResetState(StateVar gtk.AccessibleState) {
157+
158+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
159+
160+}
161+
162+// Updates a list of accessible properties.
163+//
164+// See the [enum@Gtk.AccessibleProperty] documentation for the
165+// value types of accessible properties.
166+//
167+// This function should be called by `GtkWidget` types whenever
168+// an accessible property change must be communicated to assistive
169+// technologies.
170+//
171+// Example:
172+// ```c
173+// value = gtk_adjustment_get_value (adjustment);
174+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
175+//
176+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
177+// -1);
178+//
179+// ```
180+func (x *ClampScrollable) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
181+
182+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
183+
184+}
185+
186+// Updates an array of accessible properties.
187+//
188+// This function should be called by `GtkWidget` types whenever an accessible
189+// property change must be communicated to assistive technologies.
190+//
191+// This function is meant to be used by language bindings.
192+func (x *ClampScrollable) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
193+
194+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
195+
196+}
197+
198+// Updates a list of accessible relations.
199+//
200+// This function should be called by `GtkWidget` types whenever an accessible
201+// relation change must be communicated to assistive technologies.
202+//
203+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
204+// you should pass each reference individually, followed by %NULL, e.g.
205+//
206+// ```c
207+// gtk_accessible_update_relation (accessible,
208+//
209+// GTK_ACCESSIBLE_RELATION_CONTROLS,
210+// ref1, NULL,
211+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
212+// ref1, ref2, ref3, NULL,
213+// -1);
214+//
215+// ```
216+func (x *ClampScrollable) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
217+
218+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
219+
220+}
221+
222+// Updates an array of accessible relations.
223+//
224+// This function should be called by `GtkWidget` types whenever an accessible
225+// relation change must be communicated to assistive technologies.
226+//
227+// This function is meant to be used by language bindings.
228+func (x *ClampScrollable) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
229+
230+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
231+
232+}
233+
234+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
235+// documentation for the value types of accessible states.
236+//
237+// This function should be called by `GtkWidget` types whenever an accessible
238+// state change must be communicated to assistive technologies.
239+//
240+// Example:
241+// ```c
242+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
243+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
244+//
245+// GTK_ACCESSIBLE_STATE_CHECKED, value,
246+// -1);
247+//
248+// ```
249+func (x *ClampScrollable) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
250+
251+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
252+
253+}
254+
255+// Updates an array of accessible states.
256+//
257+// This function should be called by `GtkWidget` types whenever an accessible
258+// state change must be communicated to assistive technologies.
259+//
260+// This function is meant to be used by language bindings.
261+func (x *ClampScrollable) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
262+
263+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
264+
265+}
266+
267+// Gets the ID of the @buildable object.
268+//
269+// `GtkBuilder` sets the name based on the ID attribute
270+// of the &lt;object&gt; tag used to construct the @buildable.
271+func (x *ClampScrollable) GetBuildableId() string {
272+
273+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
274+
275+}
276+
277+// Retrieves the orientation of the @orientable.
278+func (x *ClampScrollable) GetOrientation() gtk.Orientation {
279+
280+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
281+
282+}
283+
284+// Sets the orientation of the @orientable.
285+func (x *ClampScrollable) SetOrientation(OrientationVar gtk.Orientation) {
286+
287+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
288+
289+}
290+
291+// Returns the size of a non-scrolling border around the
292+// outside of the scrollable.
293+//
294+// An example for this would be treeview headers. GTK can use
295+// this information to display overlaid graphics, like the
296+// overshoot indication, at the right position.
297+func (x *ClampScrollable) GetBorder(BorderVar *gtk.Border) bool {
298+
299+ return gtk.XGtkScrollableGetBorder(x.GoPointer(), BorderVar)
300+
301+}
302+
303+// Retrieves the `GtkAdjustment` used for horizontal scrolling.
304+func (x *ClampScrollable) GetHadjustment() *gtk.Adjustment {
305+
306+ GetHadjustmentPtr := gtk.XGtkScrollableGetHadjustment(x.GoPointer())
307+ if GetHadjustmentPtr == 0 {
308+ return nil
309+ }
310+
311+ gobject.IncreaseRef(GetHadjustmentPtr)
312+
313+ GetHadjustmentCls := &gtk.Adjustment{}
314+ GetHadjustmentCls.Ptr = GetHadjustmentPtr
315+ return GetHadjustmentCls
316+
317+}
318+
319+// Gets the horizontal `GtkScrollablePolicy`.
320+func (x *ClampScrollable) GetHscrollPolicy() gtk.ScrollablePolicy {
321+
322+ return gtk.XGtkScrollableGetHscrollPolicy(x.GoPointer())
323+
324+}
325+
326+// Retrieves the `GtkAdjustment` used for vertical scrolling.
327+func (x *ClampScrollable) GetVadjustment() *gtk.Adjustment {
328+
329+ GetVadjustmentPtr := gtk.XGtkScrollableGetVadjustment(x.GoPointer())
330+ if GetVadjustmentPtr == 0 {
331+ return nil
332+ }
333+
334+ gobject.IncreaseRef(GetVadjustmentPtr)
335+
336+ GetVadjustmentCls := &gtk.Adjustment{}
337+ GetVadjustmentCls.Ptr = GetVadjustmentPtr
338+ return GetVadjustmentCls
339+
340+}
341+
342+// Gets the vertical `GtkScrollablePolicy`.
343+func (x *ClampScrollable) GetVscrollPolicy() gtk.ScrollablePolicy {
344+
345+ return gtk.XGtkScrollableGetVscrollPolicy(x.GoPointer())
346+
347+}
348+
349+// Sets the horizontal adjustment of the `GtkScrollable`.
350+func (x *ClampScrollable) SetHadjustment(HadjustmentVar *gtk.Adjustment) {
351+
352+ gtk.XGtkScrollableSetHadjustment(x.GoPointer(), HadjustmentVar.GoPointer())
353+
354+}
355+
356+// Sets the `GtkScrollablePolicy`.
357+//
358+// The policy determines whether horizontal scrolling should start
359+// below the minimum width or below the natural width.
360+func (x *ClampScrollable) SetHscrollPolicy(PolicyVar gtk.ScrollablePolicy) {
361+
362+ gtk.XGtkScrollableSetHscrollPolicy(x.GoPointer(), PolicyVar)
363+
364+}
365+
366+// Sets the vertical adjustment of the `GtkScrollable`.
367+func (x *ClampScrollable) SetVadjustment(VadjustmentVar *gtk.Adjustment) {
368+
369+ gtk.XGtkScrollableSetVadjustment(x.GoPointer(), VadjustmentVar.GoPointer())
370+
371+}
372+
373+// Sets the `GtkScrollablePolicy`.
374+//
375+// The policy determines whether vertical scrolling should start
376+// below the minimum height or below the natural height.
377+func (x *ClampScrollable) SetVscrollPolicy(PolicyVar gtk.ScrollablePolicy) {
378+
379+ gtk.XGtkScrollableSetVscrollPolicy(x.GoPointer(), PolicyVar)
380+
381+}
382+
383+func init() {
384+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
385+ if err != nil {
386+ panic(err)
387+ }
388+
389+ core.PuregoSafeRegister(&xNewClampScrollable, lib, "adw_clamp_scrollable_new")
390+
391+ core.PuregoSafeRegister(&xClampScrollableGetChild, lib, "adw_clamp_scrollable_get_child")
392+ core.PuregoSafeRegister(&xClampScrollableGetMaximumSize, lib, "adw_clamp_scrollable_get_maximum_size")
393+ core.PuregoSafeRegister(&xClampScrollableGetTighteningThreshold, lib, "adw_clamp_scrollable_get_tightening_threshold")
394+ core.PuregoSafeRegister(&xClampScrollableSetChild, lib, "adw_clamp_scrollable_set_child")
395+ core.PuregoSafeRegister(&xClampScrollableSetMaximumSize, lib, "adw_clamp_scrollable_set_maximum_size")
396+ core.PuregoSafeRegister(&xClampScrollableSetTighteningThreshold, lib, "adw_clamp_scrollable_set_tightening_threshold")
397+
398+}
A v4/adw/adw-clamp.go +329 -0
@@ -0,0 +1,329 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type ClampClass struct {
12+ ParentClass uintptr
13+}
14+
15+// A widget constraining its child to a given size.
16+//
17+// &lt;picture&gt;
18+//
19+// &lt;source srcset="clamp-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
20+// &lt;img src="clamp-wide.png" alt="clamp-wide"&gt;
21+//
22+// &lt;/picture&gt;
23+// &lt;picture&gt;
24+//
25+// &lt;source srcset="clamp-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
26+// &lt;img src="clamp-narrow.png" alt="clamp-narrow"&gt;
27+//
28+// &lt;/picture&gt;
29+//
30+// The `AdwClamp` widget constrains the size of the widget it contains to a
31+// given maximum size. It will constrain the width if it is horizontal, or the
32+// height if it is vertical. The expansion of the child from its minimum to its
33+// maximum size is eased out for a smooth transition.
34+//
35+// If the child requires more than the requested maximum size, it will be
36+// allocated the minimum size it can fit in instead.
37+//
38+// ## CSS nodes
39+//
40+// `AdwClamp` has a single CSS node with name `clamp`.
41+//
42+// Its children will receive the style classes `.large` when the child reached
43+// its maximum size, `.small` when the clamp allocates its full size to the
44+// child, `.medium` in-between, or none if it hasn't computed its size yet.
45+type Clamp struct {
46+ gtk.Widget
47+}
48+
49+func ClampNewFromInternalPtr(ptr uintptr) *Clamp {
50+ cls := &Clamp{}
51+ cls.Ptr = ptr
52+ return cls
53+}
54+
55+var xNewClamp func() uintptr
56+
57+// Creates a new `AdwClamp`.
58+func NewClamp() *gtk.Widget {
59+ NewClampPtr := xNewClamp()
60+ if NewClampPtr == 0 {
61+ return nil
62+ }
63+
64+ gobject.IncreaseRef(NewClampPtr)
65+
66+ NewClampCls := &gtk.Widget{}
67+ NewClampCls.Ptr = NewClampPtr
68+ return NewClampCls
69+}
70+
71+var xClampGetChild func(uintptr) uintptr
72+
73+// Gets the child widget of @self.
74+func (x *Clamp) GetChild() *gtk.Widget {
75+
76+ GetChildPtr := xClampGetChild(x.GoPointer())
77+ if GetChildPtr == 0 {
78+ return nil
79+ }
80+
81+ gobject.IncreaseRef(GetChildPtr)
82+
83+ GetChildCls := &gtk.Widget{}
84+ GetChildCls.Ptr = GetChildPtr
85+ return GetChildCls
86+
87+}
88+
89+var xClampGetMaximumSize func(uintptr) int32
90+
91+// Gets the maximum size allocated to the child.
92+func (x *Clamp) GetMaximumSize() int32 {
93+
94+ return xClampGetMaximumSize(x.GoPointer())
95+
96+}
97+
98+var xClampGetTighteningThreshold func(uintptr) int32
99+
100+// Gets the size above which the child is clamped.
101+func (x *Clamp) GetTighteningThreshold() int32 {
102+
103+ return xClampGetTighteningThreshold(x.GoPointer())
104+
105+}
106+
107+var xClampSetChild func(uintptr, uintptr)
108+
109+// Sets the child widget of @self.
110+func (x *Clamp) SetChild(ChildVar *gtk.Widget) {
111+
112+ xClampSetChild(x.GoPointer(), ChildVar.GoPointer())
113+
114+}
115+
116+var xClampSetMaximumSize func(uintptr, int32)
117+
118+// Sets the maximum size allocated to the child.
119+//
120+// It is the width if the clamp is horizontal, or the height if it is vertical.
121+func (x *Clamp) SetMaximumSize(MaximumSizeVar int32) {
122+
123+ xClampSetMaximumSize(x.GoPointer(), MaximumSizeVar)
124+
125+}
126+
127+var xClampSetTighteningThreshold func(uintptr, int32)
128+
129+// Sets the size above which the child is clamped.
130+//
131+// Starting from this size, the clamp will tighten its grip on the child, slowly
132+// allocating less and less of the available size up to the maximum allocated
133+// size. Below that threshold and below the maximum size, the child will be
134+// allocated all the available size.
135+//
136+// If the threshold is greater than the maximum size to allocate to the child,
137+// the child will be allocated all the size up to the maximum. If the threshold
138+// is lower than the minimum size to allocate to the child, that size will be
139+// used as the tightening threshold.
140+//
141+// Effectively, tightening the grip on the child before it reaches its maximum
142+// size makes transitions to and from the maximum size smoother when resizing.
143+func (x *Clamp) SetTighteningThreshold(TighteningThresholdVar int32) {
144+
145+ xClampSetTighteningThreshold(x.GoPointer(), TighteningThresholdVar)
146+
147+}
148+
149+func (c *Clamp) GoPointer() uintptr {
150+ return c.Ptr
151+}
152+
153+func (c *Clamp) SetGoPointer(ptr uintptr) {
154+ c.Ptr = ptr
155+}
156+
157+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
158+func (x *Clamp) GetAccessibleRole() gtk.AccessibleRole {
159+
160+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
161+
162+}
163+
164+// Resets the accessible @property to its default value.
165+func (x *Clamp) ResetProperty(PropertyVar gtk.AccessibleProperty) {
166+
167+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
168+
169+}
170+
171+// Resets the accessible @relation to its default value.
172+func (x *Clamp) ResetRelation(RelationVar gtk.AccessibleRelation) {
173+
174+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
175+
176+}
177+
178+// Resets the accessible @state to its default value.
179+func (x *Clamp) ResetState(StateVar gtk.AccessibleState) {
180+
181+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
182+
183+}
184+
185+// Updates a list of accessible properties.
186+//
187+// See the [enum@Gtk.AccessibleProperty] documentation for the
188+// value types of accessible properties.
189+//
190+// This function should be called by `GtkWidget` types whenever
191+// an accessible property change must be communicated to assistive
192+// technologies.
193+//
194+// Example:
195+// ```c
196+// value = gtk_adjustment_get_value (adjustment);
197+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
198+//
199+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
200+// -1);
201+//
202+// ```
203+func (x *Clamp) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
204+
205+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
206+
207+}
208+
209+// Updates an array of accessible properties.
210+//
211+// This function should be called by `GtkWidget` types whenever an accessible
212+// property change must be communicated to assistive technologies.
213+//
214+// This function is meant to be used by language bindings.
215+func (x *Clamp) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
216+
217+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
218+
219+}
220+
221+// Updates a list of accessible relations.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// relation change must be communicated to assistive technologies.
225+//
226+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
227+// you should pass each reference individually, followed by %NULL, e.g.
228+//
229+// ```c
230+// gtk_accessible_update_relation (accessible,
231+//
232+// GTK_ACCESSIBLE_RELATION_CONTROLS,
233+// ref1, NULL,
234+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
235+// ref1, ref2, ref3, NULL,
236+// -1);
237+//
238+// ```
239+func (x *Clamp) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
240+
241+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
242+
243+}
244+
245+// Updates an array of accessible relations.
246+//
247+// This function should be called by `GtkWidget` types whenever an accessible
248+// relation change must be communicated to assistive technologies.
249+//
250+// This function is meant to be used by language bindings.
251+func (x *Clamp) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
252+
253+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
254+
255+}
256+
257+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
258+// documentation for the value types of accessible states.
259+//
260+// This function should be called by `GtkWidget` types whenever an accessible
261+// state change must be communicated to assistive technologies.
262+//
263+// Example:
264+// ```c
265+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
266+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
267+//
268+// GTK_ACCESSIBLE_STATE_CHECKED, value,
269+// -1);
270+//
271+// ```
272+func (x *Clamp) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
273+
274+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
275+
276+}
277+
278+// Updates an array of accessible states.
279+//
280+// This function should be called by `GtkWidget` types whenever an accessible
281+// state change must be communicated to assistive technologies.
282+//
283+// This function is meant to be used by language bindings.
284+func (x *Clamp) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
285+
286+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
287+
288+}
289+
290+// Gets the ID of the @buildable object.
291+//
292+// `GtkBuilder` sets the name based on the ID attribute
293+// of the &lt;object&gt; tag used to construct the @buildable.
294+func (x *Clamp) GetBuildableId() string {
295+
296+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
297+
298+}
299+
300+// Retrieves the orientation of the @orientable.
301+func (x *Clamp) GetOrientation() gtk.Orientation {
302+
303+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
304+
305+}
306+
307+// Sets the orientation of the @orientable.
308+func (x *Clamp) SetOrientation(OrientationVar gtk.Orientation) {
309+
310+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
311+
312+}
313+
314+func init() {
315+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
316+ if err != nil {
317+ panic(err)
318+ }
319+
320+ core.PuregoSafeRegister(&xNewClamp, lib, "adw_clamp_new")
321+
322+ core.PuregoSafeRegister(&xClampGetChild, lib, "adw_clamp_get_child")
323+ core.PuregoSafeRegister(&xClampGetMaximumSize, lib, "adw_clamp_get_maximum_size")
324+ core.PuregoSafeRegister(&xClampGetTighteningThreshold, lib, "adw_clamp_get_tightening_threshold")
325+ core.PuregoSafeRegister(&xClampSetChild, lib, "adw_clamp_set_child")
326+ core.PuregoSafeRegister(&xClampSetMaximumSize, lib, "adw_clamp_set_maximum_size")
327+ core.PuregoSafeRegister(&xClampSetTighteningThreshold, lib, "adw_clamp_set_tightening_threshold")
328+
329+}
A v4/adw/adw-combo-row.go +533 -0
@@ -0,0 +1,533 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/glib"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type ComboRowClass struct {
14+ ParentClass uintptr
15+
16+ Padding uintptr
17+}
18+
19+// A [class@Gtk.ListBoxRow] used to choose from a list of items.
20+//
21+// &lt;picture&gt;
22+//
23+// &lt;source srcset="combo-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
24+// &lt;img src="combo-row.png" alt="combo-row"&gt;
25+//
26+// &lt;/picture&gt;
27+//
28+// The `AdwComboRow` widget allows the user to choose from a list of valid
29+// choices. The row displays the selected choice. When activated, the row
30+// displays a popover which allows the user to make a new choice.
31+//
32+// Example of an `AdwComboRow` UI definition:
33+// ```xml
34+// &lt;object class="AdwComboRow"&gt;
35+//
36+// &lt;property name="title" translatable="yes"&gt;Combo Row&lt;/property&gt;
37+// &lt;property name="model"&gt;
38+// &lt;object class="GtkStringList"&gt;
39+// &lt;items&gt;
40+// &lt;item translatable="yes"&gt;Foo&lt;/item&gt;
41+// &lt;item translatable="yes"&gt;Bar&lt;/item&gt;
42+// &lt;item translatable="yes"&gt;Baz&lt;/item&gt;
43+// &lt;/items&gt;
44+// &lt;/object&gt;
45+// &lt;/property&gt;
46+//
47+// &lt;/object&gt;
48+// ```
49+//
50+// The [property@ComboRow:selected] and [property@ComboRow:selected-item]
51+// properties can be used to keep track of the selected item and react to their
52+// changes.
53+//
54+// `AdwComboRow` mirrors [class@Gtk.DropDown], see that widget for details.
55+//
56+// `AdwComboRow` is [property@Gtk.ListBoxRow:activatable] if a model is set.
57+//
58+// ## CSS nodes
59+//
60+// `AdwComboRow` has a main CSS node with name `row` and the `.combo` style
61+// class.
62+//
63+// Its popover has the node named `popover` with the `.menu` style class, it
64+// contains a [class@Gtk.ScrolledWindow], which in turn contains a
65+// [class@Gtk.ListView], both are accessible via their regular nodes.
66+//
67+// ## Accessibility
68+//
69+// `AdwComboRow` uses the `GTK_ACCESSIBLE_ROLE_COMBO_BOX` role.
70+type ComboRow struct {
71+ ActionRow
72+}
73+
74+func ComboRowNewFromInternalPtr(ptr uintptr) *ComboRow {
75+ cls := &ComboRow{}
76+ cls.Ptr = ptr
77+ return cls
78+}
79+
80+var xNewComboRow func() uintptr
81+
82+// Creates a new `AdwComboRow`.
83+func NewComboRow() *gtk.Widget {
84+ NewComboRowPtr := xNewComboRow()
85+ if NewComboRowPtr == 0 {
86+ return nil
87+ }
88+
89+ gobject.IncreaseRef(NewComboRowPtr)
90+
91+ NewComboRowCls := &gtk.Widget{}
92+ NewComboRowCls.Ptr = NewComboRowPtr
93+ return NewComboRowCls
94+}
95+
96+var xComboRowGetExpression func(uintptr) uintptr
97+
98+// Gets the expression used to obtain strings from items.
99+func (x *ComboRow) GetExpression() *gtk.Expression {
100+
101+ GetExpressionPtr := xComboRowGetExpression(x.GoPointer())
102+ if GetExpressionPtr == 0 {
103+ return nil
104+ }
105+
106+ gobject.IncreaseRef(GetExpressionPtr)
107+
108+ GetExpressionCls := &gtk.Expression{}
109+ GetExpressionCls.Ptr = GetExpressionPtr
110+ return GetExpressionCls
111+
112+}
113+
114+var xComboRowGetFactory func(uintptr) uintptr
115+
116+// Gets the factory for populating list items.
117+func (x *ComboRow) GetFactory() *gtk.ListItemFactory {
118+
119+ GetFactoryPtr := xComboRowGetFactory(x.GoPointer())
120+ if GetFactoryPtr == 0 {
121+ return nil
122+ }
123+
124+ gobject.IncreaseRef(GetFactoryPtr)
125+
126+ GetFactoryCls := &gtk.ListItemFactory{}
127+ GetFactoryCls.Ptr = GetFactoryPtr
128+ return GetFactoryCls
129+
130+}
131+
132+var xComboRowGetListFactory func(uintptr) uintptr
133+
134+// Gets the factory for populating list items in the popup.
135+func (x *ComboRow) GetListFactory() *gtk.ListItemFactory {
136+
137+ GetListFactoryPtr := xComboRowGetListFactory(x.GoPointer())
138+ if GetListFactoryPtr == 0 {
139+ return nil
140+ }
141+
142+ gobject.IncreaseRef(GetListFactoryPtr)
143+
144+ GetListFactoryCls := &gtk.ListItemFactory{}
145+ GetListFactoryCls.Ptr = GetListFactoryPtr
146+ return GetListFactoryCls
147+
148+}
149+
150+var xComboRowGetModel func(uintptr) uintptr
151+
152+// Gets the model that provides the displayed items.
153+func (x *ComboRow) GetModel() *gio.ListModelBase {
154+
155+ GetModelPtr := xComboRowGetModel(x.GoPointer())
156+ if GetModelPtr == 0 {
157+ return nil
158+ }
159+
160+ gobject.IncreaseRef(GetModelPtr)
161+
162+ GetModelCls := &gio.ListModelBase{}
163+ GetModelCls.Ptr = GetModelPtr
164+ return GetModelCls
165+
166+}
167+
168+var xComboRowGetSelected func(uintptr) uint
169+
170+// Gets the position of the selected item.
171+func (x *ComboRow) GetSelected() uint {
172+
173+ return xComboRowGetSelected(x.GoPointer())
174+
175+}
176+
177+var xComboRowGetSelectedItem func(uintptr) uintptr
178+
179+// Gets the selected item.
180+func (x *ComboRow) GetSelectedItem() *gobject.Object {
181+
182+ GetSelectedItemPtr := xComboRowGetSelectedItem(x.GoPointer())
183+ if GetSelectedItemPtr == 0 {
184+ return nil
185+ }
186+
187+ gobject.IncreaseRef(GetSelectedItemPtr)
188+
189+ GetSelectedItemCls := &gobject.Object{}
190+ GetSelectedItemCls.Ptr = GetSelectedItemPtr
191+ return GetSelectedItemCls
192+
193+}
194+
195+var xComboRowGetUseSubtitle func(uintptr) bool
196+
197+// Gets whether to use the current value as the subtitle.
198+func (x *ComboRow) GetUseSubtitle() bool {
199+
200+ return xComboRowGetUseSubtitle(x.GoPointer())
201+
202+}
203+
204+var xComboRowSetExpression func(uintptr, uintptr)
205+
206+// Sets the expression used to obtain strings from items.
207+//
208+// The expression must have a value type of `G_TYPE_STRING`.
209+//
210+// It's used to bind strings to labels produced by the default factory if
211+// [property@ComboRow:factory] is not set, or when
212+// [property@ComboRow:use-subtitle] is set to `TRUE`.
213+func (x *ComboRow) SetExpression(ExpressionVar *gtk.Expression) {
214+
215+ xComboRowSetExpression(x.GoPointer(), ExpressionVar.GoPointer())
216+
217+}
218+
219+var xComboRowSetFactory func(uintptr, uintptr)
220+
221+// Sets the factory for populating list items.
222+//
223+// This factory is always used for the item in the row. It is also used for
224+// items in the popup unless [property@ComboRow:list-factory] is set.
225+func (x *ComboRow) SetFactory(FactoryVar *gtk.ListItemFactory) {
226+
227+ xComboRowSetFactory(x.GoPointer(), FactoryVar.GoPointer())
228+
229+}
230+
231+var xComboRowSetListFactory func(uintptr, uintptr)
232+
233+// Sets the factory for populating list items in the popup.
234+//
235+// If this is not set, [property@ComboRow:factory] is used.
236+func (x *ComboRow) SetListFactory(FactoryVar *gtk.ListItemFactory) {
237+
238+ xComboRowSetListFactory(x.GoPointer(), FactoryVar.GoPointer())
239+
240+}
241+
242+var xComboRowSetModel func(uintptr, uintptr)
243+
244+// Sets the model that provides the displayed items.
245+func (x *ComboRow) SetModel(ModelVar gio.ListModel) {
246+
247+ xComboRowSetModel(x.GoPointer(), ModelVar.GoPointer())
248+
249+}
250+
251+var xComboRowSetSelected func(uintptr, uint)
252+
253+// Selects the item at the given position.
254+func (x *ComboRow) SetSelected(PositionVar uint) {
255+
256+ xComboRowSetSelected(x.GoPointer(), PositionVar)
257+
258+}
259+
260+var xComboRowSetUseSubtitle func(uintptr, bool)
261+
262+// Sets whether to use the current value as the subtitle.
263+//
264+// If you use a custom list item factory, you will need to give the row a
265+// name conversion expression with [property@ComboRow:expression].
266+//
267+// If set to `TRUE`, you should not access [property@ActionRow:subtitle].
268+//
269+// The subtitle is interpreted as Pango markup if
270+// [property@PreferencesRow:use-markup] is set to `TRUE`.
271+func (x *ComboRow) SetUseSubtitle(UseSubtitleVar bool) {
272+
273+ xComboRowSetUseSubtitle(x.GoPointer(), UseSubtitleVar)
274+
275+}
276+
277+func (c *ComboRow) GoPointer() uintptr {
278+ return c.Ptr
279+}
280+
281+func (c *ComboRow) SetGoPointer(ptr uintptr) {
282+ c.Ptr = ptr
283+}
284+
285+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
286+func (x *ComboRow) GetAccessibleRole() gtk.AccessibleRole {
287+
288+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
289+
290+}
291+
292+// Resets the accessible @property to its default value.
293+func (x *ComboRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
294+
295+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
296+
297+}
298+
299+// Resets the accessible @relation to its default value.
300+func (x *ComboRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
301+
302+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
303+
304+}
305+
306+// Resets the accessible @state to its default value.
307+func (x *ComboRow) ResetState(StateVar gtk.AccessibleState) {
308+
309+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
310+
311+}
312+
313+// Updates a list of accessible properties.
314+//
315+// See the [enum@Gtk.AccessibleProperty] documentation for the
316+// value types of accessible properties.
317+//
318+// This function should be called by `GtkWidget` types whenever
319+// an accessible property change must be communicated to assistive
320+// technologies.
321+//
322+// Example:
323+// ```c
324+// value = gtk_adjustment_get_value (adjustment);
325+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
326+//
327+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
328+// -1);
329+//
330+// ```
331+func (x *ComboRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
332+
333+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
334+
335+}
336+
337+// Updates an array of accessible properties.
338+//
339+// This function should be called by `GtkWidget` types whenever an accessible
340+// property change must be communicated to assistive technologies.
341+//
342+// This function is meant to be used by language bindings.
343+func (x *ComboRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
344+
345+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
346+
347+}
348+
349+// Updates a list of accessible relations.
350+//
351+// This function should be called by `GtkWidget` types whenever an accessible
352+// relation change must be communicated to assistive technologies.
353+//
354+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
355+// you should pass each reference individually, followed by %NULL, e.g.
356+//
357+// ```c
358+// gtk_accessible_update_relation (accessible,
359+//
360+// GTK_ACCESSIBLE_RELATION_CONTROLS,
361+// ref1, NULL,
362+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
363+// ref1, ref2, ref3, NULL,
364+// -1);
365+//
366+// ```
367+func (x *ComboRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
368+
369+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
370+
371+}
372+
373+// Updates an array of accessible relations.
374+//
375+// This function should be called by `GtkWidget` types whenever an accessible
376+// relation change must be communicated to assistive technologies.
377+//
378+// This function is meant to be used by language bindings.
379+func (x *ComboRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
380+
381+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
382+
383+}
384+
385+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
386+// documentation for the value types of accessible states.
387+//
388+// This function should be called by `GtkWidget` types whenever an accessible
389+// state change must be communicated to assistive technologies.
390+//
391+// Example:
392+// ```c
393+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
394+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
395+//
396+// GTK_ACCESSIBLE_STATE_CHECKED, value,
397+// -1);
398+//
399+// ```
400+func (x *ComboRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
401+
402+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
403+
404+}
405+
406+// Updates an array of accessible states.
407+//
408+// This function should be called by `GtkWidget` types whenever an accessible
409+// state change must be communicated to assistive technologies.
410+//
411+// This function is meant to be used by language bindings.
412+func (x *ComboRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
413+
414+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
415+
416+}
417+
418+// Gets the action name for @actionable.
419+func (x *ComboRow) GetActionName() string {
420+
421+ return gtk.XGtkActionableGetActionName(x.GoPointer())
422+
423+}
424+
425+// Gets the current target value of @actionable.
426+func (x *ComboRow) GetActionTargetValue() *glib.Variant {
427+
428+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
429+
430+}
431+
432+// Specifies the name of the action with which this widget should be
433+// associated.
434+//
435+// If @action_name is %NULL then the widget will be unassociated from
436+// any previous action.
437+//
438+// Usually this function is used when the widget is located (or will be
439+// located) within the hierarchy of a `GtkApplicationWindow`.
440+//
441+// Names are of the form “win.save” or “app.quit” for actions on the
442+// containing [class@ApplicationWindow] or its associated [class@Application],
443+// respectively. This is the same form used for actions in the [class@Gio.Menu]
444+// associated with the window.
445+func (x *ComboRow) SetActionName(ActionNameVar string) {
446+
447+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
448+
449+}
450+
451+// Sets the target of an actionable widget.
452+//
453+// This is a convenience function that calls [ctor@GLib.Variant.new] for
454+// @format_string and uses the result to call
455+// [method@Gtk.Actionable.set_action_target_value].
456+//
457+// If you are setting a string-valued target and want to set
458+// the action name at the same time, you can use
459+// [method@Gtk.Actionable.set_detailed_action_name].
460+func (x *ComboRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
461+
462+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
463+
464+}
465+
466+// Sets the target value of an actionable widget.
467+//
468+// If @target_value is %NULL then the target value is unset.
469+//
470+// The target value has two purposes. First, it is used as the parameter
471+// to activation of the action associated with the `GtkActionable` widget.
472+// Second, it is used to determine if the widget should be rendered as
473+// “active” — the widget is active if the state is equal to the given target.
474+//
475+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
476+// with string state in a typical “radio button” situation. Each button
477+// will be associated with the same action, but with a different target
478+// value for that action. Clicking on a particular button will activate
479+// the action with the target of that button, which will typically cause
480+// the action’s state to change to that value. Since the action’s state
481+// is now equal to the target value of the button, the button will now
482+// be rendered as active (and the other buttons, with different targets,
483+// rendered inactive).
484+func (x *ComboRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
485+
486+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
487+
488+}
489+
490+// Sets the action-name and associated string target value of an
491+// actionable widget.
492+//
493+// @detailed_action_name is a string in the format accepted by
494+// [func@Gio.Action.parse_detailed_name].
495+func (x *ComboRow) SetDetailedActionName(DetailedActionNameVar string) {
496+
497+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
498+
499+}
500+
501+// Gets the ID of the @buildable object.
502+//
503+// `GtkBuilder` sets the name based on the ID attribute
504+// of the &lt;object&gt; tag used to construct the @buildable.
505+func (x *ComboRow) GetBuildableId() string {
506+
507+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
508+
509+}
510+
511+func init() {
512+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
513+ if err != nil {
514+ panic(err)
515+ }
516+
517+ core.PuregoSafeRegister(&xNewComboRow, lib, "adw_combo_row_new")
518+
519+ core.PuregoSafeRegister(&xComboRowGetExpression, lib, "adw_combo_row_get_expression")
520+ core.PuregoSafeRegister(&xComboRowGetFactory, lib, "adw_combo_row_get_factory")
521+ core.PuregoSafeRegister(&xComboRowGetListFactory, lib, "adw_combo_row_get_list_factory")
522+ core.PuregoSafeRegister(&xComboRowGetModel, lib, "adw_combo_row_get_model")
523+ core.PuregoSafeRegister(&xComboRowGetSelected, lib, "adw_combo_row_get_selected")
524+ core.PuregoSafeRegister(&xComboRowGetSelectedItem, lib, "adw_combo_row_get_selected_item")
525+ core.PuregoSafeRegister(&xComboRowGetUseSubtitle, lib, "adw_combo_row_get_use_subtitle")
526+ core.PuregoSafeRegister(&xComboRowSetExpression, lib, "adw_combo_row_set_expression")
527+ core.PuregoSafeRegister(&xComboRowSetFactory, lib, "adw_combo_row_set_factory")
528+ core.PuregoSafeRegister(&xComboRowSetListFactory, lib, "adw_combo_row_set_list_factory")
529+ core.PuregoSafeRegister(&xComboRowSetModel, lib, "adw_combo_row_set_model")
530+ core.PuregoSafeRegister(&xComboRowSetSelected, lib, "adw_combo_row_set_selected")
531+ core.PuregoSafeRegister(&xComboRowSetUseSubtitle, lib, "adw_combo_row_set_use_subtitle")
532+
533+}
A v4/adw/adw-easing.go +114 -0
@@ -0,0 +1,114 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+)
8+
9+// Describes the available easing functions for use with
10+// [class@TimedAnimation].
11+//
12+// New values may be added to this enumeration over time.
13+type Easing int
14+
15+const (
16+
17+ // Linear tweening.
18+ LinearValue Easing = 0
19+ // Quadratic tweening.
20+ EaseInQuadValue Easing = 1
21+ // Quadratic tweening, inverse of `ADW_EASE_IN_QUAD`.
22+ EaseOutQuadValue Easing = 2
23+ // Quadratic tweening, combining `ADW_EASE_IN_QUAD` and
24+ // `ADW_EASE_OUT_QUAD`.
25+ EaseInOutQuadValue Easing = 3
26+ // Cubic tweening.
27+ EaseInCubicValue Easing = 4
28+ // Cubic tweening, inverse of `ADW_EASE_IN_CUBIC`.
29+ EaseOutCubicValue Easing = 5
30+ // Cubic tweening, combining `ADW_EASE_IN_CUBIC` and
31+ // `ADW_EASE_OUT_CUBIC`.
32+ EaseInOutCubicValue Easing = 6
33+ // Quartic tweening.
34+ EaseInQuartValue Easing = 7
35+ // Quartic tweening, inverse of `ADW_EASE_IN_QUART`.
36+ EaseOutQuartValue Easing = 8
37+ // Quartic tweening, combining `ADW_EASE_IN_QUART` and
38+ // `ADW_EASE_OUT_QUART`.
39+ EaseInOutQuartValue Easing = 9
40+ // Quintic tweening.
41+ EaseInQuintValue Easing = 10
42+ // Quintic tweening, inverse of `ADW_EASE_IN_QUINT`.
43+ EaseOutQuintValue Easing = 11
44+ // Quintic tweening, combining `ADW_EASE_IN_QUINT` and
45+ // `ADW_EASE_OUT_QUINT`.
46+ EaseInOutQuintValue Easing = 12
47+ // Sine wave tweening.
48+ EaseInSineValue Easing = 13
49+ // Sine wave tweening, inverse of `ADW_EASE_IN_SINE`.
50+ EaseOutSineValue Easing = 14
51+ // Sine wave tweening, combining `ADW_EASE_IN_SINE` and
52+ // `ADW_EASE_OUT_SINE`.
53+ EaseInOutSineValue Easing = 15
54+ // Exponential tweening.
55+ EaseInExpoValue Easing = 16
56+ // Exponential tweening, inverse of `ADW_EASE_IN_EXPO`.
57+ EaseOutExpoValue Easing = 17
58+ // Exponential tweening, combining `ADW_EASE_IN_EXPO` and
59+ // `ADW_EASE_OUT_EXPO`.
60+ EaseInOutExpoValue Easing = 18
61+ // Circular tweening.
62+ EaseInCircValue Easing = 19
63+ // Circular tweening, inverse of `ADW_EASE_IN_CIRC`.
64+ EaseOutCircValue Easing = 20
65+ // Circular tweening, combining `ADW_EASE_IN_CIRC` and
66+ // `ADW_EASE_OUT_CIRC`.
67+ EaseInOutCircValue Easing = 21
68+ // Elastic tweening, with offshoot on start.
69+ EaseInElasticValue Easing = 22
70+ // Elastic tweening, with offshoot on end, inverse of
71+ // `ADW_EASE_IN_ELASTIC`.
72+ EaseOutElasticValue Easing = 23
73+ // Elastic tweening, with offshoot on both ends,
74+ // combining `ADW_EASE_IN_ELASTIC` and `ADW_EASE_OUT_ELASTIC`.
75+ EaseInOutElasticValue Easing = 24
76+ // Overshooting cubic tweening, with backtracking on start.
77+ EaseInBackValue Easing = 25
78+ // Overshooting cubic tweening, with backtracking on end,
79+ // inverse of `ADW_EASE_IN_BACK`.
80+ EaseOutBackValue Easing = 26
81+ // Overshooting cubic tweening, with backtracking on both
82+ // ends, combining `ADW_EASE_IN_BACK` and `ADW_EASE_OUT_BACK`.
83+ EaseInOutBackValue Easing = 27
84+ // Exponentially decaying parabolic (bounce) tweening,
85+ // on start.
86+ EaseInBounceValue Easing = 28
87+ // Exponentially decaying parabolic (bounce) tweening,
88+ // with bounce on end, inverse of `ADW_EASE_IN_BOUNCE`.
89+ EaseOutBounceValue Easing = 29
90+ // Exponentially decaying parabolic (bounce) tweening,
91+ // with bounce on both ends, combining `ADW_EASE_IN_BOUNCE` and
92+ // `ADW_EASE_OUT_BOUNCE`.
93+ EaseInOutBounceValue Easing = 30
94+)
95+
96+var xEasingEase func(Easing, float64) float64
97+
98+// Computes easing with @easing for @value.
99+//
100+// @value should generally be in the [0, 1] range.
101+func EasingEase(SelfVar Easing, ValueVar float64) float64 {
102+
103+ return xEasingEase(SelfVar, ValueVar)
104+
105+}
106+
107+func init() {
108+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
109+ if err != nil {
110+ panic(err)
111+ }
112+ core.PuregoSafeRegister(&xEasingEase, lib, "adw_easing_ease")
113+
114+}
A v4/adw/adw-entry-row.go +772 -0
@@ -0,0 +1,772 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+ "github.com/jwijenbergh/puregotk/v4/pango"
11+)
12+
13+type EntryRowClass struct {
14+ ParentClass uintptr
15+}
16+
17+// A [class@Gtk.ListBoxRow] with an embedded text entry.
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="entry-row.png" alt="entry-row"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// `AdwEntryRow` has a title that doubles as placeholder text. It shows an icon
27+// indicating that it's editable and can receive additional widgets before or
28+// after the editable part.
29+//
30+// If [property@EntryRow:show-apply-button] is set to `TRUE`, `AdwEntryRow` can
31+// show an apply button when editing its contents. This can be useful if
32+// changing its contents can result in an expensive operation, such as network
33+// activity.
34+//
35+// `AdwEntryRow` provides only minimal API and should be used with the
36+// [iface@Gtk.Editable] API.
37+//
38+// See also [class@PasswordEntryRow].
39+//
40+// ## AdwEntryRow as GtkBuildable
41+//
42+// The `AdwEntryRow` implementation of the [iface@Gtk.Buildable] interface
43+// supports adding a child at its end by specifying “suffix” or omitting the
44+// “type” attribute of a &lt;child&gt; element.
45+//
46+// It also supports adding a child as a prefix widget by specifying “prefix” as
47+// the “type” attribute of a &lt;child&gt; element.
48+//
49+// ## CSS nodes
50+//
51+// `AdwEntryRow` has a single CSS node with name `row` and the `.entry` style
52+// class.
53+type EntryRow struct {
54+ PreferencesRow
55+}
56+
57+func EntryRowNewFromInternalPtr(ptr uintptr) *EntryRow {
58+ cls := &EntryRow{}
59+ cls.Ptr = ptr
60+ return cls
61+}
62+
63+var xNewEntryRow func() uintptr
64+
65+// Creates a new `AdwEntryRow`.
66+func NewEntryRow() *gtk.Widget {
67+ NewEntryRowPtr := xNewEntryRow()
68+ if NewEntryRowPtr == 0 {
69+ return nil
70+ }
71+
72+ gobject.IncreaseRef(NewEntryRowPtr)
73+
74+ NewEntryRowCls := &gtk.Widget{}
75+ NewEntryRowCls.Ptr = NewEntryRowPtr
76+ return NewEntryRowCls
77+}
78+
79+var xEntryRowAddPrefix func(uintptr, uintptr)
80+
81+// Adds a prefix widget to @self.
82+func (x *EntryRow) AddPrefix(WidgetVar *gtk.Widget) {
83+
84+ xEntryRowAddPrefix(x.GoPointer(), WidgetVar.GoPointer())
85+
86+}
87+
88+var xEntryRowAddSuffix func(uintptr, uintptr)
89+
90+// Adds a suffix widget to @self.
91+func (x *EntryRow) AddSuffix(WidgetVar *gtk.Widget) {
92+
93+ xEntryRowAddSuffix(x.GoPointer(), WidgetVar.GoPointer())
94+
95+}
96+
97+var xEntryRowGetActivatesDefault func(uintptr) bool
98+
99+// Gets whether activating the embedded entry can activate the default widget.
100+func (x *EntryRow) GetActivatesDefault() bool {
101+
102+ return xEntryRowGetActivatesDefault(x.GoPointer())
103+
104+}
105+
106+var xEntryRowGetAttributes func(uintptr) *pango.AttrList
107+
108+// Gets Pango attributes applied to the text of the embedded entry.
109+func (x *EntryRow) GetAttributes() *pango.AttrList {
110+
111+ return xEntryRowGetAttributes(x.GoPointer())
112+
113+}
114+
115+var xEntryRowGetEnableEmojiCompletion func(uintptr) bool
116+
117+// Gets whether to suggest emoji replacements on @self.
118+func (x *EntryRow) GetEnableEmojiCompletion() bool {
119+
120+ return xEntryRowGetEnableEmojiCompletion(x.GoPointer())
121+
122+}
123+
124+var xEntryRowGetInputHints func(uintptr) gtk.InputHints
125+
126+// Gets the additional input hints of @self.
127+func (x *EntryRow) GetInputHints() gtk.InputHints {
128+
129+ return xEntryRowGetInputHints(x.GoPointer())
130+
131+}
132+
133+var xEntryRowGetInputPurpose func(uintptr) gtk.InputPurpose
134+
135+// Gets the input purpose of @self.
136+func (x *EntryRow) GetInputPurpose() gtk.InputPurpose {
137+
138+ return xEntryRowGetInputPurpose(x.GoPointer())
139+
140+}
141+
142+var xEntryRowGetShowApplyButton func(uintptr) bool
143+
144+// Gets whether @self can show the apply button.
145+func (x *EntryRow) GetShowApplyButton() bool {
146+
147+ return xEntryRowGetShowApplyButton(x.GoPointer())
148+
149+}
150+
151+var xEntryRowGrabFocusWithoutSelecting func(uintptr) bool
152+
153+// Causes @self to have keyboard focus without selecting the text.
154+//
155+// See [method@Gtk.Text.grab_focus_without_selecting] for more information.
156+func (x *EntryRow) GrabFocusWithoutSelecting() bool {
157+
158+ return xEntryRowGrabFocusWithoutSelecting(x.GoPointer())
159+
160+}
161+
162+var xEntryRowRemove func(uintptr, uintptr)
163+
164+// Removes a child from @self.
165+func (x *EntryRow) Remove(WidgetVar *gtk.Widget) {
166+
167+ xEntryRowRemove(x.GoPointer(), WidgetVar.GoPointer())
168+
169+}
170+
171+var xEntryRowSetActivatesDefault func(uintptr, bool)
172+
173+// Sets whether activating the embedded entry can activate the default widget.
174+func (x *EntryRow) SetActivatesDefault(ActivatesVar bool) {
175+
176+ xEntryRowSetActivatesDefault(x.GoPointer(), ActivatesVar)
177+
178+}
179+
180+var xEntryRowSetAttributes func(uintptr, *pango.AttrList)
181+
182+// Sets Pango attributes to apply to the text of the embedded entry.
183+//
184+// The [struct@Pango.Attribute]'s `start_index` and `end_index` must refer to
185+// the [class@Gtk.EntryBuffer] text, i.e. without the preedit string.
186+func (x *EntryRow) SetAttributes(AttributesVar *pango.AttrList) {
187+
188+ xEntryRowSetAttributes(x.GoPointer(), AttributesVar)
189+
190+}
191+
192+var xEntryRowSetEnableEmojiCompletion func(uintptr, bool)
193+
194+// Sets whether to suggest emoji replacements on @self.
195+//
196+// Emoji replacement is done with :-delimited names, like `:heart:`.
197+func (x *EntryRow) SetEnableEmojiCompletion(EnableEmojiCompletionVar bool) {
198+
199+ xEntryRowSetEnableEmojiCompletion(x.GoPointer(), EnableEmojiCompletionVar)
200+
201+}
202+
203+var xEntryRowSetInputHints func(uintptr, gtk.InputHints)
204+
205+// Set additional input hints for @self.
206+//
207+// Input hints allow input methods to fine-tune their behavior.
208+//
209+// See also: [property@AdwEntryRow:input-purpose]
210+func (x *EntryRow) SetInputHints(HintsVar gtk.InputHints) {
211+
212+ xEntryRowSetInputHints(x.GoPointer(), HintsVar)
213+
214+}
215+
216+var xEntryRowSetInputPurpose func(uintptr, gtk.InputPurpose)
217+
218+// Sets the input purpose of @self.
219+//
220+// The input purpose can be used by input methods to adjust their behavior.
221+func (x *EntryRow) SetInputPurpose(PurposeVar gtk.InputPurpose) {
222+
223+ xEntryRowSetInputPurpose(x.GoPointer(), PurposeVar)
224+
225+}
226+
227+var xEntryRowSetShowApplyButton func(uintptr, bool)
228+
229+// Sets whether @self can show the apply button.
230+//
231+// When set to `TRUE`, typing text in the entry will reveal an apply button.
232+// Clicking it or pressing the &lt;kbd&gt;Enter&lt;/kbd&gt; key will hide the button and
233+// emit the [signal@EntryRow::apply] signal.
234+//
235+// This is useful if changing the entry contents can trigger an expensive
236+// operation, e.g. network activity, to avoid triggering it after typing every
237+// character.
238+func (x *EntryRow) SetShowApplyButton(ShowApplyButtonVar bool) {
239+
240+ xEntryRowSetShowApplyButton(x.GoPointer(), ShowApplyButtonVar)
241+
242+}
243+
244+func (c *EntryRow) GoPointer() uintptr {
245+ return c.Ptr
246+}
247+
248+func (c *EntryRow) SetGoPointer(ptr uintptr) {
249+ c.Ptr = ptr
250+}
251+
252+// Emitted when the apply button is pressed.
253+//
254+// See [property@EntryRow:show-apply-button].
255+func (x *EntryRow) ConnectApply(cb func(EntryRow)) {
256+ fcb := func(clsPtr uintptr) {
257+ fa := EntryRow{}
258+ fa.Ptr = clsPtr
259+
260+ cb(fa)
261+
262+ }
263+ gobject.ObjectConnect(x.GoPointer(), "signal::apply", purego.NewCallback(fcb))
264+}
265+
266+// Emitted when the embedded entry is activated.
267+func (x *EntryRow) ConnectEntryActivated(cb func(EntryRow)) {
268+ fcb := func(clsPtr uintptr) {
269+ fa := EntryRow{}
270+ fa.Ptr = clsPtr
271+
272+ cb(fa)
273+
274+ }
275+ gobject.ObjectConnect(x.GoPointer(), "signal::entry-activated", purego.NewCallback(fcb))
276+}
277+
278+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
279+func (x *EntryRow) GetAccessibleRole() gtk.AccessibleRole {
280+
281+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
282+
283+}
284+
285+// Resets the accessible @property to its default value.
286+func (x *EntryRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
287+
288+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
289+
290+}
291+
292+// Resets the accessible @relation to its default value.
293+func (x *EntryRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
294+
295+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
296+
297+}
298+
299+// Resets the accessible @state to its default value.
300+func (x *EntryRow) ResetState(StateVar gtk.AccessibleState) {
301+
302+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
303+
304+}
305+
306+// Updates a list of accessible properties.
307+//
308+// See the [enum@Gtk.AccessibleProperty] documentation for the
309+// value types of accessible properties.
310+//
311+// This function should be called by `GtkWidget` types whenever
312+// an accessible property change must be communicated to assistive
313+// technologies.
314+//
315+// Example:
316+// ```c
317+// value = gtk_adjustment_get_value (adjustment);
318+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
319+//
320+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
321+// -1);
322+//
323+// ```
324+func (x *EntryRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
325+
326+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
327+
328+}
329+
330+// Updates an array of accessible properties.
331+//
332+// This function should be called by `GtkWidget` types whenever an accessible
333+// property change must be communicated to assistive technologies.
334+//
335+// This function is meant to be used by language bindings.
336+func (x *EntryRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
337+
338+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
339+
340+}
341+
342+// Updates a list of accessible relations.
343+//
344+// This function should be called by `GtkWidget` types whenever an accessible
345+// relation change must be communicated to assistive technologies.
346+//
347+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
348+// you should pass each reference individually, followed by %NULL, e.g.
349+//
350+// ```c
351+// gtk_accessible_update_relation (accessible,
352+//
353+// GTK_ACCESSIBLE_RELATION_CONTROLS,
354+// ref1, NULL,
355+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
356+// ref1, ref2, ref3, NULL,
357+// -1);
358+//
359+// ```
360+func (x *EntryRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
361+
362+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
363+
364+}
365+
366+// Updates an array of accessible relations.
367+//
368+// This function should be called by `GtkWidget` types whenever an accessible
369+// relation change must be communicated to assistive technologies.
370+//
371+// This function is meant to be used by language bindings.
372+func (x *EntryRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
373+
374+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
375+
376+}
377+
378+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
379+// documentation for the value types of accessible states.
380+//
381+// This function should be called by `GtkWidget` types whenever an accessible
382+// state change must be communicated to assistive technologies.
383+//
384+// Example:
385+// ```c
386+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
387+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
388+//
389+// GTK_ACCESSIBLE_STATE_CHECKED, value,
390+// -1);
391+//
392+// ```
393+func (x *EntryRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
394+
395+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
396+
397+}
398+
399+// Updates an array of accessible states.
400+//
401+// This function should be called by `GtkWidget` types whenever an accessible
402+// state change must be communicated to assistive technologies.
403+//
404+// This function is meant to be used by language bindings.
405+func (x *EntryRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
406+
407+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
408+
409+}
410+
411+// Gets the action name for @actionable.
412+func (x *EntryRow) GetActionName() string {
413+
414+ return gtk.XGtkActionableGetActionName(x.GoPointer())
415+
416+}
417+
418+// Gets the current target value of @actionable.
419+func (x *EntryRow) GetActionTargetValue() *glib.Variant {
420+
421+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
422+
423+}
424+
425+// Specifies the name of the action with which this widget should be
426+// associated.
427+//
428+// If @action_name is %NULL then the widget will be unassociated from
429+// any previous action.
430+//
431+// Usually this function is used when the widget is located (or will be
432+// located) within the hierarchy of a `GtkApplicationWindow`.
433+//
434+// Names are of the form “win.save” or “app.quit” for actions on the
435+// containing [class@ApplicationWindow] or its associated [class@Application],
436+// respectively. This is the same form used for actions in the [class@Gio.Menu]
437+// associated with the window.
438+func (x *EntryRow) SetActionName(ActionNameVar string) {
439+
440+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
441+
442+}
443+
444+// Sets the target of an actionable widget.
445+//
446+// This is a convenience function that calls [ctor@GLib.Variant.new] for
447+// @format_string and uses the result to call
448+// [method@Gtk.Actionable.set_action_target_value].
449+//
450+// If you are setting a string-valued target and want to set
451+// the action name at the same time, you can use
452+// [method@Gtk.Actionable.set_detailed_action_name].
453+func (x *EntryRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
454+
455+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
456+
457+}
458+
459+// Sets the target value of an actionable widget.
460+//
461+// If @target_value is %NULL then the target value is unset.
462+//
463+// The target value has two purposes. First, it is used as the parameter
464+// to activation of the action associated with the `GtkActionable` widget.
465+// Second, it is used to determine if the widget should be rendered as
466+// “active” — the widget is active if the state is equal to the given target.
467+//
468+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
469+// with string state in a typical “radio button” situation. Each button
470+// will be associated with the same action, but with a different target
471+// value for that action. Clicking on a particular button will activate
472+// the action with the target of that button, which will typically cause
473+// the action’s state to change to that value. Since the action’s state
474+// is now equal to the target value of the button, the button will now
475+// be rendered as active (and the other buttons, with different targets,
476+// rendered inactive).
477+func (x *EntryRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
478+
479+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
480+
481+}
482+
483+// Sets the action-name and associated string target value of an
484+// actionable widget.
485+//
486+// @detailed_action_name is a string in the format accepted by
487+// [func@Gio.Action.parse_detailed_name].
488+func (x *EntryRow) SetDetailedActionName(DetailedActionNameVar string) {
489+
490+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
491+
492+}
493+
494+// Gets the ID of the @buildable object.
495+//
496+// `GtkBuilder` sets the name based on the ID attribute
497+// of the &lt;object&gt; tag used to construct the @buildable.
498+func (x *EntryRow) GetBuildableId() string {
499+
500+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
501+
502+}
503+
504+// Deletes the currently selected text of the editable.
505+//
506+// This call doesn’t do anything if there is no selected text.
507+func (x *EntryRow) DeleteSelection() {
508+
509+ gtk.XGtkEditableDeleteSelection(x.GoPointer())
510+
511+}
512+
513+// Deletes a sequence of characters.
514+//
515+// The characters that are deleted are those characters at positions
516+// from @start_pos up to, but not including @end_pos. If @end_pos is
517+// negative, then the characters deleted are those from @start_pos to
518+// the end of the text.
519+//
520+// Note that the positions are specified in characters, not bytes.
521+func (x *EntryRow) DeleteText(StartPosVar int32, EndPosVar int32) {
522+
523+ gtk.XGtkEditableDeleteText(x.GoPointer(), StartPosVar, EndPosVar)
524+
525+}
526+
527+// Undoes the setup done by [method@Gtk.Editable.init_delegate].
528+//
529+// This is a helper function that should be called from dispose,
530+// before removing the delegate object.
531+func (x *EntryRow) FinishDelegate() {
532+
533+ gtk.XGtkEditableFinishDelegate(x.GoPointer())
534+
535+}
536+
537+// Gets the alignment of the editable.
538+func (x *EntryRow) GetAlignment() float32 {
539+
540+ return gtk.XGtkEditableGetAlignment(x.GoPointer())
541+
542+}
543+
544+// Retrieves a sequence of characters.
545+//
546+// The characters that are retrieved are those characters at positions
547+// from @start_pos up to, but not including @end_pos. If @end_pos is negative,
548+// then the characters retrieved are those characters from @start_pos to
549+// the end of the text.
550+//
551+// Note that positions are specified in characters, not bytes.
552+func (x *EntryRow) GetChars(StartPosVar int32, EndPosVar int32) string {
553+
554+ return gtk.XGtkEditableGetChars(x.GoPointer(), StartPosVar, EndPosVar)
555+
556+}
557+
558+// Gets the `GtkEditable` that @editable is delegating its
559+// implementation to.
560+//
561+// Typically, the delegate is a [class@Gtk.Text] widget.
562+func (x *EntryRow) GetDelegate() *gtk.EditableBase {
563+
564+ GetDelegatePtr := gtk.XGtkEditableGetDelegate(x.GoPointer())
565+ if GetDelegatePtr == 0 {
566+ return nil
567+ }
568+
569+ gobject.IncreaseRef(GetDelegatePtr)
570+
571+ GetDelegateCls := &gtk.EditableBase{}
572+ GetDelegateCls.Ptr = GetDelegatePtr
573+ return GetDelegateCls
574+
575+}
576+
577+// Retrieves whether @editable is editable.
578+func (x *EntryRow) GetEditable() bool {
579+
580+ return gtk.XGtkEditableGetEditable(x.GoPointer())
581+
582+}
583+
584+// Gets if undo/redo actions are enabled for @editable
585+func (x *EntryRow) GetEnableUndo() bool {
586+
587+ return gtk.XGtkEditableGetEnableUndo(x.GoPointer())
588+
589+}
590+
591+// Retrieves the desired maximum width of @editable, in characters.
592+func (x *EntryRow) GetMaxWidthChars() int32 {
593+
594+ return gtk.XGtkEditableGetMaxWidthChars(x.GoPointer())
595+
596+}
597+
598+// Retrieves the current position of the cursor relative
599+// to the start of the content of the editable.
600+//
601+// Note that this position is in characters, not in bytes.
602+func (x *EntryRow) GetPosition() int32 {
603+
604+ return gtk.XGtkEditableGetPosition(x.GoPointer())
605+
606+}
607+
608+// Retrieves the selection bound of the editable.
609+//
610+// @start_pos will be filled with the start of the selection and
611+// @end_pos with end. If no text was selected both will be identical
612+// and %FALSE will be returned.
613+//
614+// Note that positions are specified in characters, not bytes.
615+func (x *EntryRow) GetSelectionBounds(StartPosVar int32, EndPosVar int32) bool {
616+
617+ return gtk.XGtkEditableGetSelectionBounds(x.GoPointer(), StartPosVar, EndPosVar)
618+
619+}
620+
621+// Retrieves the contents of @editable.
622+//
623+// The returned string is owned by GTK and must not be modified or freed.
624+func (x *EntryRow) GetText() string {
625+
626+ return gtk.XGtkEditableGetText(x.GoPointer())
627+
628+}
629+
630+// Gets the number of characters of space reserved
631+// for the contents of the editable.
632+func (x *EntryRow) GetWidthChars() int32 {
633+
634+ return gtk.XGtkEditableGetWidthChars(x.GoPointer())
635+
636+}
637+
638+// Sets up a delegate for `GtkEditable`.
639+//
640+// This is assuming that the get_delegate vfunc in the `GtkEditable`
641+// interface has been set up for the @editable's type.
642+//
643+// This is a helper function that should be called in instance init,
644+// after creating the delegate object.
645+func (x *EntryRow) InitDelegate() {
646+
647+ gtk.XGtkEditableInitDelegate(x.GoPointer())
648+
649+}
650+
651+// Inserts @length bytes of @text into the contents of the
652+// widget, at position @position.
653+//
654+// Note that the position is in characters, not in bytes.
655+// The function updates @position to point after the newly
656+// inserted text.
657+func (x *EntryRow) InsertText(TextVar string, LengthVar int32, PositionVar int32) {
658+
659+ gtk.XGtkEditableInsertText(x.GoPointer(), TextVar, LengthVar, PositionVar)
660+
661+}
662+
663+// Selects a region of text.
664+//
665+// The characters that are selected are those characters at positions
666+// from @start_pos up to, but not including @end_pos. If @end_pos is
667+// negative, then the characters selected are those characters from
668+// @start_pos to the end of the text.
669+//
670+// Note that positions are specified in characters, not bytes.
671+func (x *EntryRow) SelectRegion(StartPosVar int32, EndPosVar int32) {
672+
673+ gtk.XGtkEditableSelectRegion(x.GoPointer(), StartPosVar, EndPosVar)
674+
675+}
676+
677+// Sets the alignment for the contents of the editable.
678+//
679+// This controls the horizontal positioning of the contents when
680+// the displayed text is shorter than the width of the editable.
681+func (x *EntryRow) SetAlignment(XalignVar float32) {
682+
683+ gtk.XGtkEditableSetAlignment(x.GoPointer(), XalignVar)
684+
685+}
686+
687+// Determines if the user can edit the text in the editable widget.
688+func (x *EntryRow) SetEditable(IsEditableVar bool) {
689+
690+ gtk.XGtkEditableSetEditable(x.GoPointer(), IsEditableVar)
691+
692+}
693+
694+// If enabled, changes to @editable will be saved for undo/redo
695+// actions.
696+//
697+// This results in an additional copy of text changes and are not
698+// stored in secure memory. As such, undo is forcefully disabled
699+// when [property@Gtk.Text:visibility] is set to %FALSE.
700+func (x *EntryRow) SetEnableUndo(EnableUndoVar bool) {
701+
702+ gtk.XGtkEditableSetEnableUndo(x.GoPointer(), EnableUndoVar)
703+
704+}
705+
706+// Sets the desired maximum width in characters of @editable.
707+func (x *EntryRow) SetMaxWidthChars(NCharsVar int32) {
708+
709+ gtk.XGtkEditableSetMaxWidthChars(x.GoPointer(), NCharsVar)
710+
711+}
712+
713+// Sets the cursor position in the editable to the given value.
714+//
715+// The cursor is displayed before the character with the given (base 0)
716+// index in the contents of the editable. The value must be less than
717+// or equal to the number of characters in the editable. A value of -1
718+// indicates that the position should be set after the last character
719+// of the editable. Note that @position is in characters, not in bytes.
720+func (x *EntryRow) SetPosition(PositionVar int32) {
721+
722+ gtk.XGtkEditableSetPosition(x.GoPointer(), PositionVar)
723+
724+}
725+
726+// Sets the text in the editable to the given value.
727+//
728+// This is replacing the current contents.
729+func (x *EntryRow) SetText(TextVar string) {
730+
731+ gtk.XGtkEditableSetText(x.GoPointer(), TextVar)
732+
733+}
734+
735+// Changes the size request of the editable to be about the
736+// right size for @n_chars characters.
737+//
738+// Note that it changes the size request, the size can still
739+// be affected by how you pack the widget into containers.
740+// If @n_chars is -1, the size reverts to the default size.
741+func (x *EntryRow) SetWidthChars(NCharsVar int32) {
742+
743+ gtk.XGtkEditableSetWidthChars(x.GoPointer(), NCharsVar)
744+
745+}
746+
747+func init() {
748+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
749+ if err != nil {
750+ panic(err)
751+ }
752+
753+ core.PuregoSafeRegister(&xNewEntryRow, lib, "adw_entry_row_new")
754+
755+ core.PuregoSafeRegister(&xEntryRowAddPrefix, lib, "adw_entry_row_add_prefix")
756+ core.PuregoSafeRegister(&xEntryRowAddSuffix, lib, "adw_entry_row_add_suffix")
757+ core.PuregoSafeRegister(&xEntryRowGetActivatesDefault, lib, "adw_entry_row_get_activates_default")
758+ core.PuregoSafeRegister(&xEntryRowGetAttributes, lib, "adw_entry_row_get_attributes")
759+ core.PuregoSafeRegister(&xEntryRowGetEnableEmojiCompletion, lib, "adw_entry_row_get_enable_emoji_completion")
760+ core.PuregoSafeRegister(&xEntryRowGetInputHints, lib, "adw_entry_row_get_input_hints")
761+ core.PuregoSafeRegister(&xEntryRowGetInputPurpose, lib, "adw_entry_row_get_input_purpose")
762+ core.PuregoSafeRegister(&xEntryRowGetShowApplyButton, lib, "adw_entry_row_get_show_apply_button")
763+ core.PuregoSafeRegister(&xEntryRowGrabFocusWithoutSelecting, lib, "adw_entry_row_grab_focus_without_selecting")
764+ core.PuregoSafeRegister(&xEntryRowRemove, lib, "adw_entry_row_remove")
765+ core.PuregoSafeRegister(&xEntryRowSetActivatesDefault, lib, "adw_entry_row_set_activates_default")
766+ core.PuregoSafeRegister(&xEntryRowSetAttributes, lib, "adw_entry_row_set_attributes")
767+ core.PuregoSafeRegister(&xEntryRowSetEnableEmojiCompletion, lib, "adw_entry_row_set_enable_emoji_completion")
768+ core.PuregoSafeRegister(&xEntryRowSetInputHints, lib, "adw_entry_row_set_input_hints")
769+ core.PuregoSafeRegister(&xEntryRowSetInputPurpose, lib, "adw_entry_row_set_input_purpose")
770+ core.PuregoSafeRegister(&xEntryRowSetShowApplyButton, lib, "adw_entry_row_set_show_apply_button")
771+
772+}
A v4/adw/adw-enum-list-model.go +224 -0
@@ -0,0 +1,224 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+)
10+
11+type EnumListItemClass struct {
12+ ParentClass uintptr
13+}
14+
15+type EnumListModelClass struct {
16+ ParentClass uintptr
17+}
18+
19+// `AdwEnumListItem` is the type of items in a [class@EnumListModel].
20+type EnumListItem struct {
21+ gobject.Object
22+}
23+
24+func EnumListItemNewFromInternalPtr(ptr uintptr) *EnumListItem {
25+ cls := &EnumListItem{}
26+ cls.Ptr = ptr
27+ return cls
28+}
29+
30+var xEnumListItemGetName func(uintptr) string
31+
32+// Gets the enum value name.
33+func (x *EnumListItem) GetName() string {
34+
35+ return xEnumListItemGetName(x.GoPointer())
36+
37+}
38+
39+var xEnumListItemGetNick func(uintptr) string
40+
41+// Gets the enum value nick.
42+func (x *EnumListItem) GetNick() string {
43+
44+ return xEnumListItemGetNick(x.GoPointer())
45+
46+}
47+
48+var xEnumListItemGetValue func(uintptr) int32
49+
50+// Gets the enum value.
51+func (x *EnumListItem) GetValue() int32 {
52+
53+ return xEnumListItemGetValue(x.GoPointer())
54+
55+}
56+
57+func (c *EnumListItem) GoPointer() uintptr {
58+ return c.Ptr
59+}
60+
61+func (c *EnumListItem) SetGoPointer(ptr uintptr) {
62+ c.Ptr = ptr
63+}
64+
65+// A [iface@Gio.ListModel] representing values of a given enum.
66+//
67+// `AdwEnumListModel` contains objects of type [class@EnumListItem].
68+type EnumListModel struct {
69+ gobject.Object
70+}
71+
72+func EnumListModelNewFromInternalPtr(ptr uintptr) *EnumListModel {
73+ cls := &EnumListModel{}
74+ cls.Ptr = ptr
75+ return cls
76+}
77+
78+var xNewEnumListModel func([]interface{}) uintptr
79+
80+// Creates a new `AdwEnumListModel` for @enum_type.
81+func NewEnumListModel(EnumTypeVar []interface{}) *EnumListModel {
82+ NewEnumListModelPtr := xNewEnumListModel(EnumTypeVar)
83+ if NewEnumListModelPtr == 0 {
84+ return nil
85+ }
86+
87+ NewEnumListModelCls := &EnumListModel{}
88+ NewEnumListModelCls.Ptr = NewEnumListModelPtr
89+ return NewEnumListModelCls
90+}
91+
92+var xEnumListModelFindPosition func(uintptr, int32) uint
93+
94+// Finds the position of a given enum value in @self.
95+func (x *EnumListModel) FindPosition(ValueVar int32) uint {
96+
97+ return xEnumListModelFindPosition(x.GoPointer(), ValueVar)
98+
99+}
100+
101+var xEnumListModelGetEnumType func(uintptr) []interface{}
102+
103+// Gets the type of the enum represented by @self.
104+func (x *EnumListModel) GetEnumType() []interface{} {
105+
106+ return xEnumListModelGetEnumType(x.GoPointer())
107+
108+}
109+
110+func (c *EnumListModel) GoPointer() uintptr {
111+ return c.Ptr
112+}
113+
114+func (c *EnumListModel) SetGoPointer(ptr uintptr) {
115+ c.Ptr = ptr
116+}
117+
118+// Get the item at @position.
119+//
120+// If @position is greater than the number of items in @list, %NULL is
121+// returned.
122+//
123+// %NULL is never returned for an index that is smaller than the length
124+// of the list.
125+//
126+// See also: g_list_model_get_n_items()
127+func (x *EnumListModel) GetItem(PositionVar uint) uintptr {
128+
129+ return gio.XGListModelGetItem(x.GoPointer(), PositionVar)
130+
131+}
132+
133+// Gets the type of the items in @list.
134+//
135+// All items returned from g_list_model_get_item() are of the type
136+// returned by this function, or a subtype, or if the type is an
137+// interface, they are an implementation of that interface.
138+//
139+// The item type of a #GListModel can not change during the life of the
140+// model.
141+func (x *EnumListModel) GetItemType() []interface{} {
142+
143+ return gio.XGListModelGetItemType(x.GoPointer())
144+
145+}
146+
147+// Gets the number of items in @list.
148+//
149+// Depending on the model implementation, calling this function may be
150+// less efficient than iterating the list with increasing values for
151+// @position until g_list_model_get_item() returns %NULL.
152+func (x *EnumListModel) GetNItems() uint {
153+
154+ return gio.XGListModelGetNItems(x.GoPointer())
155+
156+}
157+
158+// Get the item at @position.
159+//
160+// If @position is greater than the number of items in @list, %NULL is
161+// returned.
162+//
163+// %NULL is never returned for an index that is smaller than the length
164+// of the list.
165+//
166+// This function is meant to be used by language bindings in place
167+// of g_list_model_get_item().
168+//
169+// See also: g_list_model_get_n_items()
170+func (x *EnumListModel) GetObject(PositionVar uint) *gobject.Object {
171+
172+ GetObjectPtr := gio.XGListModelGetObject(x.GoPointer(), PositionVar)
173+ if GetObjectPtr == 0 {
174+ return nil
175+ }
176+
177+ GetObjectCls := &gobject.Object{}
178+ GetObjectCls.Ptr = GetObjectPtr
179+ return GetObjectCls
180+
181+}
182+
183+// Emits the #GListModel::items-changed signal on @list.
184+//
185+// This function should only be called by classes implementing
186+// #GListModel. It has to be called after the internal representation
187+// of @list has been updated, because handlers connected to this signal
188+// might query the new state of the list.
189+//
190+// Implementations must only make changes to the model (as visible to
191+// its consumer) in places that will not cause problems for that
192+// consumer. For models that are driven directly by a write API (such
193+// as #GListStore), changes can be reported in response to uses of that
194+// API. For models that represent remote data, changes should only be
195+// made from a fresh mainloop dispatch. It is particularly not
196+// permitted to make changes in response to a call to the #GListModel
197+// consumer API.
198+//
199+// Stated another way: in general, it is assumed that code making a
200+// series of accesses to the model via the API, without returning to the
201+// mainloop, and without calling other code, will continue to view the
202+// same contents of the model.
203+func (x *EnumListModel) ItemsChanged(PositionVar uint, RemovedVar uint, AddedVar uint) {
204+
205+ gio.XGListModelItemsChanged(x.GoPointer(), PositionVar, RemovedVar, AddedVar)
206+
207+}
208+
209+func init() {
210+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
211+ if err != nil {
212+ panic(err)
213+ }
214+
215+ core.PuregoSafeRegister(&xEnumListItemGetName, lib, "adw_enum_list_item_get_name")
216+ core.PuregoSafeRegister(&xEnumListItemGetNick, lib, "adw_enum_list_item_get_nick")
217+ core.PuregoSafeRegister(&xEnumListItemGetValue, lib, "adw_enum_list_item_get_value")
218+
219+ core.PuregoSafeRegister(&xNewEnumListModel, lib, "adw_enum_list_model_new")
220+
221+ core.PuregoSafeRegister(&xEnumListModelFindPosition, lib, "adw_enum_list_model_find_position")
222+ core.PuregoSafeRegister(&xEnumListModelGetEnumType, lib, "adw_enum_list_model_get_enum_type")
223+
224+}
A v4/adw/adw-expander-row.go +509 -0
@@ -0,0 +1,509 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type ExpanderRowClass struct {
13+ ParentClass uintptr
14+
15+ Padding uintptr
16+}
17+
18+// A [class@Gtk.ListBoxRow] used to reveal widgets.
19+//
20+// &lt;picture&gt;
21+//
22+// &lt;source srcset="expander-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
23+// &lt;img src="expander-row.png" alt="expander-row"&gt;
24+//
25+// &lt;/picture&gt;
26+//
27+// The `AdwExpanderRow` widget allows the user to reveal or hide widgets below
28+// it. It also allows the user to enable the expansion of the row, allowing to
29+// disable all that the row contains.
30+//
31+// ## AdwExpanderRow as GtkBuildable
32+//
33+// The `AdwExpanderRow` implementation of the [iface@Gtk.Buildable] interface
34+// supports adding a child as an action widget by specifying “action” as the
35+// “type” attribute of a &lt;child&gt; element.
36+//
37+// It also supports adding it as a prefix widget by specifying “prefix” as the
38+// “type” attribute of a &lt;child&gt; element.
39+//
40+// ## CSS nodes
41+//
42+// `AdwExpanderRow` has a main CSS node with name `row` and the `.expander`
43+// style class. It has the `.empty` style class when it contains no children.
44+//
45+// It contains the subnodes `row.header` for its main embedded row,
46+// `list.nested` for the list it can expand, and `image.expander-row-arrow` for
47+// its arrow.
48+type ExpanderRow struct {
49+ PreferencesRow
50+}
51+
52+func ExpanderRowNewFromInternalPtr(ptr uintptr) *ExpanderRow {
53+ cls := &ExpanderRow{}
54+ cls.Ptr = ptr
55+ return cls
56+}
57+
58+var xNewExpanderRow func() uintptr
59+
60+// Creates a new `AdwExpanderRow`.
61+func NewExpanderRow() *gtk.Widget {
62+ NewExpanderRowPtr := xNewExpanderRow()
63+ if NewExpanderRowPtr == 0 {
64+ return nil
65+ }
66+
67+ gobject.IncreaseRef(NewExpanderRowPtr)
68+
69+ NewExpanderRowCls := &gtk.Widget{}
70+ NewExpanderRowCls.Ptr = NewExpanderRowPtr
71+ return NewExpanderRowCls
72+}
73+
74+var xExpanderRowAddAction func(uintptr, uintptr)
75+
76+// Adds an action widget to @self.
77+func (x *ExpanderRow) AddAction(WidgetVar *gtk.Widget) {
78+
79+ xExpanderRowAddAction(x.GoPointer(), WidgetVar.GoPointer())
80+
81+}
82+
83+var xExpanderRowAddPrefix func(uintptr, uintptr)
84+
85+// Adds a prefix widget to @self.
86+func (x *ExpanderRow) AddPrefix(WidgetVar *gtk.Widget) {
87+
88+ xExpanderRowAddPrefix(x.GoPointer(), WidgetVar.GoPointer())
89+
90+}
91+
92+var xExpanderRowAddRow func(uintptr, uintptr)
93+
94+// Adds a widget to @self.
95+//
96+// The widget will appear in the expanding list below @self.
97+func (x *ExpanderRow) AddRow(ChildVar *gtk.Widget) {
98+
99+ xExpanderRowAddRow(x.GoPointer(), ChildVar.GoPointer())
100+
101+}
102+
103+var xExpanderRowGetEnableExpansion func(uintptr) bool
104+
105+// Gets whether the expansion of @self is enabled.
106+func (x *ExpanderRow) GetEnableExpansion() bool {
107+
108+ return xExpanderRowGetEnableExpansion(x.GoPointer())
109+
110+}
111+
112+var xExpanderRowGetExpanded func(uintptr) bool
113+
114+// Gets whether @self is expanded.
115+func (x *ExpanderRow) GetExpanded() bool {
116+
117+ return xExpanderRowGetExpanded(x.GoPointer())
118+
119+}
120+
121+var xExpanderRowGetIconName func(uintptr) string
122+
123+// Gets the icon name for @self.
124+func (x *ExpanderRow) GetIconName() string {
125+
126+ return xExpanderRowGetIconName(x.GoPointer())
127+
128+}
129+
130+var xExpanderRowGetShowEnableSwitch func(uintptr) bool
131+
132+// Gets whether the switch enabling the expansion of @self is visible.
133+func (x *ExpanderRow) GetShowEnableSwitch() bool {
134+
135+ return xExpanderRowGetShowEnableSwitch(x.GoPointer())
136+
137+}
138+
139+var xExpanderRowGetSubtitle func(uintptr) string
140+
141+// Gets the subtitle for @self.
142+func (x *ExpanderRow) GetSubtitle() string {
143+
144+ return xExpanderRowGetSubtitle(x.GoPointer())
145+
146+}
147+
148+var xExpanderRowGetSubtitleLines func(uintptr) bool
149+
150+// Gets the number of lines at the end of which the subtitle label will be
151+// ellipsized.
152+func (x *ExpanderRow) GetSubtitleLines() bool {
153+
154+ return xExpanderRowGetSubtitleLines(x.GoPointer())
155+
156+}
157+
158+var xExpanderRowGetTitleLines func(uintptr) bool
159+
160+// Gets the number of lines at the end of which the title label will be
161+// ellipsized.
162+func (x *ExpanderRow) GetTitleLines() bool {
163+
164+ return xExpanderRowGetTitleLines(x.GoPointer())
165+
166+}
167+
168+var xExpanderRowRemove func(uintptr, uintptr)
169+
170+func (x *ExpanderRow) Remove(ChildVar *gtk.Widget) {
171+
172+ xExpanderRowRemove(x.GoPointer(), ChildVar.GoPointer())
173+
174+}
175+
176+var xExpanderRowSetEnableExpansion func(uintptr, bool)
177+
178+// Sets whether the expansion of @self is enabled.
179+func (x *ExpanderRow) SetEnableExpansion(EnableExpansionVar bool) {
180+
181+ xExpanderRowSetEnableExpansion(x.GoPointer(), EnableExpansionVar)
182+
183+}
184+
185+var xExpanderRowSetExpanded func(uintptr, bool)
186+
187+// Sets whether @self is expanded.
188+func (x *ExpanderRow) SetExpanded(ExpandedVar bool) {
189+
190+ xExpanderRowSetExpanded(x.GoPointer(), ExpandedVar)
191+
192+}
193+
194+var xExpanderRowSetIconName func(uintptr, string)
195+
196+// Sets the icon name for @self.
197+func (x *ExpanderRow) SetIconName(IconNameVar string) {
198+
199+ xExpanderRowSetIconName(x.GoPointer(), IconNameVar)
200+
201+}
202+
203+var xExpanderRowSetShowEnableSwitch func(uintptr, bool)
204+
205+// Sets whether the switch enabling the expansion of @self is visible.
206+func (x *ExpanderRow) SetShowEnableSwitch(ShowEnableSwitchVar bool) {
207+
208+ xExpanderRowSetShowEnableSwitch(x.GoPointer(), ShowEnableSwitchVar)
209+
210+}
211+
212+var xExpanderRowSetSubtitle func(uintptr, string)
213+
214+// Sets the subtitle for @self.
215+//
216+// The subtitle is interpreted as Pango markup unless
217+// [property@PreferencesRow:use-markup] is set to `FALSE`.
218+func (x *ExpanderRow) SetSubtitle(SubtitleVar string) {
219+
220+ xExpanderRowSetSubtitle(x.GoPointer(), SubtitleVar)
221+
222+}
223+
224+var xExpanderRowSetSubtitleLines func(uintptr, int32)
225+
226+// Sets the number of lines at the end of which the subtitle label will be
227+// ellipsized.
228+//
229+// If the value is 0, the number of lines won't be limited.
230+func (x *ExpanderRow) SetSubtitleLines(SubtitleLinesVar int32) {
231+
232+ xExpanderRowSetSubtitleLines(x.GoPointer(), SubtitleLinesVar)
233+
234+}
235+
236+var xExpanderRowSetTitleLines func(uintptr, int32)
237+
238+// Sets the number of lines at the end of which the title label will be
239+// ellipsized.
240+//
241+// If the value is 0, the number of lines won't be limited.
242+func (x *ExpanderRow) SetTitleLines(TitleLinesVar int32) {
243+
244+ xExpanderRowSetTitleLines(x.GoPointer(), TitleLinesVar)
245+
246+}
247+
248+func (c *ExpanderRow) GoPointer() uintptr {
249+ return c.Ptr
250+}
251+
252+func (c *ExpanderRow) SetGoPointer(ptr uintptr) {
253+ c.Ptr = ptr
254+}
255+
256+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
257+func (x *ExpanderRow) GetAccessibleRole() gtk.AccessibleRole {
258+
259+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
260+
261+}
262+
263+// Resets the accessible @property to its default value.
264+func (x *ExpanderRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
265+
266+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
267+
268+}
269+
270+// Resets the accessible @relation to its default value.
271+func (x *ExpanderRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
272+
273+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
274+
275+}
276+
277+// Resets the accessible @state to its default value.
278+func (x *ExpanderRow) ResetState(StateVar gtk.AccessibleState) {
279+
280+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
281+
282+}
283+
284+// Updates a list of accessible properties.
285+//
286+// See the [enum@Gtk.AccessibleProperty] documentation for the
287+// value types of accessible properties.
288+//
289+// This function should be called by `GtkWidget` types whenever
290+// an accessible property change must be communicated to assistive
291+// technologies.
292+//
293+// Example:
294+// ```c
295+// value = gtk_adjustment_get_value (adjustment);
296+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
297+//
298+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
299+// -1);
300+//
301+// ```
302+func (x *ExpanderRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
303+
304+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
305+
306+}
307+
308+// Updates an array of accessible properties.
309+//
310+// This function should be called by `GtkWidget` types whenever an accessible
311+// property change must be communicated to assistive technologies.
312+//
313+// This function is meant to be used by language bindings.
314+func (x *ExpanderRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
315+
316+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
317+
318+}
319+
320+// Updates a list of accessible relations.
321+//
322+// This function should be called by `GtkWidget` types whenever an accessible
323+// relation change must be communicated to assistive technologies.
324+//
325+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
326+// you should pass each reference individually, followed by %NULL, e.g.
327+//
328+// ```c
329+// gtk_accessible_update_relation (accessible,
330+//
331+// GTK_ACCESSIBLE_RELATION_CONTROLS,
332+// ref1, NULL,
333+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
334+// ref1, ref2, ref3, NULL,
335+// -1);
336+//
337+// ```
338+func (x *ExpanderRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
339+
340+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
341+
342+}
343+
344+// Updates an array of accessible relations.
345+//
346+// This function should be called by `GtkWidget` types whenever an accessible
347+// relation change must be communicated to assistive technologies.
348+//
349+// This function is meant to be used by language bindings.
350+func (x *ExpanderRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
351+
352+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
353+
354+}
355+
356+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
357+// documentation for the value types of accessible states.
358+//
359+// This function should be called by `GtkWidget` types whenever an accessible
360+// state change must be communicated to assistive technologies.
361+//
362+// Example:
363+// ```c
364+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
365+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
366+//
367+// GTK_ACCESSIBLE_STATE_CHECKED, value,
368+// -1);
369+//
370+// ```
371+func (x *ExpanderRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
372+
373+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
374+
375+}
376+
377+// Updates an array of accessible states.
378+//
379+// This function should be called by `GtkWidget` types whenever an accessible
380+// state change must be communicated to assistive technologies.
381+//
382+// This function is meant to be used by language bindings.
383+func (x *ExpanderRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
384+
385+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
386+
387+}
388+
389+// Gets the action name for @actionable.
390+func (x *ExpanderRow) GetActionName() string {
391+
392+ return gtk.XGtkActionableGetActionName(x.GoPointer())
393+
394+}
395+
396+// Gets the current target value of @actionable.
397+func (x *ExpanderRow) GetActionTargetValue() *glib.Variant {
398+
399+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
400+
401+}
402+
403+// Specifies the name of the action with which this widget should be
404+// associated.
405+//
406+// If @action_name is %NULL then the widget will be unassociated from
407+// any previous action.
408+//
409+// Usually this function is used when the widget is located (or will be
410+// located) within the hierarchy of a `GtkApplicationWindow`.
411+//
412+// Names are of the form “win.save” or “app.quit” for actions on the
413+// containing [class@ApplicationWindow] or its associated [class@Application],
414+// respectively. This is the same form used for actions in the [class@Gio.Menu]
415+// associated with the window.
416+func (x *ExpanderRow) SetActionName(ActionNameVar string) {
417+
418+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
419+
420+}
421+
422+// Sets the target of an actionable widget.
423+//
424+// This is a convenience function that calls [ctor@GLib.Variant.new] for
425+// @format_string and uses the result to call
426+// [method@Gtk.Actionable.set_action_target_value].
427+//
428+// If you are setting a string-valued target and want to set
429+// the action name at the same time, you can use
430+// [method@Gtk.Actionable.set_detailed_action_name].
431+func (x *ExpanderRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
432+
433+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
434+
435+}
436+
437+// Sets the target value of an actionable widget.
438+//
439+// If @target_value is %NULL then the target value is unset.
440+//
441+// The target value has two purposes. First, it is used as the parameter
442+// to activation of the action associated with the `GtkActionable` widget.
443+// Second, it is used to determine if the widget should be rendered as
444+// “active” — the widget is active if the state is equal to the given target.
445+//
446+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
447+// with string state in a typical “radio button” situation. Each button
448+// will be associated with the same action, but with a different target
449+// value for that action. Clicking on a particular button will activate
450+// the action with the target of that button, which will typically cause
451+// the action’s state to change to that value. Since the action’s state
452+// is now equal to the target value of the button, the button will now
453+// be rendered as active (and the other buttons, with different targets,
454+// rendered inactive).
455+func (x *ExpanderRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
456+
457+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
458+
459+}
460+
461+// Sets the action-name and associated string target value of an
462+// actionable widget.
463+//
464+// @detailed_action_name is a string in the format accepted by
465+// [func@Gio.Action.parse_detailed_name].
466+func (x *ExpanderRow) SetDetailedActionName(DetailedActionNameVar string) {
467+
468+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
469+
470+}
471+
472+// Gets the ID of the @buildable object.
473+//
474+// `GtkBuilder` sets the name based on the ID attribute
475+// of the &lt;object&gt; tag used to construct the @buildable.
476+func (x *ExpanderRow) GetBuildableId() string {
477+
478+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
479+
480+}
481+
482+func init() {
483+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
484+ if err != nil {
485+ panic(err)
486+ }
487+
488+ core.PuregoSafeRegister(&xNewExpanderRow, lib, "adw_expander_row_new")
489+
490+ core.PuregoSafeRegister(&xExpanderRowAddAction, lib, "adw_expander_row_add_action")
491+ core.PuregoSafeRegister(&xExpanderRowAddPrefix, lib, "adw_expander_row_add_prefix")
492+ core.PuregoSafeRegister(&xExpanderRowAddRow, lib, "adw_expander_row_add_row")
493+ core.PuregoSafeRegister(&xExpanderRowGetEnableExpansion, lib, "adw_expander_row_get_enable_expansion")
494+ core.PuregoSafeRegister(&xExpanderRowGetExpanded, lib, "adw_expander_row_get_expanded")
495+ core.PuregoSafeRegister(&xExpanderRowGetIconName, lib, "adw_expander_row_get_icon_name")
496+ core.PuregoSafeRegister(&xExpanderRowGetShowEnableSwitch, lib, "adw_expander_row_get_show_enable_switch")
497+ core.PuregoSafeRegister(&xExpanderRowGetSubtitle, lib, "adw_expander_row_get_subtitle")
498+ core.PuregoSafeRegister(&xExpanderRowGetSubtitleLines, lib, "adw_expander_row_get_subtitle_lines")
499+ core.PuregoSafeRegister(&xExpanderRowGetTitleLines, lib, "adw_expander_row_get_title_lines")
500+ core.PuregoSafeRegister(&xExpanderRowRemove, lib, "adw_expander_row_remove")
501+ core.PuregoSafeRegister(&xExpanderRowSetEnableExpansion, lib, "adw_expander_row_set_enable_expansion")
502+ core.PuregoSafeRegister(&xExpanderRowSetExpanded, lib, "adw_expander_row_set_expanded")
503+ core.PuregoSafeRegister(&xExpanderRowSetIconName, lib, "adw_expander_row_set_icon_name")
504+ core.PuregoSafeRegister(&xExpanderRowSetShowEnableSwitch, lib, "adw_expander_row_set_show_enable_switch")
505+ core.PuregoSafeRegister(&xExpanderRowSetSubtitle, lib, "adw_expander_row_set_subtitle")
506+ core.PuregoSafeRegister(&xExpanderRowSetSubtitleLines, lib, "adw_expander_row_set_subtitle_lines")
507+ core.PuregoSafeRegister(&xExpanderRowSetTitleLines, lib, "adw_expander_row_set_title_lines")
508+
509+}
A v4/adw/adw-flap.go +739 -0
@@ -0,0 +1,739 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type FlapClass struct {
13+ ParentClass uintptr
14+}
15+
16+// Describes the possible folding behavior of a [class@Flap] widget.
17+type FlapFoldPolicy int
18+
19+const (
20+
21+ // Disable folding, the flap cannot reach narrow
22+ // sizes.
23+ FlapFoldPolicyNeverValue FlapFoldPolicy = 0
24+ // Keep the flap always folded.
25+ FlapFoldPolicyAlwaysValue FlapFoldPolicy = 1
26+ // Fold and unfold the flap based on available
27+ // space.
28+ FlapFoldPolicyAutoValue FlapFoldPolicy = 2
29+)
30+
31+// Describes transitions types of a [class@Flap] widget.
32+//
33+// It determines the type of animation when transitioning between children in a
34+// [class@Flap] widget, as well as which areas can be swiped via
35+// [property@Flap:swipe-to-open] and [property@Flap:swipe-to-close].
36+//
37+// New values may be added to this enum over time.
38+type FlapTransitionType int
39+
40+const (
41+
42+ // The flap slides over the content, which is
43+ // dimmed. When folded, only the flap can be swiped.
44+ FlapTransitionTypeOverValue FlapTransitionType = 0
45+ // The content slides over the flap. Only the
46+ // content can be swiped.
47+ FlapTransitionTypeUnderValue FlapTransitionType = 1
48+ // The flap slides offscreen when hidden,
49+ // neither the flap nor content overlap each other. Both widgets can be
50+ // swiped.
51+ FlapTransitionTypeSlideValue FlapTransitionType = 2
52+)
53+
54+// An adaptive container acting like a box or an overlay.
55+//
56+// &lt;picture&gt;
57+//
58+// &lt;source srcset="flap-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
59+// &lt;img src="flap-wide.png" alt="flap-wide"&gt;
60+//
61+// &lt;/picture&gt;
62+// &lt;picture&gt;
63+//
64+// &lt;source srcset="flap-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
65+// &lt;img src="flap-narrow.png" alt="flap-narrow"&gt;
66+//
67+// &lt;/picture&gt;
68+//
69+// The `AdwFlap` widget can display its children like a [class@Gtk.Box] does or
70+// like a [class@Gtk.Overlay] does, according to the
71+// [property@Flap:fold-policy] value.
72+//
73+// `AdwFlap` has at most three children: [property@Flap:content],
74+// [property@Flap:flap] and [property@Flap:separator]. Content is the primary
75+// child, flap is displayed next to it when unfolded, or overlays it when
76+// folded. Flap can be shown or hidden by changing the
77+// [property@Flap:reveal-flap] value, as well as via swipe gestures if
78+// [property@Flap:swipe-to-open] and/or [property@Flap:swipe-to-close] are set
79+// to `TRUE`.
80+//
81+// Optionally, a separator can be provided, which would be displayed between
82+// the content and the flap when there's no shadow to separate them, depending
83+// on the transition type.
84+//
85+// [property@Flap:flap] is transparent by default; add the
86+// [`.background`](style-classes.html#background) style class to it if this is
87+// unwanted.
88+//
89+// If [property@Flap:modal] is set to `TRUE`, content becomes completely
90+// inaccessible when the flap is revealed while folded.
91+//
92+// The position of the flap and separator children relative to the content is
93+// determined by orientation, as well as the [property@Flap:flap-position]
94+// value.
95+//
96+// Folding the flap will automatically hide the flap widget, and unfolding it
97+// will automatically reveal it. If this behavior is not desired, the
98+// [property@Flap:locked] property can be used to override it.
99+//
100+// Common use cases include sidebars, header bars that need to be able to
101+// overlap the window content (for example, in fullscreen mode) and bottom
102+// sheets.
103+//
104+// ## AdwFlap as GtkBuildable
105+//
106+// The `AdwFlap` implementation of the [iface@Gtk.Buildable] interface supports
107+// setting the flap child by specifying “flap” as the “type” attribute of a
108+// `&lt;child&gt;` element, and separator by specifying “separator”. Specifying
109+// “content” child type or omitting it results in setting the content child.
110+//
111+// ## CSS nodes
112+//
113+// `AdwFlap` has a single CSS node with name `flap`. The node will get the style
114+// classes `.folded` when it is folded, and `.unfolded` when it's not.
115+type Flap struct {
116+ gtk.Widget
117+}
118+
119+func FlapNewFromInternalPtr(ptr uintptr) *Flap {
120+ cls := &Flap{}
121+ cls.Ptr = ptr
122+ return cls
123+}
124+
125+var xNewFlap func() uintptr
126+
127+// Creates a new `AdwFlap`.
128+func NewFlap() *gtk.Widget {
129+ NewFlapPtr := xNewFlap()
130+ if NewFlapPtr == 0 {
131+ return nil
132+ }
133+
134+ gobject.IncreaseRef(NewFlapPtr)
135+
136+ NewFlapCls := &gtk.Widget{}
137+ NewFlapCls.Ptr = NewFlapPtr
138+ return NewFlapCls
139+}
140+
141+var xFlapGetContent func(uintptr) uintptr
142+
143+// Gets the content widget for @self.
144+func (x *Flap) GetContent() *gtk.Widget {
145+
146+ GetContentPtr := xFlapGetContent(x.GoPointer())
147+ if GetContentPtr == 0 {
148+ return nil
149+ }
150+
151+ gobject.IncreaseRef(GetContentPtr)
152+
153+ GetContentCls := &gtk.Widget{}
154+ GetContentCls.Ptr = GetContentPtr
155+ return GetContentCls
156+
157+}
158+
159+var xFlapGetFlap func(uintptr) uintptr
160+
161+// Gets the flap widget for @self.
162+func (x *Flap) GetFlap() *gtk.Widget {
163+
164+ GetFlapPtr := xFlapGetFlap(x.GoPointer())
165+ if GetFlapPtr == 0 {
166+ return nil
167+ }
168+
169+ gobject.IncreaseRef(GetFlapPtr)
170+
171+ GetFlapCls := &gtk.Widget{}
172+ GetFlapCls.Ptr = GetFlapPtr
173+ return GetFlapCls
174+
175+}
176+
177+var xFlapGetFlapPosition func(uintptr) gtk.PackType
178+
179+// Gets the flap position for @self.
180+func (x *Flap) GetFlapPosition() gtk.PackType {
181+
182+ return xFlapGetFlapPosition(x.GoPointer())
183+
184+}
185+
186+var xFlapGetFoldDuration func(uintptr) uint
187+
188+// Gets the fold transition animation duration for @self, in milliseconds.
189+func (x *Flap) GetFoldDuration() uint {
190+
191+ return xFlapGetFoldDuration(x.GoPointer())
192+
193+}
194+
195+var xFlapGetFoldPolicy func(uintptr) FlapFoldPolicy
196+
197+// Gets the fold policy for @self.
198+func (x *Flap) GetFoldPolicy() FlapFoldPolicy {
199+
200+ return xFlapGetFoldPolicy(x.GoPointer())
201+
202+}
203+
204+var xFlapGetFoldThresholdPolicy func(uintptr) FoldThresholdPolicy
205+
206+// Gets the fold threshold policy for @self.
207+func (x *Flap) GetFoldThresholdPolicy() FoldThresholdPolicy {
208+
209+ return xFlapGetFoldThresholdPolicy(x.GoPointer())
210+
211+}
212+
213+var xFlapGetFolded func(uintptr) bool
214+
215+// Gets whether @self is currently folded.
216+//
217+// See [property@Flap:fold-policy].
218+func (x *Flap) GetFolded() bool {
219+
220+ return xFlapGetFolded(x.GoPointer())
221+
222+}
223+
224+var xFlapGetLocked func(uintptr) bool
225+
226+// Gets whether @self is locked.
227+func (x *Flap) GetLocked() bool {
228+
229+ return xFlapGetLocked(x.GoPointer())
230+
231+}
232+
233+var xFlapGetModal func(uintptr) bool
234+
235+// Gets whether @self is modal.
236+func (x *Flap) GetModal() bool {
237+
238+ return xFlapGetModal(x.GoPointer())
239+
240+}
241+
242+var xFlapGetRevealFlap func(uintptr) bool
243+
244+// Gets whether the flap widget is revealed for @self.
245+func (x *Flap) GetRevealFlap() bool {
246+
247+ return xFlapGetRevealFlap(x.GoPointer())
248+
249+}
250+
251+var xFlapGetRevealParams func(uintptr) *SpringParams
252+
253+// Gets the reveal animation spring parameters for @self.
254+func (x *Flap) GetRevealParams() *SpringParams {
255+
256+ return xFlapGetRevealParams(x.GoPointer())
257+
258+}
259+
260+var xFlapGetRevealProgress func(uintptr) float64
261+
262+// Gets the current reveal progress for @self.
263+//
264+// 0 means fully hidden, 1 means fully revealed.
265+//
266+// See [property@Flap:reveal-flap].
267+func (x *Flap) GetRevealProgress() float64 {
268+
269+ return xFlapGetRevealProgress(x.GoPointer())
270+
271+}
272+
273+var xFlapGetSeparator func(uintptr) uintptr
274+
275+// Gets the separator widget for @self.
276+func (x *Flap) GetSeparator() *gtk.Widget {
277+
278+ GetSeparatorPtr := xFlapGetSeparator(x.GoPointer())
279+ if GetSeparatorPtr == 0 {
280+ return nil
281+ }
282+
283+ gobject.IncreaseRef(GetSeparatorPtr)
284+
285+ GetSeparatorCls := &gtk.Widget{}
286+ GetSeparatorCls.Ptr = GetSeparatorPtr
287+ return GetSeparatorCls
288+
289+}
290+
291+var xFlapGetSwipeToClose func(uintptr) bool
292+
293+// Gets whether @self can be closed with a swipe gesture.
294+func (x *Flap) GetSwipeToClose() bool {
295+
296+ return xFlapGetSwipeToClose(x.GoPointer())
297+
298+}
299+
300+var xFlapGetSwipeToOpen func(uintptr) bool
301+
302+// Gets whether @self can be opened with a swipe gesture.
303+func (x *Flap) GetSwipeToOpen() bool {
304+
305+ return xFlapGetSwipeToOpen(x.GoPointer())
306+
307+}
308+
309+var xFlapGetTransitionType func(uintptr) FlapTransitionType
310+
311+// Gets the type of animation used for reveal and fold transitions in @self.
312+func (x *Flap) GetTransitionType() FlapTransitionType {
313+
314+ return xFlapGetTransitionType(x.GoPointer())
315+
316+}
317+
318+var xFlapSetContent func(uintptr, uintptr)
319+
320+// Sets the content widget for @self.
321+//
322+// It's always displayed when unfolded, and partially visible when folded.
323+func (x *Flap) SetContent(ContentVar *gtk.Widget) {
324+
325+ xFlapSetContent(x.GoPointer(), ContentVar.GoPointer())
326+
327+}
328+
329+var xFlapSetFlap func(uintptr, uintptr)
330+
331+// Sets the flap widget for @self.
332+//
333+// It's only visible when [property@Flap:reveal-progress] is greater than 0.
334+func (x *Flap) SetFlap(FlapVar *gtk.Widget) {
335+
336+ xFlapSetFlap(x.GoPointer(), FlapVar.GoPointer())
337+
338+}
339+
340+var xFlapSetFlapPosition func(uintptr, gtk.PackType)
341+
342+// Sets the flap position for @self.
343+//
344+// If it's set to `GTK_PACK_START`, the flap is displayed before the content,
345+// if `GTK_PACK_END`, it's displayed after the content.
346+func (x *Flap) SetFlapPosition(PositionVar gtk.PackType) {
347+
348+ xFlapSetFlapPosition(x.GoPointer(), PositionVar)
349+
350+}
351+
352+var xFlapSetFoldDuration func(uintptr, uint)
353+
354+// Sets the fold transition animation duration for @self, in milliseconds.
355+func (x *Flap) SetFoldDuration(DurationVar uint) {
356+
357+ xFlapSetFoldDuration(x.GoPointer(), DurationVar)
358+
359+}
360+
361+var xFlapSetFoldPolicy func(uintptr, FlapFoldPolicy)
362+
363+// Sets the fold policy for @self.
364+func (x *Flap) SetFoldPolicy(PolicyVar FlapFoldPolicy) {
365+
366+ xFlapSetFoldPolicy(x.GoPointer(), PolicyVar)
367+
368+}
369+
370+var xFlapSetFoldThresholdPolicy func(uintptr, FoldThresholdPolicy)
371+
372+// Sets the fold threshold policy for @self.
373+//
374+// If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, flap will only fold when the
375+// children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
376+// will fold as soon as children don't get their natural size.
377+//
378+// This can be useful if you have a long ellipsizing label and want to let it
379+// ellipsize instead of immediately folding.
380+func (x *Flap) SetFoldThresholdPolicy(PolicyVar FoldThresholdPolicy) {
381+
382+ xFlapSetFoldThresholdPolicy(x.GoPointer(), PolicyVar)
383+
384+}
385+
386+var xFlapSetLocked func(uintptr, bool)
387+
388+// Sets whether @self is locked.
389+//
390+// If `FALSE`, folding when the flap is revealed automatically closes it, and
391+// unfolding it when the flap is not revealed opens it. If `TRUE`,
392+// [property@Flap:reveal-flap] value never changes on its own.
393+func (x *Flap) SetLocked(LockedVar bool) {
394+
395+ xFlapSetLocked(x.GoPointer(), LockedVar)
396+
397+}
398+
399+var xFlapSetModal func(uintptr, bool)
400+
401+// Sets whether @self is modal.
402+//
403+// If `TRUE`, clicking the content widget while flap is revealed, as well as
404+// pressing the &lt;kbd&gt;Esc&lt;/kbd&gt; key, will close the flap. If `FALSE`, clicks are
405+// passed through to the content widget.
406+func (x *Flap) SetModal(ModalVar bool) {
407+
408+ xFlapSetModal(x.GoPointer(), ModalVar)
409+
410+}
411+
412+var xFlapSetRevealFlap func(uintptr, bool)
413+
414+// Sets whether the flap widget is revealed for @self.
415+func (x *Flap) SetRevealFlap(RevealFlapVar bool) {
416+
417+ xFlapSetRevealFlap(x.GoPointer(), RevealFlapVar)
418+
419+}
420+
421+var xFlapSetRevealParams func(uintptr, *SpringParams)
422+
423+// Sets the reveal animation spring parameters for @self.
424+//
425+// The default value is equivalent to:
426+//
427+// ```c
428+// adw_spring_params_new (1, 0.5, 500)
429+// ```
430+func (x *Flap) SetRevealParams(ParamsVar *SpringParams) {
431+
432+ xFlapSetRevealParams(x.GoPointer(), ParamsVar)
433+
434+}
435+
436+var xFlapSetSeparator func(uintptr, uintptr)
437+
438+// Sets the separator widget for @self.
439+//
440+// It's displayed between content and flap when there's no shadow to display.
441+// When exactly it's visible depends on the [property@Flap:transition-type]
442+// value.
443+func (x *Flap) SetSeparator(SeparatorVar *gtk.Widget) {
444+
445+ xFlapSetSeparator(x.GoPointer(), SeparatorVar.GoPointer())
446+
447+}
448+
449+var xFlapSetSwipeToClose func(uintptr, bool)
450+
451+// Sets whether @self can be closed with a swipe gesture.
452+//
453+// The area that can be swiped depends on the [property@Flap:transition-type]
454+// value.
455+func (x *Flap) SetSwipeToClose(SwipeToCloseVar bool) {
456+
457+ xFlapSetSwipeToClose(x.GoPointer(), SwipeToCloseVar)
458+
459+}
460+
461+var xFlapSetSwipeToOpen func(uintptr, bool)
462+
463+// Sets whether @self can be opened with a swipe gesture.
464+//
465+// The area that can be swiped depends on the [property@Flap:transition-type]
466+// value.
467+func (x *Flap) SetSwipeToOpen(SwipeToOpenVar bool) {
468+
469+ xFlapSetSwipeToOpen(x.GoPointer(), SwipeToOpenVar)
470+
471+}
472+
473+var xFlapSetTransitionType func(uintptr, FlapTransitionType)
474+
475+// Sets the type of animation used for reveal and fold transitions in @self.
476+//
477+// [property@Flap:flap] is transparent by default, which means the content will
478+// be seen through it with `ADW_FLAP_TRANSITION_TYPE_OVER` transitions; add the
479+// [`.background`](style-classes.html#background) style class to it if this is
480+// unwanted.
481+func (x *Flap) SetTransitionType(TransitionTypeVar FlapTransitionType) {
482+
483+ xFlapSetTransitionType(x.GoPointer(), TransitionTypeVar)
484+
485+}
486+
487+func (c *Flap) GoPointer() uintptr {
488+ return c.Ptr
489+}
490+
491+func (c *Flap) SetGoPointer(ptr uintptr) {
492+ c.Ptr = ptr
493+}
494+
495+// Gets the progress @self will snap back to after the gesture is canceled.
496+func (x *Flap) GetCancelProgress() float64 {
497+
498+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
499+
500+}
501+
502+// Gets the swipe distance of @self.
503+//
504+// This corresponds to how many pixels 1 unit represents.
505+func (x *Flap) GetDistance() float64 {
506+
507+ return XAdwSwipeableGetDistance(x.GoPointer())
508+
509+}
510+
511+// Gets the current progress of @self.
512+func (x *Flap) GetProgress() float64 {
513+
514+ return XAdwSwipeableGetProgress(x.GoPointer())
515+
516+}
517+
518+// Gets the snap points of @self.
519+//
520+// Each snap point represents a progress value that is considered acceptable to
521+// end the swipe on.
522+func (x *Flap) GetSnapPoints(NSnapPointsVar int32) uintptr {
523+
524+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
525+
526+}
527+
528+// Gets the area @self can start a swipe from for the given direction and
529+// gesture type.
530+//
531+// This can be used to restrict swipes to only be possible from a certain area,
532+// for example, to only allow edge swipes, or to have a draggable element and
533+// ignore swipes elsewhere.
534+//
535+// If not implemented, the default implementation returns the allocation of
536+// @self, allowing swipes from anywhere.
537+func (x *Flap) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
538+
539+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
540+
541+}
542+
543+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
544+func (x *Flap) GetAccessibleRole() gtk.AccessibleRole {
545+
546+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
547+
548+}
549+
550+// Resets the accessible @property to its default value.
551+func (x *Flap) ResetProperty(PropertyVar gtk.AccessibleProperty) {
552+
553+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
554+
555+}
556+
557+// Resets the accessible @relation to its default value.
558+func (x *Flap) ResetRelation(RelationVar gtk.AccessibleRelation) {
559+
560+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
561+
562+}
563+
564+// Resets the accessible @state to its default value.
565+func (x *Flap) ResetState(StateVar gtk.AccessibleState) {
566+
567+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
568+
569+}
570+
571+// Updates a list of accessible properties.
572+//
573+// See the [enum@Gtk.AccessibleProperty] documentation for the
574+// value types of accessible properties.
575+//
576+// This function should be called by `GtkWidget` types whenever
577+// an accessible property change must be communicated to assistive
578+// technologies.
579+//
580+// Example:
581+// ```c
582+// value = gtk_adjustment_get_value (adjustment);
583+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
584+//
585+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
586+// -1);
587+//
588+// ```
589+func (x *Flap) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
590+
591+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
592+
593+}
594+
595+// Updates an array of accessible properties.
596+//
597+// This function should be called by `GtkWidget` types whenever an accessible
598+// property change must be communicated to assistive technologies.
599+//
600+// This function is meant to be used by language bindings.
601+func (x *Flap) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
602+
603+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
604+
605+}
606+
607+// Updates a list of accessible relations.
608+//
609+// This function should be called by `GtkWidget` types whenever an accessible
610+// relation change must be communicated to assistive technologies.
611+//
612+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
613+// you should pass each reference individually, followed by %NULL, e.g.
614+//
615+// ```c
616+// gtk_accessible_update_relation (accessible,
617+//
618+// GTK_ACCESSIBLE_RELATION_CONTROLS,
619+// ref1, NULL,
620+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
621+// ref1, ref2, ref3, NULL,
622+// -1);
623+//
624+// ```
625+func (x *Flap) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
626+
627+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
628+
629+}
630+
631+// Updates an array of accessible relations.
632+//
633+// This function should be called by `GtkWidget` types whenever an accessible
634+// relation change must be communicated to assistive technologies.
635+//
636+// This function is meant to be used by language bindings.
637+func (x *Flap) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
638+
639+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
640+
641+}
642+
643+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
644+// documentation for the value types of accessible states.
645+//
646+// This function should be called by `GtkWidget` types whenever an accessible
647+// state change must be communicated to assistive technologies.
648+//
649+// Example:
650+// ```c
651+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
652+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
653+//
654+// GTK_ACCESSIBLE_STATE_CHECKED, value,
655+// -1);
656+//
657+// ```
658+func (x *Flap) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
659+
660+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
661+
662+}
663+
664+// Updates an array of accessible states.
665+//
666+// This function should be called by `GtkWidget` types whenever an accessible
667+// state change must be communicated to assistive technologies.
668+//
669+// This function is meant to be used by language bindings.
670+func (x *Flap) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
671+
672+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
673+
674+}
675+
676+// Gets the ID of the @buildable object.
677+//
678+// `GtkBuilder` sets the name based on the ID attribute
679+// of the &lt;object&gt; tag used to construct the @buildable.
680+func (x *Flap) GetBuildableId() string {
681+
682+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
683+
684+}
685+
686+// Retrieves the orientation of the @orientable.
687+func (x *Flap) GetOrientation() gtk.Orientation {
688+
689+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
690+
691+}
692+
693+// Sets the orientation of the @orientable.
694+func (x *Flap) SetOrientation(OrientationVar gtk.Orientation) {
695+
696+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
697+
698+}
699+
700+func init() {
701+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
702+ if err != nil {
703+ panic(err)
704+ }
705+
706+ core.PuregoSafeRegister(&xNewFlap, lib, "adw_flap_new")
707+
708+ core.PuregoSafeRegister(&xFlapGetContent, lib, "adw_flap_get_content")
709+ core.PuregoSafeRegister(&xFlapGetFlap, lib, "adw_flap_get_flap")
710+ core.PuregoSafeRegister(&xFlapGetFlapPosition, lib, "adw_flap_get_flap_position")
711+ core.PuregoSafeRegister(&xFlapGetFoldDuration, lib, "adw_flap_get_fold_duration")
712+ core.PuregoSafeRegister(&xFlapGetFoldPolicy, lib, "adw_flap_get_fold_policy")
713+ core.PuregoSafeRegister(&xFlapGetFoldThresholdPolicy, lib, "adw_flap_get_fold_threshold_policy")
714+ core.PuregoSafeRegister(&xFlapGetFolded, lib, "adw_flap_get_folded")
715+ core.PuregoSafeRegister(&xFlapGetLocked, lib, "adw_flap_get_locked")
716+ core.PuregoSafeRegister(&xFlapGetModal, lib, "adw_flap_get_modal")
717+ core.PuregoSafeRegister(&xFlapGetRevealFlap, lib, "adw_flap_get_reveal_flap")
718+ core.PuregoSafeRegister(&xFlapGetRevealParams, lib, "adw_flap_get_reveal_params")
719+ core.PuregoSafeRegister(&xFlapGetRevealProgress, lib, "adw_flap_get_reveal_progress")
720+ core.PuregoSafeRegister(&xFlapGetSeparator, lib, "adw_flap_get_separator")
721+ core.PuregoSafeRegister(&xFlapGetSwipeToClose, lib, "adw_flap_get_swipe_to_close")
722+ core.PuregoSafeRegister(&xFlapGetSwipeToOpen, lib, "adw_flap_get_swipe_to_open")
723+ core.PuregoSafeRegister(&xFlapGetTransitionType, lib, "adw_flap_get_transition_type")
724+ core.PuregoSafeRegister(&xFlapSetContent, lib, "adw_flap_set_content")
725+ core.PuregoSafeRegister(&xFlapSetFlap, lib, "adw_flap_set_flap")
726+ core.PuregoSafeRegister(&xFlapSetFlapPosition, lib, "adw_flap_set_flap_position")
727+ core.PuregoSafeRegister(&xFlapSetFoldDuration, lib, "adw_flap_set_fold_duration")
728+ core.PuregoSafeRegister(&xFlapSetFoldPolicy, lib, "adw_flap_set_fold_policy")
729+ core.PuregoSafeRegister(&xFlapSetFoldThresholdPolicy, lib, "adw_flap_set_fold_threshold_policy")
730+ core.PuregoSafeRegister(&xFlapSetLocked, lib, "adw_flap_set_locked")
731+ core.PuregoSafeRegister(&xFlapSetModal, lib, "adw_flap_set_modal")
732+ core.PuregoSafeRegister(&xFlapSetRevealFlap, lib, "adw_flap_set_reveal_flap")
733+ core.PuregoSafeRegister(&xFlapSetRevealParams, lib, "adw_flap_set_reveal_params")
734+ core.PuregoSafeRegister(&xFlapSetSeparator, lib, "adw_flap_set_separator")
735+ core.PuregoSafeRegister(&xFlapSetSwipeToClose, lib, "adw_flap_set_swipe_to_close")
736+ core.PuregoSafeRegister(&xFlapSetSwipeToOpen, lib, "adw_flap_set_swipe_to_open")
737+ core.PuregoSafeRegister(&xFlapSetTransitionType, lib, "adw_flap_set_transition_type")
738+
739+}
A v4/adw/adw-fold-threshold-policy.go +13 -0
@@ -0,0 +1,13 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+// Determines when [class@Flap] and [class@Leaflet] will fold.
5+type FoldThresholdPolicy int
6+
7+const (
8+
9+ // Folding is based on the minimum size
10+ FoldThresholdPolicyMinimumValue FoldThresholdPolicy = 0
11+ // Folding is based on the natural size
12+ FoldThresholdPolicyNaturalValue FoldThresholdPolicy = 1
13+)
A v4/adw/adw-header-bar.go +486 -0
@@ -0,0 +1,486 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type HeaderBarClass struct {
12+ ParentClass uintptr
13+}
14+
15+// Describes title centering behavior of a [class@HeaderBar] widget.
16+type CenteringPolicy int
17+
18+const (
19+
20+ // Keep the title centered when possible
21+ CenteringPolicyLooseValue CenteringPolicy = 0
22+ // Keep the title centered at all cost
23+ CenteringPolicyStrictValue CenteringPolicy = 1
24+)
25+
26+// A title bar widget.
27+//
28+// &lt;picture&gt;
29+//
30+// &lt;source srcset="header-bar-dark.png" media="(prefers-color-scheme: dark)"&gt;
31+// &lt;img src="header-bar.png" alt="header-bar"&gt;
32+//
33+// &lt;/picture&gt;
34+//
35+// `AdwHeaderBar` is similar to [class@Gtk.HeaderBar], but provides additional
36+// features compared to it. Refer to `GtkHeaderBar` for details.
37+//
38+// [property@HeaderBar:centering-policy] allows to enforce strict centering of
39+// the title widget, this is useful for [class@ViewSwitcherTitle].
40+//
41+// [property@HeaderBar:show-start-title-buttons] and
42+// [property@HeaderBar:show-end-title-buttons] allow to easily create split
43+// header bar layouts using [class@Leaflet], as follows:
44+//
45+// ```xml
46+// &lt;object class="AdwLeaflet" id="leaflet"&gt;
47+//
48+// &lt;child&gt;
49+// &lt;object class="GtkBox"&gt;
50+// &lt;property name="orientation"&gt;vertical&lt;/property&gt;
51+// &lt;child&gt;
52+// &lt;object class="AdwHeaderBar"&gt;
53+// &lt;binding name="show-end-title-buttons"&gt;
54+// &lt;lookup name="folded"&gt;leaflet&lt;/lookup&gt;
55+// &lt;/binding&gt;
56+// &lt;/object&gt;
57+// &lt;/child&gt;
58+// &lt;!-- ... --&gt;
59+// &lt;/object&gt;
60+// &lt;/child&gt;
61+// &lt;!-- ... --&gt;
62+// &lt;child&gt;
63+// &lt;object class="GtkBox"&gt;
64+// &lt;property name="orientation"&gt;vertical&lt;/property&gt;
65+// &lt;property name="hexpand"&gt;True&lt;/property&gt;
66+// &lt;child&gt;
67+// &lt;object class="AdwHeaderBar"&gt;
68+// &lt;binding name="show-start-title-buttons"&gt;
69+// &lt;lookup name="folded"&gt;leaflet&lt;/lookup&gt;
70+// &lt;/binding&gt;
71+// &lt;/object&gt;
72+// &lt;/child&gt;
73+// &lt;!-- ... --&gt;
74+// &lt;/object&gt;
75+// &lt;/child&gt;
76+//
77+// &lt;/object&gt;
78+// ```
79+//
80+// &lt;picture&gt;
81+//
82+// &lt;source srcset="header-bar-split-dark.png" media="(prefers-color-scheme: dark)"&gt;
83+// &lt;img src="header-bar-split.png" alt="header-bar-split"&gt;
84+//
85+// &lt;/picture&gt;
86+//
87+// ## CSS nodes
88+//
89+// ```
90+// headerbar
91+// ╰── windowhandle
92+//
93+// ╰── box
94+// ├── widget
95+// │ ╰── box.start
96+// │ ├── windowcontrols.start
97+// │ ╰── [other children]
98+// ├── [Title Widget]
99+// ╰── widget
100+// ╰── box.end
101+// ├── [other children]
102+// ╰── windowcontrols.end
103+//
104+// ```
105+//
106+// `AdwHeaderBar`'s CSS node is called `headerbar`. It contains a `windowhandle`
107+// subnode, which contains a `box` subnode, which contains two `widget` subnodes
108+// at the start and end of the header bar, each of which contains a `box`
109+// subnode with the `.start` and `.end` style classes respectively, as well as a
110+// center node that represents the title.
111+//
112+// Each of the boxes contains a `windowcontrols` subnode, see
113+// [class@Gtk.WindowControls] for details, as well as other children.
114+//
115+// ## Accessibility
116+//
117+// `AdwHeaderBar` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
118+type HeaderBar struct {
119+ gtk.Widget
120+}
121+
122+func HeaderBarNewFromInternalPtr(ptr uintptr) *HeaderBar {
123+ cls := &HeaderBar{}
124+ cls.Ptr = ptr
125+ return cls
126+}
127+
128+var xNewHeaderBar func() uintptr
129+
130+// Creates a new `AdwHeaderBar`.
131+func NewHeaderBar() *gtk.Widget {
132+ NewHeaderBarPtr := xNewHeaderBar()
133+ if NewHeaderBarPtr == 0 {
134+ return nil
135+ }
136+
137+ gobject.IncreaseRef(NewHeaderBarPtr)
138+
139+ NewHeaderBarCls := &gtk.Widget{}
140+ NewHeaderBarCls.Ptr = NewHeaderBarPtr
141+ return NewHeaderBarCls
142+}
143+
144+var xHeaderBarGetCenteringPolicy func(uintptr) CenteringPolicy
145+
146+// Gets the policy for aligning the center widget.
147+func (x *HeaderBar) GetCenteringPolicy() CenteringPolicy {
148+
149+ return xHeaderBarGetCenteringPolicy(x.GoPointer())
150+
151+}
152+
153+var xHeaderBarGetDecorationLayout func(uintptr) string
154+
155+// Gets the decoration layout for @self.
156+func (x *HeaderBar) GetDecorationLayout() string {
157+
158+ return xHeaderBarGetDecorationLayout(x.GoPointer())
159+
160+}
161+
162+var xHeaderBarGetShowEndTitleButtons func(uintptr) bool
163+
164+// Gets whether to show title buttons at the end of @self.
165+func (x *HeaderBar) GetShowEndTitleButtons() bool {
166+
167+ return xHeaderBarGetShowEndTitleButtons(x.GoPointer())
168+
169+}
170+
171+var xHeaderBarGetShowStartTitleButtons func(uintptr) bool
172+
173+// Gets whether to show title buttons at the start of @self.
174+func (x *HeaderBar) GetShowStartTitleButtons() bool {
175+
176+ return xHeaderBarGetShowStartTitleButtons(x.GoPointer())
177+
178+}
179+
180+var xHeaderBarGetTitleWidget func(uintptr) uintptr
181+
182+// Gets the title widget widget of @self.
183+func (x *HeaderBar) GetTitleWidget() *gtk.Widget {
184+
185+ GetTitleWidgetPtr := xHeaderBarGetTitleWidget(x.GoPointer())
186+ if GetTitleWidgetPtr == 0 {
187+ return nil
188+ }
189+
190+ gobject.IncreaseRef(GetTitleWidgetPtr)
191+
192+ GetTitleWidgetCls := &gtk.Widget{}
193+ GetTitleWidgetCls.Ptr = GetTitleWidgetPtr
194+ return GetTitleWidgetCls
195+
196+}
197+
198+var xHeaderBarPackEnd func(uintptr, uintptr)
199+
200+// Adds @child to @self, packed with reference to the end of @self.
201+func (x *HeaderBar) PackEnd(ChildVar *gtk.Widget) {
202+
203+ xHeaderBarPackEnd(x.GoPointer(), ChildVar.GoPointer())
204+
205+}
206+
207+var xHeaderBarPackStart func(uintptr, uintptr)
208+
209+// Adds @child to @self, packed with reference to the start of the @self.
210+func (x *HeaderBar) PackStart(ChildVar *gtk.Widget) {
211+
212+ xHeaderBarPackStart(x.GoPointer(), ChildVar.GoPointer())
213+
214+}
215+
216+var xHeaderBarRemove func(uintptr, uintptr)
217+
218+// Removes a child from @self.
219+//
220+// The child must have been added with [method@HeaderBar.pack_start],
221+// [method@HeaderBar.pack_end] or [property@HeaderBar:title-widget].
222+func (x *HeaderBar) Remove(ChildVar *gtk.Widget) {
223+
224+ xHeaderBarRemove(x.GoPointer(), ChildVar.GoPointer())
225+
226+}
227+
228+var xHeaderBarSetCenteringPolicy func(uintptr, CenteringPolicy)
229+
230+// Sets the policy for aligning the center widget.
231+func (x *HeaderBar) SetCenteringPolicy(CenteringPolicyVar CenteringPolicy) {
232+
233+ xHeaderBarSetCenteringPolicy(x.GoPointer(), CenteringPolicyVar)
234+
235+}
236+
237+var xHeaderBarSetDecorationLayout func(uintptr, string)
238+
239+// Sets the decoration layout for @self.
240+//
241+// If this property is not set, the
242+// [property@Gtk.Settings:gtk-decoration-layout] setting is used.
243+//
244+// The format of the string is button names, separated by commas. A colon
245+// separates the buttons that should appear at the start from those at the end.
246+// Recognized button names are minimize, maximize, close and icon (the window
247+// icon).
248+//
249+// For example, “icon:minimize,maximize,close” specifies an icon at the start,
250+// and minimize, maximize and close buttons at the end.
251+func (x *HeaderBar) SetDecorationLayout(LayoutVar string) {
252+
253+ xHeaderBarSetDecorationLayout(x.GoPointer(), LayoutVar)
254+
255+}
256+
257+var xHeaderBarSetShowEndTitleButtons func(uintptr, bool)
258+
259+// Sets whether to show title buttons at the end of @self.
260+//
261+// See [property@HeaderBar:show-start-title-buttons] for the other side.
262+//
263+// Which buttons are actually shown and where is determined by the
264+// [property@HeaderBar:decoration-layout] property, and by the state of the
265+// window (e.g. a close button will not be shown if the window can't be closed).
266+func (x *HeaderBar) SetShowEndTitleButtons(SettingVar bool) {
267+
268+ xHeaderBarSetShowEndTitleButtons(x.GoPointer(), SettingVar)
269+
270+}
271+
272+var xHeaderBarSetShowStartTitleButtons func(uintptr, bool)
273+
274+// Sets whether to show title buttons at the start of @self.
275+//
276+// See [property@HeaderBar:show-end-title-buttons] for the other side.
277+//
278+// Which buttons are actually shown and where is determined by the
279+// [property@HeaderBar:decoration-layout] property, and by the state of the
280+// window (e.g. a close button will not be shown if the window can't be closed).
281+func (x *HeaderBar) SetShowStartTitleButtons(SettingVar bool) {
282+
283+ xHeaderBarSetShowStartTitleButtons(x.GoPointer(), SettingVar)
284+
285+}
286+
287+var xHeaderBarSetTitleWidget func(uintptr, uintptr)
288+
289+// Sets the title widget for @self.
290+//
291+// When set to `NULL`, the header bar will display the title of the window it
292+// is contained in.
293+//
294+// To use a different title, use [class@WindowTitle]:
295+//
296+// ```xml
297+// &lt;object class="AdwHeaderBar"&gt;
298+//
299+// &lt;property name="title-widget"&gt;
300+// &lt;object class="AdwWindowTitle"&gt;
301+// &lt;property name="title" translatable="yes"&gt;Title&lt;/property&gt;
302+// &lt;/object&gt;
303+// &lt;/property&gt;
304+//
305+// &lt;/object&gt;
306+// ```
307+func (x *HeaderBar) SetTitleWidget(TitleWidgetVar *gtk.Widget) {
308+
309+ xHeaderBarSetTitleWidget(x.GoPointer(), TitleWidgetVar.GoPointer())
310+
311+}
312+
313+func (c *HeaderBar) GoPointer() uintptr {
314+ return c.Ptr
315+}
316+
317+func (c *HeaderBar) SetGoPointer(ptr uintptr) {
318+ c.Ptr = ptr
319+}
320+
321+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
322+func (x *HeaderBar) GetAccessibleRole() gtk.AccessibleRole {
323+
324+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
325+
326+}
327+
328+// Resets the accessible @property to its default value.
329+func (x *HeaderBar) ResetProperty(PropertyVar gtk.AccessibleProperty) {
330+
331+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
332+
333+}
334+
335+// Resets the accessible @relation to its default value.
336+func (x *HeaderBar) ResetRelation(RelationVar gtk.AccessibleRelation) {
337+
338+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
339+
340+}
341+
342+// Resets the accessible @state to its default value.
343+func (x *HeaderBar) ResetState(StateVar gtk.AccessibleState) {
344+
345+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
346+
347+}
348+
349+// Updates a list of accessible properties.
350+//
351+// See the [enum@Gtk.AccessibleProperty] documentation for the
352+// value types of accessible properties.
353+//
354+// This function should be called by `GtkWidget` types whenever
355+// an accessible property change must be communicated to assistive
356+// technologies.
357+//
358+// Example:
359+// ```c
360+// value = gtk_adjustment_get_value (adjustment);
361+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
362+//
363+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
364+// -1);
365+//
366+// ```
367+func (x *HeaderBar) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
368+
369+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
370+
371+}
372+
373+// Updates an array of accessible properties.
374+//
375+// This function should be called by `GtkWidget` types whenever an accessible
376+// property change must be communicated to assistive technologies.
377+//
378+// This function is meant to be used by language bindings.
379+func (x *HeaderBar) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
380+
381+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
382+
383+}
384+
385+// Updates a list of accessible relations.
386+//
387+// This function should be called by `GtkWidget` types whenever an accessible
388+// relation change must be communicated to assistive technologies.
389+//
390+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
391+// you should pass each reference individually, followed by %NULL, e.g.
392+//
393+// ```c
394+// gtk_accessible_update_relation (accessible,
395+//
396+// GTK_ACCESSIBLE_RELATION_CONTROLS,
397+// ref1, NULL,
398+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
399+// ref1, ref2, ref3, NULL,
400+// -1);
401+//
402+// ```
403+func (x *HeaderBar) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
404+
405+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
406+
407+}
408+
409+// Updates an array of accessible relations.
410+//
411+// This function should be called by `GtkWidget` types whenever an accessible
412+// relation change must be communicated to assistive technologies.
413+//
414+// This function is meant to be used by language bindings.
415+func (x *HeaderBar) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
416+
417+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
418+
419+}
420+
421+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
422+// documentation for the value types of accessible states.
423+//
424+// This function should be called by `GtkWidget` types whenever an accessible
425+// state change must be communicated to assistive technologies.
426+//
427+// Example:
428+// ```c
429+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
430+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
431+//
432+// GTK_ACCESSIBLE_STATE_CHECKED, value,
433+// -1);
434+//
435+// ```
436+func (x *HeaderBar) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
437+
438+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
439+
440+}
441+
442+// Updates an array of accessible states.
443+//
444+// This function should be called by `GtkWidget` types whenever an accessible
445+// state change must be communicated to assistive technologies.
446+//
447+// This function is meant to be used by language bindings.
448+func (x *HeaderBar) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
449+
450+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
451+
452+}
453+
454+// Gets the ID of the @buildable object.
455+//
456+// `GtkBuilder` sets the name based on the ID attribute
457+// of the &lt;object&gt; tag used to construct the @buildable.
458+func (x *HeaderBar) GetBuildableId() string {
459+
460+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
461+
462+}
463+
464+func init() {
465+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
466+ if err != nil {
467+ panic(err)
468+ }
469+
470+ core.PuregoSafeRegister(&xNewHeaderBar, lib, "adw_header_bar_new")
471+
472+ core.PuregoSafeRegister(&xHeaderBarGetCenteringPolicy, lib, "adw_header_bar_get_centering_policy")
473+ core.PuregoSafeRegister(&xHeaderBarGetDecorationLayout, lib, "adw_header_bar_get_decoration_layout")
474+ core.PuregoSafeRegister(&xHeaderBarGetShowEndTitleButtons, lib, "adw_header_bar_get_show_end_title_buttons")
475+ core.PuregoSafeRegister(&xHeaderBarGetShowStartTitleButtons, lib, "adw_header_bar_get_show_start_title_buttons")
476+ core.PuregoSafeRegister(&xHeaderBarGetTitleWidget, lib, "adw_header_bar_get_title_widget")
477+ core.PuregoSafeRegister(&xHeaderBarPackEnd, lib, "adw_header_bar_pack_end")
478+ core.PuregoSafeRegister(&xHeaderBarPackStart, lib, "adw_header_bar_pack_start")
479+ core.PuregoSafeRegister(&xHeaderBarRemove, lib, "adw_header_bar_remove")
480+ core.PuregoSafeRegister(&xHeaderBarSetCenteringPolicy, lib, "adw_header_bar_set_centering_policy")
481+ core.PuregoSafeRegister(&xHeaderBarSetDecorationLayout, lib, "adw_header_bar_set_decoration_layout")
482+ core.PuregoSafeRegister(&xHeaderBarSetShowEndTitleButtons, lib, "adw_header_bar_set_show_end_title_buttons")
483+ core.PuregoSafeRegister(&xHeaderBarSetShowStartTitleButtons, lib, "adw_header_bar_set_show_start_title_buttons")
484+ core.PuregoSafeRegister(&xHeaderBarSetTitleWidget, lib, "adw_header_bar_set_title_widget")
485+
486+}
A v4/adw/adw-leaflet.go +880 -0
@@ -0,0 +1,880 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type LeafletClass struct {
13+ ParentClass uintptr
14+}
15+
16+type LeafletPageClass struct {
17+ ParentClass uintptr
18+}
19+
20+// Describes the possible transitions in a [class@Leaflet] widget.
21+//
22+// New values may be added to this enumeration over time.
23+type LeafletTransitionType int
24+
25+const (
26+
27+ // Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order
28+ LeafletTransitionTypeOverValue LeafletTransitionType = 0
29+ // Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order
30+ LeafletTransitionTypeUnderValue LeafletTransitionType = 1
31+ // Slide from left, right, up or down according to the orientation, text direction and the children order
32+ LeafletTransitionTypeSlideValue LeafletTransitionType = 2
33+)
34+
35+// An adaptive container acting like a box or a stack.
36+//
37+// &lt;picture&gt;
38+//
39+// &lt;source srcset="leaflet-wide-dark.png" media="(prefers-color-scheme: dark)"&gt;
40+// &lt;img src="leaflet-wide.png" alt="leaflet-wide"&gt;
41+//
42+// &lt;/picture&gt;
43+// &lt;picture&gt;
44+//
45+// &lt;source srcset="leaflet-narrow-dark.png" media="(prefers-color-scheme: dark)"&gt;
46+// &lt;img src="leaflet-narrow.png" alt="leaflet-narrow"&gt;
47+//
48+// &lt;/picture&gt;
49+//
50+// The `AdwLeaflet` widget can display its children like a [class@Gtk.Box] does
51+// or like a [class@Gtk.Stack] does, adapting to size changes by switching
52+// between the two modes.
53+//
54+// When there is enough space the children are displayed side by side, otherwise
55+// only one is displayed and the leaflet is said to be “folded”.
56+// The threshold is dictated by the preferred minimum sizes of the children.
57+// When a leaflet is folded, the children can be navigated using swipe gestures.
58+//
59+// The “over” and “under” transition types stack the children one on top of the
60+// other, while the “slide” transition puts the children side by side. While
61+// navigating to a child on the side or below can be performed by swiping the
62+// current child away, navigating to an upper child requires dragging it from
63+// the edge where it resides. This doesn't affect non-dragging swipes.
64+//
65+// ## CSS nodes
66+//
67+// `AdwLeaflet` has a single CSS node with name `leaflet`. The node will get the
68+// style classes `.folded` when it is folded, `.unfolded` when it's not, or none
69+// if it hasn't computed its fold yet.
70+type Leaflet struct {
71+ gtk.Widget
72+}
73+
74+func LeafletNewFromInternalPtr(ptr uintptr) *Leaflet {
75+ cls := &Leaflet{}
76+ cls.Ptr = ptr
77+ return cls
78+}
79+
80+var xNewLeaflet func() uintptr
81+
82+// Creates a new `AdwLeaflet`.
83+func NewLeaflet() *gtk.Widget {
84+ NewLeafletPtr := xNewLeaflet()
85+ if NewLeafletPtr == 0 {
86+ return nil
87+ }
88+
89+ gobject.IncreaseRef(NewLeafletPtr)
90+
91+ NewLeafletCls := &gtk.Widget{}
92+ NewLeafletCls.Ptr = NewLeafletPtr
93+ return NewLeafletCls
94+}
95+
96+var xLeafletAppend func(uintptr, uintptr) uintptr
97+
98+// Adds a child to @self.
99+func (x *Leaflet) Append(ChildVar *gtk.Widget) *LeafletPage {
100+
101+ AppendPtr := xLeafletAppend(x.GoPointer(), ChildVar.GoPointer())
102+ if AppendPtr == 0 {
103+ return nil
104+ }
105+
106+ gobject.IncreaseRef(AppendPtr)
107+
108+ AppendCls := &LeafletPage{}
109+ AppendCls.Ptr = AppendPtr
110+ return AppendCls
111+
112+}
113+
114+var xLeafletGetAdjacentChild func(uintptr, NavigationDirection) uintptr
115+
116+// Finds the previous or next navigatable child.
117+//
118+// This will be the same child [method@Leaflet.navigate] or swipe gestures will
119+// navigate to.
120+//
121+// If there's no child to navigate to, `NULL` will be returned instead.
122+//
123+// See [property@LeafletPage:navigatable].
124+func (x *Leaflet) GetAdjacentChild(DirectionVar NavigationDirection) *gtk.Widget {
125+
126+ GetAdjacentChildPtr := xLeafletGetAdjacentChild(x.GoPointer(), DirectionVar)
127+ if GetAdjacentChildPtr == 0 {
128+ return nil
129+ }
130+
131+ gobject.IncreaseRef(GetAdjacentChildPtr)
132+
133+ GetAdjacentChildCls := &gtk.Widget{}
134+ GetAdjacentChildCls.Ptr = GetAdjacentChildPtr
135+ return GetAdjacentChildCls
136+
137+}
138+
139+var xLeafletGetCanNavigateBack func(uintptr) bool
140+
141+// Gets whether gestures and shortcuts for navigating backward are enabled.
142+func (x *Leaflet) GetCanNavigateBack() bool {
143+
144+ return xLeafletGetCanNavigateBack(x.GoPointer())
145+
146+}
147+
148+var xLeafletGetCanNavigateForward func(uintptr) bool
149+
150+// Gets whether gestures and shortcuts for navigating forward are enabled.
151+func (x *Leaflet) GetCanNavigateForward() bool {
152+
153+ return xLeafletGetCanNavigateForward(x.GoPointer())
154+
155+}
156+
157+var xLeafletGetCanUnfold func(uintptr) bool
158+
159+// Gets whether @self can unfold.
160+func (x *Leaflet) GetCanUnfold() bool {
161+
162+ return xLeafletGetCanUnfold(x.GoPointer())
163+
164+}
165+
166+var xLeafletGetChildByName func(uintptr, string) uintptr
167+
168+// Finds the child of @self with @name.
169+//
170+// Returns `NULL` if there is no child with this name.
171+//
172+// See [property@LeafletPage:name].
173+func (x *Leaflet) GetChildByName(NameVar string) *gtk.Widget {
174+
175+ GetChildByNamePtr := xLeafletGetChildByName(x.GoPointer(), NameVar)
176+ if GetChildByNamePtr == 0 {
177+ return nil
178+ }
179+
180+ gobject.IncreaseRef(GetChildByNamePtr)
181+
182+ GetChildByNameCls := &gtk.Widget{}
183+ GetChildByNameCls.Ptr = GetChildByNamePtr
184+ return GetChildByNameCls
185+
186+}
187+
188+var xLeafletGetChildTransitionParams func(uintptr) *SpringParams
189+
190+// Gets the child transition spring parameters for @self.
191+func (x *Leaflet) GetChildTransitionParams() *SpringParams {
192+
193+ return xLeafletGetChildTransitionParams(x.GoPointer())
194+
195+}
196+
197+var xLeafletGetChildTransitionRunning func(uintptr) bool
198+
199+// Gets whether a child transition is currently running for @self.
200+func (x *Leaflet) GetChildTransitionRunning() bool {
201+
202+ return xLeafletGetChildTransitionRunning(x.GoPointer())
203+
204+}
205+
206+var xLeafletGetFoldThresholdPolicy func(uintptr) FoldThresholdPolicy
207+
208+// Gets the fold threshold policy for @self.
209+func (x *Leaflet) GetFoldThresholdPolicy() FoldThresholdPolicy {
210+
211+ return xLeafletGetFoldThresholdPolicy(x.GoPointer())
212+
213+}
214+
215+var xLeafletGetFolded func(uintptr) bool
216+
217+// Gets whether @self is folded.
218+//
219+// The leaflet will be folded if the size allocated to it is smaller than the
220+// sum of the minimum or natural sizes of the children (see
221+// [property@Leaflet:fold-threshold-policy]), it will be unfolded otherwise.
222+func (x *Leaflet) GetFolded() bool {
223+
224+ return xLeafletGetFolded(x.GoPointer())
225+
226+}
227+
228+var xLeafletGetHomogeneous func(uintptr) bool
229+
230+// Gets whether @self is homogeneous.
231+func (x *Leaflet) GetHomogeneous() bool {
232+
233+ return xLeafletGetHomogeneous(x.GoPointer())
234+
235+}
236+
237+var xLeafletGetModeTransitionDuration func(uintptr) uint
238+
239+// Gets the mode transition animation duration for @self.
240+func (x *Leaflet) GetModeTransitionDuration() uint {
241+
242+ return xLeafletGetModeTransitionDuration(x.GoPointer())
243+
244+}
245+
246+var xLeafletGetPage func(uintptr, uintptr) uintptr
247+
248+// Returns the [class@LeafletPage] object for @child.
249+func (x *Leaflet) GetPage(ChildVar *gtk.Widget) *LeafletPage {
250+
251+ GetPagePtr := xLeafletGetPage(x.GoPointer(), ChildVar.GoPointer())
252+ if GetPagePtr == 0 {
253+ return nil
254+ }
255+
256+ gobject.IncreaseRef(GetPagePtr)
257+
258+ GetPageCls := &LeafletPage{}
259+ GetPageCls.Ptr = GetPagePtr
260+ return GetPageCls
261+
262+}
263+
264+var xLeafletGetPages func(uintptr) uintptr
265+
266+// Returns a [iface@Gio.ListModel] that contains the pages of the leaflet.
267+//
268+// This can be used to keep an up-to-date view. The model also implements
269+// [iface@Gtk.SelectionModel] and can be used to track and change the visible
270+// page.
271+func (x *Leaflet) GetPages() *gtk.SelectionModelBase {
272+
273+ GetPagesPtr := xLeafletGetPages(x.GoPointer())
274+ if GetPagesPtr == 0 {
275+ return nil
276+ }
277+
278+ GetPagesCls := &gtk.SelectionModelBase{}
279+ GetPagesCls.Ptr = GetPagesPtr
280+ return GetPagesCls
281+
282+}
283+
284+var xLeafletGetTransitionType func(uintptr) LeafletTransitionType
285+
286+// Gets the type of animation used for transitions between modes and children.
287+func (x *Leaflet) GetTransitionType() LeafletTransitionType {
288+
289+ return xLeafletGetTransitionType(x.GoPointer())
290+
291+}
292+
293+var xLeafletGetVisibleChild func(uintptr) uintptr
294+
295+// Gets the widget currently visible when the leaflet is folded.
296+func (x *Leaflet) GetVisibleChild() *gtk.Widget {
297+
298+ GetVisibleChildPtr := xLeafletGetVisibleChild(x.GoPointer())
299+ if GetVisibleChildPtr == 0 {
300+ return nil
301+ }
302+
303+ gobject.IncreaseRef(GetVisibleChildPtr)
304+
305+ GetVisibleChildCls := &gtk.Widget{}
306+ GetVisibleChildCls.Ptr = GetVisibleChildPtr
307+ return GetVisibleChildCls
308+
309+}
310+
311+var xLeafletGetVisibleChildName func(uintptr) string
312+
313+// Gets the name of the currently visible child widget.
314+func (x *Leaflet) GetVisibleChildName() string {
315+
316+ return xLeafletGetVisibleChildName(x.GoPointer())
317+
318+}
319+
320+var xLeafletInsertChildAfter func(uintptr, uintptr, uintptr) uintptr
321+
322+// Inserts @child in the position after @sibling in the list of children.
323+//
324+// If @sibling is `NULL`, inserts @child at the first position.
325+func (x *Leaflet) InsertChildAfter(ChildVar *gtk.Widget, SiblingVar *gtk.Widget) *LeafletPage {
326+
327+ InsertChildAfterPtr := xLeafletInsertChildAfter(x.GoPointer(), ChildVar.GoPointer(), SiblingVar.GoPointer())
328+ if InsertChildAfterPtr == 0 {
329+ return nil
330+ }
331+
332+ gobject.IncreaseRef(InsertChildAfterPtr)
333+
334+ InsertChildAfterCls := &LeafletPage{}
335+ InsertChildAfterCls.Ptr = InsertChildAfterPtr
336+ return InsertChildAfterCls
337+
338+}
339+
340+var xLeafletNavigate func(uintptr, NavigationDirection) bool
341+
342+// Navigates to the previous or next child.
343+//
344+// The child must have the [property@LeafletPage:navigatable] property set to
345+// `TRUE`, otherwise it will be skipped.
346+//
347+// This will be the same child as returned by
348+// [method@Leaflet.get_adjacent_child] or navigated to via swipe gestures.
349+func (x *Leaflet) Navigate(DirectionVar NavigationDirection) bool {
350+
351+ return xLeafletNavigate(x.GoPointer(), DirectionVar)
352+
353+}
354+
355+var xLeafletPrepend func(uintptr, uintptr) uintptr
356+
357+// Inserts @child at the first position in @self.
358+func (x *Leaflet) Prepend(ChildVar *gtk.Widget) *LeafletPage {
359+
360+ PrependPtr := xLeafletPrepend(x.GoPointer(), ChildVar.GoPointer())
361+ if PrependPtr == 0 {
362+ return nil
363+ }
364+
365+ gobject.IncreaseRef(PrependPtr)
366+
367+ PrependCls := &LeafletPage{}
368+ PrependCls.Ptr = PrependPtr
369+ return PrependCls
370+
371+}
372+
373+var xLeafletRemove func(uintptr, uintptr)
374+
375+// Removes a child widget from @self.
376+func (x *Leaflet) Remove(ChildVar *gtk.Widget) {
377+
378+ xLeafletRemove(x.GoPointer(), ChildVar.GoPointer())
379+
380+}
381+
382+var xLeafletReorderChildAfter func(uintptr, uintptr, uintptr)
383+
384+// Moves @child to the position after @sibling in the list of children.
385+//
386+// If @sibling is `NULL`, moves @child to the first position.
387+func (x *Leaflet) ReorderChildAfter(ChildVar *gtk.Widget, SiblingVar *gtk.Widget) {
388+
389+ xLeafletReorderChildAfter(x.GoPointer(), ChildVar.GoPointer(), SiblingVar.GoPointer())
390+
391+}
392+
393+var xLeafletSetCanNavigateBack func(uintptr, bool)
394+
395+// Sets whether gestures and shortcuts for navigating backward are enabled.
396+//
397+// The supported gestures are:
398+//
399+// - One-finger swipe on touchscreens
400+// - Horizontal scrolling on touchpads (usually two-finger swipe)
401+// - Back/forward mouse buttons
402+//
403+// The keyboard back/forward keys are also supported, as well as the
404+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut for horizontal orientation, or
405+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↑&lt;/kbd&gt; for vertical orientation.
406+//
407+// If the orientation is horizontal, for right-to-left locales, gestures and
408+// shortcuts are reversed.
409+//
410+// Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
411+// be navigated to.
412+func (x *Leaflet) SetCanNavigateBack(CanNavigateBackVar bool) {
413+
414+ xLeafletSetCanNavigateBack(x.GoPointer(), CanNavigateBackVar)
415+
416+}
417+
418+var xLeafletSetCanNavigateForward func(uintptr, bool)
419+
420+// Sets whether gestures and shortcuts for navigating forward are enabled.
421+//
422+// The supported gestures are:
423+//
424+// - One-finger swipe on touchscreens
425+// - Horizontal scrolling on touchpads (usually two-finger swipe)
426+// - Back/forward mouse buttons
427+//
428+// The keyboard back/forward keys are also supported, as well as the
429+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;→&lt;/kbd&gt; shortcut for horizontal orientation, or
430+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;↓&lt;/kbd&gt; for vertical orientation.
431+//
432+// If the orientation is horizontal, for right-to-left locales, gestures and
433+// shortcuts are reversed.
434+//
435+// Only children that have [property@LeafletPage:navigatable] set to `TRUE` can
436+// be navigated to.
437+func (x *Leaflet) SetCanNavigateForward(CanNavigateForwardVar bool) {
438+
439+ xLeafletSetCanNavigateForward(x.GoPointer(), CanNavigateForwardVar)
440+
441+}
442+
443+var xLeafletSetCanUnfold func(uintptr, bool)
444+
445+// Sets whether @self can unfold.
446+func (x *Leaflet) SetCanUnfold(CanUnfoldVar bool) {
447+
448+ xLeafletSetCanUnfold(x.GoPointer(), CanUnfoldVar)
449+
450+}
451+
452+var xLeafletSetChildTransitionParams func(uintptr, *SpringParams)
453+
454+// Sets the child transition spring parameters for @self.
455+//
456+// The default value is equivalent to:
457+//
458+// ```c
459+// adw_spring_params_new (1, 0.5, 500)
460+// ```
461+func (x *Leaflet) SetChildTransitionParams(ParamsVar *SpringParams) {
462+
463+ xLeafletSetChildTransitionParams(x.GoPointer(), ParamsVar)
464+
465+}
466+
467+var xLeafletSetFoldThresholdPolicy func(uintptr, FoldThresholdPolicy)
468+
469+// Sets the fold threshold policy for @self.
470+//
471+// If set to `ADW_FOLD_THRESHOLD_POLICY_MINIMUM`, it will only fold when the
472+// children cannot fit anymore. With `ADW_FOLD_THRESHOLD_POLICY_NATURAL`, it
473+// will fold as soon as children don't get their natural size.
474+//
475+// This can be useful if you have a long ellipsizing label and want to let it
476+// ellipsize instead of immediately folding.
477+func (x *Leaflet) SetFoldThresholdPolicy(PolicyVar FoldThresholdPolicy) {
478+
479+ xLeafletSetFoldThresholdPolicy(x.GoPointer(), PolicyVar)
480+
481+}
482+
483+var xLeafletSetHomogeneous func(uintptr, bool)
484+
485+// Sets @self to be homogeneous or not.
486+//
487+// If set to `FALSE`, different children can have different size along the
488+// opposite orientation.
489+func (x *Leaflet) SetHomogeneous(HomogeneousVar bool) {
490+
491+ xLeafletSetHomogeneous(x.GoPointer(), HomogeneousVar)
492+
493+}
494+
495+var xLeafletSetModeTransitionDuration func(uintptr, uint)
496+
497+// Sets the mode transition animation duration for @self.
498+func (x *Leaflet) SetModeTransitionDuration(DurationVar uint) {
499+
500+ xLeafletSetModeTransitionDuration(x.GoPointer(), DurationVar)
501+
502+}
503+
504+var xLeafletSetTransitionType func(uintptr, LeafletTransitionType)
505+
506+// Sets the type of animation used for transitions between modes and children.
507+//
508+// The transition type can be changed without problems at runtime, so it is
509+// possible to change the animation based on the mode or child that is about to
510+// become current.
511+func (x *Leaflet) SetTransitionType(TransitionVar LeafletTransitionType) {
512+
513+ xLeafletSetTransitionType(x.GoPointer(), TransitionVar)
514+
515+}
516+
517+var xLeafletSetVisibleChild func(uintptr, uintptr)
518+
519+// Sets the widget currently visible when the leaflet is folded.
520+//
521+// The transition is determined by [property@Leaflet:transition-type] and
522+// [property@Leaflet:child-transition-params]. The transition can be cancelled
523+// by the user, in which case visible child will change back to the previously
524+// visible child.
525+func (x *Leaflet) SetVisibleChild(VisibleChildVar *gtk.Widget) {
526+
527+ xLeafletSetVisibleChild(x.GoPointer(), VisibleChildVar.GoPointer())
528+
529+}
530+
531+var xLeafletSetVisibleChildName func(uintptr, string)
532+
533+// Makes the child with the name @name visible.
534+//
535+// See [property@Leaflet:visible-child].
536+func (x *Leaflet) SetVisibleChildName(NameVar string) {
537+
538+ xLeafletSetVisibleChildName(x.GoPointer(), NameVar)
539+
540+}
541+
542+func (c *Leaflet) GoPointer() uintptr {
543+ return c.Ptr
544+}
545+
546+func (c *Leaflet) SetGoPointer(ptr uintptr) {
547+ c.Ptr = ptr
548+}
549+
550+// Gets the progress @self will snap back to after the gesture is canceled.
551+func (x *Leaflet) GetCancelProgress() float64 {
552+
553+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
554+
555+}
556+
557+// Gets the swipe distance of @self.
558+//
559+// This corresponds to how many pixels 1 unit represents.
560+func (x *Leaflet) GetDistance() float64 {
561+
562+ return XAdwSwipeableGetDistance(x.GoPointer())
563+
564+}
565+
566+// Gets the current progress of @self.
567+func (x *Leaflet) GetProgress() float64 {
568+
569+ return XAdwSwipeableGetProgress(x.GoPointer())
570+
571+}
572+
573+// Gets the snap points of @self.
574+//
575+// Each snap point represents a progress value that is considered acceptable to
576+// end the swipe on.
577+func (x *Leaflet) GetSnapPoints(NSnapPointsVar int32) uintptr {
578+
579+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
580+
581+}
582+
583+// Gets the area @self can start a swipe from for the given direction and
584+// gesture type.
585+//
586+// This can be used to restrict swipes to only be possible from a certain area,
587+// for example, to only allow edge swipes, or to have a draggable element and
588+// ignore swipes elsewhere.
589+//
590+// If not implemented, the default implementation returns the allocation of
591+// @self, allowing swipes from anywhere.
592+func (x *Leaflet) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
593+
594+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
595+
596+}
597+
598+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
599+func (x *Leaflet) GetAccessibleRole() gtk.AccessibleRole {
600+
601+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
602+
603+}
604+
605+// Resets the accessible @property to its default value.
606+func (x *Leaflet) ResetProperty(PropertyVar gtk.AccessibleProperty) {
607+
608+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
609+
610+}
611+
612+// Resets the accessible @relation to its default value.
613+func (x *Leaflet) ResetRelation(RelationVar gtk.AccessibleRelation) {
614+
615+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
616+
617+}
618+
619+// Resets the accessible @state to its default value.
620+func (x *Leaflet) ResetState(StateVar gtk.AccessibleState) {
621+
622+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
623+
624+}
625+
626+// Updates a list of accessible properties.
627+//
628+// See the [enum@Gtk.AccessibleProperty] documentation for the
629+// value types of accessible properties.
630+//
631+// This function should be called by `GtkWidget` types whenever
632+// an accessible property change must be communicated to assistive
633+// technologies.
634+//
635+// Example:
636+// ```c
637+// value = gtk_adjustment_get_value (adjustment);
638+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
639+//
640+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
641+// -1);
642+//
643+// ```
644+func (x *Leaflet) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
645+
646+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
647+
648+}
649+
650+// Updates an array of accessible properties.
651+//
652+// This function should be called by `GtkWidget` types whenever an accessible
653+// property change must be communicated to assistive technologies.
654+//
655+// This function is meant to be used by language bindings.
656+func (x *Leaflet) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
657+
658+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
659+
660+}
661+
662+// Updates a list of accessible relations.
663+//
664+// This function should be called by `GtkWidget` types whenever an accessible
665+// relation change must be communicated to assistive technologies.
666+//
667+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
668+// you should pass each reference individually, followed by %NULL, e.g.
669+//
670+// ```c
671+// gtk_accessible_update_relation (accessible,
672+//
673+// GTK_ACCESSIBLE_RELATION_CONTROLS,
674+// ref1, NULL,
675+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
676+// ref1, ref2, ref3, NULL,
677+// -1);
678+//
679+// ```
680+func (x *Leaflet) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
681+
682+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
683+
684+}
685+
686+// Updates an array of accessible relations.
687+//
688+// This function should be called by `GtkWidget` types whenever an accessible
689+// relation change must be communicated to assistive technologies.
690+//
691+// This function is meant to be used by language bindings.
692+func (x *Leaflet) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
693+
694+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
695+
696+}
697+
698+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
699+// documentation for the value types of accessible states.
700+//
701+// This function should be called by `GtkWidget` types whenever an accessible
702+// state change must be communicated to assistive technologies.
703+//
704+// Example:
705+// ```c
706+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
707+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
708+//
709+// GTK_ACCESSIBLE_STATE_CHECKED, value,
710+// -1);
711+//
712+// ```
713+func (x *Leaflet) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
714+
715+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
716+
717+}
718+
719+// Updates an array of accessible states.
720+//
721+// This function should be called by `GtkWidget` types whenever an accessible
722+// state change must be communicated to assistive technologies.
723+//
724+// This function is meant to be used by language bindings.
725+func (x *Leaflet) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
726+
727+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
728+
729+}
730+
731+// Gets the ID of the @buildable object.
732+//
733+// `GtkBuilder` sets the name based on the ID attribute
734+// of the &lt;object&gt; tag used to construct the @buildable.
735+func (x *Leaflet) GetBuildableId() string {
736+
737+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
738+
739+}
740+
741+// Retrieves the orientation of the @orientable.
742+func (x *Leaflet) GetOrientation() gtk.Orientation {
743+
744+ return gtk.XGtkOrientableGetOrientation(x.GoPointer())
745+
746+}
747+
748+// Sets the orientation of the @orientable.
749+func (x *Leaflet) SetOrientation(OrientationVar gtk.Orientation) {
750+
751+ gtk.XGtkOrientableSetOrientation(x.GoPointer(), OrientationVar)
752+
753+}
754+
755+// An auxiliary class used by [class@Leaflet].
756+type LeafletPage struct {
757+ gobject.Object
758+}
759+
760+func LeafletPageNewFromInternalPtr(ptr uintptr) *LeafletPage {
761+ cls := &LeafletPage{}
762+ cls.Ptr = ptr
763+ return cls
764+}
765+
766+var xLeafletPageGetChild func(uintptr) uintptr
767+
768+// Gets the leaflet child to which @self belongs.
769+func (x *LeafletPage) GetChild() *gtk.Widget {
770+
771+ GetChildPtr := xLeafletPageGetChild(x.GoPointer())
772+ if GetChildPtr == 0 {
773+ return nil
774+ }
775+
776+ gobject.IncreaseRef(GetChildPtr)
777+
778+ GetChildCls := &gtk.Widget{}
779+ GetChildCls.Ptr = GetChildPtr
780+ return GetChildCls
781+
782+}
783+
784+var xLeafletPageGetName func(uintptr) string
785+
786+// Gets the name of @self.
787+func (x *LeafletPage) GetName() string {
788+
789+ return xLeafletPageGetName(x.GoPointer())
790+
791+}
792+
793+var xLeafletPageGetNavigatable func(uintptr) bool
794+
795+// Gets whether the child can be navigated to when folded.
796+func (x *LeafletPage) GetNavigatable() bool {
797+
798+ return xLeafletPageGetNavigatable(x.GoPointer())
799+
800+}
801+
802+var xLeafletPageSetName func(uintptr, string)
803+
804+// Sets the name of the @self.
805+func (x *LeafletPage) SetName(NameVar string) {
806+
807+ xLeafletPageSetName(x.GoPointer(), NameVar)
808+
809+}
810+
811+var xLeafletPageSetNavigatable func(uintptr, bool)
812+
813+// Sets whether @self can be navigated to when folded.
814+//
815+// If `FALSE`, the child will be ignored by [method@Leaflet.get_adjacent_child],
816+// [method@Leaflet.navigate], and swipe gestures.
817+//
818+// This can be used used to prevent switching to widgets like separators.
819+func (x *LeafletPage) SetNavigatable(NavigatableVar bool) {
820+
821+ xLeafletPageSetNavigatable(x.GoPointer(), NavigatableVar)
822+
823+}
824+
825+func (c *LeafletPage) GoPointer() uintptr {
826+ return c.Ptr
827+}
828+
829+func (c *LeafletPage) SetGoPointer(ptr uintptr) {
830+ c.Ptr = ptr
831+}
832+
833+func init() {
834+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
835+ if err != nil {
836+ panic(err)
837+ }
838+
839+ core.PuregoSafeRegister(&xNewLeaflet, lib, "adw_leaflet_new")
840+
841+ core.PuregoSafeRegister(&xLeafletAppend, lib, "adw_leaflet_append")
842+ core.PuregoSafeRegister(&xLeafletGetAdjacentChild, lib, "adw_leaflet_get_adjacent_child")
843+ core.PuregoSafeRegister(&xLeafletGetCanNavigateBack, lib, "adw_leaflet_get_can_navigate_back")
844+ core.PuregoSafeRegister(&xLeafletGetCanNavigateForward, lib, "adw_leaflet_get_can_navigate_forward")
845+ core.PuregoSafeRegister(&xLeafletGetCanUnfold, lib, "adw_leaflet_get_can_unfold")
846+ core.PuregoSafeRegister(&xLeafletGetChildByName, lib, "adw_leaflet_get_child_by_name")
847+ core.PuregoSafeRegister(&xLeafletGetChildTransitionParams, lib, "adw_leaflet_get_child_transition_params")
848+ core.PuregoSafeRegister(&xLeafletGetChildTransitionRunning, lib, "adw_leaflet_get_child_transition_running")
849+ core.PuregoSafeRegister(&xLeafletGetFoldThresholdPolicy, lib, "adw_leaflet_get_fold_threshold_policy")
850+ core.PuregoSafeRegister(&xLeafletGetFolded, lib, "adw_leaflet_get_folded")
851+ core.PuregoSafeRegister(&xLeafletGetHomogeneous, lib, "adw_leaflet_get_homogeneous")
852+ core.PuregoSafeRegister(&xLeafletGetModeTransitionDuration, lib, "adw_leaflet_get_mode_transition_duration")
853+ core.PuregoSafeRegister(&xLeafletGetPage, lib, "adw_leaflet_get_page")
854+ core.PuregoSafeRegister(&xLeafletGetPages, lib, "adw_leaflet_get_pages")
855+ core.PuregoSafeRegister(&xLeafletGetTransitionType, lib, "adw_leaflet_get_transition_type")
856+ core.PuregoSafeRegister(&xLeafletGetVisibleChild, lib, "adw_leaflet_get_visible_child")
857+ core.PuregoSafeRegister(&xLeafletGetVisibleChildName, lib, "adw_leaflet_get_visible_child_name")
858+ core.PuregoSafeRegister(&xLeafletInsertChildAfter, lib, "adw_leaflet_insert_child_after")
859+ core.PuregoSafeRegister(&xLeafletNavigate, lib, "adw_leaflet_navigate")
860+ core.PuregoSafeRegister(&xLeafletPrepend, lib, "adw_leaflet_prepend")
861+ core.PuregoSafeRegister(&xLeafletRemove, lib, "adw_leaflet_remove")
862+ core.PuregoSafeRegister(&xLeafletReorderChildAfter, lib, "adw_leaflet_reorder_child_after")
863+ core.PuregoSafeRegister(&xLeafletSetCanNavigateBack, lib, "adw_leaflet_set_can_navigate_back")
864+ core.PuregoSafeRegister(&xLeafletSetCanNavigateForward, lib, "adw_leaflet_set_can_navigate_forward")
865+ core.PuregoSafeRegister(&xLeafletSetCanUnfold, lib, "adw_leaflet_set_can_unfold")
866+ core.PuregoSafeRegister(&xLeafletSetChildTransitionParams, lib, "adw_leaflet_set_child_transition_params")
867+ core.PuregoSafeRegister(&xLeafletSetFoldThresholdPolicy, lib, "adw_leaflet_set_fold_threshold_policy")
868+ core.PuregoSafeRegister(&xLeafletSetHomogeneous, lib, "adw_leaflet_set_homogeneous")
869+ core.PuregoSafeRegister(&xLeafletSetModeTransitionDuration, lib, "adw_leaflet_set_mode_transition_duration")
870+ core.PuregoSafeRegister(&xLeafletSetTransitionType, lib, "adw_leaflet_set_transition_type")
871+ core.PuregoSafeRegister(&xLeafletSetVisibleChild, lib, "adw_leaflet_set_visible_child")
872+ core.PuregoSafeRegister(&xLeafletSetVisibleChildName, lib, "adw_leaflet_set_visible_child_name")
873+
874+ core.PuregoSafeRegister(&xLeafletPageGetChild, lib, "adw_leaflet_page_get_child")
875+ core.PuregoSafeRegister(&xLeafletPageGetName, lib, "adw_leaflet_page_get_name")
876+ core.PuregoSafeRegister(&xLeafletPageGetNavigatable, lib, "adw_leaflet_page_get_navigatable")
877+ core.PuregoSafeRegister(&xLeafletPageSetName, lib, "adw_leaflet_page_set_name")
878+ core.PuregoSafeRegister(&xLeafletPageSetNavigatable, lib, "adw_leaflet_page_set_navigatable")
879+
880+}
A v4/adw/adw-main.go +46 -0
@@ -0,0 +1,46 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+)
8+
9+var xInit func()
10+
11+// Initializes Libadwaita.
12+//
13+// This function can be used instead of [func@Gtk.init] as it initializes GTK
14+// implicitly.
15+//
16+// There's no need to call this function if you're using [class@Application].
17+//
18+// If Libadwaita has already been initialized, the function will simply return.
19+//
20+// This makes sure translations, types, themes, and icons for the Adwaita
21+// library are set up properly.
22+func Init() {
23+
24+ xInit()
25+
26+}
27+
28+var xIsInitialized func() bool
29+
30+// Use this function to check if libadwaita has been initialized with
31+// [func@init].
32+func IsInitialized() bool {
33+
34+ return xIsInitialized()
35+
36+}
37+
38+func init() {
39+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
40+ if err != nil {
41+ panic(err)
42+ }
43+ core.PuregoSafeRegister(&xInit, lib, "adw_init")
44+ core.PuregoSafeRegister(&xIsInitialized, lib, "adw_is_initialized")
45+
46+}
A v4/adw/adw-message-dialog.go +928 -0
@@ -0,0 +1,928 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gio"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gsk"
11+ "github.com/jwijenbergh/puregotk/v4/gtk"
12+)
13+
14+type MessageDialogClass struct {
15+ ParentClass uintptr
16+
17+ Padding uintptr
18+}
19+
20+// Describes the possible styles of [class@MessageDialog] response buttons.
21+//
22+// See [method@MessageDialog.set_response_appearance].
23+type ResponseAppearance int
24+
25+const (
26+
27+ // the default appearance.
28+ ResponseDefaultValue ResponseAppearance = 0
29+ // used to denote important responses such as the
30+ // affirmative action.
31+ ResponseSuggestedValue ResponseAppearance = 1
32+ // used to draw attention to the potentially damaging
33+ // consequences of using the response. This appearance acts as a warning to
34+ // the user.
35+ ResponseDestructiveValue ResponseAppearance = 2
36+)
37+
38+// A dialog presenting a message or a question.
39+//
40+// &lt;picture&gt;
41+//
42+// &lt;source srcset="message-dialog-dark.png" media="(prefers-color-scheme: dark)"&gt;
43+// &lt;img src="message-dialog.png" alt="message-dialog"&gt;
44+//
45+// &lt;/picture&gt;
46+//
47+// Message dialogs have a heading, a body, an optional child widget, and one or
48+// multiple responses, each presented as a button.
49+//
50+// Each response has a unique string ID, and a button label. Additionally, each
51+// response can be enabled or disabled, and can have a suggested or destructive
52+// appearance.
53+//
54+// When one of the responses is activated, or the dialog is closed, the
55+// [signal@MessageDialog::response] signal will be emitted. This signal is
56+// detailed, and the detail, as well as the `response` parameter will be set to
57+// the ID of the activated response, or to the value of the
58+// [property@MessageDialog:close-response] property if the dialog had been
59+// closed without activating any of the responses.
60+//
61+// Response buttons can be presented horizontally or vertically depending on
62+// available space.
63+//
64+// When a response is activated, `AdwMessageDialog` is closed automatically.
65+//
66+// An example of using a message dialog:
67+//
68+// ```c
69+// GtkWidget *dialog;
70+//
71+// dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);
72+//
73+// adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
74+//
75+// _("A file named “%s” already exists. Do you want to replace it?"),
76+// filename);
77+//
78+// adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog),
79+//
80+// "cancel", _("_Cancel"),
81+// "replace", _("_Replace"),
82+// NULL);
83+//
84+// adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);
85+//
86+// adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
87+// adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
88+//
89+// g_signal_connect (dialog, "response", G_CALLBACK (response_cb), self);
90+//
91+// gtk_window_present (GTK_WINDOW (dialog));
92+// ```
93+//
94+// ## Async API
95+//
96+// `AdwMessageDialog` can also be used via the [method@MessageDialog.choose]
97+// method. This API follows the GIO async pattern, and the result can be
98+// obtained by calling [method@MessageDialog.choose_finish], for example:
99+//
100+// ```c
101+// static void
102+// dialog_cb (AdwMessageDialog *dialog,
103+//
104+// GAsyncResult *result,
105+// MyWindow *self)
106+//
107+// {
108+// const char *response = adw_message_dialog_choose_finish (dialog, result);
109+//
110+// // ...
111+// }
112+//
113+// static void
114+// show_dialog (MyWindow *self)
115+//
116+// {
117+// GtkWidget *dialog;
118+//
119+// dialog = adw_message_dialog_new (GTK_WINDOW (self), _("Replace File?"), NULL);
120+//
121+// adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
122+// _("A file named “%s” already exists. Do you want to replace it?"),
123+// filename);
124+//
125+// adw_message_dialog_add_responses (ADW_MESSAGE_DIALOG (dialog),
126+// "cancel", _("_Cancel"),
127+// "replace", _("_Replace"),
128+// NULL);
129+//
130+// adw_message_dialog_set_response_appearance (ADW_MESSAGE_DIALOG (dialog), "replace", ADW_RESPONSE_DESTRUCTIVE);
131+//
132+// adw_message_dialog_set_default_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
133+// adw_message_dialog_set_close_response (ADW_MESSAGE_DIALOG (dialog), "cancel");
134+//
135+// adw_message_dialog_choose (ADW_MESSAGE_DIALOG (dialog), NULL, (GAsyncReadyCallback) dialog_cb, self);
136+// }
137+//
138+// ```
139+//
140+// ## AdwMessageDialog as GtkBuildable
141+//
142+// `AdwMessageDialog` supports adding responses in UI definitions by via the
143+// `&lt;responses&gt;` element that may contain multiple `&lt;response&gt;` elements, each
144+// respresenting a response.
145+//
146+// Each of the `&lt;response&gt;` elements must have the `id` attribute specifying the
147+// response ID. The contents of the element are used as the response label.
148+//
149+// Response labels can be translated with the usual `translatable`, `context`
150+// and `comments` attributes.
151+//
152+// The `&lt;response&gt;` elements can also have `enabled` and/or `appearance`
153+// attributes. See [method@MessageDialog.set_response_enabled] and
154+// [method@MessageDialog.set_response_appearance] for details.
155+//
156+// Example of an `AdwMessageDialog` UI definition:
157+//
158+// ```xml
159+// &lt;object class="AdwMessageDialog" id="dialog"&gt;
160+//
161+// &lt;property name="heading" translatable="yes"&gt;Save Changes?&lt;/property&gt;
162+// &lt;property name="body" translatable="yes"&gt;Open documents contain unsaved changes. Changes which are not saved will be permanently lost.&lt;/property&gt;
163+// &lt;property name="default-response"&gt;save&lt;/property&gt;
164+// &lt;property name="close-response"&gt;cancel&lt;/property&gt;
165+// &lt;signal name="response" handler="response_cb"/&gt;
166+// &lt;responses&gt;
167+// &lt;response id="cancel" translatable="yes"&gt;_Cancel&lt;/response&gt;
168+// &lt;response id="discard" translatable="yes" appearance="destructive"&gt;_Discard&lt;/response&gt;
169+// &lt;response id="save" translatable="yes" appearance="suggested" enabled="false"&gt;_Save&lt;/response&gt;
170+// &lt;/responses&gt;
171+//
172+// &lt;/object&gt;
173+// ```
174+//
175+// ## Accessibility
176+//
177+// `AdwMessageDialog` uses the `GTK_ACCESSIBLE_ROLE_DIALOG` role.
178+type MessageDialog struct {
179+ gtk.Window
180+}
181+
182+func MessageDialogNewFromInternalPtr(ptr uintptr) *MessageDialog {
183+ cls := &MessageDialog{}
184+ cls.Ptr = ptr
185+ return cls
186+}
187+
188+var xNewMessageDialog func(uintptr, string, string) uintptr
189+
190+// Creates a new `AdwMessageDialog`.
191+//
192+// @heading and @body can be set to `NULL`. This can be useful if they need to
193+// be formatted or use markup. In that case, set them to `NULL` and call
194+// [method@MessageDialog.format_body] or similar methods afterwards:
195+//
196+// ```c
197+// GtkWidget *dialog;
198+//
199+// dialog = adw_message_dialog_new (parent, _("Replace File?"), NULL);
200+// adw_message_dialog_format_body (ADW_MESSAGE_DIALOG (dialog),
201+//
202+// _("A file named “%s” already exists. Do you want to replace it?"),
203+// filename);
204+//
205+// ```
206+func NewMessageDialog(ParentVar *gtk.Window, HeadingVar string, BodyVar string) *gtk.Widget {
207+ NewMessageDialogPtr := xNewMessageDialog(ParentVar.GoPointer(), HeadingVar, BodyVar)
208+ if NewMessageDialogPtr == 0 {
209+ return nil
210+ }
211+
212+ gobject.IncreaseRef(NewMessageDialogPtr)
213+
214+ NewMessageDialogCls := &gtk.Widget{}
215+ NewMessageDialogCls.Ptr = NewMessageDialogPtr
216+ return NewMessageDialogCls
217+}
218+
219+var xMessageDialogAddResponse func(uintptr, string, string)
220+
221+// Adds a response with @id and @label to @self.
222+//
223+// Responses are represented as buttons in the dialog.
224+//
225+// Response ID must be unique. It will be used in
226+// [signal@MessageDialog::response] to tell which response had been activated,
227+// as well as to inspect and modify the response later.
228+//
229+// An embedded underline in @label indicates a mnemonic.
230+//
231+// [method@MessageDialog.set_response_label] can be used to change the response
232+// label after it had been added.
233+//
234+// [method@MessageDialog.set_response_enabled] and
235+// [method@MessageDialog.set_response_appearance] can be used to customize the
236+// responses further.
237+func (x *MessageDialog) AddResponse(IdVar string, LabelVar string) {
238+
239+ xMessageDialogAddResponse(x.GoPointer(), IdVar, LabelVar)
240+
241+}
242+
243+var xMessageDialogAddResponses func(uintptr, string, ...interface{})
244+
245+// Adds multiple responses to @self.
246+//
247+// This is the same as calling [method@MessageDialog.add_response] repeatedly.
248+// The variable argument list should be `NULL`-terminated list of response IDs
249+// and labels.
250+//
251+// Example:
252+//
253+// ```c
254+// adw_message_dialog_add_responses (dialog,
255+//
256+// "cancel", _("_Cancel"),
257+// "discard", _("_Discard"),
258+// "save", _("_Save"),
259+// NULL);
260+//
261+// ```
262+func (x *MessageDialog) AddResponses(FirstIdVar string, varArgs ...interface{}) {
263+
264+ xMessageDialogAddResponses(x.GoPointer(), FirstIdVar, varArgs...)
265+
266+}
267+
268+var xMessageDialogChoose func(uintptr, uintptr, uintptr, uintptr)
269+
270+// This function shows @self to the user.
271+//
272+// The @callback will be called when the alert is dismissed. It should call
273+// [method@MessageDialog.choose_finish] to obtain the result.
274+func (x *MessageDialog) Choose(CancellableVar *gio.Cancellable, CallbackVar gio.AsyncReadyCallback, UserDataVar uintptr) {
275+
276+ xMessageDialogChoose(x.GoPointer(), CancellableVar.GoPointer(), purego.NewCallback(CallbackVar), UserDataVar)
277+
278+}
279+
280+var xMessageDialogChooseFinish func(uintptr, uintptr) string
281+
282+// Finishes the [method@MessageDialog.choose] call and returns the response ID.
283+func (x *MessageDialog) ChooseFinish(ResultVar gio.AsyncResult) string {
284+
285+ return xMessageDialogChooseFinish(x.GoPointer(), ResultVar.GoPointer())
286+
287+}
288+
289+var xMessageDialogFormatBody func(uintptr, string, ...interface{})
290+
291+// Sets the formatted body text of @self.
292+//
293+// See [property@MessageDialog:body].
294+func (x *MessageDialog) FormatBody(FormatVar string, varArgs ...interface{}) {
295+
296+ xMessageDialogFormatBody(x.GoPointer(), FormatVar, varArgs...)
297+
298+}
299+
300+var xMessageDialogFormatBodyMarkup func(uintptr, string, ...interface{})
301+
302+// Sets the formatted body text of @self with Pango markup.
303+//
304+// The @format is assumed to contain Pango markup.
305+//
306+// Special XML characters in the `printf()` arguments passed to this function
307+// will automatically be escaped as necessary, see
308+// [func@GLib.markup_printf_escaped].
309+//
310+// See [property@MessageDialog:body].
311+func (x *MessageDialog) FormatBodyMarkup(FormatVar string, varArgs ...interface{}) {
312+
313+ xMessageDialogFormatBodyMarkup(x.GoPointer(), FormatVar, varArgs...)
314+
315+}
316+
317+var xMessageDialogFormatHeading func(uintptr, string, ...interface{})
318+
319+// Sets the formatted heading of @self.
320+//
321+// See [property@MessageDialog:heading].
322+func (x *MessageDialog) FormatHeading(FormatVar string, varArgs ...interface{}) {
323+
324+ xMessageDialogFormatHeading(x.GoPointer(), FormatVar, varArgs...)
325+
326+}
327+
328+var xMessageDialogFormatHeadingMarkup func(uintptr, string, ...interface{})
329+
330+// Sets the formatted heading of @self with Pango markup.
331+//
332+// The @format is assumed to contain Pango markup.
333+//
334+// Special XML characters in the `printf()` arguments passed to this function
335+// will automatically be escaped as necessary, see
336+// [func@GLib.markup_printf_escaped].
337+//
338+// See [property@MessageDialog:heading].
339+func (x *MessageDialog) FormatHeadingMarkup(FormatVar string, varArgs ...interface{}) {
340+
341+ xMessageDialogFormatHeadingMarkup(x.GoPointer(), FormatVar, varArgs...)
342+
343+}
344+
345+var xMessageDialogGetBody func(uintptr) string
346+
347+// Gets the body text of @self.
348+func (x *MessageDialog) GetBody() string {
349+
350+ return xMessageDialogGetBody(x.GoPointer())
351+
352+}
353+
354+var xMessageDialogGetBodyUseMarkup func(uintptr) bool
355+
356+// Gets whether the body text of @self includes Pango markup.
357+func (x *MessageDialog) GetBodyUseMarkup() bool {
358+
359+ return xMessageDialogGetBodyUseMarkup(x.GoPointer())
360+
361+}
362+
363+var xMessageDialogGetCloseResponse func(uintptr) string
364+
365+// Gets the ID of the close response of @self.
366+func (x *MessageDialog) GetCloseResponse() string {
367+
368+ return xMessageDialogGetCloseResponse(x.GoPointer())
369+
370+}
371+
372+var xMessageDialogGetDefaultResponse func(uintptr) string
373+
374+// Gets the ID of the default response of @self.
375+func (x *MessageDialog) GetDefaultResponse() string {
376+
377+ return xMessageDialogGetDefaultResponse(x.GoPointer())
378+
379+}
380+
381+var xMessageDialogGetExtraChild func(uintptr) uintptr
382+
383+// Gets the child widget of @self.
384+func (x *MessageDialog) GetExtraChild() *gtk.Widget {
385+
386+ GetExtraChildPtr := xMessageDialogGetExtraChild(x.GoPointer())
387+ if GetExtraChildPtr == 0 {
388+ return nil
389+ }
390+
391+ gobject.IncreaseRef(GetExtraChildPtr)
392+
393+ GetExtraChildCls := &gtk.Widget{}
394+ GetExtraChildCls.Ptr = GetExtraChildPtr
395+ return GetExtraChildCls
396+
397+}
398+
399+var xMessageDialogGetHeading func(uintptr) string
400+
401+// Gets the heading of @self.
402+func (x *MessageDialog) GetHeading() string {
403+
404+ return xMessageDialogGetHeading(x.GoPointer())
405+
406+}
407+
408+var xMessageDialogGetHeadingUseMarkup func(uintptr) bool
409+
410+// Gets whether the heading of @self includes Pango markup.
411+func (x *MessageDialog) GetHeadingUseMarkup() bool {
412+
413+ return xMessageDialogGetHeadingUseMarkup(x.GoPointer())
414+
415+}
416+
417+var xMessageDialogGetResponseAppearance func(uintptr, string) ResponseAppearance
418+
419+// Gets the appearance of @response.
420+//
421+// See [method@MessageDialog.set_response_appearance].
422+func (x *MessageDialog) GetResponseAppearance(ResponseVar string) ResponseAppearance {
423+
424+ return xMessageDialogGetResponseAppearance(x.GoPointer(), ResponseVar)
425+
426+}
427+
428+var xMessageDialogGetResponseEnabled func(uintptr, string) bool
429+
430+// Gets whether @response is enabled.
431+//
432+// See [method@MessageDialog.set_response_enabled].
433+func (x *MessageDialog) GetResponseEnabled(ResponseVar string) bool {
434+
435+ return xMessageDialogGetResponseEnabled(x.GoPointer(), ResponseVar)
436+
437+}
438+
439+var xMessageDialogGetResponseLabel func(uintptr, string) string
440+
441+// Gets the label of @response.
442+//
443+// See [method@MessageDialog.set_response_label].
444+func (x *MessageDialog) GetResponseLabel(ResponseVar string) string {
445+
446+ return xMessageDialogGetResponseLabel(x.GoPointer(), ResponseVar)
447+
448+}
449+
450+var xMessageDialogHasResponse func(uintptr, string) bool
451+
452+// Gets whether @self has a response with the ID @response.
453+func (x *MessageDialog) HasResponse(ResponseVar string) bool {
454+
455+ return xMessageDialogHasResponse(x.GoPointer(), ResponseVar)
456+
457+}
458+
459+var xMessageDialogResponse func(uintptr, string)
460+
461+// Emits the [signal@MessageDialog::response] signal with the given response ID.
462+//
463+// Used to indicate that the user has responded to the dialog in some way.
464+func (x *MessageDialog) Response(ResponseVar string) {
465+
466+ xMessageDialogResponse(x.GoPointer(), ResponseVar)
467+
468+}
469+
470+var xMessageDialogSetBody func(uintptr, string)
471+
472+// Sets the body text of @self.
473+func (x *MessageDialog) SetBody(BodyVar string) {
474+
475+ xMessageDialogSetBody(x.GoPointer(), BodyVar)
476+
477+}
478+
479+var xMessageDialogSetBodyUseMarkup func(uintptr, bool)
480+
481+// Sets whether the body text of @self includes Pango markup.
482+//
483+// See [func@Pango.parse_markup].
484+func (x *MessageDialog) SetBodyUseMarkup(UseMarkupVar bool) {
485+
486+ xMessageDialogSetBodyUseMarkup(x.GoPointer(), UseMarkupVar)
487+
488+}
489+
490+var xMessageDialogSetCloseResponse func(uintptr, string)
491+
492+// Sets the ID of the close response of @self.
493+//
494+// It will be passed to [signal@MessageDialog::response] if the window is
495+// closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system action.
496+//
497+// It doesn't have to correspond to any of the responses in the dialog.
498+//
499+// The default close response is `close`.
500+func (x *MessageDialog) SetCloseResponse(ResponseVar string) {
501+
502+ xMessageDialogSetCloseResponse(x.GoPointer(), ResponseVar)
503+
504+}
505+
506+var xMessageDialogSetDefaultResponse func(uintptr, string)
507+
508+// Sets the ID of the default response of @self.
509+//
510+// If set, pressing &lt;kbd&gt;Enter&lt;/kbd&gt; will activate the corresponding button.
511+//
512+// If set to `NULL` or to a non-existent response ID, pressing &lt;kbd&gt;Enter&lt;/kbd&gt;
513+// will do nothing.
514+func (x *MessageDialog) SetDefaultResponse(ResponseVar string) {
515+
516+ xMessageDialogSetDefaultResponse(x.GoPointer(), ResponseVar)
517+
518+}
519+
520+var xMessageDialogSetExtraChild func(uintptr, uintptr)
521+
522+// Sets the child widget of @self.
523+//
524+// The child widget is displayed below the heading and body.
525+func (x *MessageDialog) SetExtraChild(ChildVar *gtk.Widget) {
526+
527+ xMessageDialogSetExtraChild(x.GoPointer(), ChildVar.GoPointer())
528+
529+}
530+
531+var xMessageDialogSetHeading func(uintptr, string)
532+
533+// Sets the heading of @self.
534+func (x *MessageDialog) SetHeading(HeadingVar string) {
535+
536+ xMessageDialogSetHeading(x.GoPointer(), HeadingVar)
537+
538+}
539+
540+var xMessageDialogSetHeadingUseMarkup func(uintptr, bool)
541+
542+// Sets whether the heading of @self includes Pango markup.
543+//
544+// See [func@Pango.parse_markup].
545+func (x *MessageDialog) SetHeadingUseMarkup(UseMarkupVar bool) {
546+
547+ xMessageDialogSetHeadingUseMarkup(x.GoPointer(), UseMarkupVar)
548+
549+}
550+
551+var xMessageDialogSetResponseAppearance func(uintptr, string, ResponseAppearance)
552+
553+// Sets the appearance for @response.
554+//
555+// &lt;picture&gt;
556+//
557+// &lt;source srcset="message-dialog-appearance-dark.png" media="(prefers-color-scheme: dark)"&gt;
558+// &lt;img src="message-dialog-appearance.png" alt="message-dialog-appearance"&gt;
559+//
560+// &lt;/picture&gt;
561+//
562+// Use `ADW_RESPONSE_SUGGESTED` to mark important responses such as the
563+// affirmative action, like the Save button in the example.
564+//
565+// Use `ADW_RESPONSE_DESTRUCTIVE` to draw attention to the potentially damaging
566+// consequences of using @response. This appearance acts as a warning to the
567+// user. The Discard button in the example is using this appearance.
568+//
569+// The default appearance is `ADW_RESPONSE_DEFAULT`.
570+//
571+// Negative responses like Cancel or Close should use the default appearance.
572+func (x *MessageDialog) SetResponseAppearance(ResponseVar string, AppearanceVar ResponseAppearance) {
573+
574+ xMessageDialogSetResponseAppearance(x.GoPointer(), ResponseVar, AppearanceVar)
575+
576+}
577+
578+var xMessageDialogSetResponseEnabled func(uintptr, string, bool)
579+
580+// Sets whether @response is enabled.
581+//
582+// If @response is not enabled, the corresponding button will have
583+// [property@Gtk.Widget:sensitive] set to `FALSE` and it can't be activated as
584+// a default response.
585+//
586+// @response can still be used as [property@MessageDialog:close-response] while
587+// it's not enabled.
588+//
589+// Responses are enabled by default.
590+func (x *MessageDialog) SetResponseEnabled(ResponseVar string, EnabledVar bool) {
591+
592+ xMessageDialogSetResponseEnabled(x.GoPointer(), ResponseVar, EnabledVar)
593+
594+}
595+
596+var xMessageDialogSetResponseLabel func(uintptr, string, string)
597+
598+// Sets the label of @response to @label.
599+//
600+// Labels are displayed on the dialog buttons. An embedded underline in @label
601+// indicates a mnemonic.
602+func (x *MessageDialog) SetResponseLabel(ResponseVar string, LabelVar string) {
603+
604+ xMessageDialogSetResponseLabel(x.GoPointer(), ResponseVar, LabelVar)
605+
606+}
607+
608+func (c *MessageDialog) GoPointer() uintptr {
609+ return c.Ptr
610+}
611+
612+func (c *MessageDialog) SetGoPointer(ptr uintptr) {
613+ c.Ptr = ptr
614+}
615+
616+// This signal is emitted when the dialog is closed.
617+//
618+// @response will be set to the response ID of the button that had been
619+// activated.
620+//
621+// if the dialog was closed by pressing &lt;kbd&gt;Escape&lt;/kbd&gt; or with a system
622+// action, @response will be set to the value of
623+// [property@MessageDialog:close-response].
624+func (x *MessageDialog) ConnectResponse(cb func(MessageDialog, string)) {
625+ fcb := func(clsPtr uintptr, ResponseVarp string) {
626+ fa := MessageDialog{}
627+ fa.Ptr = clsPtr
628+
629+ cb(fa, ResponseVarp)
630+
631+ }
632+ gobject.ObjectConnect(x.GoPointer(), "signal::response", purego.NewCallback(fcb))
633+}
634+
635+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
636+func (x *MessageDialog) GetAccessibleRole() gtk.AccessibleRole {
637+
638+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
639+
640+}
641+
642+// Resets the accessible @property to its default value.
643+func (x *MessageDialog) ResetProperty(PropertyVar gtk.AccessibleProperty) {
644+
645+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
646+
647+}
648+
649+// Resets the accessible @relation to its default value.
650+func (x *MessageDialog) ResetRelation(RelationVar gtk.AccessibleRelation) {
651+
652+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
653+
654+}
655+
656+// Resets the accessible @state to its default value.
657+func (x *MessageDialog) ResetState(StateVar gtk.AccessibleState) {
658+
659+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
660+
661+}
662+
663+// Updates a list of accessible properties.
664+//
665+// See the [enum@Gtk.AccessibleProperty] documentation for the
666+// value types of accessible properties.
667+//
668+// This function should be called by `GtkWidget` types whenever
669+// an accessible property change must be communicated to assistive
670+// technologies.
671+//
672+// Example:
673+// ```c
674+// value = gtk_adjustment_get_value (adjustment);
675+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
676+//
677+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
678+// -1);
679+//
680+// ```
681+func (x *MessageDialog) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
682+
683+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
684+
685+}
686+
687+// Updates an array of accessible properties.
688+//
689+// This function should be called by `GtkWidget` types whenever an accessible
690+// property change must be communicated to assistive technologies.
691+//
692+// This function is meant to be used by language bindings.
693+func (x *MessageDialog) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
694+
695+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
696+
697+}
698+
699+// Updates a list of accessible relations.
700+//
701+// This function should be called by `GtkWidget` types whenever an accessible
702+// relation change must be communicated to assistive technologies.
703+//
704+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
705+// you should pass each reference individually, followed by %NULL, e.g.
706+//
707+// ```c
708+// gtk_accessible_update_relation (accessible,
709+//
710+// GTK_ACCESSIBLE_RELATION_CONTROLS,
711+// ref1, NULL,
712+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
713+// ref1, ref2, ref3, NULL,
714+// -1);
715+//
716+// ```
717+func (x *MessageDialog) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
718+
719+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
720+
721+}
722+
723+// Updates an array of accessible relations.
724+//
725+// This function should be called by `GtkWidget` types whenever an accessible
726+// relation change must be communicated to assistive technologies.
727+//
728+// This function is meant to be used by language bindings.
729+func (x *MessageDialog) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
730+
731+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
732+
733+}
734+
735+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
736+// documentation for the value types of accessible states.
737+//
738+// This function should be called by `GtkWidget` types whenever an accessible
739+// state change must be communicated to assistive technologies.
740+//
741+// Example:
742+// ```c
743+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
744+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
745+//
746+// GTK_ACCESSIBLE_STATE_CHECKED, value,
747+// -1);
748+//
749+// ```
750+func (x *MessageDialog) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
751+
752+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
753+
754+}
755+
756+// Updates an array of accessible states.
757+//
758+// This function should be called by `GtkWidget` types whenever an accessible
759+// state change must be communicated to assistive technologies.
760+//
761+// This function is meant to be used by language bindings.
762+func (x *MessageDialog) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
763+
764+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
765+
766+}
767+
768+// Gets the ID of the @buildable object.
769+//
770+// `GtkBuilder` sets the name based on the ID attribute
771+// of the &lt;object&gt; tag used to construct the @buildable.
772+func (x *MessageDialog) GetBuildableId() string {
773+
774+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
775+
776+}
777+
778+// Returns the renderer that is used for this `GtkNative`.
779+func (x *MessageDialog) GetRenderer() *gsk.Renderer {
780+
781+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
782+ if GetRendererPtr == 0 {
783+ return nil
784+ }
785+
786+ gobject.IncreaseRef(GetRendererPtr)
787+
788+ GetRendererCls := &gsk.Renderer{}
789+ GetRendererCls.Ptr = GetRendererPtr
790+ return GetRendererCls
791+
792+}
793+
794+// Returns the surface of this `GtkNative`.
795+func (x *MessageDialog) GetSurface() *gdk.Surface {
796+
797+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
798+ if GetSurfacePtr == 0 {
799+ return nil
800+ }
801+
802+ gobject.IncreaseRef(GetSurfacePtr)
803+
804+ GetSurfaceCls := &gdk.Surface{}
805+ GetSurfaceCls.Ptr = GetSurfacePtr
806+ return GetSurfaceCls
807+
808+}
809+
810+// Retrieves the surface transform of @self.
811+//
812+// This is the translation from @self's surface coordinates into
813+// @self's widget coordinates.
814+func (x *MessageDialog) GetSurfaceTransform(XVar float64, YVar float64) {
815+
816+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
817+
818+}
819+
820+// Realizes a `GtkNative`.
821+//
822+// This should only be used by subclasses.
823+func (x *MessageDialog) Realize() {
824+
825+ gtk.XGtkNativeRealize(x.GoPointer())
826+
827+}
828+
829+// Unrealizes a `GtkNative`.
830+//
831+// This should only be used by subclasses.
832+func (x *MessageDialog) Unrealize() {
833+
834+ gtk.XGtkNativeUnrealize(x.GoPointer())
835+
836+}
837+
838+// Returns the display that this `GtkRoot` is on.
839+func (x *MessageDialog) GetDisplay() *gdk.Display {
840+
841+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
842+ if GetDisplayPtr == 0 {
843+ return nil
844+ }
845+
846+ gobject.IncreaseRef(GetDisplayPtr)
847+
848+ GetDisplayCls := &gdk.Display{}
849+ GetDisplayCls.Ptr = GetDisplayPtr
850+ return GetDisplayCls
851+
852+}
853+
854+// Retrieves the current focused widget within the root.
855+//
856+// Note that this is the widget that would have the focus
857+// if the root is active; if the root is not focused then
858+// `gtk_widget_has_focus (widget)` will be %FALSE for the
859+// widget.
860+func (x *MessageDialog) GetFocus() *gtk.Widget {
861+
862+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
863+ if GetFocusPtr == 0 {
864+ return nil
865+ }
866+
867+ gobject.IncreaseRef(GetFocusPtr)
868+
869+ GetFocusCls := &gtk.Widget{}
870+ GetFocusCls.Ptr = GetFocusPtr
871+ return GetFocusCls
872+
873+}
874+
875+// If @focus is not the current focus widget, and is focusable, sets
876+// it as the focus widget for the root.
877+//
878+// If @focus is %NULL, unsets the focus widget for the root.
879+//
880+// To set the focus to a particular widget in the root, it is usually
881+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
882+// this function.
883+func (x *MessageDialog) SetFocus(FocusVar *gtk.Widget) {
884+
885+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
886+
887+}
888+
889+func init() {
890+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
891+ if err != nil {
892+ panic(err)
893+ }
894+
895+ core.PuregoSafeRegister(&xNewMessageDialog, lib, "adw_message_dialog_new")
896+
897+ core.PuregoSafeRegister(&xMessageDialogAddResponse, lib, "adw_message_dialog_add_response")
898+ core.PuregoSafeRegister(&xMessageDialogAddResponses, lib, "adw_message_dialog_add_responses")
899+ core.PuregoSafeRegister(&xMessageDialogChoose, lib, "adw_message_dialog_choose")
900+ core.PuregoSafeRegister(&xMessageDialogChooseFinish, lib, "adw_message_dialog_choose_finish")
901+ core.PuregoSafeRegister(&xMessageDialogFormatBody, lib, "adw_message_dialog_format_body")
902+ core.PuregoSafeRegister(&xMessageDialogFormatBodyMarkup, lib, "adw_message_dialog_format_body_markup")
903+ core.PuregoSafeRegister(&xMessageDialogFormatHeading, lib, "adw_message_dialog_format_heading")
904+ core.PuregoSafeRegister(&xMessageDialogFormatHeadingMarkup, lib, "adw_message_dialog_format_heading_markup")
905+ core.PuregoSafeRegister(&xMessageDialogGetBody, lib, "adw_message_dialog_get_body")
906+ core.PuregoSafeRegister(&xMessageDialogGetBodyUseMarkup, lib, "adw_message_dialog_get_body_use_markup")
907+ core.PuregoSafeRegister(&xMessageDialogGetCloseResponse, lib, "adw_message_dialog_get_close_response")
908+ core.PuregoSafeRegister(&xMessageDialogGetDefaultResponse, lib, "adw_message_dialog_get_default_response")
909+ core.PuregoSafeRegister(&xMessageDialogGetExtraChild, lib, "adw_message_dialog_get_extra_child")
910+ core.PuregoSafeRegister(&xMessageDialogGetHeading, lib, "adw_message_dialog_get_heading")
911+ core.PuregoSafeRegister(&xMessageDialogGetHeadingUseMarkup, lib, "adw_message_dialog_get_heading_use_markup")
912+ core.PuregoSafeRegister(&xMessageDialogGetResponseAppearance, lib, "adw_message_dialog_get_response_appearance")
913+ core.PuregoSafeRegister(&xMessageDialogGetResponseEnabled, lib, "adw_message_dialog_get_response_enabled")
914+ core.PuregoSafeRegister(&xMessageDialogGetResponseLabel, lib, "adw_message_dialog_get_response_label")
915+ core.PuregoSafeRegister(&xMessageDialogHasResponse, lib, "adw_message_dialog_has_response")
916+ core.PuregoSafeRegister(&xMessageDialogResponse, lib, "adw_message_dialog_response")
917+ core.PuregoSafeRegister(&xMessageDialogSetBody, lib, "adw_message_dialog_set_body")
918+ core.PuregoSafeRegister(&xMessageDialogSetBodyUseMarkup, lib, "adw_message_dialog_set_body_use_markup")
919+ core.PuregoSafeRegister(&xMessageDialogSetCloseResponse, lib, "adw_message_dialog_set_close_response")
920+ core.PuregoSafeRegister(&xMessageDialogSetDefaultResponse, lib, "adw_message_dialog_set_default_response")
921+ core.PuregoSafeRegister(&xMessageDialogSetExtraChild, lib, "adw_message_dialog_set_extra_child")
922+ core.PuregoSafeRegister(&xMessageDialogSetHeading, lib, "adw_message_dialog_set_heading")
923+ core.PuregoSafeRegister(&xMessageDialogSetHeadingUseMarkup, lib, "adw_message_dialog_set_heading_use_markup")
924+ core.PuregoSafeRegister(&xMessageDialogSetResponseAppearance, lib, "adw_message_dialog_set_response_appearance")
925+ core.PuregoSafeRegister(&xMessageDialogSetResponseEnabled, lib, "adw_message_dialog_set_response_enabled")
926+ core.PuregoSafeRegister(&xMessageDialogSetResponseLabel, lib, "adw_message_dialog_set_response_label")
927+
928+}
A v4/adw/adw-navigation-direction.go +13 -0
@@ -0,0 +1,13 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+// Describes the direction of a swipe navigation gesture.
5+type NavigationDirection int
6+
7+const (
8+
9+ // Corresponds to start or top, depending on orientation and text direction
10+ NavigationDirectionBackValue NavigationDirection = 0
11+ // Corresponds to end or bottom, depending on orientation and text direction
12+ NavigationDirectionForwardValue NavigationDirection = 1
13+)
A v4/adw/adw-password-entry-row.go +548 -0
@@ -0,0 +1,548 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type PasswordEntryRowClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A [class@EntryRow] tailored for entering secrets.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="password-entry-row-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="password-entry-row.png" alt="password-entry-row"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// It does not show its contents in clear text, does not allow to copy it to the
26+// clipboard, and shows a warning when Caps Lock is engaged. If the underlying
27+// platform allows it, `AdwPasswordEntryRow` will also place the text in a
28+// non-pageable memory area, to avoid it being written out to disk by the
29+// operating system.
30+//
31+// It offer a way to reveal the contents in clear text.
32+//
33+// ## CSS Nodes
34+//
35+// `AdwPasswordEntryRow` has a single CSS node with name `row` that carries
36+// `.entry` and `.password` style classes.
37+type PasswordEntryRow struct {
38+ EntryRow
39+}
40+
41+func PasswordEntryRowNewFromInternalPtr(ptr uintptr) *PasswordEntryRow {
42+ cls := &PasswordEntryRow{}
43+ cls.Ptr = ptr
44+ return cls
45+}
46+
47+var xNewPasswordEntryRow func() uintptr
48+
49+// Creates a new `AdwPasswordEntryRow`.
50+func NewPasswordEntryRow() *gtk.Widget {
51+ NewPasswordEntryRowPtr := xNewPasswordEntryRow()
52+ if NewPasswordEntryRowPtr == 0 {
53+ return nil
54+ }
55+
56+ gobject.IncreaseRef(NewPasswordEntryRowPtr)
57+
58+ NewPasswordEntryRowCls := &gtk.Widget{}
59+ NewPasswordEntryRowCls.Ptr = NewPasswordEntryRowPtr
60+ return NewPasswordEntryRowCls
61+}
62+
63+func (c *PasswordEntryRow) GoPointer() uintptr {
64+ return c.Ptr
65+}
66+
67+func (c *PasswordEntryRow) SetGoPointer(ptr uintptr) {
68+ c.Ptr = ptr
69+}
70+
71+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
72+func (x *PasswordEntryRow) GetAccessibleRole() gtk.AccessibleRole {
73+
74+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
75+
76+}
77+
78+// Resets the accessible @property to its default value.
79+func (x *PasswordEntryRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
80+
81+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
82+
83+}
84+
85+// Resets the accessible @relation to its default value.
86+func (x *PasswordEntryRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
87+
88+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
89+
90+}
91+
92+// Resets the accessible @state to its default value.
93+func (x *PasswordEntryRow) ResetState(StateVar gtk.AccessibleState) {
94+
95+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
96+
97+}
98+
99+// Updates a list of accessible properties.
100+//
101+// See the [enum@Gtk.AccessibleProperty] documentation for the
102+// value types of accessible properties.
103+//
104+// This function should be called by `GtkWidget` types whenever
105+// an accessible property change must be communicated to assistive
106+// technologies.
107+//
108+// Example:
109+// ```c
110+// value = gtk_adjustment_get_value (adjustment);
111+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
112+//
113+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
114+// -1);
115+//
116+// ```
117+func (x *PasswordEntryRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
118+
119+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
120+
121+}
122+
123+// Updates an array of accessible properties.
124+//
125+// This function should be called by `GtkWidget` types whenever an accessible
126+// property change must be communicated to assistive technologies.
127+//
128+// This function is meant to be used by language bindings.
129+func (x *PasswordEntryRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
130+
131+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
132+
133+}
134+
135+// Updates a list of accessible relations.
136+//
137+// This function should be called by `GtkWidget` types whenever an accessible
138+// relation change must be communicated to assistive technologies.
139+//
140+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
141+// you should pass each reference individually, followed by %NULL, e.g.
142+//
143+// ```c
144+// gtk_accessible_update_relation (accessible,
145+//
146+// GTK_ACCESSIBLE_RELATION_CONTROLS,
147+// ref1, NULL,
148+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
149+// ref1, ref2, ref3, NULL,
150+// -1);
151+//
152+// ```
153+func (x *PasswordEntryRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
154+
155+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
156+
157+}
158+
159+// Updates an array of accessible relations.
160+//
161+// This function should be called by `GtkWidget` types whenever an accessible
162+// relation change must be communicated to assistive technologies.
163+//
164+// This function is meant to be used by language bindings.
165+func (x *PasswordEntryRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
166+
167+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
168+
169+}
170+
171+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
172+// documentation for the value types of accessible states.
173+//
174+// This function should be called by `GtkWidget` types whenever an accessible
175+// state change must be communicated to assistive technologies.
176+//
177+// Example:
178+// ```c
179+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
180+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
181+//
182+// GTK_ACCESSIBLE_STATE_CHECKED, value,
183+// -1);
184+//
185+// ```
186+func (x *PasswordEntryRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
187+
188+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
189+
190+}
191+
192+// Updates an array of accessible states.
193+//
194+// This function should be called by `GtkWidget` types whenever an accessible
195+// state change must be communicated to assistive technologies.
196+//
197+// This function is meant to be used by language bindings.
198+func (x *PasswordEntryRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
199+
200+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
201+
202+}
203+
204+// Gets the action name for @actionable.
205+func (x *PasswordEntryRow) GetActionName() string {
206+
207+ return gtk.XGtkActionableGetActionName(x.GoPointer())
208+
209+}
210+
211+// Gets the current target value of @actionable.
212+func (x *PasswordEntryRow) GetActionTargetValue() *glib.Variant {
213+
214+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
215+
216+}
217+
218+// Specifies the name of the action with which this widget should be
219+// associated.
220+//
221+// If @action_name is %NULL then the widget will be unassociated from
222+// any previous action.
223+//
224+// Usually this function is used when the widget is located (or will be
225+// located) within the hierarchy of a `GtkApplicationWindow`.
226+//
227+// Names are of the form “win.save” or “app.quit” for actions on the
228+// containing [class@ApplicationWindow] or its associated [class@Application],
229+// respectively. This is the same form used for actions in the [class@Gio.Menu]
230+// associated with the window.
231+func (x *PasswordEntryRow) SetActionName(ActionNameVar string) {
232+
233+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
234+
235+}
236+
237+// Sets the target of an actionable widget.
238+//
239+// This is a convenience function that calls [ctor@GLib.Variant.new] for
240+// @format_string and uses the result to call
241+// [method@Gtk.Actionable.set_action_target_value].
242+//
243+// If you are setting a string-valued target and want to set
244+// the action name at the same time, you can use
245+// [method@Gtk.Actionable.set_detailed_action_name].
246+func (x *PasswordEntryRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
247+
248+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
249+
250+}
251+
252+// Sets the target value of an actionable widget.
253+//
254+// If @target_value is %NULL then the target value is unset.
255+//
256+// The target value has two purposes. First, it is used as the parameter
257+// to activation of the action associated with the `GtkActionable` widget.
258+// Second, it is used to determine if the widget should be rendered as
259+// “active” — the widget is active if the state is equal to the given target.
260+//
261+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
262+// with string state in a typical “radio button” situation. Each button
263+// will be associated with the same action, but with a different target
264+// value for that action. Clicking on a particular button will activate
265+// the action with the target of that button, which will typically cause
266+// the action’s state to change to that value. Since the action’s state
267+// is now equal to the target value of the button, the button will now
268+// be rendered as active (and the other buttons, with different targets,
269+// rendered inactive).
270+func (x *PasswordEntryRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
271+
272+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
273+
274+}
275+
276+// Sets the action-name and associated string target value of an
277+// actionable widget.
278+//
279+// @detailed_action_name is a string in the format accepted by
280+// [func@Gio.Action.parse_detailed_name].
281+func (x *PasswordEntryRow) SetDetailedActionName(DetailedActionNameVar string) {
282+
283+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
284+
285+}
286+
287+// Gets the ID of the @buildable object.
288+//
289+// `GtkBuilder` sets the name based on the ID attribute
290+// of the &lt;object&gt; tag used to construct the @buildable.
291+func (x *PasswordEntryRow) GetBuildableId() string {
292+
293+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
294+
295+}
296+
297+// Deletes the currently selected text of the editable.
298+//
299+// This call doesn’t do anything if there is no selected text.
300+func (x *PasswordEntryRow) DeleteSelection() {
301+
302+ gtk.XGtkEditableDeleteSelection(x.GoPointer())
303+
304+}
305+
306+// Deletes a sequence of characters.
307+//
308+// The characters that are deleted are those characters at positions
309+// from @start_pos up to, but not including @end_pos. If @end_pos is
310+// negative, then the characters deleted are those from @start_pos to
311+// the end of the text.
312+//
313+// Note that the positions are specified in characters, not bytes.
314+func (x *PasswordEntryRow) DeleteText(StartPosVar int32, EndPosVar int32) {
315+
316+ gtk.XGtkEditableDeleteText(x.GoPointer(), StartPosVar, EndPosVar)
317+
318+}
319+
320+// Undoes the setup done by [method@Gtk.Editable.init_delegate].
321+//
322+// This is a helper function that should be called from dispose,
323+// before removing the delegate object.
324+func (x *PasswordEntryRow) FinishDelegate() {
325+
326+ gtk.XGtkEditableFinishDelegate(x.GoPointer())
327+
328+}
329+
330+// Gets the alignment of the editable.
331+func (x *PasswordEntryRow) GetAlignment() float32 {
332+
333+ return gtk.XGtkEditableGetAlignment(x.GoPointer())
334+
335+}
336+
337+// Retrieves a sequence of characters.
338+//
339+// The characters that are retrieved are those characters at positions
340+// from @start_pos up to, but not including @end_pos. If @end_pos is negative,
341+// then the characters retrieved are those characters from @start_pos to
342+// the end of the text.
343+//
344+// Note that positions are specified in characters, not bytes.
345+func (x *PasswordEntryRow) GetChars(StartPosVar int32, EndPosVar int32) string {
346+
347+ return gtk.XGtkEditableGetChars(x.GoPointer(), StartPosVar, EndPosVar)
348+
349+}
350+
351+// Gets the `GtkEditable` that @editable is delegating its
352+// implementation to.
353+//
354+// Typically, the delegate is a [class@Gtk.Text] widget.
355+func (x *PasswordEntryRow) GetDelegate() *gtk.EditableBase {
356+
357+ GetDelegatePtr := gtk.XGtkEditableGetDelegate(x.GoPointer())
358+ if GetDelegatePtr == 0 {
359+ return nil
360+ }
361+
362+ gobject.IncreaseRef(GetDelegatePtr)
363+
364+ GetDelegateCls := &gtk.EditableBase{}
365+ GetDelegateCls.Ptr = GetDelegatePtr
366+ return GetDelegateCls
367+
368+}
369+
370+// Retrieves whether @editable is editable.
371+func (x *PasswordEntryRow) GetEditable() bool {
372+
373+ return gtk.XGtkEditableGetEditable(x.GoPointer())
374+
375+}
376+
377+// Gets if undo/redo actions are enabled for @editable
378+func (x *PasswordEntryRow) GetEnableUndo() bool {
379+
380+ return gtk.XGtkEditableGetEnableUndo(x.GoPointer())
381+
382+}
383+
384+// Retrieves the desired maximum width of @editable, in characters.
385+func (x *PasswordEntryRow) GetMaxWidthChars() int32 {
386+
387+ return gtk.XGtkEditableGetMaxWidthChars(x.GoPointer())
388+
389+}
390+
391+// Retrieves the current position of the cursor relative
392+// to the start of the content of the editable.
393+//
394+// Note that this position is in characters, not in bytes.
395+func (x *PasswordEntryRow) GetPosition() int32 {
396+
397+ return gtk.XGtkEditableGetPosition(x.GoPointer())
398+
399+}
400+
401+// Retrieves the selection bound of the editable.
402+//
403+// @start_pos will be filled with the start of the selection and
404+// @end_pos with end. If no text was selected both will be identical
405+// and %FALSE will be returned.
406+//
407+// Note that positions are specified in characters, not bytes.
408+func (x *PasswordEntryRow) GetSelectionBounds(StartPosVar int32, EndPosVar int32) bool {
409+
410+ return gtk.XGtkEditableGetSelectionBounds(x.GoPointer(), StartPosVar, EndPosVar)
411+
412+}
413+
414+// Retrieves the contents of @editable.
415+//
416+// The returned string is owned by GTK and must not be modified or freed.
417+func (x *PasswordEntryRow) GetText() string {
418+
419+ return gtk.XGtkEditableGetText(x.GoPointer())
420+
421+}
422+
423+// Gets the number of characters of space reserved
424+// for the contents of the editable.
425+func (x *PasswordEntryRow) GetWidthChars() int32 {
426+
427+ return gtk.XGtkEditableGetWidthChars(x.GoPointer())
428+
429+}
430+
431+// Sets up a delegate for `GtkEditable`.
432+//
433+// This is assuming that the get_delegate vfunc in the `GtkEditable`
434+// interface has been set up for the @editable's type.
435+//
436+// This is a helper function that should be called in instance init,
437+// after creating the delegate object.
438+func (x *PasswordEntryRow) InitDelegate() {
439+
440+ gtk.XGtkEditableInitDelegate(x.GoPointer())
441+
442+}
443+
444+// Inserts @length bytes of @text into the contents of the
445+// widget, at position @position.
446+//
447+// Note that the position is in characters, not in bytes.
448+// The function updates @position to point after the newly
449+// inserted text.
450+func (x *PasswordEntryRow) InsertText(TextVar string, LengthVar int32, PositionVar int32) {
451+
452+ gtk.XGtkEditableInsertText(x.GoPointer(), TextVar, LengthVar, PositionVar)
453+
454+}
455+
456+// Selects a region of text.
457+//
458+// The characters that are selected are those characters at positions
459+// from @start_pos up to, but not including @end_pos. If @end_pos is
460+// negative, then the characters selected are those characters from
461+// @start_pos to the end of the text.
462+//
463+// Note that positions are specified in characters, not bytes.
464+func (x *PasswordEntryRow) SelectRegion(StartPosVar int32, EndPosVar int32) {
465+
466+ gtk.XGtkEditableSelectRegion(x.GoPointer(), StartPosVar, EndPosVar)
467+
468+}
469+
470+// Sets the alignment for the contents of the editable.
471+//
472+// This controls the horizontal positioning of the contents when
473+// the displayed text is shorter than the width of the editable.
474+func (x *PasswordEntryRow) SetAlignment(XalignVar float32) {
475+
476+ gtk.XGtkEditableSetAlignment(x.GoPointer(), XalignVar)
477+
478+}
479+
480+// Determines if the user can edit the text in the editable widget.
481+func (x *PasswordEntryRow) SetEditable(IsEditableVar bool) {
482+
483+ gtk.XGtkEditableSetEditable(x.GoPointer(), IsEditableVar)
484+
485+}
486+
487+// If enabled, changes to @editable will be saved for undo/redo
488+// actions.
489+//
490+// This results in an additional copy of text changes and are not
491+// stored in secure memory. As such, undo is forcefully disabled
492+// when [property@Gtk.Text:visibility] is set to %FALSE.
493+func (x *PasswordEntryRow) SetEnableUndo(EnableUndoVar bool) {
494+
495+ gtk.XGtkEditableSetEnableUndo(x.GoPointer(), EnableUndoVar)
496+
497+}
498+
499+// Sets the desired maximum width in characters of @editable.
500+func (x *PasswordEntryRow) SetMaxWidthChars(NCharsVar int32) {
501+
502+ gtk.XGtkEditableSetMaxWidthChars(x.GoPointer(), NCharsVar)
503+
504+}
505+
506+// Sets the cursor position in the editable to the given value.
507+//
508+// The cursor is displayed before the character with the given (base 0)
509+// index in the contents of the editable. The value must be less than
510+// or equal to the number of characters in the editable. A value of -1
511+// indicates that the position should be set after the last character
512+// of the editable. Note that @position is in characters, not in bytes.
513+func (x *PasswordEntryRow) SetPosition(PositionVar int32) {
514+
515+ gtk.XGtkEditableSetPosition(x.GoPointer(), PositionVar)
516+
517+}
518+
519+// Sets the text in the editable to the given value.
520+//
521+// This is replacing the current contents.
522+func (x *PasswordEntryRow) SetText(TextVar string) {
523+
524+ gtk.XGtkEditableSetText(x.GoPointer(), TextVar)
525+
526+}
527+
528+// Changes the size request of the editable to be about the
529+// right size for @n_chars characters.
530+//
531+// Note that it changes the size request, the size can still
532+// be affected by how you pack the widget into containers.
533+// If @n_chars is -1, the size reverts to the default size.
534+func (x *PasswordEntryRow) SetWidthChars(NCharsVar int32) {
535+
536+ gtk.XGtkEditableSetWidthChars(x.GoPointer(), NCharsVar)
537+
538+}
539+
540+func init() {
541+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
542+ if err != nil {
543+ panic(err)
544+ }
545+
546+ core.PuregoSafeRegister(&xNewPasswordEntryRow, lib, "adw_password_entry_row_new")
547+
548+}
A v4/adw/adw-preferences-group.go +329 -0
@@ -0,0 +1,329 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type PreferencesGroupClass struct {
12+ ParentClass uintptr
13+
14+ Padding uintptr
15+}
16+
17+// A group of preference rows.
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="preferences-group-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="preferences-group.png" alt="preferences-group"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// An `AdwPreferencesGroup` represents a group or tightly related preferences,
27+// which in turn are represented by [class@PreferencesRow].
28+//
29+// To summarize the role of the preferences it gathers, a group can have both a
30+// title and a description. The title will be used by [class@PreferencesWindow]
31+// to let the user look for a preference.
32+//
33+// ## AdwPreferencesGroup as GtkBuildable
34+//
35+// The `AdwPreferencesGroup` implementation of the [iface@Gtk.Buildable] interface
36+// supports adding [class@PreferencesRow]s to the list by omitting "type". If "type"
37+// is omitted and the widget isn't a [class@PreferencesRow] the child is added to
38+// a box below the list.
39+//
40+// When the "type" attribute of a child is `header-suffix`, the child
41+// is set as the suffix on the end of the title and description.
42+//
43+// ## CSS nodes
44+//
45+// `AdwPreferencesGroup` has a single CSS node with name `preferencesgroup`.
46+//
47+// ## Accessibility
48+//
49+// `AdwPreferencesGroup` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
50+type PreferencesGroup struct {
51+ gtk.Widget
52+}
53+
54+func PreferencesGroupNewFromInternalPtr(ptr uintptr) *PreferencesGroup {
55+ cls := &PreferencesGroup{}
56+ cls.Ptr = ptr
57+ return cls
58+}
59+
60+var xNewPreferencesGroup func() uintptr
61+
62+// Creates a new `AdwPreferencesGroup`.
63+func NewPreferencesGroup() *gtk.Widget {
64+ NewPreferencesGroupPtr := xNewPreferencesGroup()
65+ if NewPreferencesGroupPtr == 0 {
66+ return nil
67+ }
68+
69+ gobject.IncreaseRef(NewPreferencesGroupPtr)
70+
71+ NewPreferencesGroupCls := &gtk.Widget{}
72+ NewPreferencesGroupCls.Ptr = NewPreferencesGroupPtr
73+ return NewPreferencesGroupCls
74+}
75+
76+var xPreferencesGroupAdd func(uintptr, uintptr)
77+
78+// Adds a child to @self.
79+func (x *PreferencesGroup) Add(ChildVar *gtk.Widget) {
80+
81+ xPreferencesGroupAdd(x.GoPointer(), ChildVar.GoPointer())
82+
83+}
84+
85+var xPreferencesGroupGetDescription func(uintptr) string
86+
87+// Gets the description of @self.
88+func (x *PreferencesGroup) GetDescription() string {
89+
90+ return xPreferencesGroupGetDescription(x.GoPointer())
91+
92+}
93+
94+var xPreferencesGroupGetHeaderSuffix func(uintptr) uintptr
95+
96+// Gets the suffix for @self's header.
97+func (x *PreferencesGroup) GetHeaderSuffix() *gtk.Widget {
98+
99+ GetHeaderSuffixPtr := xPreferencesGroupGetHeaderSuffix(x.GoPointer())
100+ if GetHeaderSuffixPtr == 0 {
101+ return nil
102+ }
103+
104+ gobject.IncreaseRef(GetHeaderSuffixPtr)
105+
106+ GetHeaderSuffixCls := &gtk.Widget{}
107+ GetHeaderSuffixCls.Ptr = GetHeaderSuffixPtr
108+ return GetHeaderSuffixCls
109+
110+}
111+
112+var xPreferencesGroupGetTitle func(uintptr) string
113+
114+// Gets the title of @self.
115+func (x *PreferencesGroup) GetTitle() string {
116+
117+ return xPreferencesGroupGetTitle(x.GoPointer())
118+
119+}
120+
121+var xPreferencesGroupRemove func(uintptr, uintptr)
122+
123+// Removes a child from @self.
124+func (x *PreferencesGroup) Remove(ChildVar *gtk.Widget) {
125+
126+ xPreferencesGroupRemove(x.GoPointer(), ChildVar.GoPointer())
127+
128+}
129+
130+var xPreferencesGroupSetDescription func(uintptr, string)
131+
132+// Sets the description for @self.
133+func (x *PreferencesGroup) SetDescription(DescriptionVar string) {
134+
135+ xPreferencesGroupSetDescription(x.GoPointer(), DescriptionVar)
136+
137+}
138+
139+var xPreferencesGroupSetHeaderSuffix func(uintptr, uintptr)
140+
141+// Sets the suffix for @self's header.
142+//
143+// Displayed above the list, next to the title and description.
144+//
145+// Suffixes are commonly used to show a button or a spinner for the whole group.
146+func (x *PreferencesGroup) SetHeaderSuffix(SuffixVar *gtk.Widget) {
147+
148+ xPreferencesGroupSetHeaderSuffix(x.GoPointer(), SuffixVar.GoPointer())
149+
150+}
151+
152+var xPreferencesGroupSetTitle func(uintptr, string)
153+
154+// Sets the title for @self.
155+func (x *PreferencesGroup) SetTitle(TitleVar string) {
156+
157+ xPreferencesGroupSetTitle(x.GoPointer(), TitleVar)
158+
159+}
160+
161+func (c *PreferencesGroup) GoPointer() uintptr {
162+ return c.Ptr
163+}
164+
165+func (c *PreferencesGroup) SetGoPointer(ptr uintptr) {
166+ c.Ptr = ptr
167+}
168+
169+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
170+func (x *PreferencesGroup) GetAccessibleRole() gtk.AccessibleRole {
171+
172+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
173+
174+}
175+
176+// Resets the accessible @property to its default value.
177+func (x *PreferencesGroup) ResetProperty(PropertyVar gtk.AccessibleProperty) {
178+
179+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
180+
181+}
182+
183+// Resets the accessible @relation to its default value.
184+func (x *PreferencesGroup) ResetRelation(RelationVar gtk.AccessibleRelation) {
185+
186+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
187+
188+}
189+
190+// Resets the accessible @state to its default value.
191+func (x *PreferencesGroup) ResetState(StateVar gtk.AccessibleState) {
192+
193+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
194+
195+}
196+
197+// Updates a list of accessible properties.
198+//
199+// See the [enum@Gtk.AccessibleProperty] documentation for the
200+// value types of accessible properties.
201+//
202+// This function should be called by `GtkWidget` types whenever
203+// an accessible property change must be communicated to assistive
204+// technologies.
205+//
206+// Example:
207+// ```c
208+// value = gtk_adjustment_get_value (adjustment);
209+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
210+//
211+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
212+// -1);
213+//
214+// ```
215+func (x *PreferencesGroup) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
216+
217+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
218+
219+}
220+
221+// Updates an array of accessible properties.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// property change must be communicated to assistive technologies.
225+//
226+// This function is meant to be used by language bindings.
227+func (x *PreferencesGroup) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
228+
229+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
230+
231+}
232+
233+// Updates a list of accessible relations.
234+//
235+// This function should be called by `GtkWidget` types whenever an accessible
236+// relation change must be communicated to assistive technologies.
237+//
238+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
239+// you should pass each reference individually, followed by %NULL, e.g.
240+//
241+// ```c
242+// gtk_accessible_update_relation (accessible,
243+//
244+// GTK_ACCESSIBLE_RELATION_CONTROLS,
245+// ref1, NULL,
246+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
247+// ref1, ref2, ref3, NULL,
248+// -1);
249+//
250+// ```
251+func (x *PreferencesGroup) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
252+
253+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
254+
255+}
256+
257+// Updates an array of accessible relations.
258+//
259+// This function should be called by `GtkWidget` types whenever an accessible
260+// relation change must be communicated to assistive technologies.
261+//
262+// This function is meant to be used by language bindings.
263+func (x *PreferencesGroup) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
264+
265+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
266+
267+}
268+
269+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
270+// documentation for the value types of accessible states.
271+//
272+// This function should be called by `GtkWidget` types whenever an accessible
273+// state change must be communicated to assistive technologies.
274+//
275+// Example:
276+// ```c
277+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
278+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
279+//
280+// GTK_ACCESSIBLE_STATE_CHECKED, value,
281+// -1);
282+//
283+// ```
284+func (x *PreferencesGroup) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
285+
286+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
287+
288+}
289+
290+// Updates an array of accessible states.
291+//
292+// This function should be called by `GtkWidget` types whenever an accessible
293+// state change must be communicated to assistive technologies.
294+//
295+// This function is meant to be used by language bindings.
296+func (x *PreferencesGroup) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
297+
298+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
299+
300+}
301+
302+// Gets the ID of the @buildable object.
303+//
304+// `GtkBuilder` sets the name based on the ID attribute
305+// of the &lt;object&gt; tag used to construct the @buildable.
306+func (x *PreferencesGroup) GetBuildableId() string {
307+
308+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
309+
310+}
311+
312+func init() {
313+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
314+ if err != nil {
315+ panic(err)
316+ }
317+
318+ core.PuregoSafeRegister(&xNewPreferencesGroup, lib, "adw_preferences_group_new")
319+
320+ core.PuregoSafeRegister(&xPreferencesGroupAdd, lib, "adw_preferences_group_add")
321+ core.PuregoSafeRegister(&xPreferencesGroupGetDescription, lib, "adw_preferences_group_get_description")
322+ core.PuregoSafeRegister(&xPreferencesGroupGetHeaderSuffix, lib, "adw_preferences_group_get_header_suffix")
323+ core.PuregoSafeRegister(&xPreferencesGroupGetTitle, lib, "adw_preferences_group_get_title")
324+ core.PuregoSafeRegister(&xPreferencesGroupRemove, lib, "adw_preferences_group_remove")
325+ core.PuregoSafeRegister(&xPreferencesGroupSetDescription, lib, "adw_preferences_group_set_description")
326+ core.PuregoSafeRegister(&xPreferencesGroupSetHeaderSuffix, lib, "adw_preferences_group_set_header_suffix")
327+ core.PuregoSafeRegister(&xPreferencesGroupSetTitle, lib, "adw_preferences_group_set_title")
328+
329+}
A v4/adw/adw-preferences-page.go +332 -0
@@ -0,0 +1,332 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type PreferencesPageClass struct {
12+ ParentClass uintptr
13+
14+ Padding uintptr
15+}
16+
17+// A page from [class@PreferencesWindow].
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="preferences-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="preferences-page.png" alt="preferences-page"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// The `AdwPreferencesPage` widget gathers preferences groups into a single page
27+// of a preferences window.
28+//
29+// ## CSS nodes
30+//
31+// `AdwPreferencesPage` has a single CSS node with name `preferencespage`.
32+//
33+// ## Accessibility
34+//
35+// `AdwPreferencesPage` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
36+type PreferencesPage struct {
37+ gtk.Widget
38+}
39+
40+func PreferencesPageNewFromInternalPtr(ptr uintptr) *PreferencesPage {
41+ cls := &PreferencesPage{}
42+ cls.Ptr = ptr
43+ return cls
44+}
45+
46+var xNewPreferencesPage func() uintptr
47+
48+// Creates a new `AdwPreferencesPage`.
49+func NewPreferencesPage() *gtk.Widget {
50+ NewPreferencesPagePtr := xNewPreferencesPage()
51+ if NewPreferencesPagePtr == 0 {
52+ return nil
53+ }
54+
55+ gobject.IncreaseRef(NewPreferencesPagePtr)
56+
57+ NewPreferencesPageCls := &gtk.Widget{}
58+ NewPreferencesPageCls.Ptr = NewPreferencesPagePtr
59+ return NewPreferencesPageCls
60+}
61+
62+var xPreferencesPageAdd func(uintptr, uintptr)
63+
64+// Adds a preferences group to @self.
65+func (x *PreferencesPage) Add(GroupVar *PreferencesGroup) {
66+
67+ xPreferencesPageAdd(x.GoPointer(), GroupVar.GoPointer())
68+
69+}
70+
71+var xPreferencesPageGetIconName func(uintptr) string
72+
73+// Gets the icon name for @self.
74+func (x *PreferencesPage) GetIconName() string {
75+
76+ return xPreferencesPageGetIconName(x.GoPointer())
77+
78+}
79+
80+var xPreferencesPageGetName func(uintptr) string
81+
82+// Gets the name of @self.
83+func (x *PreferencesPage) GetName() string {
84+
85+ return xPreferencesPageGetName(x.GoPointer())
86+
87+}
88+
89+var xPreferencesPageGetTitle func(uintptr) string
90+
91+// Gets the title of @self.
92+func (x *PreferencesPage) GetTitle() string {
93+
94+ return xPreferencesPageGetTitle(x.GoPointer())
95+
96+}
97+
98+var xPreferencesPageGetUseUnderline func(uintptr) bool
99+
100+// Gets whether an embedded underline in the title indicates a mnemonic.
101+func (x *PreferencesPage) GetUseUnderline() bool {
102+
103+ return xPreferencesPageGetUseUnderline(x.GoPointer())
104+
105+}
106+
107+var xPreferencesPageRemove func(uintptr, uintptr)
108+
109+// Removes a group from @self.
110+func (x *PreferencesPage) Remove(GroupVar *PreferencesGroup) {
111+
112+ xPreferencesPageRemove(x.GoPointer(), GroupVar.GoPointer())
113+
114+}
115+
116+var xPreferencesPageScrollToTop func(uintptr)
117+
118+// Scrolls the scrolled window of @self to the top.
119+func (x *PreferencesPage) ScrollToTop() {
120+
121+ xPreferencesPageScrollToTop(x.GoPointer())
122+
123+}
124+
125+var xPreferencesPageSetIconName func(uintptr, string)
126+
127+// Sets the icon name for @self.
128+func (x *PreferencesPage) SetIconName(IconNameVar string) {
129+
130+ xPreferencesPageSetIconName(x.GoPointer(), IconNameVar)
131+
132+}
133+
134+var xPreferencesPageSetName func(uintptr, string)
135+
136+// Sets the name of @self.
137+func (x *PreferencesPage) SetName(NameVar string) {
138+
139+ xPreferencesPageSetName(x.GoPointer(), NameVar)
140+
141+}
142+
143+var xPreferencesPageSetTitle func(uintptr, string)
144+
145+// Sets the title of @self.
146+func (x *PreferencesPage) SetTitle(TitleVar string) {
147+
148+ xPreferencesPageSetTitle(x.GoPointer(), TitleVar)
149+
150+}
151+
152+var xPreferencesPageSetUseUnderline func(uintptr, bool)
153+
154+// Sets whether an embedded underline in the title indicates a mnemonic.
155+func (x *PreferencesPage) SetUseUnderline(UseUnderlineVar bool) {
156+
157+ xPreferencesPageSetUseUnderline(x.GoPointer(), UseUnderlineVar)
158+
159+}
160+
161+func (c *PreferencesPage) GoPointer() uintptr {
162+ return c.Ptr
163+}
164+
165+func (c *PreferencesPage) SetGoPointer(ptr uintptr) {
166+ c.Ptr = ptr
167+}
168+
169+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
170+func (x *PreferencesPage) GetAccessibleRole() gtk.AccessibleRole {
171+
172+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
173+
174+}
175+
176+// Resets the accessible @property to its default value.
177+func (x *PreferencesPage) ResetProperty(PropertyVar gtk.AccessibleProperty) {
178+
179+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
180+
181+}
182+
183+// Resets the accessible @relation to its default value.
184+func (x *PreferencesPage) ResetRelation(RelationVar gtk.AccessibleRelation) {
185+
186+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
187+
188+}
189+
190+// Resets the accessible @state to its default value.
191+func (x *PreferencesPage) ResetState(StateVar gtk.AccessibleState) {
192+
193+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
194+
195+}
196+
197+// Updates a list of accessible properties.
198+//
199+// See the [enum@Gtk.AccessibleProperty] documentation for the
200+// value types of accessible properties.
201+//
202+// This function should be called by `GtkWidget` types whenever
203+// an accessible property change must be communicated to assistive
204+// technologies.
205+//
206+// Example:
207+// ```c
208+// value = gtk_adjustment_get_value (adjustment);
209+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
210+//
211+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
212+// -1);
213+//
214+// ```
215+func (x *PreferencesPage) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
216+
217+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
218+
219+}
220+
221+// Updates an array of accessible properties.
222+//
223+// This function should be called by `GtkWidget` types whenever an accessible
224+// property change must be communicated to assistive technologies.
225+//
226+// This function is meant to be used by language bindings.
227+func (x *PreferencesPage) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
228+
229+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
230+
231+}
232+
233+// Updates a list of accessible relations.
234+//
235+// This function should be called by `GtkWidget` types whenever an accessible
236+// relation change must be communicated to assistive technologies.
237+//
238+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
239+// you should pass each reference individually, followed by %NULL, e.g.
240+//
241+// ```c
242+// gtk_accessible_update_relation (accessible,
243+//
244+// GTK_ACCESSIBLE_RELATION_CONTROLS,
245+// ref1, NULL,
246+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
247+// ref1, ref2, ref3, NULL,
248+// -1);
249+//
250+// ```
251+func (x *PreferencesPage) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
252+
253+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
254+
255+}
256+
257+// Updates an array of accessible relations.
258+//
259+// This function should be called by `GtkWidget` types whenever an accessible
260+// relation change must be communicated to assistive technologies.
261+//
262+// This function is meant to be used by language bindings.
263+func (x *PreferencesPage) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
264+
265+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
266+
267+}
268+
269+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
270+// documentation for the value types of accessible states.
271+//
272+// This function should be called by `GtkWidget` types whenever an accessible
273+// state change must be communicated to assistive technologies.
274+//
275+// Example:
276+// ```c
277+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
278+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
279+//
280+// GTK_ACCESSIBLE_STATE_CHECKED, value,
281+// -1);
282+//
283+// ```
284+func (x *PreferencesPage) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
285+
286+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
287+
288+}
289+
290+// Updates an array of accessible states.
291+//
292+// This function should be called by `GtkWidget` types whenever an accessible
293+// state change must be communicated to assistive technologies.
294+//
295+// This function is meant to be used by language bindings.
296+func (x *PreferencesPage) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
297+
298+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
299+
300+}
301+
302+// Gets the ID of the @buildable object.
303+//
304+// `GtkBuilder` sets the name based on the ID attribute
305+// of the &lt;object&gt; tag used to construct the @buildable.
306+func (x *PreferencesPage) GetBuildableId() string {
307+
308+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
309+
310+}
311+
312+func init() {
313+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
314+ if err != nil {
315+ panic(err)
316+ }
317+
318+ core.PuregoSafeRegister(&xNewPreferencesPage, lib, "adw_preferences_page_new")
319+
320+ core.PuregoSafeRegister(&xPreferencesPageAdd, lib, "adw_preferences_page_add")
321+ core.PuregoSafeRegister(&xPreferencesPageGetIconName, lib, "adw_preferences_page_get_icon_name")
322+ core.PuregoSafeRegister(&xPreferencesPageGetName, lib, "adw_preferences_page_get_name")
323+ core.PuregoSafeRegister(&xPreferencesPageGetTitle, lib, "adw_preferences_page_get_title")
324+ core.PuregoSafeRegister(&xPreferencesPageGetUseUnderline, lib, "adw_preferences_page_get_use_underline")
325+ core.PuregoSafeRegister(&xPreferencesPageRemove, lib, "adw_preferences_page_remove")
326+ core.PuregoSafeRegister(&xPreferencesPageScrollToTop, lib, "adw_preferences_page_scroll_to_top")
327+ core.PuregoSafeRegister(&xPreferencesPageSetIconName, lib, "adw_preferences_page_set_icon_name")
328+ core.PuregoSafeRegister(&xPreferencesPageSetName, lib, "adw_preferences_page_set_name")
329+ core.PuregoSafeRegister(&xPreferencesPageSetTitle, lib, "adw_preferences_page_set_title")
330+ core.PuregoSafeRegister(&xPreferencesPageSetUseUnderline, lib, "adw_preferences_page_set_use_underline")
331+
332+}
A v4/adw/adw-preferences-row.go +385 -0
@@ -0,0 +1,385 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/glib"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type PreferencesRowClass struct {
13+ ParentClass uintptr
14+
15+ Padding uintptr
16+}
17+
18+// A [class@Gtk.ListBoxRow] used to present preferences.
19+//
20+// The `AdwPreferencesRow` widget has a title that [class@PreferencesWindow]
21+// will use to let the user look for a preference. It doesn't present the title
22+// in any way and lets you present the preference as you please.
23+//
24+// [class@ActionRow] and its derivatives are convenient to use as preference
25+// rows as they take care of presenting the preference's title while letting you
26+// compose the inputs of the preference around it.
27+type PreferencesRow struct {
28+ gtk.ListBoxRow
29+}
30+
31+func PreferencesRowNewFromInternalPtr(ptr uintptr) *PreferencesRow {
32+ cls := &PreferencesRow{}
33+ cls.Ptr = ptr
34+ return cls
35+}
36+
37+var xNewPreferencesRow func() uintptr
38+
39+// Creates a new `AdwPreferencesRow`.
40+func NewPreferencesRow() *gtk.Widget {
41+ NewPreferencesRowPtr := xNewPreferencesRow()
42+ if NewPreferencesRowPtr == 0 {
43+ return nil
44+ }
45+
46+ gobject.IncreaseRef(NewPreferencesRowPtr)
47+
48+ NewPreferencesRowCls := &gtk.Widget{}
49+ NewPreferencesRowCls.Ptr = NewPreferencesRowPtr
50+ return NewPreferencesRowCls
51+}
52+
53+var xPreferencesRowGetTitle func(uintptr) string
54+
55+// Gets the title of the preference represented by @self.
56+func (x *PreferencesRow) GetTitle() string {
57+
58+ return xPreferencesRowGetTitle(x.GoPointer())
59+
60+}
61+
62+var xPreferencesRowGetTitleSelectable func(uintptr) bool
63+
64+// Gets whether the user can copy the title from the label
65+func (x *PreferencesRow) GetTitleSelectable() bool {
66+
67+ return xPreferencesRowGetTitleSelectable(x.GoPointer())
68+
69+}
70+
71+var xPreferencesRowGetUseMarkup func(uintptr) bool
72+
73+// Gets whether to use Pango markup for the title label.
74+func (x *PreferencesRow) GetUseMarkup() bool {
75+
76+ return xPreferencesRowGetUseMarkup(x.GoPointer())
77+
78+}
79+
80+var xPreferencesRowGetUseUnderline func(uintptr) bool
81+
82+// Gets whether an embedded underline in the title indicates a mnemonic.
83+func (x *PreferencesRow) GetUseUnderline() bool {
84+
85+ return xPreferencesRowGetUseUnderline(x.GoPointer())
86+
87+}
88+
89+var xPreferencesRowSetTitle func(uintptr, string)
90+
91+// Sets the title of the preference represented by @self.
92+//
93+// The title is interpreted as Pango markup unless
94+// [property@PreferencesRow:use-markup] is set to `FALSE`.
95+func (x *PreferencesRow) SetTitle(TitleVar string) {
96+
97+ xPreferencesRowSetTitle(x.GoPointer(), TitleVar)
98+
99+}
100+
101+var xPreferencesRowSetTitleSelectable func(uintptr, bool)
102+
103+// Sets whether the user can copy the title from the label
104+//
105+// See also [property@Gtk.Label:selectable].
106+func (x *PreferencesRow) SetTitleSelectable(TitleSelectableVar bool) {
107+
108+ xPreferencesRowSetTitleSelectable(x.GoPointer(), TitleSelectableVar)
109+
110+}
111+
112+var xPreferencesRowSetUseMarkup func(uintptr, bool)
113+
114+// Sets whether to use Pango markup for the title label.
115+//
116+// Subclasses may also use it for other labels, such as subtitle.
117+//
118+// See also [func@Pango.parse_markup].
119+func (x *PreferencesRow) SetUseMarkup(UseMarkupVar bool) {
120+
121+ xPreferencesRowSetUseMarkup(x.GoPointer(), UseMarkupVar)
122+
123+}
124+
125+var xPreferencesRowSetUseUnderline func(uintptr, bool)
126+
127+// Sets whether an embedded underline in the title indicates a mnemonic.
128+func (x *PreferencesRow) SetUseUnderline(UseUnderlineVar bool) {
129+
130+ xPreferencesRowSetUseUnderline(x.GoPointer(), UseUnderlineVar)
131+
132+}
133+
134+func (c *PreferencesRow) GoPointer() uintptr {
135+ return c.Ptr
136+}
137+
138+func (c *PreferencesRow) SetGoPointer(ptr uintptr) {
139+ c.Ptr = ptr
140+}
141+
142+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
143+func (x *PreferencesRow) GetAccessibleRole() gtk.AccessibleRole {
144+
145+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
146+
147+}
148+
149+// Resets the accessible @property to its default value.
150+func (x *PreferencesRow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
151+
152+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
153+
154+}
155+
156+// Resets the accessible @relation to its default value.
157+func (x *PreferencesRow) ResetRelation(RelationVar gtk.AccessibleRelation) {
158+
159+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
160+
161+}
162+
163+// Resets the accessible @state to its default value.
164+func (x *PreferencesRow) ResetState(StateVar gtk.AccessibleState) {
165+
166+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
167+
168+}
169+
170+// Updates a list of accessible properties.
171+//
172+// See the [enum@Gtk.AccessibleProperty] documentation for the
173+// value types of accessible properties.
174+//
175+// This function should be called by `GtkWidget` types whenever
176+// an accessible property change must be communicated to assistive
177+// technologies.
178+//
179+// Example:
180+// ```c
181+// value = gtk_adjustment_get_value (adjustment);
182+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
183+//
184+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
185+// -1);
186+//
187+// ```
188+func (x *PreferencesRow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
189+
190+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
191+
192+}
193+
194+// Updates an array of accessible properties.
195+//
196+// This function should be called by `GtkWidget` types whenever an accessible
197+// property change must be communicated to assistive technologies.
198+//
199+// This function is meant to be used by language bindings.
200+func (x *PreferencesRow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
201+
202+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
203+
204+}
205+
206+// Updates a list of accessible relations.
207+//
208+// This function should be called by `GtkWidget` types whenever an accessible
209+// relation change must be communicated to assistive technologies.
210+//
211+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
212+// you should pass each reference individually, followed by %NULL, e.g.
213+//
214+// ```c
215+// gtk_accessible_update_relation (accessible,
216+//
217+// GTK_ACCESSIBLE_RELATION_CONTROLS,
218+// ref1, NULL,
219+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
220+// ref1, ref2, ref3, NULL,
221+// -1);
222+//
223+// ```
224+func (x *PreferencesRow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
225+
226+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
227+
228+}
229+
230+// Updates an array of accessible relations.
231+//
232+// This function should be called by `GtkWidget` types whenever an accessible
233+// relation change must be communicated to assistive technologies.
234+//
235+// This function is meant to be used by language bindings.
236+func (x *PreferencesRow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
237+
238+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
239+
240+}
241+
242+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
243+// documentation for the value types of accessible states.
244+//
245+// This function should be called by `GtkWidget` types whenever an accessible
246+// state change must be communicated to assistive technologies.
247+//
248+// Example:
249+// ```c
250+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
251+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
252+//
253+// GTK_ACCESSIBLE_STATE_CHECKED, value,
254+// -1);
255+//
256+// ```
257+func (x *PreferencesRow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
258+
259+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
260+
261+}
262+
263+// Updates an array of accessible states.
264+//
265+// This function should be called by `GtkWidget` types whenever an accessible
266+// state change must be communicated to assistive technologies.
267+//
268+// This function is meant to be used by language bindings.
269+func (x *PreferencesRow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
270+
271+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
272+
273+}
274+
275+// Gets the action name for @actionable.
276+func (x *PreferencesRow) GetActionName() string {
277+
278+ return gtk.XGtkActionableGetActionName(x.GoPointer())
279+
280+}
281+
282+// Gets the current target value of @actionable.
283+func (x *PreferencesRow) GetActionTargetValue() *glib.Variant {
284+
285+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
286+
287+}
288+
289+// Specifies the name of the action with which this widget should be
290+// associated.
291+//
292+// If @action_name is %NULL then the widget will be unassociated from
293+// any previous action.
294+//
295+// Usually this function is used when the widget is located (or will be
296+// located) within the hierarchy of a `GtkApplicationWindow`.
297+//
298+// Names are of the form “win.save” or “app.quit” for actions on the
299+// containing [class@ApplicationWindow] or its associated [class@Application],
300+// respectively. This is the same form used for actions in the [class@Gio.Menu]
301+// associated with the window.
302+func (x *PreferencesRow) SetActionName(ActionNameVar string) {
303+
304+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
305+
306+}
307+
308+// Sets the target of an actionable widget.
309+//
310+// This is a convenience function that calls [ctor@GLib.Variant.new] for
311+// @format_string and uses the result to call
312+// [method@Gtk.Actionable.set_action_target_value].
313+//
314+// If you are setting a string-valued target and want to set
315+// the action name at the same time, you can use
316+// [method@Gtk.Actionable.set_detailed_action_name].
317+func (x *PreferencesRow) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
318+
319+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
320+
321+}
322+
323+// Sets the target value of an actionable widget.
324+//
325+// If @target_value is %NULL then the target value is unset.
326+//
327+// The target value has two purposes. First, it is used as the parameter
328+// to activation of the action associated with the `GtkActionable` widget.
329+// Second, it is used to determine if the widget should be rendered as
330+// “active” — the widget is active if the state is equal to the given target.
331+//
332+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
333+// with string state in a typical “radio button” situation. Each button
334+// will be associated with the same action, but with a different target
335+// value for that action. Clicking on a particular button will activate
336+// the action with the target of that button, which will typically cause
337+// the action’s state to change to that value. Since the action’s state
338+// is now equal to the target value of the button, the button will now
339+// be rendered as active (and the other buttons, with different targets,
340+// rendered inactive).
341+func (x *PreferencesRow) SetActionTargetValue(TargetValueVar *glib.Variant) {
342+
343+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
344+
345+}
346+
347+// Sets the action-name and associated string target value of an
348+// actionable widget.
349+//
350+// @detailed_action_name is a string in the format accepted by
351+// [func@Gio.Action.parse_detailed_name].
352+func (x *PreferencesRow) SetDetailedActionName(DetailedActionNameVar string) {
353+
354+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
355+
356+}
357+
358+// Gets the ID of the @buildable object.
359+//
360+// `GtkBuilder` sets the name based on the ID attribute
361+// of the &lt;object&gt; tag used to construct the @buildable.
362+func (x *PreferencesRow) GetBuildableId() string {
363+
364+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
365+
366+}
367+
368+func init() {
369+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
370+ if err != nil {
371+ panic(err)
372+ }
373+
374+ core.PuregoSafeRegister(&xNewPreferencesRow, lib, "adw_preferences_row_new")
375+
376+ core.PuregoSafeRegister(&xPreferencesRowGetTitle, lib, "adw_preferences_row_get_title")
377+ core.PuregoSafeRegister(&xPreferencesRowGetTitleSelectable, lib, "adw_preferences_row_get_title_selectable")
378+ core.PuregoSafeRegister(&xPreferencesRowGetUseMarkup, lib, "adw_preferences_row_get_use_markup")
379+ core.PuregoSafeRegister(&xPreferencesRowGetUseUnderline, lib, "adw_preferences_row_get_use_underline")
380+ core.PuregoSafeRegister(&xPreferencesRowSetTitle, lib, "adw_preferences_row_set_title")
381+ core.PuregoSafeRegister(&xPreferencesRowSetTitleSelectable, lib, "adw_preferences_row_set_title_selectable")
382+ core.PuregoSafeRegister(&xPreferencesRowSetUseMarkup, lib, "adw_preferences_row_set_use_markup")
383+ core.PuregoSafeRegister(&xPreferencesRowSetUseUnderline, lib, "adw_preferences_row_set_use_underline")
384+
385+}
A v4/adw/adw-preferences-window.go +491 -0
@@ -0,0 +1,491 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gsk"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type PreferencesWindowClass struct {
14+ ParentClass uintptr
15+
16+ Padding uintptr
17+}
18+
19+// A window to present an application's preferences.
20+//
21+// &lt;picture&gt;
22+//
23+// &lt;source srcset="preferences-window-dark.png" media="(prefers-color-scheme: dark)"&gt;
24+// &lt;img src="preferences-window.png" alt="preferences-window"&gt;
25+//
26+// &lt;/picture&gt;
27+//
28+// The `AdwPreferencesWindow` widget presents an application's preferences
29+// gathered into pages and groups. The preferences are searchable by the user.
30+//
31+// ## CSS nodes
32+//
33+// `AdwPreferencesWindow` has a main CSS node with the name `window` and the
34+// style class `.preferences`.
35+type PreferencesWindow struct {
36+ Window
37+}
38+
39+func PreferencesWindowNewFromInternalPtr(ptr uintptr) *PreferencesWindow {
40+ cls := &PreferencesWindow{}
41+ cls.Ptr = ptr
42+ return cls
43+}
44+
45+var xNewPreferencesWindow func() uintptr
46+
47+// Creates a new `AdwPreferencesWindow`.
48+func NewPreferencesWindow() *gtk.Widget {
49+ NewPreferencesWindowPtr := xNewPreferencesWindow()
50+ if NewPreferencesWindowPtr == 0 {
51+ return nil
52+ }
53+
54+ gobject.IncreaseRef(NewPreferencesWindowPtr)
55+
56+ NewPreferencesWindowCls := &gtk.Widget{}
57+ NewPreferencesWindowCls.Ptr = NewPreferencesWindowPtr
58+ return NewPreferencesWindowCls
59+}
60+
61+var xPreferencesWindowAdd func(uintptr, uintptr)
62+
63+// Adds a preferences page to @self.
64+func (x *PreferencesWindow) Add(PageVar *PreferencesPage) {
65+
66+ xPreferencesWindowAdd(x.GoPointer(), PageVar.GoPointer())
67+
68+}
69+
70+var xPreferencesWindowAddToast func(uintptr, uintptr)
71+
72+// Displays @toast.
73+//
74+// See [method@ToastOverlay.add_toast].
75+func (x *PreferencesWindow) AddToast(ToastVar *Toast) {
76+
77+ xPreferencesWindowAddToast(x.GoPointer(), ToastVar.GoPointer())
78+
79+}
80+
81+var xPreferencesWindowCloseSubpage func(uintptr)
82+
83+// Closes the current subpage.
84+//
85+// If there is no presented subpage, this does nothing.
86+func (x *PreferencesWindow) CloseSubpage() {
87+
88+ xPreferencesWindowCloseSubpage(x.GoPointer())
89+
90+}
91+
92+var xPreferencesWindowGetCanNavigateBack func(uintptr) bool
93+
94+// Gets whether gestures and shortcuts for closing subpages are enabled.
95+func (x *PreferencesWindow) GetCanNavigateBack() bool {
96+
97+ return xPreferencesWindowGetCanNavigateBack(x.GoPointer())
98+
99+}
100+
101+var xPreferencesWindowGetSearchEnabled func(uintptr) bool
102+
103+// Gets whether search is enabled for @self.
104+func (x *PreferencesWindow) GetSearchEnabled() bool {
105+
106+ return xPreferencesWindowGetSearchEnabled(x.GoPointer())
107+
108+}
109+
110+var xPreferencesWindowGetVisiblePage func(uintptr) uintptr
111+
112+// Gets the currently visible page of @self.
113+func (x *PreferencesWindow) GetVisiblePage() *PreferencesPage {
114+
115+ GetVisiblePagePtr := xPreferencesWindowGetVisiblePage(x.GoPointer())
116+ if GetVisiblePagePtr == 0 {
117+ return nil
118+ }
119+
120+ gobject.IncreaseRef(GetVisiblePagePtr)
121+
122+ GetVisiblePageCls := &PreferencesPage{}
123+ GetVisiblePageCls.Ptr = GetVisiblePagePtr
124+ return GetVisiblePageCls
125+
126+}
127+
128+var xPreferencesWindowGetVisiblePageName func(uintptr) string
129+
130+// Gets the name of currently visible page of @self.
131+func (x *PreferencesWindow) GetVisiblePageName() string {
132+
133+ return xPreferencesWindowGetVisiblePageName(x.GoPointer())
134+
135+}
136+
137+var xPreferencesWindowPresentSubpage func(uintptr, uintptr)
138+
139+// Sets @subpage as the window's subpage and opens it.
140+//
141+// The transition can be cancelled by the user, in which case visible child will
142+// change back to the previously visible child.
143+func (x *PreferencesWindow) PresentSubpage(SubpageVar *gtk.Widget) {
144+
145+ xPreferencesWindowPresentSubpage(x.GoPointer(), SubpageVar.GoPointer())
146+
147+}
148+
149+var xPreferencesWindowRemove func(uintptr, uintptr)
150+
151+// Removes a page from @self.
152+func (x *PreferencesWindow) Remove(PageVar *PreferencesPage) {
153+
154+ xPreferencesWindowRemove(x.GoPointer(), PageVar.GoPointer())
155+
156+}
157+
158+var xPreferencesWindowSetCanNavigateBack func(uintptr, bool)
159+
160+// Sets whether gestures and shortcuts for closing subpages are enabled.
161+//
162+// The supported gestures are:
163+//
164+// - One-finger swipe on touchscreens
165+// - Horizontal scrolling on touchpads (usually two-finger swipe)
166+// - Back mouse button
167+//
168+// The keyboard back key is also supported, as well as the
169+// &lt;kbd&gt;Alt&lt;/kbd&gt;+&lt;kbd&gt;←&lt;/kbd&gt; shortcut.
170+//
171+// For right-to-left locales, gestures and shortcuts are reversed.
172+func (x *PreferencesWindow) SetCanNavigateBack(CanNavigateBackVar bool) {
173+
174+ xPreferencesWindowSetCanNavigateBack(x.GoPointer(), CanNavigateBackVar)
175+
176+}
177+
178+var xPreferencesWindowSetSearchEnabled func(uintptr, bool)
179+
180+// Sets whether search is enabled for @self.
181+func (x *PreferencesWindow) SetSearchEnabled(SearchEnabledVar bool) {
182+
183+ xPreferencesWindowSetSearchEnabled(x.GoPointer(), SearchEnabledVar)
184+
185+}
186+
187+var xPreferencesWindowSetVisiblePage func(uintptr, uintptr)
188+
189+// Makes @page the visible page of @self.
190+func (x *PreferencesWindow) SetVisiblePage(PageVar *PreferencesPage) {
191+
192+ xPreferencesWindowSetVisiblePage(x.GoPointer(), PageVar.GoPointer())
193+
194+}
195+
196+var xPreferencesWindowSetVisiblePageName func(uintptr, string)
197+
198+// Makes the page with the given name visible.
199+//
200+// See [property@ViewStack:visible-child].
201+func (x *PreferencesWindow) SetVisiblePageName(NameVar string) {
202+
203+ xPreferencesWindowSetVisiblePageName(x.GoPointer(), NameVar)
204+
205+}
206+
207+func (c *PreferencesWindow) GoPointer() uintptr {
208+ return c.Ptr
209+}
210+
211+func (c *PreferencesWindow) SetGoPointer(ptr uintptr) {
212+ c.Ptr = ptr
213+}
214+
215+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
216+func (x *PreferencesWindow) GetAccessibleRole() gtk.AccessibleRole {
217+
218+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
219+
220+}
221+
222+// Resets the accessible @property to its default value.
223+func (x *PreferencesWindow) ResetProperty(PropertyVar gtk.AccessibleProperty) {
224+
225+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
226+
227+}
228+
229+// Resets the accessible @relation to its default value.
230+func (x *PreferencesWindow) ResetRelation(RelationVar gtk.AccessibleRelation) {
231+
232+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
233+
234+}
235+
236+// Resets the accessible @state to its default value.
237+func (x *PreferencesWindow) ResetState(StateVar gtk.AccessibleState) {
238+
239+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
240+
241+}
242+
243+// Updates a list of accessible properties.
244+//
245+// See the [enum@Gtk.AccessibleProperty] documentation for the
246+// value types of accessible properties.
247+//
248+// This function should be called by `GtkWidget` types whenever
249+// an accessible property change must be communicated to assistive
250+// technologies.
251+//
252+// Example:
253+// ```c
254+// value = gtk_adjustment_get_value (adjustment);
255+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
256+//
257+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
258+// -1);
259+//
260+// ```
261+func (x *PreferencesWindow) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
262+
263+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
264+
265+}
266+
267+// Updates an array of accessible properties.
268+//
269+// This function should be called by `GtkWidget` types whenever an accessible
270+// property change must be communicated to assistive technologies.
271+//
272+// This function is meant to be used by language bindings.
273+func (x *PreferencesWindow) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
274+
275+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
276+
277+}
278+
279+// Updates a list of accessible relations.
280+//
281+// This function should be called by `GtkWidget` types whenever an accessible
282+// relation change must be communicated to assistive technologies.
283+//
284+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
285+// you should pass each reference individually, followed by %NULL, e.g.
286+//
287+// ```c
288+// gtk_accessible_update_relation (accessible,
289+//
290+// GTK_ACCESSIBLE_RELATION_CONTROLS,
291+// ref1, NULL,
292+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
293+// ref1, ref2, ref3, NULL,
294+// -1);
295+//
296+// ```
297+func (x *PreferencesWindow) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
298+
299+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
300+
301+}
302+
303+// Updates an array of accessible relations.
304+//
305+// This function should be called by `GtkWidget` types whenever an accessible
306+// relation change must be communicated to assistive technologies.
307+//
308+// This function is meant to be used by language bindings.
309+func (x *PreferencesWindow) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
310+
311+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
312+
313+}
314+
315+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
316+// documentation for the value types of accessible states.
317+//
318+// This function should be called by `GtkWidget` types whenever an accessible
319+// state change must be communicated to assistive technologies.
320+//
321+// Example:
322+// ```c
323+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
324+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
325+//
326+// GTK_ACCESSIBLE_STATE_CHECKED, value,
327+// -1);
328+//
329+// ```
330+func (x *PreferencesWindow) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
331+
332+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
333+
334+}
335+
336+// Updates an array of accessible states.
337+//
338+// This function should be called by `GtkWidget` types whenever an accessible
339+// state change must be communicated to assistive technologies.
340+//
341+// This function is meant to be used by language bindings.
342+func (x *PreferencesWindow) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
343+
344+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
345+
346+}
347+
348+// Gets the ID of the @buildable object.
349+//
350+// `GtkBuilder` sets the name based on the ID attribute
351+// of the &lt;object&gt; tag used to construct the @buildable.
352+func (x *PreferencesWindow) GetBuildableId() string {
353+
354+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
355+
356+}
357+
358+// Returns the renderer that is used for this `GtkNative`.
359+func (x *PreferencesWindow) GetRenderer() *gsk.Renderer {
360+
361+ GetRendererPtr := gtk.XGtkNativeGetRenderer(x.GoPointer())
362+ if GetRendererPtr == 0 {
363+ return nil
364+ }
365+
366+ gobject.IncreaseRef(GetRendererPtr)
367+
368+ GetRendererCls := &gsk.Renderer{}
369+ GetRendererCls.Ptr = GetRendererPtr
370+ return GetRendererCls
371+
372+}
373+
374+// Returns the surface of this `GtkNative`.
375+func (x *PreferencesWindow) GetSurface() *gdk.Surface {
376+
377+ GetSurfacePtr := gtk.XGtkNativeGetSurface(x.GoPointer())
378+ if GetSurfacePtr == 0 {
379+ return nil
380+ }
381+
382+ gobject.IncreaseRef(GetSurfacePtr)
383+
384+ GetSurfaceCls := &gdk.Surface{}
385+ GetSurfaceCls.Ptr = GetSurfacePtr
386+ return GetSurfaceCls
387+
388+}
389+
390+// Retrieves the surface transform of @self.
391+//
392+// This is the translation from @self's surface coordinates into
393+// @self's widget coordinates.
394+func (x *PreferencesWindow) GetSurfaceTransform(XVar float64, YVar float64) {
395+
396+ gtk.XGtkNativeGetSurfaceTransform(x.GoPointer(), XVar, YVar)
397+
398+}
399+
400+// Realizes a `GtkNative`.
401+//
402+// This should only be used by subclasses.
403+func (x *PreferencesWindow) Realize() {
404+
405+ gtk.XGtkNativeRealize(x.GoPointer())
406+
407+}
408+
409+// Unrealizes a `GtkNative`.
410+//
411+// This should only be used by subclasses.
412+func (x *PreferencesWindow) Unrealize() {
413+
414+ gtk.XGtkNativeUnrealize(x.GoPointer())
415+
416+}
417+
418+// Returns the display that this `GtkRoot` is on.
419+func (x *PreferencesWindow) GetDisplay() *gdk.Display {
420+
421+ GetDisplayPtr := gtk.XGtkRootGetDisplay(x.GoPointer())
422+ if GetDisplayPtr == 0 {
423+ return nil
424+ }
425+
426+ gobject.IncreaseRef(GetDisplayPtr)
427+
428+ GetDisplayCls := &gdk.Display{}
429+ GetDisplayCls.Ptr = GetDisplayPtr
430+ return GetDisplayCls
431+
432+}
433+
434+// Retrieves the current focused widget within the root.
435+//
436+// Note that this is the widget that would have the focus
437+// if the root is active; if the root is not focused then
438+// `gtk_widget_has_focus (widget)` will be %FALSE for the
439+// widget.
440+func (x *PreferencesWindow) GetFocus() *gtk.Widget {
441+
442+ GetFocusPtr := gtk.XGtkRootGetFocus(x.GoPointer())
443+ if GetFocusPtr == 0 {
444+ return nil
445+ }
446+
447+ gobject.IncreaseRef(GetFocusPtr)
448+
449+ GetFocusCls := &gtk.Widget{}
450+ GetFocusCls.Ptr = GetFocusPtr
451+ return GetFocusCls
452+
453+}
454+
455+// If @focus is not the current focus widget, and is focusable, sets
456+// it as the focus widget for the root.
457+//
458+// If @focus is %NULL, unsets the focus widget for the root.
459+//
460+// To set the focus to a particular widget in the root, it is usually
461+// more convenient to use [method@Gtk.Widget.grab_focus] instead of
462+// this function.
463+func (x *PreferencesWindow) SetFocus(FocusVar *gtk.Widget) {
464+
465+ gtk.XGtkRootSetFocus(x.GoPointer(), FocusVar.GoPointer())
466+
467+}
468+
469+func init() {
470+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
471+ if err != nil {
472+ panic(err)
473+ }
474+
475+ core.PuregoSafeRegister(&xNewPreferencesWindow, lib, "adw_preferences_window_new")
476+
477+ core.PuregoSafeRegister(&xPreferencesWindowAdd, lib, "adw_preferences_window_add")
478+ core.PuregoSafeRegister(&xPreferencesWindowAddToast, lib, "adw_preferences_window_add_toast")
479+ core.PuregoSafeRegister(&xPreferencesWindowCloseSubpage, lib, "adw_preferences_window_close_subpage")
480+ core.PuregoSafeRegister(&xPreferencesWindowGetCanNavigateBack, lib, "adw_preferences_window_get_can_navigate_back")
481+ core.PuregoSafeRegister(&xPreferencesWindowGetSearchEnabled, lib, "adw_preferences_window_get_search_enabled")
482+ core.PuregoSafeRegister(&xPreferencesWindowGetVisiblePage, lib, "adw_preferences_window_get_visible_page")
483+ core.PuregoSafeRegister(&xPreferencesWindowGetVisiblePageName, lib, "adw_preferences_window_get_visible_page_name")
484+ core.PuregoSafeRegister(&xPreferencesWindowPresentSubpage, lib, "adw_preferences_window_present_subpage")
485+ core.PuregoSafeRegister(&xPreferencesWindowRemove, lib, "adw_preferences_window_remove")
486+ core.PuregoSafeRegister(&xPreferencesWindowSetCanNavigateBack, lib, "adw_preferences_window_set_can_navigate_back")
487+ core.PuregoSafeRegister(&xPreferencesWindowSetSearchEnabled, lib, "adw_preferences_window_set_search_enabled")
488+ core.PuregoSafeRegister(&xPreferencesWindowSetVisiblePage, lib, "adw_preferences_window_set_visible_page")
489+ core.PuregoSafeRegister(&xPreferencesWindowSetVisiblePageName, lib, "adw_preferences_window_set_visible_page_name")
490+
491+}
A v4/adw/adw-split-button.go +594 -0
@@ -0,0 +1,594 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gio"
8+ "github.com/jwijenbergh/puregotk/v4/glib"
9+ "github.com/jwijenbergh/puregotk/v4/gobject"
10+ "github.com/jwijenbergh/puregotk/v4/gtk"
11+)
12+
13+type SplitButtonClass struct {
14+ ParentClass uintptr
15+}
16+
17+// A combined button and dropdown widget.
18+//
19+// &lt;picture&gt;
20+//
21+// &lt;source srcset="split-button-dark.png" media="(prefers-color-scheme: dark)"&gt;
22+// &lt;img src="split-button.png" alt="split-button"&gt;
23+//
24+// &lt;/picture&gt;
25+//
26+// `AdwSplitButton` is typically used to present a set of actions in a menu,
27+// but allow access to one of them with a single click.
28+//
29+// The API is very similar to [class@Gtk.Button] and [class@Gtk.MenuButton], see
30+// their documentation for details.
31+//
32+// ## CSS nodes
33+//
34+// ```
35+// splitbutton[.image-button][.text-button]
36+// ├── button
37+// │ ╰── &lt;content&gt;
38+// ├── separator
39+// ╰── menubutton
40+//
41+// ╰── button.toggle
42+// ╰── arrow
43+//
44+// ```
45+//
46+// `AdwSplitButton`'s CSS node is called `splitbutton`. It contains the css
47+// nodes: `button`, `separator`, `menubutton`. See [class@Gtk.MenuButton]
48+// documentation for the `menubutton` contents.
49+//
50+// The main CSS node will contain the `.image-button` or `.text-button` style
51+// classes matching the button contents. The nested button nodes will never
52+// contain them.
53+//
54+// ## Accessibility
55+//
56+// `AdwSplitButton` uses the `GTK_ACCESSIBLE_ROLE_GROUP` role.
57+type SplitButton struct {
58+ gtk.Widget
59+}
60+
61+func SplitButtonNewFromInternalPtr(ptr uintptr) *SplitButton {
62+ cls := &SplitButton{}
63+ cls.Ptr = ptr
64+ return cls
65+}
66+
67+var xNewSplitButton func() uintptr
68+
69+// Creates a new `AdwSplitButton`.
70+func NewSplitButton() *gtk.Widget {
71+ NewSplitButtonPtr := xNewSplitButton()
72+ if NewSplitButtonPtr == 0 {
73+ return nil
74+ }
75+
76+ gobject.IncreaseRef(NewSplitButtonPtr)
77+
78+ NewSplitButtonCls := &gtk.Widget{}
79+ NewSplitButtonCls.Ptr = NewSplitButtonPtr
80+ return NewSplitButtonCls
81+}
82+
83+var xSplitButtonGetChild func(uintptr) uintptr
84+
85+// Gets the child widget.
86+func (x *SplitButton) GetChild() *gtk.Widget {
87+
88+ GetChildPtr := xSplitButtonGetChild(x.GoPointer())
89+ if GetChildPtr == 0 {
90+ return nil
91+ }
92+
93+ gobject.IncreaseRef(GetChildPtr)
94+
95+ GetChildCls := &gtk.Widget{}
96+ GetChildCls.Ptr = GetChildPtr
97+ return GetChildCls
98+
99+}
100+
101+var xSplitButtonGetDirection func(uintptr) gtk.ArrowType
102+
103+// Gets the direction in which the popup will be popped up.
104+func (x *SplitButton) GetDirection() gtk.ArrowType {
105+
106+ return xSplitButtonGetDirection(x.GoPointer())
107+
108+}
109+
110+var xSplitButtonGetDropdownTooltip func(uintptr) string
111+
112+// Gets the tooltip of the dropdown button of @self.
113+func (x *SplitButton) GetDropdownTooltip() string {
114+
115+ return xSplitButtonGetDropdownTooltip(x.GoPointer())
116+
117+}
118+
119+var xSplitButtonGetIconName func(uintptr) string
120+
121+// Gets the name of the icon used to automatically populate the button.
122+func (x *SplitButton) GetIconName() string {
123+
124+ return xSplitButtonGetIconName(x.GoPointer())
125+
126+}
127+
128+var xSplitButtonGetLabel func(uintptr) string
129+
130+// Gets the label for @self.
131+func (x *SplitButton) GetLabel() string {
132+
133+ return xSplitButtonGetLabel(x.GoPointer())
134+
135+}
136+
137+var xSplitButtonGetMenuModel func(uintptr) uintptr
138+
139+// Gets the menu model from which the popup will be created.
140+func (x *SplitButton) GetMenuModel() *gio.MenuModel {
141+
142+ GetMenuModelPtr := xSplitButtonGetMenuModel(x.GoPointer())
143+ if GetMenuModelPtr == 0 {
144+ return nil
145+ }
146+
147+ gobject.IncreaseRef(GetMenuModelPtr)
148+
149+ GetMenuModelCls := &gio.MenuModel{}
150+ GetMenuModelCls.Ptr = GetMenuModelPtr
151+ return GetMenuModelCls
152+
153+}
154+
155+var xSplitButtonGetPopover func(uintptr) uintptr
156+
157+// Gets the popover that will be popped up when the dropdown is clicked.
158+func (x *SplitButton) GetPopover() *gtk.Popover {
159+
160+ GetPopoverPtr := xSplitButtonGetPopover(x.GoPointer())
161+ if GetPopoverPtr == 0 {
162+ return nil
163+ }
164+
165+ gobject.IncreaseRef(GetPopoverPtr)
166+
167+ GetPopoverCls := &gtk.Popover{}
168+ GetPopoverCls.Ptr = GetPopoverPtr
169+ return GetPopoverCls
170+
171+}
172+
173+var xSplitButtonGetUseUnderline func(uintptr) bool
174+
175+// Gets whether an underline in the text indicates a mnemonic.
176+func (x *SplitButton) GetUseUnderline() bool {
177+
178+ return xSplitButtonGetUseUnderline(x.GoPointer())
179+
180+}
181+
182+var xSplitButtonPopdown func(uintptr)
183+
184+// Dismisses the menu.
185+func (x *SplitButton) Popdown() {
186+
187+ xSplitButtonPopdown(x.GoPointer())
188+
189+}
190+
191+var xSplitButtonPopup func(uintptr)
192+
193+// Pops up the menu.
194+func (x *SplitButton) Popup() {
195+
196+ xSplitButtonPopup(x.GoPointer())
197+
198+}
199+
200+var xSplitButtonSetChild func(uintptr, uintptr)
201+
202+// Sets the child widget.
203+//
204+// Setting the child widget will set [property@SplitButton:label] and
205+// [property@SplitButton:icon-name] to `NULL`.
206+func (x *SplitButton) SetChild(ChildVar *gtk.Widget) {
207+
208+ xSplitButtonSetChild(x.GoPointer(), ChildVar.GoPointer())
209+
210+}
211+
212+var xSplitButtonSetDirection func(uintptr, gtk.ArrowType)
213+
214+// Sets the direction in which the popup will be popped up.
215+//
216+// The dropdown arrow icon will point at the same direction.
217+//
218+// If the does not fit in the available space in the given direction, GTK will
219+// try its best to keep it inside the screen and fully visible.
220+//
221+// If you pass `GTK_ARROW_NONE`, it's equivalent to `GTK_ARROW_DOWN`.
222+func (x *SplitButton) SetDirection(DirectionVar gtk.ArrowType) {
223+
224+ xSplitButtonSetDirection(x.GoPointer(), DirectionVar)
225+
226+}
227+
228+var xSplitButtonSetDropdownTooltip func(uintptr, string)
229+
230+// Sets the tooltip of the dropdown button of @self.
231+//
232+// The tooltip can be marked up with the Pango text markup language.
233+func (x *SplitButton) SetDropdownTooltip(TooltipVar string) {
234+
235+ xSplitButtonSetDropdownTooltip(x.GoPointer(), TooltipVar)
236+
237+}
238+
239+var xSplitButtonSetIconName func(uintptr, string)
240+
241+// Sets the name of the icon used to automatically populate the button.
242+//
243+// Setting the icon name will set [property@SplitButton:label] and
244+// [property@SplitButton:child] to `NULL`.
245+func (x *SplitButton) SetIconName(IconNameVar string) {
246+
247+ xSplitButtonSetIconName(x.GoPointer(), IconNameVar)
248+
249+}
250+
251+var xSplitButtonSetLabel func(uintptr, string)
252+
253+// Sets the label for @self.
254+//
255+// Setting the label will set [property@SplitButton:icon-name] and
256+// [property@SplitButton:child] to `NULL`.
257+func (x *SplitButton) SetLabel(LabelVar string) {
258+
259+ xSplitButtonSetLabel(x.GoPointer(), LabelVar)
260+
261+}
262+
263+var xSplitButtonSetMenuModel func(uintptr, uintptr)
264+
265+// Sets the menu model from which the popup will be created.
266+//
267+// If the menu model is `NULL`, the dropdown is disabled.
268+//
269+// A [class@Gtk.Popover] will be created from the menu model with
270+// [ctor@Gtk.PopoverMenu.new_from_model]. Actions will be connected as
271+// documented for this function.
272+//
273+// If [property@SplitButton:popover] is already set, it will be dissociated from
274+// the button, and the property is set to `NULL`.
275+func (x *SplitButton) SetMenuModel(MenuModelVar *gio.MenuModel) {
276+
277+ xSplitButtonSetMenuModel(x.GoPointer(), MenuModelVar.GoPointer())
278+
279+}
280+
281+var xSplitButtonSetPopover func(uintptr, uintptr)
282+
283+// Sets the popover that will be popped up when the dropdown is clicked.
284+//
285+// If the popover is `NULL`, the dropdown is disabled.
286+//
287+// If [property@SplitButton:menu-model] is set, the menu model is dissociated
288+// from the button, and the property is set to `NULL`.
289+func (x *SplitButton) SetPopover(PopoverVar *gtk.Popover) {
290+
291+ xSplitButtonSetPopover(x.GoPointer(), PopoverVar.GoPointer())
292+
293+}
294+
295+var xSplitButtonSetUseUnderline func(uintptr, bool)
296+
297+// Sets whether an underline in the text indicates a mnemonic.
298+//
299+// See [property@SplitButton:label].
300+func (x *SplitButton) SetUseUnderline(UseUnderlineVar bool) {
301+
302+ xSplitButtonSetUseUnderline(x.GoPointer(), UseUnderlineVar)
303+
304+}
305+
306+func (c *SplitButton) GoPointer() uintptr {
307+ return c.Ptr
308+}
309+
310+func (c *SplitButton) SetGoPointer(ptr uintptr) {
311+ c.Ptr = ptr
312+}
313+
314+// Emitted to animate press then release.
315+//
316+// This is an action signal. Applications should never connect to this signal,
317+// but use the [signal@SplitButton::clicked] signal.
318+func (x *SplitButton) ConnectActivate(cb func(SplitButton)) {
319+ fcb := func(clsPtr uintptr) {
320+ fa := SplitButton{}
321+ fa.Ptr = clsPtr
322+
323+ cb(fa)
324+
325+ }
326+ gobject.ObjectConnect(x.GoPointer(), "signal::activate", purego.NewCallback(fcb))
327+}
328+
329+// Emitted when the button has been activated (pressed and released).
330+func (x *SplitButton) ConnectClicked(cb func(SplitButton)) {
331+ fcb := func(clsPtr uintptr) {
332+ fa := SplitButton{}
333+ fa.Ptr = clsPtr
334+
335+ cb(fa)
336+
337+ }
338+ gobject.ObjectConnect(x.GoPointer(), "signal::clicked", purego.NewCallback(fcb))
339+}
340+
341+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
342+func (x *SplitButton) GetAccessibleRole() gtk.AccessibleRole {
343+
344+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
345+
346+}
347+
348+// Resets the accessible @property to its default value.
349+func (x *SplitButton) ResetProperty(PropertyVar gtk.AccessibleProperty) {
350+
351+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
352+
353+}
354+
355+// Resets the accessible @relation to its default value.
356+func (x *SplitButton) ResetRelation(RelationVar gtk.AccessibleRelation) {
357+
358+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
359+
360+}
361+
362+// Resets the accessible @state to its default value.
363+func (x *SplitButton) ResetState(StateVar gtk.AccessibleState) {
364+
365+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
366+
367+}
368+
369+// Updates a list of accessible properties.
370+//
371+// See the [enum@Gtk.AccessibleProperty] documentation for the
372+// value types of accessible properties.
373+//
374+// This function should be called by `GtkWidget` types whenever
375+// an accessible property change must be communicated to assistive
376+// technologies.
377+//
378+// Example:
379+// ```c
380+// value = gtk_adjustment_get_value (adjustment);
381+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
382+//
383+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
384+// -1);
385+//
386+// ```
387+func (x *SplitButton) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
388+
389+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
390+
391+}
392+
393+// Updates an array of accessible properties.
394+//
395+// This function should be called by `GtkWidget` types whenever an accessible
396+// property change must be communicated to assistive technologies.
397+//
398+// This function is meant to be used by language bindings.
399+func (x *SplitButton) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
400+
401+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
402+
403+}
404+
405+// Updates a list of accessible relations.
406+//
407+// This function should be called by `GtkWidget` types whenever an accessible
408+// relation change must be communicated to assistive technologies.
409+//
410+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
411+// you should pass each reference individually, followed by %NULL, e.g.
412+//
413+// ```c
414+// gtk_accessible_update_relation (accessible,
415+//
416+// GTK_ACCESSIBLE_RELATION_CONTROLS,
417+// ref1, NULL,
418+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
419+// ref1, ref2, ref3, NULL,
420+// -1);
421+//
422+// ```
423+func (x *SplitButton) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
424+
425+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
426+
427+}
428+
429+// Updates an array of accessible relations.
430+//
431+// This function should be called by `GtkWidget` types whenever an accessible
432+// relation change must be communicated to assistive technologies.
433+//
434+// This function is meant to be used by language bindings.
435+func (x *SplitButton) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
436+
437+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
438+
439+}
440+
441+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
442+// documentation for the value types of accessible states.
443+//
444+// This function should be called by `GtkWidget` types whenever an accessible
445+// state change must be communicated to assistive technologies.
446+//
447+// Example:
448+// ```c
449+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
450+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
451+//
452+// GTK_ACCESSIBLE_STATE_CHECKED, value,
453+// -1);
454+//
455+// ```
456+func (x *SplitButton) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
457+
458+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
459+
460+}
461+
462+// Updates an array of accessible states.
463+//
464+// This function should be called by `GtkWidget` types whenever an accessible
465+// state change must be communicated to assistive technologies.
466+//
467+// This function is meant to be used by language bindings.
468+func (x *SplitButton) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
469+
470+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
471+
472+}
473+
474+// Gets the action name for @actionable.
475+func (x *SplitButton) GetActionName() string {
476+
477+ return gtk.XGtkActionableGetActionName(x.GoPointer())
478+
479+}
480+
481+// Gets the current target value of @actionable.
482+func (x *SplitButton) GetActionTargetValue() *glib.Variant {
483+
484+ return gtk.XGtkActionableGetActionTargetValue(x.GoPointer())
485+
486+}
487+
488+// Specifies the name of the action with which this widget should be
489+// associated.
490+//
491+// If @action_name is %NULL then the widget will be unassociated from
492+// any previous action.
493+//
494+// Usually this function is used when the widget is located (or will be
495+// located) within the hierarchy of a `GtkApplicationWindow`.
496+//
497+// Names are of the form “win.save” or “app.quit” for actions on the
498+// containing [class@ApplicationWindow] or its associated [class@Application],
499+// respectively. This is the same form used for actions in the [class@Gio.Menu]
500+// associated with the window.
501+func (x *SplitButton) SetActionName(ActionNameVar string) {
502+
503+ gtk.XGtkActionableSetActionName(x.GoPointer(), ActionNameVar)
504+
505+}
506+
507+// Sets the target of an actionable widget.
508+//
509+// This is a convenience function that calls [ctor@GLib.Variant.new] for
510+// @format_string and uses the result to call
511+// [method@Gtk.Actionable.set_action_target_value].
512+//
513+// If you are setting a string-valued target and want to set
514+// the action name at the same time, you can use
515+// [method@Gtk.Actionable.set_detailed_action_name].
516+func (x *SplitButton) SetActionTarget(FormatStringVar string, varArgs ...interface{}) {
517+
518+ gtk.XGtkActionableSetActionTarget(x.GoPointer(), FormatStringVar, varArgs...)
519+
520+}
521+
522+// Sets the target value of an actionable widget.
523+//
524+// If @target_value is %NULL then the target value is unset.
525+//
526+// The target value has two purposes. First, it is used as the parameter
527+// to activation of the action associated with the `GtkActionable` widget.
528+// Second, it is used to determine if the widget should be rendered as
529+// “active” — the widget is active if the state is equal to the given target.
530+//
531+// Consider the example of associating a set of buttons with a [iface@Gio.Action]
532+// with string state in a typical “radio button” situation. Each button
533+// will be associated with the same action, but with a different target
534+// value for that action. Clicking on a particular button will activate
535+// the action with the target of that button, which will typically cause
536+// the action’s state to change to that value. Since the action’s state
537+// is now equal to the target value of the button, the button will now
538+// be rendered as active (and the other buttons, with different targets,
539+// rendered inactive).
540+func (x *SplitButton) SetActionTargetValue(TargetValueVar *glib.Variant) {
541+
542+ gtk.XGtkActionableSetActionTargetValue(x.GoPointer(), TargetValueVar)
543+
544+}
545+
546+// Sets the action-name and associated string target value of an
547+// actionable widget.
548+//
549+// @detailed_action_name is a string in the format accepted by
550+// [func@Gio.Action.parse_detailed_name].
551+func (x *SplitButton) SetDetailedActionName(DetailedActionNameVar string) {
552+
553+ gtk.XGtkActionableSetDetailedActionName(x.GoPointer(), DetailedActionNameVar)
554+
555+}
556+
557+// Gets the ID of the @buildable object.
558+//
559+// `GtkBuilder` sets the name based on the ID attribute
560+// of the &lt;object&gt; tag used to construct the @buildable.
561+func (x *SplitButton) GetBuildableId() string {
562+
563+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
564+
565+}
566+
567+func init() {
568+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
569+ if err != nil {
570+ panic(err)
571+ }
572+
573+ core.PuregoSafeRegister(&xNewSplitButton, lib, "adw_split_button_new")
574+
575+ core.PuregoSafeRegister(&xSplitButtonGetChild, lib, "adw_split_button_get_child")
576+ core.PuregoSafeRegister(&xSplitButtonGetDirection, lib, "adw_split_button_get_direction")
577+ core.PuregoSafeRegister(&xSplitButtonGetDropdownTooltip, lib, "adw_split_button_get_dropdown_tooltip")
578+ core.PuregoSafeRegister(&xSplitButtonGetIconName, lib, "adw_split_button_get_icon_name")
579+ core.PuregoSafeRegister(&xSplitButtonGetLabel, lib, "adw_split_button_get_label")
580+ core.PuregoSafeRegister(&xSplitButtonGetMenuModel, lib, "adw_split_button_get_menu_model")
581+ core.PuregoSafeRegister(&xSplitButtonGetPopover, lib, "adw_split_button_get_popover")
582+ core.PuregoSafeRegister(&xSplitButtonGetUseUnderline, lib, "adw_split_button_get_use_underline")
583+ core.PuregoSafeRegister(&xSplitButtonPopdown, lib, "adw_split_button_popdown")
584+ core.PuregoSafeRegister(&xSplitButtonPopup, lib, "adw_split_button_popup")
585+ core.PuregoSafeRegister(&xSplitButtonSetChild, lib, "adw_split_button_set_child")
586+ core.PuregoSafeRegister(&xSplitButtonSetDirection, lib, "adw_split_button_set_direction")
587+ core.PuregoSafeRegister(&xSplitButtonSetDropdownTooltip, lib, "adw_split_button_set_dropdown_tooltip")
588+ core.PuregoSafeRegister(&xSplitButtonSetIconName, lib, "adw_split_button_set_icon_name")
589+ core.PuregoSafeRegister(&xSplitButtonSetLabel, lib, "adw_split_button_set_label")
590+ core.PuregoSafeRegister(&xSplitButtonSetMenuModel, lib, "adw_split_button_set_menu_model")
591+ core.PuregoSafeRegister(&xSplitButtonSetPopover, lib, "adw_split_button_set_popover")
592+ core.PuregoSafeRegister(&xSplitButtonSetUseUnderline, lib, "adw_split_button_set_use_underline")
593+
594+}
A v4/adw/adw-spring-animation.go +288 -0
@@ -0,0 +1,288 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gobject"
8+ "github.com/jwijenbergh/puregotk/v4/gtk"
9+)
10+
11+type SpringAnimationClass struct {
12+}
13+
14+// A spring-based [class@Animation].
15+//
16+// `AdwSpringAnimation` implements an animation driven by a physical model of a
17+// spring described by [struct@SpringParams], with a resting position in
18+// [property@SpringAnimation:value-to], stretched to
19+// [property@SpringAnimation:value-from].
20+//
21+// Since the animation is physically simulated, spring animations don't have a
22+// fixed duration. The animation will stop when the simulated spring comes to a
23+// rest - when the amplitude of the oscillations becomes smaller than
24+// [property@SpringAnimation:epsilon], or immediately when it reaches
25+// [property@SpringAnimation:value-to] if
26+// [property@SpringAnimation:clamp] is set to `TRUE`. The estimated duration can
27+// be obtained with [property@SpringAnimation:estimated-duration].
28+//
29+// Due to the nature of spring-driven motion the animation can overshoot
30+// [property@SpringAnimation:value-to] before coming to a rest. Whether the
31+// animation will overshoot or not depends on the damping ratio of the spring.
32+// See [struct@SpringParams] for more information about specific damping ratio
33+// values.
34+//
35+// If [property@SpringAnimation:clamp] is `TRUE`, the animation will abruptly
36+// end as soon as it reaches the final value, preventing overshooting.
37+//
38+// Animations can have an initial velocity value, set via
39+// [property@SpringAnimation:initial-velocity], which adjusts the curve without
40+// changing the duration. This makes spring animations useful for deceleration
41+// at the end of gestures.
42+//
43+// If the initial and final values are equal, and the initial velocity is not 0,
44+// the animation value will bounce and return to its resting position.
45+type SpringAnimation struct {
46+ Animation
47+}
48+
49+func SpringAnimationNewFromInternalPtr(ptr uintptr) *SpringAnimation {
50+ cls := &SpringAnimation{}
51+ cls.Ptr = ptr
52+ return cls
53+}
54+
55+var xNewSpringAnimation func(uintptr, float64, float64, *SpringParams, uintptr) uintptr
56+
57+// Creates a new `AdwSpringAnimation` on @widget.
58+//
59+// The animation will animate @target from @from to @to with the dynamics of a
60+// spring described by @spring_params.
61+func NewSpringAnimation(WidgetVar *gtk.Widget, FromVar float64, ToVar float64, SpringParamsVar *SpringParams, TargetVar *AnimationTarget) *Animation {
62+ NewSpringAnimationPtr := xNewSpringAnimation(WidgetVar.GoPointer(), FromVar, ToVar, SpringParamsVar, TargetVar.GoPointer())
63+ if NewSpringAnimationPtr == 0 {
64+ return nil
65+ }
66+
67+ gobject.IncreaseRef(NewSpringAnimationPtr)
68+
69+ NewSpringAnimationCls := &Animation{}
70+ NewSpringAnimationCls.Ptr = NewSpringAnimationPtr
71+ return NewSpringAnimationCls
72+}
73+
74+var xSpringAnimationCalculateValue func(uintptr, uint) float64
75+
76+// Calculates the value @self will have at @time.
77+//
78+// The time starts at 0 and ends at
79+// [property@SpringAnimation:estimated_duration].
80+//
81+// See also [method@SpringAnimation.calculate_velocity].
82+func (x *SpringAnimation) CalculateValue(TimeVar uint) float64 {
83+
84+ return xSpringAnimationCalculateValue(x.GoPointer(), TimeVar)
85+
86+}
87+
88+var xSpringAnimationCalculateVelocity func(uintptr, uint) float64
89+
90+// Calculates the velocity @self will have at @time.
91+//
92+// The time starts at 0 and ends at
93+// [property@SpringAnimation:estimated_duration].
94+//
95+// See also [method@SpringAnimation.calculate_value].
96+func (x *SpringAnimation) CalculateVelocity(TimeVar uint) float64 {
97+
98+ return xSpringAnimationCalculateVelocity(x.GoPointer(), TimeVar)
99+
100+}
101+
102+var xSpringAnimationGetClamp func(uintptr) bool
103+
104+// Gets whether @self should be clamped.
105+func (x *SpringAnimation) GetClamp() bool {
106+
107+ return xSpringAnimationGetClamp(x.GoPointer())
108+
109+}
110+
111+var xSpringAnimationGetEpsilon func(uintptr) float64
112+
113+// Gets the precision of the spring.
114+func (x *SpringAnimation) GetEpsilon() float64 {
115+
116+ return xSpringAnimationGetEpsilon(x.GoPointer())
117+
118+}
119+
120+var xSpringAnimationGetEstimatedDuration func(uintptr) uint
121+
122+// Gets the estimated duration of @self, in milliseconds.
123+//
124+// Can be [const@DURATION_INFINITE] if the spring damping is set to 0.
125+func (x *SpringAnimation) GetEstimatedDuration() uint {
126+
127+ return xSpringAnimationGetEstimatedDuration(x.GoPointer())
128+
129+}
130+
131+var xSpringAnimationGetInitialVelocity func(uintptr) float64
132+
133+// Gets the initial velocity of @self.
134+func (x *SpringAnimation) GetInitialVelocity() float64 {
135+
136+ return xSpringAnimationGetInitialVelocity(x.GoPointer())
137+
138+}
139+
140+var xSpringAnimationGetSpringParams func(uintptr) *SpringParams
141+
142+// Gets the physical parameters of the spring of @self.
143+func (x *SpringAnimation) GetSpringParams() *SpringParams {
144+
145+ return xSpringAnimationGetSpringParams(x.GoPointer())
146+
147+}
148+
149+var xSpringAnimationGetValueFrom func(uintptr) float64
150+
151+// Gets the value @self will animate from.
152+func (x *SpringAnimation) GetValueFrom() float64 {
153+
154+ return xSpringAnimationGetValueFrom(x.GoPointer())
155+
156+}
157+
158+var xSpringAnimationGetValueTo func(uintptr) float64
159+
160+// Gets the value @self will animate to.
161+func (x *SpringAnimation) GetValueTo() float64 {
162+
163+ return xSpringAnimationGetValueTo(x.GoPointer())
164+
165+}
166+
167+var xSpringAnimationGetVelocity func(uintptr) float64
168+
169+// Gets the current velocity of @self.
170+func (x *SpringAnimation) GetVelocity() float64 {
171+
172+ return xSpringAnimationGetVelocity(x.GoPointer())
173+
174+}
175+
176+var xSpringAnimationSetClamp func(uintptr, bool)
177+
178+// Sets whether @self should be clamped.
179+//
180+// If set to `TRUE`, the animation will abruptly end as soon as it reaches the
181+// final value, preventing overshooting.
182+//
183+// It won't prevent overshooting [property@SpringAnimation:value-from] if a
184+// relative negative [property@SpringAnimation:initial-velocity] is set.
185+func (x *SpringAnimation) SetClamp(ClampVar bool) {
186+
187+ xSpringAnimationSetClamp(x.GoPointer(), ClampVar)
188+
189+}
190+
191+var xSpringAnimationSetEpsilon func(uintptr, float64)
192+
193+// Sets the precision of the spring.
194+//
195+// The level of precision used to determine when the animation has come to a
196+// rest, that is, when the amplitude of the oscillations becomes smaller than
197+// this value.
198+//
199+// If the epsilon value is too small, the animation will take a long time to
200+// stop after the animated value has stopped visibly changing.
201+//
202+// If the epsilon value is too large, the animation will end prematurely.
203+//
204+// The default value is 0.001.
205+func (x *SpringAnimation) SetEpsilon(EpsilonVar float64) {
206+
207+ xSpringAnimationSetEpsilon(x.GoPointer(), EpsilonVar)
208+
209+}
210+
211+var xSpringAnimationSetInitialVelocity func(uintptr, float64)
212+
213+// Sets the initial velocity of @self.
214+//
215+// Initial velocity affects only the animation curve, but not its duration.
216+func (x *SpringAnimation) SetInitialVelocity(VelocityVar float64) {
217+
218+ xSpringAnimationSetInitialVelocity(x.GoPointer(), VelocityVar)
219+
220+}
221+
222+var xSpringAnimationSetSpringParams func(uintptr, *SpringParams)
223+
224+// Sets the physical parameters of the spring of @self.
225+func (x *SpringAnimation) SetSpringParams(SpringParamsVar *SpringParams) {
226+
227+ xSpringAnimationSetSpringParams(x.GoPointer(), SpringParamsVar)
228+
229+}
230+
231+var xSpringAnimationSetValueFrom func(uintptr, float64)
232+
233+// Sets the value @self will animate from.
234+//
235+// The animation will start at this value and end at
236+// [property@SpringAnimation:value-to].
237+func (x *SpringAnimation) SetValueFrom(ValueVar float64) {
238+
239+ xSpringAnimationSetValueFrom(x.GoPointer(), ValueVar)
240+
241+}
242+
243+var xSpringAnimationSetValueTo func(uintptr, float64)
244+
245+// Sets the value @self will animate to.
246+//
247+// The animation will start at [property@SpringAnimation:value-from] and end at
248+// this value.
249+func (x *SpringAnimation) SetValueTo(ValueVar float64) {
250+
251+ xSpringAnimationSetValueTo(x.GoPointer(), ValueVar)
252+
253+}
254+
255+func (c *SpringAnimation) GoPointer() uintptr {
256+ return c.Ptr
257+}
258+
259+func (c *SpringAnimation) SetGoPointer(ptr uintptr) {
260+ c.Ptr = ptr
261+}
262+
263+func init() {
264+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
265+ if err != nil {
266+ panic(err)
267+ }
268+
269+ core.PuregoSafeRegister(&xNewSpringAnimation, lib, "adw_spring_animation_new")
270+
271+ core.PuregoSafeRegister(&xSpringAnimationCalculateValue, lib, "adw_spring_animation_calculate_value")
272+ core.PuregoSafeRegister(&xSpringAnimationCalculateVelocity, lib, "adw_spring_animation_calculate_velocity")
273+ core.PuregoSafeRegister(&xSpringAnimationGetClamp, lib, "adw_spring_animation_get_clamp")
274+ core.PuregoSafeRegister(&xSpringAnimationGetEpsilon, lib, "adw_spring_animation_get_epsilon")
275+ core.PuregoSafeRegister(&xSpringAnimationGetEstimatedDuration, lib, "adw_spring_animation_get_estimated_duration")
276+ core.PuregoSafeRegister(&xSpringAnimationGetInitialVelocity, lib, "adw_spring_animation_get_initial_velocity")
277+ core.PuregoSafeRegister(&xSpringAnimationGetSpringParams, lib, "adw_spring_animation_get_spring_params")
278+ core.PuregoSafeRegister(&xSpringAnimationGetValueFrom, lib, "adw_spring_animation_get_value_from")
279+ core.PuregoSafeRegister(&xSpringAnimationGetValueTo, lib, "adw_spring_animation_get_value_to")
280+ core.PuregoSafeRegister(&xSpringAnimationGetVelocity, lib, "adw_spring_animation_get_velocity")
281+ core.PuregoSafeRegister(&xSpringAnimationSetClamp, lib, "adw_spring_animation_set_clamp")
282+ core.PuregoSafeRegister(&xSpringAnimationSetEpsilon, lib, "adw_spring_animation_set_epsilon")
283+ core.PuregoSafeRegister(&xSpringAnimationSetInitialVelocity, lib, "adw_spring_animation_set_initial_velocity")
284+ core.PuregoSafeRegister(&xSpringAnimationSetSpringParams, lib, "adw_spring_animation_set_spring_params")
285+ core.PuregoSafeRegister(&xSpringAnimationSetValueFrom, lib, "adw_spring_animation_set_value_from")
286+ core.PuregoSafeRegister(&xSpringAnimationSetValueTo, lib, "adw_spring_animation_set_value_to")
287+
288+}
A v4/adw/adw-spring-params.go +35 -0
@@ -0,0 +1,35 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+// Physical parameters of a spring for [class@SpringAnimation].
5+//
6+// Any spring can be described by three parameters: mass, stiffness and damping.
7+//
8+// An undamped spring will produce an oscillatory motion which will go on
9+// forever.
10+//
11+// The frequency and amplitude of the oscillations will be determined by the
12+// stiffness (how "strong" the spring is) and its mass (how much "inertia" it
13+// has).
14+//
15+// If damping is larger than 0, the amplitude of that oscillating motion will
16+// exponientally decrease over time. If that damping is strong enough that the
17+// spring can't complete a full oscillation, it's called an overdamped spring.
18+//
19+// If we the spring can oscillate, it's called an underdamped spring.
20+//
21+// The value between these two behaviors is called critical damping; a
22+// critically damped spring will comes to rest in the minimum possible time
23+// without producing oscillations.
24+//
25+// The damping can be replaced by damping ratio, which produces the following
26+// springs:
27+//
28+// * 0: an undamped spring.
29+// * Between 0 and 1: an underdamped spring.
30+// * 1: a critically damped spring.
31+// * Larger than 1: an overdamped spring.
32+//
33+// As such
34+type SpringParams struct {
35+}
A v4/adw/adw-squeezer.go +619 -0 collapsed to keep the page light
A v4/adw/adw-status-page.go +347 -0
@@ -0,0 +1,347 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+ "github.com/jwijenbergh/puregotk/v4/gobject"
9+ "github.com/jwijenbergh/puregotk/v4/gtk"
10+)
11+
12+type StatusPageClass struct {
13+ ParentClass uintptr
14+}
15+
16+// A page used for empty/error states and similar use-cases.
17+//
18+// &lt;picture&gt;
19+//
20+// &lt;source srcset="status-page-dark.png" media="(prefers-color-scheme: dark)"&gt;
21+// &lt;img src="status-page.png" alt="status-page"&gt;
22+//
23+// &lt;/picture&gt;
24+//
25+// The `AdwStatusPage` widget can have an icon, a title, a description and a
26+// custom widget which is displayed below them.
27+//
28+// ## CSS nodes
29+//
30+// `AdwStatusPage` has a main CSS node with name `statuspage`.
31+//
32+// `AdwStatusPage` can use the
33+// [`.compact`](style-classes.html#compact-status-page) style class for when it
34+// needs to fit into a small space such a sidebar or a popover.
35+type StatusPage struct {
36+ gtk.Widget
37+}
38+
39+func StatusPageNewFromInternalPtr(ptr uintptr) *StatusPage {
40+ cls := &StatusPage{}
41+ cls.Ptr = ptr
42+ return cls
43+}
44+
45+var xNewStatusPage func() uintptr
46+
47+// Creates a new `AdwStatusPage`.
48+func NewStatusPage() *gtk.Widget {
49+ NewStatusPagePtr := xNewStatusPage()
50+ if NewStatusPagePtr == 0 {
51+ return nil
52+ }
53+
54+ gobject.IncreaseRef(NewStatusPagePtr)
55+
56+ NewStatusPageCls := &gtk.Widget{}
57+ NewStatusPageCls.Ptr = NewStatusPagePtr
58+ return NewStatusPageCls
59+}
60+
61+var xStatusPageGetChild func(uintptr) uintptr
62+
63+// Gets the child widget of @self.
64+func (x *StatusPage) GetChild() *gtk.Widget {
65+
66+ GetChildPtr := xStatusPageGetChild(x.GoPointer())
67+ if GetChildPtr == 0 {
68+ return nil
69+ }
70+
71+ gobject.IncreaseRef(GetChildPtr)
72+
73+ GetChildCls := &gtk.Widget{}
74+ GetChildCls.Ptr = GetChildPtr
75+ return GetChildCls
76+
77+}
78+
79+var xStatusPageGetDescription func(uintptr) string
80+
81+// Gets the description for @self.
82+func (x *StatusPage) GetDescription() string {
83+
84+ return xStatusPageGetDescription(x.GoPointer())
85+
86+}
87+
88+var xStatusPageGetIconName func(uintptr) string
89+
90+// Gets the icon name for @self.
91+func (x *StatusPage) GetIconName() string {
92+
93+ return xStatusPageGetIconName(x.GoPointer())
94+
95+}
96+
97+var xStatusPageGetPaintable func(uintptr) uintptr
98+
99+// Gets the paintable for @self.
100+func (x *StatusPage) GetPaintable() *gdk.PaintableBase {
101+
102+ GetPaintablePtr := xStatusPageGetPaintable(x.GoPointer())
103+ if GetPaintablePtr == 0 {
104+ return nil
105+ }
106+
107+ gobject.IncreaseRef(GetPaintablePtr)
108+
109+ GetPaintableCls := &gdk.PaintableBase{}
110+ GetPaintableCls.Ptr = GetPaintablePtr
111+ return GetPaintableCls
112+
113+}
114+
115+var xStatusPageGetTitle func(uintptr) string
116+
117+// Gets the title for @self.
118+func (x *StatusPage) GetTitle() string {
119+
120+ return xStatusPageGetTitle(x.GoPointer())
121+
122+}
123+
124+var xStatusPageSetChild func(uintptr, uintptr)
125+
126+// Sets the child widget of @self.
127+func (x *StatusPage) SetChild(ChildVar *gtk.Widget) {
128+
129+ xStatusPageSetChild(x.GoPointer(), ChildVar.GoPointer())
130+
131+}
132+
133+var xStatusPageSetDescription func(uintptr, string)
134+
135+// Sets the description for @self.
136+//
137+// The description is displayed below the title.
138+func (x *StatusPage) SetDescription(DescriptionVar string) {
139+
140+ xStatusPageSetDescription(x.GoPointer(), DescriptionVar)
141+
142+}
143+
144+var xStatusPageSetIconName func(uintptr, string)
145+
146+// Sets the icon name for @self.
147+//
148+// Changing this will set [property@StatusPage:paintable] to `NULL`.
149+func (x *StatusPage) SetIconName(IconNameVar string) {
150+
151+ xStatusPageSetIconName(x.GoPointer(), IconNameVar)
152+
153+}
154+
155+var xStatusPageSetPaintable func(uintptr, uintptr)
156+
157+// Sets the paintable for @self.
158+//
159+// Changing this will set [property@StatusPage:icon-name] to `NULL`.
160+func (x *StatusPage) SetPaintable(PaintableVar gdk.Paintable) {
161+
162+ xStatusPageSetPaintable(x.GoPointer(), PaintableVar.GoPointer())
163+
164+}
165+
166+var xStatusPageSetTitle func(uintptr, string)
167+
168+// Sets the title for @self.
169+//
170+// The title is displayed below the icon.
171+func (x *StatusPage) SetTitle(TitleVar string) {
172+
173+ xStatusPageSetTitle(x.GoPointer(), TitleVar)
174+
175+}
176+
177+func (c *StatusPage) GoPointer() uintptr {
178+ return c.Ptr
179+}
180+
181+func (c *StatusPage) SetGoPointer(ptr uintptr) {
182+ c.Ptr = ptr
183+}
184+
185+// Retrieves the `GtkAccessibleRole` for the given `GtkAccessible`.
186+func (x *StatusPage) GetAccessibleRole() gtk.AccessibleRole {
187+
188+ return gtk.XGtkAccessibleGetAccessibleRole(x.GoPointer())
189+
190+}
191+
192+// Resets the accessible @property to its default value.
193+func (x *StatusPage) ResetProperty(PropertyVar gtk.AccessibleProperty) {
194+
195+ gtk.XGtkAccessibleResetProperty(x.GoPointer(), PropertyVar)
196+
197+}
198+
199+// Resets the accessible @relation to its default value.
200+func (x *StatusPage) ResetRelation(RelationVar gtk.AccessibleRelation) {
201+
202+ gtk.XGtkAccessibleResetRelation(x.GoPointer(), RelationVar)
203+
204+}
205+
206+// Resets the accessible @state to its default value.
207+func (x *StatusPage) ResetState(StateVar gtk.AccessibleState) {
208+
209+ gtk.XGtkAccessibleResetState(x.GoPointer(), StateVar)
210+
211+}
212+
213+// Updates a list of accessible properties.
214+//
215+// See the [enum@Gtk.AccessibleProperty] documentation for the
216+// value types of accessible properties.
217+//
218+// This function should be called by `GtkWidget` types whenever
219+// an accessible property change must be communicated to assistive
220+// technologies.
221+//
222+// Example:
223+// ```c
224+// value = gtk_adjustment_get_value (adjustment);
225+// gtk_accessible_update_property (GTK_ACCESSIBLE (spin_button),
226+//
227+// GTK_ACCESSIBLE_PROPERTY_VALUE_NOW, value,
228+// -1);
229+//
230+// ```
231+func (x *StatusPage) UpdateProperty(FirstPropertyVar gtk.AccessibleProperty, varArgs ...interface{}) {
232+
233+ gtk.XGtkAccessibleUpdateProperty(x.GoPointer(), FirstPropertyVar, varArgs...)
234+
235+}
236+
237+// Updates an array of accessible properties.
238+//
239+// This function should be called by `GtkWidget` types whenever an accessible
240+// property change must be communicated to assistive technologies.
241+//
242+// This function is meant to be used by language bindings.
243+func (x *StatusPage) UpdatePropertyValue(NPropertiesVar int32, PropertiesVar uintptr, ValuesVar uintptr) {
244+
245+ gtk.XGtkAccessibleUpdatePropertyValue(x.GoPointer(), NPropertiesVar, PropertiesVar, ValuesVar)
246+
247+}
248+
249+// Updates a list of accessible relations.
250+//
251+// This function should be called by `GtkWidget` types whenever an accessible
252+// relation change must be communicated to assistive technologies.
253+//
254+// If the [enum@Gtk.AccessibleRelation] requires a list of references,
255+// you should pass each reference individually, followed by %NULL, e.g.
256+//
257+// ```c
258+// gtk_accessible_update_relation (accessible,
259+//
260+// GTK_ACCESSIBLE_RELATION_CONTROLS,
261+// ref1, NULL,
262+// GTK_ACCESSIBLE_RELATION_LABELLED_BY,
263+// ref1, ref2, ref3, NULL,
264+// -1);
265+//
266+// ```
267+func (x *StatusPage) UpdateRelation(FirstRelationVar gtk.AccessibleRelation, varArgs ...interface{}) {
268+
269+ gtk.XGtkAccessibleUpdateRelation(x.GoPointer(), FirstRelationVar, varArgs...)
270+
271+}
272+
273+// Updates an array of accessible relations.
274+//
275+// This function should be called by `GtkWidget` types whenever an accessible
276+// relation change must be communicated to assistive technologies.
277+//
278+// This function is meant to be used by language bindings.
279+func (x *StatusPage) UpdateRelationValue(NRelationsVar int32, RelationsVar uintptr, ValuesVar uintptr) {
280+
281+ gtk.XGtkAccessibleUpdateRelationValue(x.GoPointer(), NRelationsVar, RelationsVar, ValuesVar)
282+
283+}
284+
285+// Updates a list of accessible states. See the [enum@Gtk.AccessibleState]
286+// documentation for the value types of accessible states.
287+//
288+// This function should be called by `GtkWidget` types whenever an accessible
289+// state change must be communicated to assistive technologies.
290+//
291+// Example:
292+// ```c
293+// value = GTK_ACCESSIBLE_TRISTATE_MIXED;
294+// gtk_accessible_update_state (GTK_ACCESSIBLE (check_button),
295+//
296+// GTK_ACCESSIBLE_STATE_CHECKED, value,
297+// -1);
298+//
299+// ```
300+func (x *StatusPage) UpdateState(FirstStateVar gtk.AccessibleState, varArgs ...interface{}) {
301+
302+ gtk.XGtkAccessibleUpdateState(x.GoPointer(), FirstStateVar, varArgs...)
303+
304+}
305+
306+// Updates an array of accessible states.
307+//
308+// This function should be called by `GtkWidget` types whenever an accessible
309+// state change must be communicated to assistive technologies.
310+//
311+// This function is meant to be used by language bindings.
312+func (x *StatusPage) UpdateStateValue(NStatesVar int32, StatesVar uintptr, ValuesVar uintptr) {
313+
314+ gtk.XGtkAccessibleUpdateStateValue(x.GoPointer(), NStatesVar, StatesVar, ValuesVar)
315+
316+}
317+
318+// Gets the ID of the @buildable object.
319+//
320+// `GtkBuilder` sets the name based on the ID attribute
321+// of the &lt;object&gt; tag used to construct the @buildable.
322+func (x *StatusPage) GetBuildableId() string {
323+
324+ return gtk.XGtkBuildableGetBuildableId(x.GoPointer())
325+
326+}
327+
328+func init() {
329+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
330+ if err != nil {
331+ panic(err)
332+ }
333+
334+ core.PuregoSafeRegister(&xNewStatusPage, lib, "adw_status_page_new")
335+
336+ core.PuregoSafeRegister(&xStatusPageGetChild, lib, "adw_status_page_get_child")
337+ core.PuregoSafeRegister(&xStatusPageGetDescription, lib, "adw_status_page_get_description")
338+ core.PuregoSafeRegister(&xStatusPageGetIconName, lib, "adw_status_page_get_icon_name")
339+ core.PuregoSafeRegister(&xStatusPageGetPaintable, lib, "adw_status_page_get_paintable")
340+ core.PuregoSafeRegister(&xStatusPageGetTitle, lib, "adw_status_page_get_title")
341+ core.PuregoSafeRegister(&xStatusPageSetChild, lib, "adw_status_page_set_child")
342+ core.PuregoSafeRegister(&xStatusPageSetDescription, lib, "adw_status_page_set_description")
343+ core.PuregoSafeRegister(&xStatusPageSetIconName, lib, "adw_status_page_set_icon_name")
344+ core.PuregoSafeRegister(&xStatusPageSetPaintable, lib, "adw_status_page_set_paintable")
345+ core.PuregoSafeRegister(&xStatusPageSetTitle, lib, "adw_status_page_set_title")
346+
347+}
A v4/adw/adw-style-manager.go +180 -0 collapsed to keep the page light
A v4/adw/adw-swipe-tracker.go +258 -0 collapsed to keep the page light
A v4/adw/adw-swipeable.go +109 -0
@@ -0,0 +1,109 @@
1+// Package adw was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package adw
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+ "github.com/jwijenbergh/puregotk/v4/gdk"
8+)
9+
10+// An interface for swipeable widgets.
11+type SwipeableInterface struct {
12+ Parent uintptr
13+
14+ Padding uintptr
15+}
16+
17+// An interface for swipeable widgets.
18+//
19+// The `AdwSwipeable` interface is implemented by all swipeable widgets.
20+//
21+// See [class@SwipeTracker] for details about implementing it.
22+type Swipeable interface {
23+ GoPointer() uintptr
24+ SetGoPointer(uintptr)
25+ GetCancelProgress() float64
26+ GetDistance() float64
27+ GetProgress() float64
28+ GetSnapPoints(NSnapPointsVar int32) uintptr
29+ GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle)
30+}
31+type SwipeableBase struct {
32+ Ptr uintptr
33+}
34+
35+func (x *SwipeableBase) GoPointer() uintptr {
36+ return x.Ptr
37+}
38+
39+func (x *SwipeableBase) SetGoPointer(ptr uintptr) {
40+ x.Ptr = ptr
41+}
42+
43+// Gets the progress @self will snap back to after the gesture is canceled.
44+func (x *SwipeableBase) GetCancelProgress() float64 {
45+
46+ return XAdwSwipeableGetCancelProgress(x.GoPointer())
47+
48+}
49+
50+// Gets the swipe distance of @self.
51+//
52+// This corresponds to how many pixels 1 unit represents.
53+func (x *SwipeableBase) GetDistance() float64 {
54+
55+ return XAdwSwipeableGetDistance(x.GoPointer())
56+
57+}
58+
59+// Gets the current progress of @self.
60+func (x *SwipeableBase) GetProgress() float64 {
61+
62+ return XAdwSwipeableGetProgress(x.GoPointer())
63+
64+}
65+
66+// Gets the snap points of @self.
67+//
68+// Each snap point represents a progress value that is considered acceptable to
69+// end the swipe on.
70+func (x *SwipeableBase) GetSnapPoints(NSnapPointsVar int32) uintptr {
71+
72+ return XAdwSwipeableGetSnapPoints(x.GoPointer(), NSnapPointsVar)
73+
74+}
75+
76+// Gets the area @self can start a swipe from for the given direction and
77+// gesture type.
78+//
79+// This can be used to restrict swipes to only be possible from a certain area,
80+// for example, to only allow edge swipes, or to have a draggable element and
81+// ignore swipes elsewhere.
82+//
83+// If not implemented, the default implementation returns the allocation of
84+// @self, allowing swipes from anywhere.
85+func (x *SwipeableBase) GetSwipeArea(NavigationDirectionVar NavigationDirection, IsDragVar bool, RectVar *gdk.Rectangle) {
86+
87+ XAdwSwipeableGetSwipeArea(x.GoPointer(), NavigationDirectionVar, IsDragVar, RectVar)
88+
89+}
90+
91+var XAdwSwipeableGetCancelProgress func(uintptr) float64
92+var XAdwSwipeableGetDistance func(uintptr) float64
93+var XAdwSwipeableGetProgress func(uintptr) float64
94+var XAdwSwipeableGetSnapPoints func(uintptr, int32) uintptr
95+var XAdwSwipeableGetSwipeArea func(uintptr, NavigationDirection, bool, *gdk.Rectangle)
96+
97+func init() {
98+ lib, err := purego.Dlopen(core.GetPath("ADW"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
99+ if err != nil {
100+ panic(err)
101+ }
102+
103+ core.PuregoSafeRegister(&XAdwSwipeableGetCancelProgress, lib, "adw_swipeable_get_cancel_progress")
104+ core.PuregoSafeRegister(&XAdwSwipeableGetDistance, lib, "adw_swipeable_get_distance")
105+ core.PuregoSafeRegister(&XAdwSwipeableGetProgress, lib, "adw_swipeable_get_progress")
106+ core.PuregoSafeRegister(&XAdwSwipeableGetSnapPoints, lib, "adw_swipeable_get_snap_points")
107+ core.PuregoSafeRegister(&XAdwSwipeableGetSwipeArea, lib, "adw_swipeable_get_swipe_area")
108+
109+}
A v4/adw/adw-tab-bar.go +485 -0 collapsed to keep the page light
A v4/adw/adw-tab-button.go +373 -0 collapsed to keep the page light
A v4/adw/adw-tab-overview.go +601 -0 collapsed to keep the page light
A v4/adw/adw-tab-view.go +1637 -0 collapsed to keep the page light
A v4/adw/adw-timed-animation.go +232 -0 collapsed to keep the page light
A v4/adw/adw-toast-overlay.go +292 -0 collapsed to keep the page light
A v4/adw/adw-toast.go +484 -0 collapsed to keep the page light
A v4/adw/adw-version.go +66 -0 collapsed to keep the page light
A v4/adw/adw-view-stack.go +842 -0 collapsed to keep the page light
A v4/adw/adw-view-switcher-bar.go +308 -0 collapsed to keep the page light
A v4/adw/adw-view-switcher-title.go +379 -0 collapsed to keep the page light
A v4/adw/adw-view-switcher.go +290 -0 collapsed to keep the page light
A v4/adw/adw-window-title.go +261 -0 collapsed to keep the page light
A v4/adw/adw-window.go +382 -0 collapsed to keep the page light
A v4/cairo/main.go +510 -0 collapsed to keep the page light
A v4/gdk/gdkapplaunchcontext.go +149 -0 collapsed to keep the page light
A v4/gdk/gdkcairo.go +101 -0 collapsed to keep the page light
A v4/gdk/gdkcairocontext.go +58 -0 collapsed to keep the page light
A v4/gdk/gdkclipboard.go +378 -0 collapsed to keep the page light
A v4/gdk/gdkcontentdeserializer.go +267 -0 collapsed to keep the page light
A v4/gdk/gdkcontentformats.go +54 -0 collapsed to keep the page light
A v4/gdk/gdkcontentprovider.go +231 -0 collapsed to keep the page light
A v4/gdk/gdkcontentserializer.go +268 -0 collapsed to keep the page light
A v4/gdk/gdkcursor.go +205 -0 collapsed to keep the page light
A v4/gdk/gdkdevice.go +375 -0 collapsed to keep the page light
A v4/gdk/gdkdevicepad.go +112 -0 collapsed to keep the page light
A v4/gdk/gdkdevicetool.go +113 -0 collapsed to keep the page light
A v4/gdk/gdkdisplay.go +564 -0 collapsed to keep the page light
A v4/gdk/gdkdisplaymanager.go +196 -0 collapsed to keep the page light
A v4/gdk/gdkdrag.go +274 -0 collapsed to keep the page light
A v4/gdk/gdkdragsurface.go +48 -0
@@ -0,0 +1,48 @@
1+// Package gdk was automatically generated by github.com/jwijenbergh/puregotk DO NOT EDIT
2+package gdk
3+
4+import (
5+ "github.com/jwijenbergh/purego"
6+ "github.com/jwijenbergh/puregotk/internal/core"
7+)
8+
9+// The `GdkDragSurfaceInterface` implementation is private to GDK.
10+type DragSurfaceInterface struct {
11+}
12+
13+// A `GdkDragSurface` is an interface for surfaces used during DND.
14+type DragSurface interface {
15+ GoPointer() uintptr
16+ SetGoPointer(uintptr)
17+ Present(WidthVar int32, HeightVar int32) bool
18+}
19+type DragSurfaceBase struct {
20+ Ptr uintptr
21+}
22+
23+func (x *DragSurfaceBase) GoPointer() uintptr {
24+ return x.Ptr
25+}
26+
27+func (x *DragSurfaceBase) SetGoPointer(ptr uintptr) {
28+ x.Ptr = ptr
29+}
30+
31+// Present @drag_surface.
32+func (x *DragSurfaceBase) Present(WidthVar int32, HeightVar int32) bool {
33+
34+ return XGdkDragSurfacePresent(x.GoPointer(), WidthVar, HeightVar)
35+
36+}
37+
38+var XGdkDragSurfacePresent func(uintptr, int32, int32) bool
39+
40+func init() {
41+ lib, err := purego.Dlopen(core.GetPath("GDK"), purego.RTLD_NOW|purego.RTLD_GLOBAL)
42+ if err != nil {
43+ panic(err)
44+ }
45+
46+ core.PuregoSafeRegister(&XGdkDragSurfacePresent, lib, "gdk_drag_surface_present")
47+
48+}
A v4/gdk/gdkdrawcontext.go +164 -0 collapsed to keep the page light
A v4/gdk/gdkdrop.go +264 -0 collapsed to keep the page light
A v4/gdk/gdkenums.go +255 -0 collapsed to keep the page light
A v4/gdk/gdkevents.go +1222 -0 collapsed to keep the page light
A v4/gdk/gdkframeclock.go +351 -0 collapsed to keep the page light
A v4/gdk/gdkframetimings.go +13 -0 collapsed to keep the page light
A v4/gdk/gdkglcontext.go +399 -0 collapsed to keep the page light
A v4/gdk/gdkgltexture.go +296 -0 collapsed to keep the page light
A v4/gdk/gdkkeys.go +120 -0 collapsed to keep the page light
A v4/gdk/gdkmemorytexture.go +280 -0 collapsed to keep the page light
A v4/gdk/gdkmonitor.go +222 -0 collapsed to keep the page light
A v4/gdk/gdkpaintable.go +301 -0 collapsed to keep the page light
A v4/gdk/gdkpango.go +60 -0 collapsed to keep the page light
A v4/gdk/gdkpixbuf.go +61 -0 collapsed to keep the page light
A v4/gdk/gdkpopup.go +143 -0 collapsed to keep the page light
A v4/gdk/gdkpopuplayout.go +77 -0 collapsed to keep the page light
A v4/gdk/gdkrgba.go +21 -0 collapsed to keep the page light
A v4/gdk/gdkseat.go +202 -0 collapsed to keep the page light
A v4/gdk/gdksnapshot.go +28 -0 collapsed to keep the page light
A v4/gdk/gdksurface.go +566 -0 collapsed to keep the page light
A v4/gdk/gdktexture.go +536 -0 collapsed to keep the page light
A v4/gdk/gdktoplevel.go +399 -0 collapsed to keep the page light
A v4/gdk/gdktoplevellayout.go +14 -0 collapsed to keep the page light
A v4/gdk/gdktoplevelsize.go +29 -0 collapsed to keep the page light
A v4/gdk/gdktypes.go +71 -0 collapsed to keep the page light
A v4/gdk/gdkvulkancontext.go +94 -0 collapsed to keep the page light
A v4/gdk/main.go +53 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-animation.go +405 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-core.go +86 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-io.go +245 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-loader.go +359 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +86 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf-transform.go +59 -0 collapsed to keep the page light
A v4/gdkpixbuf/gdk-pixbuf.go +1394 -0 collapsed to keep the page light
A v4/gdkpixbuf/main.go +76 -0 collapsed to keep the page light
A v4/gio/gaction.go +276 -0 collapsed to keep the page light
A v4/gio/gactiongroup.go +357 -0 collapsed to keep the page light
A v4/gio/gactionmap.go +168 -0 collapsed to keep the page light
A v4/gio/gappinfo.go +777 -0 collapsed to keep the page light
A v4/gio/gapplication.go +1388 -0 collapsed to keep the page light
A v4/gio/gapplicationcommandline.go +463 -0 collapsed to keep the page light
A v4/gio/gasyncinitable.go +237 -0 collapsed to keep the page light
A v4/gio/gasyncresult.go +186 -0 collapsed to keep the page light
A v4/gio/gbufferedinputstream.go +281 -0 collapsed to keep the page light
A v4/gio/gbufferedoutputstream.go +187 -0 collapsed to keep the page light
A v4/gio/gcancellable.go +362 -0 collapsed to keep the page light
A v4/gio/gcharsetconverter.go +228 -0 collapsed to keep the page light
A v4/gio/gcontenttype.go +240 -0 collapsed to keep the page light
A v4/gio/gconverter.go +150 -0 collapsed to keep the page light
A v4/gio/gconverterinputstream.go +141 -0 collapsed to keep the page light
A v4/gio/gconverteroutputstream.go +167 -0 collapsed to keep the page light
A v4/gio/gcredentials.go +194 -0 collapsed to keep the page light
A v4/gio/gdatagrambased.go +282 -0 collapsed to keep the page light
A v4/gio/gdatainputstream.go +451 -0 collapsed to keep the page light
A v4/gio/gdataoutputstream.go +217 -0 collapsed to keep the page light
A v4/gio/gdbusaddress.go +140 -0 collapsed to keep the page light
A v4/gio/gdbusconnection.go +277 -0 collapsed to keep the page light
A v4/gio/gdbuserror.go +156 -0 collapsed to keep the page light
A v4/gio/gdbusinterface.go +105 -0 collapsed to keep the page light
A v4/gio/gdbusinterfaceskeleton.go +298 -0 collapsed to keep the page light
A v4/gio/gdbusintrospection.go +114 -0 collapsed to keep the page light
A v4/gio/gdbusnameowning.go +134 -0 collapsed to keep the page light
A v4/gio/gdbusnamewatching.go +115 -0 collapsed to keep the page light
A v4/gio/gdbusobject.go +81 -0 collapsed to keep the page light
A v4/gio/gdbusobjectmanager.go +101 -0 collapsed to keep the page light
A v4/gio/gdbusobjectmanagerclient.go +437 -0 collapsed to keep the page light
A v4/gio/gdbusobjectmanagerserver.go +217 -0 collapsed to keep the page light
A v4/gio/gdbusobjectproxy.go +115 -0 collapsed to keep the page light
A v4/gio/gdbusobjectskeleton.go +176 -0 collapsed to keep the page light
A v4/gio/gdbusproxy.go +712 -0 collapsed to keep the page light
A v4/gio/gdbusutils.go +213 -0 collapsed to keep the page light
A v4/gio/gdebugcontroller.go +73 -0 collapsed to keep the page light
A v4/gio/gdebugcontrollerdbus.go +287 -0 collapsed to keep the page light
A v4/gio/gdesktopappinfo.go +663 -0 collapsed to keep the page light
A v4/gio/gdrive.go +388 -0 collapsed to keep the page light
A v4/gio/gdtlsclientconnection.go +130 -0 collapsed to keep the page light
A v4/gio/gdtlsconnection.go +536 -0 collapsed to keep the page light
A v4/gio/gdtlsserverconnection.go +55 -0 collapsed to keep the page light
A v4/gio/gemblem.go +145 -0 collapsed to keep the page light
A v4/gio/gemblemedicon.go +154 -0 collapsed to keep the page light
A v4/gio/gfile.go +2758 -0 large diff (2758 lines changed): collapsed
A v4/gio/gfileattribute.go +19 -0 collapsed to keep the page light
A v4/gio/gfiledescriptorbased.go +54 -0 collapsed to keep the page light
A v4/gio/gfileenumerator.go +313 -0 collapsed to keep the page light
A v4/gio/gfileicon.go +154 -0 collapsed to keep the page light
A v4/gio/gfileinfo.go +876 -0 collapsed to keep the page light
A v4/gio/gfileinputstream.go +166 -0 collapsed to keep the page light
A v4/gio/gfileiostream.go +197 -0 collapsed to keep the page light
A v4/gio/gfilemonitor.go +142 -0 collapsed to keep the page light
A v4/gio/gfilenamecompleter.go +101 -0 collapsed to keep the page light
A v4/gio/gfileoutputstream.go +191 -0 collapsed to keep the page light
A v4/gio/gfilterinputstream.go +83 -0 collapsed to keep the page light
A v4/gio/gfilteroutputstream.go +83 -0 collapsed to keep the page light
A v4/gio/gicon.go +167 -0 collapsed to keep the page light
A v4/gio/ginetaddress.go +272 -0 collapsed to keep the page light
A v4/gio/ginetaddressmask.go +194 -0 collapsed to keep the page light
A v4/gio/ginetsocketaddress.go +176 -0 collapsed to keep the page light
A v4/gio/ginitable.go +130 -0 collapsed to keep the page light
A v4/gio/ginputstream.go +430 -0 collapsed to keep the page light
A v4/gio/gio-2.0.go +5784 -0 large diff (5784 lines changed): collapsed
A v4/gio/gioenums.go +1790 -0 collapsed to keep the page light
A v4/gio/gioerror.go +31 -0 collapsed to keep the page light
A v4/gio/giomodule.go +248 -0 collapsed to keep the page light
A v4/gio/gioscheduler.go +46 -0 collapsed to keep the page light
A v4/gio/giostream.go +257 -0 collapsed to keep the page light
A v4/gio/giotypes.go +351 -0 collapsed to keep the page light
A v4/gio/glistmodel.go +192 -0 collapsed to keep the page light
A v4/gio/gliststore.go +286 -0 collapsed to keep the page light
A v4/gio/gloadableicon.go +87 -0 collapsed to keep the page light
A v4/gio/gmemoryinputstream.go +228 -0 collapsed to keep the page light
A v4/gio/gmemorymonitor.go +102 -0 collapsed to keep the page light
A v4/gio/gmemoryoutputstream.go +340 -0 collapsed to keep the page light
A v4/gio/gmenumodel.go +534 -0 collapsed to keep the page light
A v4/gio/gmount.go +448 -0 collapsed to keep the page light
A v4/gio/gmountoperation.go +383 -0 collapsed to keep the page light
A v4/gio/gnativesocketaddress.go +104 -0 collapsed to keep the page light
A v4/gio/gnativevolumemonitor.go +24 -0 collapsed to keep the page light
A v4/gio/gnetworkaddress.go +179 -0 collapsed to keep the page light
A v4/gio/gnetworking.go +28 -0 collapsed to keep the page light
A v4/gio/gnetworkmonitor.go +171 -0 collapsed to keep the page light
A v4/gio/gnetworkservice.go +169 -0 collapsed to keep the page light
A v4/gio/goutputstream.go +660 -0 collapsed to keep the page light
A v4/gio/gpermission.go +211 -0 collapsed to keep the page light
A v4/gio/gpollableinputstream.go +122 -0 collapsed to keep the page light
A v4/gio/gpollableoutputstream.go +157 -0 collapsed to keep the page light
A v4/gio/gpollableutils.go +108 -0 collapsed to keep the page light
A v4/gio/gpowerprofilemonitor.go +91 -0 collapsed to keep the page light
A v4/gio/gproxy.go +125 -0 collapsed to keep the page light
A v4/gio/gproxyaddress.go +186 -0 collapsed to keep the page light
A v4/gio/gproxyaddressenumerator.go +37 -0 collapsed to keep the page light
A v4/gio/gproxyresolver.go +124 -0 collapsed to keep the page light
A v4/gio/gremoteactiongroup.go +96 -0 collapsed to keep the page light
A v4/gio/gresolver.go +348 -0 collapsed to keep the page light
A v4/gio/gresource.go +143 -0 collapsed to keep the page light
A v4/gio/gseekable.go +125 -0 collapsed to keep the page light
A v4/gio/gsettings.go +1357 -0 collapsed to keep the page light
A v4/gio/gsettingsbackend.go +310 -0 collapsed to keep the page light
A v4/gio/gsettingsschema.go +146 -0 collapsed to keep the page light
A v4/gio/gsimpleactiongroup.go +441 -0 collapsed to keep the page light
A v4/gio/gsimpleasyncresult.go +576 -0 collapsed to keep the page light
A v4/gio/gsimpleproxyresolver.go +143 -0 collapsed to keep the page light
A v4/gio/gsocket.go +1353 -0 collapsed to keep the page light
A v4/gio/gsocketaddress.go +143 -0 collapsed to keep the page light
A v4/gio/gsocketaddressenumerator.go +117 -0 collapsed to keep the page light
A v4/gio/gsocketclient.go +713 -0 collapsed to keep the page light
A v4/gio/gsocketconnectable.go +155 -0 collapsed to keep the page light
A v4/gio/gsocketconnection.go +166 -0 collapsed to keep the page light
A v4/gio/gsocketcontrolmessage.go +111 -0 collapsed to keep the page light
A v4/gio/gsocketlistener.go +327 -0 collapsed to keep the page light
A v4/gio/gsocketservice.go +162 -0 collapsed to keep the page light
A v4/gio/gsrvtarget.go +26 -0 collapsed to keep the page light
A v4/gio/gtask.go +1138 -0 collapsed to keep the page light
A v4/gio/gtcpconnection.go +72 -0 collapsed to keep the page light
A v4/gio/gtcpwrapperconnection.go +82 -0 collapsed to keep the page light
A v4/gio/gthemedicon.go +183 -0 collapsed to keep the page light
A v4/gio/gthreadedsocketservice.go +88 -0 collapsed to keep the page light
A v4/gio/gtlsbackend.go +175 -0 collapsed to keep the page light
A v4/gio/gtlscertificate.go +357 -0 collapsed to keep the page light
A v4/gio/gtlsclientconnection.go +210 -0 collapsed to keep the page light
A v4/gio/gtlsconnection.go +521 -0 collapsed to keep the page light
A v4/gio/gtlsdatabase.go +339 -0 collapsed to keep the page light
A v4/gio/gtlsfiledatabase.go +61 -0 collapsed to keep the page light
A v4/gio/gtlsinteraction.go +260 -0 collapsed to keep the page light
A v4/gio/gtlspassword.go +175 -0 collapsed to keep the page light
A v4/gio/gtlsserverconnection.go +60 -0 collapsed to keep the page light
A v4/gio/gunixconnection.go +208 -0 collapsed to keep the page light
A v4/gio/gunixcredentialsmessage.go +112 -0 collapsed to keep the page light
A v4/gio/gunixfdlist.go +192 -0 collapsed to keep the page light
A v4/gio/gunixfdmessage.go +151 -0 collapsed to keep the page light
A v4/gio/gunixinputstream.go +160 -0 collapsed to keep the page light
A v4/gio/gunixmounts.go +429 -0 collapsed to keep the page light
A v4/gio/gunixoutputstream.go +186 -0 collapsed to keep the page light
A v4/gio/gunixsocketaddress.go +233 -0 collapsed to keep the page light
A v4/gio/gvfs.go +166 -0 collapsed to keep the page light
A v4/gio/gvolume.go +352 -0 collapsed to keep the page light
A v4/gio/gvolumemonitor.go +271 -0 collapsed to keep the page light
A v4/gio/gzlibcompressor.go +190 -0 collapsed to keep the page light
A v4/gio/gzlibdecompressor.go +177 -0 collapsed to keep the page light
A v4/gio/main.go +25 -0 collapsed to keep the page light
A v4/glib/garray.go +177 -0 collapsed to keep the page light
A v4/glib/gasyncqueue.go +8 -0 collapsed to keep the page light
A v4/glib/gatomic.go +321 -0 collapsed to keep the page light
A v4/glib/gbacktrace.go +96 -0 collapsed to keep the page light
A v4/glib/gbase64.go +110 -0 collapsed to keep the page light
A v4/glib/gbitlock.go +128 -0 collapsed to keep the page light
A v4/glib/gbookmarkfile.go +31 -0 collapsed to keep the page light
A v4/glib/gcharset.go +143 -0 collapsed to keep the page light
A v4/glib/gchecksum.go +93 -0 collapsed to keep the page light
A v4/glib/gconvert.go +356 -0 collapsed to keep the page light
A v4/glib/gdataset.go +261 -0 collapsed to keep the page light
A v4/glib/gdate.go +296 -0 collapsed to keep the page light
A v4/glib/gdatetime.go +9 -0 collapsed to keep the page light
A v4/glib/gdir.go +6 -0 collapsed to keep the page light
A v4/glib/genviron.go +154 -0 collapsed to keep the page light
A v4/glib/gerror.go +143 -0 collapsed to keep the page light
A v4/glib/gfileutils.go +716 -0 collapsed to keep the page light
A v4/glib/ggettext.go +135 -0 collapsed to keep the page light
A v4/glib/ghash.go +441 -0 collapsed to keep the page light
A v4/glib/ghmac.go +61 -0 collapsed to keep the page light
A v4/glib/ghook.go +154 -0 collapsed to keep the page light
A v4/glib/ghostutils.go +89 -0 collapsed to keep the page light
A v4/glib/giochannel.go +237 -0 collapsed to keep the page light
A v4/glib/gkeyfile.go +46 -0 collapsed to keep the page light
A v4/glib/glib-2.0.go +46 -0 collapsed to keep the page light
A v4/glib/glib-types.go +35 -0 collapsed to keep the page light
A v4/glib/glib-unix.go +174 -0 collapsed to keep the page light
A v4/glib/glibconfig.go +11 -0 collapsed to keep the page light
A v4/glib/glist.go +36 -0 collapsed to keep the page light
A v4/glib/gmain.go +826 -0 collapsed to keep the page light
A v4/glib/gmappedfile.go +8 -0 collapsed to keep the page light
A v4/glib/gmarkup.go +228 -0 collapsed to keep the page light
A v4/glib/gmem.go +273 -0 collapsed to keep the page light
A v4/glib/gmessages.go +815 -0 collapsed to keep the page light
A v4/glib/gnode.go +83 -0 collapsed to keep the page light
A v4/glib/goption.go +136 -0 collapsed to keep the page light
A v4/glib/gpattern.go +71 -0 collapsed to keep the page light
A v4/glib/gpoll.go +55 -0 collapsed to keep the page light
A v4/glib/gprimes.go +30 -0 collapsed to keep the page light
A v4/glib/gprintf.go +122 -0 collapsed to keep the page light
A v4/glib/gqsort.go +28 -0 collapsed to keep the page light
A v4/glib/gquark.go +120 -0 collapsed to keep the page light
A v4/glib/gqueue.go +12 -0 collapsed to keep the page light
A v4/glib/grand.go +74 -0 collapsed to keep the page light
A v4/glib/grcbox.go +205 -0 collapsed to keep the page light
A v4/glib/grefcount.go +103 -0 collapsed to keep the page light
A v4/glib/grefstring.go +95 -0 collapsed to keep the page light
A v4/glib/gregex.go +536 -0 collapsed to keep the page light
A v4/glib/gscanner.go +203 -0 collapsed to keep the page light
A v4/glib/gsequence.go +145 -0 collapsed to keep the page light
A v4/glib/gshell.go +110 -0 collapsed to keep the page light
A v4/glib/gslice.go +142 -0 collapsed to keep the page light
A v4/glib/gslist.go +35 -0 collapsed to keep the page light
A v4/glib/gspawn.go +550 -0 collapsed to keep the page light
A v4/glib/gstdio.go +103 -0 collapsed to keep the page light
A v4/glib/gstrfuncs.go +1089 -0 collapsed to keep the page light
A v4/glib/gstring.go +11 -0 collapsed to keep the page light
A v4/glib/gstringchunk.go +7 -0 collapsed to keep the page light
A v4/glib/gstrvbuilder.go +18 -0 collapsed to keep the page light
A v4/glib/gtestutils.go +1164 -0 collapsed to keep the page light
A v4/glib/gthread.go +436 -0 collapsed to keep the page light
A v4/glib/gthreadpool.go +105 -0 collapsed to keep the page light
A v4/glib/gtimer.go +60 -0 collapsed to keep the page light
A v4/glib/gtimezone.go +27 -0 collapsed to keep the page light
A v4/glib/gtrashstack.go +65 -0 collapsed to keep the page light
A v4/glib/gtree.go +24 -0 collapsed to keep the page light
A v4/glib/gtypes.go +106 -0 collapsed to keep the page light
A v4/glib/gunicode.go +1566 -0 collapsed to keep the page light
A v4/glib/guri.go +600 -0 collapsed to keep the page light
A v4/glib/gutils.go +744 -0 collapsed to keep the page light
A v4/glib/guuid.go +44 -0 collapsed to keep the page light
A v4/glib/gvariant.go +582 -0 collapsed to keep the page light
A v4/glib/gvarianttype.go +238 -0 collapsed to keep the page light
A v4/glib/gversion.go +39 -0 collapsed to keep the page light
A v4/glib/main.go +159 -0 collapsed to keep the page light
A v4/gmodule/gmodule.go +106 -0 collapsed to keep the page light
A v4/gmodule/main.go +25 -0 collapsed to keep the page light
A v4/gobject/gbinding.go +38 -0 collapsed to keep the page light
A v4/gobject/gboxed.go +61 -0 collapsed to keep the page light
A v4/gobject/gclosure.go +172 -0 collapsed to keep the page light
A v4/gobject/genums.go +220 -0 collapsed to keep the page light
A v4/gobject/gmarshal.go +260 -0 collapsed to keep the page light
A v4/gobject/gobject-2.0.go +723 -0 collapsed to keep the page light
A v4/gobject/gobject.go +1326 -0 collapsed to keep the page light
A v4/gobject/gparam.go +411 -0 collapsed to keep the page light
A v4/gobject/gparamspecs.go +929 -0 collapsed to keep the page light
A v4/gobject/gsignal.go +765 -0 collapsed to keep the page light
A v4/gobject/gsourceclosure.go +49 -0 collapsed to keep the page light
A v4/gobject/gtype.go +1114 -0 collapsed to keep the page light
A v4/gobject/gtypemodule.go +204 -0 collapsed to keep the page light
A v4/gobject/gtypeplugin.go +29 -0 collapsed to keep the page light
A v4/gobject/gvalue.go +73 -0 collapsed to keep the page light
A v4/gobject/gvaluearray.go +11 -0 collapsed to keep the page light
A v4/gobject/gvaluetypes.go +48 -0 collapsed to keep the page light
A v4/gobject/main.go +4 -0 collapsed to keep the page light
A v4/gobject/more.go +94 -0 collapsed to keep the page light
A v4/graphene/graphene-box.go +98 -0 collapsed to keep the page light
A v4/graphene/graphene-config.go +22 -0 collapsed to keep the page light
A v4/graphene/graphene-euler.go +91 -0 collapsed to keep the page light
A v4/graphene/graphene-frustum.go +10 -0 collapsed to keep the page light
A v4/graphene/graphene-matrix.go +10 -0 collapsed to keep the page light
A v4/graphene/graphene-plane.go +12 -0 collapsed to keep the page light
A v4/graphene/graphene-point.go +32 -0 collapsed to keep the page light
A v4/graphene/graphene-point3d.go +34 -0 collapsed to keep the page light
A v4/graphene/graphene-quad.go +10 -0 collapsed to keep the page light
A v4/graphene/graphene-quaternion.go +16 -0 collapsed to keep the page light
A v4/graphene/graphene-ray.go +27 -0 collapsed to keep the page light
A v4/graphene/graphene-rect.go +56 -0 collapsed to keep the page light
A v4/graphene/graphene-size.go +33 -0 collapsed to keep the page light
A v4/graphene/graphene-sphere.go +9 -0 collapsed to keep the page light
A v4/graphene/graphene-triangle.go +11 -0 collapsed to keep the page light
A v4/graphene/graphene-vec2.go +63 -0 collapsed to keep the page light
A v4/graphene/graphene-vec3.go +78 -0 collapsed to keep the page light
A v4/graphene/graphene-vec4.go +89 -0 collapsed to keep the page light
A v4/gsk/gskbroadwayrenderer.go +59 -0 collapsed to keep the page light
A v4/gsk/gskcairorenderer.go +63 -0 collapsed to keep the page light
A v4/gsk/gskenums.go +221 -0 collapsed to keep the page light
A v4/gsk/gskglrenderer.go +52 -0 collapsed to keep the page light
A v4/gsk/gskglshader.go +432 -0 collapsed to keep the page light
A v4/gsk/gskrenderer.go +177 -0 collapsed to keep the page light
A v4/gsk/gskrendernode.go +250 -0 collapsed to keep the page light
A v4/gsk/gskrendernodeimpl.go +1884 -0 collapsed to keep the page light
A v4/gsk/gskroundedrect.go +21 -0 collapsed to keep the page light
A v4/gsk/gsktransform.go +32 -0 collapsed to keep the page light
A v4/gsk/gsktypes.go +14 -0 collapsed to keep the page light
A v4/gsk/main.go +59 -0 collapsed to keep the page light
A v4/gtk/gtkaboutdialog.go +819 -0 collapsed to keep the page light
A v4/gtk/gtkaccelgroup.go +161 -0 collapsed to keep the page light
A v4/gtk/gtkaccessible.go +243 -0 collapsed to keep the page light
A v4/gtk/gtkactionable.go +153 -0 collapsed to keep the page light
A v4/gtk/gtkactionbar.go +321 -0 collapsed to keep the page light
A v4/gtk/gtkadjustment.go +299 -0 collapsed to keep the page light
A v4/gtk/gtkappchooser.go +91 -0 collapsed to keep the page light
A v4/gtk/gtkappchooserbutton.go +426 -0 collapsed to keep the page light
A v4/gtk/gtkappchooserdialog.go +413 -0 collapsed to keep the page light
A v4/gtk/gtkappchooserwidget.go +410 -0 collapsed to keep the page light
A v4/gtk/gtkapplication.go +812 -0 collapsed to keep the page light
A v4/gtk/gtkapplicationwindow.go +778 -0 collapsed to keep the page light
A v4/gtk/gtkaspectframe.go +320 -0 collapsed to keep the page light
A v4/gtk/gtkassistant.go +809 -0 collapsed to keep the page light
A v4/gtk/gtkatcontext.go +107 -0 collapsed to keep the page light
A v4/gtk/gtkbinlayout.go +60 -0 collapsed to keep the page light
A v4/gtk/gtkbitset.go +64 -0 collapsed to keep the page light
A v4/gtk/gtkbookmarklist.go +225 -0 collapsed to keep the page light
A v4/gtk/gtkboolfilter.go +110 -0 collapsed to keep the page light
A v4/gtk/gtkborder.go +15 -0 collapsed to keep the page light
A v4/gtk/gtkbox.go +376 -0 collapsed to keep the page light
A v4/gtk/gtkboxlayout.go +149 -0 collapsed to keep the page light
A v4/gtk/gtkbuildable.go +75 -0 collapsed to keep the page light
A v4/gtk/gtkbuilder.go +706 -0 collapsed to keep the page light
A v4/gtk/gtkbuilderlistitemfactory.go +137 -0 collapsed to keep the page light
A v4/gtk/gtkbuilderscope.go +168 -0 collapsed to keep the page light
A v4/gtk/gtkbutton.go +543 -0 collapsed to keep the page light
A v4/gtk/gtkcalendar.go +445 -0 collapsed to keep the page light
A v4/gtk/gtkcellarea.go +1168 -0 collapsed to keep the page light
A v4/gtk/gtkcellareabox.go +234 -0 collapsed to keep the page light
A v4/gtk/gtkcellareacontext.go +236 -0 collapsed to keep the page light
A v4/gtk/gtkcelleditable.go +82 -0 collapsed to keep the page light
A v4/gtk/gtkcelllayout.go +303 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderer.go +483 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendereraccel.go +93 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderercombo.go +92 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererpixbuf.go +72 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererprogress.go +70 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererspin.go +67 -0 collapsed to keep the page light
A v4/gtk/gtkcellrendererspinner.go +65 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderertext.go +104 -0 collapsed to keep the page light
A v4/gtk/gtkcellrenderertoggle.go +149 -0 collapsed to keep the page light
A v4/gtk/gtkcellview.go +530 -0 collapsed to keep the page light
A v4/gtk/gtkcenterbox.go +364 -0 collapsed to keep the page light
A v4/gtk/gtkcenterlayout.go +195 -0 collapsed to keep the page light
A v4/gtk/gtkcheckbutton.go +553 -0 collapsed to keep the page light
A v4/gtk/gtkcolorbutton.go +365 -0 collapsed to keep the page light
A v4/gtk/gtkcolorchooser.go +114 -0 collapsed to keep the page light
A v4/gtk/gtkcolorchooserdialog.go +371 -0 collapsed to keep the page light
A v4/gtk/gtkcolorchooserwidget.go +271 -0 collapsed to keep the page light
A v4/gtk/gtkcolorutils.go +41 -0 collapsed to keep the page light
A v4/gtk/gtkcolumnview.go +627 -0 collapsed to keep the page light
A v4/gtk/gtkcolumnviewcolumn.go +311 -0 collapsed to keep the page light
A v4/gtk/gtkcombobox.go +918 -0 collapsed to keep the page light
A v4/gtk/gtkcomboboxtext.go +538 -0 collapsed to keep the page light
A v4/gtk/gtkconstraint.go +253 -0 collapsed to keep the page light
A v4/gtk/gtkconstraintguide.go +179 -0 collapsed to keep the page light
A v4/gtk/gtkconstraintlayout.go +490 -0 collapsed to keep the page light
A v4/gtk/gtkcssenums.go +40 -0 collapsed to keep the page light
A v4/gtk/gtkcsserror.go +25 -0 collapsed to keep the page light
A v4/gtk/gtkcsslocation.go +26 -0 collapsed to keep the page light
A v4/gtk/gtkcssprovider.go +190 -0 collapsed to keep the page light
A v4/gtk/gtkcsssection.go +9 -0 collapsed to keep the page light
A v4/gtk/gtkcustomfilter.go +86 -0 collapsed to keep the page light
A v4/gtk/gtkcustomlayout.go +72 -0 collapsed to keep the page light
A v4/gtk/gtkcustomsorter.go +78 -0 collapsed to keep the page light
A v4/gtk/gtkdebug.go +89 -0 collapsed to keep the page light
A v4/gtk/gtkdialog.go +741 -0 collapsed to keep the page light
A v4/gtk/gtkdirectorylist.go +317 -0 collapsed to keep the page light
A v4/gtk/gtkdragicon.go +335 -0 collapsed to keep the page light
A v4/gtk/gtkdragsource.go +318 -0 collapsed to keep the page light
A v4/gtk/gtkdrawingarea.go +388 -0 collapsed to keep the page light
A v4/gtk/gtkdropcontrollermotion.go +142 -0 collapsed to keep the page light
A v4/gtk/gtkdropdown.go +489 -0 collapsed to keep the page light
A v4/gtk/gtkdroptarget.go +365 -0 collapsed to keep the page light
A v4/gtk/gtkdroptargetasync.go +237 -0 collapsed to keep the page light
A v4/gtk/gtkeditable.go +572 -0 collapsed to keep the page light
A v4/gtk/gtkeditablelabel.go +508 -0 collapsed to keep the page light
A v4/gtk/gtkemojichooser.go +302 -0 collapsed to keep the page light
A v4/gtk/gtkentry.go +1419 -0 collapsed to keep the page light
A v4/gtk/gtkentrybuffer.go +226 -0 collapsed to keep the page light
A v4/gtk/gtkentrycompletion.go +595 -0 collapsed to keep the page light
A v4/gtk/gtkenums.go +1512 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontroller.go +226 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerfocus.go +124 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerkey.go +165 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerlegacy.go +70 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollermotion.go +119 -0 collapsed to keep the page light
A v4/gtk/gtkeventcontrollerscroll.go +203 -0 collapsed to keep the page light
A v4/gtk/gtkexpander.go +507 -0 collapsed to keep the page light
A v4/gtk/gtkexpression.go +711 -0 collapsed to keep the page light
A v4/gtk/gtkfilechooser.go +532 -0 collapsed to keep the page light
A v4/gtk/gtkfilechooserdialog.go +820 -0 collapsed to keep the page light
A v4/gtk/gtkfilechoosernative.go +596 -0 collapsed to keep the page light
A v4/gtk/gtkfilechooserwidget.go +783 -0 collapsed to keep the page light
A v4/gtk/gtkfilefilter.go +244 -0 collapsed to keep the page light
A v4/gtk/gtkfilter.go +170 -0 collapsed to keep the page light
A v4/gtk/gtkfilterlistmodel.go +282 -0 collapsed to keep the page light
A v4/gtk/gtkfixed.go +309 -0 collapsed to keep the page light
A v4/gtk/gtkfixedlayout.go +129 -0 collapsed to keep the page light
A v4/gtk/gtkflattenlistmodel.go +200 -0 collapsed to keep the page light
A v4/gtk/gtkflowbox.go +1130 -0 collapsed to keep the page light
A v4/gtk/gtkfontbutton.go +565 -0 collapsed to keep the page light
A v4/gtk/gtkfontchooser.go +347 -0 collapsed to keep the page light
A v4/gtk/gtkfontchooserdialog.go +539 -0 collapsed to keep the page light
A v4/gtk/gtkfontchooserwidget.go +429 -0 collapsed to keep the page light
A v4/gtk/gtkframe.go +355 -0 collapsed to keep the page light
A v4/gtk/gtkgesture.go +506 -0 collapsed to keep the page light
A v4/gtk/gtkgestureclick.go +119 -0 collapsed to keep the page light
A v4/gtk/gtkgesturedrag.go +127 -0 collapsed to keep the page light
A v4/gtk/gtkgesturelongpress.go +118 -0 collapsed to keep the page light
A v4/gtk/gtkgesturepan.go +100 -0 collapsed to keep the page light
A v4/gtk/gtkgesturerotate.go +85 -0 collapsed to keep the page light
A v4/gtk/gtkgesturesingle.go +152 -0 collapsed to keep the page light
A v4/gtk/gtkgesturestylus.go +183 -0 collapsed to keep the page light
A v4/gtk/gtkgestureswipe.go +94 -0 collapsed to keep the page light
A v4/gtk/gtkgesturezoom.go +87 -0 collapsed to keep the page light
A v4/gtk/gtkglarea.go +592 -0 collapsed to keep the page light
A v4/gtk/gtkgrid.go +577 -0 collapsed to keep the page light
A v4/gtk/gtkgridlayout.go +302 -0 collapsed to keep the page light
A v4/gtk/gtkgridview.go +519 -0 collapsed to keep the page light
A v4/gtk/gtkheaderbar.go +407 -0 collapsed to keep the page light
A v4/gtk/gtkicontheme.go +622 -0 collapsed to keep the page light
A v4/gtk/gtkiconview.go +1373 -0 collapsed to keep the page light
A v4/gtk/gtkimage.go +618 -0 collapsed to keep the page light
A v4/gtk/gtkimcontext.go +384 -0 collapsed to keep the page light
A v4/gtk/gtkimcontextsimple.go +122 -0 collapsed to keep the page light
A v4/gtk/gtkimmulticontext.go +90 -0 collapsed to keep the page light
A v4/gtk/gtkinfobar.go +528 -0 collapsed to keep the page light
A v4/gtk/gtkinscription.go +469 -0 collapsed to keep the page light
A v4/gtk/gtklabel.go +1201 -0 collapsed to keep the page light
A v4/gtk/gtklayoutchild.go +87 -0 collapsed to keep the page light
A v4/gtk/gtklayoutmanager.go +191 -0 collapsed to keep the page light
A v4/gtk/gtklevelbar.go +494 -0 collapsed to keep the page light
A v4/gtk/gtklinkbutton.go +391 -0 collapsed to keep the page light
A v4/gtk/gtklistbase.go +275 -0 collapsed to keep the page light
A v4/gtk/gtklistbox.go +1290 -0 collapsed to keep the page light
A v4/gtk/gtklistitem.go +195 -0 collapsed to keep the page light
A v4/gtk/gtklistitemfactory.go +73 -0 collapsed to keep the page light
A v4/gtk/gtkliststore.go +955 -0 collapsed to keep the page light
A v4/gtk/gtklistview.go +560 -0 collapsed to keep the page light
A v4/gtk/gtklockbutton.go +347 -0 collapsed to keep the page light
A v4/gtk/gtkmain.go +148 -0 collapsed to keep the page light
A v4/gtk/gtkmaplistmodel.go +250 -0 collapsed to keep the page light
A v4/gtk/gtkmediacontrols.go +234 -0 collapsed to keep the page light
A v4/gtk/gtkmediafile.go +385 -0 collapsed to keep the page light
A v4/gtk/gtkmediastream.go +687 -0 collapsed to keep the page light
A v4/gtk/gtkmenubutton.go +607 -0 collapsed to keep the page light
A v4/gtk/gtkmessagedialog.go +526 -0 collapsed to keep the page light
A v4/gtk/gtkmountoperation.go +144 -0 collapsed to keep the page light
A v4/gtk/gtkmultifilter.go +459 -0 collapsed to keep the page light
A v4/gtk/gtkmultiselection.go +305 -0 collapsed to keep the page light
A v4/gtk/gtkmultisorter.go +193 -0 collapsed to keep the page light
A v4/gtk/gtknative.go +148 -0 collapsed to keep the page light
A v4/gtk/gtknativedialog.go +217 -0 collapsed to keep the page light
A v4/gtk/gtknoselection.go +308 -0 collapsed to keep the page light
A v4/gtk/gtknotebook.go +1060 -0 collapsed to keep the page light
A v4/gtk/gtknumericsorter.go +117 -0 collapsed to keep the page light
A v4/gtk/gtkorientable.go +62 -0 collapsed to keep the page light
A v4/gtk/gtkoverlay.go +354 -0 collapsed to keep the page light
A v4/gtk/gtkoverlaylayout.go +124 -0 collapsed to keep the page light
A v4/gtk/gtkpadcontroller.go +173 -0 collapsed to keep the page light
A v4/gtk/gtkpagesetup.go +412 -0 collapsed to keep the page light
A v4/gtk/gtkpagesetupunixdialog.go +377 -0 collapsed to keep the page light
A v4/gtk/gtkpaned.go +561 -0 collapsed to keep the page light
A v4/gtk/gtkpapersize.go +51 -0 collapsed to keep the page light
A v4/gtk/gtkpasswordentry.go +545 -0 collapsed to keep the page light
A v4/gtk/gtkpasswordentrybuffer.go +57 -0 collapsed to keep the page light
A v4/gtk/gtkpicture.go +569 -0 collapsed to keep the page light
A v4/gtk/gtkpopover.go +620 -0 collapsed to keep the page light
A v4/gtk/gtkpopovermenu.go +471 -0 collapsed to keep the page light
A v4/gtk/gtkpopovermenubar.go +282 -0 collapsed to keep the page light
A v4/gtk/gtkprintcontext.go +264 -0 collapsed to keep the page light
A v4/gtk/gtkprinter.go +399 -0 collapsed to keep the page light
A v4/gtk/gtkprintjob.go +429 -0 collapsed to keep the page light
A v4/gtk/gtkprintoperation.go +1049 -0 collapsed to keep the page light
A v4/gtk/gtkprintoperationpreview.go +86 -0 collapsed to keep the page light
A v4/gtk/gtkprintsettings.go +901 -0 collapsed to keep the page light
A v4/gtk/gtkprintunixdialog.go +579 -0 collapsed to keep the page light
A v4/gtk/gtkprogressbar.go +434 -0 collapsed to keep the page light
A v4/gtk/gtkrange.go +572 -0 collapsed to keep the page light
A v4/gtk/gtkrecentmanager.go +307 -0 collapsed to keep the page light
A v4/gtk/gtkrender.go +187 -0 collapsed to keep the page light
A v4/gtk/gtkrevealer.go +360 -0 collapsed to keep the page light
A v4/gtk/gtkroot.go +111 -0 collapsed to keep the page light
A v4/gtk/gtkscale.go +510 -0 collapsed to keep the page light
A v4/gtk/gtkscalebutton.go +401 -0 collapsed to keep the page light
A v4/gtk/gtkscrollable.go +185 -0 collapsed to keep the page light
A v4/gtk/gtkscrollbar.go +283 -0 collapsed to keep the page light
A v4/gtk/gtkscrolledwindow.go +814 -0 collapsed to keep the page light
A v4/gtk/gtksearchbar.go +373 -0 collapsed to keep the page light
A v4/gtk/gtksearchentry.go +649 -0 collapsed to keep the page light
A v4/gtk/gtkselectionfiltermodel.go +184 -0 collapsed to keep the page light
A v4/gtk/gtkselectionmodel.go +244 -0 collapsed to keep the page light
A v4/gtk/gtkseparator.go +225 -0 collapsed to keep the page light
A v4/gtk/gtksettings.go +75 -0 collapsed to keep the page light
A v4/gtk/gtkshortcut.go +166 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutaction.go +368 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutcontroller.go +307 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutlabel.go +242 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutmanager.go +39 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutsgroup.go +188 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutssection.go +209 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutsshortcut.go +201 -0 collapsed to keep the page light
A v4/gtk/gtkshortcutswindow.go +354 -0 collapsed to keep the page light
A v4/gtk/gtkshortcuttrigger.go +437 -0 collapsed to keep the page light
A v4/gtk/gtkshow.go +55 -0 collapsed to keep the page light
A v4/gtk/gtksignallistitemfactory.go +167 -0 collapsed to keep the page light
A v4/gtk/gtksingleselection.go +411 -0 collapsed to keep the page light
A v4/gtk/gtksizegroup.go +194 -0 collapsed to keep the page light
A v4/gtk/gtksizerequest.go +41 -0 collapsed to keep the page light
A v4/gtk/gtkslicelistmodel.go +233 -0 collapsed to keep the page light
A v4/gtk/gtksnapshot.go +688 -0 collapsed to keep the page light
A v4/gtk/gtksorter.go +175 -0 collapsed to keep the page light
A v4/gtk/gtksortlistmodel.go +289 -0 collapsed to keep the page light
A v4/gtk/gtkspinbutton.go +1050 -0 collapsed to keep the page light
A v4/gtk/gtkspinner.go +251 -0 collapsed to keep the page light
A v4/gtk/gtkstack.go +948 -0 collapsed to keep the page light
A v4/gtk/gtkstacksidebar.go +243 -0 collapsed to keep the page light
A v4/gtk/gtkstackswitcher.go +272 -0 collapsed to keep the page light
A v4/gtk/gtkstatusbar.go +316 -0 collapsed to keep the page light
A v4/gtk/gtkstringfilter.go +180 -0 collapsed to keep the page light
A v4/gtk/gtkstringlist.go +318 -0 collapsed to keep the page light
A v4/gtk/gtkstringsorter.go +118 -0 collapsed to keep the page light
A v4/gtk/gtkstylecontext.go +353 -0 collapsed to keep the page light
A v4/gtk/gtkstyleprovider.go +27 -0 collapsed to keep the page light
A v4/gtk/gtkswitch.go +393 -0 collapsed to keep the page light
A v4/gtk/gtksymbolicpaintable.go +65 -0 collapsed to keep the page light
A v4/gtk/gtktestatcontext.go +98 -0 collapsed to keep the page light
A v4/gtk/gtktestutils.go +74 -0 collapsed to keep the page light
A v4/gtk/gtktext.go +1176 -0 collapsed to keep the page light
A v4/gtk/gtktextbuffer.go +1494 -0 collapsed to keep the page light
A v4/gtk/gtktextchild.go +111 -0 collapsed to keep the page light
A v4/gtk/gtktextiter.go +62 -0 collapsed to keep the page light
A v4/gtk/gtktextmark.go +177 -0 collapsed to keep the page light
A v4/gtk/gtktexttag.go +125 -0 collapsed to keep the page light
A v4/gtk/gtktexttagtable.go +201 -0 collapsed to keep the page light
A v4/gtk/gtktextview.go +1722 -0 collapsed to keep the page light
A v4/gtk/gtktogglebutton.go +473 -0 collapsed to keep the page light
A v4/gtk/gtktooltip.go +157 -0 collapsed to keep the page light
A v4/gtk/gtktreednd.go +167 -0 collapsed to keep the page light
A v4/gtk/gtktreeexpander.go +340 -0 collapsed to keep the page light
A v4/gtk/gtktreelistmodel.go +472 -0 collapsed to keep the page light
A v4/gtk/gtktreelistrowsorter.go +104 -0 collapsed to keep the page light
A v4/gtk/gtktreemodel.go +739 -0 collapsed to keep the page light
A v4/gtk/gtktreemodelfilter.go +662 -0 collapsed to keep the page light
A v4/gtk/gtktreemodelsort.go +697 -0 collapsed to keep the page light
A v4/gtk/gtktreeselection.go +323 -0 collapsed to keep the page light
A v4/gtk/gtktreesortable.go +140 -0 collapsed to keep the page light
A v4/gtk/gtktreestore.go +868 -0 collapsed to keep the page light
A v4/gtk/gtktreeview.go +1829 -0 collapsed to keep the page light
A v4/gtk/gtktreeviewcolumn.go +819 -0 collapsed to keep the page light
A v4/gtk/gtktypes.go +23 -0 collapsed to keep the page light
A v4/gtk/gtkversion.go +122 -0 collapsed to keep the page light
A v4/gtk/gtkvideo.go +420 -0 collapsed to keep the page light
A v4/gtk/gtkviewport.go +358 -0 collapsed to keep the page light
A v4/gtk/gtkvolumebutton.go +217 -0 collapsed to keep the page light
A v4/gtk/gtkwidget.go +3604 -0 collapsed to keep the page light
A v4/gtk/gtkwidgetpaintable.go +249 -0 collapsed to keep the page light
A v4/gtk/gtkwindow.go +1301 -0 collapsed to keep the page light
A v4/gtk/gtkwindowcontrols.go +318 -0 collapsed to keep the page light
A v4/gtk/gtkwindowgroup.go +105 -0 collapsed to keep the page light
A v4/gtk/gtkwindowhandle.go +241 -0 collapsed to keep the page light
A v4/gtk/main.go +61 -0 collapsed to keep the page light
A v4/pango/main.go +25 -0 collapsed to keep the page light
A v4/pango/pango-attributes.go +854 -0 collapsed to keep the page light
A v4/pango/pango-bidi-type.go +127 -0 collapsed to keep the page light
A v4/pango/pango-break.go +131 -0 collapsed to keep the page light
A v4/pango/pango-color.go +12 -0 collapsed to keep the page light
A v4/pango/pango-context.go +406 -0 collapsed to keep the page light
A v4/pango/pango-coverage.go +174 -0 collapsed to keep the page light
A v4/pango/pango-direction.go +42 -0 collapsed to keep the page light
A v4/pango/pango-font.go +688 -0 collapsed to keep the page light
A v4/pango/pango-fontmap.go +174 -0 collapsed to keep the page light
A v4/pango/pango-fontset.go +157 -0 collapsed to keep the page light
A v4/pango/pango-glyph-item.go +81 -0 collapsed to keep the page light
A v4/pango/pango-glyph.go +199 -0 collapsed to keep the page light
A v4/pango/pango-gravity.go +132 -0 collapsed to keep the page light
A v4/pango/pango-item.go +105 -0 collapsed to keep the page light
A v4/pango/pango-language.go +96 -0 collapsed to keep the page light
A v4/pango/pango-layout.go +1265 -0 collapsed to keep the page light
A v4/pango/pango-markup.go +88 -0 collapsed to keep the page light
A v4/pango/pango-matrix.go +25 -0 collapsed to keep the page light
A v4/pango/pango-renderer.go +362 -0 collapsed to keep the page light
A v4/pango/pango-script.go +332 -0 collapsed to keep the page light
A v4/pango/pango-tabs.go +59 -0 collapsed to keep the page light
A v4/pango/pango-types.go +92 -0 collapsed to keep the page light
A v4/pango/pango-utils.go +304 -0 collapsed to keep the page light
A v4/pangocairo/pangocairo.go +543 -0 collapsed to keep the page light

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 102

↑↓ moveenter openesc close