From fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4 Mon Sep 17 00:00:00 2001 From: nirav Date: Sun, 30 Sep 2018 21:39:59 +0530 Subject: Added async file loading --- src/file.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src/file.c') diff --git a/src/file.c b/src/file.c index 459fc5d..22067c2 100644 --- a/src/file.c +++ b/src/file.c @@ -94,34 +94,36 @@ int scan(const char *file_name) return 0; } -char *get_next_file() +void next_file() { if (curr_file_index >= file_list_count - 1) - return NULL; - return file_list[++curr_file_index]; + return; + if (!load_image(file_list[curr_file_index + 1])) + curr_file_index++; } -char *get_prev_file() +void prev_file() { if (curr_file_index <= 0) - return NULL; - return file_list[--curr_file_index]; + return; + if (!load_image(file_list[curr_file_index - 1])) + curr_file_index--; } -char *get_first_file() +void first_file() { if (curr_file_index == 0) - return NULL; - curr_file_index = 0; - return file_list[curr_file_index]; + return; + if (!load_image(file_list[0])) + curr_file_index = 0; } -char *get_last_file() +void last_file() { if (curr_file_index == file_list_count - 1) - return NULL; - curr_file_index = file_list_count - 1; - return file_list[curr_file_index]; + return; + if (!load_image(file_list[file_list_count - 1])) + curr_file_index = file_list_count - 1; } void clean() -- cgit v1.2.3