Commit Graph

518 Commits

Author SHA1 Message Date
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
Martin Fouilleul 81ead1ba91 [in-app console]
- splitting input state from app structures in milepost, so that it can be used from another thread than main event thread.
- Adding a collapsable debug overlay to orca window (wip)
2023-04-19 11:28:53 +02:00
Martin Fouilleul ab150f94f2 separating input state from app, so that it can be used in different threads that main thread. E.g. ui context uses its own input state that can be fed events in a second thread 2023-04-19 11:28:20 +02:00
Martin Fouilleul 47722e99ca pull utf8 from milepost into orca 2023-04-18 18:43:06 +02:00
Martin Fouilleul f1d6e0f15c remove unnecessary platform headers from utf8 files 2023-04-18 18:42:48 +02:00
Martin Fouilleul b3c9e0822b moved asserts to platform layer 2023-04-18 18:36:21 +02:00