Skip to content

Commit

Permalink
Merge pull request #709 from ryuukk/rounding
Browse files Browse the repository at this point in the history
Round layout widget position to nearest 0
  • Loading branch information
RobLoach authored Sep 29, 2024
2 parents 964cc81 + b6e261b commit 2156b95
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
1 change: 1 addition & 0 deletions src/nuklear_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ NK_LIB int nk_ifloord(double x);
NK_LIB int nk_ifloorf(float x);
NK_LIB int nk_iceilf(float x);
NK_LIB int nk_log10(double n);
NK_LIB float nk_roundf(float x);

/* util */
enum {NK_DO_NOT_STOP_ON_NEW_LINE, NK_STOP_ON_NEW_LINE};
Expand Down
2 changes: 1 addition & 1 deletion src/nuklear_layout.c
Original file line number Diff line number Diff line change
Expand Up @@ -601,7 +601,7 @@ nk_layout_widget_space(struct nk_rect *bounds, const struct nk_context *ctx,
panel_space = nk_layout_row_calculate_usable_space(&ctx->style, layout->type,
layout->bounds.w, layout->row.columns);

#define NK_FRAC(x) (x - (float)(int)x) /* will be used to remove fookin gaps */
#define NK_FRAC(x) (x - (float)(int)nk_roundf(x)) /* will be used to remove fookin gaps */
/* calculate the width of one item inside the current layout space */
switch (layout->row.type) {
case NK_LAYOUT_DYNAMIC_FIXED: {
Expand Down
5 changes: 5 additions & 0 deletions src/nuklear_math.c
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,11 @@ nk_log10(double n)
if (neg) exp = -exp;
return exp;
}
NK_LIB float
nk_roundf(float x)
{
return (x >= 0.0) ? nk_ifloorf(x + 0.5) : nk_iceilf(x - 0.5);
}
NK_API struct nk_rect
nk_get_null_rect(void)
{
Expand Down

0 comments on commit 2156b95

Please sign in to comment.