//---------------------------------------- // // 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)) }