Commit Graph

89 Commits

Author SHA1 Message Date
Anthony Pesch
af451ebee2 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
2016-06-23 22:55:37 -07:00
vurtun
76ba0b2374 Fixed alignment bug after buffer reallocation
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.
2016-06-20 20:01:24 +02:00
vurtun
c9f07101f3 Removed shadow variable 2016-06-16 20:48:59 +02:00
vurtun
848d35ea68 Fixed group inside group scrolling
This commit deactivates scrolling for each parent group and window
of a panel to only allow exactly *one* active scrollbar.
2016-06-16 20:25:26 +02:00
vurtun
30087c41ef Fixed missing NULL check
Forgot to check if `nk_input` is NULL
2016-06-16 20:07:18 +02:00
vurtun
c39afae44b Merge branch 'master' of https://github.com/vurtun/nuklear 2016-06-16 16:35:59 +02:00
vurtun
06ec76c3ff Added group scrollbar scroll wheel and shortcuts
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.
2016-06-16 16:10:11 +02:00
vurtun
758d9c405a Fixed copy & paste bug in scrollbar implementation
It should now be possible to just click on one of the empty spaces
inside scrollbars to jump one window frame down or up.
2016-06-15 21:34:49 +02:00
vurtun
b020c332d0 Added general scrollbar shortcuts
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.
2016-06-15 17:39:14 +02:00
vurtun
e7307ae2fd Fixed text clipping bug inside draw list
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.
2016-06-15 14:10:32 +02:00
vurtun
4d8738282a Fixed #165 C++11 specific error
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.
2016-06-14 22:45:58 +02:00
vurtun
110a9a77fb Made reading out moved/scaled group bounds easier
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.
2016-06-14 12:35:03 +02:00
vurtun
c152abb78c Changed toggle to be font height dependent
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.
2016-06-14 12:22:05 +02:00
vurtun
8ed50e08d4 Fixed configuration of group border color
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.
2016-06-14 09:49:09 +02:00
vurtun
ea4ac755de Fixed group/node movement and scaling
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.
2016-06-13 20:02:44 +02:00
vurtun
4dc22cd99b Extended style/config and Fixed horizontal scroll
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.
2016-06-12 15:28:22 +02:00
vurtun
be2e35e3c1 Fixed clipped group scrollbar behavior Ro.2
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.
2016-06-11 21:52:06 +02:00
vurtun
c4c3ce226f Fixed clipped group scrollbar behavior
Previously if a group had a scrollbar and is not completly visible
inside the window then the its scrollbar would use the clipped
height instead of its actual height as scroll reference. This should
now be fixed and work correctly.

In addition I split the tab/node button style into two one for the
minimized and one for the maximized state change.
2016-06-11 19:05:16 +02:00
vurtun
a4dce2565e Removed old commented out code 2016-06-11 11:13:52 +02:00
vurtun
07cffde659 Merge branch 'master' of https://github.com/ands/nuklear into ands-master 2016-06-11 11:11:44 +02:00
vurtun
3eafc226ef Fixed scaler drawing and window motion bug
Previously window borders were wrongfully drawn with already updated
size onto a window drawn with old size. This is now fixed and scaling
is a delayed by one frame.

