Sasha Koshka
9c12cd7e18
Fixed cringe bug with focus requests being improperly handled
2023-03-04 02:20:48 -05:00
Sasha Koshka
4f6f4e1f1a
Me when I make the exact mistake twice
2023-03-04 02:04:47 -05:00
Sasha Koshka
dc5ddfc0bd
Propagator no longer segfaults when handling keynav
2023-03-04 01:48:16 -05:00
Sasha Koshka
90ce0d7281
Fixed Propagator.forChildren
2023-03-04 01:29:45 -05:00
Sasha Koshka
165d0835bf
Worked Propagator into basic.Container
2023-03-04 01:20:23 -05:00
Sasha Koshka
56e11ae1de
Cleaned up the (ChildIterator -> Parent) interface
2023-03-04 01:05:37 -05:00
Sasha Koshka
1d9fb6024d
Fully implemented Propagator
2023-03-04 00:57:17 -05:00
Sasha Koshka
c13cdd570d
Implemented all focus methods except for HandleFocus
...
I am dreading this
2023-03-04 00:38:37 -05:00
Sasha Koshka
5af8d7fd97
Implemented keyboard, mouse, theme, and config event propagation
2023-03-04 00:18:27 -05:00
Sasha Koshka
b6eb158964
Tidied up documentation on Propagator
2023-03-03 23:48:10 -05:00
Sasha Koshka
6bb5b2d79c
Created the stub for Propagator
...
Unlike the previous poorly-defined ContainerCore idea, this struct
has one sole responsibility and that is propagating events to
children. There may be another struct called like ChildManager or
something in the future that also abstracts away logic for
adoption, canvas cutting, disowning, layout, etc.
2023-03-03 20:31:30 -05:00
Sasha Koshka
538123dcd5
No that was a bad idea time to do something else
2023-03-03 20:16:36 -05:00
Sasha Koshka
38baa97e76
ContainerCore and ContainerCoreControl WIP
2023-03-02 18:59:08 -05:00
Sasha Koshka
0c39c2dd57
Button takes advantage of the rendering hints
2023-02-16 22:41:07 -05:00
Sasha Koshka
dcaf9919e4
Fix thos issue
2023-02-14 02:14:52 -05:00
Sasha Koshka
8ac5108211
Elements are no longer images
2023-02-13 01:49:33 -05:00
Sasha Koshka
b38232ee24
More documentation!
2023-02-09 15:05:13 -05:00
Sasha Koshka
2cd670f4cd
Improved element documentation
2023-02-09 14:50:24 -05:00
Sasha Koshka
16a0e76145
Removed a bunch of redundant draw calls
...
Most were related to a but with the keynav api
2023-02-09 01:30:14 -05:00
Sasha Koshka
6936353516
asuhfdjkshlk
2023-02-08 00:22:40 -05:00
Sasha Koshka
3998d842b1
Half-done migration of basic elements
2023-02-07 11:27:59 -05:00
Sasha Koshka
f8ebe5b1e4
Core provides convenience methods for easy theme access
2023-02-03 18:28:01 -05:00
Sasha Koshka
8d90dbdc92
Element core now deals with Config and Theme objects
2023-02-03 18:07:10 -05:00
Sasha Koshka
892c74a9da
Updated everything else to match
2023-02-02 01:48:38 -05:00
Sasha Koshka
2f9504b1e4
Fixed wierd inconsistency with element core
2023-01-31 16:18:10 -05:00
Sasha Koshka
537d69b491
Removed Resize, added DrawTo
2023-01-31 14:29:35 -05:00
Sasha Koshka
801c3ef6f5
Hocus focus
2023-01-30 17:01:47 -05:00
Sasha Koshka
9422ff6198
Added a selectability core to reduce complexity of selectables
2023-01-27 17:55:49 -05:00
Sasha Koshka
662d3464e2
Element core now conforms to the new API
2023-01-19 14:44:40 -05:00
Sasha Koshka
dcc7fcb251
Ok thats it next commit im getting rid of parent hooks
2023-01-19 13:07:27 -05:00
Sasha Koshka
375205a4d2
Core no longer naievely constrains canvas resize dimensions
2023-01-17 14:31:06 -05:00
Sasha Koshka
e94e170a04
Half-working container flexibility propagation
2023-01-16 23:34:17 -05:00
Sasha Koshka
d9281b139f
Labels may request an expanding height change
2023-01-16 18:04:41 -05:00
Sasha Koshka
7754679710
Selectable elements can now request the selection to be moved
2023-01-16 13:49:32 -05:00
Sasha Koshka
5ca4d0be6e
Button now conforms to new API
2023-01-16 00:31:04 -05:00
Sasha Koshka
1378093c12
Improved some documentation wording regarding Core and CoreControl
2023-01-16 00:02:15 -05:00
Sasha Koshka
88f5cf7749
I changed my mind, having core fulfill Element is a bad idea.
2023-01-15 23:58:23 -05:00
Sasha Koshka
01d8b64b24
Core now conforms to new API
...
Core actually now fulfills the Element interface on its own which
is pretty cool.
2023-01-15 23:48:41 -05:00
Sasha Koshka
34bf3038ac
Replaced tomo.Image with tomo.Canvas and tomo.Pattern
...
This is the first step in transitioning the API over to the new
design. The new tomo.Canvas interface gives drawing functions
direct access to data buffers and eliminates overhead associated
with calling functions for every pixel.
The entire artist package will be remade around this.
2023-01-14 01:54:57 -05:00
Sasha Koshka
519e0b9c6b
Keynav moment
2023-01-11 22:30:14 -05:00
Sasha Koshka
c2a76fcaf6
Added extended selection capabilities to the API
2023-01-11 15:46:48 -05:00
Sasha Koshka
b1fd021120
dasjkhkljashdkjsha
2023-01-10 11:51:46 -05:00
Sasha Koshka
34848f616b
Moved element core to new package
2023-01-09 21:25:36 -05:00