Commit Graph

54 Commits

Author SHA1 Message Date
40aa1a788b Renamed some oddly named files 2023-03-16 00:26:54 -04:00
5ca9206f65 DocumentContainer properly adopts children now 2023-03-16 00:24:40 -04:00
639baecee5 Propagator unfocuses children before focusing a new one 2023-03-15 23:49:57 -04:00
Sasha Koshka
c1b3562d10 It compiles 2023-03-15 23:47:13 -04:00
ef325d5161 Found a flaw in the focusing model, rectifying.
Still need to fix on X backend window, that will be in the next
commit.
2023-03-15 17:08:43 -04:00
2f60abdfa3 Core properly sets nil parent 2023-03-15 01:46:58 -04:00
Sasha Koshka
a34e8768ab Redid cores to conform to the new API changes 2023-03-14 18:30:32 -04:00
7ef95cc751 Removed unneeded Container.reflectChildProperties() 2023-03-12 01:57:56 -05:00
3d28ebe4cf Made interfacial changes that will allow for elements to be clipped 2023-03-12 00:17:35 -05:00
51084a6cfe Removed references to flexible from layouts, x backend, core 2023-03-11 00:43:26 -05:00
8e1638e054 I may have fixed the wierd scrollbar rendering
And something else I didn't realize was there
2023-03-09 22:23:09 -05:00
9c12cd7e18 Fixed cringe bug with focus requests being improperly handled 2023-03-04 02:20:48 -05:00
4f6f4e1f1a Me when I make the exact mistake twice 2023-03-04 02:04:47 -05:00
dc5ddfc0bd Propagator no longer segfaults when handling keynav 2023-03-04 01:48:16 -05:00
90ce0d7281 Fixed Propagator.forChildren 2023-03-04 01:29:45 -05:00
165d0835bf Worked Propagator into basic.Container 2023-03-04 01:20:23 -05:00
56e11ae1de Cleaned up the (ChildIterator -> Parent) interface 2023-03-04 01:05:37 -05:00
1d9fb6024d Fully implemented Propagator 2023-03-04 00:57:17 -05:00
c13cdd570d Implemented all focus methods except for HandleFocus
I am dreading this
2023-03-04 00:38:37 -05:00
5af8d7fd97 Implemented keyboard, mouse, theme, and config event propagation 2023-03-04 00:18:27 -05:00
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
0c39c2dd57 Button takes advantage of the rendering hints 2023-02-16 22:41:07 -05:00
dcaf9919e4 Fix thos issue 2023-02-14 02:14:52 -05:00
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
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
6936353516 asuhfdjkshlk 2023-02-08 00:22:40 -05:00
3998d842b1 Half-done migration of basic elements 2023-02-07 11:27:59 -05:00
f8ebe5b1e4 Core provides convenience methods for easy theme access 2023-02-03 18:28:01 -05:00
8d90dbdc92 Element core now deals with Config and Theme objects 2023-02-03 18:07:10 -05:00
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
801c3ef6f5 Hocus focus 2023-01-30 17:01:47 -05:00
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
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
e94e170a04 Half-working container flexibility propagation 2023-01-16 23:34:17 -05:00
d9281b139f Labels may request an expanding height change 2023-01-16 18:04:41 -05:00
7754679710 Selectable elements can now request the selection to be moved 2023-01-16 13:49:32 -05:00
5ca4d0be6e Button now conforms to new API 2023-01-16 00:31:04 -05:00
1378093c12 Improved some documentation wording regarding Core and CoreControl 2023-01-16 00:02:15 -05:00
88f5cf7749 I changed my mind, having core fulfill Element is a bad idea. 2023-01-15 23:58:23 -05:00
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
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