gowebview2

package module
v0.0.0-...-18136f4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 20, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NuwaAppModelRun

func NuwaAppModelRun(httpEngine HttpEngine, w, h int) error

Types

type AppMode

type AppMode struct {
	// contains filtered or unexported fields
}

func NewAppMode

func NewAppMode(loadAppFilename string) (*AppMode, error)

func NewAppModeWithMemory

func NewAppModeWithMemory(fs fs.FS, sub string) (*AppMode, error)

func (*AppMode) InitEnvironment

func (f *AppMode) InitEnvironment(w WebView, args map[string]interface{})

func (*AppMode) Run

func (f *AppMode) Run(args AppModeConfig)

func (*AppMode) SetStorage

func (f *AppMode) SetStorage(storage StorageInfterface)

type AppModeConfig

type AppModeConfig struct {
	Width          uint
	Height         uint
	Title          string
	Debug          bool
	InitJsSrc      string
	InitJsFiles    []string
	Hint           string
	GlobalVariable map[string]interface{}
}

type FileStorage

type FileStorage struct {
	// contains filtered or unexported fields
}

func NewFileStorage

func NewFileStorage(filename string) *FileStorage

func (*FileStorage) Clear

func (f *FileStorage) Clear()

func (*FileStorage) GetItem

func (f *FileStorage) GetItem(key string) string

func (*FileStorage) RemoveItem

func (f *FileStorage) RemoveItem(key string)

func (*FileStorage) SetItem

func (f *FileStorage) SetItem(key string, value string)

type Hint

type Hint int

Hint is used to configure window sizing and resizing behavior.

const (
	// HintNone specifies that width and height are default size
	HintNone Hint = iota

	// HintFixed specifies that window size can not be changed by a user
	HintFixed

	// HintMin specifies that width and height are minimum bounds
	HintMin

	// HintMax specifies that width and height are maximum bounds
	HintMax
)

type HttpEngine

type HttpEngine interface {
	Run()
	SetPort(port string)
	Close()
}

type StorageInfterface

type StorageInfterface interface {
	GetItem(key string) string
	SetItem(key string, value string)
	RemoveItem(key string)
	Clear()
}

type WebView

type WebView interface {

	// Run runs the main loop until it's terminated. After this function exits -
	// you must destroy the webview.
	Run()

	// Terminate stops the main loop. It is safe to call this function from
	// a background thread.
	Terminate()

	// Dispatch posts a function to be executed on the main thread. You normally
	// do not need to call this function, unless you want to tweak the native
	// window.
	Dispatch(f func())

	// Destroy destroys a webview and closes the native window.
	Destroy()

	// Window returns a native window handle pointer. When using GTK backend the
	// pointer is GtkWindow pointer, when using Cocoa backend the pointer is
	// NSWindow pointer, when using Win32 backend the pointer is HWND pointer.
	Window() unsafe.Pointer

	// SetTitle updates the title of the native window. Must be called from the UI
	// thread.
	SetTitle(title string)

	// SetSize updates native window size. See Hint constants.
	SetSize(w int, h int, hint Hint)

	// Navigate navigates webview to the given URL. URL may be a data URI, i.e.
	// "data:text/text,<html>...</html>". It is often ok not to url-encode it
	// properly, webview will re-encode it for you.
	Navigate(url string)

	// SetHtml sets the webview HTML directly.
	// The origin of the page is `about:blank`.
	SetHtml(html string)

	// Init injects JavaScript code at the initialization of the new page. Every
	// time the webview will open a the new page - this initialization code will
	// be executed. It is guaranteed that code is executed before window.onload.
	Init(js string)

	// Eval evaluates arbitrary JavaScript code. Evaluation happens asynchronously,
	// also the result of the expression is ignored. Use RPC bindings if you want
	// to receive notifications about the results of the evaluation.
	Eval(js string)

	// Bind binds a callback function so that it will appear under the given name
	// as a global JavaScript function. Internally it uses webview_init().
	// Callback receives a request string and a user-provided argument pointer.
	// Request string is a JSON array of all the arguments passed to the
	// JavaScript function.
	//
	// f must be a function
	// f must return either value and error or just error
	Bind(name string, f interface{}) error
}

WebView is the interface for the webview.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL