Commit Graph

346 Commits

Author SHA1 Message Date
Sasha Koshka aff9aca835 We now have an untested lone scrollbar element 2023-03-09 18:15:52 -05:00
Sasha Koshka cf672824a6 im dumb as hell bruh 2023-03-08 21:05:56 -05:00
Sasha Koshka 04884bd8e3 Oh my joodness 2023-03-08 20:41:48 -05:00
Sasha Koshka 305acea285 Use ezprof to profile 2023-03-08 20:24:43 -05:00
Sasha Koshka f3c1c95a57 Keyboard control for sliders 2023-03-07 19:13:08 -05:00
Sasha Koshka 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
Sasha Koshka 803812f9c9 Texture pattern now samples X position correctly 2023-03-06 21:40:20 -05:00
Sasha Koshka c171273240 Sped up rendering significantly 2023-03-06 21:34:14 -05:00
Sasha Koshka 11402cfc25 Button applies the sink offset correctly to icons 2023-03-05 11:20:33 -05:00
Sasha Koshka 7e0d64e8bd TextBox text is now vertically centered 2023-03-05 10:58:27 -05:00
Sasha Koshka d38bd1cbf5 Hiding button text actually works now 2023-03-05 00:31:41 -05:00
Sasha Koshka 865dd20724 Buttons can now hide their text 2023-03-05 00:23:45 -05:00
Sasha Koshka 6c46fc6f7c Made a few icons blacker 2023-03-05 00:07:37 -05:00
Sasha Koshka 0071994ba6 Buttons can now have icons 2023-03-05 00:05:56 -05:00
Sasha Koshka 11c747e225 Dialog boxes now have icons 2023-03-04 23:09:46 -05:00
Sasha Koshka 61bbe0e346 Added an Icon element 2023-03-04 22:56:44 -05:00
Sasha Koshka 1e8bb56b7c Added small icons to default theme 2023-03-04 22:07:59 -05:00
Sasha Koshka ae6cf128f8 Created Icon interface 2023-03-04 20:48:46 -05:00
Sasha Koshka ecaad02c0b Added a bunch of icon IDs 2023-03-04 20:10:53 -05:00
Sasha Koshka cad10a1fb1 Merge pull request 'make-containers-better' (#10) from make-containers-better into main
Reviewed-on: sashakoshka/tomo#10
2023-03-04 21:26:33 +00:00
Sasha Koshka 912a3f9f66 oops lmao 2023-03-04 16:18:43 -05:00
Sasha Koshka 531b0ffce9 Fixed Container not clearing child event handlers in DisownAll 2023-03-04 10:44:45 -05:00
Sasha Koshka 9c12cd7e18 Fixed cringe bug with focus requests being improperly handled 2023-03-04 02:20:48 -05:00
Sasha Koshka 4f6f4e1f1a Me when I make the exact mistake twice 2023-03-04 02:04:47 -05:00
Sasha Koshka dc5ddfc0bd Propagator no longer segfaults when handling keynav 2023-03-04 01:48:16 -05:00
Sasha Koshka 5fc5af92df Layouts now take in proper margin and padding values 2023-03-04 01:42:14 -05:00
Sasha Koshka 90ce0d7281 Fixed Propagator.forChildren 2023-03-04 01:29:45 -05:00
Sasha Koshka be286fa86c The container actually creates a propagator now lmao 2023-03-04 01:27:16 -05:00
Sasha Koshka 252433f13d Cleaned up Container somewhat 2023-03-04 01:26:23 -05:00
Sasha Koshka 165d0835bf Worked Propagator into basic.Container 2023-03-04 01:20:23 -05:00
Sasha Koshka 56e11ae1de Cleaned up the (ChildIterator -> Parent) interface 2023-03-04 01:05:37 -05:00
Sasha Koshka 1d9fb6024d Fully implemented Propagator 2023-03-04 00:57:17 -05:00
Sasha Koshka c13cdd570d Implemented all focus methods except for HandleFocus
I am dreading this
2023-03-04 00:38:37 -05:00
Sasha Koshka 5af8d7fd97 Implemented keyboard, mouse, theme, and config event propagation 2023-03-04 00:18:27 -05:00
Sasha Koshka 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 e9e6e4fbe7 Added padding/margin distinction to layouts 2023-03-02 17:58:42 -05:00
Sasha Koshka 285cb4810f Remove margin from layout interface
Layouts will need to store margin and padding values within
themseleves.
2023-03-02 16:48:37 -05:00
Sasha Koshka 2cac2b3bd0 Merge pull request 'data-oriented-patterns' (#9) from data-oriented-patterns into main
Reviewed-on: sashakoshka/tomo#9
2023-03-01 18:07:08 +00:00
Sasha Koshka 1f2e8aa677 Some final theme tweaks 2023-03-01 13:06:34 -05:00
Sasha Koshka ef59f46559 Made the progress bar look nicer 2023-02-28 19:00:34 -05:00
Sasha Koshka 829f1525b8 Not even gonna bother writing a good name 2023-02-28 17:15:20 -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
Sasha Koshka 449922851f Fix list not drawing background 2023-02-26 22:56:20 -05:00
Sasha Koshka 26787d8670 Fixed TextBox 2023-02-26 22:48:14 -05:00