diff options
author | nirav <nirav@teisuu.com> | 2018-09-30 21:39:59 +0530 |
---|---|---|
committer | Dandelion <nirav@teisuu.com> | 2018-09-30 21:39:59 +0530 |
commit | fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4 (patch) | |
tree | 68cbae9ac3e84cce4a4b6402d046e2a31bb4e188 /src/file.c | |
parent | 51d91d63181f82f605a8b9de6d280622ef697630 (diff) | |
download | im-fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4.tar.gz im-fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4.zip |
Added async file loading
Diffstat (limited to 'src/file.c')
-rw-r--r-- | src/file.c | 30 |
1 files changed, 16 insertions, 14 deletions
@@ -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() |