Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
energye
energy
提交
c34bdf5b
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,发现更多精彩内容 >>
提交
c34bdf5b
编写于
1月 08, 2023
作者:
yanghye
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
v2.2.12 Fixed Chinese input and gtk3 issues for linux packagin
上级
78eca831
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
165 addition
and
46 deletion
+165
-46
cef/cef-browser-window.go
cef/cef-browser-window.go
+34
-5
cef/cef-chromium-events.go
cef/cef-chromium-events.go
+41
-22
cef/cef-events-def.go
cef/cef-events-def.go
+9
-1
cef/cef-events.go
cef/cef-events.go
+25
-3
cef/cef-lcl-commponent-tray_windows.go
cef/cef-lcl-commponent-tray_windows.go
+2
-0
cef/cef-proc-def.go
cef/cef-proc-def.go
+8
-0
cef/cef-types.go
cef/cef-types.go
+4
-0
cef/cef-views-framework-browser-window.go
cef/cef-views-framework-browser-window.go
+13
-4
consts/consts.go
consts/consts.go
+14
-0
example/browser-linux/linux.go
example/browser-linux/linux.go
+5
-0
example/browser-linux/resources/index.html
example/browser-linux/resources/index.html
+1
-1
example/mini-browser/src/min-browser.go
example/mini-browser/src/min-browser.go
+8
-10
types/types.go
types/types.go
+1
-0
未找到文件。
cef/cef-browser-window.go
浏览文件 @
c34bdf5b
...
...
@@ -424,12 +424,26 @@ func (m *BrowserEvent) SetOnTitleChange(event ChromiumEventOnTitleChange) {
}
// BrowserEvent.SetOnRenderCompMsg
func
(
m
*
BrowserEvent
)
SetOnRenderCompMsg
(
event
ChromiumEventOn
Render
CompMsg
)
{
func
(
m
*
BrowserEvent
)
SetOnRenderCompMsg
(
event
ChromiumEventOnCompMsg
)
{
if
Args
.
IsMain
()
{
m
.
chromium
.
SetOnRenderCompMsg
(
event
)
}
}
// BrowserEvent.SetOnWidgetCompMsg
func
(
m
*
BrowserEvent
)
SetOnWidgetCompMsg
(
event
ChromiumEventOnCompMsg
)
{
if
Args
.
IsMain
()
{
m
.
chromium
.
SetOnWidgetCompMsg
(
event
)
}
}
// BrowserEvent.SetOnBrowserCompMsg
func
(
m
*
BrowserEvent
)
SetOnBrowserCompMsg
(
event
ChromiumEventOnCompMsg
)
{
if
Args
.
IsMain
()
{
m
.
chromium
.
SetOnBrowserCompMsg
(
event
)
}
}
// BrowserEvent.SetOnRenderProcessTerminated
func
(
m
*
BrowserEvent
)
SetOnRenderProcessTerminated
(
event
ChromiumEventOnRenderProcessTerminated
)
{
if
Args
.
IsMain
()
{
...
...
@@ -580,14 +594,29 @@ func (m *BrowserEvent) SetOnBeforePopup(event ChromiumEventOnBeforePopupForWindo
}
// BrowserEvent.SetOnOpenUrlFromTab
func
(
m
*
BrowserEvent
)
SetOnOpenUrlFromTab
(
event
ChromiumEventOnOpenUrlFromTab
)
{
//func (m *BrowserEvent) SetOnOpenUrlFromTab(event ChromiumEventOnOpenUrlFromTab) {
// if Args.IsMain() {
// m.chromium.SetOnOpenUrlFromTab(event)
// }
//}
// BrowserEvent.SetOnFindResult
func
(
m
*
BrowserEvent
)
SetOnFindResult
(
event
ChromiumEventOnFindResult
)
{
if
Args
.
IsMain
()
{
m
.
chromium
.
SetOn
OpenUrlFromTab
(
event
)
m
.
chromium
.
SetOn
FindResult
(
event
)
}
}
func
(
m
*
BrowserEvent
)
SetOnFindResult
(
event
ChromiumEventOnFindResult
)
{
// BrowserEvent.SetOnDragEnter
func
(
m
*
BrowserEvent
)
SetOnDragEnter
(
event
ChromiumEventOnDragEnter
)
{
if
Args
.
IsMain
()
{
m
.
chromium
.
SetOnFindResult
(
event
)
m
.
chromium
.
SetOnDragEnter
(
event
)
}
}
// BrowserEvent.SetOnDraggableRegionsChanged
func
(
m
*
BrowserEvent
)
SetOnDraggableRegionsChanged
(
event
ChromiumEventOnDraggableRegionsChanged
)
{
if
Args
.
IsMain
()
{
m
.
chromium
.
SetOnDraggableRegionsChanged
(
event
)
}
}
cef/cef-chromium-events.go
浏览文件 @
c34bdf5b
...
...
@@ -36,7 +36,9 @@ type IChromiumEvent interface {
SetOnFullScreenModeChange
(
fn
ChromiumEventOnFullScreenModeChange
)
SetOnKeyEvent
(
fn
ChromiumEventOnKeyEvent
)
SetOnTitleChange
(
fn
ChromiumEventOnTitleChange
)
SetOnRenderCompMsg
(
fn
ChromiumEventOnRenderCompMsg
)
SetOnRenderCompMsg
(
fn
ChromiumEventOnCompMsg
)
SetOnWidgetCompMsg
(
fn
ChromiumEventOnCompMsg
)
SetOnBrowserCompMsg
(
fn
ChromiumEventOnCompMsg
)
SetOnRenderProcessTerminated
(
fn
ChromiumEventOnRenderProcessTerminated
)
SetOnRenderViewReady
(
fn
ChromiumEventOnCefBrowser
)
SetOnScrollOffsetChanged
(
fn
ChromiumEventOnScrollOffsetChanged
)
...
...
@@ -60,6 +62,8 @@ type IChromiumEvent interface {
SetOnMainFrameChanged
(
fn
ChromiumEventOnMainFrameChanged
)
SetOnBeforePopup
(
fn
ChromiumEventOnBeforePopup
)
SetOnOpenUrlFromTab
(
fn
ChromiumEventOnOpenUrlFromTab
)
SetOnDragEnter
(
fn
ChromiumEventOnDragEnter
)
SetOnDraggableRegionsChanged
(
fn
ChromiumEventOnDraggableRegionsChanged
)
}
// Event
...
...
@@ -135,10 +139,18 @@ func (m *TCEFChromium) SetOnTitleChange(fn ChromiumEventOnTitleChange) {
_CEFChromium_SetOnTitleChange
(
m
.
Instance
(),
fn
)
}
func
(
m
*
TCEFChromium
)
SetOnRenderCompMsg
(
fn
ChromiumEventOn
Render
CompMsg
)
{
func
(
m
*
TCEFChromium
)
SetOnRenderCompMsg
(
fn
ChromiumEventOnCompMsg
)
{
_CEFChromium_SetOnRenderCompMsg
(
m
.
Instance
(),
fn
)
}
func
(
m
*
TCEFChromium
)
SetOnWidgetCompMsg
(
fn
ChromiumEventOnCompMsg
)
{
_CEFChromium_SetOnWidgetCompMsg
(
m
.
Instance
(),
fn
)
}
func
(
m
*
TCEFChromium
)
SetOnBrowserCompMsg
(
fn
ChromiumEventOnCompMsg
)
{
_CEFChromium_SetOnBrowserCompMsg
(
m
.
Instance
(),
fn
)
}
func
(
m
*
TCEFChromium
)
SetOnRenderProcessTerminated
(
fn
ChromiumEventOnRenderProcessTerminated
)
{
_CEFChromium_SetOnRenderProcessTerminated
(
m
.
Instance
(),
fn
)
}
...
...
@@ -241,29 +253,16 @@ func (m *TCEFChromium) SetOnOpenUrlFromTab(fn ChromiumEventOnOpenUrlFromTab) {
_CEFChromium_SetOnOpenUrlFromTab
(
m
.
Instance
(),
fn
)
}
// --------TCEFChromium Event proc begin--------
func
(
m
*
TCEFChromium
)
SetOnDragEnter
(
fn
ChromiumEventOnDragEnter
)
{
_CEFChromium_SetOnDragEnter
(
m
.
Instance
(),
fn
)
}
// 解决事件重复
var
chromiumOnEventIdMapping
=
map
[
string
]
uintptr
{}
func
chromiumOnEventNameToId
(
fn
interface
{})
uintptr
{
return
api
.
MakeEventDataPtr
(
fn
)
//var eventId uintptr
//if independentEvent {
// eventId = api.MakeEventDataPtr(fn)
//} else {
// var (
// name = reflect.ValueOf(fn).Type().Name()
// ok bool
// )
// if eventId, ok = chromiumOnEventIdMapping[name]; !ok {
// eventId = api.MakeEventDataPtr(fn)
// chromiumOnEventIdMapping[name] = eventId
// }
//}
//return eventId
func
(
m
*
TCEFChromium
)
SetOnDraggableRegionsChanged
(
fn
ChromiumEventOnDraggableRegionsChanged
)
{
_CEFChromium_SetOnDraggableRegionsChanged
(
m
.
Instance
(),
fn
)
}
// --------TCEFChromium Event proc begin--------
func
_CEFChromium_SetOnAfterCreated
(
instance
uintptr
,
fn
interface
{})
{
Proc
(
internale_CEFChromium_SetOnAfterCreated
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
...
...
@@ -353,6 +352,16 @@ func _CEFChromium_SetOnRenderCompMsg(instance uintptr, fn interface{}) {
Proc
(
internale_CEFChromium_SetOnRenderCompMsg
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
// TCEFChromium _CEFChromium_SetOnWidgetCompMsg
func
_CEFChromium_SetOnWidgetCompMsg
(
instance
uintptr
,
fn
interface
{})
{
Proc
(
internale_CEFChromium_SetOnWidgetCompMsg
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
// TCEFChromium _CEFChromium_SetOnBrowserCompMsg
func
_CEFChromium_SetOnBrowserCompMsg
(
instance
uintptr
,
fn
interface
{})
{
Proc
(
internale_CEFChromium_SetOnBrowserCompMsg
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
// TCEFChromium _CEFChromium_SetOnRenderProcessTerminated
func
_CEFChromium_SetOnRenderProcessTerminated
(
instance
uintptr
,
fn
interface
{})
{
Proc
(
internale_CEFChromium_SetOnRenderProcessTerminated
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
...
...
@@ -468,4 +477,14 @@ func _CEFChromium_SetOnOpenUrlFromTab(instance uintptr, fn interface{}) {
Proc
(
internale_CEFChromium_SetOnOpenUrlFromTab
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
// TCEFChromium _CEFChromium_SetOnDragEnter
func
_CEFChromium_SetOnDragEnter
(
instance
uintptr
,
fn
interface
{})
{
Proc
(
internale_CEFChromium_SetOnDragEnter
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
// TCEFChromium _CEFChromium_SetOnDraggableRegionsChanged
func
_CEFChromium_SetOnDraggableRegionsChanged
(
instance
uintptr
,
fn
interface
{})
{
Proc
(
internale_CEFChromium_SetOnDraggableRegionsChanged
)
.
Call
(
instance
,
api
.
MakeEventDataPtr
(
fn
))
}
//--------TCEFChromium Event proc end--------
cef/cef-events-def.go
浏览文件 @
c34bdf5b
...
...
@@ -33,7 +33,9 @@ type ChromiumEventOnTitleChange func(sender lcl.IObject, browser *ICefBrowser, t
// render
type
ChromiumEventOnRenderProcessTerminated
func
(
sender
lcl
.
IObject
,
browser
*
ICefBrowser
,
status
consts
.
TCefTerminationStatus
)
type
ChromiumEventOnRenderCompMsg
func
(
sender
lcl
.
IObject
,
message
types
.
TMessage
,
aHandled
bool
)
// msg
type
ChromiumEventOnCompMsg
func
(
sender
lcl
.
IObject
,
message
types
.
TMessage
,
aHandled
bool
)
// Event CefBrowse
type
ChromiumEventOnCefBrowser
func
(
sender
lcl
.
IObject
,
browser
*
ICefBrowser
)
...
...
@@ -114,6 +116,12 @@ type ChromiumEventOnBeforePopupForWindowInfo func(sender lcl.IObject, browser *I
// windowParent open url from tab
type
ChromiumEventOnOpenUrlFromTab
func
(
sender
lcl
.
IObject
,
browser
*
ICefBrowser
,
frame
*
ICefFrame
)
// drag
type
ChromiumEventOnDragEnter
func
(
sender
lcl
.
IObject
,
browser
*
ICefBrowser
,
dragData
*
ICefDragData
,
mask
consts
.
TCefDragOperations
,
result
*
bool
)
// DraggableRegionsChanged css [-webkit-app-region: drag/no-drag]
type
ChromiumEventOnDraggableRegionsChanged
func
(
sender
lcl
.
IObject
,
browser
*
ICefBrowser
,
frame
*
ICefFrame
,
regionsCount
t
.
NativeUInt
,
regions
*
TCefDraggableRegions
)
// window event
type
TCloseEvent
func
(
sender
lcl
.
IObject
,
action
*
types
.
TCloseAction
)
bool
type
TNotifyEvent
func
(
sender
lcl
.
IObject
)
bool
...
...
cef/cef-events.go
浏览文件 @
c34bdf5b
...
...
@@ -261,9 +261,9 @@ func init() {
sender
:=
getPtr
(
0
)
browser
:=
&
ICefBrowser
{
browseId
:
int32
(
getVal
(
1
)),
chromium
:
sender
}
fn
.
(
ChromiumEventOnRenderProcessTerminated
)(
lcl
.
AsObject
(
sender
),
browser
,
TCefTerminationStatus
(
getVal
(
2
)))
case
ChromiumEventOn
Render
CompMsg
:
case
ChromiumEventOnCompMsg
:
message
:=
*
(
*
types
.
TMessage
)(
getPtr
(
1
))
fn
.
(
ChromiumEventOn
Render
CompMsg
)(
lcl
.
AsObject
(
getVal
(
0
)),
message
,
api
.
GoBool
(
getVal
(
2
)))
fn
.
(
ChromiumEventOnCompMsg
)(
lcl
.
AsObject
(
getVal
(
0
)),
message
,
api
.
GoBool
(
getVal
(
2
)))
case
ChromiumEventOnCefBrowser
:
sender
:=
getPtr
(
0
)
browser
:=
&
ICefBrowser
{
browseId
:
int32
(
getVal
(
1
)),
chromium
:
sender
}
...
...
@@ -507,7 +507,29 @@ func init() {
*
result
=
fn
.
(
ChromiumEventOnBeforePopup
)(
lcl
.
AsObject
(
sender
),
browser
,
frame
,
beforePInfo
,
client
,
noJavascriptAccess
)
//windowParent open url from tab
case
ChromiumEventOnOpenUrlFromTab
:
//no impl
case
ChromiumEventOnDragEnter
:
sender
:=
getPtr
(
0
)
browser
:=
&
ICefBrowser
{
browseId
:
int32
(
getVal
(
1
)),
chromium
:
sender
}
dragData
:=
&
ICefDragData
{
instance
:
getPtr
(
2
)}
mask
:=
TCefDragOperations
(
getVal
(
3
))
result
:=
(
*
bool
)(
getPtr
(
4
))
fn
.
(
ChromiumEventOnDragEnter
)(
lcl
.
AsObject
(
sender
),
browser
,
dragData
,
mask
,
result
)
case
ChromiumEventOnDraggableRegionsChanged
:
sender
:=
getPtr
(
0
)
browser
:=
&
ICefBrowser
{
browseId
:
int32
(
getVal
(
1
)),
chromium
:
sender
}
tempFrame
:=
(
*
cefFrame
)(
getPtr
(
2
))
frame
:=
&
ICefFrame
{
Browser
:
browser
,
Name
:
api
.
GoStr
(
tempFrame
.
Name
),
Url
:
api
.
GoStr
(
tempFrame
.
Url
),
Id
:
StrToInt64
(
api
.
GoStr
(
tempFrame
.
Identifier
)),
}
regionsCount
:=
t
.
NativeUInt
(
getVal
(
3
))
//regionsPtr := getVal(4)
regions
:=
NewCefDraggableRegions
()
//regions.Append(NewCefDraggableRegion())
fn
.
(
ChromiumEventOnDraggableRegionsChanged
)(
lcl
.
AsObject
(
sender
),
browser
,
frame
,
regionsCount
,
regions
)
default
:
return
false
}
...
...
cef/cef-lcl-commponent-tray_windows.go
浏览文件 @
c34bdf5b
...
...
@@ -12,6 +12,7 @@
package
cef
import
(
"fmt"
.
"github.com/energye/energy/common"
"github.com/energye/energy/common/assetserve"
.
"github.com/energye/energy/consts"
...
...
@@ -171,6 +172,7 @@ func (m *tLCLTrayWindow) createTrayWindow() {
})
m
.
TForm
.
SetOnWndProc
(
func
(
msg
*
types
.
TMessage
)
{
m
.
TForm
.
InheritedWndProc
(
msg
)
fmt
.
Println
(
"msg"
,
msg
)
if
msg
.
Msg
==
6
&&
msg
.
WParam
==
0
&&
msg
.
LParam
==
0
{
QueueAsyncCall
(
func
(
id
int
)
{
if
m
.
isClosing
{
...
...
cef/cef-proc-def.go
浏览文件 @
c34bdf5b
...
...
@@ -194,6 +194,8 @@ func init() {
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnKeyEvent"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnTitleChange"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnRenderCompMsg"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnWidgetCompMsg"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnBrowserCompMsg"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnRenderProcessTerminated"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnRenderViewReady"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnScrollOffsetChanged"
,
0
),
...
...
@@ -217,6 +219,8 @@ func init() {
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnMainFrameChanged"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnBeforePopup"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnOpenUrlFromTab"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnDragEnter"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_SetOnDraggableRegionsChanged"
,
0
),
//TCEFChromium - proc
dllimports
.
NewEnergyImport
(
"CEFChromium_Free"
,
0
),
dllimports
.
NewEnergyImport
(
"CEFChromium_GetHashCode"
,
0
),
...
...
@@ -657,6 +661,8 @@ const (
internale_CEFChromium_SetOnKeyEvent
internale_CEFChromium_SetOnTitleChange
internale_CEFChromium_SetOnRenderCompMsg
internale_CEFChromium_SetOnWidgetCompMsg
internale_CEFChromium_SetOnBrowserCompMsg
internale_CEFChromium_SetOnRenderProcessTerminated
internale_CEFChromium_SetOnRenderViewReady
internale_CEFChromium_SetOnScrollOffsetChanged
...
...
@@ -680,6 +686,8 @@ const (
internale_CEFChromium_SetOnMainFrameChanged
internale_CEFChromium_SetOnBeforePopup
internale_CEFChromium_SetOnOpenUrlFromTab
internale_CEFChromium_SetOnDragEnter
internale_CEFChromium_SetOnDraggableRegionsChanged
//TCEFChromium - proc
internale_CEFChromium_Free
internale_CEFChromium_GetHashCode
...
...
cef/cef-types.go
浏览文件 @
c34bdf5b
...
...
@@ -214,6 +214,10 @@ type ICefClient struct {
instance
unsafe
.
Pointer
}
type
ICefDragData
struct
{
instance
unsafe
.
Pointer
}
func
NewCefDraggableRegion
(
rect
*
TCefRect
,
draggable
bool
)
TCefDraggableRegion
{
return
TCefDraggableRegion
{
Bounds
:
*
rect
,
...
...
cef/cef-views-framework-browser-window.go
浏览文件 @
c34bdf5b
...
...
@@ -9,6 +9,7 @@
package
cef
import
(
"fmt"
"github.com/energye/energy/common"
"github.com/energye/energy/common/assetserve"
"github.com/energye/energy/consts"
...
...
@@ -53,6 +54,7 @@ func NewViewsFrameworkBrowserWindow(chromiumConfig *tCefChromiumConfig, windowPr
}
m
.
chromium
.
SetEnableMultiBrowserMode
(
true
)
m
.
windowComponent
.
SetOnWindowCreated
(
func
(
sender
lcl
.
IObject
,
window
*
ICefWindow
)
{
fmt
.
Println
(
"args-ProcessType"
,
common
.
Args
.
ProcessType
())
if
m
.
chromium
.
CreateBrowserByBrowserViewComponent
(
windowProperty
.
Url
,
m
.
browserViewComponent
)
{
m
.
windowComponent
.
AddChildView
(
m
.
browserViewComponent
)
if
windowProperty
.
Title
!=
""
{
...
...
@@ -68,10 +70,10 @@ func NewViewsFrameworkBrowserWindow(chromiumConfig *tCefChromiumConfig, windowPr
}
m
.
browserViewComponent
.
RequestFocus
()
regions
:=
NewCefDraggableRegions
()
regions
.
Append
(
NewCefDraggableRegion
(
NewCefRect
(
0
,
0
,
600
,
6
00
),
true
))
regions
.
Append
(
NewCefDraggableRegion
(
NewCefRect
(
0
,
0
,
100
,
50
),
false
))
window
.
SetDraggableRegions
(
regions
.
Regions
())
//
regions := NewCefDraggableRegions()
//regions.Append(NewCefDraggableRegion(NewCefRect(0, 0, 600, 1
00), true))
//
regions.Append(NewCefDraggableRegion(NewCefRect(0, 0, 100, 50), false))
//
window.SetDraggableRegions(regions.Regions())
m
.
windowComponent
.
Show
()
if
m
.
doOnWindowCreated
!=
nil
{
m
.
doOnWindowCreated
(
sender
,
window
)
...
...
@@ -93,6 +95,12 @@ func (m *browser) appContextInitialized(app *TCEFApplication) {
vFrameBrowserWindow
.
tray
.
close
()
}
})
vFrameBrowserWindow
.
Chromium
()
.
SetOnLoadEnd
(
func
(
sender
lcl
.
IObject
,
browser
*
ICefBrowser
,
frame
*
ICefFrame
,
httpStatusCode
int32
)
{
regions
:=
NewCefDraggableRegions
()
regions
.
Append
(
NewCefDraggableRegion
(
NewCefRect
(
0
,
0
,
600
,
100
),
true
))
regions
.
Append
(
NewCefDraggableRegion
(
NewCefRect
(
0
,
0
,
100
,
50
),
false
))
vFrameBrowserWindow
.
windowComponent
.
SetDraggableRegions
(
regions
.
Regions
())
})
vFrameBrowserWindow
.
resetWindowPropertyEvent
()
vFrameBrowserWindow
.
SetWindowType
(
consts
.
WT_POPUP_SUB_BROWSER
)
vFrameBrowserWindow
.
windowId
=
BrowserWindow
.
GetNextWindowNum
()
...
...
@@ -110,6 +118,7 @@ func (m *browser) appContextInitialized(app *TCEFApplication) {
}
BrowserWindow
.
mainVFBrowserWindow
=
vFrameBrowserWindow
if
m
.
Config
.
browserWindowOnEventCallback
!=
nil
{
BrowserWindow
.
browserEvent
.
chromium
=
vFrameBrowserWindow
.
chromium
m
.
Config
.
browserWindowOnEventCallback
(
BrowserWindow
.
browserEvent
,
vFrameBrowserWindow
)
}
vFrameBrowserWindow
.
windowComponent
.
CreateTopLevelWindow
()
...
...
consts/consts.go
浏览文件 @
c34bdf5b
...
...
@@ -11,6 +11,7 @@ package consts
import
(
"github.com/energye/energy/types"
"github.com/energye/golcl/energy/homedir"
"math"
"os"
"path/filepath"
)
...
...
@@ -617,3 +618,16 @@ const (
CEF_CTT_NORMAL
=
TCefChromeToolbarType
(
2
)
CEF_CTT_LOCATION
=
TCefChromeToolbarType
(
3
)
)
type
TCefDragOperations
=
types
.
Cardinal
const
(
DRAG_OPERATION_NONE
=
TCefDragOperations
(
0
)
DRAG_OPERATION_COPY
=
TCefDragOperations
(
1
)
DRAG_OPERATION_LINK
=
TCefDragOperations
(
2
)
DRAG_OPERATION_GENERIC
=
TCefDragOperations
(
4
)
DRAG_OPERATION_PRIVATE
=
TCefDragOperations
(
8
)
DRAG_OPERATION_MOVE
=
TCefDragOperations
(
16
)
DRAG_OPERATION_DELETE
=
TCefDragOperations
(
32
)
DRAG_OPERATION_EVERY
=
TCefDragOperations
(
math
.
MaxUint32
)
)
example/browser-linux/linux.go
浏览文件 @
c34bdf5b
...
...
@@ -7,6 +7,7 @@ import (
"github.com/energye/energy/common/assetserve"
"github.com/energye/energy/consts"
"github.com/energye/energy/ipc"
"github.com/energye/energy/types"
"github.com/energye/golcl/lcl"
)
...
...
@@ -30,6 +31,9 @@ func main() {
window
.
SetSize
(
1600
,
900
)
fmt
.
Println
(
"cef.BrowserWindow.SetViewFrameBrowserInit"
,
window
)
fmt
.
Println
(
"LCL"
,
window
.
AsLCLBrowserWindow
(),
"VF"
,
window
.
AsViewsFrameworkBrowserWindow
())
event
.
SetOnDraggableRegionsChanged
(
func
(
sender
lcl
.
IObject
,
browser
*
cef
.
ICefBrowser
,
frame
*
cef
.
ICefFrame
,
regionsCount
types
.
NativeUInt
,
regions
*
cef
.
TCefDraggableRegions
)
{
fmt
.
Println
(
"SetOnDraggableRegionsChanged"
,
regionsCount
)
})
event
.
SetOnBeforeContextMenu
(
func
(
sender
lcl
.
IObject
,
browser
*
cef
.
ICefBrowser
,
frame
*
cef
.
ICefFrame
,
params
*
cef
.
ICefContextMenuParams
,
model
*
cef
.
ICefMenuModel
)
{
model
.
AddCheckItem
(
model
.
CefMis
.
NextCommandId
(),
"测试"
)
})
...
...
@@ -58,6 +62,7 @@ func main() {
//window.HideTitle()
cefTray
(
window
)
window
.
Show
()
fmt
.
Println
(
"SetBrowserInit 结束"
)
})
cef
.
BrowserWindow
.
SetBrowserInitAfter
(
func
(
window
cef
.
IBrowserWindow
)
{
bw
:=
window
.
AsViewsFrameworkBrowserWindow
()
.
BrowserWindow
()
...
...
example/browser-linux/resources/index.html
浏览文件 @
c34bdf5b
...
...
@@ -11,7 +11,7 @@
</script>
</head>
<body
style=
"overflow: hidden;margin: 0px;padding: 0px; "
>
<div
style=
"width: 600px;height:
600px;-webkit-app-region: drag;
border: 1px solid red;"
>
<div
style=
"width: 600px;height:
100px;-webkit-app-region: drag;
border: 1px solid red;"
>
<a
href=
"https://www.baidu.com"
target=
"_blank"
style=
"-webkit-app-region: no-drag"
>
百度
</a>
<a
href=
"/"
target=
"_blank"
>
index
</a>
<a
href=
"https://energy.yanghy.cn"
>
Energy
</a>
...
...
example/mini-browser/src/min-browser.go
浏览文件 @
c34bdf5b
...
...
@@ -7,6 +7,7 @@ import (
"github.com/energye/energy/common"
"github.com/energye/energy/consts"
"github.com/energye/energy/ipc"
t
"github.com/energye/energy/types"
"github.com/energye/golcl/lcl"
"github.com/energye/golcl/lcl/types"
"strings"
...
...
@@ -266,6 +267,12 @@ func AppBrowserInit() {
//自己调用系统的保存对话框获得保存路径
dlSave
:=
lcl
.
NewSaveDialog
(
window
.
BrowserWindow
())
dlSave
.
SetTitle
(
"保存对话框标题"
)
event
.
SetOnWidgetCompMsg
(
func
(
sender
lcl
.
IObject
,
message
types
.
TMessage
,
aHandled
bool
)
{
fmt
.
Println
(
"SetOnWidgetCompMsg"
,
message
)
})
event
.
SetOnDraggableRegionsChanged
(
func
(
sender
lcl
.
IObject
,
browser
*
cef
.
ICefBrowser
,
frame
*
cef
.
ICefFrame
,
regionsCount
t
.
NativeUInt
,
regions
*
cef
.
TCefDraggableRegions
)
{
fmt
.
Println
(
"SetOnDraggableRegionsChanged"
,
regionsCount
)
})
event
.
SetOnBeforeDownload
(
func
(
sender
lcl
.
IObject
,
browser
*
cef
.
ICefBrowser
,
beforeDownloadItem
*
cef
.
DownloadItem
,
suggestedName
string
,
callback
*
cef
.
ICefBeforeDownloadCallback
)
{
fmt
.
Println
(
"OnBeforeDownload:"
,
beforeDownloadItem
,
suggestedName
)
//linux下 需要这样使用 Sync
...
...
@@ -407,17 +414,8 @@ func cefTray(browserWindow cef.IBrowserWindow) {
tray
.
SetTitle
(
"任务管理器里显示的标题"
)
tray
.
SetHint
(
"这里是文字
\n
文字啊"
)
tray
.
SetIconFS
(
"resources/icon.ico"
)
var
s
=
false
tray
.
SetOnClick
(
func
(
sender
lcl
.
IObject
)
{
cef
.
QueueAsyncCall
(
func
(
id
int
)
{
fmt
.
Println
(
"s"
,
s
)
s
=
!
s
if
s
{
browserWindow
.
HideTitle
()
}
else
{
browserWindow
.
ShowTitle
()
}
})
fmt
.
Println
(
"SetOnClick"
,
sender
)
})
tray
.
SetBalloon
(
"气泡标题"
,
"气泡内容"
,
2000
)
ipc
.
IPC
.
Browser
()
.
On
(
"tray-show-balloon"
,
func
(
context
ipc
.
IIPCContext
)
{
...
...
types/types.go
浏览文件 @
c34bdf5b
...
...
@@ -26,6 +26,7 @@ type TCefColor = UInt16
type
Integer
=
Int32
type
NativeUInt
=
UInt32
type
TCefString
=
String
type
Cardinal
=
UInt32
type
TString
struct
{
value
string
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录