diff options
-rw-r--r-- | image.c | 2 | ||||
-rw-r--r-- | main.c | 6 | ||||
-rw-r--r-- | texture.c | 3 | ||||
-rw-r--r-- | viewport.c | 5 | ||||
-rw-r--r-- | viewport.h | 1 |
5 files changed, 12 insertions, 5 deletions
@@ -225,6 +225,6 @@ int imv_image_has_changed(struct imv_image *img) img->changed = 0; return 1; } else { - return 0; + return 0; } } @@ -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; @@ -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); } @@ -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); +} @@ -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 |