aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Diez <jose.manuel.diez@gmail.com>2015-11-11 13:42:08 +0000
committerJose Diez <jose.manuel.diez@gmail.com>2015-11-11 13:43:13 +0000
commit3ec88a6a3940621d5ca36671887a85487ff15775 (patch)
tree72c4db676b146d6988a8c02c0c5325f9dd11bb98
parentb4c5b57e5b0c24b38c01d09e41c370b00934bec1 (diff)
downloadimv-3ec88a6a3940621d5ca36671887a85487ff15775.tar.gz
Code cleanup: moved some SDL calls to the appropriate classes.
-rw-r--r--image.c2
-rw-r--r--main.c6
-rw-r--r--texture.c3
-rw-r--r--viewport.c5
-rw-r--r--viewport.h1
5 files changed, 12 insertions, 5 deletions
diff --git a/image.c b/image.c
index 1fb8094..9390645 100644
--- a/image.c
+++ b/image.c
@@ -225,6 +225,6 @@ int imv_image_has_changed(struct imv_image *img)
img->changed = 0;
return 1;
} else {
- return 0;
+ return 0;
}
}
diff --git a/main.c b/main.c
index 6dbe39e..2efeec3 100644
--- a/main.c
+++ b/main.c
@@ -227,7 +227,7 @@ int main(int argc, char** argv)
char title[256];
snprintf(&title[0], sizeof(title), "imv - [%i/%i] [LOADING] %s",
nav.cur_path + 1, nav.num_paths, current_path);
- SDL_SetWindowTitle(window, (const char*)&title);
+ imv_viewport_set_title(&view, title);
if(!current_path) {
fprintf(stderr, "No input files left. Exiting.\n");
@@ -240,7 +240,7 @@ int main(int argc, char** argv)
snprintf(&title[0], sizeof(title), "imv - [%i/%i] [%ix%i] %s",
nav.cur_path + 1, nav.num_paths,
img.width, img.height, current_path);
- SDL_SetWindowTitle(window, (const char*)&title);
+ imv_viewport_set_title(&view, title);
imv_viewport_reset(&view);
}
/* Autoscale if requested */
@@ -264,9 +264,7 @@ int main(int argc, char** argv)
}
if(view.redraw) {
- SDL_RenderClear(renderer);
imv_texture_draw(&tex, view.x, view.y, view.scale);
- SDL_RenderPresent(renderer);
view.redraw = 0;
}
last_time = SDL_GetTicks() / 1000.0;
diff --git a/texture.c b/texture.c
index 5cedcc3..7dd6157 100644
--- a/texture.c
+++ b/texture.c
@@ -121,6 +121,8 @@ void imv_texture_draw(struct imv_texture *tex, int bx, int by, double scale)
{
int offset_x = 0;
int offset_y = 0;
+
+ SDL_RenderClear(tex->renderer);
for(int y = 0; y < tex->num_chunks_tall; ++y) {
for(int x = 0; x < tex->num_chunks_wide; ++x) {
int img_w, img_h, img_access;
@@ -140,4 +142,5 @@ void imv_texture_draw(struct imv_texture *tex, int bx, int by, double scale)
offset_x = 0;
offset_y += tex->chunk_height * scale;
}
+ SDL_RenderPresent(tex->renderer);
}
diff --git a/viewport.c b/viewport.c
index 4ba207f..1630604 100644
--- a/viewport.c
+++ b/viewport.c
@@ -112,3 +112,8 @@ void imv_viewport_set_redraw(struct imv_viewport *view)
{
view->redraw = 1;
}
+
+void imv_viewport_set_title(struct imv_viewport *view, char* title)
+{
+ SDL_SetWindowTitle(view->window, title);
+}
diff --git a/viewport.h b/viewport.h
index 2d39cb9..2cff15c 100644
--- a/viewport.h
+++ b/viewport.h
@@ -43,5 +43,6 @@ void imv_viewport_zoom(struct imv_viewport*, int);
void imv_viewport_center(struct imv_viewport*, const struct imv_image*);
void imv_viewport_scale_to_window(struct imv_viewport*, const struct imv_image*);
void imv_viewport_set_redraw(struct imv_viewport*);
+void imv_viewport_set_title(struct imv_viewport*, char*);
#endif