예제 #1
0
파일: main_darwin.go 프로젝트: kayon/cef2go
func main() {
	// Executable's directory
	exeDir := cocoa.GetExecutableDir()

	// CEF subprocesses.
	cef.ExecuteProcess(nil)

	// Initialize CEF.
	settings := cef.Settings{}
	settings.CachePath = exeDir + "/webcache"      // Set to empty to disable
	settings.LogSeverity = cef.LOGSEVERITY_DEFAULT // LOGSEVERITY_VERBOSE
	settings.LogFile = exeDir + "/debug.log"
	//settings.LocalesDirPath = cwd + "/cef.framework/Resources"
	//settings.ResourcesDirPath = cwd + "/cef.framework/Resources"
	cef.Initialize(settings)

	// Create Window using Cocoa API.
	cocoa.InitializeApp()
	window := cocoa.CreateWindow("cef2go example", 1024, 768)
	cocoa.ConnectDestroySignal(window, OnDestroyWindow)
	cocoa.ActivateApp()

	// Create browser.
	browserSettings := cef.BrowserSettings{}
	url := "file://" + exeDir + "/example.html"
	cef.CreateBrowser(window, browserSettings, url)

	// CEF loop and shutdown.
	cef.RunMessageLoop()
	cef.Shutdown()
	os.Exit(0)
}
예제 #2
0
파일: main_linux.go 프로젝트: kayon/cef2go
func main() {
	// TODO: It should be executable's directory used
	// rather than working directory.
	cwd, _ := os.Getwd()

	// CEF subprocesses.
	cef.ExecuteProcess(nil)

	// CEF initialize.
	settings := cef.Settings{}
	settings.CachePath = cwd + "/webcache"         // Set to empty to disable
	settings.LogSeverity = cef.LOGSEVERITY_DEFAULT // LOGSEVERITY_VERBOSE
	settings.LogFile = cwd + "/debug.log"
	cef.Initialize(settings)

	// Create GTK window.
	gtk.Initialize()
	window := gtk.CreateWindow("cef2go example", 1024, 768)
	gtk.ConnectDestroySignal(window, OnDestroyWindow)

	// Create browser.
	browserSettings := cef.BrowserSettings{}
	url := "file://" + cwd + "/example.html"
	cef.CreateBrowser(window, browserSettings, url)

	// CEF loop and shutdown.
	cef.RunMessageLoop()
	cef.Shutdown()
	os.Exit(0)
}
예제 #3
0
func main() {
	hInstance, e := wingui.GetModuleHandle(nil)
	if e != nil {
		wingui.AbortErrNo("GetModuleHandle", e)
	}

	cef.ExecuteProcess(unsafe.Pointer(hInstance))

	settings := cef.Settings{}
	settings.CachePath = "webcache"                // Set to empty to disable
	settings.LogSeverity = cef.LOGSEVERITY_DEFAULT // LOGSEVERITY_VERBOSE
	cef.Initialize(settings)

	wndproc := syscall.NewCallback(WndProc)
	Logger.Println("CreateWindow")
	hwnd := wingui.CreateWindow("cef2go example", wndproc)

	browserSettings := cef.BrowserSettings{}
	// TODO: It should be executable's directory used
	// rather than working directory.
	url, _ := os.Getwd()
	url = "file://" + url + "/example.html"
	cef.CreateBrowser(unsafe.Pointer(hwnd), browserSettings, url)

	// It should be enough to call WindowResized after 10ms,
	// though to be sure let's extend it to 100ms.
	time.AfterFunc(time.Millisecond*100, func() {
		cef.WindowResized(unsafe.Pointer(hwnd))
	})

	cef.RunMessageLoop()
	cef.Shutdown()
	os.Exit(0)
}
예제 #4
0
파일: cef_test.go 프로젝트: kayon/cef2go
func Test_ExecuteProcess(t *testing.T) {
	Logger.Println("Test_ExecuteProcess")
	// If called for the browser process it will return
	// immediately with a value of -1
	code := cef.ExecuteProcess(nil)
	Logger.Println("ExecuteProcess returned:", code)
}