示例#1
0
文件: gtk.go 项目: kayon/cef2go
func CreateWindow(title string, width int, height int) unsafe.Pointer {
	Logger.Println("CreateWindow")

	// Create window.
	window := C.gtk_window_new(C.GTK_WINDOW_TOPLEVEL)

	// Default size.
	C.gtk_window_set_default_size(C.ToGtkWindow(window),
		C.gint(width), C.gint(height))

	// Center.
	C.gtk_window_set_position(C.ToGtkWindow(window), C.GTK_WIN_POS_CENTER)

	// Title.
	csTitle := C.CString(title)
	defer C.free(unsafe.Pointer(csTitle))
	C.gtk_window_set_title(C.ToGtkWindow(window), (*C.gchar)(csTitle))

	// TODO: focus
	// g_signal_connect(window, "focus", G_CALLBACK(&HandleFocus), NULL);

	// CEF requires a container. Embedding browser in a top
	// level window fails.
	vbox := C.gtk_vbox_new(0, 0)
	C.gtk_container_add(C.ToGtkContainer(window), vbox)

	// Show.
	C.gtk_widget_show_all(window)

	return unsafe.Pointer(vbox)
}
示例#2
0
文件: gtk.go 项目: evmar/smash
func (w *Window) SetSize(width, height int) {
	C.gtk_window_set_default_size((*C.GtkWindow)(unsafe.Pointer(w.gtkWin)),
		C.gint(width), C.gint(height))
}
示例#3
0
文件: window.go 项目: twstrike/gotk3
// SetDefaultSize is a wrapper around gtk_window_set_default_size().
func (v *Window) SetDefaultSize(width, height int) {
	C.gtk_window_set_default_size(v.native(), C.gint(width), C.gint(height))
}
示例#4
0
文件: window.go 项目: hwch/go-gtk
// void     gtk_window_set_default_size (GtkWindow   *window,
//                                       gint         width,
//                                       gint         height);
func (w *Window) SetDefaultSize(width, height int32) {
	C.gtk_window_set_default_size(w.c, C.gint(width), C.gint(height))
}
示例#5
0
文件: linux_gtk.go 项目: axet/desktop
func gtk_window_set_default_size(p GtkWidget, w int, h int) {
	C.gtk_window_set_default_size(Arg(p), C.int(w), C.int(h))
}