60 lines
1.3 KiB
C
60 lines
1.3 KiB
C
/* ===============================================================
|
|
*
|
|
* EXAMPLE
|
|
*
|
|
* ===============================================================*/
|
|
/*
|
|
This example shows how to use the image API from raylib nuklear.
|
|
And then display it.
|
|
*/
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <raylib.h>
|
|
|
|
#define RAYLIB_NUKLEAR_IMPLEMENTATION
|
|
#include "raylib-nuklear.h"
|
|
|
|
int main()
|
|
{
|
|
InitWindow(1280, 720, "[raylib-nuklear] - Texture/Image");
|
|
|
|
// Initialize the context
|
|
struct nk_context* ctx = InitNuklear(20);
|
|
|
|
// Scale up the Nuklear GUI
|
|
SetNuklearScaling(ctx, 1.2f);
|
|
|
|
// Load the nk_image
|
|
struct nk_image img = LoadNuklearImage("resources/test-image.png");
|
|
|
|
while (!WindowShouldClose())
|
|
{
|
|
// Input
|
|
UpdateNuklear(ctx);
|
|
|
|
// The window called "Image example" is opend
|
|
if(nk_begin(ctx, "Image example", nk_rect(300, 100, img.w, img.h + 50), NK_WINDOW_MINIMIZABLE|NK_WINDOW_BORDER|NK_WINDOW_NO_SCROLLBAR|NK_WINDOW_MOVABLE|NK_WINDOW_CLOSABLE))
|
|
{
|
|
// Setup the layout
|
|
nk_layout_row_static(ctx, img.h, img.w, 1);
|
|
|
|
// Draw the image
|
|
nk_image(ctx, img);
|
|
}
|
|
nk_end(ctx);
|
|
|
|
// Draw the GUI
|
|
BeginDrawing();
|
|
ClearBackground(RAYWHITE);
|
|
DrawNuklear(ctx);
|
|
EndDrawing();
|
|
}
|
|
|
|
// Unload the Nuklear image
|
|
UnloadNuklearImage(img);
|
|
|
|
CloseWindow();
|
|
return 0;
|
|
}
|