summaryrefslogtreecommitdiff
path: root/reduced_system_layer.c
diff options
context:
space:
mode:
Diffstat (limited to 'reduced_system_layer.c')
-rwxr-xr-xreduced_system_layer.c40
1 files changed, 21 insertions, 19 deletions
diff --git a/reduced_system_layer.c b/reduced_system_layer.c
index 50f676f..461155e 100755
--- a/reduced_system_layer.c
+++ b/reduced_system_layer.c
@@ -631,7 +631,7 @@ typedef struct {
i64 input_capacity;
vec4_f32 *pixels;
- vec4_f32 *sketch;
+ f32 *sketch;
Input_Key *input;
Drop_File *drop_files;
c8 *clipboard_text;
@@ -667,7 +667,7 @@ void run_main_window_event_loop(void);
// Clipboard
void write_clipboard_text(i64 size, c8 *data);
-void write_clipboard_image(i64 width, i64 heiht, vec4_f32 *pixels);
+void write_clipboard_image(i64 width, i64 height, vec4_f32 *pixels);
void write_clipboard_sound(i8 num_channels, i64 num_samples, f32 *frames);
// Take a screenshot
@@ -687,6 +687,8 @@ void shutdown_all_systems(void);
// Memory
void *memory_buffer_allocate(i64 size, i64 alignment, i64 previous_size, void *previous_data);
+void resize_dynamic_array_exact(i64 *num, void **data, i64 element_size, i64 new_num);
+void resize_dynamic_array_capacity(i64 *num, i64 *capacity, void **data, i64 element_size, i64 new_num);
#ifdef REDUCED_SYSTEM_LAYER_HEADER
extern Platform g_platform;
@@ -886,7 +888,7 @@ void *memory_buffer_allocate(i64 size, i64 alignment, i64 previous_size, void *p
return dst;
}
-void wrap_dynamic_array_exact(i64 *num, void **data, i64 element_size, i64 new_num) {
+void resize_dynamic_array_exact(i64 *num, void **data, i64 element_size, i64 new_num) {
if (num == NULL || data == NULL) {
LOG_ERROR("Sanity");
return;
@@ -906,14 +908,14 @@ void wrap_dynamic_array_exact(i64 *num, void **data, i64 element_size, i64 new_n
*data = new_data;
}
-void wrap_dynamic_array_capacity(i64 *num, i64 *capacity, void **data, i64 element_size, i64 new_num) {
+void resize_dynamic_array_capacity(i64 *num, i64 *capacity, void **data, i64 element_size, i64 new_num) {
if (num == NULL || capacity == NULL || data == NULL) {
LOG_ERROR("Sanity");
return;
}
if (new_num > *capacity)
- wrap_dynamic_array_exact(capacity, data, element_size, new_num);
+ resize_dynamic_array_exact(capacity, data, element_size, new_num);
*num = new_num;
}
@@ -1505,12 +1507,12 @@ static void drop_files_clean_(void) {
g_platform.files_dropped = 0;
for (i64 i = 0; i < g_platform.num_drop_files; ++i) {
- wrap_dynamic_array_exact(&g_platform.drop_files[i].name_len, (void **) &g_platform.drop_files[i].name, 1, 0);
- wrap_dynamic_array_exact(&g_platform.drop_files[i].data_size, (void **) &g_platform.drop_files[i].data, 1, 0);
+ resize_dynamic_array_exact(&g_platform.drop_files[i].name_len, (void **) &g_platform.drop_files[i].name, 1, 0);
+ resize_dynamic_array_exact(&g_platform.drop_files[i].data_size, (void **) &g_platform.drop_files[i].data, 1, 0);
}
- wrap_dynamic_array_exact(&g_platform.num_drop_files, (void **) &g_platform.drop_files, sizeof *g_platform.drop_files, 0);
- wrap_dynamic_array_exact(&_drop_files_buffer_len, (void **) &_drop_files_buffer, 1, 0);
+ resize_dynamic_array_exact(&g_platform.num_drop_files, (void **) &g_platform.drop_files, sizeof *g_platform.drop_files, 0);
+ resize_dynamic_array_exact(&_drop_files_buffer_len, (void **) &_drop_files_buffer, 1, 0);
}
static i64 align_size_(i64 x) {
@@ -1525,7 +1527,7 @@ static void drop_files_set_num_(i64 num) {
i64 prev_num = g_platform.num_drop_files;
- wrap_dynamic_array_exact(&g_platform.num_drop_files, (void **) &g_platform.drop_files, sizeof *g_platform.drop_files, num);
+ resize_dynamic_array_exact(&g_platform.num_drop_files, (void **) &g_platform.drop_files, sizeof *g_platform.drop_files, num);
mem_set_(g_platform.drop_files + prev_num, 0, sizeof *g_platform.drop_files * (g_platform.num_drop_files - prev_num));
}
@@ -1543,7 +1545,7 @@ static void drop_files_set_name_(i64 index, i64 name_len, c8 *name) {
Drop_File *f = g_platform.drop_files + index;
- wrap_dynamic_array_exact(&f->name_len, (void **) &f->name, 1, name_len);
+ resize_dynamic_array_exact(&f->name_len, (void **) &f->name, 1, name_len);
mem_cpy_(f->name, name, f->name_len);
}
@@ -1560,7 +1562,7 @@ static void drop_files_set_data_(i64 index, i64 data_size) {
Drop_File *f = g_platform.drop_files + index;
- wrap_dynamic_array_exact(&f->data_size, (void **) &f->data, 1, data_size);
+ resize_dynamic_array_exact(&f->data_size, (void **) &f->data, 1, data_size);
}
static i8 pixel_size_update_(i32 real_width, i32 real_height) {
@@ -1681,7 +1683,7 @@ static void network_init_(u16 slot) {
i64 prev_num = _num_sockets;
if (num > prev_num) {
- wrap_dynamic_array_exact(&_num_sockets, (void **) &_sockets, sizeof *_sockets, num);
+ resize_dynamic_array_exact(&_num_sockets, (void **) &_sockets, sizeof *_sockets, num);
mem_set_(_sockets + prev_num, 0, num - prev_num);
}
}
@@ -2932,7 +2934,7 @@ i32 handle_main_window_events(void) {
memset(g_platform.key_pressed, 0, sizeof g_platform.key_pressed);
memset(_key_repeat, 0, sizeof _key_repeat);
- wrap_dynamic_array_capacity(&g_platform.input_len, &g_platform.input_capacity, (void **) &g_platform.input, sizeof *g_platform.input, 0);
+ resize_dynamic_array_capacity(&g_platform.input_len, &g_platform.input_capacity, (void **) &g_platform.input, sizeof *g_platform.input, 0);
g_platform.cursor_dx = 0;
g_platform.cursor_dy = 0;
@@ -3016,7 +3018,7 @@ i32 handle_main_window_events(void) {
g_platform.key_down[MOD_META] = !!(ev.xkey.state & Mod4Mask);
i64 n = g_platform.input_len;
- wrap_dynamic_array_capacity(&g_platform.input_len, &g_platform.input_capacity, (void **) &g_platform.input, sizeof *g_platform.input, n + 1);
+ resize_dynamic_array_capacity(&g_platform.input_len, &g_platform.input_capacity, (void **) &g_platform.input, sizeof *g_platform.input, n + 1);
if (n < g_platform.input_len) {
if (k < 32 || k >= 128)
@@ -3263,7 +3265,7 @@ i32 handle_main_window_events(void) {
if (target_text == None && target_image == None && target_sound == None)
_requested_clipboard = 0;
} else if (ev.xselection.target == XA_STRING || ev.xselection.target == _text_plain || ev.xselection.target == _utf8_string) {
- wrap_dynamic_array_exact(&g_platform.clipboard_text_len, (void **) &g_platform.clipboard_text, 1, len + 1);
+ resize_dynamic_array_exact(&g_platform.clipboard_text_len, (void **) &g_platform.clipboard_text, 1, len + 1);
mem_cpy_(g_platform.clipboard_text, data, len);
g_platform.clipboard_text[len] = '\0';
_requested_clipboard = 0;
@@ -3467,9 +3469,9 @@ void render_main_window_frame(void) {
i64 num_pixels = g_platform.frame_width * g_platform.frame_height;
if (_pixels_scaled_len < num_pixels)
- wrap_dynamic_array_exact(&_pixels_scaled_len, (void **) &_pixels_scaled, sizeof *_pixels_scaled, num_pixels);
+ resize_dynamic_array_exact(&_pixels_scaled_len, (void **) &_pixels_scaled, sizeof *_pixels_scaled, num_pixels);
if (_pixels_internal_len < num_pixels)
- wrap_dynamic_array_exact(&_pixels_internal_len, (void **) &_pixels_internal, sizeof *_pixels_internal, num_pixels);
+ resize_dynamic_array_exact(&_pixels_internal_len, (void **) &_pixels_internal, sizeof *_pixels_internal, num_pixels);
if (g_platform.frame_width == _image.width && g_platform.frame_height == _image.height) {
i64 size = g_platform.frame_width * g_platform.frame_height;
@@ -3498,7 +3500,7 @@ void render_main_window_frame(void) {
void write_clipboard_text(i64 size, c8 *data) {
XSetSelectionOwner(_display, _clipboard, _window, CurrentTime);
- wrap_dynamic_array_exact(&g_platform.clipboard_text_len, (void **) &g_platform.clipboard_text, 1, size + 1);
+ resize_dynamic_array_exact(&g_platform.clipboard_text_len, (void **) &g_platform.clipboard_text, 1, size + 1);
i64 len = g_platform.clipboard_text_len - 1;
if (len >= 0) {