~eliasnaur/gio

ui/app: drop Event

input.Event is enough if we stretch "input" to mean both input
devices and other events such as profiling events and system
commands.

The pointer and key packages are separate already, so I don't
expanding the meaning is unreasonable.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui,ui/draw: fix decoding of negative integers

Signed-off-by: Elias Naur <mail@eliasnaur.com>
apps/gophers: update gio version

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui: change area ops to use rectangles, not sizes

And then use the more general rectangles to add a buffer around
text.Editor click and scroll area.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
apps/go.mod: update gio version

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/app: (macOS, iOS) ignore SIGPIPE

Work around golang.org/issue/33384

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/layout: restore Flex.Rigid behaviour

Broken by 5f2adf9b2f2290e1ed82e96ca864ede354c25b43.

Clamp to 0 while we're here.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
cmd/gio: (wasm) support command line flags

Strip also DWARF and the symbol table while here.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
apps: update gio

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui: get rid of Inf

It's not worth the special cases. Use a large value where needed
(layout.List, text.Editor...) instead.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
apps/go.mod: update gio

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui: merge Transform into TransformOp

The separate Transform type is not worth its weight.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/app/internal/gpu: add workaround for render corruption

Fixes gio#13

Signed-off-by: Elias Naur <mail@eliasnaur.com>
apps/go.mod: upgrade gio version

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/app: (linux) don't deadlock when failing to create window

Signed-off-by: Elias Naur <mail@eliasnaur.com>
README.md: add link to Gophercon 2019 talk

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/app/internal/gpu: only apply clear optimization for rect clips

Signed-off-by: Elias Naur <mail@eliasnaur.com>
apps: drop init funcs

Now that Gio runs main functions everywhere, init func are no longer
necessary.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/app: call main from Android and iOS

Android can only run c-shared libraries which means that every
Gio program must create its window and event loop from an init
function.

The same applies to iOS but for a more benign reason: the gio tool
builds programs in c-archive mode for iOS and links the binary with
a Objective-C driver.

Allow Gio programs to run off its main function by linking to and
invoking main even from Android libraries and iOS ditto.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
ui/app: (android) block until DataDir is ready

The app data dir is not set until after Go's init functions have
run, which means that DataDir is inherently racy. Avoid that race
by blocking in DataDir until it is set from Java.
In other words, trade a race condition with a deadlock.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
Next