~whereswaldon/gio-x

docs: add spdx license headers to new files

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: remove old RightClickArea and respond to active menus

Now the demo places a context area over each shadow and responds to the
active menu by recoloring the shadow. This demonstrates how to determine
which of multiple context areas are active.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: move ContextArea into component package (from menudemo)

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: switch to shadows with radial gradients

These shadows look a lot worse, but are able to run against the
main branch of core gio.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: implement material divider

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
docs: document menu types

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: add icon and hint options

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: ensure menu items are drawn at full width

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: introduce MenuItemStyle to capture basic text items

This implementation has two problems:
- shorter menu items do not highlight their entire width
- using Pressed() to check if they've been clicked results in double-reports

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: prototype right click context menu in demo program

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
doc: rename Card to Surface and document methods

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: adapt shadow type to existing API

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: add shadow/surface implementation developed by Egon Elbre

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
wip: begin implementing shadow as separate type

This commit introduces a type purely for configuring drop shadows
at several elevations. It doesn't work as intended right now
because I'm slightly confused about how to create a radial
gradient with a solid disk at the center, so it will simply
put four circular gradients at the corners of the provided shape
in its current form.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: use elevation to configure card shadow

This commit switches from explicitly sizing the card shadow to
characterizing it with elevation. This more closely matches the
material design spec.

This implementation isn't great though. We still have the problem
of shadows that aren't rounded (while the thing casting them is),
and I can't yet find a means of computing the shadow from the
elevation that I'm happy with.

I think the next step is to focus on computing shadows and to
circle back to everything else once that problem is better
understood.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: hide card drop shadow seams

This commit offsets each edge of a drop shadow panel by
some fractional pixels to better conceal the join. There
is still an artifact there, but now it's a faintly darker
line, rather than a lighter area.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
feat: implement simple menu and card types

This commit adds a Card implementation that can produce a surface
with a drop shadow. The card itself does not yet support rounded corners.

This Card type is then used as the foundation layer for a simple
Menu type that can present a list of widgets on a card.

This implementation is nowhere near complete, and has several problems:
- the drop shadow has artifacts at the corners where the shadow doesn't
  fade all the way to the background color.
- the drop shadow has small seams between the four different panels that
  compose it.
- the card can't itself have rounded corners without exposing an area with
  no shadow underneath.
- the MenuState currently holds the layout funcs for the menu options. I'm
  not actually certain that this is a good design, and I may want to move
  those to be provided at layout time.

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
all: update to latest gio

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
haptic: fix ios build constraints

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
notify: remove dangling golang references to niotify

Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com>
Next