Commit Graph

731 Commits

Author SHA1 Message Date
Elias Naur 3ec0948bba widget/material: don't scale image when constrained
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-17 14:10:49 +02:00
Elias Naur 862061b363 layout: rename "exp" layout variants to "max"; add "min" variants
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-17 13:55:30 +02:00
Elias Naur 7835d6999f widget/material: don't use translucency for disabled icon buttons
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 21:11:16 +02:00
Elias Naur d7694ae95f layout: add "exp" format layout for expanding both constraints
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 20:51:20 +02:00
Elias Naur 759900902a layout: fix Flex baseline
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 20:35:24 +02:00
Elias Naur b1643e5e2a layout: skip Flex and Stack Layout when scanning format string
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 20:29:17 +02:00
Elias Naur f442512888 layout: more doc fixes for layout.Format
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 18:00:57 +02:00
Elias Naur 80b1af3024 layout: fix godoc.org rendering of layout.Format docs
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 17:59:04 +02:00
Elias Naur c76490956d layout: add support for layout format strings
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 17:44:13 +02:00
Elias Naur 30d0c986b6 example/gophers: correct baseline to be bottom-aligned
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 11:09:26 +02:00
Elias Naur 7f07933eb3 layout: unexport Context.Layout and make it a function
Layout wasn't used outside package layout, so let's not export it.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 11:08:52 +02:00
Elias Naur e2d0b3cfca layout: invert baseline to measure positive distance from bottom
With an inverted baseline, the zero value results in the widget
baseline aligned to its bottom.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 00:49:52 +02:00
Elias Naur 8e3d03f2c4 layout: correct Align baseline
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 00:49:52 +02:00
Elias Naur 4bbad66947 layout: adjust only max constraints on Inset
Only adjust minimums, and insets, if necessary.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-16 00:49:52 +02:00
Elias Naur 8234e8485c example: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 23:35:49 +02:00
Elias Naur 45ccbbe571 layout: expand Flex children
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 23:33:31 +02:00
Elias Naur fd1fa85998 layout: allow Expand children to fill the available area
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 23:33:31 +02:00
Elias Naur 160408ec03 widget/material: use constraint minimums for background fills 2019-10-15 23:33:31 +02:00
Elias Naur 2990ceda69 layout: relax constraints in Stack.Rigid
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 17:59:23 +02:00
Elias Naur 6e44d355cc layout: enforce constraints in Context.Layout
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 17:59:23 +02:00
Elias Naur 1d47f0c5d8 app/internal/window: fall back to OpenGL ES 2 if 3 is unavailable
Systems that only support ES 2 are unlikely to have the required
extensions available. But we'll get a better exit error in that case.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 17:59:23 +02:00
Elias Naur 0783d1939e stack: fix comment
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 15:53:43 +02:00
Elias Naur b2a360098a example: go fmt imports
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 10:10:37 +02:00
Elias Naur 3a440c07c6 text: don't panic on missing default font
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-15 10:07:10 +02:00
Elias Naur 4da6c57d83 op: complete the MacroOp example
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 23:18:49 +02:00
Elias Naur fa00b53e13 op: change signature of Ops.Write
By returning the allocated data buffer, Ops can become an interface
in a future change without forcing operations to allocate.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 23:10:35 +02:00
Elias Naur 88208891de op/paint,app/internal/gpu: post-process paths during GPU upload
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 22:51:52 +02:00
Elias Naur d9100b506f op,op/paint: remove aux awareness from Ops
Aux data is now entirely confined to the writers (Path) and the
ops Reader parser.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 20:20:56 +02:00
Elias Naur 41eb3807f7 op: assume aux ops are always wrapped by a macro
Shaves off a length, and prepares for further simplification.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 20:02:14 +02:00
Elias Naur f5e93206f6 example/gophers: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 18:20:07 +02:00
Elias Naur 8da2c9dbb4 widget/material: change Image to take an ImageOp, not an image.Image
Using ImageOps directly avoids the image copy by NewImageOp.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 18:17:30 +02:00
Elias Naur 74407a50d5 op/paint: add NewImageOp, unexport ImageOp fields
With public ImageOp fields there was no way to mark an image.Image as modified.
Replace them with NewImageOp that always make a copy, and use the opportunity
to ensure the copy is ready to upload to a GPU texture.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 18:06:50 +02:00
Elias Naur 2e22edbb99 widget/material: remove unused function
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 17:41:32 +02:00
Elias Naur 3a27bcea2e example: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 16:44:02 +02:00
Elias Naur fc521ec1ff cmd/gogio: update gio version
The path of the supporting Android Java files and iOS header file
moved.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 16:43:21 +02:00
Elias Naur b30bf3cef8 app/internal/log: extract log setup to separate package
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 16:39:32 +02:00
Elias Naur 10c1b2cb8d app,internal/window: extract native window code to separate package
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 16:39:32 +02:00
Elias Naur 36d1cd90f2 app,io/system: extract system events to separate package
Package app is the only package that depends on native libraries and
Cgo. Minimize its API, thereby minimizing Gio clients' dependency on
it. In the future, a headless, testing or remote "Window" should be
very easy to replace app.Window.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 16:20:20 +02:00
Elias Naur 641656b307 example/kitchen: use a different color for the disabled button
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 15:08:26 +02:00
Elias Naur 0559393633 widget/material: don't use transparency for disabled buttons
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 15:08:13 +02:00
Elias Naur 4475bf10bf app: disable darwin SIGPIPE workaround from Go 1.14
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 14:21:02 +02:00
Elias Naur 52fedc27a2 app/internal/xkb: extra XKB interface to internal package
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-14 11:50:44 +02:00
Elias Naur 7672c08f46 example: update gio version
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-13 18:29:39 +02:00
Elias Naur 8cd4c2e5de widget/material: use font.Default
And simplify NewTheme to take no arguments.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-13 18:23:39 +02:00
Elias Naur 445d85efe0 font/gofont: add Go font convenience package
To use the Go font in a Gio program, import it:

import _ "gioui.org/font/gofont"

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-13 18:23:30 +02:00
Elias Naur edf0d8ef99 font/opentype,text/opentype: move package
Opentype parsing, layout and shaping will be used by subpackages to package
font. Move the opentype package accordingly.

Remove the Must helper function; programs will no longer use the opentype
package in the normal case.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-13 18:23:30 +02:00
Elias Naur 40822ef26b font: add a central font registry
Package font holds a singleton text.Shaper for general use. Subpackages
call Register to add fonts to the registry.

The intention is that programs can add a typeface by importing a package:

import _ "gioui.org/font/gofont"

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-13 18:23:30 +02:00
Elias Naur d33461dd80 text: match Bold weight to CSS, add Variant and Typeface 2019-10-13 18:23:30 +02:00
Elias Naur 481cca5781 text: use the first registered font as the default in Shaper
Before this change, the default font was the one registered with an empty
Typeface.

We're about to use the correct names for fonts, so change Shaper to
fallback to the first registered typeface instead.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-13 18:23:30 +02:00
Elias Naur 5a82fc9267 example/kitchen: place buttons on the same row
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-10-12 16:52:00 +02:00