Commit Graph

685 Commits

Author SHA1 Message Date
Dmitry Hrabrov
d6ac1e4d3f nk_gdip_fill_rect coordinates fix
Fix incorrect button drawing (wrong stroke, empty spaces in stroke line near the corners). Since there are quarters of circle in the angles then lines must be moved to R, not to D.
2016-12-29 21:34:58 +03:00
Julius Zint
13834901bb fixed relative path of demo fonts in d3d11 sample 2016-12-26 16:37:47 +01:00
Naoyuki Sawa
43b05749d2 fix for readability 2016-11-15 23:26:57 +09:00
Naoyuki Sawa
2849cdf8cd fix: In the windows demos, the key reaction is occured at the timing of the control keys are released. 2016-11-15 19:49:24 +09:00
vurtun
c61d4f063c Fixed edit multiline widget width calculation 2016-11-14 19:21:49 +01:00
vurtun
4a4fdf1976 Added missing X11 key up and down event handling 2016-11-14 19:10:36 +01:00
vurtun
34b12bd402 Added missing up and down event key to SDL demo 2016-11-14 19:06:10 +01:00
vurtun
9f9591c18d Removed SDL1.2 version to ease development 2016-11-06 11:37:17 +01:00
Micha Mettke
a24f3f6bca Merge pull request #254 from coderobe/patch-1
Fix segfault in sdl1_2 demo
2016-11-06 11:36:25 +01:00
vurtun
d8688c623f Fixed clipping rectangle bug 2016-10-30 14:12:30 +01:00
vurtun
bd3fd8300f Pulled panel memory managment into nuklear
I simplified a lot of API calls by pulling panel memory management
inside the library. All API calls which previously required a panel
as parameter are now handling their panel themself.
2016-10-29 23:28:47 +02:00
vurtun
534b14a2a9 Fixed X11 stroke rect drawing 2016-10-29 21:15:16 +02:00
Robin B
fe785e590e Fix segfault
calling nk_init_default stores the address to the font (which is on stack) into the nk_context
but when it returns that stack memory is effectively undefined, thus making the program segfault
2016-10-08 19:58:11 +02:00
vurtun
e4623c7f8a Upgraded demos to new non-block popup APIs 2016-09-15 20:18:41 +02:00
vurtun
85d109e351 Fixed non-blocking popup closing behavior
This is a breaking change which fixes bad closing behavior in
non-blocking popups. If the maximum size of a non-blocking popup was
not reached and you clicked to close the popup under it could happen
that it wouldn't be closed. This is now fixed in combination with
more popup control by allowing to set both the maximum height as
well as popup width.
2016-09-15 18:20:07 +02:00
vurtun
cc9d6f374c Updated d3d11 to use vertex layout format 2016-09-10 13:11:12 +02:00
vurtun
9e6b4f67cc Changes to fix #233 and #238
For more informatio please look inside the issues and for the
actual changes overview please look inside `CHANGELOG.md`
2016-09-08 20:20:02 +02:00
vurtun
1b9779ce51 Nuklear now allows custom vertex layouts
I removed the default vertex type and instead create an API to allow the
user to specify the vertex struct layout. Of course you are still
bound on what the library actual has on vertex data but the type and
sequence of the data is now configurable. This commit is quite
experiental and could introduce some bugs, but so far it look fine.
2016-09-02 15:33:49 +02:00
vurtun
550a2b03d3 Fixed some bug introduced by last commit and more
This commit fixed some bugs from the last commit as well as some general
changes and fixes of some old bugs. For overview of all changes please
look inside `CHANGELOG.md`.
2016-08-31 19:19:06 +02:00
vurtun
ad821dc808 Added additional height parameter to combo box
Added a max height parameter to very retain mode combo box to allow
a fixed height.
2016-08-29 19:40:27 +02:00
Martins Mozeiko
cda38a853c Fixed issues with GDI+ demo - font handling and typo for VK_END handling. 2016-08-24 19:16:34 -07:00
vurtun
ef835f7afc Fixed some C++ errors and styling in windows demos 2016-08-17 08:00:38 +02:00
vurtun
cae6005015 Removed emscript demo since not up to date
Taking in an extern demo is almost always a bad idea since I will be
the one to keep to date and I am not always able to do so. Emscript
was the last time I tried. For now on if anyone has a neat demo
please keep it in your own repository and I will create a link to it.
2016-08-12 20:23:55 +02:00
vurtun
02718210e6 Added additional property version for double
Nuklear now has three different property versions for int, float and
added by this commit a double version. Internally an additional change
happend. Now the type of the property is actually taken into account
and floating pointer errors due to casting are less of an issue.
2016-08-12 12:08:13 +02:00
vurtun
94ca7accdf Version 1.05 split varargs include into own define
Previously I packed standard library variable arguments as well as
file operation into one define `NK_INCLUDE_STANDARD_IO`. This caused
some problems and I split the define into two. So if you want the old
behavior you need to define `NK_INCLUDE_STANDARD_IO` as well as
`NK_INCLUDE_STANDARD_VARARGS`. If you only want file operations but
not variable arguments only define `NK_INCLUDE_STANDARD_IO` and
if you only want varargs but not file operations please only define
`NK_INCLUDE_STANDARD_VARARGS`.
2016-08-06 17:44:00 +02:00
vurtun
100480c6c7 Fixed swapping out fonts
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.
2016-08-04 14:18:29 +02:00
vurtun
bb61df524d Removed /WX flags from gdi/gdip build bat files 2016-08-02 21:39:12 +02:00
vurtun
fd5239fa82 Fixed copy and paste error in gdi/gdip demos 2016-08-02 21:22:15 +02:00
vurtun
c84b2f9a96 Fixed notebook tab group with same name
I forgot to provide a new name to the notebook group so if you
scroll the other group with the same name it will not work.
2016-08-01 13:06:23 +02:00
vurtun
c4315eaf5b Added flags indicate if an event was used in demo
Demos for x11 and sdl have been update so that `nk_xxx_handle_event'
return true (1) if the given event was usefull and processed by
nuklear and false (1) if not.
2016-08-01 12:51:43 +02:00
vurtun
648aca3a6a Added notebook tabs example to overview.c
Since it was requested I added a small snippet showing how to create
notebook tabs (header with buttons, selecting content). The added
demo is basically just a combination of already existing widgets +
some small styling changes and can be extended to easily support
case with more tabs then space in the header part. I will have
to think about if it is possible to create an API for this without
taking away the simplicity of it.
2016-07-31 20:37:24 +02:00
vurtun
9637af3681 Fixed window border and popup border drawing 2016-07-25 11:58:01 +02:00
vurtun
c5614d9098 Release 1.01 changes in changelog in nuklear.h
Breaking changes to the button API, font atlas and added software
cursor to library.
2016-07-16 01:33:37 +02:00
Micha Mettke
e5ce2de621 Merge pull request #164 from cwkx/master
Emscripten support with glfw3 (and shaders) demo at www.cwkx.com/nuklear
2016-07-06 17:59:30 +02:00
Timothy Qiu
440f2f7cbc Fixes misuse of spaces in GLFW demo Makefiles 2016-07-06 09:15:00 +08:00
vurtun
920374bb44 Added scrollbar shortcuts to demos 2016-06-16 20:53:30 +02:00
Chris Willcocks
f53e2d51d8 path fix 2016-06-14 16:18:38 +01: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
Chris Willcocks
5d440b565b Emscripten support with glfw3 (and shaders) with changes to nuklear_glfw_gl3.h - demo at www.cwkx.com/nuklear/ 2016-06-13 16:38:32 +01: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
66c2ac72d6 Fixed #158 key press typo in GLFW backends 2016-06-01 13:35:01 +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
25cfeb98af Added property OS cursor hiding for mouse grabbing 2016-05-23 14:56:22 +02:00
vurtun
6577d671d4 Fixed #147 with wrong allegro text input handling 2016-05-21 18:41:33 +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
ef4be0a1bd Extended OS window size in demos 2016-05-19 12:30:17 +02:00
vurtun
a529f967e6 Another demo change to fix High DPI screens 2016-05-16 20:22:52 +02:00
vurtun
4dc10b0753 Fixed mixed chart test case in overview.c
Forgot to add a condition to check if the chart even needs to be
run at all so the chart will assert.
2016-05-06 10:52:59 +02:00
vurtun
ac8f0e2069 Extended chart API with slots
I extended the chart API to allow more than one graph and implemented
a testcase using this API inside the `overview.c` chart example.
2016-05-05 22:37:13 +02:00
vurtun
a5c4094a1d Added High DPI flag to SDL2 backends 2016-05-05 18:44:07 +02:00
vurtun
35d302ee8e Fixed windows demos 2016-05-01 10:33:51 -07:00
vurtun
e8fe41584d Added color picker into x11 opengl demos 2016-05-01 19:15:19 +02:00
vurtun
953cc967bb Converted windows demos into singe header files 2016-05-01 19:14:48 +02:00
vurtun
a4eda78f3f Fixed x11 opengl3 demo 2016-04-30 19:54:29 +02:00
vurtun
1be2f10621 Added xlib OpenGL version 2 demo 2016-04-30 17:43:02 +02:00
vurtun
f5dc2906a8 Converted backend demos into single header files 2016-04-30 17:09:01 +02:00
vurtun
a2aaedbed0 Merge branch 'master' of https://github.com/vurtun/gui 2016-04-30 14:51:49 +02:00
vurtun
8f6d27072c Fixed extended windows demo errors 2016-04-30 11:24:59 -07:00
vurtun
727e6f0caf Added pure X11/OpenGL demo 2016-04-30 14:50:54 +02:00
vurtun
12d4ed0115 Fixed comment copy & paste fail 2016-04-30 14:49:28 +02:00
vurtun
95beac8cc2 Removed unused enum 2016-04-29 17:06:55 +02:00
vurtun
eb7b0847b6 Fixed build for optional examples 2016-04-29 17:06:31 +02:00
vurtun
34a9405e69 Fixed C++ demo errors 2016-04-29 14:31:27 +02:00
vurtun
389176ef4b Added additional SDL/GLFW OpenGL 2.2 demo 2016-04-29 14:07:08 +02:00
vurtun
154ffb1133 Hopefully fixed SDL rendering for High DPI display 2016-04-29 13:16:18 +02:00
vurtun
601f1bb521 Renamed demo directories 2016-04-29 12:03:20 +02:00
vurtun
8a01de120a Restructured demos and examples
All platform and renderbackend independent examples are now optional
demos for all platforms in `demo/`. Moving some demos from `example/`
provides an easier way to test GUI concepts for users and simplifies
maintenance.
2016-04-28 17:01:19 +02:00
vurtun
bbe282a272 Hopefully fixed high DPI display mouse mapping #74 2016-04-27 13:08:31 +02:00
vurtun
cdaa1f4bda Restore default caps in GLFW/SDL demos #105
All modifed state changed by the demo rendering functions is now set
to default values after being called. I tried to save and restore all
relavent state but for some reason function glBlendEquationSeperate
is not defined for me. So I decided to make it as easy as possible
for me and just set everything to default. This means you have to
either save and restore or reset your own OpenGL state after calling
`nk_xxx_render`. I know it is not perfect but I have no better
solution at this point in time.
2016-04-26 18:24:43 +02:00
Micha Mettke
4de258c256 Merge pull request #112 from mmozeiko/gdip
Demo with Win32 GDI+ rendering
2016-04-26 07:21:27 -07:00
vurtun
4a071b61b0 Added text input and fixed some style issues
Text manipulation in SDL1.2 is quite a pain to say the least. But
since this demo is already quite limited in some aspects I think it
is fine to just get things running. That being said if used seriously
then text input still needs some work.
2016-04-26 14:43:43 +02:00
vurtun
b8e56beceb Merge branch 'sdl1.2' of https://github.com/glegris/nuklear into glegris-sdl1.2 2016-04-26 13:26:27 +02:00
glegris
6e864e076c Add generic comments to explain that line thickness is not used by default 2016-04-25 18:16:29 +02:00
glegris
213a84fcf3 Renamed the sdl1.2 directory to sdl1.2_gfx 2016-04-25 17:59:55 +02:00
glegris
1ce95717bf Add support for the NK_COMMAND_RECT_MULTI_COLOR command and remove the static polygon pointer buffer. 2016-04-25 17:52:49 +02:00
vurtun
62ff1861a4 Hopefully fixed retina display issues #111 #74
I personally do not have a retina display, but I added some changes
to all `GLFW` demos/examples. If there are still issues please
report back to me what is not working correct (please test out clipping
by playing around with scrollbars as well)
2016-04-25 14:07:04 +02:00
glegris
1a794962ed Add demo using SDL 1.2. It's useful for platforms not supported by SDL2. 2016-04-25 09:59:53 +02:00
Martins Mozeiko
c4cf1ad23e Created demo using Win32 GDI+ for rendering. Uses VS2015 for compiler. 2016-04-24 12:10:57 -07:00
Micha Mettke
05ba026b79 Merge pull request #85 from mattn/fix-error
Fix compilation error
2016-04-23 12:07:37 -07:00
vurtun
b86a153b33 Removed C89 errors 2016-04-23 20:54:50 -07:00
Martins Mozeiko
062032e933 Created demo using Direct3D 11 for rendering. Uses VS2015 for compiler.
Also fixes wrong location of GlobalUnlock in GDI rendering demo.
2016-04-23 11:20:47 -07:00
Micha Mettke
87efb61a9f Merge pull request #102 from mmozeiko/gdi
Demo with Win32 GDI rendering
2016-04-23 03:43:13 -07:00
Alastair Hughes
a0710d941f Added an error message if the display can't be opened 2016-04-23 07:54:05 +12:00
Martins Mozeiko
d6ada00cb8 Created demo using Win32 GDI rendering. Uses VS2015 for compiler. 2016-04-22 01:21:19 -07:00
vurtun
7c9659f3b8 Fixed #99 forgot to set clipboard callbacks
Previously if you use `nk_edit_string` and use flag
`NK_EDIT_CLIPBOARD`, callbacks were not passed. I only tested it with
`nk_edit_buffer` and set the callbacks directly. This wrong behavior
is now fixed and should work copy & paste should behave correctly.
2016-04-21 11:04:18 +02:00
Yasuhiro Matsumoto
af5a1345d0 Fix compilation error 2016-04-20 10:46:48 +09:00
Alexandre Erwin Ittner
72e9496768 Use standard C compiler by default
Always use the standard compiler as defined by the environment
variable CC. User can set it when a different compiler if required
(e.g. CC=clang make)
2016-04-19 21:44:46 -03:00
vurtun
6b5a4f16e8 Merge branch 'fdb-osx-support' 2016-04-19 16:47:09 +02:00
Frederik De Bleser
c2ea5d9927 Set OpenGL profile in SDL
This ensures compatibility with OS X's 1.5 shader version.
2016-04-19 14:05:59 +02:00
Frederik De Bleser
a88293a647 Update Allegro for OS X 2016-04-19 13:55:15 +02:00
Frederik De Bleser
8ca1c35608 Update SDL example for OS X
Just like GLFW example, use different settings in Makefile and
different shader versions.
2016-04-19 13:47:17 +02:00
Frederik De Bleser
a8d124adf1 Avoid conditional includes in SDL example. 2016-04-19 13:46:06 +02:00
Frederik De Bleser
3b29a92f0d Avoid conditional includes.
GLFW will automatically include the correct OpenGL headers, so we can
avoid having a conditional include in our code.
2016-04-19 13:45:51 +02:00
Frederik De Bleser
26fc35ac94 Use lower shader version for better compatibility on OS X
We just need the basic features for getting a texture on screen, so
GLSL version 1.5 is enough.
2016-04-19 13:06:54 +02:00
vurtun
aac47632d0 Fixed #65 wrong parameter to XCreatePixmap
I passed a depth value inside `nk_xsurf_resize` and changed it to
default value. I tested it by removing the resizing code and it
worked for me again. Hopefully this fixes the bug.
2016-04-19 12:54:33 +02:00
vurtun
860fed393e Merge branch 'fix-typos' of https://github.com/waywardmonkeys/nuklear into waywardmonkeys-fix-typos 2016-04-19 11:23:31 +02:00
Frederik De Bleser
5b0b4c9ffd Support OS X for the GLFW demo.
Use conditionals to support the appropriate includes and shader
versions needed for OS X.
2016-04-19 11:02:22 +02:00
Bruce Mitchener
da46d536f9 Fix some typos. 2016-04-19 15:23:33 +07:00
vurtun
d7a9f14c1c Fixed some small bugs and added calc example
Fixed window movement for windows without header and some small
wrong calculation inside the panel layout code. In addition I
added another example implementing a simple calculator.
2016-04-15 20:13:50 +02:00
vurtun
e418ae8c02 Put unicode text input back into xlib demo 2016-04-14 21:02:53 +02:00
vurtun
b2c87ed7c0 Release Version 1.0
This is the first release version of nuklear (previously: zahnrad).
As for those who no the old version will notice: a lot has changed.

Most obvious should be the two biggest changes. First the name change
because I got critique that the name is hard to comprehend and
remember (understandable for non-germans) and the second is the
transistion from four files (zahnrad.h, zahnrad.c, stb_truetype
and stb_rect_pack) to one single header library file nuklear.h.
I am not 100% convinced that using a single header library is the
right choice here but so far I haven't encountered any problems.

Noticable should be as well that nuklear now directly embeds three
stb libraries: stb_truetype, stb_rect_pack and stb_textedit. Like
in previous versions the first two are optional and the library
can be compiled without. stb_textedit on the other hand powers
the text edit implementation for single as well as multiline
text manipulation. The text edit implementation is still relative
new and untested so you can expect some bugs I have not found yet.

In the demo department a lot changed as well. All platform demos
now don't compile one big demo but instead contain a simple
demo and small abstraction layer over the platform. Main benefit is
better understandablity improved ease of use. The old demo
is now split up and transfered into the example folder while each part
is self contained and compileable. (All examples use glfw I don't now
if this is the best platform but it is at least the simplest.
I also removed the apple demo because I don't have an apple system
and cannot make sure the new version runs with the old version.

Finally a lot of small bugs have been fixed as well as bugs found by
clang analyzer and coverity.
2016-04-14 16:26:15 +02:00
vurtun
f1e81a59ea Added font merging into font atlas and font baker 2016-04-02 19:16:00 +02:00
vurtun
a97ac0ea4d fixed wrong font height 2016-04-01 21:54:55 +02:00
vurtun
d9f1831321 Finally fixed customizable window border width
Previously all window, popup, comboboxes, tooltips, menu and
contextuals had a fixed border width of 1 and had the same color.
Now it is possible to change the individual border width and color of
each one seperatly.
2016-04-01 18:34:16 +02:00
vurtun
08ab2b40c1 Added some additional utility functions
Extended the standard library included functions with some
additional functions depending on <stdarg.h>.
2016-03-31 20:44:03 +02:00
vurtun
e1a1239674 fixed test code 2016-03-31 19:47:40 +02:00
vurtun
4eb939f4db Added additional API for simple color styles
Extended the quite complex style and skinning API with another easier
to use API to set the color scheme of the UI only from color.
2016-03-31 19:31:02 +02:00
vurtun
ca5ec8c2a4 removed test code 2016-03-30 16:20:29 +02:00
vurtun
781202223d Added font atlas, default font + compiler switches
This commit extends the optional currently existing low level font
baking API with another more high level font atlas API.
The font atlas takes away some fine grained memory control from the
user but is easier to use and to understand than the lower level API.

I added combined with the font atlas a optional default font which
allows running the library without a user provided truetype font.
While user friendly it is quite big (~12kb) so I added a compiler flag
to remove it from the library while compiling if not wanted.

Finally I added some additional compiler flags to allow easier to use
APIs. The downside is that all of them require the standard library,
so if you don't want to add the standard C library I would recommend
deactivating all flags marked as standard library flags.
2016-03-30 12:54:22 +02:00
vurtun
f21c835363 fixed piemenu 2016-03-28 12:36:56 +02:00
vurtun
fcba0e676b Added skinning and extend customization
Previous visual changes in the library were quite limited with some
colors and some global properties. This commit changes all that and
provides way more control over every widgets visual appearance.
Changes include extended color selection, per widget properties and
the possibility to use skinning.
While the new API allows for a lot more control it is currently quite
low level and needs a lot more testing and probably another higher
level style API to make changes in code easier. I also had to remove
the style modification code inside the demo and will probably first
try to write another higher level API before adding it back in.

This commit also include some breaking changes to existing code like
the missing style stack API and some widget names changes due to
added granularity granted by the rewritten style.
2016-03-26 16:05:19 +01:00
vurtun
2cedc57f5d Extend default draw command API
The default draw command buffering API now supports filled and
outlined shapes as well as two additional commands: polygon and
polyline. While zahnrad only requires a small number of basic
filled draw command shapes to actual function the underlying canvas
to convert from draw commands to vertex buffer commands allows
for lot more. So the gap should now be filled and drawing more
complex custom is now a little bit easier. I thought about adding a
path drawing API to the draw command API but decided it is not
worth the hassle, at least for now.
2016-03-16 13:01:47 +01:00
vurtun
467118a86e Removed UI recording and revert to old version
I spend the last week(s) with lot of time thinking about this and I
came to the conclusion that recording it is not really worth doing.
In theory it could be interesting but the truth is I don't want to
do any more complex refactoring anymore and want to have a break
from extending this library. I spend over a year on this and I think
it is time for me to move on to other things. I will continue fixing
errors or adding requested essential smaller features but no
more complex rewrites or risky changes.
2016-03-15 21:12:25 +01:00
vurtun
5d54d65894 Removed textual UI representation 2016-03-09 13:12:30 +01:00
vurtun
4f677d200e Fixed C++ build errors 2016-03-08 08:58:55 +01:00
vurtun
68edafcd0c Added 'Enter' and 'Leave' widget events 2016-03-08 08:50:21 +01:00
vurtun
b0cc043879 added missing ifdefs for windows 2016-03-08 08:44:31 +01:00
vurtun
b09849f41a Added script to UI bytecode compile + file browser
This is quite a big commit which adds an experimental text script to
UI bytecode compiler. The compiler is still under heavy development
and can and will be under heavy changes, so use with caution.

In addition I added the old file browser for unix like platforms
back into the demo. At the moment it only supports windows but
the only part of the file browser that is platform dependend
is the directory content loader which should be easy to implement
in other platforms as well.
2016-03-07 18:17:15 +01:00
vurtun
32277127ac Added color picker widget
An additional widget for picking a color was added. Color picker use
the new draw call command multicolor rectangle which is not supported
everywhere. All demos using the optional vertex buffer output can use
the color picker without problems. Other platforms need to support
a drawing function or do not it.
2016-03-04 17:13:30 +01:00
vurtun
33af175b7e Added color conversion to and from hex string 2016-03-03 21:16:25 +01:00
vurtun
344be6eed2 Added window (de)activation into demo menu
Extended the demo window with a submenu which allows to activated or
deactivate windows. In this particular case the sequence in which the
control and demo window in contrast to all the other windows are
placed is important but only in this demo since querying is done by
the control window.
2016-03-03 14:36:28 +01:00
vurtun
3d905b2451 Fixed small C++ error since new is a keyword 2016-03-03 13:17:32 +01:00
vurtun
acb2a31b82 Fixed window hiding and exposing bug
Previously rapidly closing and exposing windows caused the library
to freeze. This had two reasons one was a bug in the list insert
and remove code the other was in the fact that if the currently
active window is removed no other window would active which resulted
in a blocking UI. Both problems are now fixed but there is a small
visual bug which is triggered if a window is toggled.
2016-03-03 13:12:20 +01:00
vurtun
047deec3cd Added time and date combobox to demo
Extended the demo with two additional very helpful comboboxes.
The first one is a simple time picker and the other one is a
date picker with year, month, week day selection.
2016-03-02 17:58:22 +01:00
vurtun
8159391640 Added Title alignment flags to menu header fix #53
Previously all menu titles were centered in X- and Y-axis without any
way to control the alignment. Since it was requested I added an
alignment flag to `zr_menu_text_begin`. To achieve the same outcome
like before this commit the flag has to be `ZR_TEXT_DEFAULT_CENTER`.
2016-03-02 09:45:06 +01:00
vurtun
1125016d0a Fixed simple allegro example text drawing bug
I forgot to change text drawing in the native allegro drawing API.
It should now be fixed and draw correctly. Furthmore I increased the
size of the demo window menu items to ensure that the checkbox text
is correctly drawn without clipping.
2016-03-01 19:52:18 +01:00
vurtun
c19a6a1bbe Finished experimental recording features
First version supporting the new record and play feature which allows
to `record` a number of API calls and lets you replay them at a later
point of time. This could be the basis for creating an Editor and
other more advanced features. While I tested the functionality there
still could be a number of bugs and I would recommend waiting
until all bugs are removed before using it.
2016-03-01 18:48:19 +01:00
vurtun
d0d5414164 first step 2016-02-24 13:19:39 +01:00
vurtun
ae1e3fc003 Fixed C++ errors that depend on typesafe enums
Fixed one of the small issues between C and C++. The handling of
enums. While C uses weak types and compiling `zr_flags` or
`enum zr_text_alignment` did not cause any problems, trying to do the
same with C++ results in errors or in this case a linking
error since while the function exist with `zr_flags` it does not
exist with `enum zr_text_alignment` (another problem of function
overloading...)
2016-02-16 13:42:20 +01:00
vurtun
9ab708e543 Fixed some c++ errors that slipped through 2016-02-15 19:37:31 +01:00
vurtun
e4448f5881 Added additional widget utility functions 2016-02-15 19:03:21 +01:00
vurtun
f727058044 Fixed rgb->hsv conversion and extended granularity
The conversion function from rgb color to hsv color was bugged and
provided wrong values. It is now fixed and hopefully is now correct.
In addition a number of utility functions have been added to make
conversion between user provided color format and zahnrads own
format easier.
2016-02-15 02:19:09 +01:00
vurtun
6adbb375de updated apple demos 2016-02-14 22:06:51 +01:00
vurtun
de384a805b changed layout param from zr_size to int 2016-02-14 22:06:12 +01:00
vurtun
98da4841dd Fixed canvas arc and therefore piemenu drawing
I forgot to add the center point to drawing an arc which resulted
in half spheres. It is now fixed and should work as intended.
2016-02-12 20:30:06 +01:00
vurtun
730fd24746 Fixed popup drawing inside groups
Previously the popup buffer state was stored inside the group
panel layout instead of the window layout. This caused
overdraw for popups and the underlying window. To fix that now
all popups are stored inside the root window panel layout
and everything is drawn correctly.
2016-02-12 19:09:36 +01:00
vurtun
890430db76 Fixed node editor node linking
Because clicking was changed to happen on button up instead
of button down linking was bugged. It has been fixed and should
work now was expected.
2016-02-12 17:51:59 +01:00
vurtun
fdbcc52629 Merged examples and demos into one (first step)
While dividing previously spared me from a lot of work and problems
it is probably best to have everything working for every or as many
platforms as possible. Some platforms fail to provide good ways
to support everything (e.g.:X11 does not have pixmap clipping with
different width/height or alpha-blending) but all OpenGL demos
outside allegro (needs some additional work) should be able to run.
2016-02-11 23:29:02 +01:00
vurtun
f5b6010a01 Added additional selectable color themes to demo
This commit extents the provided number of themes inside the demo
and updates the default style by using a smaller default padding
value for windows.
2016-02-09 15:16:05 +01:00
vurtun
c4916f62dd renamed zr_layout to zr_panel 2016-02-02 15:43:19 +01:00
richi
292c33d78b Additional CoreGraphics Example
iOS_CoreGraphics does contain a simple example running
Zahnrad on top of the native CoreGraphics API.
2016-02-01 21:15:25 +01:00
richi
c3da9dc2b6 vertexes -> vertices 2016-02-01 09:42:05 +01:00
vurtun
b2e99df63d Added enter event to edit widget
Decided to add support for commit the content of a edit wiget
content by enter if a flag was set. Tried to add other flags
like auto complete but failed for now to find a good way.
Also more importantly added `zr_edit_box` to filter callback.
2016-02-01 09:26:22 +01:00
vurtun
96fe7f7775 Added a global alpha modifier to zr_convert
Previously it was not possible to control the visibility or rather
the transparency of all render vertex buffer output. For that to
change another settings was added to zr_convert_config to control
the visibility. To achieve the same result as previously it is now
required to fill that property with 1.0f. To make all GUI element
as a whole more transparent a value between 0.0 and 1.0 can be
selected with 0.0 being completely hidden and 1.0f completly
visible.
2016-01-28 22:24:54 +01:00
vurtun
5c8cc7228c removed tab input code 2016-01-26 21:38:54 +01:00
vurtun
9757f59c66 Finally fixed the oldest bug in this library
For now month I failed to find out why text calculation was
bugged for zahnrads own vertex buffer font. I finally found
the problem and fixed it.
2016-01-26 14:56:28 +01:00
vurtun
c98153b59a removed need to pass string id to combobox 2016-01-20 19:36:40 +01:00
richi
67c5d53348 Calling zr_layout_peek first
Calling zr_layout_peek before zr_edit_string
2016-01-20 13:45:19 +01:00
richi
b73aa6ae74 Automatically show and hide the onscreen keyboard
This is an example how to show and hide a onscreen keyboard. The logic
is implemented in zr_touch_edit_string
2016-01-20 12:43:58 +01:00
richi
aa64398646 ifndef MIN, MAX and CLAMP
Does make live a lot easier for backends.
2016-01-20 12:35:31 +01:00
vurtun
4e7c183aa6 Merge branch 'master' of https://github.com/vurtun/gui 2016-01-20 03:15:56 +01:00
vurtun
096cf3d27f extended to return more state information 2016-01-20 03:15:38 +01:00
richi
c462ee09ac Text input on iOS and tvOS
This commit does implement text input for iOS and tvOS using the native
onscreen keyboard.
2016-01-19 18:24:43 +01:00
richi
5d1fdcdbe2 Backends for Mac OS X, iOS and tvOS
This is a bunch of experimental render backends for Mac OS X, iOS and
tvOS.
2016-01-17 16:09:59 +01:00
vurtun
4a49bfe64f updated opengl demos 2016-01-14 15:25:35 +01:00
vurtun
349017a28e fixed demo contextual menu height 2016-01-09 18:31:59 +01:00
vurtun
048a671e94 added initial state to tree layout 2016-01-09 16:07:22 +01:00
vurtun
8731c3d89e updated memory constants 2016-01-09 13:56:56 +01:00
vurtun
8d4284184c simplified having more than contextual menu 2016-01-08 00:30:40 +01:00
vurtun
04d0b75108 split draw rectangle function 2016-01-07 16:00:25 +01:00
vurtun
86d00cbe6e added rounding to x11 demo 2016-01-06 18:00:25 +01:00
vurtun
fd51ad4488 fixed text input for X11 & fixed utf8 edit box 2016-01-06 15:08:55 +01:00
vurtun
183013231b extended demo + fixed some bugs 2016-01-05 17:24:45 +01:00
vurtun
9a52c86548 removed clang -Weverything warnings 2016-01-05 12:54:23 +01:00
vurtun
8945d97eae updated demo and fixed some small bugs 2016-01-04 21:34:48 +01:00
vurtun
508df9d41d fixed blocking popup 2016-01-04 01:59:11 +01:00
vurtun
1be6475e5b fixed #35 2016-01-04 00:19:38 +01:00
vurtun
333d5f33e7 fixed typo #34 no3,4 2016-01-03 23:26:07 +01:00
vurtun
e6a305f020 fixed typo #34 no.2 2016-01-03 23:20:50 +01:00
vurtun
d943a32e18 renamed 'graph' to 'chart' #33 2016-01-03 20:33:56 +01:00
vurtun
138f6b3af5 some cleaning up 2016-01-03 20:23:12 +01:00
vurtun
080b59dcc2 removed sin & cos dependency 2016-01-03 01:47:01 +01:00
vurtun
7c37c06e4c event-based updates round.2 2016-01-02 14:54:45 +01:00
vurtun
bcabde32ab update LICENSE year 2016-01-01 09:51:35 +01:00
vurtun
a19590b738 removed win32 demo 2015-12-31 16:13:51 +01:00
vurtun
75f92de581 added another allegro demo 2015-12-31 14:39:29 +01:00
vurtun
20b9d3cd45 massive rewrite 2015-12-30 16:31:08 +01:00
vurtun
daae1b8804 major update no.1 2015-12-17 16:48:35 +01:00
vurtun
a59e45ab6f fixed color picker slider 2015-12-15 13:31:57 +01:00
vurtun
f43e3ea5e9 uses higher default compiler optimization #30 2015-12-12 15:57:56 +01:00
vurtun
9c3365e1ab added no dep linux opengl version 2015-12-11 11:58:09 +01:00
vurtun
36d86df9ab added missing vao freeing function 2015-12-11 11:57:34 +01:00
vurtun
db695a6e62 fixed typo 2015-12-08 23:27:59 +01:00
vurtun
3eeacea7b6 updated example + demo 2015-12-08 16:25:56 +01:00
vurtun
6db11ac7ce added icon/symbol menus 2015-12-07 13:46:29 +01:00
vurtun
37df97bee1 fixed menu text symbol/icon button 2015-12-06 20:35:18 +01:00
vurtun
80faad49fe removed debug code 2015-12-04 21:03:56 +01:00
vurtun
f7fdba4335 added password edit field 2015-12-04 01:08:39 +01:00
vurtun
98c5cf9277 fixed 'glyphes' typo 2015-12-03 19:32:46 +01:00
vurtun
89e7043b05 fixed 'modifyable' API typo 2015-12-03 18:54:41 +01:00
vurtun
2b2b33fc0b added multiline editbox + fixed some bugs 2015-12-01 00:21:34 +01:00
Yasuhiro Matsumoto
50d3324d73 fix Makefile for windows 2015-11-26 23:32:57 +09:00
Yasuhiro Matsumoto
f0ae284c9c include inttypes.h for PRIu64 2015-11-26 23:32:31 +09:00
Yasuhiro Matsumoto
0863941ab4 Remove compiler warnings 2015-11-26 15:56:05 +09:00
vurtun
bf493a550e added glfw demo 2015-11-25 18:12:58 +01:00
vurtun
4a9fd633ef renamed opengl version to sdl 2015-11-25 17:26:23 +01:00
Micha Mettke
69e13ea482 fixed win32 demo 2015-11-25 16:11:01 -08:00
vurtun
3e0ff05f9e removed unused variables 2015-11-24 19:33:46 +01:00
vurtun
61a56a48c4 added additional more clean demo version 2015-11-24 17:47:52 +01:00
vurtun
a59a5f54d6 fixed zr_spacing 2015-11-23 12:52:21 +01:00
vurtun
19e4080537 changed window header API for less draw calls 2015-11-22 20:03:42 +01:00
vurtun
c3f02270dd updated demos 2015-11-21 12:20:36 +01:00
vurtun
da8ce2e673 fixed multiple windows with opened popups 2015-11-21 12:19:22 +01:00
vurtun
44156326b9 added text height to text command 2015-11-20 00:20:03 +01:00
vurtun
e68c87ef27 made widgets private + removed tree 2015-11-19 18:36:16 +01:00
vurtun
c4b97faac0 removed unused variables 2015-11-11 16:56:21 +01:00
vurtun
56574a7361 added editbox with enter support 2015-11-11 12:03:17 +01:00
vurtun
b4370cf6b1 added draggable color selector 2015-11-10 16:37:48 +01:00
vurtun
65a865c570 added dragging widget 2015-11-10 15:07:43 +01:00
vurtun
045375f650 added text input to demo 2015-11-09 21:40:35 +01:00
vurtun
b9cfc77fc7 fixed window border clipping rect 2015-11-08 11:02:18 +01:00
vurtun
34991229ed tweaked splitter text width 2015-11-08 00:27:10 +01:00
vurtun
4c57d8cddc fixed c++ errors 2015-11-07 23:59:38 +01:00
vurtun
cbb0384b26 added metrics window to demo 2015-11-06 15:50:22 +01:00
vurtun
de0bad0a04 added horizontal and vertical splitter 2015-11-06 12:56:57 +01:00
vurtun
473a9fdc25 added contextual menu to demo 2015-11-06 10:44:53 +01:00
vurtun
9a3c439a30 added spinner widgets to basic widgets 2015-11-06 10:12:30 +01:00
vurtun
a2ccfc6b8a fixed window flags 2015-11-05 22:34:42 +01:00
vurtun
3820fae3b2 added readme example back into demo 2015-11-05 20:15:16 +01:00
vurtun
f5f87a837d update win32 demo 2015-11-05 20:05:51 +01:00
vurtun
1aac008546 rewrote demo for better examples 2015-11-05 19:47:04 +01:00
vurtun
62bde3f475 removed private Makefile 2015-11-04 09:41:21 +01:00
vurtun
22c43fb00e added float spinner 2015-10-30 23:36:50 +01:00
vurtun
f88e92dd43 fixed text overdraw 2015-10-27 12:05:22 +01:00
vurtun
c4a59bfb57 removed tiled layout since it provided duplicated functionality 2015-10-24 16:13:39 +02:00
vurtun
a90df46eb5 Revert "removed tiled layout + added splitter to file browser example"
This reverts commit 5b07222968.
2015-10-24 15:57:26 +02:00
vurtun
5b07222968 removed tiled layout + added splitter to file browser example 2015-10-24 15:51:20 +02:00
vurtun
083152c6b9 fixed text image button + fixed internal font baker alignment 2015-10-21 18:43:31 +02:00
vurtun
b0af454098 added zr_input_unicode as another text input method 2015-10-14 09:28:15 +02:00
vurtun
bd9eb035fd fixed anti-aliased vertex output 2015-10-13 14:21:48 +02:00
vurtun
bf426606f3 moved space key into text input 2015-10-13 13:03:30 +02:00
Micha Mettke
c28075cce1 added scrolling to win32 demo 2015-10-08 09:51:16 -07:00
vurtun
20824d6dd5 changed global demo make script to Makefile 2015-10-08 10:04:42 +02:00
Micha Mettke
2d35a36352 fixed win32 demo input + window header title bounds calculation 2015-10-06 09:50:20 -07:00
vurtun
cb65e13381 removed unused variable in scrollbarh + moved demo helper macros into demo.c 2015-10-05 23:38:21 +02:00
Micha Mettke
4e80a2d960 added win32 demo + fixed some msvc warnings 2015-09-30 17:00:37 -07:00
vurtun
fb7d6536b3 fixed #14 and fixed #15 2015-09-30 10:19:19 +02:00
vurtun
10aaf0ac31 added tooltips + helper function to peek next widget bounds 2015-09-25 14:06:44 +02:00
vurtun
316fbb3e2d removed debugging code 2015-09-23 22:46:13 +02:00
vurtun
19443772ba fixed menu bugs 2015-09-23 22:30:11 +02:00
vurtun
f4f15045eb removed framerate limit in opengl + nanovg demo for window smoother dragging 2015-09-23 17:14:08 +02:00
vurtun
6db3603267 removed realloc callback in allocator 2015-09-23 14:52:01 +02:00
vurtun
664463de78 removed binaries 2015-09-23 11:18:15 +02:00
vurtun
273e337895 restructured demo 2015-09-23 11:16:03 +02:00
vurtun
273fb3f293 simplified some APIs 2015-09-22 21:08:59 +02:00
vurtun
3a48acfe69 changed menu api 2015-09-22 19:26:39 +02:00
vurtun
8f892ea84f added license text at the top of file 2015-09-21 20:38:37 +02:00
vurtun
649f2253e1 changed license to zlib (smaller) + added nanovg directory 2015-09-21 17:16:23 +02:00
vurtun
09c687d14d fixed dynamic buffer allocation 2015-09-20 21:08:32 +02:00
vurtun
dca6f8da67 made tiled layout stackable + fixed scrollbar 2015-09-18 11:21:36 +02:00
vurtun
2186694b04 fixed some deeper bugs & changed prefix 2015-09-17 23:09:49 +02:00
vurtun
5ee29fbe22 transfered node editor example to gist 2015-09-17 12:23:58 +02:00
vurtun
0c893e3686 added scrolling to x11 demo + fixed menu window clipping space 2015-09-16 15:04:26 +02:00
vurtun
c875e59710 added optional font handling 2015-09-15 18:13:43 +02:00
vurtun
fc8969dfd5 added tiled layout for widget and windows 2015-09-09 13:54:20 +02:00
vurtun
01e8fcdcbb updated screenshot + fixed demo color list 2015-09-07 19:12:47 +02:00
vurtun
e2e1b4b51e change slider + progressbar style 2015-09-07 18:37:30 +02:00
vurtun
f25790c430 upated nodeditor example 2015-09-06 23:14:15 +02:00
vurtun
efe9265949 added optional anti-aliased vertex buffer output 2015-09-06 19:13:07 +02:00
vurtun
112a5d2541 last commit not done but time to go on 2015-09-04 12:11:12 +02:00
vurtun
ffa28e08ea added right click & fixed button animation 2015-08-31 15:23:49 +02:00
vurtun
d11614d89e added some helper function for free space row layouts 2015-08-31 00:14:41 +02:00
vurtun
7403db93f3 removed nanovg directory 2015-08-30 19:43:02 +02:00
vurtun
d3fe5b4f70 added quad and cubic bezier draw command 2015-08-29 21:07:01 +02:00
vurtun
d1e59be97d added window flag to remove scrollbar fixed combobox/menu 2015-08-29 12:56:40 +02:00
vurtun
02c42176a6 renamed everything + added more widget animations 2015-08-29 11:04:09 +02:00
vurtun
493c16ec34 began simplifying and removing stuff 2015-08-27 19:25:13 +02:00
vurtun
0a6d40b584 fixed bug that caused problems if popup menus and combo boxes are used at the same time 2015-08-21 18:28:18 +02:00
vurtun
8f3280e339 some demo cleanup 2015-08-15 12:00:01 +02:00
vurtun
a582e97326 fixed popup panel blocking 2015-08-14 12:58:20 +02:00
vurtun
8d4b3dca55 fixed undefined uninitialized memory behavior 2015-08-13 20:07:20 +02:00
vurtun
fd5a380a0d fixed input behavior with overlapping panels after closing 2015-08-13 18:12:25 +02:00
vurtun
6709dc8875 added single depth overlapping menus to panels 2015-08-13 16:13:45 +02:00
vurtun
0a969c289c added combo boxes and popup panels 2015-08-12 15:53:12 +02:00
vurtun
bfa81e57b1 added panel bound popups 2015-08-10 20:34:47 +02:00
vurtun
b65ab2eb75 updated Readme example + screenshot 2015-08-07 17:09:23 +02:00
vurtun
83de65caa8 next small update for changes please look in Issue #9 2015-08-07 16:53:52 +02:00
vurtun
a661171516 rewrote command buffering for easier multi-panel support 2015-08-06 16:36:28 +02:00
vurtun
f7ec1b8e30 added float spinner + rewrote panel row layout API 2015-08-05 12:48:01 +02:00
vurtun
ccb271e7d9 major update for changes look in the update issue #9 2015-08-02 21:22:26 +02:00
vurtun
4299c3e3b0 changed tab to layout tree 2015-07-30 22:19:06 +02:00
vurtun
b16822bede refactored panel layout API to support additional layouts + added docs 2015-07-29 22:19:17 +02:00
vurtun
7ad4d90b3f cleanup + removed tree widget temporarily + finished panel header implementation 2015-07-27 19:56:19 +02:00
vurtun
e109072025 change panel layout function names + enhanced panel header symbol API 2015-07-26 22:18:31 +02:00
vurtun
5e9605bb9b fixed off by one header border drawing error only seen in the X11 demo 2015-07-22 19:22:36 +02:00
vurtun
0c3879141b added menu to demo 2015-07-20 17:36:58 +02:00
vurtun
edf97d0cdf major panel header API rewrite + removed and fixed partically visible widget click updates 2015-07-20 11:18:05 +02:00
vurtun
6f5c990470 added icon to tree nodes + fixed c++ errors 2015-07-18 03:37:42 +02:00
vurtun
c96ae5d7f6 added borderless tabs for tree like layouts in panels 2015-07-16 14:39:01 +02:00
vurtun
e35b3639bc removed nanov library from demo 2015-07-16 14:08:54 +02:00
vurtun
b14ee62c42 added some docu + fixed nanovg demo 2015-07-16 14:05:40 +02:00
vurtun
85da49d348 added cloning/cutting/deleting/pasting to tree widget 2015-07-16 11:36:56 +02:00
vurtun
e4fa5fad12 added tree widget to panel API 2015-07-16 01:35:21 +02:00
vurtun
a77a6a91c9 fixed a lot of small issues 2015-07-15 11:37:13 +02:00
vurtun
2650b02bbd cleanup + docu + added alternative to gui_panel_row_template API + fixed gui_panel_spacing for non table row layout 2015-07-14 13:26:53 +02:00
vurtun
25e0a4a0aa fixed opengl font handling 2015-07-13 13:51:54 +02:00
vurtun
44c89ddab9 added moveable cursor with inserting and removing to the editbox 2015-07-12 16:36:55 +02:00
vurtun
899aaf0fda remove win32 temporarily 2015-07-08 12:46:42 +02:00
vurtun
77033bb08e made demos compile under C++ 2015-07-08 12:33:07 +02:00
vurtun
e973545e3b fixed closing/minimize button icon bounding box + fixed opengl text width callback 2015-07-02 13:28:43 +02:00