Commit Graph

755 Commits

Author SHA1 Message Date
Ludwig Füchsl a31c6c0089 Bug fix & Added comments 2022-03-04 13:16:47 +01:00
Ludwig Füchsl 33395aabdb Fixed non displayed windows.
WARNING: Drawing is not done correctly
2022-02-28 15:53:54 +01:00
Ludwig Füchsl 169470d2e3 Converted from C++ to C
WARNING: Is currently not working! Needs more debugging.
2022-02-28 14:57:47 +01:00
Ludwig Füchsl d4e695420d Added GDI full featured window code 2022-02-25 11:13:01 +01:00
Ludwig Füchsl cb59055c06 Added some API dokumentation 2022-02-14 22:41:32 +01:00
Ludwig Füchsl 703d73aebf Added D3D12 backend and demo 2022-02-14 20:51:28 +01:00
Rob Loach 6686ab1dd5
Fix incorrect cast on SDL_RenderGeometryRaw()
Fixes #405
2022-02-06 00:43:54 -05:00
lib-omar f6851ea2ca
Favor switch over if-else chain in event handler. 2022-01-29 14:19:32 -05:00
lib-omar 811dbacd12
Favor switch over if-else chain in event handler. 2022-01-29 14:18:07 -05:00
lib-omar 43b5e82748
Favor switch over if-else chain in event handler. 2022-01-29 14:15:02 -05:00
lib-omar 8f5ae21035
Favor switch over if-else chain in event handler. 2022-01-29 14:13:34 -05:00
Rob Loach 9486833f61
Merge pull request #396 from Immediate-Mode-UI/br_example_sdl_rendergeometry
Backend: SDL2 Renderer
2022-01-09 18:13:28 -05:00
Rob Loach cd4990834f
sdl_renderer: Update code 2022-01-06 21:55:20 -05:00
Cameron Cawley 20a26c8fec Restore a previously removed cast 2021-12-22 21:43:33 +00:00
Cameron Cawley 54b14dc103 Support any format with 1, 2, or 4 bytes per pixel in sdl2surface_rawfb 2021-12-22 21:43:29 +00:00
Rob Loach 1f562ecb94
Merge branch 'master' of github.com:Immediate-Mode-UI/Nuklear into br_example_sdl_rendergeometry 2021-12-22 16:08:49 -05:00
dumblob a3cfd2a910
Merge pull request #378 from ccawley2011/canvas-demo
demos: Integrate the canvas example with the demos
2021-12-17 09:47:59 +01:00
Cameron Cawley 48334b8ba6 Implement arcs with GDI+ 2021-12-16 21:15:23 +00:00
Cameron Cawley a12c158ad4 Add more shapes to the canvas demo 2021-12-16 20:26:26 +00:00
Cameron Cawley 459ba9c48c Integrate the canvas example with the demos 2021-12-16 20:26:26 +00:00
Rob Loach 24912785b7
Merge pull request #379 from ccawley2011/allegro5
Fix rendering issues with Allegro
2021-12-16 14:51:45 -05:00
Cameron Cawley 60c52adfaf
Enable and fix most GCC warnings (#377)
Co-authored-by: Rob Loach <robloach@gmail.com>
2021-12-16 20:44:00 +01:00
Cameron Cawley c5d18493a4 Correctly implement arcs with Allegro 2021-12-16 18:57:08 +00:00
Cameron Cawley 291ce9b609 Fix rendering polygons and polylines with Allegro 2021-12-16 18:56:07 +00:00
Rob Loach eadb4179af
sdlrenderer: C89 support 2021-12-14 21:10:30 -05:00
Cameron Cawley 9af0103cac Build all demos as C89 2021-12-14 20:14:34 +00:00
dumblob 93940ccbd0
Merge pull request #363 from lockie/master
allegro5 demo: Fix warning
2021-12-14 09:26:59 +01:00
Andrew Kravchuk 5ea1a668cb
Use NK_UNUSED macro
Co-authored-by: Rob Loach <robloach@gmail.com>
2021-12-14 09:15:00 +03:00
luz paz 297e463d37 Fix various typos
Found via `codespell -q 3 -L acount,modifyable,nd,pixelx,seperator,te,vertexes`
2021-11-30 21:45:48 -05:00
Andrew Kravchuk 019df39478
Fix warning in Allegro5 demo 2021-11-02 19:22:01 +03:00
Alex Anderson a37a563315 Add select all shortcut to glfw4 demo 2021-10-10 12:15:21 +02:00
Wladislav Artsimovich 1e4eacca2e change NK_MEMSET to memset(), because NK_MEMSET is NK internal 2021-06-18 16:19:49 +02:00
Richard Gill abbd89896f added style and overview to xbc_cairo demo 2021-06-06 17:27:44 +02:00
Richard Gill 2b886bd2cd fixes for PR inclusion 2021-05-13 15:22:52 +02:00
Richard Gill 14531a23a5 fixed rect multi color 2021-05-13 01:00:19 +02:00
Richard Gill ef9fef2189 last xcb try 2021-05-06 21:35:36 +02:00
Richard Gill 596e5d76d9 try to impl rect multicolor command with cairo 2021-05-01 20:50:31 +02:00
Richard Gill 1ae558aa7f added style selector in demo 2021-05-01 17:48:17 +02:00
Richard Gill 24594c8f75 working
from https://github.com/griebd/nuklear_xcb
2021-05-01 17:38:55 +02:00
marcinzelent d829ff1ef1 Fixed copy and paste in glfw_opengl3 demo 2021-04-08 17:36:07 +02:00
Sylvain fb698ba7ef
Set back clipping_enabled 2021-04-03 23:40:13 +02:00
Sylvain 6b5cfe5f2b
Save and restore the cliprect 2021-04-03 20:53:19 +02:00
Sylvain 3552e131a9
Remove setting GL attributes 2021-03-30 17:09:57 +02:00
Sylvain 34450093d7
Add example to use Nuklear with SDL2 SDL_Renderer and SDL_RenderGeometry() 2021-03-26 09:19:50 +01:00
Hecklezz ff7f929e38 Made D3D11 implementation work when using NK_UINT_DRAW_INDEX 2020-12-29 15:08:47 +10:00
Martijn Versteegh 7fea82f534 Properly cleanup all resources and remove some obsolete comments. 2020-10-07 11:43:40 +02:00
Martijn Versteegh dc635effbc Don't show the grid demo, since it doesn't work that well without keyboard handling. 2020-10-07 11:42:45 +02:00
Martijn Versteegh 737bb49754 Remove overly spammy printf.\n 2020-10-07 11:37:45 +02:00
Martijn Versteegh b5faf09c4f Add a rawfb backend which uses SDL_Surface's for output.
The other sdl  demo backends all use OpenGL, which defeats the
purpose of using SDL_Renderer for portabilty.
This is maybe not as good as a full SDL_Renderer backend, but it
is more flexible. For most applications software rendering of the
UI is more than fast enough.
2020-10-07 11:18:20 +02:00
Andrew Kravchuk 264abf4af1
Added processed event flag as a return value in allegro5 backend 2020-06-16 19:03:50 +03:00
Patrick McMorris c1e7be31bd fix incorrect memset size in shutdown for glfw demo 2020-06-11 23:03:38 -07:00
wyattscarpenter 9812c131b4
use integer for integer bound
I got a warning about this from my compiler (cl.exe). I tested it both ways, and the behavior is the same, except for the compiler warning no longer occurs after my change.
2020-06-11 07:08:43 -05:00
Andrew Kravchuk 539f477781
Improved user font initialization in allegro5 backend 2020-06-06 09:50:00 +03:00
Andrew Kravchuk 74db09cdab
Added ability to use user fonts after initialization in allegro5 backend 2020-06-05 12:01:49 +03:00
Andrew Kravchuk f7960ba73c
Fixed naming bug in allegro5 backend image support 2020-05-27 07:57:02 +03:00
Andrew Kravchuk 151916aee4
Added image support to allegro5 backend 2020-05-26 17:56:13 +03:00
Arnavion e98ddde398 Migrate wayland demo to xdg_shell.
The wl_shell interface it previously used is deprecated and not implemented
by some compositors, like sway.

Fixes #134
2020-05-17 12:07:21 -07:00
Richard Gill 910df27fa0
nuklear_glfw_gl3.h without implementation (#124)
note: including nuklear implementation in glfw_gl3 implementation file is still needed because of the usage of some macros (i.e. NK_MEMSET)
2020-05-08 13:12:55 +02:00
crazyBaboon 244a98ea7b
Fix missing space in overview.c "Popup->Right click here:" 2020-05-03 11:06:50 +01:00
Richard Gill fe01ff52eb demo/glfw_opengl3 Remove global state 2020-04-30 15:17:24 +02:00
Zane Ashby 9818f642da Fix memory leak in demo and example code.
Clear cmds nk_buffer after each frame to stop it growing over time.
2020-04-12 01:40:09 +12:00
crazyBaboon 4f6b838748 Remove duplicated #include <math.h> 2020-03-09 21:51:08 +00:00
Johan Söderlind Åström 81e408a805 Added arg params in main function to fix conflicting types for 'SDL_main' error 2020-02-28 15:24:03 +01:00
Zidi 135b585695 zidi add comment 2020-02-27 10:11:05 +08:00
Zidi ad8dcbb385 add some comment 2020-02-26 22:50:16 +08:00
Zidi 9ee58df23e add some comment 2020-02-26 22:47:48 +08:00
Zidi ce6b5b03c4 fix backspace question mark problem 2020-02-26 11:21:22 +08:00
Zidi 5b4cc7b5eb zidi fix backspace won't work problem in SFML UTF-8 2020-02-26 11:01:09 +08:00
skoperst a88cd062b7 Add pure C wayland demo
This implementation uses software rendering in native wayland client.
2019-12-12 21:24:46 +02:00
dumblob df60f5590d
Merge pull request #761 from sukhchainn/patch-2
Remove superfluous #include <math.h>
2019-09-20 18:04:41 +02:00
Jimmi Holst Christensen 7fafcb3ac7 add ctrl support for x11 demos 2019-09-18 18:27:25 +02:00
Jmmi f176f3d7e6 use memset macros instead of fn in x11 demos 2019-08-16 22:20:22 +02:00
Lory171 130f0a6303
x11_xft fixes
Fixes for the X11 backend with XFT fonts from demo/x11_xft:
- fixed some memory leaks by destroying XFT objects during cleanup 
- the function to get text width was returning the wrong value
- the clipping space of text boxes was not implemented for XFT
- misc
2019-07-23 01:34:43 +02:00
Infinity_X 15e4dae107
Add type conversion for calloc 2019-07-10 19:32:36 +08:00
Lory171 7decd7c600
x11_xft fix resize issue 2019-07-08 20:55:35 +02:00
dumblob 9854477f0b
Merge pull request #817 from ccawley2011/sfml-fix
Fix compilation of the SFML demos
2019-06-16 20:38:13 +02:00
Tropby 386386f7de added casts to HBITMAP (needed to compile with mingw 32bit)
added "A" to CreateFont (needed to compile with mingw 32bit)
2019-06-15 12:50:24 +02:00
0x0203 e8d1c38546 Fix nits (see PR #851) to clean up x11_rawfb 2019-06-10 18:03:22 -04:00
0x0203 4de6d284a3 - Determine pixel layout at runtime instead of relying on compile-time flags
- Fix some potential null dereference bugs
2019-06-06 14:54:30 -04:00
0x0203 1dfe4ebc19 Implement software rendering of RECT_MUTI_COLOR for x11_rawfb 2019-06-06 12:58:03 -04:00
0x0203 46031ccc5f Make x11_rawfb set_style() examples correct 2019-06-06 12:51:16 -04:00
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