Martin Fouilleul
d363c8b607
[wip, osx, io] reorganizing io_open_restrict, fix opening last element with the correct flags
2023-06-15 18:27:33 +02:00
martinfouilleul
c71da9e761
[io, win32] separate 'raw io' primitives from the io_open_restrict() implementation
2023-06-14 19:41:51 +02:00
martinfouilleul
49643520ee
[win32, io] adding context struct for use in io_open_path_restrict()
2023-06-14 18:35:33 +02:00
martinfouilleul
5d2bf9eab9
[wip, win32, io] win32 file io passing tests (still work to do though)
2023-06-14 17:21:31 +02:00
martinfouilleul
0fa6dcd2ea
[win32, io]
...
- Added str16 functions for dealing with win32 wide char strings
- Added io_open_relative to open a path relative to an already opened handle (with no escape checking)
2023-06-14 12:03:50 +02:00
Martin Fouilleul
529a13867c
fix git handling of symlink
2023-06-13 20:06:20 +02:00
martinfouilleul
9954b69eda
[win32, io] implement IO_OP_OPEN_AT with non-null base directory handle
2023-06-13 19:53:06 +02:00
Martin Fouilleul
0bd985efbc
[io] restrict rights of files open with file_open_at to the rights of the directory handle
2023-06-13 15:56:19 +02:00
Martin Fouilleul
b147aed85c
- Added tests for sandboxing file io with file_open_at() and FILE_OPEN_RESTRICT
...
- Fixed bug in io_open_restrict() that closed the dir file descriptor, making it impossible to use it in subsequent calls.
2023-06-12 18:04:59 +02:00
Martin Fouilleul
37ab5ca5e4
Sanbox file IO to app data directory with IO_OP_OPEN_AT and FILE_OPEN_RESTRICT
2023-06-11 18:21:04 +02:00
Martin Fouilleul
b2d2d2a587
[io] implementing IO_OP_OPEN_AT with FILE_OPEN_RESTRICT flag for sandboxing file access
2023-06-11 18:20:21 +02:00
Martin Fouilleul
a4a3423907
re-integrating file IO with common platform API
2023-06-09 17:28:33 +02:00
Martin Fouilleul
c041b212ab
[io] removed IO_OP_POS, wrap IO_OP_SEEK with offset 0 and flag FILE_SEEK_CURRENT instead
2023-05-31 11:38:17 +02:00
martinfouilleul
a1b3195ddf
[win32, io, wip] add fstat operation (type/size/perms for now, TODO: times)
2023-05-26 18:01:44 +02:00
martinfouilleul
3667ab30e0
[win32, io, wip] add win32 io impl. for open/close/seek/read/write
2023-05-26 16:03:23 +02:00
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