Skip to content

Commit f158983

Browse files
committed
Render background for labels.
1 parent b98b48b commit f158983

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

ui/label.cpp

+19-2
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
#include "label.hpp"
2424
#include "widget.hpp"
25+
#include "device.hpp"
2526

2627
namespace Granite
2728
{
@@ -50,13 +51,29 @@ void Label::reconfigure_to_canvas(vec2, vec2)
5051

5152
float Label::render(FlatRenderer &renderer, float layer, vec2 offset, vec2 size)
5253
{
54+
if (bg_color.w > 0.0f)
55+
{
56+
if (bg_image)
57+
{
58+
auto *view = renderer.get_device().get_resource_manager().get_image_view_blocking(bg_image);
59+
renderer.render_textured_quad(*view,
60+
vec3(offset, layer), size,
61+
vec2(0.0f), vec2(view->get_view_width(), view->get_view_height()),
62+
DrawPipeline::AlphaBlend, bg_color, Vulkan::StockSampler::LinearClamp);
63+
}
64+
else
65+
{
66+
renderer.render_quad(vec3(offset, layer), size, bg_color);
67+
}
68+
}
69+
5370
auto &ui = *GRANITE_UI_MANAGER();
5471
auto &font = ui.get_font(font_size);
55-
renderer.render_text(font, text.c_str(), vec3(offset + geometry.margin, layer), size - 2.0f * geometry.margin,
72+
renderer.render_text(font, text.c_str(), vec3(offset + geometry.margin, layer - 0.5f), size - 2.0f * geometry.margin,
5673
color, alignment);
5774

5875
assert(children.empty());
59-
return layer;
76+
return layer - 0.5f;
6077
}
6178

6279
void Label::reconfigure()

0 commit comments

Comments
 (0)