diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | :w | 53 |
2 files changed, 1 insertions, 53 deletions
@@ -2,3 +2,4 @@ zig-out .zig-cache game.a raylib +:w @@ -1,53 +0,0 @@ -#include <raylib.h> -#include <stddef.h> - -#ifndef UI_ELEMENTS_H -#define UI_ELEMENTS_H - -static const float SCROLL_SENC = 10; -static const float TAB_WIDTH = 4; - -void DrawRecBordered(Rectangle rec, Color bg, Color border_color, int border_width); -void DrawTextInRec(Rectangle rec, char *text, Font *font, int height, Color color, float padding, int *scroll); -float MeasureChar(Font *font, int height, char symbol); -bool IsMouseInRec(Rectangle rec); - -// ========== TEXT EDITOR ========== - -static const size_t DEFAULT_TEXT_NODE_SIZE = 256; - -typedef struct { - void *PrevNode; - void *NextNode; - char *text; - size_t len; - size_t cap; -} TextNode; - -typedef struct { - TextNode *StartNode; - /// For the quick access - TextNode *CurrentNode; - size_t NodeLenth; - - Vector2 CursorPosition; -} TextArea; - -typedef struct { - Font *font; - int scroll_h; - int scroll_v; -} TextAreaDisplayParams; - -TextArea *CreateTextArea(); -void FreeTextArea(TextArea *ta); -void DrawTextArea(TextArea *ta, Rectangle rec, Font *font, int height, int spacing, int *scroll); -void InsertChar(TextArea *ta, char new_char); -void DeleteChar(TextArea *ta); - -void HandleKeyboard(TextArea *ta); -void MoveCursorRight(TextArea *ta); -void MoveCursorLeft(TextArea *ta); -void MoveCursorDown(TextArea *ta); - -#endif // UI_ELEMENTS_H |
