Ai
81 Star 324 Fork 55

不在乎y/govcl

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
wkecallback.go 3.63 KB
一键复制 编辑 原始数据 按行查看 历史
不在乎y 提交于 2021-06-22 00:31 +08:00 . update pkgs/miniblink
// +build windows
package miniblink
import (
"syscall"
"unsafe"
)
var (
_wkeCreateViewCallback = syscall.NewCallbackCDecl(fnwkeCreateViewCallback)
_wkeTitleChangedCallback = syscall.NewCallbackCDecl(fnwkeTitleChangedCallback)
_wkeURLChangedCallback = syscall.NewCallbackCDecl(fnwkeURLChangedCallback)
_wkeNavigationCallback = syscall.NewCallbackCDecl(fnwkeNavigationCallback)
_wkeLoadingFinishCallback = syscall.NewCallbackCDecl(fnwkeLoadingFinishCallback)
_wkeDocumentReadyCallback = syscall.NewCallbackCDecl(fnwkeDocumentReadyCallback)
)
type TOnCreateViewEvent func(sender *TMiniBlinkWebview, navigationType WkeNavigationType, url string, windowFeatures *WkeWindowFeatures, result *WkeWebView)
type TOnTitleChangedEvent func(sender *TMiniBlinkWebview, title string)
type TOnURLChangedEvent func(sender *TMiniBlinkWebview, url string)
type TOnNavigationEvent func(sender *TMiniBlinkWebview, navigationType WkeNavigationType, url string)
type TOnLoadingFinishEvent func(sender *TMiniBlinkWebview, url string, result WkeLoadingResult, failedReason string)
type TOnDocumentReadyEvent func(sender *TMiniBlinkWebview)
func getObj(u uintptr) *TMiniBlinkWebview {
return (*TMiniBlinkWebview)(unsafe.Pointer(u))
}
/// typedef wkeWebView(WKE_CALL_TYPE*wkeCreateViewCallback)(wkeWebView webView, void* param, wkeNavigationType navigationType, const wkeString url, const wkeWindowFeatures* windowFeatures);
func fnwkeCreateViewCallback(webView WkeWebView, param uintptr, navigationType WkeNavigationType, url WkeString, windowFeatures *WkeWindowFeatures) WkeWebView {
ret := webView
if param != 0 {
obj := getObj(param)
proc := obj.OnCreateView
if proc != nil {
proc(obj, navigationType, wkeGetString(url), windowFeatures, &ret)
}
}
return ret
}
/// typedef void(WKE_CALL_TYPE*wkeTitleChangedCallback)(wkeWebView webView, void* param, const wkeString title);
/// export fnwkeTitleChangedCallback
func fnwkeTitleChangedCallback(webView unsafe.Pointer, param unsafe.Pointer, title unsafe.Pointer) uintptr {
if param != nil {
obj := getObj(uintptr(param))
proc := obj.OnTitleChanged
if proc != nil {
proc(obj, wkeGetString(WkeString(title)))
}
}
return 0
}
/// typedef void(WKE_CALL_TYPE*wkeURLChangedCallback)(wkeWebView webView, void* param, const wkeString url);
func fnwkeURLChangedCallback(view WkeWebView, param uintptr, url WkeString) uintptr {
if param != 0 {
obj := getObj(param)
proc := obj.OnURLChanged
if proc != nil {
proc(obj, wkeGetString(url))
}
}
return 1
}
/// typedef bool(WKE_CALL_TYPE*wkeNavigationCallback)(wkeWebView webView, void* param, wkeNavigationType navigationType, wkeString url);
func fnwkeNavigationCallback(view WkeWebView, param uintptr, navigationType WkeNavigationType, url WkeString) uintptr {
if param != 0 {
obj := getObj(param)
proc := obj.OnNavigation
if proc != nil {
proc(obj, navigationType, wkeGetString(url))
}
}
return 1
}
/// typedef void(WKE_CALL_TYPE*wkeLoadingFinishCallback)(wkeWebView webView, void* param, const wkeString url, wkeLoadingResult result, const wkeString failedReason);
func fnwkeLoadingFinishCallback(view WkeWebView, param uintptr, url WkeString, result WkeLoadingResult, failedReason WkeString) uintptr {
if param != 0 {
obj := getObj(param)
proc := obj.OnLoadingFinish
if proc != nil {
proc(obj, wkeGetString(url), result, wkeGetString(failedReason))
}
}
return 1
}
/// typedef void(WKE_CALL_TYPE*wkeDocumentReadyCallback)(wkeWebView webView, void* param);
func fnwkeDocumentReadyCallback(view WkeWebView, param uintptr) uintptr {
if param != 0 {
obj := getObj(param)
proc := obj.OnDocumentReady
if proc != nil {
proc(obj)
}
}
return 1
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/ying32/govcl.git
git@gitee.com:ying32/govcl.git
ying32
govcl
govcl
v2.2.0

搜索帮助