VT_Player/third_party/gotk3/glib/gmain_context.go
Stu d4efa91ce1 Add vendored gotk3 GTK3 bindings for Go
Vendor gotk3 library to ensure consistent GTK3 bindings across
environments and simplify dependency management.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-15 05:40:43 -05:00

66 lines
1.6 KiB
Go

package glib
// #include <gio/gio.h>
// #include <glib.h>
// #include <glib-object.h>
// #include "glib.go.h"
import "C"
type MainContext C.GMainContext
// native returns a pointer to the underlying GMainContext.
func (v *MainContext) native() *C.GMainContext {
if v == nil {
return nil
}
return (*C.GMainContext)(v)
}
// MainContextDefault is a wrapper around g_main_context_default().
func MainContextDefault() *MainContext {
c := C.g_main_context_default()
if c == nil {
return nil
}
return (*MainContext)(c)
}
// Iteration is a wrapper around g_main_context_iteration()
func (v *MainContext) Iteration(mayBlock bool) bool {
return gobool(C.g_main_context_iteration(v.native(), gbool(mayBlock)))
}
// Pending is a wrapper around g_main_context_pending()
func (v *MainContext) Pending() bool {
return gobool(C.g_main_context_pending(v.native()))
}
// MainDepth is a wrapper around g_main_depth().
func MainDepth() int {
return int(C.g_main_depth())
}
// FindSourceById is a wrapper around g_main_context_find_source_by_id()
func (v *MainContext) FindSourceById(hdlSrc SourceHandle) *Source {
c := C.g_main_context_find_source_by_id(v.native(), C.guint(hdlSrc))
if c == nil {
return nil
}
return (*Source)(c)
}
// Acquire is a wrapper around g_main_context_acquire().
func (v *MainContext) Acquire() bool {
return gobool(C.g_main_context_acquire(v.native()))
}
// Release is a wrapper around g_main_context_release().
func (v *MainContext) Release() {
C.g_main_context_release(v.native())
}
// IsOwner is a wrapper around g_main_context_is_owner().
func (v *MainContext) IsOwner() bool {
return gobool(C.g_main_context_is_owner(v.native()))
}