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