'fix' input widget size and set back dbg outline to vp boundaries
This commit is contained in:
parent
ef294d67fc
commit
369e1c1f1b
|
@ -30,7 +30,7 @@ void run_example(std::function<void (W*, core::Font*, int, int)> setup, int w=3,
|
|||
__FILE__, __FUNCTION__, __LINE__);
|
||||
|
||||
const core::Size size_init {854, 480};
|
||||
auto* font {new core::Font(core::Font::find("Monospace"), 24)};
|
||||
auto* font {new core::Font(core::Font::find("Monospace"), 16)};
|
||||
auto* win {SDL_CreateWindow("basic_widgets example",
|
||||
SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
|
||||
size_init.w, size_init.h,
|
||||
|
@ -76,7 +76,7 @@ void run_example(std::function<void (W*, core::Font*, int, int)> setup, int w=3,
|
|||
layout->handle_event(ev);
|
||||
}
|
||||
|
||||
renderer->draw_color({25, 25, 25, SDL_ALPHA_OPAQUE});
|
||||
renderer->draw_color({50, 60, 70, SDL_ALPHA_OPAQUE});
|
||||
renderer->clear();
|
||||
|
||||
layout->render();
|
||||
|
|
|
@ -43,7 +43,7 @@ namespace bwidgets::core
|
|||
Renderer* draw_lines(const std::vector<SDL_Point>);
|
||||
Renderer* draw_point(const SDL_Point&);
|
||||
Renderer* draw_points(const std::vector<SDL_Point>);
|
||||
Renderer* draw_rect(const SDL_Rect&);
|
||||
Renderer* draw_rect(const SDL_Rect*);
|
||||
Renderer* draw_rects(const std::vector<SDL_Rect>);
|
||||
Renderer* fill_rect(const SDL_Rect*);
|
||||
Renderer* fill_rects(const std::vector<SDL_Rect>);
|
||||
|
@ -52,28 +52,27 @@ namespace bwidgets::core
|
|||
SDL_Rect viewport();
|
||||
Renderer* viewport(const SDL_Rect*);
|
||||
|
||||
inline Renderer* copy(Texture* t, const SDL_Rect* src, const SDL_Rect& dst)
|
||||
{
|
||||
inline Renderer* copy(Texture* t, const SDL_Rect* src, const SDL_Rect& dst) {
|
||||
auto d = dst;
|
||||
return copy(t, src, &d);
|
||||
}
|
||||
inline Renderer* copy(Texture* t, const SDL_Rect& src, const SDL_Rect* dst)
|
||||
{
|
||||
inline Renderer* copy(Texture* t, const SDL_Rect& src, const SDL_Rect* dst) {
|
||||
auto s = src;
|
||||
return copy(t, &s, dst);
|
||||
}
|
||||
inline Renderer* copy(Texture* t, const SDL_Rect& src, const SDL_Rect& dst)
|
||||
{
|
||||
inline Renderer* copy(Texture* t, const SDL_Rect& src, const SDL_Rect& dst) {
|
||||
auto s = src, d = dst;
|
||||
return copy(t, &s, &d);
|
||||
}
|
||||
inline Renderer* fill_rect(const SDL_Rect& r)
|
||||
{
|
||||
inline Renderer* draw_rect(const SDL_Rect& r) {
|
||||
auto rect = r;
|
||||
return draw_rect(&rect);
|
||||
}
|
||||
inline Renderer* fill_rect(const SDL_Rect& r) {
|
||||
auto rect = r;
|
||||
return fill_rect(&rect);
|
||||
}
|
||||
inline Renderer* viewport(const SDL_Rect& vp)
|
||||
{
|
||||
inline Renderer* viewport(const SDL_Rect& vp) {
|
||||
auto v = vp;
|
||||
return viewport(&v);
|
||||
}
|
||||
|
|
|
@ -120,7 +120,8 @@ namespace bwidgets::widget
|
|||
(uint8_t)(color_border.g / (i + 1)),
|
||||
(uint8_t)(color_border.b / (i+ 1)),
|
||||
color_border.a
|
||||
})->draw_rect({
|
||||
})
|
||||
->draw_rect({
|
||||
_widget_area.x + i,
|
||||
_widget_area.y + i,
|
||||
_widget_area.w - 2 * i,
|
||||
|
@ -187,7 +188,7 @@ namespace bwidgets::widget
|
|||
_font->text_size(
|
||||
std::string(input_min_width, input_width_unit)
|
||||
).w + 2 * _border_width,
|
||||
_font->height + 2 * _border_width
|
||||
_font->line_skip + 4 * _border_width // _why_ 4 and not 2?…
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -109,10 +109,9 @@ core::Renderer* core::Renderer::draw_points(const std::vector<SDL_Point> pts)
|
|||
return this;
|
||||
}
|
||||
|
||||
core::Renderer* core::Renderer::draw_rect(const SDL_Rect& r)
|
||||
core::Renderer* core::Renderer::draw_rect(const SDL_Rect* r)
|
||||
{
|
||||
const SDL_Rect rect = r;
|
||||
SDLError::success_or_throw(SDL_RenderDrawRect(c_pod, &rect),
|
||||
SDLError::success_or_throw(SDL_RenderDrawRect(c_pod, r),
|
||||
__FILE__, __FUNCTION__, __LINE__);
|
||||
|
||||
return this;
|
||||
|
|
|
@ -49,12 +49,8 @@ widget::Widget* widget::Widget::render()
|
|||
return this;
|
||||
|
||||
#ifndef _NDEBUG
|
||||
_renderer->viewport(nullptr)
|
||||
->draw_color({0, 255, 0, SDL_ALPHA_TRANSPARENT})
|
||||
->draw_rect({
|
||||
_viewport.x - 1, _viewport.y - 1,
|
||||
_viewport.w + 2, _viewport.h + 2
|
||||
});
|
||||
_renderer->draw_color({0, 255, 0, SDL_ALPHA_TRANSPARENT})
|
||||
->draw_rect(nullptr);
|
||||
#endif
|
||||
|
||||
_renderer->viewport(_viewport);
|
||||
|
|
Loading…
Reference in a new issue