Commit Graph

250 Commits

Author SHA1 Message Date
252433f13d Cleaned up Container somewhat 2023-03-04 01:26:23 -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
Sasha Koshka
ef59f46559 Made the progress bar look nicer 2023-02-28 19:00:34 -05:00
Sasha Koshka
b1d15fb4ec this piano is DOPE and PHAT and WAY COOL 2023-02-28 00:17:05 -05:00
Sasha Koshka
ee45b2fa60 Theming tweaks and rendering fixes 2023-02-27 17:00:28 -05:00
Sasha Koshka
8dd506a007 Textures now render properly 2023-02-27 16:38:33 -05:00
Sasha Koshka
de10cde630 Add image textures to theme 2023-02-27 12:48:44 -05:00
449922851f Fix list not drawing background 2023-02-26 22:56:20 -05:00
26787d8670 Fixed TextBox 2023-02-26 22:48:14 -05:00
cda2d1f0ae Default elements compile 2023-02-26 22:20:17 -05:00
241c297626 whee back in busineess 2023-02-26 14:27:38 -05:00
0c39c2dd57 Button takes advantage of the rendering hints 2023-02-16 22:41:07 -05:00
Sasha Koshka
f8240fb518 Created FillRectangleShatter for convenience 2023-02-16 18:19:36 -05:00
Sasha Koshka
b9cbf83a18 Added the collapse behavior as an interface 2023-02-16 17:35:53 -05:00
Sasha Koshka
e3369ab3d4 AAAAART! 2023-02-16 14:57:46 -05:00
56dc9ba54c this just j 2023-02-16 12:35:31 -05:00
a0e7bf1373 Integrated the new text drawer 2023-02-15 18:45:58 -05:00
Sasha Koshka
0c22977693 TextDrawer does not separate whitespace from printables 2023-02-14 18:11:11 -05:00
Sasha Koshka
4d87972235 Hot themeing tweaks 2023-02-14 17:21:05 -05:00
Sasha Koshka
d59b7d812d Stop some redundant rendering in the piano 2023-02-14 17:05:13 -05:00
Sasha Koshka
09f782953e Use FillRectangleClip in List and Container 2023-02-14 16:53:28 -05:00
dcaf9919e4 Fix thos issue 2023-02-14 02:14:52 -05:00
d18da8b07a Rudimentary text selection with the mouse 2023-02-13 18:29:49 -05:00
21abd147bf Rudimentary text selection with keybaord keys 2023-02-13 12:55:51 -05:00
4bc8566820 Textmanip now operates on a dot instead of a cursor 2023-02-13 01:52:31 -05:00
8ac5108211 Elements are no longer images 2023-02-13 01:49:33 -05:00
7f0462d588 Changed the order of the Theme.Pattern method 2023-02-12 10:58:23 -05:00
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
2d9a941da8 Lists no longer have stale scroll values when enlarged 2023-02-11 21:45:04 -05:00
c64ce8da67 Container shatters its background before drawing 2023-02-11 21:17:43 -05:00
a893831a21 Added a shatter function to subtract rectangles from a rectangle 2023-02-11 21:07:35 -05:00
7f1c3ae870 Added documentation for the sliders 2023-02-11 17:04:50 -05:00
d7a6193c04 Added gain slider 2023-02-11 01:46:12 -05:00
a74f9809af Awesome labels 2023-02-11 01:27:28 -05:00
0e3de11203 Fixed a focus issue with ScrollContainer 2023-02-11 00:58:54 -05:00
981c11bd44 Fixed the list widget 2023-02-11 00:18:21 -05:00
dce0321e9b Added a Select() method to List 2023-02-10 22:26:34 -05:00
5e448edb21 Added sliders and made the ADSR controllabe with them 2023-02-10 21:55:59 -05:00
Sasha Koshka
cfc2b5e130 Image element for showing images 2023-02-09 18:34:53 -05:00
Sasha Koshka
6e7cf285cc Fixed issue with X backend not recognizing key repeats 2023-02-09 17:26:36 -05:00
Sasha Koshka
e3aea7fc9e Better piano keybinds 2023-02-09 16:36:38 -05:00
Sasha Koshka
5446ffe40b h a r m o n y 2023-02-09 16:15:02 -05:00
Sasha Koshka
06e97461fa Note.Octave returns an Octave 2023-02-09 15:06:41 -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
c7bebabed5 Fixed issue where containers would not select themselves prperly 2023-02-09 14:25:55 -05:00
b15c260dfc Improved piano styling 2023-02-09 11:38:01 -05:00
16ce15621e Moar waveforms!!!! 2023-02-09 02:04:58 -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
c5ee7c8cdb The piano plays sound 2023-02-08 23:41:31 -05:00
bec8b817c8 Added a piano widget because why not really 2023-02-08 21:05:36 -05:00
6cc0f36000 Migrated the clock 2023-02-08 15:12:18 -05:00
a0e57921a4 Oh my jod 2023-02-08 14:36: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
0bdbaa39ca Artist and test examples work 2023-02-03 18:32:22 -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
d79701d01b X backend conforms to new API 2023-02-03 01:35:59 -05:00
bdf599f93c Backends must now accept Config and Theme 2023-02-03 01:25:45 -05:00
8ccaa0faba Added Themeable and Configurable element interfaces 2023-02-03 01:14:03 -05:00
892c74a9da Updated everything else to match 2023-02-02 01:48:38 -05:00
04d2ea4767 Atomized the functionality of the base tomo package 2023-02-02 01:47:01 -05:00
Sasha Koshka
9b22e80f05 Got scroll container working 2023-01-31 18:39:17 -05:00
Sasha Koshka
b0ff1ca0af Vertical stack example works 2023-01-31 18:04:12 -05:00
Sasha Koshka
2f9504b1e4 Fixed wierd inconsistency with element core 2023-01-31 16:18:10 -05:00
Sasha Koshka
d5028317ef Fun and testing elements conform to new API 2023-01-31 14:57:02 -05:00
Sasha Koshka
ee424b9125 Basic elements conform to new API 2023-01-31 14:54:43 -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
35870951a2 The theming around List makes slightly more sense 2023-01-30 02:22:16 -05:00
174beba79f Added a case specifier to the theme API
This will allow themes to pull off some cool dirty tricks without
screwing anything up
2023-01-30 01:30:13 -05:00
44b9a1e717 List relies more on the bounds insetting from theme 2023-01-29 12:51:43 -05:00
92aeb48a1f Overhauled the theme system
Also added a toggle switch :)
2023-01-29 01:49:01 -05:00
9422ff6198 Added a selectability core to reduce complexity of selectables 2023-01-27 17:55:49 -05:00
Sasha Koshka
b2b2a80a06 Made the stripey sunken background optional 2023-01-26 18:37:44 -05:00
93019b1b38 Fixed Container.HandleSelection
It now handles nested containers properly.
2023-01-26 14:00:54 -05:00
9aea6d8c0f List element's events make more sense
Removed redundant selected entry change event, and added an event
that fires when the user deselects the current element.
2023-01-26 12:05:28 -05:00
48679c8ad2 Added keynav input for lists 2023-01-26 11:53:49 -05:00
Sasha Koshka
912f939f2e The noise pattern can now be harsh 2023-01-24 18:27:36 -05:00
Sasha Koshka
c9c5f1d251 Added a pseudorandom noise pattern 2023-01-24 18:15:46 -05:00
Sasha Koshka
5edfbf8110 Added a list example 2023-01-24 16:41:12 -05:00
Sasha Koshka
68f1d052d2 Fixed list minimum bounds calculation when not collapsed 2023-01-24 16:10:25 -05:00
Sasha Koshka
28701d01ab Fixed gradient orientation 2023-01-24 16:02:35 -05:00
Sasha Koshka
d5cb1b27fe Created an elliptical border pattern 2023-01-24 15:35:00 -05:00
Sasha Koshka
0281b1a203 Gradients!!!!!!!!!!! Holy fucking bingle!! 2023-01-24 14:24:30 -05:00
Sasha Koshka
3949f2af9e Created a Tiled pattern 2023-01-24 14:08:47 -05:00
269c70ebb1 Fixed up the dotted pattern 2023-01-24 10:25:37 -05:00
31a261d530 Beveled is now structured like QuadBeveled 2023-01-24 00:02:11 -05:00
468d4e9dab Various improvements to list 2023-01-23 23:54:12 -05:00
9c24184f24 Added a basic List element 2023-01-23 02:05:09 -05:00
90067a6ded Stripes :))))) 2023-01-21 21:24:02 -05:00