From c49cbc9849e5e0bef7616eb8c486c361e3573205 Mon Sep 17 00:00:00 2001 From: Ray Date: Sat, 10 Sep 2022 10:24:50 +0200 Subject: [PATCH] Remove old/buggy examples --- examples/text_editor/text_editor.c | 294 ----------------- .../textbox_selection/textbox_selection.c | 301 ------------------ 2 files changed, 595 deletions(-) delete mode 100644 examples/text_editor/text_editor.c delete mode 100644 examples/textbox_selection/textbox_selection.c diff --git a/examples/text_editor/text_editor.c b/examples/text_editor/text_editor.c deleted file mode 100644 index fe86cc7..0000000 --- a/examples/text_editor/text_editor.c +++ /dev/null @@ -1,294 +0,0 @@ -/******************************************************************************************* -* -* raygui - Controls test -* -* TEST CONTROLS: -* - GuiTextEditor() -* -* DEPENDENCIES: -* raylib 3.0 - Windowing/input management and drawing. -* raygui 2.7 - Immediate-mode GUI controls. -* -* COMPILATION (Windows - MinGW): -* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 -* -* LICENSE: zlib/libpng -* -* Copyright (c) 2020 Ramon Santamaria (@raysan5) -* -**********************************************************************************************/ - -#include "raylib.h" - -#define RAYGUI_IMPLEMENTATION -#include "../../src/raygui.h" - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -// ... - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -static char text01[128] = "Lorem ipsum dolor sit amet, \xE7\x8C\xBF\xE3\x82\x82\xE6\x9C\xA8\xE3\x81\x8B\xE3\x82\x89\xE8\x90\xBD\xE3\x81\xA1\xE3\x82\x8B consectetur adipiscing elit...\0"; // including some hiragana/kanji -static char text02[128] = "Here's another, much bigger textbox extended.\xf4\xa1\xa1\xff TIP: try COPY/PASTE ;)\0"; // Including some invalid UTF8 - -bool GuiTextEditor(Rectangle bounds, char *text, int textLen, bool editMode); - -//------------------------------------------------------------------------------------ -// Program main entry point -//------------------------------------------------------------------------------------ -int main(int argc, char **argv) -{ - // Initialization - //--------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raygui - gui text editor test"); - - Font font = { 0 }; - - bool textEditor01EditMode = false; - bool textEditor02EditMode = false; - - SetTargetFPS(60); - //--------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - Vector2 mouse = GetMousePosition(); - - // Fonts drag & drop logic - if (IsFileDropped()) - { - FilePathList files = LoadDroppedFiles(); - - if (IsFileExtension(files.paths[0], ".ttf") || - IsFileExtension(files.paths[0], ".otf") || - IsFileExtension(files.paths[0], ".fnt")) - { - Font fnt = LoadFont(files.paths[0]); - - if (fnt.texture.id != 0) - { - // Font was loaded, only change font on success - GuiSetFont(fnt); - - // Remove old font - if (font.texture.id != 0) UnloadFont(font); - font = fnt; - } - } - - UnloadDroppedFiles(files); - } - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - // Draw textboxes extended - //--------------------------------------------------------------------------------------- - if (GuiTextEditor((Rectangle){ 20, 20, 380, 410 }, text01, strlen(text01), textEditor01EditMode)) textEditor01EditMode = !textEditor01EditMode; - if (GuiTextEditor((Rectangle){ 420, 20, 360, 410 }, text02, strlen(text02), textEditor02EditMode)) textEditor02EditMode = !textEditor02EditMode; - //--------------------------------------------------------------------------------------- - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} - -// Text editor control (Advanced text box) -bool GuiTextEditor(Rectangle bounds, char *text, int textSize, bool editMode) -{ - static Rectangle cursor = { 0 }; // Cursor position and size - static int framesCounter = 0; // Blinking cursor frames counter - static int cursorCodepoint = -1; - static int selectStartCp = -1; - static int selectLengthCp = 0; - - GuiState state = guiState; - bool pressed = false; - - bool textWrap = true; // TODO: Word-Wrap vs Char-Wrap -> textWrapMode { NO_WRAP_LOCK, NO_WRAP_OVERFLOW, CHAR_WRAP, WORD_WRAP } - - // WARNING: First string full traversal - int codepointCount = GetCodepointCount(text); - - int textLen = strlen(text); // Text length in bytes - - // Update control - //-------------------------------------------------------------------- - if ((state != STATE_DISABLED) && !guiLocked) - { - Vector2 mousePoint = GetMousePosition(); - - if (editMode) - { - state = STATE_PRESSED; - framesCounter++; - - // TODO: Cursor position logic (mouse and keys) - - // Characters selection logic - if (selectStartCp != -1) - { - if (IsKeyDown(KEY_LEFT_SHIFT) && IsKeyPressed(KEY_RIGHT)) - { - selectLengthCp++; - if (selectLengthCp >= (codepointCount - selectStartCp)) selectLengthCp = codepointCount - selectStartCp; - } - - if (IsKeyDown(KEY_LEFT_SHIFT) && IsKeyPressed(KEY_LEFT)) - { - selectLengthCp--; - if (selectLengthCp < 0) selectLengthCp = 0; - } - } - - int key = GetCharPressed(); - - // TODO: On key pressed, place new character in cursor position - - // Exit edit mode logic - if (IsKeyPressed(KEY_ENTER) || (!CheckCollisionPointRec(mousePoint, bounds) && IsMouseButtonPressed(0))) pressed = true; - } - else - { - if (CheckCollisionPointRec(mousePoint, bounds)) - { - state = STATE_FOCUSED; - if (IsMouseButtonPressed(0)) pressed = true; - } - } - - if (pressed) - { - // Exiting edit mode, reset temp variables - framesCounter = 0; - cursor = (Rectangle){ 0 }; - - cursorCodepoint = -1; - selectStartCp = -1; - selectLengthCp = 0; - } - } - //-------------------------------------------------------------------- - - // Draw control - //-------------------------------------------------------------------- - DrawRectangleLinesEx(bounds, GuiGetStyle(TEXTBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(TEXTBOX, BORDER + (state*3))), guiAlpha)); - - if (state == STATE_PRESSED) DrawRectangle(bounds.x + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.y + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.width - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.height - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(TEXTBOX, BASE_COLOR_PRESSED)), guiAlpha)); - else if (state == STATE_DISABLED) DrawRectangle(bounds.x + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.y + GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.width - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), bounds.height - 2*GuiGetStyle(TEXTBOX, BORDER_WIDTH), Fade(GetColor(GuiGetStyle(TEXTBOX, BASE_COLOR_DISABLED)), guiAlpha)); - - Font font = GetFontDefault(); - - int textOffsetY = 0; // Offset between lines (on line break '\n') - float textOffsetX = 0.0f; // Offset X to next character to draw - - float scaleFactor = GuiGetStyle(DEFAULT, TEXT_SIZE)*2/font.baseSize; // Character quad scaling factor - - for (int i = 0, cp = 0; i < textLen; i++) - { - // Get next codepoint from byte string and glyph index in font - int codepointByteCount = 0; - int codepoint = GetCodepoint(&text[i], &codepointByteCount); - int index = GetGlyphIndex(font, codepoint); - - Rectangle rec = { bounds.x + textOffsetX + font.glyphs[index].offsetX*scaleFactor, - bounds.y + textOffsetY + font.glyphs[index].offsetY*scaleFactor, - font.recs[index].width*scaleFactor, font.recs[index].height*scaleFactor }; - - // Automatic line break to wrap text inside box - if (textWrap && ((rec.x + rec.width) >= (bounds.x + bounds.width))) - { - textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor); - textOffsetX = 0.0f; - - // Recalculate drawing rectangle position - rec = (Rectangle){ bounds.x + textOffsetX + font.glyphs[index].offsetX*scaleFactor, - bounds.y + textOffsetY + font.glyphs[index].offsetY*scaleFactor, - font.recs[index].width*scaleFactor, font.recs[index].height*scaleFactor }; - } - - // Check selected codepoint - if (editMode) - { - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && CheckCollisionPointRec(GetMousePosition(), rec)) - { - cursor = rec; - cursorCodepoint = cp; - selectStartCp = cursorCodepoint; - selectLengthCp = 0; - - // TODO: Place cursor at the end if pressed out of text - } - - // On mouse left button down allow text selection - if ((selectStartCp != -1) && IsMouseButtonDown(MOUSE_LEFT_BUTTON) && CheckCollisionPointRec(GetMousePosition(), rec)) - { - if (cp >= selectStartCp) selectLengthCp = cp - selectStartCp; - else if (cp < selectStartCp) - { - //int temp = selectStartCp; - //selectStartCp = cp; - //selectLengthCp = temp - selectStartCp; - } - } - } - - - - if (codepoint == '\n') // Line break character - { - // NOTE: Fixed line spacing of 1.5 line-height - // TODO: Support custom line spacing defined by user - textOffsetY += (int)((font.baseSize + font.baseSize/2)*scaleFactor); - textOffsetX = 0.0f; - } - else - { - // Draw codepoint glyph - if ((codepoint != ' ') && (codepoint != '\t') && ((rec.x + rec.width) < (bounds.x + bounds.width))) - { - DrawTexturePro(font.texture, font.recs[index], rec, (Vector2){ 0, 0 }, 0.0f, GetColor(GuiGetStyle(DEFAULT, TEXT_COLOR_NORMAL))); - } - - // TODO: On text overflow do something... move text to the left? - } - - // Draw codepoints selection from selectStartCp to selectLengthCp - // TODO: Consider spacing when drawing selected characters background - if (editMode && (selectStartCp != -1) && ((cp >= selectStartCp) && (cp <= (selectStartCp + selectLengthCp)))) DrawRectangleRec(rec, MAROON); - - if (font.glyphs[index].advanceX == 0) textOffsetX += ((float)font.recs[index].width*scaleFactor + GuiGetStyle(DEFAULT, TEXT_SPACING)); - else textOffsetX += ((float)font.glyphs[index].advanceX*scaleFactor + GuiGetStyle(DEFAULT, TEXT_SPACING)); - - i += (codepointByteCount - 1); // Move text bytes counter to next codepoint - cp++; - } - - // Draw blinking cursor - if (editMode && ((framesCounter/20)%2 == 0)) DrawRectangleRec(cursor, Fade(GetColor(GuiGetStyle(TEXTBOX, BORDER_COLOR_PRESSED)), guiAlpha)); - - //GuiDrawText(text, GetTextBounds(TEXTBOX, bounds), GuiGetStyle(TEXTBOX, TEXT_ALIGNMENT), Fade(GetColor(GuiGetStyle(TEXTBOX, TEXT + (state*3))), guiAlpha)); - //-------------------------------------------------------------------- - - return pressed; -} \ No newline at end of file diff --git a/examples/textbox_selection/textbox_selection.c b/examples/textbox_selection/textbox_selection.c deleted file mode 100644 index e9a5333..0000000 --- a/examples/textbox_selection/textbox_selection.c +++ /dev/null @@ -1,301 +0,0 @@ -/******************************************************************************************* -* -* raygui - Controls test -* -* TEST CONTROLS: -* - GuiScrollPanel() -* -* DEPENDENCIES: -* raylib 2.5 - Windowing/input management and drawing. -* raygui 2.0 - Immediate-mode GUI controls. -* -* COMPILATION (Windows - MinGW): -* gcc -o $(NAME_PART).exe $(FILE_NAME) -I../../src -lraylib -lopengl32 -lgdi32 -std=c99 -* -* COMPILATION (Linux - gcc): -* gcc -o $(NAME_PART) $(FILE_NAME) -I../../src -lraylib -std=c99 -* -* LICENSE: zlib/libpng -* -* Copyright (c) 2019 Vlad Adrian (@Demizdor) and Ramon Santamaria (@raysan5) -* -**********************************************************************************************/ - -#include "raylib.h" - -#define RAYGUI_IMPLEMENTATION -#include "../../src/raygui.h" - -#undef RAYGUI_IMPLEMENTATION // Avoid including raygui implementation again - -#define GUI_TEXTBOX_EXTENDED_IMPLEMENTATION -#include "../../src/extras/gui_textbox_extended.h" - -#include - -//---------------------------------------------------------------------------------- -// Defines and Macros -//---------------------------------------------------------------------------------- -#define SIZEOF(A) (sizeof(A)/sizeof(A[0])) // Get number of elements in array `A`. Total size of `A` should be known at compile time. - -//---------------------------------------------------------------------------------- -// Global Variables Definition -//---------------------------------------------------------------------------------- -static char text01[92] = "Lorem ipsum dolor sit amet, \xE7\x8C\xBF\xE3\x82\x82\xE6\x9C\xA8\xE3\x81\x8B\xE3\x82\x89\xE8\x90\xBD\xE3\x81\xA1\xE3\x82\x8B consectetur adipiscing elit"; // including some hiragana/kanji -static char text02[128] = "Here's another, much bigger textboxBounds." "\xf4\xa1\xa1\xff" " TIP: try COPY/PASTE ;)"; // including some invalid UTF8 - -static int textboxActive = 0; // Keeps traks of the active textboxBounds - -static Rectangle textboxBounds[4] = { - { 20, 60, 160, 25 }, - { 220, 60, 300, 25 }, - { 565, 60, 95, 25 }, - { 680, 60, 100, 25 }, -}; - -static Texture2D checked = { 0 }; - -// Draw a color button, if clicked return true -bool ColorButton(Rectangle bounds, Color color) -{ - Rectangle body = {bounds.x + 2, bounds.y + 2, bounds.width - 4, bounds.height - 4}; - bool pressed = false; - - // Update control - Vector2 mouse = GetMousePosition(); - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && CheckCollisionPointRec(mouse, bounds)) pressed = true; - - // Draw control - DrawTexture(checked, body.x, body.y, WHITE); - DrawRectangleRec(body, color); - DrawRectangleLinesEx(bounds, 1, BLACK); - - return pressed; -} - -//------------------------------------------------------------------------------------ -// Program main entry point -//------------------------------------------------------------------------------------ -int main(int argc, char **argv) -{ - // Initialization - //--------------------------------------------------------------------------------------- - const int screenWidth = 800; - const int screenHeight = 450; - - InitWindow(screenWidth, screenHeight, "raygui - gui textboxBounds extended demo"); - - // Generate a checked checked used by the color buttons - Image img = GenImageChecked(26, 26, 5, 5, RAYWHITE, DARKGRAY); - checked = LoadTextureFromImage(img); - UnloadImage(img); - - Font font = { 0 }; - int fontSize = GuiGetStyle(DEFAULT, TEXT_SIZE); - int fontSpacing = GuiGetStyle(DEFAULT, TEXT_SPACING); - int padding = GuiGetStyle(TEXTBOX, TEXT_INNER_PADDING); - int border = GuiGetStyle(TEXTBOX, BORDER_WIDTH); - Color colorFG = GetColor(GuiGetStyle(TEXTBOX, TEXT_COLOR_FOCUSED)); // Color Selected Foreground - Color colorBG = GetColor(GuiGetStyle(TEXTBOX, BASE_COLOR_FOCUSED)); // Color Selected Background - Color *colorSelected = &colorFG; - - bool showMenu = false; - Rectangle menuRect = { 0 }; - - int spinnerValue = 0; - int valueBoxValue = 0; - - bool textBox01EditMode = false; - bool textBox02EditMode = false; - bool spinnerEditMode = false; - bool valueBoxEditMode = false; - - SetTargetFPS(60); - //--------------------------------------------------------------------------------------- - - // Main game loop - while (!WindowShouldClose()) // Detect window close button or ESC key - { - // Update - //---------------------------------------------------------------------------------- - Vector2 mouse = GetMousePosition(); - - // Check all textboxes to get the active textboxBounds - if (textBox01EditMode) textboxActive = 0; - else if (textBox02EditMode) textboxActive = 1; - else if (spinnerEditMode) textboxActive = 2; - else if (valueBoxEditMode) textboxActive = 3; - - // Show/Hide the textboxBounds menu - /* - if ((textboxActive < 2) && !showMenu && CheckCollisionPointRec(mouse, textboxBounds[textboxActive]) && IsMouseButtonPressed(MOUSE_RIGHT_BUTTON)) - { - showMenu = true; - menuRect = (Rectangle){mouse.x, mouse.y, 80, 110}; - } - */ - - // Menu hidding logic - if (showMenu && IsMouseButtonPressed(MOUSE_LEFT_BUTTON) && !CheckCollisionPointRec(mouse, menuRect)) showMenu = false; - - // Fonts drag & drop logic - if (IsFileDropped()) - { - FilePathList droppedFiles = LoadDroppedFiles(); - - if (IsFileExtension(droppedFiles.paths[0], ".ttf") || - IsFileExtension(droppedFiles.paths[0], ".otf") || - IsFileExtension(droppedFiles.paths[0], ".fnt")) - { - Font fnt = LoadFont(droppedFiles.paths[0]); - - if (fnt.texture.id != 0) - { - // Font was loaded, only change font on success - GuiSetFont(fnt); - fontSize = fnt.baseSize; - - // Remove old font - if (font.texture.id != 0) UnloadFont(font); - font = fnt; - } - } - - UnloadDroppedFiles(droppedFiles); - } - - // Convert text to hex representation and draw it on screen - char *hex = RAYGUI_MALLOC((((textboxActive == 1) ? SIZEOF(text02) : SIZEOF(text01)) + 1)*3 + 1); - char *text = (textboxActive == 1) ? text02 : text01; - int maxSize = (textboxActive == 1) ? SIZEOF(text02) : SIZEOF(text01); - for (int i = 0, j = 0; i < maxSize; ++i, j += 3) sprintf(&hex[j], "%02Xh ", (char)text[i]); - - int startIdx = 0, endIdx = 0; - if (textboxActive < 2) - { - Vector2 sel = GuiTextBoxGetSelection(); - startIdx = GuiTextBoxGetByteIndex(text, 0, 0, sel.x); - endIdx = GuiTextBoxGetByteIndex(text, 0, 0, sel.x + sel.y); - } - - int len = endIdx - startIdx; - //---------------------------------------------------------------------------------- - - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); - - ClearBackground(RAYWHITE); - - // Draw textboxes extended - //--------------------------------------------------------------------------------------- - // Set custom style - GuiSetStyle(DEFAULT, TEXT_SIZE, fontSize); - GuiSetStyle(DEFAULT, TEXT_SPACING, fontSpacing); - GuiSetStyle(TEXTBOX, TEXT_INNER_PADDING, padding); - GuiSetStyle(TEXTBOX, BORDER_WIDTH, border); - GuiSetStyle(TEXTBOX, BASE_COLOR_FOCUSED, ColorToInt(colorBG)); - GuiSetStyle(TEXTBOX, TEXT_COLOR_FOCUSED, ColorToInt(colorFG)); - - // TODO: GuiTextBoxEx() is not following editMode logic like GuiTextBox() - if (GuiTextBoxEx(textboxBounds[0], text01, SIZEOF(text01) - 1, textBox01EditMode)) textBox01EditMode = !textBox01EditMode; - if (GuiTextBoxEx(textboxBounds[1], text02, SIZEOF(text02) - 1, textBox02EditMode)) textBox02EditMode = !textBox02EditMode; - - if (GuiSpinner(textboxBounds[2], NULL, &spinnerValue, INT_MIN, INT_MAX, spinnerEditMode)) spinnerEditMode = !spinnerEditMode; - if (GuiValueBox(textboxBounds[3], NULL, &valueBoxValue, INT_MIN, INT_MAX, valueBoxEditMode)) valueBoxEditMode = !valueBoxEditMode; - //--------------------------------------------------------------------------------------- - - // Reset style to default - GuiLoadStyleDefault(); - GuiSetFont(GetFontDefault()); - GuiSetStyle(TEXTBOX, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); - - // Draw hexadecimal values viewer - DrawTextBoxedSelectable(guiFont, hex, (Rectangle){ 20, 95, 760, 205 }, 20, 1, true, BLACK, startIdx*3, len*3, colorFG, colorBG); - - RAYGUI_FREE(hex); - - // Draw right-mouse-button-click menu and logic - //--------------------------------------------------------------------------------------- - if (showMenu) - { - GuiSetStyle(LISTVIEW, LIST_ITEMS_HEIGHT, 24); // make items look a little bigger - const char *menuItems[] = { "#17# Cut", "#16# Copy", "#18# Paste", "#101# SelectAll" }; - //int enabledItems[] = { textboxActive < 2 ? 1 : 0, textboxActive < 2 ? 1 : 0, GetClipboardText() != NULL, 1 }; - int active = -1, focus = 0, scroll = 0; - - GuiSetStyle(DEFAULT, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); // Fixes visual glitch with other alignments - active = GuiListViewEx(menuRect, menuItems, SIZEOF(menuItems), &focus, &scroll, active); - - if (active != -1) - { - showMenu = false; - char *text = (textboxActive == 1) ? text02 : text01; - switch(active) - { - case 0: GuiTextBoxCut(text); break; - case 1: GuiTextBoxCopy(text); break; - case 2: GuiTextBoxPaste(text, (textboxActive == 1) ? SIZEOF(text02) : SIZEOF(text01)); break; - case 3: GuiTextBoxSelectAll(text); break; - default: break; - } - } - } - //--------------------------------------------------------------------------------------- - - // Draw GUI to change textboxes parameters - //--------------------------------------------------------------------------------------- - /* - // UI for changing the font size and spacing of all textboxes - GuiLine((Rectangle){25,280,750,10}, NULL); - GuiGroupBox((Rectangle){20,320,190,100}, GuiIconText(RICON_GEAR, "FONT")); - GuiLabel((Rectangle){30,340,60,20}, "Size"); - GuiSpinner((Rectangle){95,340,100,20}, NULL, &fontSize, 10, 40, true); - GuiLabel((Rectangle){30,380,60,20}, "Spacing"); - GuiSpinner((Rectangle){95,380,100,20}, NULL, &fontSpacing, 1, 10, true); - - // UI for changing the style of all textboxes - GuiGroupBox((Rectangle){225,320,190,100}, GuiIconText(RICON_COLOR_BUCKET, "STYLE")); - GuiLabel((Rectangle){240,340,60,20}, "Padding"); - GuiSpinner((Rectangle){305,340,100,20}, NULL, &padding, 2, 30, true); - GuiLabel((Rectangle){240,380,60,20}, "Border"); - GuiSpinner((Rectangle){305,380,100,20}, NULL, &border, 0, 8, true); - - // UI for changing the width/height of the active textboxBounds - bool changed = false; - int width = textboxBounds[textboxActive].width, height = textboxBounds[textboxActive].height; - GuiGroupBox((Rectangle){430,320,175,100}, GuiIconText(RICON_CURSOR_SCALE, "SCALE")); - GuiLabel((Rectangle){435,340,55,20}, "Width"); - if (GuiSpinner((Rectangle){495,340,100,20}, NULL, &width, 30, 300, true)) changed = true; - GuiLabel((Rectangle){435,380,55,20}, "Height"); - if (GuiSpinner((Rectangle){495,380,100,20}, NULL, &height, 12, 60, true)) changed = true; - GuiSetStyle(LABEL, TEXT_ALIGNMENT, TEXT_ALIGN_CENTER); - GuiLabel((Rectangle){30,290,740,10}, GuiIconText(RICON_TEXT_T, " DRAG A FONT FILE (*.TTF, *.FNT) ANYWHERE TO CHANGE THE DEFAULT FONT!")); - GuiSetStyle(LABEL, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); - textboxBounds[textboxActive].y = 85 - height; - textboxBounds[textboxActive].height = height; - textboxBounds[textboxActive].width = width; - if (changed) GuiTextBoxSetActive(textboxBounds[textboxActive]); - - // UI for selecting the selected text background and foreground color - if (ColorButton((Rectangle){625,320,30,30}, colorFG)) colorSelected = &colorFG; - if (ColorButton((Rectangle){625,389,30,30}, colorBG)) colorSelected = &colorBG; - *colorSelected = GuiColorPicker((Rectangle){660,320,90,85}, *colorSelected); - - float alpha = colorSelected->a; - GuiSetStyle(SLIDER, TEXT_ALIGNMENT, TEXT_ALIGN_LEFT); // Slider for the selected color alpha value - colorSelected->a = GuiSlider((Rectangle){664,420,100,20}, GuiIconText(RICON_CROP_ALPHA, "Alpha"), NULL, alpha, 0.0f, 255.0f); - */ - //--------------------------------------------------------------------------------------- - - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; -} \ No newline at end of file