Merge pull request #1918 from RyanDwyer/title-scissor

Use scissor to render title texture
master
Drew DeVault 7 years ago committed by GitHub
commit 8dae168b77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -308,12 +308,10 @@ static void render_container_simple_border_normal(struct sway_output *output,
// Title text // Title text
if (title_texture) { if (title_texture) {
double x = (con->x + con->sway_view->border_thickness) wlr_renderer_scissor(renderer, &box);
* output->wlr_output->scale;
double y = (con->y + con->sway_view->border_thickness)
* output->wlr_output->scale;
wlr_render_texture(renderer, title_texture, wlr_render_texture(renderer, title_texture,
output->wlr_output->transform_matrix, x, y, 1); output->wlr_output->transform_matrix, box.x, box.y, 1);
wlr_renderer_scissor(renderer, NULL);
} }
} }

@ -203,7 +203,6 @@ void arrange_children_of(struct sway_container *parent) {
} else { } else {
arrange_children_of(child); arrange_children_of(child);
} }
container_update_title_textures(child);
} }
container_damage_whole(parent); container_damage_whole(parent);
update_debug_tree(); update_debug_tree();

@ -584,12 +584,6 @@ static void update_title_texture(struct sway_container *con,
get_text_size(c, config->font, &width, NULL, scale, false, "%s", con->name); get_text_size(c, config->font, &width, NULL, scale, false, "%s", con->name);
cairo_destroy(c); cairo_destroy(c);
int borders = (con->type == C_VIEW ? con->sway_view->border_thickness :
config->border_thickness) * 2 * scale;
if (width > con->width * scale - borders) {
width = con->width * scale - borders;
}
cairo_surface_t *surface = cairo_image_surface_create( cairo_surface_t *surface = cairo_image_surface_create(
CAIRO_FORMAT_ARGB32, width, height); CAIRO_FORMAT_ARGB32, width, height);
cairo_t *cairo = cairo_create(surface); cairo_t *cairo = cairo_create(surface);

Loading…
Cancel
Save