Commit Graph

774 Commits

Author SHA1 Message Date
0x0203 6d24023d98 - Implement text foreground color
- Be consistent about reading and writing pixel values to avoid casting/offset madness
- clean up function names for clarity/consistency
- Fix fence post errors preventing get/set pixels from operating on first row/column
- Enforce mutual exclusivity for pixel layout macros
2019-06-06 12:42:32 -04:00
0x0203 b9f9d0a176 Allow proper drawing to last column of screen. 2019-05-31 19:31:54 -04:00
dumblob b76f2f28c4
Merge pull request #777 from sa-kib/rawfb_xft_demo_fixes
x11_rawfb and x11_xft demos fixes
2019-05-28 10:32:58 +02:00
Cameron Cawley 930ac1e888 Fix compilation of the SFML demos 2019-02-28 00:10:42 +00:00
Cameron Cawley e032440225 Fix background colour in Direct3D 9 demo 2019-02-27 17:56:38 +00:00
Sergiy Kibrik 945c7f82ac demo/x11_xft: fix UTF-8 text rendering
If XftDrawString8() is given non-ASCII UTF-8 string it fails to properly render it.
Using XftDrawStringUtf8() instead seems to be doing the right thing.

Signed-off-by: Sergiy Kibrik <sakib@darkstar.site>
2018-12-11 17:20:10 +02:00
Sergiy Kibrik 0a46238a44 demo/x11_rawfb: fix build errors
Like these:

   main.c: In function ‘main’:
   main.c:234:20: error: ‘ctx’ undeclared (first use in this function)
              overview(ctx);
                       ^
Signed-off-by: Sergiy Kibrik <sakib@darkstar.site>
2018-12-11 17:06:16 +02:00
Micha Mettke 3e10d1204b
Merge pull request #759 from kphillisjr/gdi_fixes
Demos: some windows GDI fixes
2018-11-01 19:28:07 +01:00
Micha Mettke 99904e9f4b
Merge pull request #764 from DeXP/master
Add Raspberry Pi to OpenGL ES2
2018-11-01 19:23:37 +01:00
Robert Winkler 36a8d2a5ad Fix issue 548
The issue was introduced in the fix for 416 (commit 8559aeb).

The original problem was (backspace and arrows moving too fast) is not a
nuklear problem but a GLFW problem.  Because of the way nuklear handles
input (it must be between input_begin and end), the key callback method
GLFW offers is not an option.

So we have to use glfwGetKey() which returns the current state of a key
not whether it was just pressed or released, so nuklear acts like it
was pressed every single frame, hence the "too fast" problem.

The fix checks for state change and discards the event if there was
no change.  This kills key repeat behavior (for named keys) on
*all* platforms which makes deleting or arrowing inconvenient.

Since there's no way to fix the shortcomings of a callback vs event
based input API, my "fix" just makes the original fix conditional
on a macro NK_KEYSTATE_BASED_INPUT
2018-10-30 00:43:01 -07:00
Dmitry Hrabrov 272f1b9a05
Create Readme.md for OpenGL ES 2018-10-28 14:31:00 +03:00
Dmitry Hrabrov bb21a3c836
Add Raspberry Pi to OpenGL ES2 makefile 2018-10-28 14:08:15 +03:00
Brain Developer 721b3755f4
I removed an additional #include <math.h>
I found an additional "#include <math.h>" so I removed it.
Thinking that it was additional.
2018-10-22 21:10:01 +05:30
Kenney Phillis Jr 3121e6cb2a gdi demo: Implement nk_gdi_rect_multi_color.
This implements the GDI Rect Multicolor functions. This will work without
any problems when targetting Windows 2000 and up.

TODO: Fix Alpha blending. The Color Matrix does not render correctly.
2018-10-18 18:13:56 -05:00
Kenney Phillis Jr 9c2af0124d gdi demo: fix style issues.
A small fix of style where tabs are replaced with spaces.
2018-10-18 18:13:36 -05:00
Vincent Torri 1fdf7828af demos: fix typo (clipbard --> clipboard) 2018-09-15 06:52:10 +02:00
Micha Mettke 4ce3b6a0b3
Merge pull request #701 from buserror/fix-out-of-bound-access
overview.c: Fix an out of bound access
2018-06-29 21:43:12 +02:00
Michel Pollet 8ddb3e59f6 xlib: Add support for x11_xft for antialiases fonts
Looks a lot better.

