Make panels use the max of the scaler size or scrollbar y size when calculating their height
Make horizontal scrollbars use the scrollbar y size when calculating their position
This commit is contained in:
parent
76ba0b2374
commit
af451ebee2
22
nuklear.h
22
nuklear.h
@ -15633,10 +15633,16 @@ nk_panel_begin(struct nk_context *ctx, const char *title)
|
||||
}
|
||||
|
||||
/* calculate window footer height */
|
||||
if (!(win->flags & NK_WINDOW_NONBLOCK) &&
|
||||
(!(win->flags & NK_WINDOW_NO_SCROLLBAR) || (win->flags & NK_WINDOW_SCALABLE)))
|
||||
layout->footer_h = scaler_size.y + style->window.footer_padding.y;
|
||||
else layout->footer_h = 0;
|
||||
layout->footer_h = 0;
|
||||
|
||||
if (!(win->flags & NK_WINDOW_NONBLOCK)) {
|
||||
if (!(win->flags & NK_WINDOW_NO_SCROLLBAR)) {
|
||||
layout->footer_h = scrollbar_size.y + style->window.footer_padding.y;
|
||||
}
|
||||
if (win->flags & NK_WINDOW_SCALABLE) {
|
||||
layout->footer_h = NK_MAX(layout->footer_h, scaler_size.y + style->window.footer_padding.y);
|
||||
}
|
||||
}
|
||||
|
||||
/* calculate the window size */
|
||||
if (!(win->flags & NK_WINDOW_NO_SCROLLBAR))
|
||||
@ -15968,19 +15974,19 @@ nk_panel_end(struct nk_context *ctx)
|
||||
nk_flags state = 0;
|
||||
bounds.x = layout->bounds.x + window_padding.x;
|
||||
if (layout->flags & NK_WINDOW_SUB) {
|
||||
bounds.h = scrollbar_size.x;
|
||||
bounds.h = scrollbar_size.y;
|
||||
bounds.y = (layout->flags & NK_WINDOW_BORDER) ?
|
||||
layout->bounds.y + layout->border : layout->bounds.y;
|
||||
bounds.y += layout->header_h + layout->menu.h + layout->height;
|
||||
bounds.w = layout->width;
|
||||
} else if (layout->flags & NK_WINDOW_DYNAMIC) {
|
||||
bounds.h = NK_MIN(scrollbar_size.x, layout->footer_h);
|
||||
bounds.h = NK_MIN(scrollbar_size.y, layout->footer_h);
|
||||
bounds.w = layout->bounds.w;
|
||||
bounds.y = footer.y;
|
||||
} else {
|
||||
bounds.h = NK_MIN(scrollbar_size.x, layout->footer_h);
|
||||
bounds.h = NK_MIN(scrollbar_size.y, layout->footer_h);
|
||||
bounds.y = layout->bounds.y + window->bounds.h;
|
||||
bounds.y -= NK_MAX(layout->footer_h, scrollbar_size.x);
|
||||
bounds.y -= NK_MAX(layout->footer_h, scrollbar_size.y);
|
||||
bounds.w = layout->width - 2 * window_padding.x;
|
||||
}
|
||||
scroll_offset = layout->offset->x;
|
||||
|
Loading…
Reference in New Issue
Block a user