energy/cef/chromium_options.go

223 lines
7.4 KiB
Go

//----------------------------------------
//
// 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
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
SetWindowlessFrameRate(value types.Integer)
SetChromeStatusBubble(value consts.TCefState)
ChromeZoomBubble() consts.TCefState
SetChromeZoomBubble(value consts.TCefState)
}
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
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
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
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))
}