0f3f7b5052oc_runtime_clipboard_get_string() pushes to an arena, so to maintain oc_str8 conventions, we push an implicit null terminator after itMartin Fouilleul2023-09-13 17:05:15 +0200
a5567da82cClipboard handling
#95
Ilia Demianenko
2023-09-11 01:59:23 -0700
d53c688810Keyboard layout support: - Convey both fixed scancodes and keyboard-layout dependent keycodes in key events. - Update scancode to keycode mapping when keyboard layout changes - Allow querying key input state using either keycodes or scancodesMartin Fouilleul2023-09-13 12:22:02 +0200
ce752713f6oc_matrix_push() -> oc_matrix_multiply_push(), and add oc_matrix_push() to push a matrix on the stack as isMartin Fouilleul2023-09-11 20:02:46 +0200
313f2e0ad4Fix quit by sending an event to wakeup the main loop when calling oc_request_quit()
#99
Martin Fouilleul2023-09-11 17:53:55 +0200
ab4abd28d7Fix broken build on MSVC due to size_t being considered equivalent to u64 in _Generic associationsmartinfouilleul2023-09-11 18:09:47 +0200
3e2f550b68switch order of designated enums in strings, to make it easier to compile in c++ mode
#96
Martin Fouilleul2023-09-11 14:15:35 +0200
5394e8f301Update README
Ben Visness
2023-09-10 16:46:32 -0500
5cdded57b3Replace confusing oc_text_bounding_box() with oc_font_text_metrics(), which returns both the logical metrics and ink bounding box of text
#88
Martin Fouilleul2023-09-10 19:25:41 +0200
15a8e2ae22wasm bindings: enforce pointer length * bindgen.py: print an error when a pointer argument doesn't have an annotated length * ensure all bindings with pointers have length annotations * add a couple helper functions for dealing with length annotations
#81
Reuben Dunnington2023-09-06 22:55:14 -0700
9b3a71a5c8Merge pull request 'Make UI look nicer' (#80) from ilidemi/orca:ui-redesign into mainMartinFouilleul2023-09-07 07:42:23 +0000
15bc29d703Merge branch 'main' of git.handmade.network:hmn/orca into ui-redesign
#80
Ilia Demianenko
2023-09-06 22:30:56 -0700
aff03630daMake UI look nicer
Ilia Demianenko
2023-09-06 22:20:59 -0700
425d9b3448- Added basic cheatsheets - Minor cleanups: - Hiding some native-only path APIs - Re-formatting ui.hMartin Fouilleul2023-09-05 16:25:04 +0200
fbb03d27a3Helpers for manipulating orca structs living in wasm memory:Martin Fouilleul2023-09-02 16:20:22 +0200
0205d90941- Added oc_file_open_with_request() to request new file capability for a given path. This presents user with a message box allowing them to accept or deny the request. - Added oc_file_open_with_dialog() to ask user to grant new file capabilities through an open/save dialog.
#78
Martin Fouilleul2023-08-30 16:45:56 +0200
0db1589dc6[canvas] remove degenerate point lines when encoding strokesMartin Fouilleul2023-09-01 19:40:37 +0200
19ce7447aause app->quit on main thread instead of oc_should_quit(), to ensure that runloop_thread always exits its event loop before main thread
#77
martinfouilleul2023-08-30 12:06:32 +0200
1907663cdcSkip drawing ui box when it's rect + boders are fully outside current clip
#76
Martin Fouilleul2023-08-29 18:43:25 +0200
46ef9ee7e8don't hide debug overlay, paint it transparent instead, brought to you by Windows stuttering and crashing on close if you call SwapBuffer on a hidden window :*)
#74
martinfouilleul2023-08-28 19:33:02 +0200
f268f031afSet user-created surfaces to non-blocking and use the debug overlay surface to block on vsync.Martin Fouilleul2023-08-28 18:28:14 +0200
07414af087[mtl canvas] Fix nTilesX/nTilesY computation in oc_mtl_canvas_render (don't multiply twice by scale)Martin Fouilleul2023-08-29 18:13:01 +0200
9164e66cc6[mtl canvas] fixed bug were order of mtl_segment_setup arguments tileOpMax and segmentMax were interverted, which would cull tile ops based on max number of segments, causing weird artifacts for some lengths of the segment bufferMartin Fouilleul2023-08-29 17:36:30 +0200
02bfe30672Expose oc_surface_bring_to_front/send_to_back() to orca apps, and always bring debug layer to front when displaying itMartin Fouilleul2023-08-28 16:11:55 +0200
b5034d3c81[osx] implement oc_surface_bring_to_front() and oc_surface_send_to_back()Martin Fouilleul2023-08-28 15:48:24 +0200
416044ea76Makes sketches compile and run with changes introduced by renaming pass. This is a combination of 19 commits:
#69
Reuben Dunnington2023-08-24 15:30:20 -0700
ceb4a3a95d[osx canvas] Early out when eltCount or pathCount == 0, which avoid encoding empty passes and firing metal asserts when running in debug mode from xcode.
#65
Reuben Dunnington2023-08-25 07:45:51 -0700
4b1ab4db97expose oc_surface_contents_scaling() to get dpi scaling from a surface
#59
Martin Fouilleul2023-08-23 12:35:25 +0200
0727466f48Merge pull request 'Support move/select/delete word with keyboard in textbox' (#63) from ilidemi/orca:text-box-words into mainMartinFouilleul2023-08-25 13:50:14 +0000
3c199dce34minor
#63
Ilia Demianenko
2023-08-23 19:48:43 -0700
53cf85db53Support move/select/delete word with keyboard in textbox
Ilia Demianenko
2023-08-23 19:43:49 -0700
macos window title/size * add macOS implmentation for oc_window_set_title() * move implementation of oc_window_set_content_size() to a block that is guaranteed to run on the main thread
#61
Reuben Dunnington2023-08-24 11:57:41 -0700
fix some crashes in metal implementation when pathCount and etlCount are 0Reuben Dunnington2023-08-24 11:33:21 -0700
eaa43300d7Clamp rounded rect radius
#64
Ilia Demianenko
2023-08-23 20:04:13 -0700
543feffea9Fix clock rendering artifact
#62
Ilia Demianenko
2023-08-23 17:03:37 -0700
d3e27df818Merge pull request 'Fix leak in canvas code and samples' (#60) from fix_canvas_leak into mainMartinFouilleul2023-08-23 14:33:22 +0000
42738195b5Don't assume oc_scratch() is cleared at the frame boundary. Use oc_scratch_begin()/oc_scratch_end() instead
#60
Martin Fouilleul2023-08-23 16:10:52 +0200
98f131cb30Fix leak in metal surface: command buffer must not be committed if there is no surface to present it to, or it will result in a huge leak in metal resources. Also wrap oc_mtl_surface_acquire_command_buffer() in an @autoreleasepool to fix a smaller leakMartin Fouilleul2023-08-23 15:09:06 +0200
86b1121fbeallow enabling/disabling metal frame capture when bundling a macos appMartin Fouilleul2023-08-23 15:06:35 +0200
f4a82cd381pong: demo oc_request_quit() and oc_on_terminate() * gamestate now records your score (total blocks destroyed) * when all blocks are destroyed, quit * print a message when the app is terminatedReuben Dunnington2023-08-21 15:41:10 -0700
pong: demo oc_request_quit() and oc_on_terminate() * gamestate now records your score (total blocks destroyed) * when all blocks are destroyed, quit * print a message when the app is terminatedReuben Dunnington2023-08-21 15:41:10 -0700