From 3ec88a6a3940621d5ca36671887a85487ff15775 Mon Sep 17 00:00:00 2001 From: Jose Diez Date: Wed, 11 Nov 2015 13:42:08 +0000 Subject: Code cleanup: moved some SDL calls to the appropriate classes. --- image.c | 2 +- main.c | 6 ++---- texture.c | 3 +++ viewport.c | 5 +++++ viewport.h | 1 + 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 -- cgit v1.2.3