Commit Graph

361 Commits

Author SHA1 Message Date
Sasha Koshka 7f1c3ae870 Added documentation for the sliders 2023-02-11 17:04:50 -05:00
Sasha Koshka d7a6193c04 Added gain slider 2023-02-11 01:46:12 -05:00
Sasha Koshka a74f9809af Awesome labels 2023-02-11 01:27:28 -05:00
Sasha Koshka 0e3de11203 Fixed a focus issue with ScrollContainer 2023-02-11 00:58:54 -05:00
Sasha Koshka 981c11bd44 Fixed the list widget 2023-02-11 00:18:21 -05:00
Sasha Koshka dce0321e9b Added a Select() method to List 2023-02-10 22:26:34 -05:00
Sasha Koshka 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
Sasha Koshka b15c260dfc Improved piano styling 2023-02-09 11:38:01 -05:00
Sasha Koshka 16ce15621e Moar waveforms!!!! 2023-02-09 02:04:58 -05:00
Sasha Koshka 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
Sasha Koshka c5ee7c8cdb The piano plays sound 2023-02-08 23:41:31 -05:00
Sasha Koshka bec8b817c8 Added a piano widget because why not really 2023-02-08 21:05:36 -05:00
Sasha Koshka 6cc0f36000 Migrated the clock 2023-02-08 15:12:18 -05:00
Sasha Koshka a0e57921a4 Oh my jod 2023-02-08 14:36:14 -05:00
Sasha Koshka 6936353516 asuhfdjkshlk 2023-02-08 00:22:40 -05:00
Sasha Koshka 3998d842b1 Half-done migration of basic elements 2023-02-07 11:27:59 -05:00
Sasha Koshka 0bdbaa39ca Artist and test examples work 2023-02-03 18:32:22 -05:00
Sasha Koshka f8ebe5b1e4 Core provides convenience methods for easy theme access 2023-02-03 18:28:01 -05:00
Sasha Koshka 8d90dbdc92 Element core now deals with Config and Theme objects 2023-02-03 18:07:10 -05:00
Sasha Koshka d79701d01b X backend conforms to new API 2023-02-03 01:35:59 -05:00
Sasha Koshka bdf599f93c Backends must now accept Config and Theme 2023-02-03 01:25:45 -05:00
Sasha Koshka 8ccaa0faba Added Themeable and Configurable element interfaces 2023-02-03 01:14:03 -05:00
Sasha Koshka 892c74a9da Updated everything else to match 2023-02-02 01:48:38 -05:00
Sasha Koshka 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
Sasha Koshka 801c3ef6f5 Hocus focus 2023-01-30 17:01:47 -05:00
Sasha Koshka 35870951a2 The theming around List makes slightly more sense 2023-01-30 02:22:16 -05:00
Sasha Koshka 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
Sasha Koshka 44b9a1e717 List relies more on the bounds insetting from theme 2023-01-29 12:51:43 -05:00
Sasha Koshka 92aeb48a1f Overhauled the theme system
Also added a toggle switch :)
2023-01-29 01:49:01 -05:00
Sasha Koshka 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
Sasha Koshka 93019b1b38 Fixed Container.HandleSelection
It now handles nested containers properly.
2023-01-26 14:00:54 -05:00
Sasha Koshka 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
Sasha Koshka 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
Sasha Koshka 269c70ebb1 Fixed up the dotted pattern 2023-01-24 10:25:37 -05:00
Sasha Koshka 31a261d530 Beveled is now structured like QuadBeveled 2023-01-24 00:02:11 -05:00
Sasha Koshka 468d4e9dab Various improvements to list 2023-01-23 23:54:12 -05:00
Sasha Koshka 9c24184f24 Added a basic List element 2023-01-23 02:05:09 -05:00
Sasha Koshka 90067a6ded Stripes :))))) 2023-01-21 21:24:02 -05:00
Sasha Koshka 5990496455 Clicking on the scroll gutter scrolls 2023-01-21 21:05:51 -05:00
Sasha Koshka 09eede2c90 Small theming tweaks 2023-01-21 20:58:25 -05:00
Sasha Koshka 92a9c9370d Scrollbars respond to mouse dragging more naturally 2023-01-21 01:24:24 -05:00
Sasha Koshka d435f5a6a9 Scrollbars can be dragged with the mouse 2023-01-21 01:15:30 -05:00
Sasha Koshka 3e8523f37a TextBox contstrains scroll positions to max 2023-01-20 23:40:59 -05:00
Sasha Koshka 83d5064803 Created the split pattern 2023-01-20 23:19:54 -05:00
Sasha Koshka 4c1bf070fe Chiseled is now called Beveled 2023-01-20 23:00:26 -05:00
Sasha Koshka a273178a8e Ellipses now draw properly 2023-01-20 22:13:14 -05:00
Sasha Koshka 39ce5f9ee2 Half-working StrokeEllipse 2023-01-20 21:59:48 -05:00
Sasha Koshka 775e7bd4ca It is now possible to draw a filled ellipse 2023-01-20 20:52:06 -05:00
Sasha Koshka 6967c40143 Made the drawing time thing better 2023-01-20 20:29:02 -05:00
Sasha Koshka 723f0cf5ef The artist test can now figure out how fast it took to draw
something.
2023-01-20 20:07:01 -05:00
Sasha Koshka a87d806e54 THICC LINES 2023-01-20 19:52:35 -05:00
Sasha Koshka 268e7981b5 Added some line tests 2023-01-20 19:40:38 -05:00
Sasha Koshka a71e726016 Created simple bordered pattern 2023-01-20 19:24:21 -05:00
Sasha Koshka befec471db Replaced artist.Border with artist.Stroke 2023-01-20 19:07:16 -05:00
Sasha Koshka 8c0956b998 Striped patterns can have alternating weights 2023-01-20 18:57:02 -05:00
Sasha Koshka 740999295e Added striped patterns 2023-01-20 18:39:08 -05:00
Sasha Koshka cfbb031500 Created an artist test thingy 2023-01-20 18:05:48 -05:00
Sasha Koshka 72f604e819 Repeated keys are detected properly
The repeated bool was removed and instead key release events are
*only* sent when the key is actually let go. If an element wants to
listen to repeat presses, it can just listen to press events.
2023-01-20 17:40:28 -05:00
Sasha Koshka 2f53c942ac The scroll wheel scrolls the scroll box 2023-01-20 16:44:07 -05:00
Sasha Koshka b85285f326 Scroll bars recalculate and draw properly 2023-01-20 15:52:46 -05:00
Sasha Koshka faf38b96c2 Scrollbar drawing 2023-01-20 15:35:43 -05:00
Sasha Koshka afd543ce92 Fixed clock and checkbox 2023-01-20 00:42:57 -05:00
Sasha Koshka 4367bba602 Scroll bar background drawing 2023-01-19 18:29:57 -05:00
Sasha Koshka 9c37cb8fef Scroll container mouse pass through 2023-01-19 18:03:50 -05:00
Sasha Koshka 78fb934afe Ok this is overstepping the bounds of this branch 2023-01-19 17:35:19 -05:00
Sasha Koshka 7b8cdd9e04 Container now implements MouseTarget again oops 2023-01-19 16:55:46 -05:00
Sasha Koshka 6f6591f0d0 Layouts now conform to the new API 2023-01-19 16:54:49 -05:00
Sasha Koshka c813463bb4 Basic elements now conform to the new API (largely untested) 2023-01-19 16:49:34 -05:00
Sasha Koshka 8a72e8bf01 Mouse test now conforms to new API 2023-01-19 15:05:13 -05:00
Sasha Koshka 662d3464e2 Element core now conforms to the new API 2023-01-19 14:44:40 -05:00
Sasha Koshka dcc7fcb251 Ok thats it next commit im getting rid of parent hooks 2023-01-19 13:07:27 -05:00
Sasha Koshka 2b45a8f8a0 TextBox is now scrollable 2023-01-18 17:52:05 -05:00
Sasha Koshka 3889cb5252 Added scrollable element interface 2023-01-18 17:32:33 -05:00
Sasha Koshka b69eb6b62e Tweaked text box scrolling 2023-01-18 16:01:31 -05:00
Sasha Koshka 89881247d0 Text boxes now scroll to their cursor position 2023-01-18 15:56:36 -05:00
Sasha Koshka 873336e029 It is no longer possible to activate disabled buttons 2023-01-18 11:58:42 -05:00
Sasha Koshka 36c5ed40e9 Added event callbacks to text box 2023-01-18 11:56:14 -05:00
Sasha Koshka 48db645f9f Silliness increase 2023-01-18 01:29:59 -05:00
Sasha Koshka 46268c8d02 Disabled inputs can no longer be selected 2023-01-18 01:21:49 -05:00
Sasha Koshka 3ef13955be Placeholders show up again 2023-01-18 01:20:04 -05:00
Sasha Koshka 2bf2baf69e More intelligent text editing with new textmanip system 2023-01-18 01:19:10 -05:00
Sasha Koshka b03cba57e1 Text drawer now takes in runes instead of a string 2023-01-18 00:42:04 -05:00
Sasha Koshka 85ddb8ace1 Very basic text input 2023-01-18 00:38:58 -05:00
Sasha Koshka 5e3dfeaadd Progress bars
... And also the Do function works now
2023-01-17 20:16:03 -05:00
Sasha Koshka 9f91220842 Documented the clock 2023-01-17 17:13:01 -05:00
Sasha Koshka bc4defac17 Spacers :D 2023-01-17 17:01:35 -05:00
Sasha Koshka 06e0396695 More silliness 2023-01-17 16:46:07 -05:00
Sasha Koshka 5d64788b68 Checkboxes! 2023-01-17 16:38:57 -05:00
Sasha Koshka 99492874ca Clock forces an aspect ratio 2023-01-17 14:47:07 -05:00
Sasha Koshka 375205a4d2 Core no longer naievely constrains canvas resize dimensions 2023-01-17 14:31:06 -05:00
Sasha Koshka 7398f146ba Progress? 2023-01-17 10:55:38 -05:00
Sasha Koshka 40bdffc8be Horizontal layouts work nearly perfectly 2023-01-17 01:40:49 -05:00
Sasha Koshka 9459bcd942 Horizontal layouts now take into account flexible elements 2023-01-16 23:58:20 -05:00
Sasha Koshka e94e170a04 Half-working container flexibility propagation 2023-01-16 23:34:17 -05:00
Sasha Koshka d9281b139f Labels may request an expanding height change 2023-01-16 18:04:41 -05:00
Sasha Koshka 7754679710 Selectable elements can now request the selection to be moved 2023-01-16 13:49:32 -05:00
Sasha Koshka 93ab47cdc9 Whoops 2023-01-16 12:23:37 -05:00
Sasha Koshka fb0795ec7b Keynav works flawlessly 2023-01-16 12:21:47 -05:00
Sasha Koshka 354d5f205d Container sort of conforms to the new API
Keynav is half working
2023-01-16 11:54:02 -05:00
Sasha Koshka 410c65c072 Label conforms to new API 2023-01-16 00:36:23 -05:00
Sasha Koshka 21a1a35a26 Mouse test conforms to new API 2023-01-16 00:35:05 -05:00
Sasha Koshka c20db133fe AnalogClock conforms to new API 2023-01-16 00:31:57 -05:00
Sasha Koshka 5ca4d0be6e Button now conforms to new API 2023-01-16 00:31:04 -05:00
Sasha Koshka 0a6858b376 Moved the layouts directory out of elements because they aren't. 2023-01-16 00:03:02 -05:00
Sasha Koshka 1378093c12 Improved some documentation wording regarding Core and CoreControl 2023-01-16 00:02:15 -05:00
Sasha Koshka 88f5cf7749 I changed my mind, having core fulfill Element is a bad idea. 2023-01-15 23:58:23 -05:00
Sasha Koshka 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
Sasha Koshka e83dde2d21 Replaced the chiseled box with the chiseled pattern 2023-01-14 21:01:00 -05:00
Sasha Koshka 9540812a04 Implemented a multiborder pattern 2023-01-14 20:08:55 -05:00
Sasha Koshka e740f5385c Mouse test does not draw lines if mouse is not held down 2023-01-14 14:00:57 -05:00
Sasha Koshka d75ec12a3c Fixed bug with StrokeRectangle where some areas were blank 2023-01-14 13:59:07 -05:00
Sasha Koshka 89eb88c982 Draw border around mouse test 2023-01-14 13:57:12 -05:00
Sasha Koshka 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
Sasha Koshka babc4a4af8 Oops 2023-01-13 13:58:19 -05:00
Sasha Koshka 7ad027be42 Clock hands are more accurate 2023-01-13 13:55:20 -05:00
Sasha Koshka 4f8f80f142 Commented button 2023-01-13 13:51:22 -05:00
Sasha Koshka b5469e103d Analog clock widget!! 2023-01-12 19:52:21 -05:00
Sasha Koshka 1f3e925433 Fixed not setting text drawer max size properly 2023-01-12 18:00:36 -05:00
Sasha Koshka 588c52b30a Added a Warp method to Container for batch updates 2023-01-12 16:02:33 -05:00
Sasha Koshka 26c1dc062b Added popups 2023-01-12 12:51:42 -05:00
Sasha Koshka 519e0b9c6b Keynav moment 2023-01-11 22:30:14 -05:00
Sasha Koshka c2a76fcaf6 Added extended selection capabilities to the API 2023-01-11 15:46:48 -05:00
Sasha Koshka 5b850ef183 Added dialog layout 2023-01-11 01:56:05 -05:00
Sasha Koshka c18a3883bf Added a horizontal layout 2023-01-10 23:20:42 -05:00
Sasha Koshka 1c7467c4bc Fixed bug with vertical layout being cringe 2023-01-10 22:27:25 -05:00
Sasha Koshka 3ddeeb5469 You can choose whether or not you want text to wrap 2023-01-10 21:01:30 -05:00
Sasha Koshka a79f2eaf64 Test element has a cool border 2023-01-10 20:31:18 -05:00
Sasha Koshka b3e6beb8ad Added DisownAll method to Container 2023-01-10 18:07:51 -05:00
Sasha Koshka cb2136f7cb Layouts work!!!! 2023-01-10 17:34:40 -05:00
Sasha Koshka 6eed70e79e The beginnings of a layout system 2023-01-10 16:39:37 -05:00
Sasha Koshka b1fd021120 dasjkhkljashdkjsha 2023-01-10 11:51:46 -05:00
Sasha Koshka 34848f616b Moved element core to new package 2023-01-09 21:25:36 -05:00
Sasha Koshka 31fb42ab58 Vertical layout stub 2023-01-09 20:34:19 -05:00
Sasha Koshka c34e3cd91e Disabled buttons are not selectable 2023-01-09 18:20:39 -05:00
Sasha Koshka 80aafdf60c Buttons respond to enter key, window auto-selects root child 2023-01-09 18:19:19 -05:00
Sasha Koshka 70e0566f3f Styling now supports selection 2023-01-09 15:14:36 -05:00
Sasha Koshka d1ec5f2cec Split element core into two separate structs - public and private
The public core half can be directly embedded, which means no
wrapper methods!
2023-01-09 13:06:55 -05:00
Sasha Koshka 00d75d4488 Initial commit 2023-01-09 01:03:19 -05:00