Signed-off-by: Michel Pollet <buserror@gmail.com>
2018-06-21 13:41:04 +01:00
Michel Pollet e5dee6bf3d overview.c: Fix an out of bound access
Access 8 elements in a 4 elements array.

Signed-off-by: Michel Pollet <buserror@gmail.com>
2018-06-21 11:08:28 +01:00
vurtun 0981c1a321 Fixed #677 contextual right-click behavior
Closing a contextual menu by right click caused invalid behavior and
bocking. In addition having consecutive contextual menus and closing an
earlier menu will wrongfully open a following menu. Both are now fixed.
2018-04-23 10:55:35 +02:00
vurtun 3f99a80f11 Added selectable tree nodes #626 2018-04-14 13:57:25 +02:00
vurtun aa6752487f Merge branch 'lumonix-glfw_opengl4_demo' 2018-04-06 09:24:56 +02:00
vurtun 1098b22423 Changed GLFW context version to OpenGL 4 2018-04-06 09:20:53 +02:00
Micha Mettke 9a8899fb29
Merge pull request #644 from vtorri/master
d3d11 demo: release target view with ID3D11RenderTargetView_Release()…
2018-04-01 04:15:57 -07:00
Dickby 0dabcdd1f9
correct major/minor version of opengl in x11_opengl2 2018-03-23 16:14:32 +01:00
Vincent Torri 602ad7d6f9 d3d11 demo: release target view with ID3D11RenderTargetView_Release() and not with ID3D11ShaderResourceView_Release() 2018-03-14 10:14:17 +01:00
Micha Mettke d9ccea11fe
Merge pull request #640 from vtorri/master
d3d11 demo: GetBuffer requires a void ** as 4th argument.
2018-03-01 09:37:55 -08:00
Vincent Torri 30a5709e0a d3d11 demo: GetBuffer requires a void ** as 4th argument.
Fix warning with gcc.
2018-03-01 16:22:19 +01:00
vurtun 19ce2bf091 Removed cursor hidding while property dragging 2018-02-12 09:53:18 +01:00
Patrick Rudolph 66946dc3cf nuklear_rawfb: Use pitch in offset calculation
Use the framebuffer pitch to calculate the correct offset.
Fixes garbled rendering on framebuffer that have
pitch != x_resolution * bpp / 8.

