embedder

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2019 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Overview

Package embedder wraps the Flutter Embedder C API to Go.

The package contains some GLFW specific implementation helpers. These may be removed in the future.

If you wish to publish a Flutter application to desktop, you shouldn't use this package directly. Instead, use the go-flutter package. There is NO compatibility promise on this package (embedder). Breaking changes can and will occur.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CountFlutterEngines

func CountFlutterEngines() int

CountFlutterEngines return the number of engines registered in this embedder.

func FlutterEngineFlushPendingTasksNow

func FlutterEngineFlushPendingTasksNow()

FlutterEngineFlushPendingTasksNow flush tasks on a message loop not controlled by the Flutter engine.

deprecated soon.

Types

type FlutterEngine

type FlutterEngine struct {
	// Flutter Engine.
	Engine C.FlutterEngine

	// Necessary callbacks for rendering.
	FMakeCurrent         func(v unsafe.Pointer) bool
	FClearCurrent        func(v unsafe.Pointer) bool
	FPresent             func(v unsafe.Pointer) bool
	FFboCallback         func(v unsafe.Pointer) int32
	FMakeResourceCurrent func(v unsafe.Pointer) bool

	// platform message callback.
	FPlatfromMessage func(message *PlatformMessage)

	// Engine arguments
	AssetsPath  string
	IcuDataPath string
	// contains filtered or unexported fields
}

FlutterEngine corresponds to the C.FlutterEngine with his associated callback's method.

func FlutterEngineByIndex

func FlutterEngineByIndex(index int) (engine *FlutterEngine)

FlutterEngineByIndex returns an existing FlutterEngine by its index in this embedder.

func NewFlutterEngine

func NewFlutterEngine() *FlutterEngine

NewFlutterEngine creates an empty FlutterEngine and assigns it an index for global lookup.

func (*FlutterEngine) Index

func (flu *FlutterEngine) Index() int

Index returns the index of the engine in the global flutterEngines slice

func (*FlutterEngine) Run

func (flu *FlutterEngine) Run(window uintptr, vmArgs []string) Result

Run launches the Flutter Engine in a background thread.

func (*FlutterEngine) SendPlatformMessage

func (flu *FlutterEngine) SendPlatformMessage(msg *PlatformMessage) Result

SendPlatformMessage is used to send a PlatformMessage to the Flutter engine.

func (*FlutterEngine) SendPlatformMessageResponse

func (flu *FlutterEngine) SendPlatformMessageResponse(
	responseTo PlatformMessageResponseHandle,
	encodedMessage []byte,
) Result

SendPlatformMessageResponse is used to send a message to the Flutter side using the correct ResponseHandle.

func (*FlutterEngine) SendPointerEvent

func (flu *FlutterEngine) SendPointerEvent(Event PointerEvent) Result

SendPointerEvent is used to send an PointerEvent to the Flutter engine.

func (*FlutterEngine) SendWindowMetricsEvent

func (flu *FlutterEngine) SendWindowMetricsEvent(Metric WindowMetricsEvent) Result

SendWindowMetricsEvent is used to send a WindowMetricsEvent to the Flutter Engine.

func (*FlutterEngine) Shutdown

func (flu *FlutterEngine) Shutdown() Result

Shutdown stops the Flutter engine.

type PlatformMessage

type PlatformMessage struct {
	Channel string
	Message []byte

	// ResponseHandle is only set when receiving a platform message. // TODO: is comment true?
	ResponseHandle PlatformMessageResponseHandle
}

PlatformMessage represents a binary message sent from or to the flutter application.

func (PlatformMessage) ExpectsReply

func (p PlatformMessage) ExpectsReply() bool

type PlatformMessageResponseHandle

type PlatformMessageResponseHandle uintptr

type PointerEvent

type PointerEvent struct {
	Phase     PointerPhase
	Timestamp int64
	X         float64
	Y         float64
}

PointerEvent represents the position and phase of the mouse at a given time.

type PointerPhase

type PointerPhase int32

PointerPhase corresponds to the C.enum describing phase of the mouse pointer.

const (
	PointerPhaseCancel PointerPhase = C.kCancel
	PointerPhaseUp     PointerPhase = C.kUp
	PointerPhaseDown   PointerPhase = C.kDown
	PointerPhaseMove   PointerPhase = C.kMove
)

Values representing the mouse phase.

type Result

type Result int32

Result corresponds to the C.enum retuned by the shared flutter library whenever we call it.

const (
	ResultSuccess               Result = C.kSuccess
	ResultInvalidLibraryVersion Result = C.kInvalidLibraryVersion
	ResultInvalidArguments      Result = C.kInvalidArguments
)

Values representing the status of an Result.

type WindowMetricsEvent

type WindowMetricsEvent struct {
	Width      int
	Height     int
	PixelRatio float64
}

WindowMetricsEvent represents a window's resolution.

Jump to

Keyboard shortcuts

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