sashakoshka
639baecee5
Propagator unfocuses children before focusing a new one
2023-03-15 23:49:57 -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
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
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
sashakoshka
1c28613981
The scroll bar is better
2023-03-09 23:27:08 -05:00
sashakoshka
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
sashakoshka
aff9aca835
We now have an untested lone scrollbar element
2023-03-09 18:15:52 -05:00
sashakoshka
cf672824a6
im dumb as hell bruh
2023-03-08 21:05:56 -05:00
sashakoshka
04884bd8e3
Oh my joodness
2023-03-08 20:41:48 -05:00
sashakoshka
305acea285
Use ezprof to profile
2023-03-08 20:24:43 -05:00
sashakoshka
f3c1c95a57
Keyboard control for sliders
2023-03-07 19:13:08 -05:00
sashakoshka
423e6869c0
X backend better handles expose events
...
Previously, when an expose event was recieved, the backend would
call Window.paste, converting RGBA image data to BGRA image data.
Now we only call Window.pushRegion with the bounds given to us by
the expose event(s). This speeds up window resizing significantly.
2023-03-07 12:48:29 -05:00
sashakoshka
803812f9c9
Texture pattern now samples X position correctly
2023-03-06 21:40:20 -05:00
sashakoshka
c171273240
Sped up rendering significantly
2023-03-06 21:34:14 -05:00
sashakoshka
11402cfc25
Button applies the sink offset correctly to icons
2023-03-05 11:20:33 -05:00
sashakoshka
7e0d64e8bd
TextBox text is now vertically centered
2023-03-05 10:58:27 -05:00
sashakoshka
d38bd1cbf5
Hiding button text actually works now
2023-03-05 00:31:41 -05:00
sashakoshka
865dd20724
Buttons can now hide their text
2023-03-05 00:23:45 -05:00
sashakoshka
6c46fc6f7c
Made a few icons blacker
2023-03-05 00:07:37 -05:00
sashakoshka
0071994ba6
Buttons can now have icons
2023-03-05 00:05:56 -05:00
sashakoshka
11c747e225
Dialog boxes now have icons
2023-03-04 23:09:46 -05:00
sashakoshka
61bbe0e346
Added an Icon element
2023-03-04 22:56:44 -05:00
sashakoshka
1e8bb56b7c
Added small icons to default theme
2023-03-04 22:07:59 -05:00
sashakoshka
ae6cf128f8
Created Icon interface
2023-03-04 20:48:46 -05:00
sashakoshka
ecaad02c0b
Added a bunch of icon IDs
2023-03-04 20:10:53 -05:00
sashakoshka
912a3f9f66
oops lmao
2023-03-04 16:18:43 -05:00
sashakoshka
531b0ffce9
Fixed Container not clearing child event handlers in DisownAll
2023-03-04 10:44:45 -05:00
sashakoshka
9c12cd7e18
Fixed cringe bug with focus requests being improperly handled
2023-03-04 02:20:48 -05:00
sashakoshka
4f6f4e1f1a
Me when I make the exact mistake twice
2023-03-04 02:04:47 -05:00
sashakoshka
dc5ddfc0bd
Propagator no longer segfaults when handling keynav
2023-03-04 01:48:16 -05:00
sashakoshka
5fc5af92df
Layouts now take in proper margin and padding values
2023-03-04 01:42:14 -05:00
sashakoshka
90ce0d7281
Fixed Propagator.forChildren
2023-03-04 01:29:45 -05:00
sashakoshka
be286fa86c
The container actually creates a propagator now lmao
2023-03-04 01:27:16 -05:00
sashakoshka
252433f13d
Cleaned up Container somewhat
2023-03-04 01:26:23 -05:00
sashakoshka
165d0835bf
Worked Propagator into basic.Container
2023-03-04 01:20:23 -05:00
sashakoshka
56e11ae1de
Cleaned up the (ChildIterator -> Parent) interface
2023-03-04 01:05:37 -05:00
sashakoshka
1d9fb6024d
Fully implemented Propagator
2023-03-04 00:57:17 -05:00
sashakoshka
c13cdd570d
Implemented all focus methods except for HandleFocus
...
I am dreading this
2023-03-04 00:38:37 -05:00
sashakoshka
5af8d7fd97
Implemented keyboard, mouse, theme, and config event propagation
2023-03-04 00:18:27 -05:00
sashakoshka
b6eb158964
Tidied up documentation on Propagator
2023-03-03 23:48:10 -05:00
sashakoshka
449922851f
Fix list not drawing background
2023-02-26 22:56:20 -05:00
sashakoshka
26787d8670
Fixed TextBox
2023-02-26 22:48:14 -05:00
sashakoshka
cda2d1f0ae
Default elements compile
2023-02-26 22:20:17 -05:00
sashakoshka
241c297626
whee back in busineess
2023-02-26 14:27:38 -05:00
sashakoshka
2859dc3313
Cleaned out the old theme code and moved padding and margins to theme
2023-02-26 00:44:44 -05:00
sashakoshka
81090267a6
Created new patterns
2023-02-25 18:41:16 -05:00
sashakoshka
bf2fdb5eaa
Ellipse and rectangle have both color and source routines
2023-02-24 16:31:42 -05:00
sashakoshka
211219eb01
Ellipse and line share code
2023-02-24 02:51:24 -05:00
sashakoshka
79ab1c8ac0
Existing shape routines have been reimplemented
2023-02-24 02:26:34 -05:00
sashakoshka
b575413a0a
For later
2023-02-23 12:12:25 -05:00
sashakoshka
e966771f5b
The raycaster is faster but more bg=uggyh agghgfghgfhgfgh
2023-02-21 13:30:32 -05:00
sashakoshka
e9e1ccc35e
Added basic raycaster demo. I have no idea why I did this.
2023-02-20 01:52:50 -05:00
sashakoshka
0c39c2dd57
Button takes advantage of the rendering hints
2023-02-16 22:41:07 -05:00
sashakoshka
56dc9ba54c
this just j
2023-02-16 12:35:31 -05:00
sashakoshka
7235c86e22
TypeSetter properly adds a null char onto the end of its text
2023-02-16 02:22:32 -05:00
sashakoshka
367aee4570
Improved accuracy of TypeSetter again
2023-02-16 01:55:00 -05:00
sashakoshka
bd55b6c17d
Improved accuracy of type setter
2023-02-15 20:16:49 -05:00
sashakoshka
a0e7bf1373
Integrated the new text drawer
2023-02-15 18:45:58 -05:00
sashakoshka
234503f104
Added fixed precision point utilities
2023-02-15 18:41:03 -05:00
sashakoshka
ae551c47ea
Replace TextDrawer with more capable system
2023-02-15 18:17:17 -05:00
sashakoshka
dcaf9919e4
Fix thos issue
2023-02-14 02:14:52 -05:00
sashakoshka
d18da8b07a
Rudimentary text selection with the mouse
2023-02-13 18:29:49 -05:00
sashakoshka
88502cf628
Improved keyboard selection somewhat
2023-02-13 15:26:21 -05:00
sashakoshka
21abd147bf
Rudimentary text selection with keybaord keys
2023-02-13 12:55:51 -05:00
sashakoshka
4bc8566820
Textmanip now operates on a dot instead of a cursor
2023-02-13 01:52:31 -05:00
sashakoshka
8ac5108211
Elements are no longer images
2023-02-13 01:49:33 -05:00
sashakoshka
7f0462d588
Changed the order of the Theme.Pattern method
2023-02-12 10:58:23 -05:00
sashakoshka
82e92f1e2e
Icons are now no longer patterns, they are images
2023-02-12 10:55:32 -05:00
sashakoshka
9e8e986977
Changes to how scroll bars respond to the mouse
...
- Left clicking on the gutter jumps to that position
- Right clicking on the gutter scrolls incrementally towards that
position
- Middle clicking on the gutter pages up or down to that position
2023-02-11 22:17:03 -05:00
sashakoshka
2d9a941da8
Lists no longer have stale scroll values when enlarged
2023-02-11 21:45:04 -05:00
sashakoshka
c64ce8da67
Container shatters its background before drawing
2023-02-11 21:17:43 -05:00
sashakoshka
a893831a21
Added a shatter function to subtract rectangles from a rectangle
2023-02-11 21:07:35 -05:00
sashakoshka
7f1c3ae870
Added documentation for the sliders
2023-02-11 17:04:50 -05:00
sashakoshka
d7a6193c04
Added gain slider
2023-02-11 01:46:12 -05:00