Commit Graph

500 Commits

Author SHA1 Message Date
972f4d3af7 Merge pull request 'raw-buffer-api' (#1) from raw-buffer-api into main
Reviewed-on: sashakoshka/tomo#1
2023-01-15 02:04:35 +00:00
e83dde2d21 Replaced the chiseled box with the chiseled pattern 2023-01-14 21:01:00 -05:00
9540812a04 Implemented a multiborder pattern 2023-01-14 20:08:55 -05:00
4d609f6fa1 Line no longer segfaults 2023-01-14 14:05:27 -05:00
e740f5385c Mouse test does not draw lines if mouse is not held down 2023-01-14 14:00:57 -05:00
d75ec12a3c Fixed bug with StrokeRectangle where some areas were blank 2023-01-14 13:59:07 -05:00
89eb88c982 Draw border around mouse test 2023-01-14 13:57:12 -05:00
b52696025a Implemented StrokeRectangle 2023-01-14 13:40:05 -05:00
ec24eb7b4f Text rendering is a thing again 2023-01-14 12:41:51 -05:00
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
babc4a4af8 Oops 2023-01-13 13:58:19 -05:00
7ad027be42 Clock hands are more accurate 2023-01-13 13:55:20 -05:00
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
60c2ccbec2 Add nice padding to the clock example 2023-01-12 18:03:08 -05:00
Sasha Koshka
1f3e925433 Fixed not setting text drawer max size properly 2023-01-12 18:00:36 -05:00
Sasha Koshka
5eb3067a34 Added an example demonstrating the use of goroutines 2023-01-12 16:12:43 -05:00
Sasha Koshka
588c52b30a Added a Warp method to Container for batch updates 2023-01-12 16:02:33 -05:00
Sasha Koshka
9710e57b2b Added an example of how to use the flow 2023-01-12 15:33:50 -05:00
Sasha Koshka
0f9153e496 Added a flow control struct 2023-01-12 14:45:20 -05:00
Sasha Koshka
00a20c5e1c Removed the iterator package
There is no need for it at the moment.
2023-01-12 14:33:30 -05:00
Sasha Koshka
84ea6178b0 NewDialog now returns a window. 2023-01-12 14:12:24 -05:00
26c1dc062b Added popups 2023-01-12 12:51:42 -05:00
519e0b9c6b Keynav moment 2023-01-11 22:30:14 -05:00
80c0a6be71 Window attempts to advance child's selection on alt-tab 2023-01-11 18:32:02 -05:00
507217a9da Added license 2023-01-11 17:57:29 -05:00
d48d80693f Added simple readme 2023-01-11 16:01:06 -05:00
c2a76fcaf6 Added extended selection capabilities to the API 2023-01-11 15:46:48 -05:00
5b850ef183 Added dialog layout 2023-01-11 01:56:05 -05:00
c18a3883bf Added a horizontal layout 2023-01-10 23:20:42 -05:00
1c7467c4bc Fixed bug with vertical layout being cringe 2023-01-10 22:27:25 -05:00
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
b1fd021120 dasjkhkljashdkjsha 2023-01-10 11:51:46 -05:00
34848f616b Moved element core to new package 2023-01-09 21:25:36 -05:00
bbdc5a0162 Created vertical layout example 2023-01-09 21:22:08 -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
70e0566f3f Styling now supports selection 2023-01-09 15:14:36 -05:00
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
1526772a05 Implemented Do()
Oops
2023-01-09 11:36:37 -05:00
292669a43f Further simplified the API and updated the X backend to match
The MinimumWidth and MinimumHeight behaviors have been condensed
into MinimumSize, which returns both dimensions at once.
2023-01-09 11:31:59 -05:00
c94329e273 Added useful run methods to ParentHooks 2023-01-09 11:28:18 -05:00
7c6b9317fc Updated the X backend to reflect the new API change
The window no longer behaves like an element, and it sets an
entire ParentHooks struct instead of individual callbacks.
2023-01-09 11:21:23 -05:00
192a91757f Changed the API to make it handle keynav better and be simpler
I have yet to actually update the code to reflect these changes.
I will do this shortly.
2023-01-09 11:17:29 -05:00
00d75d4488 Initial commit 2023-01-09 01:03:19 -05:00