If you move the cursor to fast while scaling a window there is a
chance the mouse will miss the scaler and the scaling operation will
halt. Dragging in itself is quite hard but I implemented the hack I
use for property, window moving and slider for the window scaler and
scaling hopefully now works correctly.
This is quite an old bug and a result of being nearly stateless.
If you move/scale a window and another window is behind it the other
window will be acitvated and the move/scale operation will be stopped.
To fix this I now require no mouse down for activating by hovering.
I hope this does not cause any problems and fixes the problem for good.
I had a long standing bug inside nuklear which prevents you from
swapping out a font while the code is being build. This bug is now
fixed but the fix requires _ALL_ `nk_user_font` data structures
provided by `nk_style_set_font` to be persistent.
A previous push request added some macros into the header file and
I missed that it was outside the header include guard. This should
now be fixed and not cause problem if included multiple times in
different location.
Window scrollbar will if enabled by window flag hide if no user
interaction happens for a set time duration.
In addition the internal window/table data structs are now located
inside the header part of nuklear to remove the need to allocate a
pool and therefore simplify memory management.
Hopefully I finally fixed the hole inside combobox popup which only
occur if you set the window border size greater one. In addition
I fixed some subpixel drawing artifacts that come up if you use
antialising in combination with vertex buffer output.
I completely forgot to add the edit scrollbar style and
had a incorrect scrollbar bounds calculation. Both bugs
should now be fixed. Furthermore the edit ROM flag know
prevents any manipulating input instead of all input.
So it should be possible to move or copy inside the edit
field but not to modify the content.
For gui elements like tree tabs, tree nodes and windows themselves,
you can repeatedly click the same "minimize" region and it keeps
toggling that element. This was not the case with "popup" type of
elements. This commit slightly changes how the popups close once
they are already open.
Like before, the user can close the popup by just clicking outside
the popups region. Now the user can also close the popup by clicking
the "header" region of the popup.
Previously if a dynamic back buffer is full and reallocated then the
current allocation alignment will be alignet at the direct memory
address instead of memory address minus size. This is now fixed and
alignment should work correctly.
It is now possible to use mouse scrolling as well as shortcuts for
windows as well as groups. But there is still some unwanted behavior
if you scroll the window and while scrolling hover over a group then
the group will be scrolled and not the window. I will look into fixing
it.
This commit extends nuklears scrollbar with some basic shortcuts.
Included are page up/down as well as jump to beginning and
end of window. The last scrollbar change is page down/up by mouse
click in empty scrollbar space.
Text was previously wrongfully software clipped if text was only
partially visible. The wrong behavior is now fixed and text should
be clipped only if the text is completely outside the clipping rect.
Surprising turn out, the C++ standard comitee consists of a bunch of
retards invalidating completely fine code and requesting super
idiotic work arounds for their new versions. I have no fucking idea
why these spaces are required and honestly I don't even want to know.
Whatever the reason it should now compile fine with C++11 until the^
next C++ version will probably invalidate it again. To a better
future I can't wait.
Previously if you used movable or scalable groups you had to add
the group border width to the panel to access the updated position
or size. Nuklear now takes control of the process and the new
position/size can be read after `nk_group_end` from `nk_panel`
directly.
Extended toggle style and changed toggle (checkbox + radio button) to
depend on the font height instead of row height. The main reason is
that it is easier to configure the cursor inside.
This commit adds a previously missing `group` flag to each group panel
and therefore allows to check for groups inside `nk_panel_end` and
draw the correct border color.
Fixed a small bug introduced by the last commit which prevent
groups from being moved. In addition I fixed an old scaling bug for
groups. It should now be possible to have movable and scalable
groups.
Fixed window y-padding and added scrollbar cursor padding and extended
scrollbar styling properties to separate between cursor and scrollbar.
In addition I added a property to control tab indentation. Finally fixed
clipped horizontal scrollbar for group.
While the last commit fixed some issues it still had a bug which
caused wrong scrollbar target size calculation. So this commit
hopefully fixes the problem.