diff --git a/kitty/graphics.h b/kitty/graphics.h index 4a25fb739..55015e88a 100644 --- a/kitty/graphics.h +++ b/kitty/graphics.h @@ -66,7 +66,6 @@ typedef struct { unsigned int height, width; uint8_t* bitmap; uint32_t refcnt; - BackgroundImageAnchor anchor; } BackgroundImage; typedef struct { diff --git a/kitty/shaders.c b/kitty/shaders.c index 78f0219e0..9c3ce2e5b 100644 --- a/kitty/shaders.c +++ b/kitty/shaders.c @@ -417,15 +417,15 @@ draw_bg(OSWindow *w) { bgimage_constants_set = true; } float translate_left = 0.0f, translate_top = 0.0f; - if (OPT(background_image_layout) != SCALED) { - if (w->bgimage->anchor == NORTH || w->bgimage->anchor == CENTER || w->bgimage->anchor == SOUTH) { + if (OPT(background_image_layout) == TILING || OPT(background_image_layout) == MIRRORED) { + if (OPT(background_image_anchor) == NORTH || OPT(background_image_anchor) == CENTER || OPT(background_image_anchor) == SOUTH) { translate_left = ((float)w->window_width / 2.0f - (float)w->bgimage->width / 2.0f) / (float)w->bgimage->width; - } else if (w->bgimage->anchor == NORTHEAST || w->bgimage->anchor == EAST || w->bgimage->anchor == SOUTHEAST) { + } else if (OPT(background_image_anchor) == NORTHEAST || OPT(background_image_anchor) == EAST || OPT(background_image_anchor) == SOUTHEAST) { translate_left = ((float)w->window_width - (float)w->bgimage->width) / (float)w->bgimage->width; } - if (w->bgimage->anchor == WEST || w->bgimage->anchor == CENTER || w->bgimage->anchor == EAST) { + if (OPT(background_image_anchor) == WEST || OPT(background_image_anchor) == CENTER || OPT(background_image_anchor) == EAST) { translate_top = ((float)w->window_height / 2.0f - (float)w->bgimage->height / 2.0f) / (float)w->bgimage->height; - } else if (w->bgimage->anchor == SOUTHWEST || w->bgimage->anchor == SOUTH || w->bgimage->anchor == SOUTHEAST) { + } else if (OPT(background_image_anchor) == SOUTHWEST || OPT(background_image_anchor) == SOUTH || OPT(background_image_anchor) == SOUTHEAST) { translate_top = ((float)w->window_height - (float)w->bgimage->height) / (float)w->bgimage->height; } } diff --git a/kitty/state.c b/kitty/state.c index 9de2462ec..b1243971d 100644 --- a/kitty/state.c +++ b/kitty/state.c @@ -180,7 +180,6 @@ add_os_window() { global_state.bgimage = calloc(1, sizeof(BackgroundImage)); if (!global_state.bgimage) fatal("Out of memory allocating the global bg image object"); global_state.bgimage->refcnt++; - global_state.bgimage->anchor = OPT(background_image_anchor); size_t size; if (png_path_to_bitmap(OPT(background_image), &global_state.bgimage->bitmap, &global_state.bgimage->width, &global_state.bgimage->height, &size)) { send_bgimage_to_gpu(OPT(background_image_layout), global_state.bgimage); @@ -994,7 +993,6 @@ pyset_background_image(PyObject *self UNUSED, PyObject *args) { make_os_window_context_current(os_window); free_bgimage(&os_window->bgimage, true); os_window->bgimage = bgimage; - os_window->bgimage->anchor = anchor; os_window->render_calls = 0; if (bgimage) bgimage->refcnt++; END_WITH_OS_WINDOW