Пример #1
0
func FillWindowInfo(windowInfo *C.cef_window_info_t, hwnd unsafe.Pointer) {
	Logger.Println("FillWindowInfo")

	// Setting title isn't required for the CEF inner window.
	// --
	// var windowName *C.char = C.CString("TODO Darwin example")
	// defer C.free(unsafe.Pointer(windowName))
	// C.cef_string_from_utf8(windowName, C.strlen(windowName),
	//        &windowInfo.window_name)

	var bounds C.NSRect = C.GetWindowBounds(hwnd)

	windowInfo.x = C.int(bounds.origin.x)
	windowInfo.y = C.int(bounds.origin.y)
	windowInfo.width = C.int(bounds.size.width)
	windowInfo.height = C.int(bounds.size.height)

	// parent
	windowInfo.parent_view = hwnd
}
Пример #2
0
func CreateBrowser(browserSettings *BrowserSettings, url string, offscreenRendering bool) (browser *Browser) {
	log.Debug("CreateBrowser, url=%s", url)

	// Initialize cef_window_info_t structure.
	var windowInfo *C.cef_window_info_t
	windowInfo = (*C.cef_window_info_t)(C.calloc(1, C.sizeof_cef_window_info_t))
	if offscreenRendering {
		windowInfo.windowless_rendering_enabled = 1
		windowInfo.transparent_painting_enabled = 1
	}
	C.cef_browser_host_create_browser(windowInfo, _ClientHandler, CEFString(url), browserSettings.ToCStruct(), nil)
	b, err := globalLifespanHandler.RegisterAndWaitForBrowser()
	if err != nil {
		log.Error("ERROR %v", err)
		panic("Failed to create a browser")
	}
	b.RenderHandler = &DefaultRenderHandler{b}
	browsers[b.Id] = b
	return b
}
Пример #3
0
func FillWindowInfo(windowInfo *C.cef_window_info_t, hwnd unsafe.Pointer) {
	Logger.Println("FillWindowInfo")
	var rect C.RECT
	C.GetWindowRect((C.HWND)(hwnd),
		(*C.struct_tagRECT)(unsafe.Pointer(&rect)))
	windowInfo.style = C.WS_CHILD | C.WS_CLIPCHILDREN | C.WS_CLIPSIBLINGS |
		C.WS_TABSTOP | C.WS_VISIBLE
	windowInfo.parent_window = (C.HWND)(hwnd)
	windowInfo.x = C.int(rect.left)
	windowInfo.y = C.int(rect.top)
	windowInfo.width = C.int(rect.right - rect.left)
	windowInfo.height = C.int(rect.bottom - rect.top)
}
Пример #4
0
func FillWindowInfo(windowInfo *C.cef_window_info_t, hwnd unsafe.Pointer) {
	Logger.Infof("FillWindowInfo")
	windowInfo.parent_widget = (*C.GtkWidget)(hwnd)
}