aboutsummaryrefslogtreecommitdiff
path: root/src/file.c
diff options
context:
space:
mode:
authornirav <nirav@teisuu.com>2018-09-30 21:39:59 +0530
committerDandelion <nirav@teisuu.com>2018-09-30 21:39:59 +0530
commitfde5cb29f95f51ed075c34f5eebdccb81fa2f0e4 (patch)
tree68cbae9ac3e84cce4a4b6402d046e2a31bb4e188 /src/file.c
parent51d91d63181f82f605a8b9de6d280622ef697630 (diff)
downloadim-fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4.tar.gz
im-fde5cb29f95f51ed075c34f5eebdccb81fa2f0e4.zip
Added async file loading
Diffstat (limited to 'src/file.c')
-rw-r--r--src/file.c30
1 files changed, 16 insertions, 14 deletions
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()