The demo application is unaffected as the pitch always aligns with
the x resolution of the window.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
2018-02-04 17:08:17 +01:00
um e409328ff2 fixed nk_gdi_stroke_rect() : used old version (Rectangle/RoundRect) but with transparent brush. 2018-02-02 10:32:45 +03:00
um f771450e93 Correct GDI window sizing handling 2018-02-01 17:26:27 +03:00
Martins Mozeiko 5acdfc9e34 correctly draw non-filled rectangle for GDI demo 2018-01-29 22:14:41 -08:00
vurtun 48a9d3176b Fixed ANSI C warnings 2018-01-28 11:59:06 +01:00
vurtun f8dfddd732 Applied patch from #603 for panel border drawing 2018-01-28 11:48:44 +01:00
Kees Rijnen 205089ff62 Add opengl 4 demo that uses bindless textures and pesistent mapped vertex buffer 2018-01-22 06:00:39 -08:00
vurtun 2891c6afbc Update demos to new color picker API 2018-01-05 13:09:27 +01:00
vurtun bd30c124a6 Fixed #544 color picker (breaking change) 2018-01-05 12:32:42 +01:00
Micha Mettke df96bac317
Merge pull request #590 from mgerhardy/travis
TravisCI changes
2018-01-03 12:27:14 -08:00
William Emerison Six 1b64d1241d show full label in overview popup by expanding horizontal space 2018-01-02 22:06:19 -05:00
Martin Gerhardy b17ec490ef TRAVIS: include demo windows and activate warnings 2018-01-02 08:26:29 +01:00
vurtun 6bddc5c5f0 Update demos configurables and removed warnings 2018-01-01 17:20:55 +01:00
Micha Mettke 5b9d6a9e6f
Merge pull request #591 from mgerhardy/issue584
Fixed parts of issue #584
2018-01-01 06:34:47 -08:00
Martin Gerhardy be55f26a9f Fixed parts of issue #584 2017-12-31 17:26:52 +01:00
Martin Gerhardy 43277a4ff2 Fixed issue #588 2017-12-31 16:54:43 +01:00
vurtun a9e5e7299c Added extended submenus to overview.c 2017-12-07 11:50:27 +01:00
vurtun f7833d0379 Fixed #569 and added additional formated tooltip 2017-12-04 13:23:18 +01:00
Micha Mettke 7e32431af8
Merge pull request #549 from GreenByteSoftware/master
Fix D3D9 rendering in certain scenarios
2017-11-29 22:13:08 +01:00
vurtun 9e2cce1ebc Removed not needed } from comment 2017-11-28 12:21:39 +01:00
vurtun 054136075c Fixed warnings and UB in demo code 2017-11-27 20:44:13 +01:00
Aurimas Blažulionis a012e7b48c Merge branch 'master' of https://github.com/vurtun/nuklear 2017-11-26 19:45:52 +02:00
Krzysztof Starzyk c7d9d09522 Ident 2017-11-12 12:49:15 +01:00
Krzysztof Starzyk dde257903c Fix ident 2017-11-12 12:47:13 +01:00
Krzysztof Starzyk bcd0234ff8 Add OSX build for SFML demo 2017-11-12 12:39:23 +01:00
Aurimas 9a07540974 Fix D3D9 rendering in certain scenarios 2017-11-11 15:32:22 +02:00
Michael Bosse 0fca7e2045 Adds protection of the texture matrix stack which allows the user to use sf::Sprites with this code unmodified otherwise 2017-10-17 17:16:55 -04:00
Micha Mettke 056af25e27 Merge pull request #534 from DeXP/gles2
OpenGL ES2.0: Emscripten support
2017-10-17 12:23:56 +02:00
Patrick Rudolph 3705464605 demo/x11_rawfb: Change license to MIT
Relicense all x11_rawfb demo files under MIT license.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
2017-10-09 17:41:06 +02:00
DeXP e57e0149f3 Emscripten support 2017-10-08 21:26:33 +02:00
vurtun e5850a01b9 Fixed style issues in software renderer 2017-10-07 14:30:22 +02:00
vurtun 5d72fe5f86 Merge branch 'nuklear_softrast' of https://github.com/siro20/nuklear into siro20-nuklear_softrast 2017-10-07 14:01:22 +02:00
Patrick Rudolph 2eb72b26e4 Add software rasterizer library and demo.
The software rasterizer is to be used with raw framebuffer
devices, where no GPU or X11 is available.
The demo emulates a raw framebuffer on X11 using XShmImage / XImage.

