Commit Graph

573 Commits

Author SHA1 Message Date
Martin Fouilleul 41b6128a35 [io] testing abstracted io 2023-05-26 11:40:00 +02:00
Martin Fouilleul c75661cfc9 [io] abstract file io API, using a request/completion model ala io_uring (w/ only synchronous completion for now), and per-platform backend 2023-05-25 20:08:38 +02:00
Martin Fouilleul debffac5c0 [path] use new mem_scratch_begin_next() API in path functions, to handle the case where passed-in result arena is itself a scratch arena 2023-05-24 20:36:05 +02:00
Martin Fouilleul ba125ae860 [mem] change scratch arena API to allow using independant scratch for temporary computations and results 2023-05-24 20:17:03 +02:00
Martin Fouilleul 02014a6ddf update milepost and use new file path functions 2023-05-24 16:31:01 +02:00
Martin Fouilleul 02bfe587c8 [path] adding platform path functions 2023-05-24 16:27:39 +02:00
Martin Fouilleul 43c23627e2 Merge branch 'win32' into orca 2023-05-24 15:11:32 +02:00
martinfouilleul db0dadd128 [win32] allow specifying start folder in open/save dialogs 2023-05-23 17:24:38 +02:00
martinfouilleul ed45d88cfd [win32] add file type filters to open/save dialogs 2023-05-23 16:43:57 +02:00
martinfouilleul 49de9d0290 [win32] added basic mp_save_dialogue() implementation using COM IFileSaveDialog 2023-05-23 16:04:49 +02:00
martinfouilleul e24500e18d [win32] added basic mp_open_dialog() implementation using COM IFileOpenDialog 2023-05-23 15:59:29 +02:00
martinfouilleul a54c8b4f4b [win32] alert popup using TaskDialogIndirect(): automatically handles icons, dpi, and text/buttons layout (but requires Vista or higher) 2023-05-23 14:50:31 +02:00
martinfouilleul f1d8dd1ca9 [win32] crappy message box with custom button text. Not DPI aware, doesn't show message box image (eg exclamation/information mark), and has very crude layout... 2023-05-23 12:55:57 +02:00
Martin Fouilleul 83aea67305 [perf_text example] track CMUSerif-Roman.ttf 2023-05-22 10:13:52 +02:00
Martin Fouilleul 259d381e56 [perf_text example] track CMUSerif-Roman.ttf 2023-05-22 10:10:08 +02:00
martinfouilleul a6a37c874e [win32] adding prototypes for open/save/alert dialogs in win32_app.c 2023-05-17 16:50:07 +02:00
martinfouilleul 2a01cba026 [ui] Fix ui scrolling 2023-05-17 15:48:25 +02:00
martinfouilleul 9f7cfd985c [win32] re-introduced perf_text, tiger, and ui examples 2023-05-17 15:14:14 +02:00
martinfouilleul 2bec7a633a [win32] reflected changes to canvas surface interface on GL backend. But implementation still uses the (slower) Loop-Blinn + triangle fan method. 2023-05-16 18:06:22 +02:00
martinfouilleul b6db5107a3 [win32, wip] simple GL triangle example 2023-05-12 16:50:14 +02:00
martinfouilleul 52538248d9 [win32, wip] compile and run simple window example 2023-05-12 16:46:13 +02:00
martinfouilleul 62b8b3323e [win32, wip] Remove input state from win32_app code 2023-05-12 11:42:35 +02:00
martinfouilleul 2bf6a4f007 Fixed void pointer arithmetic in hash.c to avoid pedantic error on msvc 2023-05-12 11:13:55 +02:00
Martin Fouilleul 33dd2214a8 merge io into image 2023-05-11 19:42:12 +02:00
Martin Fouilleul bfc81fd062 [io] check that file path doesn't escape app's local data folder when opening files 2023-05-11 19:42:12 +02:00
Martin Fouilleul e82225116b [io] Store last error in file handle, lockdown on fatal error 2023-05-11 19:42:12 +02:00
Martin Fouilleul 25f66b3954 [io, wip] read/write/seek/pos/size operations (todo: error on handle) 2023-05-11 19:42:12 +02:00
Martin Fouilleul 4ae51d7a23 [file io, wip] open/close file API 2023-05-11 19:42:12 +02:00
Martin Fouilleul 0fab5635e2 update milepost with fix to mg_image_size() 2023-05-10 11:25:23 +02:00
Martin Fouilleul 9b29e681fe Merge commit 'e426319' into orca (integrate fix to mg_image_size(), which doesn't need a current canvas anymore) 2023-05-10 11:20:30 +02:00
Martin Fouilleul e426319723 Fix mg_image_size() (doesn't need a current canvas anymore) 2023-05-10 11:18:36 +02:00
Martin Fouilleul 3f1447f729 Always put arena pointer in mem_arena_marker, to avoid possible DEBUG value discrepancy between lib and client code 2023-05-09 18:29:32 +02:00
Martin Fouilleul 569b05526b update milepost: fix image data not storing surface handle in mg_image_create() 2023-05-08 13:05:42 +02:00
Martin Fouilleul 1ab1d70df2 Fix image data not storing surface handle in mg_image_create() 2023-05-08 13:01:45 +02:00
Martin Fouilleul 891d84da61 upadate milepost to use arch-agnostic hash functions 2023-04-29 19:26:38 +02:00
Martin Fouilleul 39e96e0739 Added xxhash64 hash function and use that instead of x64-specific aes hash, until we get an arm version 2023-04-29 19:25:40 +02:00
Martin Fouilleul ea787ed686 update readme and angle install notes 2023-04-26 15:59:03 +02:00
Martin Fouilleul f69a6b31ae update angle install notes 2023-04-26 15:58:42 +02:00
Martin Fouilleul 6c8c74e775 Migrating milepost submodule to HMN gitea 2023-04-26 15:31:00 +02:00
Martin Fouilleul 3874e798c3 Compile canvas command buffer into wasm and bind host surface/render API 2023-04-26 14:57:12 +02:00
Martin Fouilleul b27dc615d1 Finish separating graphics_common and graphics_surface + add platform_math, so that we can compile graphics_common to wasm in orca 2023-04-26 14:56:02 +02:00
Martin Fouilleul ca1caf8537 splitting graphics_surface and graphics_common in order to isolate surface dispatch stuff from orca apps 2023-04-25 22:15:56 +02:00
Martin Fouilleul 346979a21a [canvas] change surface/canvas APIs to treat canvas a 'just another kind of surface', and split canvas implementation (managed by surface) from canvas _command buffer_ and implicit context (represented by mg_canvas) 2023-04-25 19:13:15 +02:00
Martin Fouilleul 32d7d91893 [wip] changed ui_begin_frame() to take explicit canvas size 2023-04-25 15:10:05 +02:00
Martin Fouilleul 3769b70753 [wip] changing backend enum to api enum, and adding canvas api in here 2023-04-25 14:54:52 +02:00
Martin Fouilleul 58effcb413 fixed using wrong length when copying debug entries function name 2023-04-21 10:02:17 +02:00
Martin Fouilleul 28a4fe0579 First draft of in-app debug console 2023-04-20 15:47:18 +02:00
Martin Fouilleul 7c273f494b [ui, logging]
- Changed workings of ui_panel() and scrolling to make it easier for usage code to control scrolling.
- Renamed logging functions
2023-04-20 15:40:00 +02:00
Martin Fouilleul eb09d73fa8 [milepost] changes to event system that allows using events with payloads (eg file paths) across threads 2023-04-19 16:19:13 +02:00
Martin Fouilleul bb6b68ad73 [event system] allocate events and additional payload (e.g. file paths) directly in ring buffer, and copy them to user-supplied arena in mp_next_event() 2023-04-19 16:16:36 +02:00