Commit Graph
100 Commits
Author SHA1 Message Date
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
sashakoshka a74f9809af Awesome labels 2023-02-11 01:27:28 -05:00
sashakoshka f9032a9a95 Oh yeah babey 2023-02-11 01:06:47 -05:00
sashakoshka 0e3de11203 Fixed a focus issue with ScrollContainer 2023-02-11 00:58:54 -05:00
sashakoshka 981c11bd44 Fixed the list widget 2023-02-11 00:18:21 -05:00
sashakoshka dce0321e9b Added a Select() method to List 2023-02-10 22:26:34 -05:00
sashakoshka 5e448edb21 Added sliders and made the ADSR controllabe with them 2023-02-10 21:55:59 -05:00
sashakoshka c33faa402b Made the supersaw a bit better and actually a supersaw 2023-02-10 15:08:20 -05:00
sashakoshka 182cb1e35b The piano now has an internal ADSR 2023-02-09 23:52:27 -05:00
sashakoshka b15c260dfc Improved piano styling 2023-02-09 11:38:01 -05:00
sashakoshka 16ce15621e Moar waveforms!!!! 2023-02-09 02:04:58 -05:00
sashakoshka 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
sashakoshka ce20b7d02c Piano can now play square waves 2023-02-09 00:01:39 -05:00
sashakoshka c5ee7c8cdb The piano plays sound 2023-02-08 23:41:31 -05:00
sashakoshka bec8b817c8 Added a piano widget because why not really 2023-02-08 21:05:36 -05:00
sashakoshka 6cc0f36000 Migrated the clock 2023-02-08 15:12:18 -05:00
sashakoshka a0e57921a4 Oh my jod 2023-02-08 14:36:14 -05:00
sashakoshka 6936353516 asuhfdjkshlk 2023-02-08 00:22:40 -05:00
sashakoshka 3998d842b1 Half-done migration of basic elements 2023-02-07 11:27:59 -05:00
sashakoshka 0bdbaa39ca Artist and test examples work 2023-02-03 18:32:22 -05:00
sashakoshka f8ebe5b1e4 Core provides convenience methods for easy theme access 2023-02-03 18:28:01 -05:00
sashakoshka 8d90dbdc92 Element core now deals with Config and Theme objects 2023-02-03 18:07:10 -05:00
sashakoshka 43fea5c8ba Tomo will call the parse functions in Theme and Config 2023-02-03 17:50:45 -05:00
sashakoshka 2ff32ca8ea Added thing to get standard directories 2023-02-03 17:06:51 -05:00
sashakoshka d79701d01b X backend conforms to new API 2023-02-03 01:35:59 -05:00
sashakoshka bdf599f93c Backends must now accept Config and Theme 2023-02-03 01:25:45 -05:00
sashakoshka 8ccaa0faba Added Themeable and Configurable element interfaces 2023-02-03 01:14:03 -05:00
sashakoshka 8606968c74 Separate config and theme 2023-02-02 15:19:56 -05:00
sashakoshka 892c74a9da Updated everything else to match 2023-02-02 01:48:38 -05:00
sashakoshka 99942466f8 Updated X backend to match 2023-02-02 01:47:55 -05:00
sashakoshka da6fe2c845 Updated layouts to match 2023-02-02 01:47:31 -05:00
sashakoshka 04d2ea4767 Atomized the functionality of the base tomo package 2023-02-02 01:47:01 -05:00
sashakoshka f71f789b60 BasicCanvas.Reallocate refuses to work on cut canvases 2023-02-01 01:52:50 -05:00
sashakoshka 8f0f2be9e9 Reduce allocation of X buffers and canvases 2023-02-01 01:47:08 -05:00
sashakoshka 0c5cc6ff74 Padding and margin are now separate 2023-01-30 18:22:19 -05:00
sashakoshka 6b19d66067 Themeing tweaks 2023-01-30 17:57:24 -05:00
sashakoshka 58c3b23a99 Example files now reflect new API change 2023-01-30 17:25:09 -05:00
sashakoshka 801c3ef6f5 Hocus focus 2023-01-30 17:01:47 -05:00