Commit Graph
398 Commits
Author SHA1 Message Date
sashakoshka 4b788dd783 Horizontal layout does not use integer math anymore
Instead it uses fixed.Int26_6. Could have used floats but then we
would need a new point datatype and we already have utility
functions for fixed point math
2023-03-16 20:55:11 -04:00
sashakoshka cdf805dadc Implemented all text alignment methods 2023-03-16 20:24:33 -04:00
Sasha Koshka 6258c77f86 Added an align method to label 2023-03-16 15:58:26 -04:00
Sasha Koshka b90ffeb4fd X backend window disowns child before closing
This prevents elements from drawing to a closed window (causing
xgb to print an error)
2023-03-16 14:42:18 -04:00
Sasha Koshka a4ef28cdd0 Moved containers into a separate package 2023-03-16 14:22:56 -04:00
sashakoshka c55925d152 Added a package that just links all backends 2023-03-16 01:14:39 -04:00
sashakoshka 11b680db63 Added package summaries to more packages 2023-03-16 01:10:59 -04:00
sashakoshka d57db6327d Merge branch 'main' of git.tebibyte.media:sashakoshka/tomo 2023-03-16 00:45:50 -04:00
sashakoshka 0d8d2a0190 Cleaned up pattern documentation a bit 2023-03-16 00:45:33 -04:00
sashakoshka 6ee3014fda Merge pull request 'robust-parenting' (#12) from robust-parenting into main
Reviewed-on: sashakoshka/tomo#12
2023-03-16 04:34:08 +00:00
sashakoshka 0ebf0bc814 Raycaster example now works 2023-03-16 00:30:59 -04:00
sashakoshka 40aa1a788b Renamed some oddly named files 2023-03-16 00:26:54 -04:00
sashakoshka bffdb000ed Piano element handles motion events 2023-03-16 00:25:36 -04:00
sashakoshka 5ca9206f65 DocumentContainer properly adopts children now 2023-03-16 00:24:40 -04:00
sashakoshka 1239f4e03d Made DocumentContainer satisfy FlexibleParent 2023-03-15 23:57:22 -04:00
sashakoshka 8aaa017902 Re-added OnScrollBoundsChange methods because they are useful 2023-03-15 23:56:00 -04:00
sashakoshka 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
sashakoshka 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
sashakoshka 2f60abdfa3 Core properly sets nil parent 2023-03-15 01:46:58 -04:00
sashakoshka 1a66224648 X backend window sets itself as parent (oops) 2023-03-15 01:43:32 -04:00
sashakoshka 275e113e3b Fun elements now conform to new API 2023-03-15 01:42:07 -04:00
sashakoshka 0015820fac Basic elements now conform to new API 2023-03-15 01:41:23 -04:00
sashakoshka f4799ba03d Testing elements now conform to new API 2023-03-14 19:41:36 -04:00
Sasha Koshka 14ad35d85c X backend now conforms to new API changes 2023-03-14 18:54:24 -04:00
Sasha Koshka a34e8768ab Redid cores to conform to the new API changes 2023-03-14 18:30:32 -04:00
sashakoshka b08cbea320 Overhauled the element interfaces
Instead of the previous parenting model where parents would set
child callbacks during adoption by probing for callback setters,
child elements will instead probe their parents for notify methods
listed in the standard parent interfaces. This means that an
element cannot be half-parented to something, nor can it be
parented to two things at once. Parent elements may themselves
fulfill these interfaces, or they can pass a hook that fulfills
them to the child.
2023-03-14 17:08:39 -04:00
sashakoshka 9d84c50db3 Merge pull request 'flexible-elements-were-a-mistake' (#11) from flexible-elements-were-a-mistake into main
Reviewed-on: sashakoshka/tomo#11
2023-03-14 03:37:58 +00:00
sashakoshka 99e029ae09 TextBox no longer aggressively requests focus 2023-03-13 22:25:57 -04:00
sashakoshka 5149c27cf3 Added untested label collapse 2023-03-13 17:10:27 -04:00
sashakoshka 7ef95cc751 Removed unneeded Container.reflectChildProperties() 2023-03-12 01:57:56 -05:00
sashakoshka b09994973c List and Piano do shattering properly 2023-03-12 01:47:58 -05:00
sashakoshka 37048c6759 Raycaster runs? 2023-03-12 01:33:05 -05:00
sashakoshka be45f7ad71 Fixed some artist bugs 2023-03-12 01:23:20 -05:00
sashakoshka c45268d8c1 Testing elements now conform to the new API 2023-03-12 01:19:40 -05:00
sashakoshka 92e5822185 Basic and fun elements conform to new API change 2023-03-12 01:15:36 -05:00
sashakoshka d31aee1ba8 X backend now follows API 2023-03-12 01:06:12 -05:00
sashakoshka 0f8affd2b2 Made similar changes to the Pattern interface and all of artist 2023-03-12 01:04:06 -05:00
sashakoshka 3d28ebe4cf Made interfacial changes that will allow for elements to be clipped 2023-03-12 00:17:35 -05:00
sashakoshka 5afbc0e713 DocumentContainer constrains its scroll position on resize 2023-03-11 20:04:08 -05:00
sashakoshka b7a7800370 DocumentContainer has a proper minimum width 2023-03-11 19:25:35 -05:00
sashakoshka 15fa3b2497 Quelled some of the strangeness 2023-03-11 18:27:16 -05:00
sashakoshka 081b005679 Added a somewhat buggy DocumentContainer 2023-03-11 18:00:29 -05:00
sashakoshka 1be769526d Removed references to flexible from containers 2023-03-11 00:48:15 -05:00
sashakoshka 51084a6cfe Removed references to flexible from layouts, x backend, core 2023-03-11 00:43:26 -05:00
sashakoshka 677dca1dbf ScrollContainer uses ScrollBar for scrolling 2023-03-11 00:21:54 -05:00
sashakoshka 9cc9e78504 Large icons in the default set! 2023-03-10 18:53:27 -05:00
sashakoshka 5d4a26a877 AnalogClock is no longer flexible. 2023-03-10 13:45:53 -05:00
sashakoshka aaa794ac04 ScrollBar handles scroll wheel events 2023-03-10 13:42:51 -05:00
sashakoshka 8658ecd879 Sort of fixed a flexible height bug 2023-03-10 00:10:26 -05:00