| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #include <assert.h>
- #include "raylib.h"
- #define RAYLIB_NUKLEAR_IMPLEMENTATION
- #include "raylib-nuklear.h"
- int main(int argc, char *argv[]) {
- // Initialization
- SetTraceLogLevel(LOG_ALL);
- TraceLog(LOG_INFO, "================================");
- TraceLog(LOG_INFO, "raylib-nuklear-test");
- TraceLog(LOG_INFO, "================================");
- InitWindow(640, 480, "raylib-nuklear-tests");
- assert(IsWindowReady());
- // Make sure we're running in the correct directory.
- assert(argc > 0);
- const char* dir = GetDirectoryPath(argv[0]);
- assert(ChangeDirectory(dir));
- // InitNuklear()
- struct nk_context *ctx = InitNuklear(10);
- assert(ctx);
- // Image
- struct nk_image image = LoadNuklearImage("resources/test-image.png");
- assert(image.handle.ptr);
- Texture texture = TextureFromNuklear(image);
- assert(texture.width > 0);
- // UpdateNuklear()
- UpdateNuklear(ctx);
- // Nuklear GUI Code
- // https://github.com/Immediate-Mode-UI/Nuklear/wiki/Window
- if (nk_begin(ctx, "Nuklear", nk_rect(50, 50, 400, 400),
- NK_WINDOW_BORDER|NK_WINDOW_MOVABLE|NK_WINDOW_CLOSABLE)) {
- nk_button_label(ctx, "Button");
- nk_layout_row_static(ctx, 256, 256, 1);
- nk_image(ctx, image);
- }
- nk_end(ctx);
- // Render
- BeginDrawing();
- ClearBackground(RAYWHITE);
- // DrawNuklear()
- DrawNuklear(ctx);
- EndDrawing();
- WaitTime(500);
- // UnloadNuklearImage()
- UnloadNuklearImage(image);
- // UnloadNuklear()
- UnloadNuklear(ctx);
- // InitNuklearEx()
- Font font = LoadFont("resources/anonymous_pro_bold.ttf");
- ctx = InitNuklearEx(font, 25.0f);
- assert(ctx);
- UnloadNuklear(ctx);
- UnloadFont(font);
- // RectangleFromNuklear()
- struct nk_rect rect = nk_rect(10, 20, 30, 40);
- Rectangle rectangle = RectangleFromNuklear(rect);
- assert(rect.x == rectangle.x);
- assert(rect.y == rectangle.y);
- assert(rect.w == rectangle.width);
- assert(rect.h == rectangle.height);
- CloseWindow();
- TraceLog(LOG_INFO, "================================");
- TraceLog(LOG_INFO, "raylib-nuklear tests succesful");
- TraceLog(LOG_INFO, "================================");
- return 0;
- }
|