Commit graph

3802 commits

Author SHA1 Message Date
Joshua Holmes
e8b1ef9b25 linux: implement better logging for when wayland fails or x11 is desired 2024-12-24 15:44:31 -07:00
Joshua Holmes
fdc3666a95 wayland: setup with new object system 2024-12-24 15:44:31 -07:00
Stephen Gutekanst
b3a5186f3a build: update mach-objc dependency
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-24 15:40:16 -07:00
foxnne
cc387ddb59 core: darwin: Only recreate swapchain and send resize event if the window size actually changed 2024-12-24 15:40:16 -07:00
foxnne
8520c6d7d4 core: windows: Update to match darwin and handle updating the swapchain and window/framebuffer sizes 2024-12-24 15:40:16 -07:00
foxnne
4ada021a15 core: darwin: Document the command key fix 2024-12-24 15:40:16 -07:00
foxnne
4a6101241c core: darwin: magnify -> zoom_gesture, add workaround from GLFW for command key blocking keyUp on other keys 2024-12-24 15:40:16 -07:00
foxnne
a85916f00f core: darwin: implement cursor_mode and cursor_shape updates 2024-12-24 15:40:16 -07:00
foxnne
60a68a7453 darwin: Add insertText callback which is responsible for firing char_input events 2024-12-24 15:40:16 -07:00
foxnne
c70b1817ee core: window.color -> window.transparent, window.decorated, window.decoration_color 2024-12-24 15:40:16 -07:00
foxnne
ff11fd6d4c core: darwin: Add ability to detect and fire magnify event which is triggered by pinch to zoom on a trackpad 2024-12-24 15:40:16 -07:00
foxnne
98c303aefc core: darwin: More input callbacks, correct framebuffer/window sizes, core has responsibility of swapchain 2024-12-24 15:40:16 -07:00
foxnne
a10cbc3419 build: update mach-objc build.zig.zon, and small corrections to core-transparent-window example 2024-12-08 14:41:09 -07:00
foxnne
5ba95f714d metal: Remove wait 2024-12-08 10:22:42 -07:00
foxnne
059a271b3b darwin: windowWillResize_toSize -> windowDidResize, fixes a bug where window size didn't include titlebar height. Depends on https://github.com/hexops/mach-objc/pull/30 2024-12-08 10:22:42 -07:00
foxnne
14dee01b43 sysgpu/metal: waitUntilScheduled -> waitUntilCompleted 2024-12-08 10:22:42 -07:00
foxnne
0a78c4cc08 darwin: first pass at trying to enable vsync 2024-12-08 10:22:42 -07:00
foxnne
6ef58d8c1f example: core-transparent-window now animates the window color and transparency 2024-12-08 10:22:42 -07:00
foxnne
4bbca0eb95 Update mach-objc in build.zig.zon 2024-12-08 10:22:42 -07:00
foxnne
19040cae25 darwin: temporarily set window background to be transparent. examples: Add core-transparent-window and remove input from core-triangle 2024-12-08 10:22:42 -07:00
foxnne
f8a2858df8 darwin: Get window title working 2024-12-08 10:22:42 -07:00
foxnne
ad5700cf48 core: Remove main_window in favor of users creating their own windows. Added event window_open which is called when the platform has finished initializing the window 2024-12-01 18:32:15 -07:00
Stephen Gutekanst
b33f85576e object: fix dead object recycling
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
b844fa7d1c examples: play-opus: make audio low-latency more obvious
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
da860f84c6 Audio: less error-prone object update
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
314abeb988 audio: update Audio module to new object system
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
281884e9b0 examples: core-triangle: cleanup width/height input handler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
3b45eda8df core: darwin: fix inverted width/height
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
3bb7833e38 core: darwin: fix use-after-free
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
9032a22064 object: graph: expose Graph.Results
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
6dd7b48662 module: add getFirstChildOfType helper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
cddebeb01f object: fix Objects.is() function
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
Stephen Gutekanst
58d9c378ca object: fix Objects.Slice delete/get/set methods
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-12-01 13:55:30 -07:00
foxnne
3aee6995d7 windows: translate and dispatch messages each frame 2024-12-01 13:19:02 -07:00
foxnne
5bcdcadb74 core: Windows needed heap-allocated context 2024-12-01 13:19:02 -07:00
foxnne
06aec428de core: windows: Get triangle showing, still freezing on run. Comment out more windows, set value of window back on presentFrame. 2024-12-01 12:19:50 -07:00
foxnne
e15cbe63de windows: implement tick, call core.initWindow, various fixes 2024-12-01 10:55:01 -07:00
Joshua Holmes
0ec182c3f4 linux: get build working with new system 2024-12-01 10:53:15 -07:00
Colton Franklin
1fe47b2b19
obj: Move Platform and InitOptions fields into core.windows (#1309)
* obj: Make field tracking use a single bitset

* obj: module: fix comment

* obj: Move `Platform` state and `InitOptions` fields into `core.windows`, initial push, only triangle example working on macos currently

* obj: `get` and `getValue` (renamed `getAll`) now do not return optionals, comment revisions, `device` is no longer optional, `native` is optional

* core: Lots of cleanup of unnecessary comments

* core: `Event`s now all contain `window_id`, darwin/windows: event functions now send window id

* core: comments, examples: fix `core-custom-entrypoint`
2024-11-30 15:13:14 -07:00
Stephen Gutekanst
b4e2da1b69 object: fix Modules().init error
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 14:49:55 -07:00
Stephen Gutekanst
60df3e7cdc object: graph: replace switching-consumer pattern with dedicated graph processing thread
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 12:22:10 -07:00
Stephen Gutekanst
d72facda9a object: remove MPSC queue takeAll() in favor of just pop()
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 12:18:21 -07:00
Stephen Gutekanst
4bcafe89c4 object: fix race detected by tsan in mpsc queue
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-11-30 12:00:45 -07:00
foxnne
40dcef1836 obj: module: fix comment 2024-11-30 08:29:10 -07:00
foxnne
797f8f7a58 obj: Make field tracking use a single bitset 2024-11-30 08:29:10 -07:00
Emi Gutekanst
a43ffcacc2 object: clarify comment 2024-11-27 18:30:53 -07:00
foxnne
314b761b71 darwin: Set main window width and height on event 2024-11-27 18:30:53 -07:00
foxnne
8f92bfbace core: add processWindowUpdates which we call from both platform_update_callback and tick 2024-11-27 18:30:53 -07:00
foxnne
27ec56a4cc obj: Better type handling 2024-11-27 18:30:53 -07:00
foxnne
863b1def16 obj: Fix comment 2024-11-27 18:30:53 -07:00