Merge pull request #344 from bnema/chore/upstream-foundations
chore(deps): integrate approved upstream foundations
921 files · +28709 -25527
M docs/first-presentation.md +5 -2
| @@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`, | |||
| 46 | 46 | `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`; | |
| 47 | 47 | do not use a device model or other identifier. Publish only the seven reviewed | |
| 48 | 48 | JSON files to an external Gist. Raw logs and temporary XDG homes are removed and | |
| 49 | - | must not be published. A missing or incomplete timeline, non-DMABUF backend, or | |
| 50 | - | invalid run fails collection. | |
| 49 | + | must not be published. `metadata.json` derives the selected | |
| 50 | + | `github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git | |
| 51 | + | origin hash from Go module metadata; branch selectors or missing origin metadata | |
| 52 | + | fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid | |
| 53 | + | run also fails collection. | |
| @@ -46,5 +46,8 @@ labels. Set `DUMBER_MACHINE_GPU_PROFILE` to one of `generic-gpu`, | |||||
| 46 | `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`; | 46 | `integrated-gpu`, `discrete-gpu`, `hybrid-gpu`, `virtual-gpu`, or `unknown-gpu`; | ||
| 47 | do not use a device model or other identifier. Publish only the seven reviewed | 47 | do not use a device model or other identifier. Publish only the seven reviewed | ||
| 48 | JSON files to an external Gist. Raw logs and temporary XDG homes are removed and | 48 | JSON files to an external Gist. Raw logs and temporary XDG homes are removed and | ||
| 49 | - | must not be published. A missing or incomplete timeline, non-DMABUF backend, or | 49 | + | must not be published. `metadata.json` derives the selected |
| 50 | - | invalid run fails collection. | 50 | + | `github.com/bnema/purego-cef2gtk` pseudo-version and its full immutable Git |
| 51 | + | origin hash from Go module metadata; branch selectors or missing origin metadata | |||
| 52 | + | fail collection. A missing or incomplete timeline, non-DMABUF backend, or invalid | |||
| 53 | + | run also fails collection. | |||
M go.mod +5 -5
| @@ -6,11 +6,11 @@ require ( | |||
| 6 | 6 | github.com/a-h/templ v0.3.1020 | |
| 7 | 7 | github.com/andybalholm/brotli v1.2.2 | |
| 8 | 8 | github.com/bnema/purego v0.11.0-bnema.4 | |
| 9 | - | github.com/bnema/purego-cef v0.13.3 | |
| 10 | - | github.com/bnema/purego-cef2gtk v0.8.4 | |
| 11 | - | github.com/bnema/purego-pipewire v0.1.4 | |
| 12 | - | github.com/bnema/purego-sqlite v0.1.3 | |
| 13 | - | github.com/bnema/puregotk v0.7.0 | |
| 9 | + | github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e | |
| 10 | + | github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe | |
| 11 | + | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a | |
| 12 | + | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c | |
| 13 | + | github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234 | |
| 14 | 14 | github.com/charmbracelet/bubbles v1.0.0 | |
| 15 | 15 | github.com/charmbracelet/bubbletea v1.3.10 | |
| 16 | 16 | github.com/charmbracelet/lipgloss v1.1.0 | |
| @@ -6,11 +6,11 @@ require ( | |||||
| 6 | github.com/a-h/templ v0.3.1020 | 6 | github.com/a-h/templ v0.3.1020 | ||
| 7 | github.com/andybalholm/brotli v1.2.2 | 7 | github.com/andybalholm/brotli v1.2.2 | ||
| 8 | github.com/bnema/purego v0.11.0-bnema.4 | 8 | github.com/bnema/purego v0.11.0-bnema.4 | ||
| 9 | - | github.com/bnema/purego-cef v0.13.3 | 9 | + | github.com/bnema/purego-cef v0.13.4-0.20260714140305-f0b7414af67e |
| 10 | - | github.com/bnema/purego-cef2gtk v0.8.4 | 10 | + | github.com/bnema/purego-cef2gtk v0.8.4-0.20260714160309-bbd397409ebe |
| 11 | - | github.com/bnema/purego-pipewire v0.1.4 | 11 | + | github.com/bnema/purego-pipewire v0.1.5-0.20260714124450-6504b9cdf02a |
| 12 | - | github.com/bnema/purego-sqlite v0.1.3 | 12 | + | github.com/bnema/purego-sqlite v0.1.4-0.20260714131321-3614fe683b9c |
| 13 | - | github.com/bnema/puregotk v0.7.0 | 13 | + | github.com/bnema/puregotk v0.7.1-0.20260714170452-0b6b9b901234 |
| 14 | github.com/charmbracelet/bubbles v1.0.0 | 14 | github.com/charmbracelet/bubbles v1.0.0 | ||
| 15 | github.com/charmbracelet/bubbletea v1.3.10 | 15 | github.com/charmbracelet/bubbletea v1.3.10 | ||
| 16 | github.com/charmbracelet/lipgloss v1.1.0 | 16 | github.com/charmbracelet/lipgloss v1.1.0 | ||
M go.sum +12 -0 generated file: collapsed
A internal/infrastructure/persistence/sqlite/history_repo_benchmark_test.go +71 -0
| @@ -0,0 +1,71 @@ | |||
| 1 | + | package sqlite_test | |
| 2 | + | ||
| 3 | + | import ( | |
| 4 | + | "fmt" | |
| 5 | + | "path/filepath" | |
| 6 | + | "testing" | |
| 7 | + | ||
| 8 | + | "github.com/bnema/dumber/internal/domain/entity" | |
| 9 | + | "github.com/bnema/dumber/internal/domain/repository" | |
| 10 | + | "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite" | |
| 11 | + | ) | |
| 12 | + | ||
| 13 | + | // newHistoryBenchmarkRepository creates a representative local history corpus | |
| 14 | + | // outside the measured operation. Sidebar reads use GetRecent and omnibox | |
| 15 | + | // history suggestions use Search. | |
| 16 | + | func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) { | |
| 17 | + | b.Helper() | |
| 18 | + | ||
| 19 | + | ctx := historyTestCtx() | |
| 20 | + | db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db")) | |
| 21 | + | if err != nil { | |
| 22 | + | b.Fatal(err) | |
| 23 | + | } | |
| 24 | + | ||
| 25 | + | b.Cleanup(func() { | |
| 26 | + | if err := db.Close(); err != nil { | |
| 27 | + | b.Errorf("close benchmark database: %v", err) | |
| 28 | + | } | |
| 29 | + | }) | |
| 30 | + | ||
| 31 | + | repo := sqlite.NewHistoryRepository(db) | |
| 32 | + | for i := range 200 { | |
| 33 | + | entry := &entity.HistoryEntry{ | |
| 34 | + | URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i), | |
| 35 | + | Title: fmt.Sprintf("Dumber history entry %d", i), | |
| 36 | + | } | |
| 37 | + | if err := repo.Save(ctx, entry); err != nil { | |
| 38 | + | b.Fatal(err) | |
| 39 | + | } | |
| 40 | + | } | |
| 41 | + | ||
| 42 | + | return repo, func() {} | |
| 43 | + | } | |
| 44 | + | ||
| 45 | + | func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) { | |
| 46 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |
| 47 | + | defer closeDB() | |
| 48 | + | ctx := historyTestCtx() | |
| 49 | + | ||
| 50 | + | b.ReportAllocs() | |
| 51 | + | b.ResetTimer() | |
| 52 | + | for range b.N { | |
| 53 | + | if _, err := repo.GetRecent(ctx, 50, 0); err != nil { | |
| 54 | + | b.Fatal(err) | |
| 55 | + | } | |
| 56 | + | } | |
| 57 | + | } | |
| 58 | + | ||
| 59 | + | func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) { | |
| 60 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |
| 61 | + | defer closeDB() | |
| 62 | + | ctx := historyTestCtx() | |
| 63 | + | ||
| 64 | + | b.ReportAllocs() | |
| 65 | + | b.ResetTimer() | |
| 66 | + | for range b.N { | |
| 67 | + | if _, err := repo.Search(ctx, "dumber history", 10); err != nil { | |
| 68 | + | b.Fatal(err) | |
| 69 | + | } | |
| 70 | + | } | |
| 71 | + | } | |
| @@ -0,0 +1,71 @@ | |||||
| 1 | + | package sqlite_test | |||
| 2 | + | ||||
| 3 | + | import ( | |||
| 4 | + | "fmt" | |||
| 5 | + | "path/filepath" | |||
| 6 | + | "testing" | |||
| 7 | + | ||||
| 8 | + | "github.com/bnema/dumber/internal/domain/entity" | |||
| 9 | + | "github.com/bnema/dumber/internal/domain/repository" | |||
| 10 | + | "github.com/bnema/dumber/internal/infrastructure/persistence/sqlite" | |||
| 11 | + | ) | |||
| 12 | + | ||||
| 13 | + | // newHistoryBenchmarkRepository creates a representative local history corpus | |||
| 14 | + | // outside the measured operation. Sidebar reads use GetRecent and omnibox | |||
| 15 | + | // history suggestions use Search. | |||
| 16 | + | func newHistoryBenchmarkRepository(b *testing.B) (repository.HistoryRepository, func()) { | |||
| 17 | + | b.Helper() | |||
| 18 | + | ||||
| 19 | + | ctx := historyTestCtx() | |||
| 20 | + | db, err := sqlite.NewConnection(ctx, filepath.Join(b.TempDir(), "dumber.db")) | |||
| 21 | + | if err != nil { | |||
| 22 | + | b.Fatal(err) | |||
| 23 | + | } | |||
| 24 | + | ||||
| 25 | + | b.Cleanup(func() { | |||
| 26 | + | if err := db.Close(); err != nil { | |||
| 27 | + | b.Errorf("close benchmark database: %v", err) | |||
| 28 | + | } | |||
| 29 | + | }) | |||
| 30 | + | ||||
| 31 | + | repo := sqlite.NewHistoryRepository(db) | |||
| 32 | + | for i := range 200 { | |||
| 33 | + | entry := &entity.HistoryEntry{ | |||
| 34 | + | URL: fmt.Sprintf("https://example%d.test/dumber/history/%d", i%20, i), | |||
| 35 | + | Title: fmt.Sprintf("Dumber history entry %d", i), | |||
| 36 | + | } | |||
| 37 | + | if err := repo.Save(ctx, entry); err != nil { | |||
| 38 | + | b.Fatal(err) | |||
| 39 | + | } | |||
| 40 | + | } | |||
| 41 | + | ||||
| 42 | + | return repo, func() {} | |||
| 43 | + | } | |||
| 44 | + | ||||
| 45 | + | func BenchmarkHistorySQLiteSidebarRecent(b *testing.B) { | |||
| 46 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |||
| 47 | + | defer closeDB() | |||
| 48 | + | ctx := historyTestCtx() | |||
| 49 | + | ||||
| 50 | + | b.ReportAllocs() | |||
| 51 | + | b.ResetTimer() | |||
| 52 | + | for range b.N { | |||
| 53 | + | if _, err := repo.GetRecent(ctx, 50, 0); err != nil { | |||
| 54 | + | b.Fatal(err) | |||
| 55 | + | } | |||
| 56 | + | } | |||
| 57 | + | } | |||
| 58 | + | ||||
| 59 | + | func BenchmarkHistorySQLiteOmniboxSearch(b *testing.B) { | |||
| 60 | + | repo, closeDB := newHistoryBenchmarkRepository(b) | |||
| 61 | + | defer closeDB() | |||
| 62 | + | ctx := historyTestCtx() | |||
| 63 | + | ||||
| 64 | + | b.ReportAllocs() | |||
| 65 | + | b.ResetTimer() | |||
| 66 | + | for range b.N { | |||
| 67 | + | if _, err := repo.Search(ctx, "dumber history", 10); err != nil { | |||
| 68 | + | b.Fatal(err) | |||
| 69 | + | } | |||
| 70 | + | } | |||
| 71 | + | } | |||
M internal/logging/first_presentation_collector_test.go +132 -1
| @@ -2,6 +2,7 @@ package logging | |||
| 2 | 2 | ||
| 3 | 3 | import ( | |
| 4 | 4 | "encoding/json" | |
| 5 | + | "fmt" | |
| 5 | 6 | "os" | |
| 6 | 7 | "os/exec" | |
| 7 | 8 | "path/filepath" | |
| @@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||
| 143 | 144 | } | |
| 144 | 145 | for _, required := range []string{ | |
| 145 | 146 | `"measured_source_revision"`, | |
| 147 | + | `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`, | |
| 146 | 148 | `"tag": "v0.8.4"`, | |
| 147 | - | `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`, | |
| 149 | + | `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`, | |
| 148 | 150 | } { | |
| 149 | 151 | require.Contains(t, artifacts.String(), required) | |
| 150 | 152 | } | |
| @@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||
| 166 | 168 | require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile) | |
| 167 | 169 | } | |
| 168 | 170 | ||
| 171 | + | func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) { | |
| 172 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |
| 173 | + | require.NoError(t, err) | |
| 174 | + | temp := t.TempDir() | |
| 175 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |
| 176 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |
| 177 | + | binary := filepath.Join(temp, "dumber") | |
| 178 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |
| 179 | + | ||
| 180 | + | // This exact pseudo-version is deliberately newer than the former v0.8.4 | |
| 181 | + | // hardcode; the collector must report what the selected module says. | |
| 182 | + | const version = "v0.8.5-0.20300102030405-bbd397409ebe" | |
| 183 | + | const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484" | |
| 184 | + | goBin := collectorProvenanceGo(t, temp, version, revision, "") | |
| 185 | + | output := filepath.Join(temp, "artifacts") | |
| 186 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |
| 187 | + | cmd.Dir = repoRoot | |
| 188 | + | cmd.Env = append(os.Environ(), | |
| 189 | + | "DISPLAY=:test", | |
| 190 | + | "DUMBER_CEF_DIR="+runtime, | |
| 191 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |
| 192 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |
| 193 | + | "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1", | |
| 194 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |
| 195 | + | ) | |
| 196 | + | result, err := cmd.CombinedOutput() | |
| 197 | + | require.NoErrorf(t, err, "collector failed: %s", result) | |
| 198 | + | ||
| 199 | + | var metadata struct { | |
| 200 | + | Upstream struct { | |
| 201 | + | Module string `json:"module"` | |
| 202 | + | Version string `json:"version"` | |
| 203 | + | Tag string `json:"tag"` | |
| 204 | + | Revision string `json:"revision"` | |
| 205 | + | } `json:"upstream"` | |
| 206 | + | } | |
| 207 | + | contents, err := os.ReadFile(filepath.Join(output, "metadata.json")) | |
| 208 | + | require.NoError(t, err) | |
| 209 | + | require.NoError(t, json.Unmarshal(contents, &metadata)) | |
| 210 | + | require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module) | |
| 211 | + | require.Equal(t, version, metadata.Upstream.Version) | |
| 212 | + | require.Equal(t, "v0.8.5", metadata.Upstream.Tag) | |
| 213 | + | require.Equal(t, revision, metadata.Upstream.Revision) | |
| 214 | + | ||
| 215 | + | script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |
| 216 | + | require.NoError(t, err) | |
| 217 | + | require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d") | |
| 218 | + | } | |
| 219 | + | ||
| 220 | + | func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) { | |
| 221 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |
| 222 | + | require.NoError(t, err) | |
| 223 | + | ||
| 224 | + | for _, test := range []struct { | |
| 225 | + | name, version, revision, ref string | |
| 226 | + | }{ | |
| 227 | + | {name: "branch selector", version: "main", ref: "main"}, | |
| 228 | + | {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"}, | |
| 229 | + | {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"}, | |
| 230 | + | } { | |
| 231 | + | t.Run(test.name, func(t *testing.T) { | |
| 232 | + | temp := t.TempDir() | |
| 233 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |
| 234 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |
| 235 | + | binary := filepath.Join(temp, "dumber") | |
| 236 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |
| 237 | + | ||
| 238 | + | goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref) | |
| 239 | + | output := filepath.Join(temp, "artifacts") | |
| 240 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |
| 241 | + | cmd.Dir = repoRoot | |
| 242 | + | cmd.Env = append(os.Environ(), | |
| 243 | + | "DISPLAY=:test", | |
| 244 | + | "DUMBER_CEF_DIR="+runtime, | |
| 245 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |
| 246 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |
| 247 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |
| 248 | + | ) | |
| 249 | + | result, runErr := cmd.CombinedOutput() | |
| 250 | + | require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result) | |
| 251 | + | require.Contains(t, string(result), "immutable module provenance is unavailable") | |
| 252 | + | require.NotContains(t, string(result), temp) | |
| 253 | + | require.NoFileExists(t, filepath.Join(output, "metadata.json")) | |
| 254 | + | for _, name := range runArtifactNames() { | |
| 255 | + | require.NoFileExists(t, filepath.Join(output, name)) | |
| 256 | + | } | |
| 257 | + | }) | |
| 258 | + | } | |
| 259 | + | } | |
| 260 | + | ||
| 261 | + | func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string { | |
| 262 | + | t.Helper() | |
| 263 | + | infoPath := filepath.Join(temp, "module.info") | |
| 264 | + | info := map[string]any{"Version": version} | |
| 265 | + | if revision != "" { | |
| 266 | + | info["Origin"] = map[string]string{ | |
| 267 | + | "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref, | |
| 268 | + | } | |
| 269 | + | } | |
| 270 | + | infoJSON, err := json.Marshal(info) | |
| 271 | + | require.NoError(t, err) | |
| 272 | + | require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600)) | |
| 273 | + | ||
| 274 | + | selectedJSON, err := json.Marshal(map[string]string{ | |
| 275 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, | |
| 276 | + | }) | |
| 277 | + | require.NoError(t, err) | |
| 278 | + | downloadedJSON, err := json.Marshal(map[string]string{ | |
| 279 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath, | |
| 280 | + | }) | |
| 281 | + | require.NoError(t, err) | |
| 282 | + | binDir := filepath.Join(temp, "bin") | |
| 283 | + | require.NoError(t, os.Mkdir(binDir, 0o755)) | |
| 284 | + | goBin := filepath.Join(binDir, "go") | |
| 285 | + | script := fmt.Sprintf(`#!/bin/sh | |
| 286 | + | if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then | |
| 287 | + | printf '%%s\n' '%s' | |
| 288 | + | exit 0 | |
| 289 | + | fi | |
| 290 | + | if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then | |
| 291 | + | printf '%%s\n' '%s' | |
| 292 | + | exit 0 | |
| 293 | + | fi | |
| 294 | + | exit 1 | |
| 295 | + | `, selectedJSON, version, downloadedJSON) | |
| 296 | + | require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755)) | |
| 297 | + | return goBin | |
| 298 | + | } | |
| 299 | + | ||
| 169 | 300 | func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) { | |
| 170 | 301 | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |
| 171 | 302 | require.NoError(t, err) | |
| @@ -2,6 +2,7 @@ package logging | |||||
| 2 | 2 | ||||
| 3 | import ( | 3 | import ( | ||
| 4 | "encoding/json" | 4 | "encoding/json" | ||
| 5 | + | "fmt" | |||
| 5 | "os" | 6 | "os" | ||
| 6 | "os/exec" | 7 | "os/exec" | ||
| 7 | "path/filepath" | 8 | "path/filepath" | ||
| @@ -143,8 +144,9 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||||
| 143 | } | 144 | } | ||
| 144 | for _, required := range []string{ | 145 | for _, required := range []string{ | ||
| 145 | `"measured_source_revision"`, | 146 | `"measured_source_revision"`, | ||
| 147 | + | `"version": "v0.8.4-0.20260714160309-bbd397409ebe"`, | |||
| 146 | `"tag": "v0.8.4"`, | 148 | `"tag": "v0.8.4"`, | ||
| 147 | - | `"revision": "f217ece342dea3ef2a3f98671fcd16a39ad0037d"`, | 149 | + | `"revision": "bbd397409ebed75a5979c1e4566a2ef319f6a484"`, |
| 148 | } { | 150 | } { | ||
| 149 | require.Contains(t, artifacts.String(), required) | 151 | require.Contains(t, artifacts.String(), required) | ||
| 150 | } | 152 | } | ||
| @@ -166,6 +168,135 @@ func TestFirstPresentationCollectorSanitizesMachineLocalValues(t *testing.T) { | |||||
| 166 | require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile) | 168 | require.Equal(t, "integrated-gpu", metadata.Comparison.MachineGPUProfile) | ||
| 167 | } | 169 | } | ||
| 168 | 170 | ||||
| 171 | + | func TestFirstPresentationCollectorDerivesSelectedImmutableModuleProvenance(t *testing.T) { | |||
| 172 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |||
| 173 | + | require.NoError(t, err) | |||
| 174 | + | temp := t.TempDir() | |||
| 175 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |||
| 176 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |||
| 177 | + | binary := filepath.Join(temp, "dumber") | |||
| 178 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |||
| 179 | + | ||||
| 180 | + | // This exact pseudo-version is deliberately newer than the former v0.8.4 | |||
| 181 | + | // hardcode; the collector must report what the selected module says. | |||
| 182 | + | const version = "v0.8.5-0.20300102030405-bbd397409ebe" | |||
| 183 | + | const revision = "bbd397409ebed75a5979c1e4566a2ef319f6a484" | |||
| 184 | + | goBin := collectorProvenanceGo(t, temp, version, revision, "") | |||
| 185 | + | output := filepath.Join(temp, "artifacts") | |||
| 186 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |||
| 187 | + | cmd.Dir = repoRoot | |||
| 188 | + | cmd.Env = append(os.Environ(), | |||
| 189 | + | "DISPLAY=:test", | |||
| 190 | + | "DUMBER_CEF_DIR="+runtime, | |||
| 191 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |||
| 192 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |||
| 193 | + | "DUMBER_FIRST_PRESENTATION_TIMEOUT_SECONDS=1", | |||
| 194 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |||
| 195 | + | ) | |||
| 196 | + | result, err := cmd.CombinedOutput() | |||
| 197 | + | require.NoErrorf(t, err, "collector failed: %s", result) | |||
| 198 | + | ||||
| 199 | + | var metadata struct { | |||
| 200 | + | Upstream struct { | |||
| 201 | + | Module string `json:"module"` | |||
| 202 | + | Version string `json:"version"` | |||
| 203 | + | Tag string `json:"tag"` | |||
| 204 | + | Revision string `json:"revision"` | |||
| 205 | + | } `json:"upstream"` | |||
| 206 | + | } | |||
| 207 | + | contents, err := os.ReadFile(filepath.Join(output, "metadata.json")) | |||
| 208 | + | require.NoError(t, err) | |||
| 209 | + | require.NoError(t, json.Unmarshal(contents, &metadata)) | |||
| 210 | + | require.Equal(t, "github.com/bnema/purego-cef2gtk", metadata.Upstream.Module) | |||
| 211 | + | require.Equal(t, version, metadata.Upstream.Version) | |||
| 212 | + | require.Equal(t, "v0.8.5", metadata.Upstream.Tag) | |||
| 213 | + | require.Equal(t, revision, metadata.Upstream.Revision) | |||
| 214 | + | ||||
| 215 | + | script, err := os.ReadFile(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |||
| 216 | + | require.NoError(t, err) | |||
| 217 | + | require.NotContains(t, string(script), "f217ece342dea3ef2a3f98671fcd16a39ad0037d") | |||
| 218 | + | } | |||
| 219 | + | ||||
| 220 | + | func TestFirstPresentationCollectorRejectsNonImmutableModuleProvenanceWithoutLeaks(t *testing.T) { | |||
| 221 | + | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | |||
| 222 | + | require.NoError(t, err) | |||
| 223 | + | ||||
| 224 | + | for _, test := range []struct { | |||
| 225 | + | name, version, revision, ref string | |||
| 226 | + | }{ | |||
| 227 | + | {name: "branch selector", version: "main", ref: "main"}, | |||
| 228 | + | {name: "missing origin", version: "v0.8.5-0.20300102030405-bbd397409ebe"}, | |||
| 229 | + | {name: "named origin ref", version: "v0.8.5-0.20300102030405-bbd397409ebe", revision: "bbd397409ebed75a5979c1e4566a2ef319f6a484", ref: "main"}, | |||
| 230 | + | } { | |||
| 231 | + | t.Run(test.name, func(t *testing.T) { | |||
| 232 | + | temp := t.TempDir() | |||
| 233 | + | runtime := filepath.Join(temp, "cef-147-runtime") | |||
| 234 | + | require.NoError(t, os.Mkdir(runtime, 0o755)) | |||
| 235 | + | binary := filepath.Join(temp, "dumber") | |||
| 236 | + | require.NoError(t, os.WriteFile(binary, collectorTestBinary(validFirstPresentationLog), 0o755)) | |||
| 237 | + | ||||
| 238 | + | goBin := collectorProvenanceGo(t, temp, test.version, test.revision, test.ref) | |||
| 239 | + | output := filepath.Join(temp, "artifacts") | |||
| 240 | + | cmd := exec.Command(filepath.Join(repoRoot, "scripts", "collect_first_presentation.sh")) | |||
| 241 | + | cmd.Dir = repoRoot | |||
| 242 | + | cmd.Env = append(os.Environ(), | |||
| 243 | + | "DISPLAY=:test", | |||
| 244 | + | "DUMBER_CEF_DIR="+runtime, | |||
| 245 | + | "DUMBER_FIRST_PRESENTATION_BIN="+binary, | |||
| 246 | + | "DUMBER_FIRST_PRESENTATION_OUTPUT="+output, | |||
| 247 | + | "PATH="+filepath.Dir(goBin)+":"+os.Getenv("PATH"), | |||
| 248 | + | ) | |||
| 249 | + | result, runErr := cmd.CombinedOutput() | |||
| 250 | + | require.Errorf(t, runErr, "collector accepted nonimmutable module provenance: %s", result) | |||
| 251 | + | require.Contains(t, string(result), "immutable module provenance is unavailable") | |||
| 252 | + | require.NotContains(t, string(result), temp) | |||
| 253 | + | require.NoFileExists(t, filepath.Join(output, "metadata.json")) | |||
| 254 | + | for _, name := range runArtifactNames() { | |||
| 255 | + | require.NoFileExists(t, filepath.Join(output, name)) | |||
| 256 | + | } | |||
| 257 | + | }) | |||
| 258 | + | } | |||
| 259 | + | } | |||
| 260 | + | ||||
| 261 | + | func collectorProvenanceGo(t *testing.T, temp, version, revision, ref string) string { | |||
| 262 | + | t.Helper() | |||
| 263 | + | infoPath := filepath.Join(temp, "module.info") | |||
| 264 | + | info := map[string]any{"Version": version} | |||
| 265 | + | if revision != "" { | |||
| 266 | + | info["Origin"] = map[string]string{ | |||
| 267 | + | "VCS": "git", "URL": "https://github.com/bnema/purego-cef2gtk", "Hash": revision, "Ref": ref, | |||
| 268 | + | } | |||
| 269 | + | } | |||
| 270 | + | infoJSON, err := json.Marshal(info) | |||
| 271 | + | require.NoError(t, err) | |||
| 272 | + | require.NoError(t, os.WriteFile(infoPath, infoJSON, 0o600)) | |||
| 273 | + | ||||
| 274 | + | selectedJSON, err := json.Marshal(map[string]string{ | |||
| 275 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, | |||
| 276 | + | }) | |||
| 277 | + | require.NoError(t, err) | |||
| 278 | + | downloadedJSON, err := json.Marshal(map[string]string{ | |||
| 279 | + | "Path": "github.com/bnema/purego-cef2gtk", "Version": version, "Info": infoPath, | |||
| 280 | + | }) | |||
| 281 | + | require.NoError(t, err) | |||
| 282 | + | binDir := filepath.Join(temp, "bin") | |||
| 283 | + | require.NoError(t, os.Mkdir(binDir, 0o755)) | |||
| 284 | + | goBin := filepath.Join(binDir, "go") | |||
| 285 | + | script := fmt.Sprintf(`#!/bin/sh | |||
| 286 | + | if [ "$1" = "list" ] && [ "$2" = "-m" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk" ]; then | |||
| 287 | + | printf '%%s\n' '%s' | |||
| 288 | + | exit 0 | |||
| 289 | + | fi | |||
| 290 | + | if [ "$1" = "mod" ] && [ "$2" = "download" ] && [ "$3" = "-json" ] && [ "$4" = "github.com/bnema/purego-cef2gtk@%s" ]; then | |||
| 291 | + | printf '%%s\n' '%s' | |||
| 292 | + | exit 0 | |||
| 293 | + | fi | |||
| 294 | + | exit 1 | |||
| 295 | + | `, selectedJSON, version, downloadedJSON) | |||
| 296 | + | require.NoError(t, os.WriteFile(goBin, []byte(script), 0o755)) | |||
| 297 | + | return goBin | |||
| 298 | + | } | |||
| 299 | + | ||||
| 169 | func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) { | 300 | func TestFirstPresentationCollectorDefaultsToXDGStateEvidenceDirectory(t *testing.T) { | ||
| 170 | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | 301 | repoRoot, err := filepath.Abs(filepath.Join("..", "..")) | ||
| 171 | require.NoError(t, err) | 302 | require.NoError(t, err) | ||
M scripts/collect_first_presentation.sh +78 -9
| @@ -31,8 +31,78 @@ else | |||
| 31 | 31 | fi | |
| 32 | 32 | readonly output | |
| 33 | 33 | readonly upstream_module="github.com/bnema/purego-cef2gtk" | |
| 34 | - | readonly upstream_tag="v0.8.4" | |
| 35 | - | readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d" | |
| 34 | + | ||
| 35 | + | # Resolve the version selected by this checkout, then obtain its immutable VCS | |
| 36 | + | # origin from Go's cached module metadata. Do not infer a revision from a tag, | |
| 37 | + | # a branch, or a truncated pseudo-version suffix. | |
| 38 | + | resolve_upstream_provenance() { | |
| 39 | + | local selected_metadata selected_version downloaded_metadata | |
| 40 | + | ||
| 41 | + | selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || { | |
| 42 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |
| 43 | + | exit 2 | |
| 44 | + | } | |
| 45 | + | selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY' | |
| 46 | + | import json, sys | |
| 47 | + | try: | |
| 48 | + | metadata = json.loads(sys.argv[2]) | |
| 49 | + | if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str): | |
| 50 | + | raise ValueError | |
| 51 | + | print(metadata["Version"]) | |
| 52 | + | except (AttributeError, TypeError, ValueError, json.JSONDecodeError): | |
| 53 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |
| 54 | + | PY | |
| 55 | + | )" || exit $? | |
| 56 | + | downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || { | |
| 57 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |
| 58 | + | exit 2 | |
| 59 | + | } | |
| 60 | + | ||
| 61 | + | python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY' | |
| 62 | + | import json, re, sys | |
| 63 | + | ||
| 64 | + | module, selected_raw, downloaded_raw = sys.argv[1:] | |
| 65 | + | ||
| 66 | + | def fail(): | |
| 67 | + | # Do not expose Go cache locations or other machine-local values. | |
| 68 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |
| 69 | + | ||
| 70 | + | try: | |
| 71 | + | selected = json.loads(selected_raw) | |
| 72 | + | downloaded = json.loads(downloaded_raw) | |
| 73 | + | version = selected["Version"] | |
| 74 | + | if selected.get("Path") != module or downloaded.get("Path") != module: | |
| 75 | + | fail() | |
| 76 | + | if downloaded.get("Version") != version: | |
| 77 | + | fail() | |
| 78 | + | # A selected pseudo-version is an exact immutable selector, never a branch. | |
| 79 | + | match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version) | |
| 80 | + | if not match: | |
| 81 | + | fail() | |
| 82 | + | info_path = downloaded.get("Info") | |
| 83 | + | if not isinstance(info_path, str) or not info_path: | |
| 84 | + | fail() | |
| 85 | + | with open(info_path, encoding="utf-8") as info_file: | |
| 86 | + | info = json.load(info_file) | |
| 87 | + | origin = info.get("Origin") or downloaded.get("Origin") | |
| 88 | + | if info.get("Version") != version or not isinstance(origin, dict): | |
| 89 | + | fail() | |
| 90 | + | revision = origin.get("Hash") | |
| 91 | + | if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk": | |
| 92 | + | fail() | |
| 93 | + | if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision): | |
| 94 | + | fail() | |
| 95 | + | if not revision.startswith(match.group(2)): | |
| 96 | + | fail() | |
| 97 | + | # A named ref can move. Only the immutable hash itself is acceptable. | |
| 98 | + | if origin.get("Ref") not in (None, "", revision): | |
| 99 | + | fail() | |
| 100 | + | except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError): | |
| 101 | + | fail() | |
| 102 | + | ||
| 103 | + | print("\t".join((version, match.group(1), revision))) | |
| 104 | + | PY | |
| 105 | + | } | |
| 36 | 106 | ||
| 37 | 107 | # The artifact destination is caller-controlled. Never empty or recursively | |
| 38 | 108 | # clear it: collection only writes to a newly-created directory whose parent is | |
| @@ -66,10 +136,9 @@ prepare_output | |||
| 66 | 136 | [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; } | |
| 67 | 137 | [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; } | |
| 68 | 138 | [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; } | |
| 69 | - | [[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || { | |
| 70 | - | echo "first-presentation: expected $upstream_module@$upstream_tag" >&2 | |
| 71 | - | exit 2 | |
| 72 | - | } | |
| 139 | + | upstream_provenance="$(resolve_upstream_provenance)" || exit $? | |
| 140 | + | IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance" | |
| 141 | + | readonly upstream_version upstream_tag upstream_revision | |
| 73 | 142 | ||
| 74 | 143 | # Raw logs and temporary XDG homes may contain machine-local paths. Keep them | |
| 75 | 144 | # outside the committed artifact directory and always remove them. | |
| @@ -80,9 +149,9 @@ cleanup_work_root() { | |||
| 80 | 149 | rm -rf -- "$work_root" | |
| 81 | 150 | } | |
| 82 | 151 | trap cleanup_work_root EXIT | |
| 83 | - | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY' | |
| 152 | + | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY' | |
| 84 | 153 | import hashlib, json, os, platform, subprocess, sys | |
| 85 | - | path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:] | |
| 154 | + | path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:] | |
| 86 | 155 | with open(binary, "rb") as candidate: | |
| 87 | 156 | binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest() | |
| 88 | 157 | ||
| @@ -102,7 +171,7 @@ json.dump({ | |||
| 102 | 171 | "binary": {"label": "dumber", "sha256": binary_sha256}, | |
| 103 | 172 | "timeout_seconds": int(timeout), | |
| 104 | 173 | "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(), | |
| 105 | - | "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision}, | |
| 174 | + | "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision}, | |
| 106 | 175 | "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile}, | |
| 107 | 176 | "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"} | |
| 108 | 177 | }, open(path, "w"), indent=2, sort_keys=True) | |
| @@ -31,8 +31,78 @@ else | |||||
| 31 | fi | 31 | fi | ||
| 32 | readonly output | 32 | readonly output | ||
| 33 | readonly upstream_module="github.com/bnema/purego-cef2gtk" | 33 | readonly upstream_module="github.com/bnema/purego-cef2gtk" | ||
| 34 | - | readonly upstream_tag="v0.8.4" | 34 | + | |
| 35 | - | readonly upstream_revision="f217ece342dea3ef2a3f98671fcd16a39ad0037d" | 35 | + | # Resolve the version selected by this checkout, then obtain its immutable VCS |
| 36 | + | # origin from Go's cached module metadata. Do not infer a revision from a tag, | |||
| 37 | + | # a branch, or a truncated pseudo-version suffix. | |||
| 38 | + | resolve_upstream_provenance() { | |||
| 39 | + | local selected_metadata selected_version downloaded_metadata | |||
| 40 | + | ||||
| 41 | + | selected_metadata="$(go list -m -json "$upstream_module" 2>/dev/null)" || { | |||
| 42 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |||
| 43 | + | exit 2 | |||
| 44 | + | } | |||
| 45 | + | selected_version="$(python3 - "$upstream_module" "$selected_metadata" <<'PY' | |||
| 46 | + | import json, sys | |||
| 47 | + | try: | |||
| 48 | + | metadata = json.loads(sys.argv[2]) | |||
| 49 | + | if metadata.get("Path") != sys.argv[1] or not isinstance(metadata.get("Version"), str): | |||
| 50 | + | raise ValueError | |||
| 51 | + | print(metadata["Version"]) | |||
| 52 | + | except (AttributeError, TypeError, ValueError, json.JSONDecodeError): | |||
| 53 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |||
| 54 | + | PY | |||
| 55 | + | )" || exit $? | |||
| 56 | + | downloaded_metadata="$(go mod download -json "$upstream_module@$selected_version" 2>/dev/null)" || { | |||
| 57 | + | echo "first-presentation: immutable module provenance is unavailable" >&2 | |||
| 58 | + | exit 2 | |||
| 59 | + | } | |||
| 60 | + | ||||
| 61 | + | python3 - "$upstream_module" "$selected_metadata" "$downloaded_metadata" <<'PY' | |||
| 62 | + | import json, re, sys | |||
| 63 | + | ||||
| 64 | + | module, selected_raw, downloaded_raw = sys.argv[1:] | |||
| 65 | + | ||||
| 66 | + | def fail(): | |||
| 67 | + | # Do not expose Go cache locations or other machine-local values. | |||
| 68 | + | raise SystemExit("first-presentation: immutable module provenance is unavailable") | |||
| 69 | + | ||||
| 70 | + | try: | |||
| 71 | + | selected = json.loads(selected_raw) | |||
| 72 | + | downloaded = json.loads(downloaded_raw) | |||
| 73 | + | version = selected["Version"] | |||
| 74 | + | if selected.get("Path") != module or downloaded.get("Path") != module: | |||
| 75 | + | fail() | |||
| 76 | + | if downloaded.get("Version") != version: | |||
| 77 | + | fail() | |||
| 78 | + | # A selected pseudo-version is an exact immutable selector, never a branch. | |||
| 79 | + | match = re.fullmatch(r"(v\d+\.\d+\.\d+)-0\.\d{14}-([0-9a-f]{12})", version) | |||
| 80 | + | if not match: | |||
| 81 | + | fail() | |||
| 82 | + | info_path = downloaded.get("Info") | |||
| 83 | + | if not isinstance(info_path, str) or not info_path: | |||
| 84 | + | fail() | |||
| 85 | + | with open(info_path, encoding="utf-8") as info_file: | |||
| 86 | + | info = json.load(info_file) | |||
| 87 | + | origin = info.get("Origin") or downloaded.get("Origin") | |||
| 88 | + | if info.get("Version") != version or not isinstance(origin, dict): | |||
| 89 | + | fail() | |||
| 90 | + | revision = origin.get("Hash") | |||
| 91 | + | if origin.get("VCS") != "git" or origin.get("URL") != "https://github.com/bnema/purego-cef2gtk": | |||
| 92 | + | fail() | |||
| 93 | + | if not isinstance(revision, str) or not re.fullmatch(r"[0-9a-f]{40}", revision): | |||
| 94 | + | fail() | |||
| 95 | + | if not revision.startswith(match.group(2)): | |||
| 96 | + | fail() | |||
| 97 | + | # A named ref can move. Only the immutable hash itself is acceptable. | |||
| 98 | + | if origin.get("Ref") not in (None, "", revision): | |||
| 99 | + | fail() | |||
| 100 | + | except (AttributeError, KeyError, OSError, TypeError, ValueError, json.JSONDecodeError): | |||
| 101 | + | fail() | |||
| 102 | + | ||||
| 103 | + | print("\t".join((version, match.group(1), revision))) | |||
| 104 | + | PY | |||
| 105 | + | } | |||
| 36 | 106 | ||||
| 37 | # The artifact destination is caller-controlled. Never empty or recursively | 107 | # The artifact destination is caller-controlled. Never empty or recursively | ||
| 38 | # clear it: collection only writes to a newly-created directory whose parent is | 108 | # clear it: collection only writes to a newly-created directory whose parent is | ||
| @@ -66,10 +136,9 @@ prepare_output | |||||
| 66 | [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; } | 136 | [[ -x "$binary" ]] || { echo "first-presentation: executable not found: $binary" >&2; exit 2; } | ||
| 67 | [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; } | 137 | [[ -d "$runtime" ]] || { echo "first-presentation: CEF runtime not found: $runtime" >&2; exit 2; } | ||
| 68 | [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; } | 138 | [[ -n "${WAYLAND_DISPLAY:-}${DISPLAY:-}" ]] || { echo "first-presentation: a current Wayland/X11 display is required" >&2; exit 2; } | ||
| 69 | - | [[ "$(go list -m -f '{{.Version}}' "$upstream_module")" == "$upstream_tag" ]] || { | 139 | + | upstream_provenance="$(resolve_upstream_provenance)" || exit $? |
| 70 | - | echo "first-presentation: expected $upstream_module@$upstream_tag" >&2 | 140 | + | IFS=$'\t' read -r upstream_version upstream_tag upstream_revision <<<"$upstream_provenance" |
| 71 | - | exit 2 | 141 | + | readonly upstream_version upstream_tag upstream_revision |
| 72 | - | } | |||
| 73 | 142 | ||||
| 74 | # Raw logs and temporary XDG homes may contain machine-local paths. Keep them | 143 | # Raw logs and temporary XDG homes may contain machine-local paths. Keep them | ||
| 75 | # outside the committed artifact directory and always remove them. | 144 | # outside the committed artifact directory and always remove them. | ||
| @@ -80,9 +149,9 @@ cleanup_work_root() { | |||||
| 80 | rm -rf -- "$work_root" | 149 | rm -rf -- "$work_root" | ||
| 81 | } | 150 | } | ||
| 82 | trap cleanup_work_root EXIT | 151 | trap cleanup_work_root EXIT | ||
| 83 | - | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_tag" "$upstream_revision" <<'PY' | 152 | + | python3 - "$output/metadata.json" "$binary" "$timeout_seconds" "$upstream_module" "$upstream_version" "$upstream_tag" "$upstream_revision" <<'PY' |
| 84 | import hashlib, json, os, platform, subprocess, sys | 153 | import hashlib, json, os, platform, subprocess, sys | ||
| 85 | - | path, binary, timeout, upstream_module, upstream_tag, upstream_revision = sys.argv[1:] | 154 | + | path, binary, timeout, upstream_module, upstream_version, upstream_tag, upstream_revision = sys.argv[1:] |
| 86 | with open(binary, "rb") as candidate: | 155 | with open(binary, "rb") as candidate: | ||
| 87 | binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest() | 156 | binary_sha256 = hashlib.file_digest(candidate, "sha256").hexdigest() | ||
| 88 | 157 | ||||
| @@ -102,7 +171,7 @@ json.dump({ | |||||
| 102 | "binary": {"label": "dumber", "sha256": binary_sha256}, | 171 | "binary": {"label": "dumber", "sha256": binary_sha256}, | ||
| 103 | "timeout_seconds": int(timeout), | 172 | "timeout_seconds": int(timeout), | ||
| 104 | "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(), | 173 | "measured_source_revision": subprocess.check_output(["git", "-c", f"safe.directory={os.getcwd()}", "rev-parse", "HEAD"], text=True).strip(), | ||
| 105 | - | "upstream": {"module": upstream_module, "tag": upstream_tag, "revision": upstream_revision}, | 174 | + | "upstream": {"module": upstream_module, "version": upstream_version, "tag": upstream_tag, "revision": upstream_revision}, |
| 106 | "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile}, | 175 | "comparison": {"os": os_label, "architecture": architecture, "display_protocol": display_protocol, "machine_gpu_profile": gpu_profile}, | ||
| 107 | "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"} | 176 | "render_configuration": {"backend": "gdk-dmabuf", "buffer_sharing": "dmabuf", "renderer": "vulkan"} | ||
| 108 | }, open(path, "w"), indent=2, sort_keys=True) | 177 | }, open(path, "w"), indent=2, sort_keys=True) | ||
M vendor/github.com/bnema/purego-cef/cef/bridge.go +8 -13 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/cefadapter/accelerated_paint.go +34 -37 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/dmabuf/frame.go +38 -19 generated file: collapsed
M vendor/github.com/bnema/purego-cef2gtk/internal/gtkgdk/renderer.go +89 -69 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player.go +5 -0 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/player_rt.go +10 -6 generated file: collapsed
M vendor/github.com/bnema/purego-pipewire/internal/core/pwbuffer.go +66 -32 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/driver/driver.go +268 -63 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/db.go +8 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/core/rows.go +13 -0 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/loader/loader.go +23 -5 generated file: collapsed
M vendor/github.com/bnema/purego-sqlite/internal/ports/in/ports_gen.go +3 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/internal/core/core.go +197 -4 generated file: collapsed
M vendor/github.com/bnema/puregotk/pkg/core/core.go +10 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-dialog.go +99 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-about-window.go +95 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-accent-color.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-action-row.go +33 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-alert-dialog.go +66 -47 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-target.go +10 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation-util.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-animation.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-application.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-avatar.go +22 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-banner.go +23 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bin.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-bottom-sheet.go +47 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint-bin.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-breakpoint.go +33 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-content.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-button-row.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-dots.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel-indicator-lines.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-carousel.go +47 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-layout.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp-scrollable.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-clamp.go +17 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-combo-row.go +34 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-dialog.go +45 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-easing.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-entry-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-enum-list-model.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-expander-row.go +40 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-flap.go +61 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-fold-threshold-policy.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-header-bar.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-inline-view-switcher.go +18 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout-slot.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-layout.go +7 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-leaflet.go +69 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-length-unit.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-main.go +5 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-message-dialog.go +63 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-multi-layout-view.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-direction.go +10 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-split-view.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-navigation-view.go +60 -49 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-overlay-split-view.go +48 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-password-entry-row.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-dialog.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-group.go +24 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-page.go +38 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-row.go +18 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-preferences-window.go +31 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcut-label.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-dialog.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-item.go +23 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-shortcuts-section.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-item.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar-section.go +24 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-sidebar.go +41 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spin-row.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner-paintable.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spinner.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-split-button.go +39 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-animation.go +34 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-spring-params.go +17 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-squeezer.go +49 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-status-page.go +20 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-style-manager.go +25 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipe-tracker.go +33 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-swipeable.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-switch-row.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-bar.go +35 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-button.go +5 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-overview.go +45 -37 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-tab-view.go +123 -87 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-timed-animation.go +30 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast-overlay.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toast.go +41 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toggle-group.go +64 -51 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-toolbar-view.go +40 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-version.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-stack.go +78 -62 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-bar.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-sidebar.go +15 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher-title.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-view-switcher.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window-title.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-window.go +14 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-box.go +66 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/adw/adw-wrap-layout.go +57 -46 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/cairo/main.go +36 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkapplaunchcontext.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairo.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcairocontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcicpparams.go +20 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkclipboard.go +34 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcolorstate.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentdeserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentformats.go +28 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentprovider.go +23 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcontentserializer.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkcursor.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevice.go +36 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicepad.go +27 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdevicetool.go +10 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplay.go +51 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdisplaymanager.go +10 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexture.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdmabuftexturebuilder.go +53 -41 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrag.go +20 -28 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurface.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdragsurfacesize.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrawcontext.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkdrop.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkenums.go +21 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkevents.go +120 -118 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframeclock.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkframetimings.go +17 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkglcontext.go +40 -36 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexture.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkgltexturebuilder.go +41 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkkeys.go +19 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexture.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmemorytexturebuilder.go +42 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkmonitor.go +27 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpaintable.go +63 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpango.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpixbuf.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopup.go +47 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkpopuplayout.go +36 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkrgba.go +19 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkseat.go +11 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksnapshot.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdksurface.go +46 -40 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktexture.go +27 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevel.go +157 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevellayout.go +24 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktoplevelsize.go +9 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdktypes.go +95 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdk/gdkvulkancontext.go +3 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-animation.go +26 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-core.go +9 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-io.go +25 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-loader.go +13 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-simple-anim.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf-transform.go +11 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/gdk-pixbuf.go +102 -79 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gdkpixbuf/main.go +5 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gaction.go +59 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactiongroup.go +96 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gactionmap.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gappinfo.go +244 -116 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplication.go +79 -55 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gapplicationcommandline.go +31 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncinitable.go +25 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gasyncresult.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedinputstream.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbufferedoutputstream.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gbytesicon.go +4 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcancellable.go +26 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcharsetconverter.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcontenttype.go +30 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverter.go +23 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverterinputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gconverteroutputstream.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gcredentials.go +12 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatagrambased.go +45 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdatainputstream.go +31 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdataoutputstream.go +14 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusactiongroup.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusaddress.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusauthobserver.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusconnection.go +77 -66 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbuserror.go +16 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterface.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusinterfaceskeleton.go +25 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusintrospection.go +54 -56 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmenumodel.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmessage.go +88 -64 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusmethodinvocation.go +35 -30 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnameowning.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusnamewatching.go +10 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobject.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanager.go +26 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerclient.go +16 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectmanagerserver.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectproxy.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusobjectskeleton.go +12 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusproxy.go +42 -38 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusserver.go +14 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdbusutils.go +24 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontroller.go +12 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdebugcontrollerdbus.go +4 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdrive.go +214 -82 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsclientconnection.go +34 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsconnection.go +207 -80 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gdtlsserverconnection.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblem.go +6 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gemblemedicon.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfile.go +1148 -450 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileattribute.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileenumerator.go +34 -35 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileicon.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinfo.go +138 -84 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileinputstream.go +17 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileiostream.go +23 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilemonitor.go +9 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilenamecompleter.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfileoutputstream.go +23 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilterinputstream.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gfilteroutputstream.go +6 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gicon.go +32 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetaddress.go +40 -34 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetaddressmask.go +14 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginetsocketaddress.go +10 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginitable.go +11 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/ginputstream.go +52 -48 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioenums.go +90 -1 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioerror.go +6 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giomodule.go +26 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gioscheduler.go +4 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giostream.go +25 -29 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giotypes.go +70 -60 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/giptosmessage.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gipv6tclassmessage.go +6 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/glistmodel.go +33 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gliststore.go +22 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gloadableicon.go +27 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemoryinputstream.go +8 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemorymonitor.go +2 -12 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmemoryoutputstream.go +13 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmenu.go +62 -50 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmenumodel.go +31 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmount.go +215 -86 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gmountoperation.go +40 -32 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnativesocketaddress.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnativevolumemonitor.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkaddress.go +11 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworking.go +3 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkmonitor.go +49 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnetworkservice.go +12 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gnotification.go +26 -26 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/goutputstream.go +86 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpermission.go +33 -33 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableinputstream.go +30 -22 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableoutputstream.go +41 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpollableutils.go +7 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpowerprofilemonitor.go +7 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gpropertyaction.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxy.go +35 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyaddress.go +16 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyaddressenumerator.go +7 -0 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gproxyresolver.go +35 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gremoteactiongroup.go +12 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gresolver.go +75 -67 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gresource.go +19 -23 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gseekable.go +41 -27 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettings.go +99 -67 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettingsbackend.go +19 -24 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsettingsschema.go +48 -43 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleaction.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleactiongroup.go +9 -18 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleasyncresult.go +46 -40 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleiostream.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimplepermission.go +2 -13 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsimpleproxyresolver.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocket.go +87 -72 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketaddress.go +11 -19 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketaddressenumerator.go +13 -20 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketclient.go +54 -44 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketconnectable.go +19 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketconnection.go +14 -21 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketcontrolmessage.go +10 -17 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketlistener.go +18 -25 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsocketservice.go +8 -16 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsrvtarget.go +2 -11 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsubprocess.go +40 -39 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gsubprocesslauncher.go +34 -31 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtask.go +70 -52 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtcpconnection.go +5 -14 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtcpwrapperconnection.go +3 -15 generated file: collapsed
M vendor/github.com/bnema/puregotk/v4/gio/gtestdbus.go +16 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthemedicon.go +10 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthreadedresolver.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gthreadedsocketservice.go +2 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsbackend.go +69 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlscertificate.go +25 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsclientconnection.go +55 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsconnection.go +56 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsdatabase.go +51 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsfiledatabase.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsinteraction.go +27 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlspassword.go +20 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gtlsserverconnection.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixconnection.go +11 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixcredentialsmessage.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixfdlist.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gunixsocketaddress.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvfs.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvolume.go +143 -58 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gvolumemonitor.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gzlibcompressor.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/gzlibdecompressor.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gio/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gallocator.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/garray.go +82 -59 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gasyncqueue.go +56 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gatomic.go +43 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbacktrace.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbase64.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbitlock.go +23 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gbookmarkfile.go +69 -61 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcache.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcharset.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gchecksum.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gcompletion.go +14 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gconvert.go +25 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdataset.go +36 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdate.go +103 -65 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdatetime.go +107 -66 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gdir.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/genviron.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gerror.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gfileutils.go +45 -38 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ggettext.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghash.go +81 -53 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghmac.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghook.go +28 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/ghostutils.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/giochannel.go +83 -67 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gkeyfile.go +72 -62 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/glib-types.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/glist.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmain.go +181 -117 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmappedfile.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmarkup.go +51 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmem.go +44 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gmessages.go +70 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gnode.go +50 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/goption.go +57 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpathbuf.go +26 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpattern.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gpoll.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gprimes.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gprintf.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gqsort.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gquark.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gqueue.go +84 -52 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grand.go +33 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grcbox.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grefcount.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grefstring.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gregex.go +72 -57 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/grel.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gscanner.go +40 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gsequence.go +74 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gshell.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gslice.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gslist.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gspawn.go +12 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstdio.go +33 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstrfuncs.go +115 -71 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstring.go +77 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstringchunk.go +10 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gstrvbuilder.go +19 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtestutils.go +132 -80 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gthread.go +146 -97 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gthreadpool.go +26 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtimer.go +18 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtimezone.go +27 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtrashstack.go +8 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtree.go +63 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gtypes.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gunicode.go +132 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/guri.go +63 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gutils.go +62 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/guuid.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvariant-parser.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvariant.go +242 -143 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gvarianttype.go +63 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/gversion.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/glib/main.go +31 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gmodule/gmodule.go +14 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gmodule/main.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gbinding.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gbindinggroup.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gboxed.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gclosure.go +37 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/genums.go +24 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/glib-types.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gmarshal.go +45 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gobject.go +116 -82 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gparam.go +54 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gparamspecs.go +46 -79 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsignal.go +79 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsignalgroup.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gsourceclosure.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtype.go +136 -82 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtypemodule.go +15 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gtypeplugin.go +26 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvalue.go +141 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvaluearray.go +21 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/gvaluetypes.go +6 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/main.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gobject/more.go +8 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-box.go +61 -44 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-euler.go +43 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-frustum.go +21 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-matrix.go +135 -80 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-plane.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-point.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-point3d.go +35 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-quad.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-quaternion.go +49 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-ray.go +37 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-rect.go +67 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-size.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-sphere.go +27 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-triangle.go +33 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec2.go +53 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec3.go +69 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/graphene/graphene-vec4.go +69 -48 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskblendnode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskblurnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskbordernode.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskbroadwayrenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcaironode.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcairorenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskclipnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcolormatrixnode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcolornode.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfer.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcomponenttransfernode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcompositenode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskconicgradientnode.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcontainernode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcopynode.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskcrossfadenode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskdebugnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskenums.go +24 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskfillnode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglrenderer.go +4 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglshader.go +65 -50 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskglshadernode.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskinsetshadownode.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskisolationnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsklineargradientnode.go +12 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskmasknode.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskopacitynode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskoutsetshadownode.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpastenode.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpath.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskpathpoint.go +19 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskradialgradientnode.go +18 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrenderer.go +12 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrendernode.go +26 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskrepeatnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskroundedclipnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskroundedrect.go +20 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskshadownode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskstroke.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskstrokenode.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsksubsurfacenode.go +5 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktextnode.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktexturenode.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktexturescalenode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktransform.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktransformnode.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gsktypes.go +237 -153 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gsk/gskvulkanrenderer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaboutdialog.go +70 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccelgroup.go +18 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessible.go +159 -66 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblehypertext.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessiblerange.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaccessibletext.go +21 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkactionable.go +40 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkactionbar.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkadjustment.go +32 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkalertdialog.go +31 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooser.go +19 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserbutton.go +24 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserdialog.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkappchooserwidget.go +26 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkapplication.go +27 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkapplicationwindow.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkaspectframe.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkassistant.go +48 -43 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkatcontext.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbinlayout.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbitset.go +15 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbookmarklist.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkboolfilter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkborder.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbox.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkboxlayout.go +18 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuildable.go +28 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilder.go +35 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderlistitemfactory.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbuilderscope.go +14 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkbutton.go +28 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcalendar.go +40 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellarea.go +87 -59 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareabox.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellareacontext.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcelleditable.go +19 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcelllayout.go +68 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderer.go +56 -42 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendereraccel.go +3 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderercombo.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererpixbuf.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererprogress.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspin.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrendererspinner.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertext.go +4 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellrenderertoggle.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcellview.go +21 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterbox.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcenterlayout.go +23 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcheckbutton.go +25 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorbutton.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooser.go +33 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorchooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialog.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolordialogbutton.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolorutils.go +5 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnview.go +47 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcell.go +13 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewcolumn.go +36 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewrow.go +26 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcolumnviewsorter.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcombobox.go +51 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcomboboxtext.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraint.go +24 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintguide.go +22 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkconstraintlayout.go +20 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcsserror.go +4 -12 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcssprovider.go +18 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcsssection.go +22 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomfilter.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomlayout.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkcustomsorter.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdebug.go +5 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdialog.go +21 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdialogerror.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdirectorylist.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdragicon.go +8 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdragsource.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdrawingarea.go +12 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdropcontrollermotion.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdropdown.go +35 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptarget.go +22 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkdroptargetasync.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeditable.go +173 -65 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeditablelabel.go +8 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkemojichooser.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentry.go +119 -76 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentrybuffer.go +22 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkentrycompletion.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkenums.go +70 -147 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontroller.go +24 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerfocus.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerkey.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerlegacy.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollermotion.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkeventcontrollerscroll.go +9 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkexpander.go +29 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkexpression.go +50 -67 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooser.go +177 -68 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechoosernative.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilechooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfiledialog.go +54 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilefilter.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilelauncher.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfilterlistmodel.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfixed.go +14 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfixedlayout.go +7 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkflattenlistmodel.go +6 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkflowbox.go +79 -57 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontbutton.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooser.go +132 -51 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserdialog.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontchooserwidget.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialog.go +32 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkfontdialogbutton.go +30 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkframe.go +16 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesture.go +33 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureclick.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturedrag.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturelongpress.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturepan.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturerotate.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturesingle.go +17 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturestylus.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgestureswipe.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgesturezoom.go +4 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkglarea.go +39 -32 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgraphicsoffload.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgrid.go +45 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgridlayout.go +43 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkgridview.go +30 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkheaderbar.go +23 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkiconpaintable.go +7 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkicontheme.go +34 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkiconview.go +123 -78 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimage.go +37 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontext.go +31 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimcontextsimple.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkimmulticontext.go +6 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkinfobar.go +32 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkinscription.go +45 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklabel.go +98 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutchild.go +3 -14 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklayoutmanager.go +11 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklevelbar.go +29 -28 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklinkbutton.go +11 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistbase.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistbox.go +88 -63 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistheader.go +11 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistitem.go +29 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistitemfactory.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkliststore.go +41 -34 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklistview.go +29 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtklockbutton.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmain.go +16 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmaplistmodel.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediacontrols.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediafile.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmediastream.go +69 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmenubutton.go +53 -41 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmessagedialog.go +11 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmountoperation.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultifilter.go +9 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultiselection.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkmultisorter.go +6 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknative.go +34 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknativedialog.go +20 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknoselection.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknotebook.go +87 -64 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtknumericsorter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkorientable.go +12 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlay.go +17 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkoverlaylayout.go +11 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpadcontroller.go +7 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetup.go +47 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpagesetupunixdialog.go +8 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpaned.go +32 -30 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpapersize.go +50 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentry.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpasswordentrybuffer.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpicture.go +39 -36 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopover.go +41 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopoverbin.go +19 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenu.go +14 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkpopovermenubar.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintcontext.go +19 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintdialog.go +36 -37 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprinter.go +48 -40 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintjob.go +57 -44 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperation.go +65 -54 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintoperationpreview.go +19 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintsettings.go +145 -89 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprintunixdialog.go +33 -31 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkprogressbar.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrange.go +44 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrecentmanager.go +65 -54 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrender.go +24 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkrevealer.go +20 -25 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkroot.go +19 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscale.go +28 -27 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscalebutton.go +20 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollable.go +61 -29 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrollbar.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkscrolledwindow.go +61 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksearchbar.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksearchentry.go +21 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksectionmodel.go +12 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionfiltermodel.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkselectionmodel.go +75 -33 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkseparator.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksettings.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcut.go +13 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutaction.go +25 -47 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutcontroller.go +15 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutlabel.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutmanager.go +7 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsgroup.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutssection.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutsshortcut.go +8 -0 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcutswindow.go +3 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshortcuttrigger.go +34 -46 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkshow.go +5 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksignallistitemfactory.go +2 -13 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksingleselection.go +18 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksizegroup.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksizerequest.go +2 -11 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkslicelistmodel.go +13 -20 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksnapshot.go +112 -71 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksorter.go +9 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksortlistmodel.go +17 -23 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkspinbutton.go +56 -45 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkspinner.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstack.go +68 -55 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstacksidebar.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstackswitcher.go +5 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstatusbar.go +12 -19 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringfilter.go +18 -24 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringlist.go +18 -26 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstringsorter.go +14 -22 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstylecontext.go +43 -35 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkstyleprovider.go +10 -1 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksvg.go +41 -39 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtkswitch.go +10 -18 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtksymbolicpaintable.go +12 -15 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktestatcontext.go +17 -21 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktestutils.go +9 -17 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktext.go +69 -49 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextbuffer.go +138 -85 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextchild.go +7 -16 collapsed to keep the page light
M vendor/github.com/bnema/puregotk/v4/gtk/gtktextiter.go +179 -104
| @@ -5,7 +5,6 @@ import ( | |||
| 5 | 5 | "structs" | |
| 6 | 6 | "unsafe" | |
| 7 | 7 | ||
| 8 | - | "github.com/bnema/purego" | |
| 9 | 8 | "github.com/bnema/puregotk/pkg/core" | |
| 10 | 9 | "github.com/bnema/puregotk/v4/gdk" | |
| 11 | 10 | "github.com/bnema/puregotk/v4/glib" | |
| @@ -59,6 +58,7 @@ type TextIter struct { | |||
| 59 | 58 | var xTextIterGLibType func() types.GType | |
| 60 | 59 | ||
| 61 | 60 | func TextIterGLibType() types.GType { | |
| 61 | + | core.LazyRegister(&xTextIterGLibType, "GTK", "gtk_text_iter_get_type", false) | |
| 62 | 62 | return xTextIterGLibType() | |
| 63 | 63 | } | |
| 64 | 64 | ||
| @@ -83,6 +83,8 @@ var xTextIterAssign func(uintptr, *TextIter) | |||
| 83 | 83 | // | |
| 84 | 84 | // The function is used by language bindings. | |
| 85 | 85 | func (x *TextIter) Assign(OtherVar *TextIter) { | |
| 86 | + | core.LazyRegister(&xTextIterAssign, "GTK", "gtk_text_iter_assign", false) | |
| 87 | + | ||
| 86 | 88 | xTextIterAssign(x.GoPointer(), OtherVar) | |
| 87 | 89 | } | |
| 88 | 90 | ||
| @@ -94,6 +96,8 @@ var xTextIterBackwardChar func(uintptr) bool | |||
| 94 | 96 | // in the buffer (character offset 0), this function returns %FALSE | |
| 95 | 97 | // for convenience when writing loops. | |
| 96 | 98 | func (x *TextIter) BackwardChar() bool { | |
| 99 | + | core.LazyRegister(&xTextIterBackwardChar, "GTK", "gtk_text_iter_backward_char", false) | |
| 100 | + | ||
| 97 | 101 | cret := xTextIterBackwardChar(x.GoPointer()) | |
| 98 | 102 | return cret | |
| 99 | 103 | } | |
| @@ -110,6 +114,8 @@ var xTextIterBackwardChars func(uintptr, int) bool | |||
| 110 | 114 | // moved onto the end iterator, then %FALSE is returned. If @count is 0, | |
| 111 | 115 | // the function does nothing and returns %FALSE. | |
| 112 | 116 | func (x *TextIter) BackwardChars(CountVar int) bool { | |
| 117 | + | core.LazyRegister(&xTextIterBackwardChars, "GTK", "gtk_text_iter_backward_chars", false) | |
| 118 | + | ||
| 113 | 119 | cret := xTextIterBackwardChars(x.GoPointer(), CountVar) | |
| 114 | 120 | return cret | |
| 115 | 121 | } | |
| @@ -118,6 +124,8 @@ var xTextIterBackwardCursorPosition func(uintptr) bool | |||
| 118 | 124 | ||
| 119 | 125 | // Like [method@Gtk.TextIter.forward_cursor_position], but moves backward. | |
| 120 | 126 | func (x *TextIter) BackwardCursorPosition() bool { | |
| 127 | + | core.LazyRegister(&xTextIterBackwardCursorPosition, "GTK", "gtk_text_iter_backward_cursor_position", false) | |
| 128 | + | ||
| 121 | 129 | cret := xTextIterBackwardCursorPosition(x.GoPointer()) | |
| 122 | 130 | return cret | |
| 123 | 131 | } | |
| @@ -128,6 +136,8 @@ var xTextIterBackwardCursorPositions func(uintptr, int) bool | |||
| 128 | 136 | // | |
| 129 | 137 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | |
| 130 | 138 | func (x *TextIter) BackwardCursorPositions(CountVar int) bool { | |
| 139 | + | core.LazyRegister(&xTextIterBackwardCursorPositions, "GTK", "gtk_text_iter_backward_cursor_positions", false) | |
| 140 | + | ||
| 131 | 141 | cret := xTextIterBackwardCursorPositions(x.GoPointer(), CountVar) | |
| 132 | 142 | return cret | |
| 133 | 143 | } | |
| @@ -137,6 +147,8 @@ var xTextIterBackwardFindChar func(uintptr, uintptr, uintptr, *TextIter) bool | |||
| 137 | 147 | // Same as [method@Gtk.TextIter.forward_find_char], | |
| 138 | 148 | // but goes backward from @iter. | |
| 139 | 149 | func (x *TextIter) BackwardFindChar(PredVar *TextCharPredicate, UserDataVar uintptr, LimitVar *TextIter) bool { | |
| 150 | + | core.LazyRegister(&xTextIterBackwardFindChar, "GTK", "gtk_text_iter_backward_find_char", false) | |
| 151 | + | ||
| 140 | 152 | cret := xTextIterBackwardFindChar(x.GoPointer(), glib.NewCallback(PredVar), UserDataVar, LimitVar) | |
| 141 | 153 | return cret | |
| 142 | 154 | } | |
| @@ -153,6 +165,8 @@ var xTextIterBackwardLine func(uintptr) bool | |||
| 153 | 165 | // in a loop calling this function, the line number may not change on | |
| 154 | 166 | // every iteration, if your first iteration is on line 0.) | |
| 155 | 167 | func (x *TextIter) BackwardLine() bool { | |
| 168 | + | core.LazyRegister(&xTextIterBackwardLine, "GTK", "gtk_text_iter_backward_line", false) | |
| 169 | + | ||
| 156 | 170 | cret := xTextIterBackwardLine(x.GoPointer()) | |
| 157 | 171 | return cret | |
| 158 | 172 | } | |
| @@ -170,6 +184,8 @@ var xTextIterBackwardLines func(uintptr, int) bool | |||
| 170 | 184 | // the function does nothing and returns %FALSE. If @count is negative, | |
| 171 | 185 | // moves forward by 0 - @count lines. | |
| 172 | 186 | func (x *TextIter) BackwardLines(CountVar int) bool { | |
| 187 | + | core.LazyRegister(&xTextIterBackwardLines, "GTK", "gtk_text_iter_backward_lines", false) | |
| 188 | + | ||
| 173 | 189 | cret := xTextIterBackwardLines(x.GoPointer(), CountVar) | |
| 174 | 190 | return cret | |
| 175 | 191 | } | |
| @@ -181,6 +197,8 @@ var xTextIterBackwardSearch func(uintptr, string, TextSearchFlags, *TextIter, *T | |||
| 181 | 197 | // @match_end will never be set to a `GtkTextIter` located after @iter, | |
| 182 | 198 | // even if there is a possible @match_start before or at @iter. | |
| 183 | 199 | func (x *TextIter) BackwardSearch(StrVar string, FlagsVar TextSearchFlags, MatchStartVar *TextIter, MatchEndVar *TextIter, LimitVar *TextIter) bool { | |
| 200 | + | core.LazyRegister(&xTextIterBackwardSearch, "GTK", "gtk_text_iter_backward_search", false) | |
| 201 | + | ||
| 184 | 202 | cret := xTextIterBackwardSearch(x.GoPointer(), StrVar, FlagsVar, MatchStartVar, MatchEndVar, LimitVar) | |
| 185 | 203 | return cret | |
| 186 | 204 | } | |
| @@ -195,6 +213,8 @@ var xTextIterBackwardSentenceStart func(uintptr) bool | |||
| 195 | 213 | // Sentence boundaries are determined by Pango and should | |
| 196 | 214 | // be correct for nearly any language. | |
| 197 | 215 | func (x *TextIter) BackwardSentenceStart() bool { | |
| 216 | + | core.LazyRegister(&xTextIterBackwardSentenceStart, "GTK", "gtk_text_iter_backward_sentence_start", false) | |
| 217 | + | ||
| 198 | 218 | cret := xTextIterBackwardSentenceStart(x.GoPointer()) | |
| 199 | 219 | return cret | |
| 200 | 220 | } | |
| @@ -205,6 +225,8 @@ var xTextIterBackwardSentenceStarts func(uintptr, int) bool | |||
| 205 | 225 | // | |
| 206 | 226 | // If @count is negative, moves forward instead of backward. | |
| 207 | 227 | func (x *TextIter) BackwardSentenceStarts(CountVar int) bool { | |
| 228 | + | core.LazyRegister(&xTextIterBackwardSentenceStarts, "GTK", "gtk_text_iter_backward_sentence_starts", false) | |
| 229 | + | ||
| 208 | 230 | cret := xTextIterBackwardSentenceStarts(x.GoPointer(), CountVar) | |
| 209 | 231 | return cret | |
| 210 | 232 | } | |
| @@ -221,6 +243,8 @@ var xTextIterBackwardToTagToggle func(uintptr, uintptr) bool | |||
| 221 | 243 | // to the location of the toggle, or the start of the buffer | |
| 222 | 244 | // if no toggle is found. | |
| 223 | 245 | func (x *TextIter) BackwardToTagToggle(TagVar *TextTag) bool { | |
| 246 | + | core.LazyRegister(&xTextIterBackwardToTagToggle, "GTK", "gtk_text_iter_backward_to_tag_toggle", false) | |
| 247 | + | ||
| 224 | 248 | cret := xTextIterBackwardToTagToggle(x.GoPointer(), TagVar.GoPointer()) | |
| 225 | 249 | return cret | |
| 226 | 250 | } | |
| @@ -231,6 +255,8 @@ var xTextIterBackwardVisibleCursorPosition func(uintptr) bool | |||
| 231 | 255 | // | |
| 232 | 256 | // See [method@Gtk.TextIter.backward_cursor_position] for details. | |
| 233 | 257 | func (x *TextIter) BackwardVisibleCursorPosition() bool { | |
| 258 | + | core.LazyRegister(&xTextIterBackwardVisibleCursorPosition, "GTK", "gtk_text_iter_backward_visible_cursor_position", false) | |
| 259 | + | ||
| 234 | 260 | cret := xTextIterBackwardVisibleCursorPosition(x.GoPointer()) | |
| 235 | 261 | return cret | |
| 236 | 262 | } | |
| @@ -241,6 +267,8 @@ var xTextIterBackwardVisibleCursorPositions func(uintptr, int) bool | |||
| 241 | 267 | // | |
| 242 | 268 | // See [method@Gtk.TextIter.backward_cursor_position] for details. | |
| 243 | 269 | func (x *TextIter) BackwardVisibleCursorPositions(CountVar int) bool { | |
| 270 | + | core.LazyRegister(&xTextIterBackwardVisibleCursorPositions, "GTK", "gtk_text_iter_backward_visible_cursor_positions", false) | |
| 271 | + | ||
| 244 | 272 | cret := xTextIterBackwardVisibleCursorPositions(x.GoPointer(), CountVar) | |
| 245 | 273 | return cret | |
| 246 | 274 | } | |
| @@ -257,6 +285,8 @@ var xTextIterBackwardVisibleLine func(uintptr) bool | |||
| 257 | 285 | // in a loop calling this function, the line number may not change on | |
| 258 | 286 | // every iteration, if your first iteration is on line 0.) | |
| 259 | 287 | func (x *TextIter) BackwardVisibleLine() bool { | |
| 288 | + | core.LazyRegister(&xTextIterBackwardVisibleLine, "GTK", "gtk_text_iter_backward_visible_line", false) | |
| 289 | + | ||
| 260 | 290 | cret := xTextIterBackwardVisibleLine(x.GoPointer()) | |
| 261 | 291 | return cret | |
| 262 | 292 | } | |
| @@ -274,6 +304,8 @@ var xTextIterBackwardVisibleLines func(uintptr, int) bool | |||
| 274 | 304 | // the function does nothing and returns %FALSE. If @count is negative, | |
| 275 | 305 | // moves forward by 0 - @count lines. | |
| 276 | 306 | func (x *TextIter) BackwardVisibleLines(CountVar int) bool { | |
| 307 | + | core.LazyRegister(&xTextIterBackwardVisibleLines, "GTK", "gtk_text_iter_backward_visible_lines", false) | |
| 308 | + | ||
| 277 | 309 | cret := xTextIterBackwardVisibleLines(x.GoPointer(), CountVar) | |
| 278 | 310 | return cret | |
| 279 | 311 | } | |
| @@ -288,6 +320,8 @@ var xTextIterBackwardVisibleWordStart func(uintptr) bool | |||
| 288 | 320 | // Word breaks are determined by Pango and should be correct | |
| 289 | 321 | // for nearly any language. | |
| 290 | 322 | func (x *TextIter) BackwardVisibleWordStart() bool { | |
| 323 | + | core.LazyRegister(&xTextIterBackwardVisibleWordStart, "GTK", "gtk_text_iter_backward_visible_word_start", false) | |
| 324 | + | ||
| 291 | 325 | cret := xTextIterBackwardVisibleWordStart(x.GoPointer()) | |
| 292 | 326 | return cret | |
| 293 | 327 | } | |
| @@ -296,6 +330,8 @@ var xTextIterBackwardVisibleWordStarts func(uintptr, int) bool | |||
| 296 | 330 | ||
| 297 | 331 | // Calls [method@Gtk.TextIter.backward_visible_word_start] up to @count times. | |
| 298 | 332 | func (x *TextIter) BackwardVisibleWordStarts(CountVar int) bool { | |
| 333 | + | core.LazyRegister(&xTextIterBackwardVisibleWordStarts, "GTK", "gtk_text_iter_backward_visible_word_starts", false) | |
| 334 | + | ||
| 299 | 335 | cret := xTextIterBackwardVisibleWordStarts(x.GoPointer(), CountVar) | |
| 300 | 336 | return cret | |
| 301 | 337 | } | |
| @@ -310,6 +346,8 @@ var xTextIterBackwardWordStart func(uintptr) bool | |||
| 310 | 346 | // Word breaks are determined by Pango and should be correct | |
| 311 | 347 | // for nearly any language | |
| 312 | 348 | func (x *TextIter) BackwardWordStart() bool { | |
| 349 | + | core.LazyRegister(&xTextIterBackwardWordStart, "GTK", "gtk_text_iter_backward_word_start", false) | |
| 350 | + | ||
| 313 | 351 | cret := xTextIterBackwardWordStart(x.GoPointer()) | |
| 314 | 352 | return cret | |
| 315 | 353 | } | |
| @@ -318,6 +356,8 @@ var xTextIterBackwardWordStarts func(uintptr, int) bool | |||
| 318 | 356 | ||
| 319 | 357 | // Calls [method@Gtk.TextIter.backward_word_start] up to @count times. | |
| 320 | 358 | func (x *TextIter) BackwardWordStarts(CountVar int) bool { | |
| 359 | + | core.LazyRegister(&xTextIterBackwardWordStarts, "GTK", "gtk_text_iter_backward_word_starts", false) | |
| 360 | + | ||
| 321 | 361 | cret := xTextIterBackwardWordStarts(x.GoPointer(), CountVar) | |
| 322 | 362 | return cret | |
| 323 | 363 | } | |
| @@ -333,6 +373,8 @@ var xTextIterCanInsert func(uintptr, bool) bool | |||
| 333 | 373 | // [method@Gtk.TextBuffer.insert_interactive] uses this function | |
| 334 | 374 | // to decide whether insertions are allowed at a given position. | |
| 335 | 375 | func (x *TextIter) CanInsert(DefaultEditabilityVar bool) bool { | |
| 376 | + | core.LazyRegister(&xTextIterCanInsert, "GTK", "gtk_text_iter_can_insert", false) | |
| 377 | + | ||
| 336 | 378 | cret := xTextIterCanInsert(x.GoPointer(), DefaultEditabilityVar) | |
| 337 | 379 | return cret | |
| 338 | 380 | } | |
| @@ -345,6 +387,8 @@ var xTextIterCompare func(uintptr, *TextIter) int | |||
| 345 | 387 | // Ordering is in character offset order, i.e. the first character | |
| 346 | 388 | // in the buffer is less than the second character in the buffer. | |
| 347 | 389 | func (x *TextIter) Compare(RhsVar *TextIter) int { | |
| 390 | + | core.LazyRegister(&xTextIterCompare, "GTK", "gtk_text_iter_compare", false) | |
| 391 | + | ||
| 348 | 392 | cret := xTextIterCompare(x.GoPointer(), RhsVar) | |
| 349 | 393 | return cret | |
| 350 | 394 | } | |
| @@ -359,6 +403,8 @@ var xTextIterCopy func(uintptr) uintptr | |||
| 359 | 403 | // | |
| 360 | 404 | // The function is used by language bindings. | |
| 361 | 405 | func (x *TextIter) Copy() *TextIter { | |
| 406 | + | core.LazyRegister(&xTextIterCopy, "GTK", "gtk_text_iter_copy", false) | |
| 407 | + | ||
| 362 | 408 | cret := xTextIterCopy(x.GoPointer()) | |
| 363 | 409 | if cret == 0 { | |
| 364 | 410 | return nil | |
| @@ -382,6 +428,8 @@ var xTextIterEditable func(uintptr, bool) bool | |||
| 382 | 428 | // editable range. Use [method@Gtk.TextIter.can_insert] to handle this | |
| 383 | 429 | // case. | |
| 384 | 430 | func (x *TextIter) Editable(DefaultSettingVar bool) bool { | |
| 431 | + | core.LazyRegister(&xTextIterEditable, "GTK", "gtk_text_iter_editable", false) | |
| 432 | + | ||
| 385 | 433 | cret := xTextIterEditable(x.GoPointer(), DefaultSettingVar) | |
| 386 | 434 | return cret | |
| 387 | 435 | } | |
| @@ -400,6 +448,8 @@ var xTextIterEndsLine func(uintptr) bool | |||
| 400 | 448 | // iterator is considered to be at the end of a line, even though there | |
| 401 | 449 | // are no paragraph delimiter chars there. | |
| 402 | 450 | func (x *TextIter) EndsLine() bool { | |
| 451 | + | core.LazyRegister(&xTextIterEndsLine, "GTK", "gtk_text_iter_ends_line", false) | |
| 452 | + | ||
| 403 | 453 | cret := xTextIterEndsLine(x.GoPointer()) | |
| 404 | 454 | return cret | |
| 405 | 455 | } | |
| @@ -411,6 +461,8 @@ var xTextIterEndsSentence func(uintptr) bool | |||
| 411 | 461 | // Sentence boundaries are determined by Pango and should | |
| 412 | 462 | // be correct for nearly any language. | |
| 413 | 463 | func (x *TextIter) EndsSentence() bool { | |
| 464 | + | core.LazyRegister(&xTextIterEndsSentence, "GTK", "gtk_text_iter_ends_sentence", false) | |
| 465 | + | ||
| 414 | 466 | cret := xTextIterEndsSentence(x.GoPointer()) | |
| 415 | 467 | return cret | |
| 416 | 468 | } | |
| @@ -428,6 +480,8 @@ var xTextIterEndsTag func(uintptr, uintptr) bool | |||
| 428 | 480 | // returns %TRUE, [method@Gtk.TextIter.has_tag] will return | |
| 429 | 481 | // %FALSE for the same parameters. | |
| 430 | 482 | func (x *TextIter) EndsTag(TagVar *TextTag) bool { | |
| 483 | + | core.LazyRegister(&xTextIterEndsTag, "GTK", "gtk_text_iter_ends_tag", false) | |
| 484 | + | ||
| 431 | 485 | cret := xTextIterEndsTag(x.GoPointer(), TagVar.GoPointer()) | |
| 432 | 486 | return cret | |
| 433 | 487 | } | |
| @@ -439,6 +493,8 @@ var xTextIterEndsWord func(uintptr) bool | |||
| 439 | 493 | // Word breaks are determined by Pango and should be correct | |
| 440 | 494 | // for nearly any language. | |
| 441 | 495 | func (x *TextIter) EndsWord() bool { | |
| 496 | + | core.LazyRegister(&xTextIterEndsWord, "GTK", "gtk_text_iter_ends_word", false) | |
| 497 | + | ||
| 442 | 498 | cret := xTextIterEndsWord(x.GoPointer()) | |
| 443 | 499 | return cret | |
| 444 | 500 | } | |
| @@ -453,6 +509,8 @@ var xTextIterEqual func(uintptr, *TextIter) bool | |||
| 453 | 509 | // iterator and comparing the offsets yourself. Also, it’s a | |
| 454 | 510 | // bit faster than [method@Gtk.TextIter.compare]. | |
| 455 | 511 | func (x *TextIter) Equal(RhsVar *TextIter) bool { | |
| 512 | + | core.LazyRegister(&xTextIterEqual, "GTK", "gtk_text_iter_equal", false) | |
| 513 | + | ||
| 456 | 514 | cret := xTextIterEqual(x.GoPointer(), RhsVar) | |
| 457 | 515 | return cret | |
| 458 | 516 | } | |
| @@ -467,6 +525,8 @@ var xTextIterForwardChar func(uintptr) bool | |||
| 467 | 525 | // one character before it, @iter will now point at the end iterator, | |
| 468 | 526 | // and this function returns %FALSE for convenience when writing loops. | |
| 469 | 527 | func (x *TextIter) ForwardChar() bool { | |
| 528 | + | core.LazyRegister(&xTextIterForwardChar, "GTK", "gtk_text_iter_forward_char", false) | |
| 529 | + | ||
| 470 | 530 | cret := xTextIterForwardChar(x.GoPointer()) | |
| 471 | 531 | return cret | |
| 472 | 532 | } | |
| @@ -483,6 +543,8 @@ var xTextIterForwardChars func(uintptr, int) bool | |||
| 483 | 543 | // (the last iterator in the buffer is not dereferenceable). If @count | |
| 484 | 544 | // is 0, the function does nothing and returns %FALSE. | |
| 485 | 545 | func (x *TextIter) ForwardChars(CountVar int) bool { | |
| 546 | + | core.LazyRegister(&xTextIterForwardChars, "GTK", "gtk_text_iter_forward_chars", false) | |
| 547 | + | ||
| 486 | 548 | cret := xTextIterForwardChars(x.GoPointer(), CountVar) | |
| 487 | 549 | return cret | |
| 488 | 550 | } | |
| @@ -505,6 +567,8 @@ var xTextIterForwardCursorPosition func(uintptr) bool | |||
| 505 | 567 | // See also the [struct@Pango.LogAttr] struct and the [func@Pango.break] | |
| 506 | 568 | // function. | |
| 507 | 569 | func (x *TextIter) ForwardCursorPosition() bool { | |
| 570 | + | core.LazyRegister(&xTextIterForwardCursorPosition, "GTK", "gtk_text_iter_forward_cursor_position", false) | |
| 571 | + | ||
| 508 | 572 | cret := xTextIterForwardCursorPosition(x.GoPointer()) | |
| 509 | 573 | return cret | |
| 510 | 574 | } | |
| @@ -515,6 +579,8 @@ var xTextIterForwardCursorPositions func(uintptr, int) bool | |||
| 515 | 579 | // | |
| 516 | 580 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | |
| 517 | 581 | func (x *TextIter) ForwardCursorPositions(CountVar int) bool { | |
| 582 | + | core.LazyRegister(&xTextIterForwardCursorPositions, "GTK", "gtk_text_iter_forward_cursor_positions", false) | |
| 583 | + | ||
| 518 | 584 | cret := xTextIterForwardCursorPositions(x.GoPointer(), CountVar) | |
| 519 | 585 | return cret | |
| 520 | 586 | } | |
| @@ -527,6 +593,8 @@ var xTextIterForwardFindChar func(uintptr, uintptr, uintptr, *TextIter) bool | |||
| 527 | 593 | // If @pred never returns %TRUE, @iter is set to @limit if | |
| 528 | 594 | // @limit is non-%NULL, otherwise to the end iterator. | |
| 529 | 595 | func (x *TextIter) ForwardFindChar(PredVar *TextCharPredicate, UserDataVar uintptr, LimitVar *TextIter) bool { | |
| 596 | + | core.LazyRegister(&xTextIterForwardFindChar, "GTK", "gtk_text_iter_forward_find_char", false) | |
| 597 | + | ||
| 530 | 598 | cret := xTextIterForwardFindChar(x.GoPointer(), glib.NewCallback(PredVar), UserDataVar, LimitVar) | |
| 531 | 599 | return cret | |
| 532 | 600 | } | |
| @@ -540,6 +608,8 @@ var xTextIterForwardLine func(uintptr) bool | |||
| 540 | 608 | // the operation, the iter is at the end of the buffer and not | |
| 541 | 609 | // dereferenceable, returns %FALSE. Otherwise, returns %TRUE. | |
| 542 | 610 | func (x *TextIter) ForwardLine() bool { | |
| 611 | + | core.LazyRegister(&xTextIterForwardLine, "GTK", "gtk_text_iter_forward_line", false) | |
| 612 | + | ||
| 543 | 613 | cret := xTextIterForwardLine(x.GoPointer()) | |
| 544 | 614 | return cret | |
| 545 | 615 | } | |
| @@ -557,6 +627,8 @@ var xTextIterForwardLines func(uintptr, int) bool | |||
| 557 | 627 | // the function does nothing and returns %FALSE. If @count is negative, | |
| 558 | 628 | // moves backward by 0 - @count lines. | |
| 559 | 629 | func (x *TextIter) ForwardLines(CountVar int) bool { | |
| 630 | + | core.LazyRegister(&xTextIterForwardLines, "GTK", "gtk_text_iter_forward_lines", false) | |
| 631 | + | ||
| 560 | 632 | cret := xTextIterForwardLines(x.GoPointer(), CountVar) | |
| 561 | 633 | return cret | |
| 562 | 634 | } | |
| @@ -574,6 +646,8 @@ var xTextIterForwardSearch func(uintptr, string, TextSearchFlags, *TextIter, *Te | |||
| 574 | 646 | // @match_start will never be set to a `GtkTextIter` located before @iter, | |
| 575 | 647 | // even if there is a possible @match_end after or at @iter. | |
| 576 | 648 | func (x *TextIter) ForwardSearch(StrVar string, FlagsVar TextSearchFlags, MatchStartVar *TextIter, MatchEndVar *TextIter, LimitVar *TextIter) bool { | |
| 649 | + | core.LazyRegister(&xTextIterForwardSearch, "GTK", "gtk_text_iter_forward_search", false) | |
| 650 | + | ||
| 577 | 651 | cret := xTextIterForwardSearch(x.GoPointer(), StrVar, FlagsVar, MatchStartVar, MatchEndVar, LimitVar) | |
| 578 | 652 | return cret | |
| 579 | 653 | } | |
| @@ -588,6 +662,8 @@ var xTextIterForwardSentenceEnd func(uintptr) bool | |||
| 588 | 662 | // Sentence boundaries are determined by Pango and should | |
| 589 | 663 | // be correct for nearly any language. | |
| 590 | 664 | func (x *TextIter) ForwardSentenceEnd() bool { | |
| 665 | + | core.LazyRegister(&xTextIterForwardSentenceEnd, "GTK", "gtk_text_iter_forward_sentence_end", false) | |
| 666 | + | ||
| 591 | 667 | cret := xTextIterForwardSentenceEnd(x.GoPointer()) | |
| 592 | 668 | return cret | |
| 593 | 669 | } | |
| @@ -598,6 +674,8 @@ var xTextIterForwardSentenceEnds func(uintptr, int) bool | |||
| 598 | 674 | // | |
| 599 | 675 | // If @count is negative, moves backward instead of forward. | |
| 600 | 676 | func (x *TextIter) ForwardSentenceEnds(CountVar int) bool { | |
| 677 | + | core.LazyRegister(&xTextIterForwardSentenceEnds, "GTK", "gtk_text_iter_forward_sentence_ends", false) | |
| 678 | + | ||
| 601 | 679 | cret := xTextIterForwardSentenceEnds(x.GoPointer(), CountVar) | |
| 602 | 680 | return cret | |
| 603 | 681 | } | |
| @@ -610,6 +688,8 @@ var xTextIterForwardToEnd func(uintptr) | |||
| 610 | 688 | // [method@Gtk.TextIter.get_char] called on the end iterator | |
| 611 | 689 | // returns 0, which is convenient for writing loops. | |
| 612 | 690 | func (x *TextIter) ForwardToEnd() { | |
| 691 | + | core.LazyRegister(&xTextIterForwardToEnd, "GTK", "gtk_text_iter_forward_to_end", false) | |
| 692 | + | ||
| 613 | 693 | xTextIterForwardToEnd(x.GoPointer()) | |
| 614 | 694 | } | |
| 615 | 695 | ||
| @@ -627,6 +707,8 @@ var xTextIterForwardToLineEnd func(uintptr) bool | |||
| 627 | 707 | // not end in paragraph delimiters, moves to the end iterator (end of | |
| 628 | 708 | // the last line), and returns %FALSE. | |
| 629 | 709 | func (x *TextIter) ForwardToLineEnd() bool { | |
| 710 | + | core.LazyRegister(&xTextIterForwardToLineEnd, "GTK", "gtk_text_iter_forward_to_line_end", false) | |
| 711 | + | ||
| 630 | 712 | cret := xTextIterForwardToLineEnd(x.GoPointer()) | |
| 631 | 713 | return cret | |
| 632 | 714 | } | |
| @@ -643,6 +725,8 @@ var xTextIterForwardToTagToggle func(uintptr, uintptr) bool | |||
| 643 | 725 | // the location of the toggle, or to the end of the buffer | |
| 644 | 726 | // if no toggle is found. | |
| 645 | 727 | func (x *TextIter) ForwardToTagToggle(TagVar *TextTag) bool { | |
| 728 | + | core.LazyRegister(&xTextIterForwardToTagToggle, "GTK", "gtk_text_iter_forward_to_tag_toggle", false) | |
| 729 | + | ||
| 646 | 730 | cret := xTextIterForwardToTagToggle(x.GoPointer(), TagVar.GoPointer()) | |
| 647 | 731 | return cret | |
| 648 | 732 | } | |
| @@ -653,6 +737,8 @@ var xTextIterForwardVisibleCursorPosition func(uintptr) bool | |||
| 653 | 737 | // | |
| 654 | 738 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | |
| 655 | 739 | func (x *TextIter) ForwardVisibleCursorPosition() bool { | |
| 740 | + | core.LazyRegister(&xTextIterForwardVisibleCursorPosition, "GTK", "gtk_text_iter_forward_visible_cursor_position", false) | |
| 741 | + | ||
| 656 | 742 | cret := xTextIterForwardVisibleCursorPosition(x.GoPointer()) | |
| 657 | 743 | return cret | |
| 658 | 744 | } | |
| @@ -663,6 +749,8 @@ var xTextIterForwardVisibleCursorPositions func(uintptr, int) bool | |||
| 663 | 749 | // | |
| 664 | 750 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | |
| 665 | 751 | func (x *TextIter) ForwardVisibleCursorPositions(CountVar int) bool { | |
| 752 | + | core.LazyRegister(&xTextIterForwardVisibleCursorPositions, "GTK", "gtk_text_iter_forward_visible_cursor_positions", false) | |
| 753 | + | ||
| 666 | 754 | cret := xTextIterForwardVisibleCursorPositions(x.GoPointer(), CountVar) | |
| 667 | 755 | return cret | |
| 668 | 756 | } | |
| @@ -676,6 +764,8 @@ var xTextIterForwardVisibleLine func(uintptr) bool | |||
| 676 | 764 | // the end of the buffer and is now not dereferenceable, or if @iter was | |
| 677 | 765 | // already at the end of the buffer. | |
| 678 | 766 | func (x *TextIter) ForwardVisibleLine() bool { | |
| 767 | + | core.LazyRegister(&xTextIterForwardVisibleLine, "GTK", "gtk_text_iter_forward_visible_line", false) | |
| 768 | + | ||
| 679 | 769 | cret := xTextIterForwardVisibleLine(x.GoPointer()) | |
| 680 | 770 | return cret | |
| 681 | 771 | } | |
| @@ -693,6 +783,8 @@ var xTextIterForwardVisibleLines func(uintptr, int) bool | |||
| 693 | 783 | // the function does nothing and returns %FALSE. If @count is negative, | |
| 694 | 784 | // moves backward by 0 - @count lines. | |
| 695 | 785 | func (x *TextIter) ForwardVisibleLines(CountVar int) bool { | |
| 786 | + | core.LazyRegister(&xTextIterForwardVisibleLines, "GTK", "gtk_text_iter_forward_visible_lines", false) | |
| 787 | + | ||
| 696 | 788 | cret := xTextIterForwardVisibleLines(x.GoPointer(), CountVar) | |
| 697 | 789 | return cret | |
| 698 | 790 | } | |
| @@ -707,6 +799,8 @@ var xTextIterForwardVisibleWordEnd func(uintptr) bool | |||
| 707 | 799 | // Word breaks are determined by Pango and should be correct | |
| 708 | 800 | // for nearly any language | |
| 709 | 801 | func (x *TextIter) ForwardVisibleWordEnd() bool { | |
| 802 | + | core.LazyRegister(&xTextIterForwardVisibleWordEnd, "GTK", "gtk_text_iter_forward_visible_word_end", false) | |
| 803 | + | ||
| 710 | 804 | cret := xTextIterForwardVisibleWordEnd(x.GoPointer()) | |
| 711 | 805 | return cret | |
| 712 | 806 | } | |
| @@ -715,6 +809,8 @@ var xTextIterForwardVisibleWordEnds func(uintptr, int) bool | |||
| 715 | 809 | ||
| 716 | 810 | // Calls [method@Gtk.TextIter.forward_visible_word_end] up to @count times. | |
| 717 | 811 | func (x *TextIter) ForwardVisibleWordEnds(CountVar int) bool { | |
| 812 | + | core.LazyRegister(&xTextIterForwardVisibleWordEnds, "GTK", "gtk_text_iter_forward_visible_word_ends", false) | |
| 813 | + | ||
| 718 | 814 | cret := xTextIterForwardVisibleWordEnds(x.GoPointer(), CountVar) | |
| 719 | 815 | return cret | |
| 720 | 816 | } | |
| @@ -729,6 +825,8 @@ var xTextIterForwardWordEnd func(uintptr) bool | |||
| 729 | 825 | // Word breaks are determined by Pango and should be correct | |
| 730 | 826 | // for nearly any language. | |
| 731 | 827 | func (x *TextIter) ForwardWordEnd() bool { | |
| 828 | + | core.LazyRegister(&xTextIterForwardWordEnd, "GTK", "gtk_text_iter_forward_word_end", false) | |
| 829 | + | ||
| 732 | 830 | cret := xTextIterForwardWordEnd(x.GoPointer()) | |
| 733 | 831 | return cret | |
| 734 | 832 | } | |
| @@ -737,6 +835,8 @@ var xTextIterForwardWordEnds func(uintptr, int) bool | |||
| 737 | 835 | ||
| 738 | 836 | // Calls [method@Gtk.TextIter.forward_word_end] up to @count times. | |
| 739 | 837 | func (x *TextIter) ForwardWordEnds(CountVar int) bool { | |
| 838 | + | core.LazyRegister(&xTextIterForwardWordEnds, "GTK", "gtk_text_iter_forward_word_ends", false) | |
| 839 | + | ||
| 740 | 840 | cret := xTextIterForwardWordEnds(x.GoPointer(), CountVar) | |
| 741 | 841 | return cret | |
| 742 | 842 | } | |
| @@ -749,6 +849,8 @@ var xTextIterFree func(uintptr) | |||
| 749 | 849 | // and is not especially useful for applications, because | |
| 750 | 850 | // iterators can simply be allocated on the stack. | |
| 751 | 851 | func (x *TextIter) Free() { | |
| 852 | + | core.LazyRegister(&xTextIterFree, "GTK", "gtk_text_iter_free", false) | |
| 853 | + | ||
| 752 | 854 | xTextIterFree(x.GoPointer()) | |
| 753 | 855 | } | |
| 754 | 856 | ||
| @@ -756,6 +858,7 @@ var xTextIterGetBuffer func(uintptr) uintptr | |||
| 756 | 858 | ||
| 757 | 859 | // Returns the `GtkTextBuffer` this iterator is associated with. | |
| 758 | 860 | func (x *TextIter) GetBuffer() *TextBuffer { | |
| 861 | + | core.LazyRegister(&xTextIterGetBuffer, "GTK", "gtk_text_iter_get_buffer", false) | |
| 759 | 862 | var cls *TextBuffer | |
| 760 | 863 | ||
| 761 | 864 | cret := xTextIterGetBuffer(x.GoPointer()) | |
| @@ -774,6 +877,8 @@ var xTextIterGetBytesInLine func(uintptr) int | |||
| 774 | 877 | // Returns the number of bytes in the line containing @iter, | |
| 775 | 878 | // including the paragraph delimiters. | |
| 776 | 879 | func (x *TextIter) GetBytesInLine() int { | |
| 880 | + | core.LazyRegister(&xTextIterGetBytesInLine, "GTK", "gtk_text_iter_get_bytes_in_line", false) | |
| 881 | + | ||
| 777 | 882 | cret := xTextIterGetBytesInLine(x.GoPointer()) | |
| 778 | 883 | return cret | |
| 779 | 884 | } | |
| @@ -790,6 +895,8 @@ var xTextIterGetChar func(uintptr) uint32 | |||
| 790 | 895 | // | |
| 791 | 896 | // So you can write a loop which ends when this function returns 0. | |
| 792 | 897 | func (x *TextIter) GetChar() uint32 { | |
| 898 | + | core.LazyRegister(&xTextIterGetChar, "GTK", "gtk_text_iter_get_char", false) | |
| 899 | + | ||
| 793 | 900 | cret := xTextIterGetChar(x.GoPointer()) | |
| 794 | 901 | return cret | |
| 795 | 902 | } | |
| @@ -799,6 +906,8 @@ var xTextIterGetCharsInLine func(uintptr) int | |||
| 799 | 906 | // Returns the number of characters in the line containing @iter, | |
| 800 | 907 | // including the paragraph delimiters. | |
| 801 | 908 | func (x *TextIter) GetCharsInLine() int { | |
| 909 | + | core.LazyRegister(&xTextIterGetCharsInLine, "GTK", "gtk_text_iter_get_chars_in_line", false) | |
| 910 | + | ||
| 802 | 911 | cret := xTextIterGetCharsInLine(x.GoPointer()) | |
| 803 | 912 | return cret | |
| 804 | 913 | } | |
| @@ -810,6 +919,7 @@ var xTextIterGetChildAnchor func(uintptr) uintptr | |||
| 810 | 919 | // | |
| 811 | 920 | // Otherwise, %NULL is returned. | |
| 812 | 921 | func (x *TextIter) GetChildAnchor() *TextChildAnchor { | |
| 922 | + | core.LazyRegister(&xTextIterGetChildAnchor, "GTK", "gtk_text_iter_get_child_anchor", false) | |
| 813 | 923 | var cls *TextChildAnchor | |
| 814 | 924 | ||
| 815 | 925 | cret := xTextIterGetChildAnchor(x.GoPointer()) | |
| @@ -830,6 +940,8 @@ var xTextIterGetLanguage func(uintptr) uintptr | |||
| 830 | 940 | // If no tags affecting language apply to @iter, the return | |
| 831 | 941 | // value is identical to that of [func@Gtk.get_default_language]. | |
| 832 | 942 | func (x *TextIter) GetLanguage() *pango.Language { | |
| 943 | + | core.LazyRegister(&xTextIterGetLanguage, "GTK", "gtk_text_iter_get_language", false) | |
| 944 | + | ||
| 833 | 945 | cret := xTextIterGetLanguage(x.GoPointer()) | |
| 834 | 946 | if cret == 0 { | |
| 835 | 947 | return nil | |
| @@ -844,6 +956,8 @@ var xTextIterGetLine func(uintptr) int | |||
| 844 | 956 | // Lines in a `GtkTextBuffer` are numbered beginning | |
| 845 | 957 | // with 0 for the first line in the buffer. | |
| 846 | 958 | func (x *TextIter) GetLine() int { | |
| 959 | + | core.LazyRegister(&xTextIterGetLine, "GTK", "gtk_text_iter_get_line", false) | |
| 960 | + | ||
| 847 | 961 | cret := xTextIterGetLine(x.GoPointer()) | |
| 848 | 962 | return cret | |
| 849 | 963 | } | |
| @@ -857,6 +971,8 @@ var xTextIterGetLineIndex func(uintptr) int | |||
| 857 | 971 | // UTF-8, and that characters can require a variable | |
| 858 | 972 | // number of bytes to represent. | |
| 859 | 973 | func (x *TextIter) GetLineIndex() int { | |
| 974 | + | core.LazyRegister(&xTextIterGetLineIndex, "GTK", "gtk_text_iter_get_line_index", false) | |
| 975 | + | ||
| 860 | 976 | cret := xTextIterGetLineIndex(x.GoPointer()) | |
| 861 | 977 | return cret | |
| 862 | 978 | } | |
| @@ -868,6 +984,8 @@ var xTextIterGetLineOffset func(uintptr) int | |||
| 868 | 984 | // | |
| 869 | 985 | // The first character on the line has offset 0. | |
| 870 | 986 | func (x *TextIter) GetLineOffset() int { | |
| 987 | + | core.LazyRegister(&xTextIterGetLineOffset, "GTK", "gtk_text_iter_get_line_offset", false) | |
| 988 | + | ||
| 871 | 989 | cret := xTextIterGetLineOffset(x.GoPointer()) | |
| 872 | 990 | return cret | |
| 873 | 991 | } | |
| @@ -882,6 +1000,8 @@ var xTextIterGetMarks func(uintptr) uintptr | |||
| 882 | 1000 | // | |
| 883 | 1001 | // The returned list is not in any meaningful order. | |
| 884 | 1002 | func (x *TextIter) GetMarks() *glib.SList { | |
| 1003 | + | core.LazyRegister(&xTextIterGetMarks, "GTK", "gtk_text_iter_get_marks", false) | |
| 1004 | + | ||
| 885 | 1005 | cret := xTextIterGetMarks(x.GoPointer()) | |
| 886 | 1006 | if cret == 0 { | |
| 887 | 1007 | return nil | |
| @@ -898,6 +1018,8 @@ var xTextIterGetOffset func(uintptr) int | |||
| 898 | 1018 | // Use [method@Gtk.TextBuffer.get_iter_at_offset] to convert | |
| 899 | 1019 | // an offset back into an iterator. | |
| 900 | 1020 | func (x *TextIter) GetOffset() int { | |
| 1021 | + | core.LazyRegister(&xTextIterGetOffset, "GTK", "gtk_text_iter_get_offset", false) | |
| 1022 | + | ||
| 901 | 1023 | cret := xTextIterGetOffset(x.GoPointer()) | |
| 902 | 1024 | return cret | |
| 903 | 1025 | } | |
| @@ -908,6 +1030,7 @@ var xTextIterGetPaintable func(uintptr) uintptr | |||
| 908 | 1030 | // | |
| 909 | 1031 | // Otherwise, %NULL is returned. | |
| 910 | 1032 | func (x *TextIter) GetPaintable() *gdk.PaintableBase { | |
| 1033 | + | core.LazyRegister(&xTextIterGetPaintable, "GTK", "gtk_text_iter_get_paintable", false) | |
| 911 | 1034 | var cls *gdk.PaintableBase | |
| 912 | 1035 | ||
| 913 | 1036 | cret := xTextIterGetPaintable(x.GoPointer()) | |
| @@ -934,6 +1057,8 @@ var xTextIterGetSlice func(uintptr, *TextIter) string | |||
| 934 | 1057 | // text as well, so it is not a reliable indicator that a paintable or | |
| 935 | 1058 | // widget is in the buffer. | |
| 936 | 1059 | func (x *TextIter) GetSlice(EndVar *TextIter) string { | |
| 1060 | + | core.LazyRegister(&xTextIterGetSlice, "GTK", "gtk_text_iter_get_slice", false) | |
| 1061 | + | ||
| 937 | 1062 | cret := xTextIterGetSlice(x.GoPointer(), EndVar) | |
| 938 | 1063 | return cret | |
| 939 | 1064 | } | |
| @@ -948,6 +1073,8 @@ var xTextIterGetTags func(uintptr) uintptr | |||
| 948 | 1073 | // The `GtkTextTag`s in the list don’t have a reference added, | |
| 949 | 1074 | // but you have to free the list itself. | |
| 950 | 1075 | func (x *TextIter) GetTags() *glib.SList { | |
| 1076 | + | core.LazyRegister(&xTextIterGetTags, "GTK", "gtk_text_iter_get_tags", false) | |
| 1077 | + | ||
| 951 | 1078 | cret := xTextIterGetTags(x.GoPointer()) | |
| 952 | 1079 | if cret == 0 { | |
| 953 | 1080 | return nil | |
| @@ -965,6 +1092,8 @@ var xTextIterGetText func(uintptr, *TextIter) string | |||
| 965 | 1092 | // byte offsets in the buffer. If you want offsets to correspond, see | |
| 966 | 1093 | // [method@Gtk.TextIter.get_slice]. | |
| 967 | 1094 | func (x *TextIter) GetText(EndVar *TextIter) string { | |
| 1095 | + | core.LazyRegister(&xTextIterGetText, "GTK", "gtk_text_iter_get_text", false) | |
| 1096 | + | ||
| 968 | 1097 | cret := xTextIterGetText(x.GoPointer(), EndVar) | |
| 969 | 1098 | return cret | |
| 970 | 1099 | } | |
| @@ -980,6 +1109,8 @@ var xTextIterGetToggledTags func(uintptr, bool) uintptr | |||
| 980 | 1109 | // a tag is toggled off, then some non-empty range following @iter | |
| 981 | 1110 | // does not have the tag applied to it. | |
| 982 | 1111 | func (x *TextIter) GetToggledTags(ToggledOnVar bool) *glib.SList { | |
| 1112 | + | core.LazyRegister(&xTextIterGetToggledTags, "GTK", "gtk_text_iter_get_toggled_tags", false) | |
| 1113 | + | ||
| 983 | 1114 | cret := xTextIterGetToggledTags(x.GoPointer(), ToggledOnVar) | |
| 984 | 1115 | if cret == 0 { | |
| 985 | 1116 | return nil | |
| @@ -994,6 +1125,8 @@ var xTextIterGetVisibleLineIndex func(uintptr) int | |||
| 994 | 1125 | // are invisible due to tags with the “invisible” flag | |
| 995 | 1126 | // toggled on. | |
| 996 | 1127 | func (x *TextIter) GetVisibleLineIndex() int { | |
| 1128 | + | core.LazyRegister(&xTextIterGetVisibleLineIndex, "GTK", "gtk_text_iter_get_visible_line_index", false) | |
| 1129 | + | ||
| 997 | 1130 | cret := xTextIterGetVisibleLineIndex(x.GoPointer()) | |
| 998 | 1131 | return cret | |
| 999 | 1132 | } | |
| @@ -1005,6 +1138,8 @@ var xTextIterGetVisibleLineOffset func(uintptr) int | |||
| 1005 | 1138 | // are invisible due to tags with the “invisible” flag | |
| 1006 | 1139 | // toggled on. | |
| 1007 | 1140 | func (x *TextIter) GetVisibleLineOffset() int { | |
| 1141 | + | core.LazyRegister(&xTextIterGetVisibleLineOffset, "GTK", "gtk_text_iter_get_visible_line_offset", false) | |
| 1142 | + | ||
| 1008 | 1143 | cret := xTextIterGetVisibleLineOffset(x.GoPointer()) | |
| 1009 | 1144 | return cret | |
| 1010 | 1145 | } | |
| @@ -1018,6 +1153,8 @@ var xTextIterGetVisibleSlice func(uintptr, *TextIter) string | |||
| 1018 | 1153 | // a `GtkTextTag` with the “invisible” attribute turned on has | |
| 1019 | 1154 | // been applied to it. | |
| 1020 | 1155 | func (x *TextIter) GetVisibleSlice(EndVar *TextIter) string { | |
| 1156 | + | core.LazyRegister(&xTextIterGetVisibleSlice, "GTK", "gtk_text_iter_get_visible_slice", false) | |
| 1157 | + | ||
| 1021 | 1158 | cret := xTextIterGetVisibleSlice(x.GoPointer(), EndVar) | |
| 1022 | 1159 | return cret | |
| 1023 | 1160 | } | |
| @@ -1031,6 +1168,8 @@ var xTextIterGetVisibleText func(uintptr, *TextIter) string | |||
| 1031 | 1168 | // a `GtkTextTag` with the “invisible” attribute turned on has | |
| 1032 | 1169 | // been applied to it. | |
| 1033 | 1170 | func (x *TextIter) GetVisibleText(EndVar *TextIter) string { | |
| 1171 | + | core.LazyRegister(&xTextIterGetVisibleText, "GTK", "gtk_text_iter_get_visible_text", false) | |
| 1172 | + | ||
| 1034 | 1173 | cret := xTextIterGetVisibleText(x.GoPointer(), EndVar) | |
| 1035 | 1174 | return cret | |
| 1036 | 1175 | } | |
| @@ -1043,6 +1182,8 @@ var xTextIterHasTag func(uintptr, uintptr) bool | |||
| 1043 | 1182 | // See also [method@Gtk.TextIter.starts_tag] and | |
| 1044 | 1183 | // [method@Gtk.TextIter.ends_tag]. | |
| 1045 | 1184 | func (x *TextIter) HasTag(TagVar *TextTag) bool { | |
| 1185 | + | core.LazyRegister(&xTextIterHasTag, "GTK", "gtk_text_iter_has_tag", false) | |
| 1186 | + | ||
| 1046 | 1187 | cret := xTextIterHasTag(x.GoPointer(), TagVar.GoPointer()) | |
| 1047 | 1188 | return cret | |
| 1048 | 1189 | } | |
| @@ -1053,6 +1194,8 @@ var xTextIterInRange func(uintptr, *TextIter, *TextIter) bool | |||
| 1053 | 1194 | // | |
| 1054 | 1195 | // @start and @end must be in ascending order. | |
| 1055 | 1196 | func (x *TextIter) InRange(StartVar *TextIter, EndVar *TextIter) bool { | |
| 1197 | + | core.LazyRegister(&xTextIterInRange, "GTK", "gtk_text_iter_in_range", false) | |
| 1198 | + | ||
| 1056 | 1199 | cret := xTextIterInRange(x.GoPointer(), StartVar, EndVar) | |
| 1057 | 1200 | return cret | |
| 1058 | 1201 | } | |
| @@ -1066,6 +1209,8 @@ var xTextIterInsideSentence func(uintptr) bool | |||
| 1066 | 1209 | // Sentence boundaries are determined by Pango and should be correct | |
| 1067 | 1210 | // for nearly any language. | |
| 1068 | 1211 | func (x *TextIter) InsideSentence() bool { | |
| 1212 | + | core.LazyRegister(&xTextIterInsideSentence, "GTK", "gtk_text_iter_inside_sentence", false) | |
| 1213 | + | ||
| 1069 | 1214 | cret := xTextIterInsideSentence(x.GoPointer()) | |
| 1070 | 1215 | return cret | |
| 1071 | 1216 | } | |
| @@ -1082,6 +1227,8 @@ var xTextIterInsideWord func(uintptr) bool | |||
| 1082 | 1227 | // then this function returns %TRUE too, since @iter points to | |
| 1083 | 1228 | // the first character of the word. | |
| 1084 | 1229 | func (x *TextIter) InsideWord() bool { | |
| 1230 | + | core.LazyRegister(&xTextIterInsideWord, "GTK", "gtk_text_iter_inside_word", false) | |
| 1231 | + | ||
| 1085 | 1232 | cret := xTextIterInsideWord(x.GoPointer()) | |
| 1086 | 1233 | return cret | |
| 1087 | 1234 | } | |
| @@ -1094,6 +1241,8 @@ var xTextIterIsCursorPosition func(uintptr) bool | |||
| 1094 | 1241 | // [struct@Pango.LogAttr] or [func@Pango.break] for details | |
| 1095 | 1242 | // on what a cursor position is. | |
| 1096 | 1243 | func (x *TextIter) IsCursorPosition() bool { | |
| 1244 | + | core.LazyRegister(&xTextIterIsCursorPosition, "GTK", "gtk_text_iter_is_cursor_position", false) | |
| 1245 | + | ||
| 1097 | 1246 | cret := xTextIterIsCursorPosition(x.GoPointer()) | |
| 1098 | 1247 | return cret | |
| 1099 | 1248 | } | |
| @@ -1106,6 +1255,8 @@ var xTextIterIsEnd func(uintptr) bool | |||
| 1106 | 1255 | // in the buffer. [method@Gtk.TextIter.is_end] is the most efficient | |
| 1107 | 1256 | // way to check whether an iterator is the end iterator. | |
| 1108 | 1257 | func (x *TextIter) IsEnd() bool { | |
| 1258 | + | core.LazyRegister(&xTextIterIsEnd, "GTK", "gtk_text_iter_is_end", false) | |
| 1259 | + | ||
| 1109 | 1260 | cret := xTextIterIsEnd(x.GoPointer()) | |
| 1110 | 1261 | return cret | |
| 1111 | 1262 | } | |
| @@ -1114,6 +1265,8 @@ var xTextIterIsStart func(uintptr) bool | |||
| 1114 | 1265 | ||
| 1115 | 1266 | // Returns %TRUE if @iter is the first iterator in the buffer. | |
| 1116 | 1267 | func (x *TextIter) IsStart() bool { | |
| 1268 | + | core.LazyRegister(&xTextIterIsStart, "GTK", "gtk_text_iter_is_start", false) | |
| 1269 | + | ||
| 1117 | 1270 | cret := xTextIterIsStart(x.GoPointer()) | |
| 1118 | 1271 | return cret | |
| 1119 | 1272 | } | |
| @@ -1130,6 +1283,8 @@ var xTextIterOrder func(uintptr, *TextIter) | |||
| 1130 | 1283 | // such as [method@Gtk.TextIter.in_range], that expect a | |
| 1131 | 1284 | // pre-sorted range. | |
| 1132 | 1285 | func (x *TextIter) Order(SecondVar *TextIter) { | |
| 1286 | + | core.LazyRegister(&xTextIterOrder, "GTK", "gtk_text_iter_order", false) | |
| 1287 | + | ||
| 1133 | 1288 | xTextIterOrder(x.GoPointer(), SecondVar) | |
| 1134 | 1289 | } | |
| 1135 | 1290 | ||
| @@ -1140,6 +1295,8 @@ var xTextIterSetLine func(uintptr, int) | |||
| 1140 | 1295 | // If @line_number is negative or larger than or equal to the number of lines | |
| 1141 | 1296 | // in the buffer, moves @iter to the start of the last line in the buffer. | |
| 1142 | 1297 | func (x *TextIter) SetLine(LineNumberVar int) { | |
| 1298 | + | core.LazyRegister(&xTextIterSetLine, "GTK", "gtk_text_iter_set_line", false) | |
| 1299 | + | ||
| 1143 | 1300 | xTextIterSetLine(x.GoPointer(), LineNumberVar) | |
| 1144 | 1301 | } | |
| 1145 | 1302 | ||
| @@ -1150,6 +1307,8 @@ var xTextIterSetLineIndex func(uintptr, int) | |||
| 1150 | 1307 | // the start of a character, it can’t be in the middle of a UTF-8 | |
| 1151 | 1308 | // encoded character. | |
| 1152 | 1309 | func (x *TextIter) SetLineIndex(ByteOnLineVar int) { | |
| 1310 | + | core.LazyRegister(&xTextIterSetLineIndex, "GTK", "gtk_text_iter_set_line_index", false) | |
| 1311 | + | ||
| 1153 | 1312 | xTextIterSetLineIndex(x.GoPointer(), ByteOnLineVar) | |
| 1154 | 1313 | } | |
| 1155 | 1314 | ||
| @@ -1162,6 +1321,8 @@ var xTextIterSetLineOffset func(uintptr, int) | |||
| 1162 | 1321 | // next line. See [method@Gtk.TextIter.set_line_index] if you have a byte | |
| 1163 | 1322 | // index rather than a character offset. | |
| 1164 | 1323 | func (x *TextIter) SetLineOffset(CharOnLineVar int) { | |
| 1324 | + | core.LazyRegister(&xTextIterSetLineOffset, "GTK", "gtk_text_iter_set_line_offset", false) | |
| 1325 | + | ||
| 1165 | 1326 | xTextIterSetLineOffset(x.GoPointer(), CharOnLineVar) | |
| 1166 | 1327 | } | |
| 1167 | 1328 | ||
| @@ -1172,6 +1333,8 @@ var xTextIterSetOffset func(uintptr, int) | |||
| 1172 | 1333 | // @char_offset counts from the start | |
| 1173 | 1334 | // of the entire text buffer, starting with 0. | |
| 1174 | 1335 | func (x *TextIter) SetOffset(CharOffsetVar int) { | |
| 1336 | + | core.LazyRegister(&xTextIterSetOffset, "GTK", "gtk_text_iter_set_offset", false) | |
| 1337 | + | ||
| 1175 | 1338 | xTextIterSetOffset(x.GoPointer(), CharOffsetVar) | |
| 1176 | 1339 | } | |
| 1177 | 1340 | ||
| @@ -1181,6 +1344,8 @@ var xTextIterSetVisibleLineIndex func(uintptr, int) | |||
| 1181 | 1344 | // bytes, i.e. text with a tag making it invisible is not counted | |
| 1182 | 1345 | // in the index. | |
| 1183 | 1346 | func (x *TextIter) SetVisibleLineIndex(ByteOnLineVar int) { | |
| 1347 | + | core.LazyRegister(&xTextIterSetVisibleLineIndex, "GTK", "gtk_text_iter_set_visible_line_index", false) | |
| 1348 | + | ||
| 1184 | 1349 | xTextIterSetVisibleLineIndex(x.GoPointer(), ByteOnLineVar) | |
| 1185 | 1350 | } | |
| 1186 | 1351 | ||
| @@ -1190,6 +1355,8 @@ var xTextIterSetVisibleLineOffset func(uintptr, int) | |||
| 1190 | 1355 | // characters, i.e. text with a tag making it invisible is not | |
| 1191 | 1356 | // counted in the offset. | |
| 1192 | 1357 | func (x *TextIter) SetVisibleLineOffset(CharOnLineVar int) { | |
| 1358 | + | core.LazyRegister(&xTextIterSetVisibleLineOffset, "GTK", "gtk_text_iter_set_visible_line_offset", false) | |
| 1359 | + | ||
| 1193 | 1360 | xTextIterSetVisibleLineOffset(x.GoPointer(), CharOnLineVar) | |
| 1194 | 1361 | } | |
| 1195 | 1362 | ||
| @@ -1203,6 +1370,8 @@ var xTextIterStartsLine func(uintptr) bool | |||
| 1203 | 1370 | // it doesn’t have to compute the offset, it just has to see | |
| 1204 | 1371 | // whether it’s 0. | |
| 1205 | 1372 | func (x *TextIter) StartsLine() bool { | |
| 1373 | + | core.LazyRegister(&xTextIterStartsLine, "GTK", "gtk_text_iter_starts_line", false) | |
| 1374 | + | ||
| 1206 | 1375 | cret := xTextIterStartsLine(x.GoPointer()) | |
| 1207 | 1376 | return cret | |
| 1208 | 1377 | } | |
| @@ -1214,6 +1383,8 @@ var xTextIterStartsSentence func(uintptr) bool | |||
| 1214 | 1383 | // Sentence boundaries are determined by Pango and | |
| 1215 | 1384 | // should be correct for nearly any language. | |
| 1216 | 1385 | func (x *TextIter) StartsSentence() bool { | |
| 1386 | + | core.LazyRegister(&xTextIterStartsSentence, "GTK", "gtk_text_iter_starts_sentence", false) | |
| 1387 | + | ||
| 1217 | 1388 | cret := xTextIterStartsSentence(x.GoPointer()) | |
| 1218 | 1389 | return cret | |
| 1219 | 1390 | } | |
| @@ -1231,6 +1402,8 @@ var xTextIterStartsTag func(uintptr, uintptr) bool | |||
| 1231 | 1402 | // this function returns %TRUE, [method@Gtk.TextIter.has_tag] | |
| 1232 | 1403 | // will also return %TRUE for the same parameters. | |
| 1233 | 1404 | func (x *TextIter) StartsTag(TagVar *TextTag) bool { | |
| 1405 | + | core.LazyRegister(&xTextIterStartsTag, "GTK", "gtk_text_iter_starts_tag", false) | |
| 1406 | + | ||
| 1234 | 1407 | cret := xTextIterStartsTag(x.GoPointer(), TagVar.GoPointer()) | |
| 1235 | 1408 | return cret | |
| 1236 | 1409 | } | |
| @@ -1242,6 +1415,8 @@ var xTextIterStartsWord func(uintptr) bool | |||
| 1242 | 1415 | // Word breaks are determined by Pango and should be correct | |
| 1243 | 1416 | // for nearly any language. | |
| 1244 | 1417 | func (x *TextIter) StartsWord() bool { | |
| 1418 | + | core.LazyRegister(&xTextIterStartsWord, "GTK", "gtk_text_iter_starts_word", false) | |
| 1419 | + | ||
| 1245 | 1420 | cret := xTextIterStartsWord(x.GoPointer()) | |
| 1246 | 1421 | return cret | |
| 1247 | 1422 | } | |
| @@ -1254,6 +1429,8 @@ var xTextIterTogglesTag func(uintptr, uintptr) bool | |||
| 1254 | 1429 | // This is equivalent to (gtk_text_iter_starts_tag() || | |
| 1255 | 1430 | // gtk_text_iter_ends_tag()) | |
| 1256 | 1431 | func (x *TextIter) TogglesTag(TagVar *TextTag) bool { | |
| 1432 | + | core.LazyRegister(&xTextIterTogglesTag, "GTK", "gtk_text_iter_toggles_tag", false) | |
| 1433 | + | ||
| 1257 | 1434 | cret := xTextIterTogglesTag(x.GoPointer(), TagVar.GoPointer()) | |
| 1258 | 1435 | return cret | |
| 1259 | 1436 | } | |
| @@ -1268,6 +1445,7 @@ type TextSearchFlags int | |||
| 1268 | 1445 | var xTextSearchFlagsGLibType func() types.GType | |
| 1269 | 1446 | ||
| 1270 | 1447 | func TextSearchFlagsGLibType() types.GType { | |
| 1448 | + | core.LazyRegister(&xTextSearchFlagsGLibType, "GTK", "gtk_text_search_flags_get_type", false) | |
| 1271 | 1449 | return xTextSearchFlagsGLibType() | |
| 1272 | 1450 | } | |
| 1273 | 1451 | ||
| @@ -1287,107 +1465,4 @@ const ( | |||
| 1287 | 1465 | func init() { | |
| 1288 | 1466 | core.SetPackageName("GTK", "gtk4") | |
| 1289 | 1467 | core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | |
| 1290 | - | var libs []uintptr | |
| 1291 | - | for _, libPath := range core.GetPaths("GTK") { | |
| 1292 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |
| 1293 | - | if err != nil { | |
| 1294 | - | panic(err) | |
| 1295 | - | } | |
| 1296 | - | libs = append(libs, lib) | |
| 1297 | - | } | |
| 1298 | - | ||
| 1299 | - | core.PuregoSafeRegister(&xTextSearchFlagsGLibType, libs, "gtk_text_search_flags_get_type") | |
| 1300 | - | ||
| 1301 | - | core.PuregoSafeRegister(&xTextIterGLibType, libs, "gtk_text_iter_get_type") | |
| 1302 | - | ||
| 1303 | - | core.PuregoSafeRegister(&xTextIterAssign, libs, "gtk_text_iter_assign") | |
| 1304 | - | core.PuregoSafeRegister(&xTextIterBackwardChar, libs, "gtk_text_iter_backward_char") | |
| 1305 | - | core.PuregoSafeRegister(&xTextIterBackwardChars, libs, "gtk_text_iter_backward_chars") | |
| 1306 | - | core.PuregoSafeRegister(&xTextIterBackwardCursorPosition, libs, "gtk_text_iter_backward_cursor_position") | |
| 1307 | - | core.PuregoSafeRegister(&xTextIterBackwardCursorPositions, libs, "gtk_text_iter_backward_cursor_positions") | |
| 1308 | - | core.PuregoSafeRegister(&xTextIterBackwardFindChar, libs, "gtk_text_iter_backward_find_char") | |
| 1309 | - | core.PuregoSafeRegister(&xTextIterBackwardLine, libs, "gtk_text_iter_backward_line") | |
| 1310 | - | core.PuregoSafeRegister(&xTextIterBackwardLines, libs, "gtk_text_iter_backward_lines") | |
| 1311 | - | core.PuregoSafeRegister(&xTextIterBackwardSearch, libs, "gtk_text_iter_backward_search") | |
| 1312 | - | core.PuregoSafeRegister(&xTextIterBackwardSentenceStart, libs, "gtk_text_iter_backward_sentence_start") | |
| 1313 | - | core.PuregoSafeRegister(&xTextIterBackwardSentenceStarts, libs, "gtk_text_iter_backward_sentence_starts") | |
| 1314 | - | core.PuregoSafeRegister(&xTextIterBackwardToTagToggle, libs, "gtk_text_iter_backward_to_tag_toggle") | |
| 1315 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleCursorPosition, libs, "gtk_text_iter_backward_visible_cursor_position") | |
| 1316 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleCursorPositions, libs, "gtk_text_iter_backward_visible_cursor_positions") | |
| 1317 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleLine, libs, "gtk_text_iter_backward_visible_line") | |
| 1318 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleLines, libs, "gtk_text_iter_backward_visible_lines") | |
| 1319 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleWordStart, libs, "gtk_text_iter_backward_visible_word_start") | |
| 1320 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleWordStarts, libs, "gtk_text_iter_backward_visible_word_starts") | |
| 1321 | - | core.PuregoSafeRegister(&xTextIterBackwardWordStart, libs, "gtk_text_iter_backward_word_start") | |
| 1322 | - | core.PuregoSafeRegister(&xTextIterBackwardWordStarts, libs, "gtk_text_iter_backward_word_starts") | |
| 1323 | - | core.PuregoSafeRegister(&xTextIterCanInsert, libs, "gtk_text_iter_can_insert") | |
| 1324 | - | core.PuregoSafeRegister(&xTextIterCompare, libs, "gtk_text_iter_compare") | |
| 1325 | - | core.PuregoSafeRegister(&xTextIterCopy, libs, "gtk_text_iter_copy") | |
| 1326 | - | core.PuregoSafeRegister(&xTextIterEditable, libs, "gtk_text_iter_editable") | |
| 1327 | - | core.PuregoSafeRegister(&xTextIterEndsLine, libs, "gtk_text_iter_ends_line") | |
| 1328 | - | core.PuregoSafeRegister(&xTextIterEndsSentence, libs, "gtk_text_iter_ends_sentence") | |
| 1329 | - | core.PuregoSafeRegister(&xTextIterEndsTag, libs, "gtk_text_iter_ends_tag") | |
| 1330 | - | core.PuregoSafeRegister(&xTextIterEndsWord, libs, "gtk_text_iter_ends_word") | |
| 1331 | - | core.PuregoSafeRegister(&xTextIterEqual, libs, "gtk_text_iter_equal") | |
| 1332 | - | core.PuregoSafeRegister(&xTextIterForwardChar, libs, "gtk_text_iter_forward_char") | |
| 1333 | - | core.PuregoSafeRegister(&xTextIterForwardChars, libs, "gtk_text_iter_forward_chars") | |
| 1334 | - | core.PuregoSafeRegister(&xTextIterForwardCursorPosition, libs, "gtk_text_iter_forward_cursor_position") | |
| 1335 | - | core.PuregoSafeRegister(&xTextIterForwardCursorPositions, libs, "gtk_text_iter_forward_cursor_positions") | |
| 1336 | - | core.PuregoSafeRegister(&xTextIterForwardFindChar, libs, "gtk_text_iter_forward_find_char") | |
| 1337 | - | core.PuregoSafeRegister(&xTextIterForwardLine, libs, "gtk_text_iter_forward_line") | |
| 1338 | - | core.PuregoSafeRegister(&xTextIterForwardLines, libs, "gtk_text_iter_forward_lines") | |
| 1339 | - | core.PuregoSafeRegister(&xTextIterForwardSearch, libs, "gtk_text_iter_forward_search") | |
| 1340 | - | core.PuregoSafeRegister(&xTextIterForwardSentenceEnd, libs, "gtk_text_iter_forward_sentence_end") | |
| 1341 | - | core.PuregoSafeRegister(&xTextIterForwardSentenceEnds, libs, "gtk_text_iter_forward_sentence_ends") | |
| 1342 | - | core.PuregoSafeRegister(&xTextIterForwardToEnd, libs, "gtk_text_iter_forward_to_end") | |
| 1343 | - | core.PuregoSafeRegister(&xTextIterForwardToLineEnd, libs, "gtk_text_iter_forward_to_line_end") | |
| 1344 | - | core.PuregoSafeRegister(&xTextIterForwardToTagToggle, libs, "gtk_text_iter_forward_to_tag_toggle") | |
| 1345 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleCursorPosition, libs, "gtk_text_iter_forward_visible_cursor_position") | |
| 1346 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleCursorPositions, libs, "gtk_text_iter_forward_visible_cursor_positions") | |
| 1347 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleLine, libs, "gtk_text_iter_forward_visible_line") | |
| 1348 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleLines, libs, "gtk_text_iter_forward_visible_lines") | |
| 1349 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleWordEnd, libs, "gtk_text_iter_forward_visible_word_end") | |
| 1350 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleWordEnds, libs, "gtk_text_iter_forward_visible_word_ends") | |
| 1351 | - | core.PuregoSafeRegister(&xTextIterForwardWordEnd, libs, "gtk_text_iter_forward_word_end") | |
| 1352 | - | core.PuregoSafeRegister(&xTextIterForwardWordEnds, libs, "gtk_text_iter_forward_word_ends") | |
| 1353 | - | core.PuregoSafeRegister(&xTextIterFree, libs, "gtk_text_iter_free") | |
| 1354 | - | core.PuregoSafeRegister(&xTextIterGetBuffer, libs, "gtk_text_iter_get_buffer") | |
| 1355 | - | core.PuregoSafeRegister(&xTextIterGetBytesInLine, libs, "gtk_text_iter_get_bytes_in_line") | |
| 1356 | - | core.PuregoSafeRegister(&xTextIterGetChar, libs, "gtk_text_iter_get_char") | |
| 1357 | - | core.PuregoSafeRegister(&xTextIterGetCharsInLine, libs, "gtk_text_iter_get_chars_in_line") | |
| 1358 | - | core.PuregoSafeRegister(&xTextIterGetChildAnchor, libs, "gtk_text_iter_get_child_anchor") | |
| 1359 | - | core.PuregoSafeRegister(&xTextIterGetLanguage, libs, "gtk_text_iter_get_language") | |
| 1360 | - | core.PuregoSafeRegister(&xTextIterGetLine, libs, "gtk_text_iter_get_line") | |
| 1361 | - | core.PuregoSafeRegister(&xTextIterGetLineIndex, libs, "gtk_text_iter_get_line_index") | |
| 1362 | - | core.PuregoSafeRegister(&xTextIterGetLineOffset, libs, "gtk_text_iter_get_line_offset") | |
| 1363 | - | core.PuregoSafeRegister(&xTextIterGetMarks, libs, "gtk_text_iter_get_marks") | |
| 1364 | - | core.PuregoSafeRegister(&xTextIterGetOffset, libs, "gtk_text_iter_get_offset") | |
| 1365 | - | core.PuregoSafeRegister(&xTextIterGetPaintable, libs, "gtk_text_iter_get_paintable") | |
| 1366 | - | core.PuregoSafeRegister(&xTextIterGetSlice, libs, "gtk_text_iter_get_slice") | |
| 1367 | - | core.PuregoSafeRegister(&xTextIterGetTags, libs, "gtk_text_iter_get_tags") | |
| 1368 | - | core.PuregoSafeRegister(&xTextIterGetText, libs, "gtk_text_iter_get_text") | |
| 1369 | - | core.PuregoSafeRegister(&xTextIterGetToggledTags, libs, "gtk_text_iter_get_toggled_tags") | |
| 1370 | - | core.PuregoSafeRegister(&xTextIterGetVisibleLineIndex, libs, "gtk_text_iter_get_visible_line_index") | |
| 1371 | - | core.PuregoSafeRegister(&xTextIterGetVisibleLineOffset, libs, "gtk_text_iter_get_visible_line_offset") | |
| 1372 | - | core.PuregoSafeRegister(&xTextIterGetVisibleSlice, libs, "gtk_text_iter_get_visible_slice") | |
| 1373 | - | core.PuregoSafeRegister(&xTextIterGetVisibleText, libs, "gtk_text_iter_get_visible_text") | |
| 1374 | - | core.PuregoSafeRegister(&xTextIterHasTag, libs, "gtk_text_iter_has_tag") | |
| 1375 | - | core.PuregoSafeRegister(&xTextIterInRange, libs, "gtk_text_iter_in_range") | |
| 1376 | - | core.PuregoSafeRegister(&xTextIterInsideSentence, libs, "gtk_text_iter_inside_sentence") | |
| 1377 | - | core.PuregoSafeRegister(&xTextIterInsideWord, libs, "gtk_text_iter_inside_word") | |
| 1378 | - | core.PuregoSafeRegister(&xTextIterIsCursorPosition, libs, "gtk_text_iter_is_cursor_position") | |
| 1379 | - | core.PuregoSafeRegister(&xTextIterIsEnd, libs, "gtk_text_iter_is_end") | |
| 1380 | - | core.PuregoSafeRegister(&xTextIterIsStart, libs, "gtk_text_iter_is_start") | |
| 1381 | - | core.PuregoSafeRegister(&xTextIterOrder, libs, "gtk_text_iter_order") | |
| 1382 | - | core.PuregoSafeRegister(&xTextIterSetLine, libs, "gtk_text_iter_set_line") | |
| 1383 | - | core.PuregoSafeRegister(&xTextIterSetLineIndex, libs, "gtk_text_iter_set_line_index") | |
| 1384 | - | core.PuregoSafeRegister(&xTextIterSetLineOffset, libs, "gtk_text_iter_set_line_offset") | |
| 1385 | - | core.PuregoSafeRegister(&xTextIterSetOffset, libs, "gtk_text_iter_set_offset") | |
| 1386 | - | core.PuregoSafeRegister(&xTextIterSetVisibleLineIndex, libs, "gtk_text_iter_set_visible_line_index") | |
| 1387 | - | core.PuregoSafeRegister(&xTextIterSetVisibleLineOffset, libs, "gtk_text_iter_set_visible_line_offset") | |
| 1388 | - | core.PuregoSafeRegister(&xTextIterStartsLine, libs, "gtk_text_iter_starts_line") | |
| 1389 | - | core.PuregoSafeRegister(&xTextIterStartsSentence, libs, "gtk_text_iter_starts_sentence") | |
| 1390 | - | core.PuregoSafeRegister(&xTextIterStartsTag, libs, "gtk_text_iter_starts_tag") | |
| 1391 | - | core.PuregoSafeRegister(&xTextIterStartsWord, libs, "gtk_text_iter_starts_word") | |
| 1392 | - | core.PuregoSafeRegister(&xTextIterTogglesTag, libs, "gtk_text_iter_toggles_tag") | |
| 1393 | 1468 | } | |
| @@ -5,7 +5,6 @@ import ( | |||||
| 5 | "structs" | 5 | "structs" | ||
| 6 | "unsafe" | 6 | "unsafe" | ||
| 7 | 7 | ||||
| 8 | - | "github.com/bnema/purego" | |||
| 9 | "github.com/bnema/puregotk/pkg/core" | 8 | "github.com/bnema/puregotk/pkg/core" | ||
| 10 | "github.com/bnema/puregotk/v4/gdk" | 9 | "github.com/bnema/puregotk/v4/gdk" | ||
| 11 | "github.com/bnema/puregotk/v4/glib" | 10 | "github.com/bnema/puregotk/v4/glib" | ||
| @@ -59,6 +58,7 @@ type TextIter struct { | |||||
| 59 | var xTextIterGLibType func() types.GType | 58 | var xTextIterGLibType func() types.GType | ||
| 60 | 59 | ||||
| 61 | func TextIterGLibType() types.GType { | 60 | func TextIterGLibType() types.GType { | ||
| 61 | + | core.LazyRegister(&xTextIterGLibType, "GTK", "gtk_text_iter_get_type", false) | |||
| 62 | return xTextIterGLibType() | 62 | return xTextIterGLibType() | ||
| 63 | } | 63 | } | ||
| 64 | 64 | ||||
| @@ -83,6 +83,8 @@ var xTextIterAssign func(uintptr, *TextIter) | |||||
| 83 | // | 83 | // | ||
| 84 | // The function is used by language bindings. | 84 | // The function is used by language bindings. | ||
| 85 | func (x *TextIter) Assign(OtherVar *TextIter) { | 85 | func (x *TextIter) Assign(OtherVar *TextIter) { | ||
| 86 | + | core.LazyRegister(&xTextIterAssign, "GTK", "gtk_text_iter_assign", false) | |||
| 87 | + | ||||
| 86 | xTextIterAssign(x.GoPointer(), OtherVar) | 88 | xTextIterAssign(x.GoPointer(), OtherVar) | ||
| 87 | } | 89 | } | ||
| 88 | 90 | ||||
| @@ -94,6 +96,8 @@ var xTextIterBackwardChar func(uintptr) bool | |||||
| 94 | // in the buffer (character offset 0), this function returns %FALSE | 96 | // in the buffer (character offset 0), this function returns %FALSE | ||
| 95 | // for convenience when writing loops. | 97 | // for convenience when writing loops. | ||
| 96 | func (x *TextIter) BackwardChar() bool { | 98 | func (x *TextIter) BackwardChar() bool { | ||
| 99 | + | core.LazyRegister(&xTextIterBackwardChar, "GTK", "gtk_text_iter_backward_char", false) | |||
| 100 | + | ||||
| 97 | cret := xTextIterBackwardChar(x.GoPointer()) | 101 | cret := xTextIterBackwardChar(x.GoPointer()) | ||
| 98 | return cret | 102 | return cret | ||
| 99 | } | 103 | } | ||
| @@ -110,6 +114,8 @@ var xTextIterBackwardChars func(uintptr, int) bool | |||||
| 110 | // moved onto the end iterator, then %FALSE is returned. If @count is 0, | 114 | // moved onto the end iterator, then %FALSE is returned. If @count is 0, | ||
| 111 | // the function does nothing and returns %FALSE. | 115 | // the function does nothing and returns %FALSE. | ||
| 112 | func (x *TextIter) BackwardChars(CountVar int) bool { | 116 | func (x *TextIter) BackwardChars(CountVar int) bool { | ||
| 117 | + | core.LazyRegister(&xTextIterBackwardChars, "GTK", "gtk_text_iter_backward_chars", false) | |||
| 118 | + | ||||
| 113 | cret := xTextIterBackwardChars(x.GoPointer(), CountVar) | 119 | cret := xTextIterBackwardChars(x.GoPointer(), CountVar) | ||
| 114 | return cret | 120 | return cret | ||
| 115 | } | 121 | } | ||
| @@ -118,6 +124,8 @@ var xTextIterBackwardCursorPosition func(uintptr) bool | |||||
| 118 | 124 | ||||
| 119 | // Like [method@Gtk.TextIter.forward_cursor_position], but moves backward. | 125 | // Like [method@Gtk.TextIter.forward_cursor_position], but moves backward. | ||
| 120 | func (x *TextIter) BackwardCursorPosition() bool { | 126 | func (x *TextIter) BackwardCursorPosition() bool { | ||
| 127 | + | core.LazyRegister(&xTextIterBackwardCursorPosition, "GTK", "gtk_text_iter_backward_cursor_position", false) | |||
| 128 | + | ||||
| 121 | cret := xTextIterBackwardCursorPosition(x.GoPointer()) | 129 | cret := xTextIterBackwardCursorPosition(x.GoPointer()) | ||
| 122 | return cret | 130 | return cret | ||
| 123 | } | 131 | } | ||
| @@ -128,6 +136,8 @@ var xTextIterBackwardCursorPositions func(uintptr, int) bool | |||||
| 128 | // | 136 | // | ||
| 129 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | 137 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | ||
| 130 | func (x *TextIter) BackwardCursorPositions(CountVar int) bool { | 138 | func (x *TextIter) BackwardCursorPositions(CountVar int) bool { | ||
| 139 | + | core.LazyRegister(&xTextIterBackwardCursorPositions, "GTK", "gtk_text_iter_backward_cursor_positions", false) | |||
| 140 | + | ||||
| 131 | cret := xTextIterBackwardCursorPositions(x.GoPointer(), CountVar) | 141 | cret := xTextIterBackwardCursorPositions(x.GoPointer(), CountVar) | ||
| 132 | return cret | 142 | return cret | ||
| 133 | } | 143 | } | ||
| @@ -137,6 +147,8 @@ var xTextIterBackwardFindChar func(uintptr, uintptr, uintptr, *TextIter) bool | |||||
| 137 | // Same as [method@Gtk.TextIter.forward_find_char], | 147 | // Same as [method@Gtk.TextIter.forward_find_char], | ||
| 138 | // but goes backward from @iter. | 148 | // but goes backward from @iter. | ||
| 139 | func (x *TextIter) BackwardFindChar(PredVar *TextCharPredicate, UserDataVar uintptr, LimitVar *TextIter) bool { | 149 | func (x *TextIter) BackwardFindChar(PredVar *TextCharPredicate, UserDataVar uintptr, LimitVar *TextIter) bool { | ||
| 150 | + | core.LazyRegister(&xTextIterBackwardFindChar, "GTK", "gtk_text_iter_backward_find_char", false) | |||
| 151 | + | ||||
| 140 | cret := xTextIterBackwardFindChar(x.GoPointer(), glib.NewCallback(PredVar), UserDataVar, LimitVar) | 152 | cret := xTextIterBackwardFindChar(x.GoPointer(), glib.NewCallback(PredVar), UserDataVar, LimitVar) | ||
| 141 | return cret | 153 | return cret | ||
| 142 | } | 154 | } | ||
| @@ -153,6 +165,8 @@ var xTextIterBackwardLine func(uintptr) bool | |||||
| 153 | // in a loop calling this function, the line number may not change on | 165 | // in a loop calling this function, the line number may not change on | ||
| 154 | // every iteration, if your first iteration is on line 0.) | 166 | // every iteration, if your first iteration is on line 0.) | ||
| 155 | func (x *TextIter) BackwardLine() bool { | 167 | func (x *TextIter) BackwardLine() bool { | ||
| 168 | + | core.LazyRegister(&xTextIterBackwardLine, "GTK", "gtk_text_iter_backward_line", false) | |||
| 169 | + | ||||
| 156 | cret := xTextIterBackwardLine(x.GoPointer()) | 170 | cret := xTextIterBackwardLine(x.GoPointer()) | ||
| 157 | return cret | 171 | return cret | ||
| 158 | } | 172 | } | ||
| @@ -170,6 +184,8 @@ var xTextIterBackwardLines func(uintptr, int) bool | |||||
| 170 | // the function does nothing and returns %FALSE. If @count is negative, | 184 | // the function does nothing and returns %FALSE. If @count is negative, | ||
| 171 | // moves forward by 0 - @count lines. | 185 | // moves forward by 0 - @count lines. | ||
| 172 | func (x *TextIter) BackwardLines(CountVar int) bool { | 186 | func (x *TextIter) BackwardLines(CountVar int) bool { | ||
| 187 | + | core.LazyRegister(&xTextIterBackwardLines, "GTK", "gtk_text_iter_backward_lines", false) | |||
| 188 | + | ||||
| 173 | cret := xTextIterBackwardLines(x.GoPointer(), CountVar) | 189 | cret := xTextIterBackwardLines(x.GoPointer(), CountVar) | ||
| 174 | return cret | 190 | return cret | ||
| 175 | } | 191 | } | ||
| @@ -181,6 +197,8 @@ var xTextIterBackwardSearch func(uintptr, string, TextSearchFlags, *TextIter, *T | |||||
| 181 | // @match_end will never be set to a `GtkTextIter` located after @iter, | 197 | // @match_end will never be set to a `GtkTextIter` located after @iter, | ||
| 182 | // even if there is a possible @match_start before or at @iter. | 198 | // even if there is a possible @match_start before or at @iter. | ||
| 183 | func (x *TextIter) BackwardSearch(StrVar string, FlagsVar TextSearchFlags, MatchStartVar *TextIter, MatchEndVar *TextIter, LimitVar *TextIter) bool { | 199 | func (x *TextIter) BackwardSearch(StrVar string, FlagsVar TextSearchFlags, MatchStartVar *TextIter, MatchEndVar *TextIter, LimitVar *TextIter) bool { | ||
| 200 | + | core.LazyRegister(&xTextIterBackwardSearch, "GTK", "gtk_text_iter_backward_search", false) | |||
| 201 | + | ||||
| 184 | cret := xTextIterBackwardSearch(x.GoPointer(), StrVar, FlagsVar, MatchStartVar, MatchEndVar, LimitVar) | 202 | cret := xTextIterBackwardSearch(x.GoPointer(), StrVar, FlagsVar, MatchStartVar, MatchEndVar, LimitVar) | ||
| 185 | return cret | 203 | return cret | ||
| 186 | } | 204 | } | ||
| @@ -195,6 +213,8 @@ var xTextIterBackwardSentenceStart func(uintptr) bool | |||||
| 195 | // Sentence boundaries are determined by Pango and should | 213 | // Sentence boundaries are determined by Pango and should | ||
| 196 | // be correct for nearly any language. | 214 | // be correct for nearly any language. | ||
| 197 | func (x *TextIter) BackwardSentenceStart() bool { | 215 | func (x *TextIter) BackwardSentenceStart() bool { | ||
| 216 | + | core.LazyRegister(&xTextIterBackwardSentenceStart, "GTK", "gtk_text_iter_backward_sentence_start", false) | |||
| 217 | + | ||||
| 198 | cret := xTextIterBackwardSentenceStart(x.GoPointer()) | 218 | cret := xTextIterBackwardSentenceStart(x.GoPointer()) | ||
| 199 | return cret | 219 | return cret | ||
| 200 | } | 220 | } | ||
| @@ -205,6 +225,8 @@ var xTextIterBackwardSentenceStarts func(uintptr, int) bool | |||||
| 205 | // | 225 | // | ||
| 206 | // If @count is negative, moves forward instead of backward. | 226 | // If @count is negative, moves forward instead of backward. | ||
| 207 | func (x *TextIter) BackwardSentenceStarts(CountVar int) bool { | 227 | func (x *TextIter) BackwardSentenceStarts(CountVar int) bool { | ||
| 228 | + | core.LazyRegister(&xTextIterBackwardSentenceStarts, "GTK", "gtk_text_iter_backward_sentence_starts", false) | |||
| 229 | + | ||||
| 208 | cret := xTextIterBackwardSentenceStarts(x.GoPointer(), CountVar) | 230 | cret := xTextIterBackwardSentenceStarts(x.GoPointer(), CountVar) | ||
| 209 | return cret | 231 | return cret | ||
| 210 | } | 232 | } | ||
| @@ -221,6 +243,8 @@ var xTextIterBackwardToTagToggle func(uintptr, uintptr) bool | |||||
| 221 | // to the location of the toggle, or the start of the buffer | 243 | // to the location of the toggle, or the start of the buffer | ||
| 222 | // if no toggle is found. | 244 | // if no toggle is found. | ||
| 223 | func (x *TextIter) BackwardToTagToggle(TagVar *TextTag) bool { | 245 | func (x *TextIter) BackwardToTagToggle(TagVar *TextTag) bool { | ||
| 246 | + | core.LazyRegister(&xTextIterBackwardToTagToggle, "GTK", "gtk_text_iter_backward_to_tag_toggle", false) | |||
| 247 | + | ||||
| 224 | cret := xTextIterBackwardToTagToggle(x.GoPointer(), TagVar.GoPointer()) | 248 | cret := xTextIterBackwardToTagToggle(x.GoPointer(), TagVar.GoPointer()) | ||
| 225 | return cret | 249 | return cret | ||
| 226 | } | 250 | } | ||
| @@ -231,6 +255,8 @@ var xTextIterBackwardVisibleCursorPosition func(uintptr) bool | |||||
| 231 | // | 255 | // | ||
| 232 | // See [method@Gtk.TextIter.backward_cursor_position] for details. | 256 | // See [method@Gtk.TextIter.backward_cursor_position] for details. | ||
| 233 | func (x *TextIter) BackwardVisibleCursorPosition() bool { | 257 | func (x *TextIter) BackwardVisibleCursorPosition() bool { | ||
| 258 | + | core.LazyRegister(&xTextIterBackwardVisibleCursorPosition, "GTK", "gtk_text_iter_backward_visible_cursor_position", false) | |||
| 259 | + | ||||
| 234 | cret := xTextIterBackwardVisibleCursorPosition(x.GoPointer()) | 260 | cret := xTextIterBackwardVisibleCursorPosition(x.GoPointer()) | ||
| 235 | return cret | 261 | return cret | ||
| 236 | } | 262 | } | ||
| @@ -241,6 +267,8 @@ var xTextIterBackwardVisibleCursorPositions func(uintptr, int) bool | |||||
| 241 | // | 267 | // | ||
| 242 | // See [method@Gtk.TextIter.backward_cursor_position] for details. | 268 | // See [method@Gtk.TextIter.backward_cursor_position] for details. | ||
| 243 | func (x *TextIter) BackwardVisibleCursorPositions(CountVar int) bool { | 269 | func (x *TextIter) BackwardVisibleCursorPositions(CountVar int) bool { | ||
| 270 | + | core.LazyRegister(&xTextIterBackwardVisibleCursorPositions, "GTK", "gtk_text_iter_backward_visible_cursor_positions", false) | |||
| 271 | + | ||||
| 244 | cret := xTextIterBackwardVisibleCursorPositions(x.GoPointer(), CountVar) | 272 | cret := xTextIterBackwardVisibleCursorPositions(x.GoPointer(), CountVar) | ||
| 245 | return cret | 273 | return cret | ||
| 246 | } | 274 | } | ||
| @@ -257,6 +285,8 @@ var xTextIterBackwardVisibleLine func(uintptr) bool | |||||
| 257 | // in a loop calling this function, the line number may not change on | 285 | // in a loop calling this function, the line number may not change on | ||
| 258 | // every iteration, if your first iteration is on line 0.) | 286 | // every iteration, if your first iteration is on line 0.) | ||
| 259 | func (x *TextIter) BackwardVisibleLine() bool { | 287 | func (x *TextIter) BackwardVisibleLine() bool { | ||
| 288 | + | core.LazyRegister(&xTextIterBackwardVisibleLine, "GTK", "gtk_text_iter_backward_visible_line", false) | |||
| 289 | + | ||||
| 260 | cret := xTextIterBackwardVisibleLine(x.GoPointer()) | 290 | cret := xTextIterBackwardVisibleLine(x.GoPointer()) | ||
| 261 | return cret | 291 | return cret | ||
| 262 | } | 292 | } | ||
| @@ -274,6 +304,8 @@ var xTextIterBackwardVisibleLines func(uintptr, int) bool | |||||
| 274 | // the function does nothing and returns %FALSE. If @count is negative, | 304 | // the function does nothing and returns %FALSE. If @count is negative, | ||
| 275 | // moves forward by 0 - @count lines. | 305 | // moves forward by 0 - @count lines. | ||
| 276 | func (x *TextIter) BackwardVisibleLines(CountVar int) bool { | 306 | func (x *TextIter) BackwardVisibleLines(CountVar int) bool { | ||
| 307 | + | core.LazyRegister(&xTextIterBackwardVisibleLines, "GTK", "gtk_text_iter_backward_visible_lines", false) | |||
| 308 | + | ||||
| 277 | cret := xTextIterBackwardVisibleLines(x.GoPointer(), CountVar) | 309 | cret := xTextIterBackwardVisibleLines(x.GoPointer(), CountVar) | ||
| 278 | return cret | 310 | return cret | ||
| 279 | } | 311 | } | ||
| @@ -288,6 +320,8 @@ var xTextIterBackwardVisibleWordStart func(uintptr) bool | |||||
| 288 | // Word breaks are determined by Pango and should be correct | 320 | // Word breaks are determined by Pango and should be correct | ||
| 289 | // for nearly any language. | 321 | // for nearly any language. | ||
| 290 | func (x *TextIter) BackwardVisibleWordStart() bool { | 322 | func (x *TextIter) BackwardVisibleWordStart() bool { | ||
| 323 | + | core.LazyRegister(&xTextIterBackwardVisibleWordStart, "GTK", "gtk_text_iter_backward_visible_word_start", false) | |||
| 324 | + | ||||
| 291 | cret := xTextIterBackwardVisibleWordStart(x.GoPointer()) | 325 | cret := xTextIterBackwardVisibleWordStart(x.GoPointer()) | ||
| 292 | return cret | 326 | return cret | ||
| 293 | } | 327 | } | ||
| @@ -296,6 +330,8 @@ var xTextIterBackwardVisibleWordStarts func(uintptr, int) bool | |||||
| 296 | 330 | ||||
| 297 | // Calls [method@Gtk.TextIter.backward_visible_word_start] up to @count times. | 331 | // Calls [method@Gtk.TextIter.backward_visible_word_start] up to @count times. | ||
| 298 | func (x *TextIter) BackwardVisibleWordStarts(CountVar int) bool { | 332 | func (x *TextIter) BackwardVisibleWordStarts(CountVar int) bool { | ||
| 333 | + | core.LazyRegister(&xTextIterBackwardVisibleWordStarts, "GTK", "gtk_text_iter_backward_visible_word_starts", false) | |||
| 334 | + | ||||
| 299 | cret := xTextIterBackwardVisibleWordStarts(x.GoPointer(), CountVar) | 335 | cret := xTextIterBackwardVisibleWordStarts(x.GoPointer(), CountVar) | ||
| 300 | return cret | 336 | return cret | ||
| 301 | } | 337 | } | ||
| @@ -310,6 +346,8 @@ var xTextIterBackwardWordStart func(uintptr) bool | |||||
| 310 | // Word breaks are determined by Pango and should be correct | 346 | // Word breaks are determined by Pango and should be correct | ||
| 311 | // for nearly any language | 347 | // for nearly any language | ||
| 312 | func (x *TextIter) BackwardWordStart() bool { | 348 | func (x *TextIter) BackwardWordStart() bool { | ||
| 349 | + | core.LazyRegister(&xTextIterBackwardWordStart, "GTK", "gtk_text_iter_backward_word_start", false) | |||
| 350 | + | ||||
| 313 | cret := xTextIterBackwardWordStart(x.GoPointer()) | 351 | cret := xTextIterBackwardWordStart(x.GoPointer()) | ||
| 314 | return cret | 352 | return cret | ||
| 315 | } | 353 | } | ||
| @@ -318,6 +356,8 @@ var xTextIterBackwardWordStarts func(uintptr, int) bool | |||||
| 318 | 356 | ||||
| 319 | // Calls [method@Gtk.TextIter.backward_word_start] up to @count times. | 357 | // Calls [method@Gtk.TextIter.backward_word_start] up to @count times. | ||
| 320 | func (x *TextIter) BackwardWordStarts(CountVar int) bool { | 358 | func (x *TextIter) BackwardWordStarts(CountVar int) bool { | ||
| 359 | + | core.LazyRegister(&xTextIterBackwardWordStarts, "GTK", "gtk_text_iter_backward_word_starts", false) | |||
| 360 | + | ||||
| 321 | cret := xTextIterBackwardWordStarts(x.GoPointer(), CountVar) | 361 | cret := xTextIterBackwardWordStarts(x.GoPointer(), CountVar) | ||
| 322 | return cret | 362 | return cret | ||
| 323 | } | 363 | } | ||
| @@ -333,6 +373,8 @@ var xTextIterCanInsert func(uintptr, bool) bool | |||||
| 333 | // [method@Gtk.TextBuffer.insert_interactive] uses this function | 373 | // [method@Gtk.TextBuffer.insert_interactive] uses this function | ||
| 334 | // to decide whether insertions are allowed at a given position. | 374 | // to decide whether insertions are allowed at a given position. | ||
| 335 | func (x *TextIter) CanInsert(DefaultEditabilityVar bool) bool { | 375 | func (x *TextIter) CanInsert(DefaultEditabilityVar bool) bool { | ||
| 376 | + | core.LazyRegister(&xTextIterCanInsert, "GTK", "gtk_text_iter_can_insert", false) | |||
| 377 | + | ||||
| 336 | cret := xTextIterCanInsert(x.GoPointer(), DefaultEditabilityVar) | 378 | cret := xTextIterCanInsert(x.GoPointer(), DefaultEditabilityVar) | ||
| 337 | return cret | 379 | return cret | ||
| 338 | } | 380 | } | ||
| @@ -345,6 +387,8 @@ var xTextIterCompare func(uintptr, *TextIter) int | |||||
| 345 | // Ordering is in character offset order, i.e. the first character | 387 | // Ordering is in character offset order, i.e. the first character | ||
| 346 | // in the buffer is less than the second character in the buffer. | 388 | // in the buffer is less than the second character in the buffer. | ||
| 347 | func (x *TextIter) Compare(RhsVar *TextIter) int { | 389 | func (x *TextIter) Compare(RhsVar *TextIter) int { | ||
| 390 | + | core.LazyRegister(&xTextIterCompare, "GTK", "gtk_text_iter_compare", false) | |||
| 391 | + | ||||
| 348 | cret := xTextIterCompare(x.GoPointer(), RhsVar) | 392 | cret := xTextIterCompare(x.GoPointer(), RhsVar) | ||
| 349 | return cret | 393 | return cret | ||
| 350 | } | 394 | } | ||
| @@ -359,6 +403,8 @@ var xTextIterCopy func(uintptr) uintptr | |||||
| 359 | // | 403 | // | ||
| 360 | // The function is used by language bindings. | 404 | // The function is used by language bindings. | ||
| 361 | func (x *TextIter) Copy() *TextIter { | 405 | func (x *TextIter) Copy() *TextIter { | ||
| 406 | + | core.LazyRegister(&xTextIterCopy, "GTK", "gtk_text_iter_copy", false) | |||
| 407 | + | ||||
| 362 | cret := xTextIterCopy(x.GoPointer()) | 408 | cret := xTextIterCopy(x.GoPointer()) | ||
| 363 | if cret == 0 { | 409 | if cret == 0 { | ||
| 364 | return nil | 410 | return nil | ||
| @@ -382,6 +428,8 @@ var xTextIterEditable func(uintptr, bool) bool | |||||
| 382 | // editable range. Use [method@Gtk.TextIter.can_insert] to handle this | 428 | // editable range. Use [method@Gtk.TextIter.can_insert] to handle this | ||
| 383 | // case. | 429 | // case. | ||
| 384 | func (x *TextIter) Editable(DefaultSettingVar bool) bool { | 430 | func (x *TextIter) Editable(DefaultSettingVar bool) bool { | ||
| 431 | + | core.LazyRegister(&xTextIterEditable, "GTK", "gtk_text_iter_editable", false) | |||
| 432 | + | ||||
| 385 | cret := xTextIterEditable(x.GoPointer(), DefaultSettingVar) | 433 | cret := xTextIterEditable(x.GoPointer(), DefaultSettingVar) | ||
| 386 | return cret | 434 | return cret | ||
| 387 | } | 435 | } | ||
| @@ -400,6 +448,8 @@ var xTextIterEndsLine func(uintptr) bool | |||||
| 400 | // iterator is considered to be at the end of a line, even though there | 448 | // iterator is considered to be at the end of a line, even though there | ||
| 401 | // are no paragraph delimiter chars there. | 449 | // are no paragraph delimiter chars there. | ||
| 402 | func (x *TextIter) EndsLine() bool { | 450 | func (x *TextIter) EndsLine() bool { | ||
| 451 | + | core.LazyRegister(&xTextIterEndsLine, "GTK", "gtk_text_iter_ends_line", false) | |||
| 452 | + | ||||
| 403 | cret := xTextIterEndsLine(x.GoPointer()) | 453 | cret := xTextIterEndsLine(x.GoPointer()) | ||
| 404 | return cret | 454 | return cret | ||
| 405 | } | 455 | } | ||
| @@ -411,6 +461,8 @@ var xTextIterEndsSentence func(uintptr) bool | |||||
| 411 | // Sentence boundaries are determined by Pango and should | 461 | // Sentence boundaries are determined by Pango and should | ||
| 412 | // be correct for nearly any language. | 462 | // be correct for nearly any language. | ||
| 413 | func (x *TextIter) EndsSentence() bool { | 463 | func (x *TextIter) EndsSentence() bool { | ||
| 464 | + | core.LazyRegister(&xTextIterEndsSentence, "GTK", "gtk_text_iter_ends_sentence", false) | |||
| 465 | + | ||||
| 414 | cret := xTextIterEndsSentence(x.GoPointer()) | 466 | cret := xTextIterEndsSentence(x.GoPointer()) | ||
| 415 | return cret | 467 | return cret | ||
| 416 | } | 468 | } | ||
| @@ -428,6 +480,8 @@ var xTextIterEndsTag func(uintptr, uintptr) bool | |||||
| 428 | // returns %TRUE, [method@Gtk.TextIter.has_tag] will return | 480 | // returns %TRUE, [method@Gtk.TextIter.has_tag] will return | ||
| 429 | // %FALSE for the same parameters. | 481 | // %FALSE for the same parameters. | ||
| 430 | func (x *TextIter) EndsTag(TagVar *TextTag) bool { | 482 | func (x *TextIter) EndsTag(TagVar *TextTag) bool { | ||
| 483 | + | core.LazyRegister(&xTextIterEndsTag, "GTK", "gtk_text_iter_ends_tag", false) | |||
| 484 | + | ||||
| 431 | cret := xTextIterEndsTag(x.GoPointer(), TagVar.GoPointer()) | 485 | cret := xTextIterEndsTag(x.GoPointer(), TagVar.GoPointer()) | ||
| 432 | return cret | 486 | return cret | ||
| 433 | } | 487 | } | ||
| @@ -439,6 +493,8 @@ var xTextIterEndsWord func(uintptr) bool | |||||
| 439 | // Word breaks are determined by Pango and should be correct | 493 | // Word breaks are determined by Pango and should be correct | ||
| 440 | // for nearly any language. | 494 | // for nearly any language. | ||
| 441 | func (x *TextIter) EndsWord() bool { | 495 | func (x *TextIter) EndsWord() bool { | ||
| 496 | + | core.LazyRegister(&xTextIterEndsWord, "GTK", "gtk_text_iter_ends_word", false) | |||
| 497 | + | ||||
| 442 | cret := xTextIterEndsWord(x.GoPointer()) | 498 | cret := xTextIterEndsWord(x.GoPointer()) | ||
| 443 | return cret | 499 | return cret | ||
| 444 | } | 500 | } | ||
| @@ -453,6 +509,8 @@ var xTextIterEqual func(uintptr, *TextIter) bool | |||||
| 453 | // iterator and comparing the offsets yourself. Also, it’s a | 509 | // iterator and comparing the offsets yourself. Also, it’s a | ||
| 454 | // bit faster than [method@Gtk.TextIter.compare]. | 510 | // bit faster than [method@Gtk.TextIter.compare]. | ||
| 455 | func (x *TextIter) Equal(RhsVar *TextIter) bool { | 511 | func (x *TextIter) Equal(RhsVar *TextIter) bool { | ||
| 512 | + | core.LazyRegister(&xTextIterEqual, "GTK", "gtk_text_iter_equal", false) | |||
| 513 | + | ||||
| 456 | cret := xTextIterEqual(x.GoPointer(), RhsVar) | 514 | cret := xTextIterEqual(x.GoPointer(), RhsVar) | ||
| 457 | return cret | 515 | return cret | ||
| 458 | } | 516 | } | ||
| @@ -467,6 +525,8 @@ var xTextIterForwardChar func(uintptr) bool | |||||
| 467 | // one character before it, @iter will now point at the end iterator, | 525 | // one character before it, @iter will now point at the end iterator, | ||
| 468 | // and this function returns %FALSE for convenience when writing loops. | 526 | // and this function returns %FALSE for convenience when writing loops. | ||
| 469 | func (x *TextIter) ForwardChar() bool { | 527 | func (x *TextIter) ForwardChar() bool { | ||
| 528 | + | core.LazyRegister(&xTextIterForwardChar, "GTK", "gtk_text_iter_forward_char", false) | |||
| 529 | + | ||||
| 470 | cret := xTextIterForwardChar(x.GoPointer()) | 530 | cret := xTextIterForwardChar(x.GoPointer()) | ||
| 471 | return cret | 531 | return cret | ||
| 472 | } | 532 | } | ||
| @@ -483,6 +543,8 @@ var xTextIterForwardChars func(uintptr, int) bool | |||||
| 483 | // (the last iterator in the buffer is not dereferenceable). If @count | 543 | // (the last iterator in the buffer is not dereferenceable). If @count | ||
| 484 | // is 0, the function does nothing and returns %FALSE. | 544 | // is 0, the function does nothing and returns %FALSE. | ||
| 485 | func (x *TextIter) ForwardChars(CountVar int) bool { | 545 | func (x *TextIter) ForwardChars(CountVar int) bool { | ||
| 546 | + | core.LazyRegister(&xTextIterForwardChars, "GTK", "gtk_text_iter_forward_chars", false) | |||
| 547 | + | ||||
| 486 | cret := xTextIterForwardChars(x.GoPointer(), CountVar) | 548 | cret := xTextIterForwardChars(x.GoPointer(), CountVar) | ||
| 487 | return cret | 549 | return cret | ||
| 488 | } | 550 | } | ||
| @@ -505,6 +567,8 @@ var xTextIterForwardCursorPosition func(uintptr) bool | |||||
| 505 | // See also the [struct@Pango.LogAttr] struct and the [func@Pango.break] | 567 | // See also the [struct@Pango.LogAttr] struct and the [func@Pango.break] | ||
| 506 | // function. | 568 | // function. | ||
| 507 | func (x *TextIter) ForwardCursorPosition() bool { | 569 | func (x *TextIter) ForwardCursorPosition() bool { | ||
| 570 | + | core.LazyRegister(&xTextIterForwardCursorPosition, "GTK", "gtk_text_iter_forward_cursor_position", false) | |||
| 571 | + | ||||
| 508 | cret := xTextIterForwardCursorPosition(x.GoPointer()) | 572 | cret := xTextIterForwardCursorPosition(x.GoPointer()) | ||
| 509 | return cret | 573 | return cret | ||
| 510 | } | 574 | } | ||
| @@ -515,6 +579,8 @@ var xTextIterForwardCursorPositions func(uintptr, int) bool | |||||
| 515 | // | 579 | // | ||
| 516 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | 580 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | ||
| 517 | func (x *TextIter) ForwardCursorPositions(CountVar int) bool { | 581 | func (x *TextIter) ForwardCursorPositions(CountVar int) bool { | ||
| 582 | + | core.LazyRegister(&xTextIterForwardCursorPositions, "GTK", "gtk_text_iter_forward_cursor_positions", false) | |||
| 583 | + | ||||
| 518 | cret := xTextIterForwardCursorPositions(x.GoPointer(), CountVar) | 584 | cret := xTextIterForwardCursorPositions(x.GoPointer(), CountVar) | ||
| 519 | return cret | 585 | return cret | ||
| 520 | } | 586 | } | ||
| @@ -527,6 +593,8 @@ var xTextIterForwardFindChar func(uintptr, uintptr, uintptr, *TextIter) bool | |||||
| 527 | // If @pred never returns %TRUE, @iter is set to @limit if | 593 | // If @pred never returns %TRUE, @iter is set to @limit if | ||
| 528 | // @limit is non-%NULL, otherwise to the end iterator. | 594 | // @limit is non-%NULL, otherwise to the end iterator. | ||
| 529 | func (x *TextIter) ForwardFindChar(PredVar *TextCharPredicate, UserDataVar uintptr, LimitVar *TextIter) bool { | 595 | func (x *TextIter) ForwardFindChar(PredVar *TextCharPredicate, UserDataVar uintptr, LimitVar *TextIter) bool { | ||
| 596 | + | core.LazyRegister(&xTextIterForwardFindChar, "GTK", "gtk_text_iter_forward_find_char", false) | |||
| 597 | + | ||||
| 530 | cret := xTextIterForwardFindChar(x.GoPointer(), glib.NewCallback(PredVar), UserDataVar, LimitVar) | 598 | cret := xTextIterForwardFindChar(x.GoPointer(), glib.NewCallback(PredVar), UserDataVar, LimitVar) | ||
| 531 | return cret | 599 | return cret | ||
| 532 | } | 600 | } | ||
| @@ -540,6 +608,8 @@ var xTextIterForwardLine func(uintptr) bool | |||||
| 540 | // the operation, the iter is at the end of the buffer and not | 608 | // the operation, the iter is at the end of the buffer and not | ||
| 541 | // dereferenceable, returns %FALSE. Otherwise, returns %TRUE. | 609 | // dereferenceable, returns %FALSE. Otherwise, returns %TRUE. | ||
| 542 | func (x *TextIter) ForwardLine() bool { | 610 | func (x *TextIter) ForwardLine() bool { | ||
| 611 | + | core.LazyRegister(&xTextIterForwardLine, "GTK", "gtk_text_iter_forward_line", false) | |||
| 612 | + | ||||
| 543 | cret := xTextIterForwardLine(x.GoPointer()) | 613 | cret := xTextIterForwardLine(x.GoPointer()) | ||
| 544 | return cret | 614 | return cret | ||
| 545 | } | 615 | } | ||
| @@ -557,6 +627,8 @@ var xTextIterForwardLines func(uintptr, int) bool | |||||
| 557 | // the function does nothing and returns %FALSE. If @count is negative, | 627 | // the function does nothing and returns %FALSE. If @count is negative, | ||
| 558 | // moves backward by 0 - @count lines. | 628 | // moves backward by 0 - @count lines. | ||
| 559 | func (x *TextIter) ForwardLines(CountVar int) bool { | 629 | func (x *TextIter) ForwardLines(CountVar int) bool { | ||
| 630 | + | core.LazyRegister(&xTextIterForwardLines, "GTK", "gtk_text_iter_forward_lines", false) | |||
| 631 | + | ||||
| 560 | cret := xTextIterForwardLines(x.GoPointer(), CountVar) | 632 | cret := xTextIterForwardLines(x.GoPointer(), CountVar) | ||
| 561 | return cret | 633 | return cret | ||
| 562 | } | 634 | } | ||
| @@ -574,6 +646,8 @@ var xTextIterForwardSearch func(uintptr, string, TextSearchFlags, *TextIter, *Te | |||||
| 574 | // @match_start will never be set to a `GtkTextIter` located before @iter, | 646 | // @match_start will never be set to a `GtkTextIter` located before @iter, | ||
| 575 | // even if there is a possible @match_end after or at @iter. | 647 | // even if there is a possible @match_end after or at @iter. | ||
| 576 | func (x *TextIter) ForwardSearch(StrVar string, FlagsVar TextSearchFlags, MatchStartVar *TextIter, MatchEndVar *TextIter, LimitVar *TextIter) bool { | 648 | func (x *TextIter) ForwardSearch(StrVar string, FlagsVar TextSearchFlags, MatchStartVar *TextIter, MatchEndVar *TextIter, LimitVar *TextIter) bool { | ||
| 649 | + | core.LazyRegister(&xTextIterForwardSearch, "GTK", "gtk_text_iter_forward_search", false) | |||
| 650 | + | ||||
| 577 | cret := xTextIterForwardSearch(x.GoPointer(), StrVar, FlagsVar, MatchStartVar, MatchEndVar, LimitVar) | 651 | cret := xTextIterForwardSearch(x.GoPointer(), StrVar, FlagsVar, MatchStartVar, MatchEndVar, LimitVar) | ||
| 578 | return cret | 652 | return cret | ||
| 579 | } | 653 | } | ||
| @@ -588,6 +662,8 @@ var xTextIterForwardSentenceEnd func(uintptr) bool | |||||
| 588 | // Sentence boundaries are determined by Pango and should | 662 | // Sentence boundaries are determined by Pango and should | ||
| 589 | // be correct for nearly any language. | 663 | // be correct for nearly any language. | ||
| 590 | func (x *TextIter) ForwardSentenceEnd() bool { | 664 | func (x *TextIter) ForwardSentenceEnd() bool { | ||
| 665 | + | core.LazyRegister(&xTextIterForwardSentenceEnd, "GTK", "gtk_text_iter_forward_sentence_end", false) | |||
| 666 | + | ||||
| 591 | cret := xTextIterForwardSentenceEnd(x.GoPointer()) | 667 | cret := xTextIterForwardSentenceEnd(x.GoPointer()) | ||
| 592 | return cret | 668 | return cret | ||
| 593 | } | 669 | } | ||
| @@ -598,6 +674,8 @@ var xTextIterForwardSentenceEnds func(uintptr, int) bool | |||||
| 598 | // | 674 | // | ||
| 599 | // If @count is negative, moves backward instead of forward. | 675 | // If @count is negative, moves backward instead of forward. | ||
| 600 | func (x *TextIter) ForwardSentenceEnds(CountVar int) bool { | 676 | func (x *TextIter) ForwardSentenceEnds(CountVar int) bool { | ||
| 677 | + | core.LazyRegister(&xTextIterForwardSentenceEnds, "GTK", "gtk_text_iter_forward_sentence_ends", false) | |||
| 678 | + | ||||
| 601 | cret := xTextIterForwardSentenceEnds(x.GoPointer(), CountVar) | 679 | cret := xTextIterForwardSentenceEnds(x.GoPointer(), CountVar) | ||
| 602 | return cret | 680 | return cret | ||
| 603 | } | 681 | } | ||
| @@ -610,6 +688,8 @@ var xTextIterForwardToEnd func(uintptr) | |||||
| 610 | // [method@Gtk.TextIter.get_char] called on the end iterator | 688 | // [method@Gtk.TextIter.get_char] called on the end iterator | ||
| 611 | // returns 0, which is convenient for writing loops. | 689 | // returns 0, which is convenient for writing loops. | ||
| 612 | func (x *TextIter) ForwardToEnd() { | 690 | func (x *TextIter) ForwardToEnd() { | ||
| 691 | + | core.LazyRegister(&xTextIterForwardToEnd, "GTK", "gtk_text_iter_forward_to_end", false) | |||
| 692 | + | ||||
| 613 | xTextIterForwardToEnd(x.GoPointer()) | 693 | xTextIterForwardToEnd(x.GoPointer()) | ||
| 614 | } | 694 | } | ||
| 615 | 695 | ||||
| @@ -627,6 +707,8 @@ var xTextIterForwardToLineEnd func(uintptr) bool | |||||
| 627 | // not end in paragraph delimiters, moves to the end iterator (end of | 707 | // not end in paragraph delimiters, moves to the end iterator (end of | ||
| 628 | // the last line), and returns %FALSE. | 708 | // the last line), and returns %FALSE. | ||
| 629 | func (x *TextIter) ForwardToLineEnd() bool { | 709 | func (x *TextIter) ForwardToLineEnd() bool { | ||
| 710 | + | core.LazyRegister(&xTextIterForwardToLineEnd, "GTK", "gtk_text_iter_forward_to_line_end", false) | |||
| 711 | + | ||||
| 630 | cret := xTextIterForwardToLineEnd(x.GoPointer()) | 712 | cret := xTextIterForwardToLineEnd(x.GoPointer()) | ||
| 631 | return cret | 713 | return cret | ||
| 632 | } | 714 | } | ||
| @@ -643,6 +725,8 @@ var xTextIterForwardToTagToggle func(uintptr, uintptr) bool | |||||
| 643 | // the location of the toggle, or to the end of the buffer | 725 | // the location of the toggle, or to the end of the buffer | ||
| 644 | // if no toggle is found. | 726 | // if no toggle is found. | ||
| 645 | func (x *TextIter) ForwardToTagToggle(TagVar *TextTag) bool { | 727 | func (x *TextIter) ForwardToTagToggle(TagVar *TextTag) bool { | ||
| 728 | + | core.LazyRegister(&xTextIterForwardToTagToggle, "GTK", "gtk_text_iter_forward_to_tag_toggle", false) | |||
| 729 | + | ||||
| 646 | cret := xTextIterForwardToTagToggle(x.GoPointer(), TagVar.GoPointer()) | 730 | cret := xTextIterForwardToTagToggle(x.GoPointer(), TagVar.GoPointer()) | ||
| 647 | return cret | 731 | return cret | ||
| 648 | } | 732 | } | ||
| @@ -653,6 +737,8 @@ var xTextIterForwardVisibleCursorPosition func(uintptr) bool | |||||
| 653 | // | 737 | // | ||
| 654 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | 738 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | ||
| 655 | func (x *TextIter) ForwardVisibleCursorPosition() bool { | 739 | func (x *TextIter) ForwardVisibleCursorPosition() bool { | ||
| 740 | + | core.LazyRegister(&xTextIterForwardVisibleCursorPosition, "GTK", "gtk_text_iter_forward_visible_cursor_position", false) | |||
| 741 | + | ||||
| 656 | cret := xTextIterForwardVisibleCursorPosition(x.GoPointer()) | 742 | cret := xTextIterForwardVisibleCursorPosition(x.GoPointer()) | ||
| 657 | return cret | 743 | return cret | ||
| 658 | } | 744 | } | ||
| @@ -663,6 +749,8 @@ var xTextIterForwardVisibleCursorPositions func(uintptr, int) bool | |||||
| 663 | // | 749 | // | ||
| 664 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | 750 | // See [method@Gtk.TextIter.forward_cursor_position] for details. | ||
| 665 | func (x *TextIter) ForwardVisibleCursorPositions(CountVar int) bool { | 751 | func (x *TextIter) ForwardVisibleCursorPositions(CountVar int) bool { | ||
| 752 | + | core.LazyRegister(&xTextIterForwardVisibleCursorPositions, "GTK", "gtk_text_iter_forward_visible_cursor_positions", false) | |||
| 753 | + | ||||
| 666 | cret := xTextIterForwardVisibleCursorPositions(x.GoPointer(), CountVar) | 754 | cret := xTextIterForwardVisibleCursorPositions(x.GoPointer(), CountVar) | ||
| 667 | return cret | 755 | return cret | ||
| 668 | } | 756 | } | ||
| @@ -676,6 +764,8 @@ var xTextIterForwardVisibleLine func(uintptr) bool | |||||
| 676 | // the end of the buffer and is now not dereferenceable, or if @iter was | 764 | // the end of the buffer and is now not dereferenceable, or if @iter was | ||
| 677 | // already at the end of the buffer. | 765 | // already at the end of the buffer. | ||
| 678 | func (x *TextIter) ForwardVisibleLine() bool { | 766 | func (x *TextIter) ForwardVisibleLine() bool { | ||
| 767 | + | core.LazyRegister(&xTextIterForwardVisibleLine, "GTK", "gtk_text_iter_forward_visible_line", false) | |||
| 768 | + | ||||
| 679 | cret := xTextIterForwardVisibleLine(x.GoPointer()) | 769 | cret := xTextIterForwardVisibleLine(x.GoPointer()) | ||
| 680 | return cret | 770 | return cret | ||
| 681 | } | 771 | } | ||
| @@ -693,6 +783,8 @@ var xTextIterForwardVisibleLines func(uintptr, int) bool | |||||
| 693 | // the function does nothing and returns %FALSE. If @count is negative, | 783 | // the function does nothing and returns %FALSE. If @count is negative, | ||
| 694 | // moves backward by 0 - @count lines. | 784 | // moves backward by 0 - @count lines. | ||
| 695 | func (x *TextIter) ForwardVisibleLines(CountVar int) bool { | 785 | func (x *TextIter) ForwardVisibleLines(CountVar int) bool { | ||
| 786 | + | core.LazyRegister(&xTextIterForwardVisibleLines, "GTK", "gtk_text_iter_forward_visible_lines", false) | |||
| 787 | + | ||||
| 696 | cret := xTextIterForwardVisibleLines(x.GoPointer(), CountVar) | 788 | cret := xTextIterForwardVisibleLines(x.GoPointer(), CountVar) | ||
| 697 | return cret | 789 | return cret | ||
| 698 | } | 790 | } | ||
| @@ -707,6 +799,8 @@ var xTextIterForwardVisibleWordEnd func(uintptr) bool | |||||
| 707 | // Word breaks are determined by Pango and should be correct | 799 | // Word breaks are determined by Pango and should be correct | ||
| 708 | // for nearly any language | 800 | // for nearly any language | ||
| 709 | func (x *TextIter) ForwardVisibleWordEnd() bool { | 801 | func (x *TextIter) ForwardVisibleWordEnd() bool { | ||
| 802 | + | core.LazyRegister(&xTextIterForwardVisibleWordEnd, "GTK", "gtk_text_iter_forward_visible_word_end", false) | |||
| 803 | + | ||||
| 710 | cret := xTextIterForwardVisibleWordEnd(x.GoPointer()) | 804 | cret := xTextIterForwardVisibleWordEnd(x.GoPointer()) | ||
| 711 | return cret | 805 | return cret | ||
| 712 | } | 806 | } | ||
| @@ -715,6 +809,8 @@ var xTextIterForwardVisibleWordEnds func(uintptr, int) bool | |||||
| 715 | 809 | ||||
| 716 | // Calls [method@Gtk.TextIter.forward_visible_word_end] up to @count times. | 810 | // Calls [method@Gtk.TextIter.forward_visible_word_end] up to @count times. | ||
| 717 | func (x *TextIter) ForwardVisibleWordEnds(CountVar int) bool { | 811 | func (x *TextIter) ForwardVisibleWordEnds(CountVar int) bool { | ||
| 812 | + | core.LazyRegister(&xTextIterForwardVisibleWordEnds, "GTK", "gtk_text_iter_forward_visible_word_ends", false) | |||
| 813 | + | ||||
| 718 | cret := xTextIterForwardVisibleWordEnds(x.GoPointer(), CountVar) | 814 | cret := xTextIterForwardVisibleWordEnds(x.GoPointer(), CountVar) | ||
| 719 | return cret | 815 | return cret | ||
| 720 | } | 816 | } | ||
| @@ -729,6 +825,8 @@ var xTextIterForwardWordEnd func(uintptr) bool | |||||
| 729 | // Word breaks are determined by Pango and should be correct | 825 | // Word breaks are determined by Pango and should be correct | ||
| 730 | // for nearly any language. | 826 | // for nearly any language. | ||
| 731 | func (x *TextIter) ForwardWordEnd() bool { | 827 | func (x *TextIter) ForwardWordEnd() bool { | ||
| 828 | + | core.LazyRegister(&xTextIterForwardWordEnd, "GTK", "gtk_text_iter_forward_word_end", false) | |||
| 829 | + | ||||
| 732 | cret := xTextIterForwardWordEnd(x.GoPointer()) | 830 | cret := xTextIterForwardWordEnd(x.GoPointer()) | ||
| 733 | return cret | 831 | return cret | ||
| 734 | } | 832 | } | ||
| @@ -737,6 +835,8 @@ var xTextIterForwardWordEnds func(uintptr, int) bool | |||||
| 737 | 835 | ||||
| 738 | // Calls [method@Gtk.TextIter.forward_word_end] up to @count times. | 836 | // Calls [method@Gtk.TextIter.forward_word_end] up to @count times. | ||
| 739 | func (x *TextIter) ForwardWordEnds(CountVar int) bool { | 837 | func (x *TextIter) ForwardWordEnds(CountVar int) bool { | ||
| 838 | + | core.LazyRegister(&xTextIterForwardWordEnds, "GTK", "gtk_text_iter_forward_word_ends", false) | |||
| 839 | + | ||||
| 740 | cret := xTextIterForwardWordEnds(x.GoPointer(), CountVar) | 840 | cret := xTextIterForwardWordEnds(x.GoPointer(), CountVar) | ||
| 741 | return cret | 841 | return cret | ||
| 742 | } | 842 | } | ||
| @@ -749,6 +849,8 @@ var xTextIterFree func(uintptr) | |||||
| 749 | // and is not especially useful for applications, because | 849 | // and is not especially useful for applications, because | ||
| 750 | // iterators can simply be allocated on the stack. | 850 | // iterators can simply be allocated on the stack. | ||
| 751 | func (x *TextIter) Free() { | 851 | func (x *TextIter) Free() { | ||
| 852 | + | core.LazyRegister(&xTextIterFree, "GTK", "gtk_text_iter_free", false) | |||
| 853 | + | ||||
| 752 | xTextIterFree(x.GoPointer()) | 854 | xTextIterFree(x.GoPointer()) | ||
| 753 | } | 855 | } | ||
| 754 | 856 | ||||
| @@ -756,6 +858,7 @@ var xTextIterGetBuffer func(uintptr) uintptr | |||||
| 756 | 858 | ||||
| 757 | // Returns the `GtkTextBuffer` this iterator is associated with. | 859 | // Returns the `GtkTextBuffer` this iterator is associated with. | ||
| 758 | func (x *TextIter) GetBuffer() *TextBuffer { | 860 | func (x *TextIter) GetBuffer() *TextBuffer { | ||
| 861 | + | core.LazyRegister(&xTextIterGetBuffer, "GTK", "gtk_text_iter_get_buffer", false) | |||
| 759 | var cls *TextBuffer | 862 | var cls *TextBuffer | ||
| 760 | 863 | ||||
| 761 | cret := xTextIterGetBuffer(x.GoPointer()) | 864 | cret := xTextIterGetBuffer(x.GoPointer()) | ||
| @@ -774,6 +877,8 @@ var xTextIterGetBytesInLine func(uintptr) int | |||||
| 774 | // Returns the number of bytes in the line containing @iter, | 877 | // Returns the number of bytes in the line containing @iter, | ||
| 775 | // including the paragraph delimiters. | 878 | // including the paragraph delimiters. | ||
| 776 | func (x *TextIter) GetBytesInLine() int { | 879 | func (x *TextIter) GetBytesInLine() int { | ||
| 880 | + | core.LazyRegister(&xTextIterGetBytesInLine, "GTK", "gtk_text_iter_get_bytes_in_line", false) | |||
| 881 | + | ||||
| 777 | cret := xTextIterGetBytesInLine(x.GoPointer()) | 882 | cret := xTextIterGetBytesInLine(x.GoPointer()) | ||
| 778 | return cret | 883 | return cret | ||
| 779 | } | 884 | } | ||
| @@ -790,6 +895,8 @@ var xTextIterGetChar func(uintptr) uint32 | |||||
| 790 | // | 895 | // | ||
| 791 | // So you can write a loop which ends when this function returns 0. | 896 | // So you can write a loop which ends when this function returns 0. | ||
| 792 | func (x *TextIter) GetChar() uint32 { | 897 | func (x *TextIter) GetChar() uint32 { | ||
| 898 | + | core.LazyRegister(&xTextIterGetChar, "GTK", "gtk_text_iter_get_char", false) | |||
| 899 | + | ||||
| 793 | cret := xTextIterGetChar(x.GoPointer()) | 900 | cret := xTextIterGetChar(x.GoPointer()) | ||
| 794 | return cret | 901 | return cret | ||
| 795 | } | 902 | } | ||
| @@ -799,6 +906,8 @@ var xTextIterGetCharsInLine func(uintptr) int | |||||
| 799 | // Returns the number of characters in the line containing @iter, | 906 | // Returns the number of characters in the line containing @iter, | ||
| 800 | // including the paragraph delimiters. | 907 | // including the paragraph delimiters. | ||
| 801 | func (x *TextIter) GetCharsInLine() int { | 908 | func (x *TextIter) GetCharsInLine() int { | ||
| 909 | + | core.LazyRegister(&xTextIterGetCharsInLine, "GTK", "gtk_text_iter_get_chars_in_line", false) | |||
| 910 | + | ||||
| 802 | cret := xTextIterGetCharsInLine(x.GoPointer()) | 911 | cret := xTextIterGetCharsInLine(x.GoPointer()) | ||
| 803 | return cret | 912 | return cret | ||
| 804 | } | 913 | } | ||
| @@ -810,6 +919,7 @@ var xTextIterGetChildAnchor func(uintptr) uintptr | |||||
| 810 | // | 919 | // | ||
| 811 | // Otherwise, %NULL is returned. | 920 | // Otherwise, %NULL is returned. | ||
| 812 | func (x *TextIter) GetChildAnchor() *TextChildAnchor { | 921 | func (x *TextIter) GetChildAnchor() *TextChildAnchor { | ||
| 922 | + | core.LazyRegister(&xTextIterGetChildAnchor, "GTK", "gtk_text_iter_get_child_anchor", false) | |||
| 813 | var cls *TextChildAnchor | 923 | var cls *TextChildAnchor | ||
| 814 | 924 | ||||
| 815 | cret := xTextIterGetChildAnchor(x.GoPointer()) | 925 | cret := xTextIterGetChildAnchor(x.GoPointer()) | ||
| @@ -830,6 +940,8 @@ var xTextIterGetLanguage func(uintptr) uintptr | |||||
| 830 | // If no tags affecting language apply to @iter, the return | 940 | // If no tags affecting language apply to @iter, the return | ||
| 831 | // value is identical to that of [func@Gtk.get_default_language]. | 941 | // value is identical to that of [func@Gtk.get_default_language]. | ||
| 832 | func (x *TextIter) GetLanguage() *pango.Language { | 942 | func (x *TextIter) GetLanguage() *pango.Language { | ||
| 943 | + | core.LazyRegister(&xTextIterGetLanguage, "GTK", "gtk_text_iter_get_language", false) | |||
| 944 | + | ||||
| 833 | cret := xTextIterGetLanguage(x.GoPointer()) | 945 | cret := xTextIterGetLanguage(x.GoPointer()) | ||
| 834 | if cret == 0 { | 946 | if cret == 0 { | ||
| 835 | return nil | 947 | return nil | ||
| @@ -844,6 +956,8 @@ var xTextIterGetLine func(uintptr) int | |||||
| 844 | // Lines in a `GtkTextBuffer` are numbered beginning | 956 | // Lines in a `GtkTextBuffer` are numbered beginning | ||
| 845 | // with 0 for the first line in the buffer. | 957 | // with 0 for the first line in the buffer. | ||
| 846 | func (x *TextIter) GetLine() int { | 958 | func (x *TextIter) GetLine() int { | ||
| 959 | + | core.LazyRegister(&xTextIterGetLine, "GTK", "gtk_text_iter_get_line", false) | |||
| 960 | + | ||||
| 847 | cret := xTextIterGetLine(x.GoPointer()) | 961 | cret := xTextIterGetLine(x.GoPointer()) | ||
| 848 | return cret | 962 | return cret | ||
| 849 | } | 963 | } | ||
| @@ -857,6 +971,8 @@ var xTextIterGetLineIndex func(uintptr) int | |||||
| 857 | // UTF-8, and that characters can require a variable | 971 | // UTF-8, and that characters can require a variable | ||
| 858 | // number of bytes to represent. | 972 | // number of bytes to represent. | ||
| 859 | func (x *TextIter) GetLineIndex() int { | 973 | func (x *TextIter) GetLineIndex() int { | ||
| 974 | + | core.LazyRegister(&xTextIterGetLineIndex, "GTK", "gtk_text_iter_get_line_index", false) | |||
| 975 | + | ||||
| 860 | cret := xTextIterGetLineIndex(x.GoPointer()) | 976 | cret := xTextIterGetLineIndex(x.GoPointer()) | ||
| 861 | return cret | 977 | return cret | ||
| 862 | } | 978 | } | ||
| @@ -868,6 +984,8 @@ var xTextIterGetLineOffset func(uintptr) int | |||||
| 868 | // | 984 | // | ||
| 869 | // The first character on the line has offset 0. | 985 | // The first character on the line has offset 0. | ||
| 870 | func (x *TextIter) GetLineOffset() int { | 986 | func (x *TextIter) GetLineOffset() int { | ||
| 987 | + | core.LazyRegister(&xTextIterGetLineOffset, "GTK", "gtk_text_iter_get_line_offset", false) | |||
| 988 | + | ||||
| 871 | cret := xTextIterGetLineOffset(x.GoPointer()) | 989 | cret := xTextIterGetLineOffset(x.GoPointer()) | ||
| 872 | return cret | 990 | return cret | ||
| 873 | } | 991 | } | ||
| @@ -882,6 +1000,8 @@ var xTextIterGetMarks func(uintptr) uintptr | |||||
| 882 | // | 1000 | // | ||
| 883 | // The returned list is not in any meaningful order. | 1001 | // The returned list is not in any meaningful order. | ||
| 884 | func (x *TextIter) GetMarks() *glib.SList { | 1002 | func (x *TextIter) GetMarks() *glib.SList { | ||
| 1003 | + | core.LazyRegister(&xTextIterGetMarks, "GTK", "gtk_text_iter_get_marks", false) | |||
| 1004 | + | ||||
| 885 | cret := xTextIterGetMarks(x.GoPointer()) | 1005 | cret := xTextIterGetMarks(x.GoPointer()) | ||
| 886 | if cret == 0 { | 1006 | if cret == 0 { | ||
| 887 | return nil | 1007 | return nil | ||
| @@ -898,6 +1018,8 @@ var xTextIterGetOffset func(uintptr) int | |||||
| 898 | // Use [method@Gtk.TextBuffer.get_iter_at_offset] to convert | 1018 | // Use [method@Gtk.TextBuffer.get_iter_at_offset] to convert | ||
| 899 | // an offset back into an iterator. | 1019 | // an offset back into an iterator. | ||
| 900 | func (x *TextIter) GetOffset() int { | 1020 | func (x *TextIter) GetOffset() int { | ||
| 1021 | + | core.LazyRegister(&xTextIterGetOffset, "GTK", "gtk_text_iter_get_offset", false) | |||
| 1022 | + | ||||
| 901 | cret := xTextIterGetOffset(x.GoPointer()) | 1023 | cret := xTextIterGetOffset(x.GoPointer()) | ||
| 902 | return cret | 1024 | return cret | ||
| 903 | } | 1025 | } | ||
| @@ -908,6 +1030,7 @@ var xTextIterGetPaintable func(uintptr) uintptr | |||||
| 908 | // | 1030 | // | ||
| 909 | // Otherwise, %NULL is returned. | 1031 | // Otherwise, %NULL is returned. | ||
| 910 | func (x *TextIter) GetPaintable() *gdk.PaintableBase { | 1032 | func (x *TextIter) GetPaintable() *gdk.PaintableBase { | ||
| 1033 | + | core.LazyRegister(&xTextIterGetPaintable, "GTK", "gtk_text_iter_get_paintable", false) | |||
| 911 | var cls *gdk.PaintableBase | 1034 | var cls *gdk.PaintableBase | ||
| 912 | 1035 | ||||
| 913 | cret := xTextIterGetPaintable(x.GoPointer()) | 1036 | cret := xTextIterGetPaintable(x.GoPointer()) | ||
| @@ -934,6 +1057,8 @@ var xTextIterGetSlice func(uintptr, *TextIter) string | |||||
| 934 | // text as well, so it is not a reliable indicator that a paintable or | 1057 | // text as well, so it is not a reliable indicator that a paintable or | ||
| 935 | // widget is in the buffer. | 1058 | // widget is in the buffer. | ||
| 936 | func (x *TextIter) GetSlice(EndVar *TextIter) string { | 1059 | func (x *TextIter) GetSlice(EndVar *TextIter) string { | ||
| 1060 | + | core.LazyRegister(&xTextIterGetSlice, "GTK", "gtk_text_iter_get_slice", false) | |||
| 1061 | + | ||||
| 937 | cret := xTextIterGetSlice(x.GoPointer(), EndVar) | 1062 | cret := xTextIterGetSlice(x.GoPointer(), EndVar) | ||
| 938 | return cret | 1063 | return cret | ||
| 939 | } | 1064 | } | ||
| @@ -948,6 +1073,8 @@ var xTextIterGetTags func(uintptr) uintptr | |||||
| 948 | // The `GtkTextTag`s in the list don’t have a reference added, | 1073 | // The `GtkTextTag`s in the list don’t have a reference added, | ||
| 949 | // but you have to free the list itself. | 1074 | // but you have to free the list itself. | ||
| 950 | func (x *TextIter) GetTags() *glib.SList { | 1075 | func (x *TextIter) GetTags() *glib.SList { | ||
| 1076 | + | core.LazyRegister(&xTextIterGetTags, "GTK", "gtk_text_iter_get_tags", false) | |||
| 1077 | + | ||||
| 951 | cret := xTextIterGetTags(x.GoPointer()) | 1078 | cret := xTextIterGetTags(x.GoPointer()) | ||
| 952 | if cret == 0 { | 1079 | if cret == 0 { | ||
| 953 | return nil | 1080 | return nil | ||
| @@ -965,6 +1092,8 @@ var xTextIterGetText func(uintptr, *TextIter) string | |||||
| 965 | // byte offsets in the buffer. If you want offsets to correspond, see | 1092 | // byte offsets in the buffer. If you want offsets to correspond, see | ||
| 966 | // [method@Gtk.TextIter.get_slice]. | 1093 | // [method@Gtk.TextIter.get_slice]. | ||
| 967 | func (x *TextIter) GetText(EndVar *TextIter) string { | 1094 | func (x *TextIter) GetText(EndVar *TextIter) string { | ||
| 1095 | + | core.LazyRegister(&xTextIterGetText, "GTK", "gtk_text_iter_get_text", false) | |||
| 1096 | + | ||||
| 968 | cret := xTextIterGetText(x.GoPointer(), EndVar) | 1097 | cret := xTextIterGetText(x.GoPointer(), EndVar) | ||
| 969 | return cret | 1098 | return cret | ||
| 970 | } | 1099 | } | ||
| @@ -980,6 +1109,8 @@ var xTextIterGetToggledTags func(uintptr, bool) uintptr | |||||
| 980 | // a tag is toggled off, then some non-empty range following @iter | 1109 | // a tag is toggled off, then some non-empty range following @iter | ||
| 981 | // does not have the tag applied to it. | 1110 | // does not have the tag applied to it. | ||
| 982 | func (x *TextIter) GetToggledTags(ToggledOnVar bool) *glib.SList { | 1111 | func (x *TextIter) GetToggledTags(ToggledOnVar bool) *glib.SList { | ||
| 1112 | + | core.LazyRegister(&xTextIterGetToggledTags, "GTK", "gtk_text_iter_get_toggled_tags", false) | |||
| 1113 | + | ||||
| 983 | cret := xTextIterGetToggledTags(x.GoPointer(), ToggledOnVar) | 1114 | cret := xTextIterGetToggledTags(x.GoPointer(), ToggledOnVar) | ||
| 984 | if cret == 0 { | 1115 | if cret == 0 { | ||
| 985 | return nil | 1116 | return nil | ||
| @@ -994,6 +1125,8 @@ var xTextIterGetVisibleLineIndex func(uintptr) int | |||||
| 994 | // are invisible due to tags with the “invisible” flag | 1125 | // are invisible due to tags with the “invisible” flag | ||
| 995 | // toggled on. | 1126 | // toggled on. | ||
| 996 | func (x *TextIter) GetVisibleLineIndex() int { | 1127 | func (x *TextIter) GetVisibleLineIndex() int { | ||
| 1128 | + | core.LazyRegister(&xTextIterGetVisibleLineIndex, "GTK", "gtk_text_iter_get_visible_line_index", false) | |||
| 1129 | + | ||||
| 997 | cret := xTextIterGetVisibleLineIndex(x.GoPointer()) | 1130 | cret := xTextIterGetVisibleLineIndex(x.GoPointer()) | ||
| 998 | return cret | 1131 | return cret | ||
| 999 | } | 1132 | } | ||
| @@ -1005,6 +1138,8 @@ var xTextIterGetVisibleLineOffset func(uintptr) int | |||||
| 1005 | // are invisible due to tags with the “invisible” flag | 1138 | // are invisible due to tags with the “invisible” flag | ||
| 1006 | // toggled on. | 1139 | // toggled on. | ||
| 1007 | func (x *TextIter) GetVisibleLineOffset() int { | 1140 | func (x *TextIter) GetVisibleLineOffset() int { | ||
| 1141 | + | core.LazyRegister(&xTextIterGetVisibleLineOffset, "GTK", "gtk_text_iter_get_visible_line_offset", false) | |||
| 1142 | + | ||||
| 1008 | cret := xTextIterGetVisibleLineOffset(x.GoPointer()) | 1143 | cret := xTextIterGetVisibleLineOffset(x.GoPointer()) | ||
| 1009 | return cret | 1144 | return cret | ||
| 1010 | } | 1145 | } | ||
| @@ -1018,6 +1153,8 @@ var xTextIterGetVisibleSlice func(uintptr, *TextIter) string | |||||
| 1018 | // a `GtkTextTag` with the “invisible” attribute turned on has | 1153 | // a `GtkTextTag` with the “invisible” attribute turned on has | ||
| 1019 | // been applied to it. | 1154 | // been applied to it. | ||
| 1020 | func (x *TextIter) GetVisibleSlice(EndVar *TextIter) string { | 1155 | func (x *TextIter) GetVisibleSlice(EndVar *TextIter) string { | ||
| 1156 | + | core.LazyRegister(&xTextIterGetVisibleSlice, "GTK", "gtk_text_iter_get_visible_slice", false) | |||
| 1157 | + | ||||
| 1021 | cret := xTextIterGetVisibleSlice(x.GoPointer(), EndVar) | 1158 | cret := xTextIterGetVisibleSlice(x.GoPointer(), EndVar) | ||
| 1022 | return cret | 1159 | return cret | ||
| 1023 | } | 1160 | } | ||
| @@ -1031,6 +1168,8 @@ var xTextIterGetVisibleText func(uintptr, *TextIter) string | |||||
| 1031 | // a `GtkTextTag` with the “invisible” attribute turned on has | 1168 | // a `GtkTextTag` with the “invisible” attribute turned on has | ||
| 1032 | // been applied to it. | 1169 | // been applied to it. | ||
| 1033 | func (x *TextIter) GetVisibleText(EndVar *TextIter) string { | 1170 | func (x *TextIter) GetVisibleText(EndVar *TextIter) string { | ||
| 1171 | + | core.LazyRegister(&xTextIterGetVisibleText, "GTK", "gtk_text_iter_get_visible_text", false) | |||
| 1172 | + | ||||
| 1034 | cret := xTextIterGetVisibleText(x.GoPointer(), EndVar) | 1173 | cret := xTextIterGetVisibleText(x.GoPointer(), EndVar) | ||
| 1035 | return cret | 1174 | return cret | ||
| 1036 | } | 1175 | } | ||
| @@ -1043,6 +1182,8 @@ var xTextIterHasTag func(uintptr, uintptr) bool | |||||
| 1043 | // See also [method@Gtk.TextIter.starts_tag] and | 1182 | // See also [method@Gtk.TextIter.starts_tag] and | ||
| 1044 | // [method@Gtk.TextIter.ends_tag]. | 1183 | // [method@Gtk.TextIter.ends_tag]. | ||
| 1045 | func (x *TextIter) HasTag(TagVar *TextTag) bool { | 1184 | func (x *TextIter) HasTag(TagVar *TextTag) bool { | ||
| 1185 | + | core.LazyRegister(&xTextIterHasTag, "GTK", "gtk_text_iter_has_tag", false) | |||
| 1186 | + | ||||
| 1046 | cret := xTextIterHasTag(x.GoPointer(), TagVar.GoPointer()) | 1187 | cret := xTextIterHasTag(x.GoPointer(), TagVar.GoPointer()) | ||
| 1047 | return cret | 1188 | return cret | ||
| 1048 | } | 1189 | } | ||
| @@ -1053,6 +1194,8 @@ var xTextIterInRange func(uintptr, *TextIter, *TextIter) bool | |||||
| 1053 | // | 1194 | // | ||
| 1054 | // @start and @end must be in ascending order. | 1195 | // @start and @end must be in ascending order. | ||
| 1055 | func (x *TextIter) InRange(StartVar *TextIter, EndVar *TextIter) bool { | 1196 | func (x *TextIter) InRange(StartVar *TextIter, EndVar *TextIter) bool { | ||
| 1197 | + | core.LazyRegister(&xTextIterInRange, "GTK", "gtk_text_iter_in_range", false) | |||
| 1198 | + | ||||
| 1056 | cret := xTextIterInRange(x.GoPointer(), StartVar, EndVar) | 1199 | cret := xTextIterInRange(x.GoPointer(), StartVar, EndVar) | ||
| 1057 | return cret | 1200 | return cret | ||
| 1058 | } | 1201 | } | ||
| @@ -1066,6 +1209,8 @@ var xTextIterInsideSentence func(uintptr) bool | |||||
| 1066 | // Sentence boundaries are determined by Pango and should be correct | 1209 | // Sentence boundaries are determined by Pango and should be correct | ||
| 1067 | // for nearly any language. | 1210 | // for nearly any language. | ||
| 1068 | func (x *TextIter) InsideSentence() bool { | 1211 | func (x *TextIter) InsideSentence() bool { | ||
| 1212 | + | core.LazyRegister(&xTextIterInsideSentence, "GTK", "gtk_text_iter_inside_sentence", false) | |||
| 1213 | + | ||||
| 1069 | cret := xTextIterInsideSentence(x.GoPointer()) | 1214 | cret := xTextIterInsideSentence(x.GoPointer()) | ||
| 1070 | return cret | 1215 | return cret | ||
| 1071 | } | 1216 | } | ||
| @@ -1082,6 +1227,8 @@ var xTextIterInsideWord func(uintptr) bool | |||||
| 1082 | // then this function returns %TRUE too, since @iter points to | 1227 | // then this function returns %TRUE too, since @iter points to | ||
| 1083 | // the first character of the word. | 1228 | // the first character of the word. | ||
| 1084 | func (x *TextIter) InsideWord() bool { | 1229 | func (x *TextIter) InsideWord() bool { | ||
| 1230 | + | core.LazyRegister(&xTextIterInsideWord, "GTK", "gtk_text_iter_inside_word", false) | |||
| 1231 | + | ||||
| 1085 | cret := xTextIterInsideWord(x.GoPointer()) | 1232 | cret := xTextIterInsideWord(x.GoPointer()) | ||
| 1086 | return cret | 1233 | return cret | ||
| 1087 | } | 1234 | } | ||
| @@ -1094,6 +1241,8 @@ var xTextIterIsCursorPosition func(uintptr) bool | |||||
| 1094 | // [struct@Pango.LogAttr] or [func@Pango.break] for details | 1241 | // [struct@Pango.LogAttr] or [func@Pango.break] for details | ||
| 1095 | // on what a cursor position is. | 1242 | // on what a cursor position is. | ||
| 1096 | func (x *TextIter) IsCursorPosition() bool { | 1243 | func (x *TextIter) IsCursorPosition() bool { | ||
| 1244 | + | core.LazyRegister(&xTextIterIsCursorPosition, "GTK", "gtk_text_iter_is_cursor_position", false) | |||
| 1245 | + | ||||
| 1097 | cret := xTextIterIsCursorPosition(x.GoPointer()) | 1246 | cret := xTextIterIsCursorPosition(x.GoPointer()) | ||
| 1098 | return cret | 1247 | return cret | ||
| 1099 | } | 1248 | } | ||
| @@ -1106,6 +1255,8 @@ var xTextIterIsEnd func(uintptr) bool | |||||
| 1106 | // in the buffer. [method@Gtk.TextIter.is_end] is the most efficient | 1255 | // in the buffer. [method@Gtk.TextIter.is_end] is the most efficient | ||
| 1107 | // way to check whether an iterator is the end iterator. | 1256 | // way to check whether an iterator is the end iterator. | ||
| 1108 | func (x *TextIter) IsEnd() bool { | 1257 | func (x *TextIter) IsEnd() bool { | ||
| 1258 | + | core.LazyRegister(&xTextIterIsEnd, "GTK", "gtk_text_iter_is_end", false) | |||
| 1259 | + | ||||
| 1109 | cret := xTextIterIsEnd(x.GoPointer()) | 1260 | cret := xTextIterIsEnd(x.GoPointer()) | ||
| 1110 | return cret | 1261 | return cret | ||
| 1111 | } | 1262 | } | ||
| @@ -1114,6 +1265,8 @@ var xTextIterIsStart func(uintptr) bool | |||||
| 1114 | 1265 | ||||
| 1115 | // Returns %TRUE if @iter is the first iterator in the buffer. | 1266 | // Returns %TRUE if @iter is the first iterator in the buffer. | ||
| 1116 | func (x *TextIter) IsStart() bool { | 1267 | func (x *TextIter) IsStart() bool { | ||
| 1268 | + | core.LazyRegister(&xTextIterIsStart, "GTK", "gtk_text_iter_is_start", false) | |||
| 1269 | + | ||||
| 1117 | cret := xTextIterIsStart(x.GoPointer()) | 1270 | cret := xTextIterIsStart(x.GoPointer()) | ||
| 1118 | return cret | 1271 | return cret | ||
| 1119 | } | 1272 | } | ||
| @@ -1130,6 +1283,8 @@ var xTextIterOrder func(uintptr, *TextIter) | |||||
| 1130 | // such as [method@Gtk.TextIter.in_range], that expect a | 1283 | // such as [method@Gtk.TextIter.in_range], that expect a | ||
| 1131 | // pre-sorted range. | 1284 | // pre-sorted range. | ||
| 1132 | func (x *TextIter) Order(SecondVar *TextIter) { | 1285 | func (x *TextIter) Order(SecondVar *TextIter) { | ||
| 1286 | + | core.LazyRegister(&xTextIterOrder, "GTK", "gtk_text_iter_order", false) | |||
| 1287 | + | ||||
| 1133 | xTextIterOrder(x.GoPointer(), SecondVar) | 1288 | xTextIterOrder(x.GoPointer(), SecondVar) | ||
| 1134 | } | 1289 | } | ||
| 1135 | 1290 | ||||
| @@ -1140,6 +1295,8 @@ var xTextIterSetLine func(uintptr, int) | |||||
| 1140 | // If @line_number is negative or larger than or equal to the number of lines | 1295 | // If @line_number is negative or larger than or equal to the number of lines | ||
| 1141 | // in the buffer, moves @iter to the start of the last line in the buffer. | 1296 | // in the buffer, moves @iter to the start of the last line in the buffer. | ||
| 1142 | func (x *TextIter) SetLine(LineNumberVar int) { | 1297 | func (x *TextIter) SetLine(LineNumberVar int) { | ||
| 1298 | + | core.LazyRegister(&xTextIterSetLine, "GTK", "gtk_text_iter_set_line", false) | |||
| 1299 | + | ||||
| 1143 | xTextIterSetLine(x.GoPointer(), LineNumberVar) | 1300 | xTextIterSetLine(x.GoPointer(), LineNumberVar) | ||
| 1144 | } | 1301 | } | ||
| 1145 | 1302 | ||||
| @@ -1150,6 +1307,8 @@ var xTextIterSetLineIndex func(uintptr, int) | |||||
| 1150 | // the start of a character, it can’t be in the middle of a UTF-8 | 1307 | // the start of a character, it can’t be in the middle of a UTF-8 | ||
| 1151 | // encoded character. | 1308 | // encoded character. | ||
| 1152 | func (x *TextIter) SetLineIndex(ByteOnLineVar int) { | 1309 | func (x *TextIter) SetLineIndex(ByteOnLineVar int) { | ||
| 1310 | + | core.LazyRegister(&xTextIterSetLineIndex, "GTK", "gtk_text_iter_set_line_index", false) | |||
| 1311 | + | ||||
| 1153 | xTextIterSetLineIndex(x.GoPointer(), ByteOnLineVar) | 1312 | xTextIterSetLineIndex(x.GoPointer(), ByteOnLineVar) | ||
| 1154 | } | 1313 | } | ||
| 1155 | 1314 | ||||
| @@ -1162,6 +1321,8 @@ var xTextIterSetLineOffset func(uintptr, int) | |||||
| 1162 | // next line. See [method@Gtk.TextIter.set_line_index] if you have a byte | 1321 | // next line. See [method@Gtk.TextIter.set_line_index] if you have a byte | ||
| 1163 | // index rather than a character offset. | 1322 | // index rather than a character offset. | ||
| 1164 | func (x *TextIter) SetLineOffset(CharOnLineVar int) { | 1323 | func (x *TextIter) SetLineOffset(CharOnLineVar int) { | ||
| 1324 | + | core.LazyRegister(&xTextIterSetLineOffset, "GTK", "gtk_text_iter_set_line_offset", false) | |||
| 1325 | + | ||||
| 1165 | xTextIterSetLineOffset(x.GoPointer(), CharOnLineVar) | 1326 | xTextIterSetLineOffset(x.GoPointer(), CharOnLineVar) | ||
| 1166 | } | 1327 | } | ||
| 1167 | 1328 | ||||
| @@ -1172,6 +1333,8 @@ var xTextIterSetOffset func(uintptr, int) | |||||
| 1172 | // @char_offset counts from the start | 1333 | // @char_offset counts from the start | ||
| 1173 | // of the entire text buffer, starting with 0. | 1334 | // of the entire text buffer, starting with 0. | ||
| 1174 | func (x *TextIter) SetOffset(CharOffsetVar int) { | 1335 | func (x *TextIter) SetOffset(CharOffsetVar int) { | ||
| 1336 | + | core.LazyRegister(&xTextIterSetOffset, "GTK", "gtk_text_iter_set_offset", false) | |||
| 1337 | + | ||||
| 1175 | xTextIterSetOffset(x.GoPointer(), CharOffsetVar) | 1338 | xTextIterSetOffset(x.GoPointer(), CharOffsetVar) | ||
| 1176 | } | 1339 | } | ||
| 1177 | 1340 | ||||
| @@ -1181,6 +1344,8 @@ var xTextIterSetVisibleLineIndex func(uintptr, int) | |||||
| 1181 | // bytes, i.e. text with a tag making it invisible is not counted | 1344 | // bytes, i.e. text with a tag making it invisible is not counted | ||
| 1182 | // in the index. | 1345 | // in the index. | ||
| 1183 | func (x *TextIter) SetVisibleLineIndex(ByteOnLineVar int) { | 1346 | func (x *TextIter) SetVisibleLineIndex(ByteOnLineVar int) { | ||
| 1347 | + | core.LazyRegister(&xTextIterSetVisibleLineIndex, "GTK", "gtk_text_iter_set_visible_line_index", false) | |||
| 1348 | + | ||||
| 1184 | xTextIterSetVisibleLineIndex(x.GoPointer(), ByteOnLineVar) | 1349 | xTextIterSetVisibleLineIndex(x.GoPointer(), ByteOnLineVar) | ||
| 1185 | } | 1350 | } | ||
| 1186 | 1351 | ||||
| @@ -1190,6 +1355,8 @@ var xTextIterSetVisibleLineOffset func(uintptr, int) | |||||
| 1190 | // characters, i.e. text with a tag making it invisible is not | 1355 | // characters, i.e. text with a tag making it invisible is not | ||
| 1191 | // counted in the offset. | 1356 | // counted in the offset. | ||
| 1192 | func (x *TextIter) SetVisibleLineOffset(CharOnLineVar int) { | 1357 | func (x *TextIter) SetVisibleLineOffset(CharOnLineVar int) { | ||
| 1358 | + | core.LazyRegister(&xTextIterSetVisibleLineOffset, "GTK", "gtk_text_iter_set_visible_line_offset", false) | |||
| 1359 | + | ||||
| 1193 | xTextIterSetVisibleLineOffset(x.GoPointer(), CharOnLineVar) | 1360 | xTextIterSetVisibleLineOffset(x.GoPointer(), CharOnLineVar) | ||
| 1194 | } | 1361 | } | ||
| 1195 | 1362 | ||||
| @@ -1203,6 +1370,8 @@ var xTextIterStartsLine func(uintptr) bool | |||||
| 1203 | // it doesn’t have to compute the offset, it just has to see | 1370 | // it doesn’t have to compute the offset, it just has to see | ||
| 1204 | // whether it’s 0. | 1371 | // whether it’s 0. | ||
| 1205 | func (x *TextIter) StartsLine() bool { | 1372 | func (x *TextIter) StartsLine() bool { | ||
| 1373 | + | core.LazyRegister(&xTextIterStartsLine, "GTK", "gtk_text_iter_starts_line", false) | |||
| 1374 | + | ||||
| 1206 | cret := xTextIterStartsLine(x.GoPointer()) | 1375 | cret := xTextIterStartsLine(x.GoPointer()) | ||
| 1207 | return cret | 1376 | return cret | ||
| 1208 | } | 1377 | } | ||
| @@ -1214,6 +1383,8 @@ var xTextIterStartsSentence func(uintptr) bool | |||||
| 1214 | // Sentence boundaries are determined by Pango and | 1383 | // Sentence boundaries are determined by Pango and | ||
| 1215 | // should be correct for nearly any language. | 1384 | // should be correct for nearly any language. | ||
| 1216 | func (x *TextIter) StartsSentence() bool { | 1385 | func (x *TextIter) StartsSentence() bool { | ||
| 1386 | + | core.LazyRegister(&xTextIterStartsSentence, "GTK", "gtk_text_iter_starts_sentence", false) | |||
| 1387 | + | ||||
| 1217 | cret := xTextIterStartsSentence(x.GoPointer()) | 1388 | cret := xTextIterStartsSentence(x.GoPointer()) | ||
| 1218 | return cret | 1389 | return cret | ||
| 1219 | } | 1390 | } | ||
| @@ -1231,6 +1402,8 @@ var xTextIterStartsTag func(uintptr, uintptr) bool | |||||
| 1231 | // this function returns %TRUE, [method@Gtk.TextIter.has_tag] | 1402 | // this function returns %TRUE, [method@Gtk.TextIter.has_tag] | ||
| 1232 | // will also return %TRUE for the same parameters. | 1403 | // will also return %TRUE for the same parameters. | ||
| 1233 | func (x *TextIter) StartsTag(TagVar *TextTag) bool { | 1404 | func (x *TextIter) StartsTag(TagVar *TextTag) bool { | ||
| 1405 | + | core.LazyRegister(&xTextIterStartsTag, "GTK", "gtk_text_iter_starts_tag", false) | |||
| 1406 | + | ||||
| 1234 | cret := xTextIterStartsTag(x.GoPointer(), TagVar.GoPointer()) | 1407 | cret := xTextIterStartsTag(x.GoPointer(), TagVar.GoPointer()) | ||
| 1235 | return cret | 1408 | return cret | ||
| 1236 | } | 1409 | } | ||
| @@ -1242,6 +1415,8 @@ var xTextIterStartsWord func(uintptr) bool | |||||
| 1242 | // Word breaks are determined by Pango and should be correct | 1415 | // Word breaks are determined by Pango and should be correct | ||
| 1243 | // for nearly any language. | 1416 | // for nearly any language. | ||
| 1244 | func (x *TextIter) StartsWord() bool { | 1417 | func (x *TextIter) StartsWord() bool { | ||
| 1418 | + | core.LazyRegister(&xTextIterStartsWord, "GTK", "gtk_text_iter_starts_word", false) | |||
| 1419 | + | ||||
| 1245 | cret := xTextIterStartsWord(x.GoPointer()) | 1420 | cret := xTextIterStartsWord(x.GoPointer()) | ||
| 1246 | return cret | 1421 | return cret | ||
| 1247 | } | 1422 | } | ||
| @@ -1254,6 +1429,8 @@ var xTextIterTogglesTag func(uintptr, uintptr) bool | |||||
| 1254 | // This is equivalent to (gtk_text_iter_starts_tag() || | 1429 | // This is equivalent to (gtk_text_iter_starts_tag() || | ||
| 1255 | // gtk_text_iter_ends_tag()) | 1430 | // gtk_text_iter_ends_tag()) | ||
| 1256 | func (x *TextIter) TogglesTag(TagVar *TextTag) bool { | 1431 | func (x *TextIter) TogglesTag(TagVar *TextTag) bool { | ||
| 1432 | + | core.LazyRegister(&xTextIterTogglesTag, "GTK", "gtk_text_iter_toggles_tag", false) | |||
| 1433 | + | ||||
| 1257 | cret := xTextIterTogglesTag(x.GoPointer(), TagVar.GoPointer()) | 1434 | cret := xTextIterTogglesTag(x.GoPointer(), TagVar.GoPointer()) | ||
| 1258 | return cret | 1435 | return cret | ||
| 1259 | } | 1436 | } | ||
| @@ -1268,6 +1445,7 @@ type TextSearchFlags int | |||||
| 1268 | var xTextSearchFlagsGLibType func() types.GType | 1445 | var xTextSearchFlagsGLibType func() types.GType | ||
| 1269 | 1446 | ||||
| 1270 | func TextSearchFlagsGLibType() types.GType { | 1447 | func TextSearchFlagsGLibType() types.GType { | ||
| 1448 | + | core.LazyRegister(&xTextSearchFlagsGLibType, "GTK", "gtk_text_search_flags_get_type", false) | |||
| 1271 | return xTextSearchFlagsGLibType() | 1449 | return xTextSearchFlagsGLibType() | ||
| 1272 | } | 1450 | } | ||
| 1273 | 1451 | ||||
| @@ -1287,107 +1465,4 @@ const ( | |||||
| 1287 | func init() { | 1465 | func init() { | ||
| 1288 | core.SetPackageName("GTK", "gtk4") | 1466 | core.SetPackageName("GTK", "gtk4") | ||
| 1289 | core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | 1467 | core.SetSharedLibraries("GTK", []string{"libgtk-4.so.1", "libgtk-4.1.dylib"}) | ||
| 1290 | - | var libs []uintptr | |||
| 1291 | - | for _, libPath := range core.GetPaths("GTK") { | |||
| 1292 | - | lib, err := purego.Dlopen(libPath, purego.RTLD_NOW|purego.RTLD_GLOBAL) | |||
| 1293 | - | if err != nil { | |||
| 1294 | - | panic(err) | |||
| 1295 | - | } | |||
| 1296 | - | libs = append(libs, lib) | |||
| 1297 | - | } | |||
| 1298 | - | ||||
| 1299 | - | core.PuregoSafeRegister(&xTextSearchFlagsGLibType, libs, "gtk_text_search_flags_get_type") | |||
| 1300 | - | ||||
| 1301 | - | core.PuregoSafeRegister(&xTextIterGLibType, libs, "gtk_text_iter_get_type") | |||
| 1302 | - | ||||
| 1303 | - | core.PuregoSafeRegister(&xTextIterAssign, libs, "gtk_text_iter_assign") | |||
| 1304 | - | core.PuregoSafeRegister(&xTextIterBackwardChar, libs, "gtk_text_iter_backward_char") | |||
| 1305 | - | core.PuregoSafeRegister(&xTextIterBackwardChars, libs, "gtk_text_iter_backward_chars") | |||
| 1306 | - | core.PuregoSafeRegister(&xTextIterBackwardCursorPosition, libs, "gtk_text_iter_backward_cursor_position") | |||
| 1307 | - | core.PuregoSafeRegister(&xTextIterBackwardCursorPositions, libs, "gtk_text_iter_backward_cursor_positions") | |||
| 1308 | - | core.PuregoSafeRegister(&xTextIterBackwardFindChar, libs, "gtk_text_iter_backward_find_char") | |||
| 1309 | - | core.PuregoSafeRegister(&xTextIterBackwardLine, libs, "gtk_text_iter_backward_line") | |||
| 1310 | - | core.PuregoSafeRegister(&xTextIterBackwardLines, libs, "gtk_text_iter_backward_lines") | |||
| 1311 | - | core.PuregoSafeRegister(&xTextIterBackwardSearch, libs, "gtk_text_iter_backward_search") | |||
| 1312 | - | core.PuregoSafeRegister(&xTextIterBackwardSentenceStart, libs, "gtk_text_iter_backward_sentence_start") | |||
| 1313 | - | core.PuregoSafeRegister(&xTextIterBackwardSentenceStarts, libs, "gtk_text_iter_backward_sentence_starts") | |||
| 1314 | - | core.PuregoSafeRegister(&xTextIterBackwardToTagToggle, libs, "gtk_text_iter_backward_to_tag_toggle") | |||
| 1315 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleCursorPosition, libs, "gtk_text_iter_backward_visible_cursor_position") | |||
| 1316 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleCursorPositions, libs, "gtk_text_iter_backward_visible_cursor_positions") | |||
| 1317 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleLine, libs, "gtk_text_iter_backward_visible_line") | |||
| 1318 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleLines, libs, "gtk_text_iter_backward_visible_lines") | |||
| 1319 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleWordStart, libs, "gtk_text_iter_backward_visible_word_start") | |||
| 1320 | - | core.PuregoSafeRegister(&xTextIterBackwardVisibleWordStarts, libs, "gtk_text_iter_backward_visible_word_starts") | |||
| 1321 | - | core.PuregoSafeRegister(&xTextIterBackwardWordStart, libs, "gtk_text_iter_backward_word_start") | |||
| 1322 | - | core.PuregoSafeRegister(&xTextIterBackwardWordStarts, libs, "gtk_text_iter_backward_word_starts") | |||
| 1323 | - | core.PuregoSafeRegister(&xTextIterCanInsert, libs, "gtk_text_iter_can_insert") | |||
| 1324 | - | core.PuregoSafeRegister(&xTextIterCompare, libs, "gtk_text_iter_compare") | |||
| 1325 | - | core.PuregoSafeRegister(&xTextIterCopy, libs, "gtk_text_iter_copy") | |||
| 1326 | - | core.PuregoSafeRegister(&xTextIterEditable, libs, "gtk_text_iter_editable") | |||
| 1327 | - | core.PuregoSafeRegister(&xTextIterEndsLine, libs, "gtk_text_iter_ends_line") | |||
| 1328 | - | core.PuregoSafeRegister(&xTextIterEndsSentence, libs, "gtk_text_iter_ends_sentence") | |||
| 1329 | - | core.PuregoSafeRegister(&xTextIterEndsTag, libs, "gtk_text_iter_ends_tag") | |||
| 1330 | - | core.PuregoSafeRegister(&xTextIterEndsWord, libs, "gtk_text_iter_ends_word") | |||
| 1331 | - | core.PuregoSafeRegister(&xTextIterEqual, libs, "gtk_text_iter_equal") | |||
| 1332 | - | core.PuregoSafeRegister(&xTextIterForwardChar, libs, "gtk_text_iter_forward_char") | |||
| 1333 | - | core.PuregoSafeRegister(&xTextIterForwardChars, libs, "gtk_text_iter_forward_chars") | |||
| 1334 | - | core.PuregoSafeRegister(&xTextIterForwardCursorPosition, libs, "gtk_text_iter_forward_cursor_position") | |||
| 1335 | - | core.PuregoSafeRegister(&xTextIterForwardCursorPositions, libs, "gtk_text_iter_forward_cursor_positions") | |||
| 1336 | - | core.PuregoSafeRegister(&xTextIterForwardFindChar, libs, "gtk_text_iter_forward_find_char") | |||
| 1337 | - | core.PuregoSafeRegister(&xTextIterForwardLine, libs, "gtk_text_iter_forward_line") | |||
| 1338 | - | core.PuregoSafeRegister(&xTextIterForwardLines, libs, "gtk_text_iter_forward_lines") | |||
| 1339 | - | core.PuregoSafeRegister(&xTextIterForwardSearch, libs, "gtk_text_iter_forward_search") | |||
| 1340 | - | core.PuregoSafeRegister(&xTextIterForwardSentenceEnd, libs, "gtk_text_iter_forward_sentence_end") | |||
| 1341 | - | core.PuregoSafeRegister(&xTextIterForwardSentenceEnds, libs, "gtk_text_iter_forward_sentence_ends") | |||
| 1342 | - | core.PuregoSafeRegister(&xTextIterForwardToEnd, libs, "gtk_text_iter_forward_to_end") | |||
| 1343 | - | core.PuregoSafeRegister(&xTextIterForwardToLineEnd, libs, "gtk_text_iter_forward_to_line_end") | |||
| 1344 | - | core.PuregoSafeRegister(&xTextIterForwardToTagToggle, libs, "gtk_text_iter_forward_to_tag_toggle") | |||
| 1345 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleCursorPosition, libs, "gtk_text_iter_forward_visible_cursor_position") | |||
| 1346 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleCursorPositions, libs, "gtk_text_iter_forward_visible_cursor_positions") | |||
| 1347 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleLine, libs, "gtk_text_iter_forward_visible_line") | |||
| 1348 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleLines, libs, "gtk_text_iter_forward_visible_lines") | |||
| 1349 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleWordEnd, libs, "gtk_text_iter_forward_visible_word_end") | |||
| 1350 | - | core.PuregoSafeRegister(&xTextIterForwardVisibleWordEnds, libs, "gtk_text_iter_forward_visible_word_ends") | |||
| 1351 | - | core.PuregoSafeRegister(&xTextIterForwardWordEnd, libs, "gtk_text_iter_forward_word_end") | |||
| 1352 | - | core.PuregoSafeRegister(&xTextIterForwardWordEnds, libs, "gtk_text_iter_forward_word_ends") | |||
| 1353 | - | core.PuregoSafeRegister(&xTextIterFree, libs, "gtk_text_iter_free") | |||
| 1354 | - | core.PuregoSafeRegister(&xTextIterGetBuffer, libs, "gtk_text_iter_get_buffer") | |||
| 1355 | - | core.PuregoSafeRegister(&xTextIterGetBytesInLine, libs, "gtk_text_iter_get_bytes_in_line") | |||
| 1356 | - | core.PuregoSafeRegister(&xTextIterGetChar, libs, "gtk_text_iter_get_char") | |||
| 1357 | - | core.PuregoSafeRegister(&xTextIterGetCharsInLine, libs, "gtk_text_iter_get_chars_in_line") | |||
| 1358 | - | core.PuregoSafeRegister(&xTextIterGetChildAnchor, libs, "gtk_text_iter_get_child_anchor") | |||
| 1359 | - | core.PuregoSafeRegister(&xTextIterGetLanguage, libs, "gtk_text_iter_get_language") | |||
| 1360 | - | core.PuregoSafeRegister(&xTextIterGetLine, libs, "gtk_text_iter_get_line") | |||
| 1361 | - | core.PuregoSafeRegister(&xTextIterGetLineIndex, libs, "gtk_text_iter_get_line_index") | |||
| 1362 | - | core.PuregoSafeRegister(&xTextIterGetLineOffset, libs, "gtk_text_iter_get_line_offset") | |||
| 1363 | - | core.PuregoSafeRegister(&xTextIterGetMarks, libs, "gtk_text_iter_get_marks") | |||
| 1364 | - | core.PuregoSafeRegister(&xTextIterGetOffset, libs, "gtk_text_iter_get_offset") | |||
| 1365 | - | core.PuregoSafeRegister(&xTextIterGetPaintable, libs, "gtk_text_iter_get_paintable") | |||
| 1366 | - | core.PuregoSafeRegister(&xTextIterGetSlice, libs, "gtk_text_iter_get_slice") | |||
| 1367 | - | core.PuregoSafeRegister(&xTextIterGetTags, libs, "gtk_text_iter_get_tags") | |||
| 1368 | - | core.PuregoSafeRegister(&xTextIterGetText, libs, "gtk_text_iter_get_text") | |||
| 1369 | - | core.PuregoSafeRegister(&xTextIterGetToggledTags, libs, "gtk_text_iter_get_toggled_tags") | |||
| 1370 | - | core.PuregoSafeRegister(&xTextIterGetVisibleLineIndex, libs, "gtk_text_iter_get_visible_line_index") | |||
| 1371 | - | core.PuregoSafeRegister(&xTextIterGetVisibleLineOffset, libs, "gtk_text_iter_get_visible_line_offset") | |||
| 1372 | - | core.PuregoSafeRegister(&xTextIterGetVisibleSlice, libs, "gtk_text_iter_get_visible_slice") | |||
| 1373 | - | core.PuregoSafeRegister(&xTextIterGetVisibleText, libs, "gtk_text_iter_get_visible_text") | |||
| 1374 | - | core.PuregoSafeRegister(&xTextIterHasTag, libs, "gtk_text_iter_has_tag") | |||
| 1375 | - | core.PuregoSafeRegister(&xTextIterInRange, libs, "gtk_text_iter_in_range") | |||
| 1376 | - | core.PuregoSafeRegister(&xTextIterInsideSentence, libs, "gtk_text_iter_inside_sentence") | |||
| 1377 | - | core.PuregoSafeRegister(&xTextIterInsideWord, libs, "gtk_text_iter_inside_word") | |||
| 1378 | - | core.PuregoSafeRegister(&xTextIterIsCursorPosition, libs, "gtk_text_iter_is_cursor_position") | |||
| 1379 | - | core.PuregoSafeRegister(&xTextIterIsEnd, libs, "gtk_text_iter_is_end") | |||
| 1380 | - | core.PuregoSafeRegister(&xTextIterIsStart, libs, "gtk_text_iter_is_start") | |||
| 1381 | - | core.PuregoSafeRegister(&xTextIterOrder, libs, "gtk_text_iter_order") | |||
| 1382 | - | core.PuregoSafeRegister(&xTextIterSetLine, libs, "gtk_text_iter_set_line") | |||
| 1383 | - | core.PuregoSafeRegister(&xTextIterSetLineIndex, libs, "gtk_text_iter_set_line_index") | |||
| 1384 | - | core.PuregoSafeRegister(&xTextIterSetLineOffset, libs, "gtk_text_iter_set_line_offset") | |||
| 1385 | - | core.PuregoSafeRegister(&xTextIterSetOffset, libs, "gtk_text_iter_set_offset") | |||
| 1386 | - | core.PuregoSafeRegister(&xTextIterSetVisibleLineIndex, libs, "gtk_text_iter_set_visible_line_index") | |||
| 1387 | - | core.PuregoSafeRegister(&xTextIterSetVisibleLineOffset, libs, "gtk_text_iter_set_visible_line_offset") | |||
| 1388 | - | core.PuregoSafeRegister(&xTextIterStartsLine, libs, "gtk_text_iter_starts_line") | |||
| 1389 | - | core.PuregoSafeRegister(&xTextIterStartsSentence, libs, "gtk_text_iter_starts_sentence") | |||
| 1390 | - | core.PuregoSafeRegister(&xTextIterStartsTag, libs, "gtk_text_iter_starts_tag") | |||
| 1391 | - | core.PuregoSafeRegister(&xTextIterStartsWord, libs, "gtk_text_iter_starts_word") | |||
| 1392 | - | core.PuregoSafeRegister(&xTextIterTogglesTag, libs, "gtk_text_iter_toggles_tag") | |||
| 1393 | } | 1468 | } | ||