Commit Graph

440 Commits

Author SHA1 Message Date
Elias Naur eaa4efe5af all: add missing licence headers
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-07 17:21:34 +02:00
Elias Naur b3517a365e ui,internal/ops,internal/opconst: move OpsReader to internal ops package
To avoid import cycles, move the op constants to its own package,
internal/opconst.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-07 17:21:26 +02:00
Elias Naur fe20cde393 ui: rename TransformOp.Mul to Multiply and split InvTransform
Multiply is a bit longer but more clear. InvTransform was really
two operations: Invert and Transform.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-07 14:47:14 +02:00
Elias Naur 9be695cc24 ui: fix TransformOp.Offset
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-07 14:20:40 +02:00
Elias Naur f223c7b0c9 cmd/gio: clarify usage summary
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-07 14:01:32 +02:00
Elias Naur ddcbccf041 cmd/gio: simplify -o flag description
Only mention the special case for iOS simulators.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-07 12:37:44 +02:00
Larry Clapp a14e818299 draw: Fix spelling of Bezier
Sometimes it was "bezier", sometimes "beziér".  Capitalize and put
accent on first e.  https://en.wikipedia.org/wiki/Bézier_curve

Signed-off-by: Larry Clapp <larry@theclapp.org>
2019-08-05 19:18:10 +02:00
Elias Naur 276cb104ad apps/go.mod: update gioui.org/ui version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-05 18:10:32 +02:00
Elias Naur 8c3305e88b README.md: add link to FAQ
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-05 16:13:54 +02:00
Elias Naur a27f12faf3 README.md: move license last, tweak text
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-05 15:55:47 +02:00
Elias Naur 9babb1389d README.md: split out installation, integration, contributing sections
Add them to the wiki so README.md ends up less overwhelming.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-05 15:50:39 +02:00
Elias Naur 8472bbc78b ui/app,cmd/gio: move running of main from driver to GioAppDelegate
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-05 15:38:34 +02:00
Elias Naur 2d6111e31a website: add godoc.org redirects for the ui, cmd, apps modules
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-05 13:34:36 +02:00
Larry Clapp 7f82b5d637 README.md: add backticks to giowindow div tag
Wrap backticks around the "div" tag mentioned in the README, so it looks
like this:

    `<div id="giowindow">`

Without the backticks, the markdown renderer renders it as an actual
<div> tag in the output html (without an ID, either).

Signed-off-by: Larry Clapp <larry@theclapp.org>
2019-08-04 20:52:36 +02:00
Elias Naur 15dc714d40 ui/app: add darwin build tag to ios files
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-03 21:25:34 +02:00
Elias Naur 38eb23cc31 apps/go.mod: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 23:16:39 +02:00
Elias Naur e2df2f394a apps/gophers: split main into App and UI and add BenchmarkUI
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 19:52:26 +02:00
Elias Naur 6ce224b89f cmd/gio: don't strip debug info for webassembly builds
The space savings are minimal and we lose function names in the
browser debuggers.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 15:48:27 +02:00
Elias Naur 1c5ceab9c1 cmd/gio: don't add a container div for -target js
THe webassembly backend can create and add it itself.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 09:05:34 +02:00
Elias Naur eee497f22a ui/app: (wasm) create and add container div if one is not provided
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 09:04:00 +02:00
Elias Naur 28bd97f877 ui/app: delete unused field
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 08:59:54 +02:00
Elias Naur e309fb42d4 apps/go.mod: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 08:57:31 +02:00
Elias Naur 0be3492e07 ui/app: (wasm) avoid deadlock from focus changes
showTextInput is called from the window loop in window.go, but
could result in an immediate event which then deadlocks waiting for
the window loop to handle it.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-02 08:54:21 +02:00
Elias Naur 10792f0a00 apps/gophers: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-01 19:00:30 +02:00
Elias Naur 73b1e64209 ui/input: change Queue to return Events one at a time
By returning all events, widgets that might return early from its
event loop might throw away subsequent events. Instead of requiring
those widgets to store the event list, convert input.Queue to step
through the available events one at a time.

Functional revert of 1735d5ced8.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-01 18:56:49 +02:00
Elias Naur b15a32065f ui/app: (wasm) fix typo
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-01 17:48:53 +02:00
Elias Naur eefe3d146d apps/go.mod: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-01 15:31:10 +02:00
Elias Naur cb312c8d32 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>
2019-08-01 15:27:14 +02:00
Elias Naur 69bba3aa4b ui,ui/draw: fix decoding of negative integers
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-01 10:43:17 +02:00
Elias Naur 06cee16c89 apps/gophers: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-08-01 10:09:56 +02:00
Elias Naur bfece0beba 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>
2019-08-01 10:06:19 +02:00
Elias Naur d3df90887e apps/go.mod: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-31 22:54:49 +02:00
Elias Naur 46b9e7b9ab ui/app: (macOS, iOS) ignore SIGPIPE
Work around golang.org/issue/33384

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-31 22:53:30 +02:00
Elias Naur 3d9861011e ui/layout: restore Flex.Rigid behaviour
Broken by 5f2adf9b2f.

Clamp to 0 while we're here.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-30 15:25:23 +02:00
Elias Naur 5bf5f1e64d cmd/gio: (wasm) support command line flags
Strip also DWARF and the symbol table while here.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-29 13:36:12 +02:00
Elias Naur 7182e29d28 apps: update gio
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-29 12:15:27 +02:00
Elias Naur 5f2adf9b2f 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>
2019-07-29 12:12:51 +02:00
Elias Naur 1b684ffab6 apps/go.mod: update gio
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-29 02:53:51 -07:00
Elias Naur 5e1f078b12 ui: merge Transform into TransformOp
The separate Transform type is not worth its weight.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-29 02:50:55 -07:00
Elias Naur d178167c3b ui/app/internal/gpu: add workaround for render corruption
Fixes gio#13

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-29 02:50:50 -07:00
Elias Naur d93925c0c2 apps/go.mod: upgrade gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-26 08:58:01 -07:00
Elias Naur a0d1d93ccf ui/app: (linux) don't deadlock when failing to create window
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-25 17:27:10 -07:00
Elias Naur a2e485b56d README.md: add link to Gophercon 2019 talk
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-25 13:10:49 -07:00
Elias Naur c1128e7f8a ui/app/internal/gpu: only apply clear optimization for rect clips
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-24 20:16:38 -07:00
Elias Naur b45222b457 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>
2019-07-22 11:40:13 +02:00
Elias Naur c080a54038 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>
2019-07-22 11:33:09 +02:00
Elias Naur 4e0d820a5b 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>
2019-07-22 09:37:48 +02:00
Elias Naur 1ee8c08f3b ui/app: make the default window title "Gio", not "Gio program"
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-21 22:02:30 +02:00
Elias Naur f47a38844b apps: update to newest gio
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-21 22:01:29 +02:00
Elias Naur dd081c78b9 ui/app: make DrawEvent optional
It is never a good idea not to draw in response to a DrawEvent, but
let's not hang the program if it doesn't call Window.Draw.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-07-21 21:58:54 +02:00