energy/cef/chromium_options.go

223 lines
7.4 KiB
Go
Raw Normal View History

2023-06-19 12:41:52 +08:00
//----------------------------------------
//
// Copyright © yanghy. All Rights Reserved.
//
// Licensed under Apache License Version 2.0, January 2004
//
// https://www.apache.org/licenses/LICENSE-2.0
//
//----------------------------------------
package cef
import (
"github.com/energye/energy/v2/cef/internal/def"
"github.com/energye/energy/v2/common/imports"
"github.com/energye/energy/v2/consts"
"github.com/energye/energy/v2/types"
)
type IChromiumOptions interface {
Javascript() consts.TCefState
JavascriptCloseWindows() consts.TCefState
JavascriptAccessClipboard() consts.TCefState
JavascriptDomPaste() consts.TCefState
ImageLoading() consts.TCefState
ImageShrinkStandaloneToFit() consts.TCefState
TextAreaResize() consts.TCefState
TabToLinks() consts.TCefState
LocalStorage() consts.TCefState
Databases() consts.TCefState
Webgl() consts.TCefState
BackgroundColor() types.TCefColor
AcceptLanguageList() types.String // Remove CEF 118
2023-06-19 12:41:52 +08:00
WindowlessFrameRate() types.Integer
ChromeStatusBubble() consts.TCefState
SetJavascript(value consts.TCefState)
SetJavascriptCloseWindows(value consts.TCefState)
SetJavascriptAccessClipboard(value consts.TCefState)
SetJavascriptDomPaste(value consts.TCefState)
SetImageLoading(value consts.TCefState)
SetImageShrinkStandaloneToFit(value consts.TCefState)
SetTextAreaResize(value consts.TCefState)
SetTabToLinks(value consts.TCefState)
SetLocalStorage(value consts.TCefState)
SetDatabases(value consts.TCefState)
SetWebgl(value consts.TCefState)
SetBackgroundColor(value types.TCefColor)
SetAcceptLanguageList(value types.String) // Remove CEF 118
2023-06-19 12:41:52 +08:00
SetWindowlessFrameRate(value types.Integer)
SetChromeStatusBubble(value consts.TCefState)
ChromeZoomBubble() consts.TCefState
SetChromeZoomBubble(value consts.TCefState)
2023-06-19 12:41:52 +08:00
}
func NewChromiumOptions(chromium IChromium) IChromiumOptions {
return &TChromiumOptions{
javascript: consts.STATE_DEFAULT,
javascriptCloseWindows: consts.STATE_DEFAULT,
javascriptAccessClipboard: consts.STATE_DEFAULT,
javascriptDomPaste: consts.STATE_DEFAULT,
imageLoading: consts.STATE_DEFAULT,
imageShrinkStandaloneToFit: consts.STATE_DEFAULT,
textAreaResize: consts.STATE_DEFAULT,
tabToLinks: consts.STATE_DEFAULT,
localStorage: consts.STATE_DEFAULT,
databases: consts.STATE_DEFAULT,
webgl: consts.STATE_DEFAULT,
backgroundColor: 0,
acceptLanguageList: "", // Remove CEF 118
2023-06-19 12:41:52 +08:00
windowlessFrameRate: consts.CEF_OSR_FRAMERATE_DEFAULT,
chromeStatusBubble: consts.STATE_DEFAULT,
Chromium: chromium,
}
}
func (m *TChromiumOptions) Javascript() consts.TCefState {
return m.javascript
}
func (m *TChromiumOptions) JavascriptCloseWindows() consts.TCefState {
return m.javascriptCloseWindows
}
func (m *TChromiumOptions) JavascriptAccessClipboard() consts.TCefState {
return m.javascriptAccessClipboard
}
func (m *TChromiumOptions) JavascriptDomPaste() consts.TCefState {
return m.javascriptDomPaste
}
func (m *TChromiumOptions) ImageLoading() consts.TCefState {
return m.imageLoading
}
func (m *TChromiumOptions) ImageShrinkStandaloneToFit() consts.TCefState {
return m.imageShrinkStandaloneToFit
}
func (m *TChromiumOptions) TextAreaResize() consts.TCefState {
return m.textAreaResize
}
func (m *TChromiumOptions) TabToLinks() consts.TCefState {
return m.tabToLinks
}
func (m *TChromiumOptions) LocalStorage() consts.TCefState {
return m.localStorage
}
func (m *TChromiumOptions) Databases() consts.TCefState {
return m.databases
}
func (m *TChromiumOptions) Webgl() consts.TCefState {
return m.webgl
}
func (m *TChromiumOptions) BackgroundColor() types.TCefColor {
return m.backgroundColor
}
// AcceptLanguageList Remove CEF 118
2023-06-19 12:41:52 +08:00
func (m *TChromiumOptions) AcceptLanguageList() types.String {
return m.acceptLanguageList
}
func (m *TChromiumOptions) WindowlessFrameRate() types.Integer {
return m.windowlessFrameRate
}
func (m *TChromiumOptions) ChromeStatusBubble() consts.TCefState {
return m.chromeStatusBubble
}
// setting
func (m *TChromiumOptions) SetJavascript(value consts.TCefState) {
m.javascript = value
imports.Proc(def.ChromiumOptions_SetJavascript).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetJavascriptCloseWindows(value consts.TCefState) {
m.javascriptCloseWindows = value
imports.Proc(def.ChromiumOptions_SetJavascriptCloseWindows).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetJavascriptAccessClipboard(value consts.TCefState) {
m.javascriptAccessClipboard = value
imports.Proc(def.ChromiumOptions_SetJavascriptAccessClipboard).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetJavascriptDomPaste(value consts.TCefState) {
m.javascriptDomPaste = value
imports.Proc(def.ChromiumOptions_SetJavascriptDomPaste).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetImageLoading(value consts.TCefState) {
m.imageLoading = value
imports.Proc(def.ChromiumOptions_SetImageLoading).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetImageShrinkStandaloneToFit(value consts.TCefState) {
m.imageShrinkStandaloneToFit = value
imports.Proc(def.ChromiumOptions_SetImageShrinkStandaloneToFit).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetTextAreaResize(value consts.TCefState) {
m.textAreaResize = value
imports.Proc(def.ChromiumOptions_SetTextAreaResize).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetTabToLinks(value consts.TCefState) {
m.tabToLinks = value
imports.Proc(def.ChromiumOptions_SetTabToLinks).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetLocalStorage(value consts.TCefState) {
m.localStorage = value
imports.Proc(def.ChromiumOptions_SetLocalStorage).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetDatabases(value consts.TCefState) {
m.databases = value
imports.Proc(def.ChromiumOptions_SetDatabases).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetWebgl(value consts.TCefState) {
m.webgl = value
imports.Proc(def.ChromiumOptions_SetWebgl).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetBackgroundColor(value types.TCefColor) {
m.backgroundColor = value
imports.Proc(def.ChromiumOptions_SetBackgroundColor).Call(m.Chromium.Instance(), value.ToPtr())
}
// SetAcceptLanguageList Remove CEF 118
2023-06-19 12:41:52 +08:00
func (m *TChromiumOptions) SetAcceptLanguageList(value types.String) {
m.acceptLanguageList = value
imports.Proc(def.ChromiumOptions_SetAcceptLanguageList).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetWindowlessFrameRate(value types.Integer) {
m.windowlessFrameRate = value
imports.Proc(def.ChromiumOptions_SetWindowlessFrameRate).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) SetChromeStatusBubble(value consts.TCefState) {
m.chromeStatusBubble = value
imports.Proc(def.ChromiumOptions_SetChromeStatusBubble).Call(m.Chromium.Instance(), value.ToPtr())
}
func (m *TChromiumOptions) ChromeZoomBubble() consts.TCefState {
r1, _, _ := imports.Proc(def.ChromiumOptions_ChromeZoomBubble).Call(consts.GetValue, m.Chromium.Instance(), 0)
return consts.TCefState(r1)
}
func (m *TChromiumOptions) SetChromeZoomBubble(value consts.TCefState) {
imports.Proc(def.ChromiumOptions_ChromeZoomBubble).Call(consts.SetValue, m.Chromium.Instance(), uintptr(value))
}