Commit Graph
100 Commits
Author SHA1 Message Date
sashakoshka 6f15ff3366 We now set the target atom properly 2023-03-28 01:00:54 -04:00
sashakoshka 01a0fc1bd3 You can fcucking PASTE now!!! 2023-03-27 20:44:39 -04:00
sashakoshka 02a27447b9 Changed the clipboard API so that it will work with X
In X, clipboard/selection data is specific to each window, and it
may take some time before the clipboard data is fully transferred.
This actually makes sense because there can be entire images in
the clipboard and it is important the clipboard API supports large
file transfer. Because of this, the Copy and Paste methods have
been moved into Window, and Paste now returns a channel.
2023-03-25 13:32:48 -04:00
sashakoshka 6a3f45a2e0 Set transient for on panels
This makes panels behave as expected. It feels incredibly wrong but
shotcut does it, it can't be that bad.
2023-03-24 22:49:53 -04:00
sashakoshka 3aa8495873 Terrible discovery (panels don't work properly) 2023-03-24 17:38:21 -04:00
sashakoshka bdc1109bcf Modal dialogs lock the window's input until they are closed 2023-03-24 01:31:40 -04:00
sashakoshka a2c0ff5f4c Popups package uses the new modal system 2023-03-24 00:47:04 -04:00
sashakoshka d710d13f0d Added the ability to make different window types 2023-03-24 00:34:25 -04:00
sashakoshka fff5ad4d96 File now produces an error'd icon for an erroneous file 2023-03-23 20:57:51 -04:00
sashakoshka d9bddce20b File and directory view elements wip 2023-03-21 12:26:48 -04:00
sashakoshka 60aac053fb Add ability to change an icon's icon 2023-03-21 12:26:06 -04:00
sashakoshka faf5ebb283 List can now add multiple entries at once, and clear all of them 2023-03-20 01:57:06 -04:00
sashakoshka f37101eb9e Ctrl+a selects all in TextBox 2023-03-20 01:56:12 -04:00
sashakoshka d475e5e2ec TextBox now has an OnEnter method. 2023-03-20 01:13:23 -04:00
sashakoshka 221647a265 Made icons a bit better
There is a new IconNone and an IconUpward, and buttons don't
expand awkwardly when they have an icon.
2023-03-20 01:12:19 -04:00
sashakoshka bf667aded9 Small tweaks to the wintergreen atlas 2023-03-18 01:57:17 -04:00
sashakoshka b4befa5aa5 Made the default handle width an odd number 2023-03-17 02:05:22 -04:00
sashakoshka 0f272f4835 DocumentContainer does as well 2023-03-17 02:00:19 -04:00
sashakoshka d651570746 The list element calls the scroll bounds change callback 2023-03-17 01:58:42 -04:00
sashakoshka 493c5210a7 DocumentContainer sets minimum size properly 2023-03-17 01:52:26 -04:00
sashakoshka 0fd56f272c Fixed text being cut of on several examples 2023-03-17 01:38:57 -04:00
sashakoshka 4c6e01203c Label.EmCollapse actually works now 2023-03-17 01:00:11 -04:00
sashakoshka b189518c92 Did the same thing for the vertical layout 2023-03-16 23:04:33 -04:00
sashakoshka 4b788dd783 Horizontal layout does not use integer math anymore
Instead it uses fixed.Int26_6. Could have used floats but then we
would need a new point datatype and we already have utility
functions for fixed point math
2023-03-16 20:55:11 -04:00
sashakoshka cdf805dadc Implemented all text alignment methods 2023-03-16 20:24:33 -04:00
sashakoshka c55925d152 Added a package that just links all backends 2023-03-16 01:14:39 -04:00
sashakoshka 11b680db63 Added package summaries to more packages 2023-03-16 01:10:59 -04:00
sashakoshka d57db6327d Merge branch 'main' of git.tebibyte.media:sashakoshka/tomo 2023-03-16 00:45:50 -04:00
sashakoshka 0d8d2a0190 Cleaned up pattern documentation a bit 2023-03-16 00:45:33 -04:00
sashakoshka 0ebf0bc814 Raycaster example now works 2023-03-16 00:30:59 -04:00
sashakoshka 40aa1a788b Renamed some oddly named files 2023-03-16 00:26:54 -04:00
sashakoshka bffdb000ed Piano element handles motion events 2023-03-16 00:25:36 -04:00
sashakoshka 5ca9206f65 DocumentContainer properly adopts children now 2023-03-16 00:24:40 -04:00
sashakoshka 1239f4e03d Made DocumentContainer satisfy FlexibleParent 2023-03-15 23:57:22 -04:00
sashakoshka 8aaa017902 Re-added OnScrollBoundsChange methods because they are useful 2023-03-15 23:56:00 -04:00
sashakoshka 639baecee5 Propagator unfocuses children before focusing a new one 2023-03-15 23:49:57 -04:00
sashakoshka ef325d5161 Found a flaw in the focusing model, rectifying.
Still need to fix on X backend window, that will be in the next
commit.
2023-03-15 17:08:43 -04:00
sashakoshka 2f60abdfa3 Core properly sets nil parent 2023-03-15 01:46:58 -04:00
sashakoshka 1a66224648 X backend window sets itself as parent (oops) 2023-03-15 01:43:32 -04:00
sashakoshka 275e113e3b Fun elements now conform to new API 2023-03-15 01:42:07 -04:00
sashakoshka 0015820fac Basic elements now conform to new API 2023-03-15 01:41:23 -04:00
sashakoshka f4799ba03d Testing elements now conform to new API 2023-03-14 19:41:36 -04:00
sashakoshka b08cbea320 Overhauled the element interfaces
Instead of the previous parenting model where parents would set
child callbacks during adoption by probing for callback setters,
child elements will instead probe their parents for notify methods
listed in the standard parent interfaces. This means that an
element cannot be half-parented to something, nor can it be
parented to two things at once. Parent elements may themselves
fulfill these interfaces, or they can pass a hook that fulfills
them to the child.
2023-03-14 17:08:39 -04:00
sashakoshka 99e029ae09 TextBox no longer aggressively requests focus 2023-03-13 22:25:57 -04:00
sashakoshka 5149c27cf3 Added untested label collapse 2023-03-13 17:10:27 -04:00
sashakoshka 7ef95cc751 Removed unneeded Container.reflectChildProperties() 2023-03-12 01:57:56 -05:00
sashakoshka b09994973c List and Piano do shattering properly 2023-03-12 01:47:58 -05:00
sashakoshka 37048c6759 Raycaster runs? 2023-03-12 01:33:05 -05:00
sashakoshka be45f7ad71 Fixed some artist bugs 2023-03-12 01:23:20 -05:00
sashakoshka c45268d8c1 Testing elements now conform to the new API 2023-03-12 01:19:40 -05:00
sashakoshka 92e5822185 Basic and fun elements conform to new API change 2023-03-12 01:15:36 -05:00
sashakoshka d31aee1ba8 X backend now follows API 2023-03-12 01:06:12 -05:00
sashakoshka 0f8affd2b2 Made similar changes to the Pattern interface and all of artist 2023-03-12 01:04:06 -05:00
sashakoshka 3d28ebe4cf Made interfacial changes that will allow for elements to be clipped 2023-03-12 00:17:35 -05:00
sashakoshka 5afbc0e713 DocumentContainer constrains its scroll position on resize 2023-03-11 20:04:08 -05:00
sashakoshka b7a7800370 DocumentContainer has a proper minimum width 2023-03-11 19:25:35 -05:00
sashakoshka 15fa3b2497 Quelled some of the strangeness 2023-03-11 18:27:16 -05:00
sashakoshka 081b005679 Added a somewhat buggy DocumentContainer 2023-03-11 18:00:29 -05:00
sashakoshka 1be769526d Removed references to flexible from containers 2023-03-11 00:48:15 -05:00
sashakoshka 51084a6cfe Removed references to flexible from layouts, x backend, core 2023-03-11 00:43:26 -05:00
sashakoshka 677dca1dbf ScrollContainer uses ScrollBar for scrolling 2023-03-11 00:21:54 -05:00
sashakoshka 9cc9e78504 Large icons in the default set! 2023-03-10 18:53:27 -05:00
sashakoshka 5d4a26a877 AnalogClock is no longer flexible. 2023-03-10 13:45:53 -05:00
sashakoshka aaa794ac04 ScrollBar handles scroll wheel events 2023-03-10 13:42:51 -05:00
sashakoshka 8658ecd879 Sort of fixed a flexible height bug 2023-03-10 00:10:26 -05:00
sashakoshka 1c28613981 The scroll bar is better 2023-03-09 23:27:08 -05:00
sashakoshka 8e1638e054 I may have fixed the wierd scrollbar rendering
And something else I didn't realize was there
2023-03-09 22:23:09 -05:00
sashakoshka aff9aca835 We now have an untested lone scrollbar element 2023-03-09 18:15:52 -05:00
sashakoshka cf672824a6 im dumb as hell bruh 2023-03-08 21:05:56 -05:00
sashakoshka 04884bd8e3 Oh my joodness 2023-03-08 20:41:48 -05:00
sashakoshka 305acea285 Use ezprof to profile 2023-03-08 20:24:43 -05:00
sashakoshka f3c1c95a57 Keyboard control for sliders 2023-03-07 19:13:08 -05:00
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