Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
b622b966
energy
项目概览
energye
/
energy
通知
13
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
energy
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b622b966
编写于
12月 30, 2022
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Ready to fix some problems on linux
上级
d95c7a1b
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
19 addition
and
3 deletion
+19
-3
cef/cef-application.go
cef/cef-application.go
+10
-0
cef/cef-browser-window.go
cef/cef-browser-window.go
+8
-1
example/browser-linux/linux.go
example/browser-linux/linux.go
+1
-1
example/browser-tiny/tiny.go
example/browser-tiny/tiny.go
+0
-1
未找到文件。
cef/cef-application.go
浏览文件 @
b622b966
...
...
@@ -23,6 +23,7 @@ import (
//CEF应用对象
type
TCEFApplication
struct
{
instance
unsafe
.
Pointer
cfg
*
tCefApplicationConfig
}
//创建CEF应用程序
...
...
@@ -31,9 +32,18 @@ func NewCEFApplication(cfg *tCefApplicationConfig) *TCEFApplication {
cfg
=
NewApplicationConfig
()
}
cfg
.
framework
()
//linux >= 107.xxx 版本以后,默认不支持GTK2,同时GTK2又无法正常输入中文
//顾强制使用GTK3方式,但又无法正常创建lcl组件到窗口中,该框架只是对浏览器应用做封装
//所以尽量以正常使用为基准
if
IsLinux
()
{
cfg
.
SetExternalMessagePump
(
false
)
cfg
.
SetMultiThreadedMessageLoop
(
false
)
}
m
:=
new
(
TCEFApplication
)
r1
,
_
,
_
:=
Proc
(
internale_CEFApplication_Create
)
.
Call
(
uintptr
(
unsafe
.
Pointer
(
cfg
)))
m
.
instance
=
unsafe
.
Pointer
(
r1
)
m
.
cfg
=
cfg
return
m
}
...
...
cef/cef-browser-window.go
浏览文件 @
b622b966
...
...
@@ -14,6 +14,7 @@ import (
"github.com/energye/energy/ipc"
"github.com/energye/energy/logger"
"github.com/energye/golcl/lcl"
"github.com/energye/golcl/lcl/api"
"sync"
)
...
...
@@ -104,6 +105,8 @@ func Run(cefApp *TCEFApplication) {
cefApp
.
StartSubProcess
()
cefApp
.
Free
()
}
else
{
isMessageLoop
:=
!
api
.
GoBool
(
cefApp
.
cfg
.
externalMessagePump
)
&&
!
api
.
GoBool
(
cefApp
.
cfg
.
multiThreadedMessageLoop
)
b
:=
cefApp
.
StartMainProcess
()
if
b
{
internalBrowserIPCOnEventInit
()
...
...
@@ -114,9 +117,13 @@ func Run(cefApp *TCEFApplication) {
browserProcessStartAfterCallback
(
b
)
}
if
b
{
if
isMessageLoop
{
cefApp
.
RunMessageLoop
()
}
else
{
lcl
.
RunApp
(
&
BrowserWindow
.
mainBrowserWindow
)
}
}
}
}
func
(
m
*
browserWindow
)
OnFormCreate
(
sender
lcl
.
IObject
)
{
...
...
example/browser-linux/linux.go
浏览文件 @
b622b966
...
...
@@ -10,7 +10,7 @@ func main() {
//创建应用
cefApp
:=
cef
.
NewApplication
(
nil
)
//指定一个URL地址,或本地html文件目录
cef
.
BrowserWindow
.
Config
.
DefaultUrl
=
"https://
energy.yanghy.cn
"
cef
.
BrowserWindow
.
Config
.
DefaultUrl
=
"https://
www.baidu.com
"
//运行应用
cef
.
Run
(
cefApp
)
}
example/browser-tiny/tiny.go
浏览文件 @
b622b966
...
...
@@ -20,7 +20,6 @@ func main() {
config
:=
cef
.
NewApplicationConfig
()
config
.
SetMultiThreadedMessageLoop
(
false
)
config
.
SetExternalMessagePump
(
false
)
config
.
SetChromeRuntime
(
false
)
application
:=
cef
.
NewCEFApplication
(
config
)
application
.
SetOnContextCreated
(
func
(
browser
*
cef
.
ICefBrowser
,
frame
*
cef
.
ICefFrame
,
context
*
cef
.
ICefV8Context
)
bool
{
fmt
.
Println
(
"OnContextCreated"
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录