diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-05-05 07:25:10 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-05 07:25:10 -0400 |
commit | 8dae168b77173f086880db0878f0a4b34a53e8b3 (patch) | |
tree | d88f77c7ca8d54d8a64c3e713a05c6b9d18c59f7 | |
parent | fbcbbb976c29bb2c4b1bc6aeb6331acd10c70f5f (diff) | |
parent | e83e5487be4142af290e772199c2870d6140be46 (diff) | |
download | sway-8dae168b77173f086880db0878f0a4b34a53e8b3.tar.xz |
Merge pull request #1918 from RyanDwyer/title-scissor
Use scissor to render title texture
-rw-r--r-- | sway/desktop/output.c | 8 | ||||
-rw-r--r-- | sway/tree/arrange.c | 1 | ||||
-rw-r--r-- | sway/tree/container.c | 6 |
3 files changed, 3 insertions, 12 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 03af4239..d17a6e14 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -308,12 +308,10 @@ static void render_container_simple_border_normal(struct sway_output *output, // Title text if (title_texture) { - double x = (con->x + con->sway_view->border_thickness) - * output->wlr_output->scale; - double y = (con->y + con->sway_view->border_thickness) - * output->wlr_output->scale; + wlr_renderer_scissor(renderer, &box); 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); } } diff --git a/sway/tree/arrange.c b/sway/tree/arrange.c index 1299beb6..83bb20fb 100644 --- a/sway/tree/arrange.c +++ b/sway/tree/arrange.c @@ -203,7 +203,6 @@ void arrange_children_of(struct sway_container *parent) { } else { arrange_children_of(child); } - container_update_title_textures(child); } container_damage_whole(parent); update_debug_tree(); diff --git a/sway/tree/container.c b/sway/tree/container.c index 3746ad81..9fb47020 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -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); 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_FORMAT_ARGB32, width, height); cairo_t *cairo = cairo_create(surface); |