In addition I hopefully finally fixed a window movement bug which
occurs if you drag one window header over another one really fast.
This would cause the previously not selected window to be wrongfully
selected and moved.
2016-06-10 22:43:45 +02:00
ands
6e41aa6ce3 Fixed a NULL dereferencing bug. 2016-06-10 21:34:21 +02:00
ands
a0f75bd5d9 don't depend on the title in nk_tree_push_hashed if a hash is already specified to allow editing it from inside the node/tab. 2016-06-10 19:33:47 +02:00
vurtun
1ac8021979 Fixed mouse dragging behavior
Fixed a bug inside the library and demos causing wrong dragging
behavior for `nk_property_xxx`.
2016-06-06 11:36:39 +02:00
vurtun
66c5c9fc64 Added optional font atlas temporary allocator
This commit adds another init function to font atlas which allows to
specify one allocator for temporary and one for permanent allocation.
In general this makes it managing memory a little bit more fine
grained. This is not a breaking change and the old API still works
without problems.
2016-06-06 10:11:08 +02:00
vurtun
c962163773 Fixed bug inside textedit redo stack 2016-06-04 16:16:10 +02:00
vurtun
3f935941f8 Added additional comments to asserts 2016-06-01 13:34:26 +02:00
vurtun
792a3af51e Fixed property value drawing bug under xlib
For some reason `xlib` still draws text even if the scissor rect has
a width or height of `0`. I don't know if this is a bug on my end or
on xlib but whatever the source it is now fixed.
2016-05-27 11:29:42 +02:00
Yaroslav Tsarko
de91bd6e03 fixed compilation when 'NK_INCLUDE_VERTEX_BUFFER_OUTPUT' macro isn`t defined
but 'NK_INCLUDE_FONT_BAKING' is
2016-05-27 10:12:59 +03:00
Yaroslav Tsarko
cc97f7bf4b fixed 'unsigned short' overflow when
drawing widget text with font size > widget height
2016-05-27 09:48:01 +03:00
vurtun
9c455006c7 Added icon tree nodes/tabs 2016-05-25 18:21:51 +02:00
vurtun
e6063b79aa Added chart line/column dependend coloring API
It's now possible to define a specific color for each line or
column entry inside a chart. This purely extends the API and all
previous implementation still work.
2016-05-25 10:58:00 +02:00
vurtun
945853e62c Added selectable label + images #151 (breaking)
This is a breaking change to hopefully noone. I removed all drawing
callbacks inside `nk_style` structs. The reason is that they are
quite ugly and a lot of work to maintain in the future. In addition
I added `nk_selectable_image_text`, `nk_selectable_image_label`,
`nk_select_image_text` and `nk_select_image_label` for combined
text and image selectables.
2016-05-24 17:34:28 +02:00
vurtun
25cfeb98af Added property OS cursor hiding for mouse grabbing 2016-05-23 14:56:22 +02:00
vurtun
8e3a5c74d3 Fixed #148 missing function definitions
Added missing function definitions for `nk_color_hsv_b`,
`nk_color_hsva_b` and `nk_strmatch_fuzzy_string`.
2016-05-22 07:38:41 +02:00
vurtun
2e975a3bd8 Fixed #145 scrollbar mouse grabbing behavior
While mouse grabbing already works in x-direction for vertical and
in y-direction for horizontal scrollbars moving over scrollbar
boundries in the other direction would fail. The problem is now fixed
and scrollbar should work as expected. Note: interestingly slider
already work correctly even though I did not do anything to make it
work correctly.
2016-05-20 19:38:19 +02:00
vurtun
eb500b0ab3 Fixed #143 nk_item_is_any_active behavior
Hopefully `nk_item_is_any_active` and `nk_window_is_any_hovered`
work correctly now by taking minimized windows as well as popup
windows into account.
2016-05-20 19:00:48 +02:00
vurtun
7cc3e03573 Fixed nk_edit tab handling 2016-05-20 11:30:58 +02:00
vurtun
cd209d6a35 Fixed #141 #142 text disapearing
Previously a bug would cause scrolling in x-direction to overshoot the
visible text space. This bug is now fixed and scrolling should work
correctly.
2016-05-20 11:15:37 +02:00
vurtun
3d5dac9762 Fixed #140 NK_KEY_LINE_START behavior
Hopefully NK_KEY_LINE_START now works correctly if cursor is at end
of text for movement as well as selection.
2016-05-20 10:52:15 +02:00
vurtun
a96ddc0b10 Fixed small double to float conversion warning 2016-05-19 20:04:07 +02:00
vurtun
539dde6cde Fixed #138 piemenu and combo open at same time
Fixed piemenu behavior inside extended example.
2016-05-19 16:11:54 +02:00
vurtun
af09e4898e Fixed bugs from #136 and pulished edit behavior
Hopefully fixed selection bug for empty lines and made edit widget
usable while being only partially visible. I also added two addition
modes for a vim like expierence with view, insert and replace mode
instead of default replace mode, but only added the new behavior into
the x11 demo so far.
2016-05-19 14:37:56 +02:00
vurtun
a03c887b71 Fixed #137 by only clipping not visible triangles
Triangle software clipping conditions was incorrect and clipped if
already one vertex was not visible.
2016-05-19 12:27:34 +02:00
vurtun
67588f3ba3 Fixed #135 rendering bug
This commit fixes a stupid reallocation bug I had inside the library.
Basically I get a pointer inside a growing buffer which can be
invalidated by a second allocation and regrowth of said buffer.
Under normal circumstances I do not do this but in one instance I
actually did. That is for allocation temporary normals. This issue
should now be fixed and work correctly.
2016-05-19 12:14:19 +02:00
vurtun
ed4a3133b8 Fixed some issues valgrind and ASAN found
This fixes some small harmless unitialized variable access violations
found by either valgrind or ASAN. Nothing really ground breaking but
still cleaner.
2016-05-18 20:19:48 +02:00
vurtun
570ce73404 Fixed #131 with moving unfocused windows
Previously you had to first activate a window by clicking if it was
visually blocked by another window to move it around which was a
little bit blocky. It should now be possible to directly move and
activate a window.
2016-05-16 14:38:43 +02:00
vurtun
847b9c4a19 Fixed wrong widget hovering for multiple windows
Previously buttons would show up as hovered if another widget was
being hovered in another window. This behavior is now fixed and
everything should work correctly now.
2016-05-16 12:22:11 +02:00
Micha Mettke
a91f801ae2 Merge pull request #126 from hobbitalastair/master
s/memset/memcpy/ - typo fix in documentation
2016-05-10 21:56:48 +02:00
vurtun
b712a3a163 Removed C89 errors and warnings and style issues 2016-05-10 14:05:55 +02:00