muteki
Loading...
Searching...
No Matches
filepicker.h
Go to the documentation of this file.
1/*
2 * Copyright 2024 dogtopus
3 * SPDX-License-Identifier: MIT
4 */
5
11#ifndef __MUTEKI_UI_VIEWS_FILEPICKER_H__
12#define __MUTEKI_UI_VIEWS_FILEPICKER_H__
13
14#include <muteki/ui/common.h>
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
27#define FILEPICKER_CONTEXT_OUTPUT_ALLOC(calloc_impl, entries, is_utf16) \
28 calloc_impl(entries * 260 + 2, is_utf16 ? sizeof(UTF16) : sizeof(char))
29
33#define FILEPICKER_CONTEXT_OUTPUT_MAX_LFN 260
34
49
52
61 size_t ctx_size;
65 void *unk_0x4;
80 const char *type_list;
89 void *paths;
98 void *unk_0x18;
102 void *unk_0x1c;
106 char *unk_0x20;
118 short unk_0x2c;
122 unsigned short type_list_max_size;
129 unsigned short path_max_cu;
133 unsigned short unk_0x32;
137 unsigned short current_path_idx;
146 unsigned short npaths;
150 unsigned int flags;
162 void *unk_0x44;
166 short unk_0x48;
195 unsigned short status;
199 short unk_0x52;
200};
201
210
219
229
230#ifdef __cplusplus
231} // extern "C"
232#endif
233
234#endif // __MUTEKI_UI_VIEWS_FILEPICKER_H__
#define UTF16
"Portable" Besta UTF-16 type used by other headers.
Definition common.h:54
filepicker_flag_e
Known file picker flags.
Definition filepicker.h:39
@ FILEPICKER_ALLOW_MULTIPLE
Allow multiple files.
Definition filepicker.h:43
@ FILEPICKER_USE_MB
Use multi-byte strings in the current locale's encoding instead of UTF16.
Definition filepicker.h:47
int _GetNextFileName(filepicker_context_t *ctx, UTF16 *out)
Read the next path from a context struct.
bool _GetOpenFileName(filepicker_context_t *ctx)
Show a file picker in open mode.
bool _GetSaveFileName(filepicker_context_t *ctx)
Show a file picker in save mode.
The file picker context.
Definition filepicker.h:56
char unk_0x4c
Unknown.
Definition filepicker.h:178
void * paths
Paths buffer.
Definition filepicker.h:89
void * unk_0x4
Unknown.
Definition filepicker.h:65
char unk_0x4b
Unknown.
Definition filepicker.h:174
const char * type_list
List of accepted file types.
Definition filepicker.h:80
unsigned short current_path_idx
Used by _GetNextFileName() to track current index of path being read.
Definition filepicker.h:137
char unk_0x4d
Unknown.
Definition filepicker.h:182
void * unk_0x18
Unknown.
Definition filepicker.h:98
int unk_0xc
Unknown.
Definition filepicker.h:84
size_t ctx_size
Context size.
Definition filepicker.h:61
char * start_path
Start path.
Definition filepicker.h:94
short unk_0x48
Unknown.
Definition filepicker.h:166
int unk_0x28
Unknown.
Definition filepicker.h:114
unsigned short npaths
Number of paths expected.
Definition filepicker.h:146
short unk_0x52
Unknown.
Definition filepicker.h:199
char unk_0x4f
Unknown.
Definition filepicker.h:190
unsigned short unk_0x32
Unknown.
Definition filepicker.h:133
unsigned int flags
Flags.
Definition filepicker.h:150
void * unk_0x44
Unknown.
Definition filepicker.h:162
char unk_0x4a
Unknown.
Definition filepicker.h:170
void * error_text
Seems to be used to store some kind of error text.
Definition filepicker.h:110
char unk_0x4e
Unknown.
Definition filepicker.h:186
void * unk_0x1c
Unknown.
Definition filepicker.h:102
unsigned short type_list_max_size
Max size of the type list.
Definition filepicker.h:122
int * unk_0x3c
Unknown.
Definition filepicker.h:154
short unk_0x2c
Unknown.
Definition filepicker.h:118
int unk_0x40
Unknown.
Definition filepicker.h:158
unsigned short status
Status of the file picker.
Definition filepicker.h:195
char * unk_0x20
Unknown.
Definition filepicker.h:106
unsigned short path_max_cu
Max size of each path in code units.
Definition filepicker.h:129
Common data structures and definitions for the UI subsystem.