Features implemented:
* Drawing primitives
* Drawing polygons (using Darel Rex Finley algorithm)
* Drawing arcs and circles (using Bresenham's elipses algorithm)
* Drawing images using nearest filtering
* Bounds check on every operation
* Fastpath for lines
* Font rendering using nearest filtering
* Window resize
* Thread safe implementation by using a context
* Fixed lower and upper scissors on fast-path
* Adapted coding style to nuklear's style
* Implemented text scissors

Color formats:
Define one of them at compile time.
* RAWFB_RGBX_8888 (32bpp)
* RAWFB_XRGB_8888 (32bpp)

Tested:
The library has been tested on Lenovo Thinkpad T500 and is able to render
more than 30fps on a single core with no further optimizations and VSNYC enabled.

TODO:
* Improve font rendering by using filters.
* Account font foreground color.

Usage:
The raw framebuffer library needs a "texture" that holds the prerendered
font data. The texture is used at runtime to blit the letters onto screen.
You have to provide the framebuffer address, dimension and pitch.

Signed-off-by: Patrick Rudolph <siro@das-labor.org>
2017-10-07 12:08:24 +02:00
Micha Mettke ed57400644 Merge pull request #529 from DeXP/gdip-fonts
GDI+ multiple fonts support
2017-10-04 21:41:41 +02:00
Dmitry Hrabrov 49c3bcd0c6 nk_ prefix 2017-10-04 20:05:47 +03:00
vurtun af216a1be4 Merge branch 'gles2' of https://github.com/DeXP/nuklear into DeXP--gles2 2017-10-04 15:10:05 +02:00
Micha Mettke c582959eea Merge pull request #527 from DeXP/gdip
GDI+ nk_gdip_fill_rect background fix
2017-10-04 15:08:07 +02:00
Dmitry Hrabrov 02e6a81625 GDI+ multiple fonts support
Each custom loaded font requires own `GpFontCollection`. So there is array of font collections now.
2017-10-01 18:38:08 +03:00
Dmitry Hrabrov a01977264c Revert X11 changes 2017-10-01 18:36:40 +03:00
DeXP cc8556533f Open GL ES 2 demo
Can be used on: Linux, Mac OS X, Android, Emscripten
2017-10-01 14:10:57 +02:00
Dmitry Hrabrov 49f6b1134e Revert X11 changes 2017-10-01 14:08:06 +02:00
Dmitry Hrabrov ecee5816d5 Revert X11 changes 2017-10-01 13:42:41 +03:00
Dmitry Hrabrov d0ed8bc3cf GDI+ nk_gdip_fill_rect background fix
1. Main background area was filled by 2 big overlapping rectangles. It works good on solid but not on semi-transparent themes. Just replaced 2 big rectangles with 1 big and 2 small.
2. There is no need in [nk_gdip_fill_rect filled pies fix](7ab7327fa4) anymore. It disturbs semi-transparent themes too.
2017-10-01 13:33:52 +03:00
Micha Mettke 48f659abd8 Merge pull request #497 from jwdeitch/master
fix compiling error on OSX (-lglfw3 not found)
2017-09-18 17:41:54 +02:00
Dmitry Hrabrov 708a7ebbc3 Xlib: remove text BG rectangle
It's already window or BGcolor on background.
2017-09-11 15:15:38 +03:00
Dmitry Hrabrov f72dd6239d Optional stb_image defines 2017-09-11 14:00:20 +03:00
Dmitry Hrabrov 5de84dc310 Fix stb_image path 2017-09-04 12:38:04 +03:00
Dmitry Hrabrov 5fc8a250aa stb_image with bit transparency
X11 do not support transparent images itself. So the clip mask is calculating in this code. X11 ClipMask support only bit transparency.
2017-09-04 12:35:32 +03:00
lieff 039afa80ae fix asan error (out-of-scope variable access) 2017-09-01 13:06:49 +03:00
jwdeitch 52f24d4e67 fix compiling error on OSX
error: ld: library not found for -lglfw3
2017-08-17 00:58:08 -04:00
cascade256 f7137ec0f1 Fix GLFW double clicking 2017-08-13 00:55:07 -07:00
Micha Mettke 27603d5b97 Merge pull request #449 from Fra-Ktus/master
allowing touch event to work on iOS and Android
2017-06-06 20:40:00 +02:00
Micha Mettke 3b8d66a57c Merge pull request #450 from Fra-Ktus/gdi_nk_image
Implemented nk_create_image and nk_delete_image for the win32 gdi
2017-06-06 20:39:16 +02:00
Martins Mozeiko e14dd1cb1b Demo using Direct3D 9 for rendering 2017-06-05 21:09:16 -07:00
FraKtus 9c3ab8ed60 implemented nk_create_image and nk_delete_image 2017-06-04 15:29:42 +02:00
FraKtus 042cd078ec implemented nk_create_image and nk_delete_image 2017-06-04 11:34:42 +02:00
FraKtus 3debbd2104 allowing touch event to work on iOS and Android 2017-06-04 11:20:25 +02:00
Martins Mozeiko edac63b81e double click support in demo code for Windows platforms 2017-05-16 22:29:43 -07:00
vurtun 9dc7323b74 Added platform double click support #412 2017-05-06 18:50:32 +02:00
vurtun 5cf6f204b7 Removed wrong `nk_window_is_closed` in demos 2017-04-06 09:51:50 +02:00
vurtun 1a87c13d84 Fixed multiline commment in commented out code 2017-03-25 23:29:42 +01:00
vurtun 23eea231d8 Added horizontal scrolling 2017-03-21 21:21:58 +01:00
vurtun 6bb00890fb Fixed PR styling issues 2017-03-18 18:09:54 +01:00
Silas Parker 0073110c9b Xlib: Add font stack push function and copy/paste support 2017-03-16 15:39:12 +00:00
vurtun e77b723d98 Removed unused defines and parameters 2017-03-15 18:19:21 +01:00
vurtun 7c7e15e5c3 Fixed some styling issues in sfml demos 2017-03-12 13:30:14 +01:00
vurtun 220c314df4 Merge branch 'master' of https://github.com/ricanteja/nuklear into ricanteja-master 2017-03-12 13:02:55 +01:00
Ricardo Antonio Tejada 3d77394bd2 Forgot to edit link to point to SFML webpage and not Allegro.. 2017-03-01 22:25:42 -05:00
Ricardo Antonio Tejada 1574367121 Makefiles done. 2017-03-01 22:23:21 -05:00
Ricardo Antonio Tejada c6bfe1c157 Finally! I fixed that bug that I had. sf::Mouse::setPosition was setting the position of the cursor to desktop coordinates not window coordinates. 2017-03-01 17:17:43 -05:00
Ricardo Antonio Tejada 63e98d90bd Almost ready for merge. Need to fix bug with mouse movement. Need to implement clipboard support. Lastly need to write ReadMe on instructions for building. 2017-02-28 19:32:55 -05:00
Ricardo Antonio Tejada 5007519ae7 Dumped the pure SFML folder. Got it working enough to realize that it just ran too slow to continue wasting time on it. SFML creates a OpenGL context anyway so users can drop in the nk_sfml_gl2.h and not need anything else. I'll have to add this in the readme. Tried to make my code as similar to other demos for sake of consistency. 2017-02-23 02:02:59 -05:00
Ricardo Antonio Tejada 73b0b945b4 Added OpenGL3 for SFML and also working on "pure" SFML renderer. 2017-02-17 17:54:24 -05:00
Ricardo Antonio Tejada 2babe51576 Fixed the clipping glitch (bug that caused the window borders and backgrounds to not be rendered).
Fixed text input bug that could cause the program to crash.
2017-02-13 01:59:32 -05:00
Martins Mozeiko aa3ffd6917 GDI+ simplified image loading, added error checking and image freeing 2017-02-10 00:41:31 -08:00
Ricardo Antonio Tejada 2d1ea95600 Adding SFML backends for Nuklear. Working on porting over the OpenGL 2 renderer from the GLFW and SDL examples.
Still some rendering bugs I would like some help on.
2017-02-09 20:54:28 -05:00
Dmitry Hrabrov 35e8558be4 GDI+ split rendering GUI and clear surface
For example, I draw something via GDI+. Now I can call `nk_gdip_render_gui(AA)` and it will not erase my drawings, just will draw on top. 
Previos API was not changed.
2017-02-04 18:24:49 +03:00
Dmitry Hrabrov 4442697ee0 GDI+ set text color only once 2017-02-04 12:53:19 +03:00
Dmitry Hrabrov 5d98939a2d GDI+ text transparent background fix
There is no need do draw filled rectangle behind of any text
2017-02-04 12:52:02 +03:00
Micha Mettke 3123ba0167 Merge pull request #330 from DeXP/master
Remove warning: 'nk_to_upper' defined but not used
2017-01-24 22:28:13 +01:00
vurtun 6b27c20231 Fixed #331 with graceful x11 window closing 2017-01-23 19:33:58 +01:00
Dmitry Hrabrov 16c2dddae4 Fix typo 2017-01-23 11:19:27 +03:00
Micha Mettke 431e67597c Merge pull request #327 from DeXP/master
GDI+: loading TTF font from file
2017-01-21 19:55:16 +01:00
Dmitry Hrabrov 8033c400b4 Added loading TTF font from file
Also font API rename to be the same with images.
2017-01-20 15:09:27 +03:00
Micha Mettke b544d616e3 Merge pull request #324 from DeXP/master
Define IStream interface
2017-01-19 20:35:03 +01:00
Dmitry Hrabrov 4d957de4a1 Define IStream interface 2017-01-19 22:14:56 +03:00
vurtun 5011a36529 Updated CHANGELOG format and versioning 2017-01-15 21:13:38 +01:00
vurtun 34d0fcd43d Merged #198 with bottom-left corner scaler 2017-01-14 15:22:22 +01:00
vurtun be7ac9b903 Updated Makefile as of #256 2017-01-14 09:46:13 +01:00
vurtun aa1f516fa3 Added row template layout example to demo/overview 2017-01-12 20:49:52 +01:00
Micha Mettke 14f107b0ab Merge pull request #318 from DeXP/master
GDI+ load font from memory
2017-01-10 14:58:27 +01:00
Dmitry Hrabrov 24f4e3f288 GDI+ load font from memory added
There is new user function: `nk_gdipfont_create_mem`. Added `fontCollection` member to `gdip` structure to automatically clean it up at execution end.
2017-01-07 16:16:03 +03:00
Dmitry Hrabrov 7ab7327fa4 nk_gdip_fill_rect filled pies fix
Added 1px overlap near filled pies. There is no empty space between pie and rectangle now. It was especially conspicuous on red theme.
2017-01-07 14:26:26 +03:00
Micha Mettke 24c756c264 Merge pull request #315 from seibelj/allegro5_impl
Allegro5 nuklear backend and touchscreen support
2017-01-07 11:01:22 +01:00
Micha Mettke 5ad19783c3 Merge pull request #316 from DeXP/master
GDI+ images support
2017-01-07 10:12:40 +01:00
seibelj 7dbd9f910e PR fixes. Removed all keyboard callback code as it can be accomplished with nk_edit flags 2017-01-06 14:09:44 -05:00
Dmitry Hrabrov 5aeddddd74 Added GDI+ images support 2017-01-06 15:40:01 +03:00
Dmitry Hrabrov 840f539eab Added OLE32 to dependencies list 2017-01-06 15:33:37 +03:00
seibelj bc6c9c7093 Added readme and keyboard handler example files 2017-01-05 16:00:11 -05:00
seibelj 6d5fba0cbb Removed display checkers because they appear not to work for custom events. Also fixed up whitespace and changed a variable name from nil to none because of objective-c conflicting 2017-01-05 15:24:19 -05:00
seibelj 1cf83d258e Improved soft keyboard support 2017-01-03 13:05:17 -05:00
seibelj bde7c3c4e9 Fix for multitouch causing issues 2017-01-03 11:13:46 -05:00
seibelj 73e58012ef Fixes for touch events 2017-01-02 23:12:39 -05:00
seibelj 63e2cbafb6 initial touch support 2017-01-02 21:48:48 -05:00
vurtun e63ae83349 Extended 16-bit scrollbar offsets to 32-bit #312 2016-12-31 20:05:17 +01:00
seibelj eb58042b1a Merge branch 'master' into allegro5_impl 2016-12-31 14:00:58 -05:00
seibelj 533d5d28ef Much progress on allegro5 impl. Also added SELCT_ALL command 2016-12-31 13:58:57 -05:00
vurtun a835309973 Fixed typo inside GLFW demo #311 2016-12-31 19:14:47 +01:00
Micha Mettke 21f406f848 Merge pull request #306 from juliuszint/master
fixed relative path of demo fonts in d3d11 sample
2016-12-31 14:00:22 +01:00
seibelj e2c48555d4 Added initial work for allegro5 backend 2016-12-31 01:29:45 -05:00
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