ソースを参照

Move global data to implementation

raysan5 9 年 前
コミット
3a5fc0c320
1 ファイル変更107 行追加101 行削除
  1. 107 101
      src/raygui.h

+ 107 - 101
src/raygui.h

@@ -242,106 +242,7 @@ typedef enum GuiProperty {
 //----------------------------------------------------------------------------------
 // Global Variables Definition
 //----------------------------------------------------------------------------------
-static const char *guiPropertyName[] = {
-    "GLOBAL_BASE_COLOR",
-    "GLOBAL_BORDER_COLOR",
-    "GLOBAL_TEXT_COLOR",
-    "GLOBAL_TEXT_FONTSIZE",
-    "GLOBAL_BORDER_WIDTH",
-    "BACKGROUND_COLOR",
-    "LABEL_BORDER_WIDTH",
-    "LABEL_TEXT_COLOR",
-    "LABEL_TEXT_PADDING",
-    "BUTTON_BORDER_WIDTH",
-    "BUTTON_TEXT_PADDING",
-    "BUTTON_DEFAULT_BORDER_COLOR",
-    "BUTTON_DEFAULT_INSIDE_COLOR",
-    "BUTTON_DEFAULT_TEXT_COLOR",
-    "BUTTON_HOVER_BORDER_COLOR",
-    "BUTTON_HOVER_INSIDE_COLOR",
-    "BUTTON_HOVER_TEXT_COLOR",
-    "BUTTON_PRESSED_BORDER_COLOR",
-    "BUTTON_PRESSED_INSIDE_COLOR",
-    "BUTTON_PRESSED_TEXT_COLOR",
-    "TOGGLE_TEXT_PADDING",
-    "TOGGLE_BORDER_WIDTH",
-    "TOGGLE_DEFAULT_BORDER_COLOR",
-    "TOGGLE_DEFAULT_INSIDE_COLOR",
-    "TOGGLE_DEFAULT_TEXT_COLOR",
-    "TOGGLE_HOVER_BORDER_COLOR",
-    "TOGGLE_HOVER_INSIDE_COLOR",
-    "TOGGLE_HOVER_TEXT_COLOR",
-    "TOGGLE_PRESSED_BORDER_COLOR",
-    "TOGGLE_PRESSED_INSIDE_COLOR",
-    "TOGGLE_PRESSED_TEXT_COLOR",
-    "TOGGLE_ACTIVE_BORDER_COLOR",
-    "TOGGLE_ACTIVE_INSIDE_COLOR",
-    "TOGGLE_ACTIVE_TEXT_COLOR",
-    "TOGGLEGROUP_PADDING",
-    "SLIDER_BORDER_WIDTH",
-    "SLIDER_BUTTON_BORDER_WIDTH",
-    "SLIDER_BORDER_COLOR",
-    "SLIDER_INSIDE_COLOR",
-    "SLIDER_DEFAULT_COLOR",
-    "SLIDER_HOVER_COLOR",
-    "SLIDER_ACTIVE_COLOR",
-    "SLIDERBAR_BORDER_COLOR",
-    "SLIDERBAR_INSIDE_COLOR",
-    "SLIDERBAR_DEFAULT_COLOR",
-    "SLIDERBAR_HOVER_COLOR",
-    "SLIDERBAR_ACTIVE_COLOR",
-    "SLIDERBAR_ZERO_LINE_COLOR",
-    "PROGRESSBAR_BORDER_COLOR",
-    "PROGRESSBAR_INSIDE_COLOR",
-    "PROGRESSBAR_PROGRESS_COLOR",
-    "PROGRESSBAR_BORDER_WIDTH",
-    "SPINNER_LABEL_BORDER_COLOR",
-    "SPINNER_LABEL_INSIDE_COLOR",
-    "SPINNER_DEFAULT_BUTTON_BORDER_COLOR",
-    "SPINNER_DEFAULT_BUTTON_INSIDE_COLOR",
-    "SPINNER_DEFAULT_SYMBOL_COLOR",
-    "SPINNER_DEFAULT_TEXT_COLOR",
-    "SPINNER_HOVER_BUTTON_BORDER_COLOR",
-    "SPINNER_HOVER_BUTTON_INSIDE_COLOR",
-    "SPINNER_HOVER_SYMBOL_COLOR",
-    "SPINNER_HOVER_TEXT_COLOR",
-    "SPINNER_PRESSED_BUTTON_BORDER_COLOR",
-    "SPINNER_PRESSED_BUTTON_INSIDE_COLOR",
-    "SPINNER_PRESSED_SYMBOL_COLOR",
-    "SPINNER_PRESSED_TEXT_COLOR",
-    "COMBOBOX_PADDING",
-    "COMBOBOX_BUTTON_WIDTH",
-    "COMBOBOX_BUTTON_HEIGHT",
-    "COMBOBOX_BORDER_WIDTH",
-    "COMBOBOX_DEFAULT_BORDER_COLOR",
-    "COMBOBOX_DEFAULT_INSIDE_COLOR",
-    "COMBOBOX_DEFAULT_TEXT_COLOR",
-    "COMBOBOX_DEFAULT_LIST_TEXT_COLOR",
-    "COMBOBOX_HOVER_BORDER_COLOR",
-    "COMBOBOX_HOVER_INSIDE_COLOR",
-    "COMBOBOX_HOVER_TEXT_COLOR",
-    "COMBOBOX_HOVER_LIST_TEXT_COLOR",
-    "COMBOBOX_PRESSED_BORDER_COLOR",
-    "COMBOBOX_PRESSED_INSIDE_COLOR",
-    "COMBOBOX_PRESSED_TEXT_COLOR",
-    "COMBOBOX_PRESSED_LIST_BORDER_COLOR",
-    "COMBOBOX_PRESSED_LIST_INSIDE_COLOR",
-    "COMBOBOX_PRESSED_LIST_TEXT_COLOR",
-    "CHECKBOX_DEFAULT_BORDER_COLOR",
-    "CHECKBOX_DEFAULT_INSIDE_COLOR",
-    "CHECKBOX_HOVER_BORDER_COLOR",
-    "CHECKBOX_HOVER_INSIDE_COLOR",
-    "CHECKBOX_CLICK_BORDER_COLOR",
-    "CHECKBOX_CLICK_INSIDE_COLOR",
-    "CHECKBOX_STATUS_ACTIVE_COLOR",
-    "CHECKBOX_INSIDE_WIDTH",
-    "TEXTBOX_BORDER_WIDTH",
-    "TEXTBOX_BORDER_COLOR",
-    "TEXTBOX_INSIDE_COLOR",
-    "TEXTBOX_TEXT_COLOR",
-    "TEXTBOX_LINE_COLOR",
-    "TEXTBOX_TEXT_FONTSIZE"
-};
+// ...
 
 //----------------------------------------------------------------------------------
 // Module Functions Declaration
@@ -517,6 +418,108 @@ static int style[NUM_PROPERTIES] = {
     10                  // TEXTBOX_TEXT_FONTSIZE
 };
 
+// GUI property names (to read/write style text files)
+static const char *guiPropertyName[] = {
+    "GLOBAL_BASE_COLOR",
+    "GLOBAL_BORDER_COLOR",
+    "GLOBAL_TEXT_COLOR",
+    "GLOBAL_TEXT_FONTSIZE",
+    "GLOBAL_BORDER_WIDTH",
+    "BACKGROUND_COLOR",
+    "LABEL_BORDER_WIDTH",
+    "LABEL_TEXT_COLOR",
+    "LABEL_TEXT_PADDING",
+    "BUTTON_BORDER_WIDTH",
+    "BUTTON_TEXT_PADDING",
+    "BUTTON_DEFAULT_BORDER_COLOR",
+    "BUTTON_DEFAULT_INSIDE_COLOR",
+    "BUTTON_DEFAULT_TEXT_COLOR",
+    "BUTTON_HOVER_BORDER_COLOR",
+    "BUTTON_HOVER_INSIDE_COLOR",
+    "BUTTON_HOVER_TEXT_COLOR",
+    "BUTTON_PRESSED_BORDER_COLOR",
+    "BUTTON_PRESSED_INSIDE_COLOR",
+    "BUTTON_PRESSED_TEXT_COLOR",
+    "TOGGLE_TEXT_PADDING",
+    "TOGGLE_BORDER_WIDTH",
+    "TOGGLE_DEFAULT_BORDER_COLOR",
+    "TOGGLE_DEFAULT_INSIDE_COLOR",
+    "TOGGLE_DEFAULT_TEXT_COLOR",
+    "TOGGLE_HOVER_BORDER_COLOR",
+    "TOGGLE_HOVER_INSIDE_COLOR",
+    "TOGGLE_HOVER_TEXT_COLOR",
+    "TOGGLE_PRESSED_BORDER_COLOR",
+    "TOGGLE_PRESSED_INSIDE_COLOR",
+    "TOGGLE_PRESSED_TEXT_COLOR",
+    "TOGGLE_ACTIVE_BORDER_COLOR",
+    "TOGGLE_ACTIVE_INSIDE_COLOR",
+    "TOGGLE_ACTIVE_TEXT_COLOR",
+    "TOGGLEGROUP_PADDING",
+    "SLIDER_BORDER_WIDTH",
+    "SLIDER_BUTTON_BORDER_WIDTH",
+    "SLIDER_BORDER_COLOR",
+    "SLIDER_INSIDE_COLOR",
+    "SLIDER_DEFAULT_COLOR",
+    "SLIDER_HOVER_COLOR",
+    "SLIDER_ACTIVE_COLOR",
+    "SLIDERBAR_BORDER_COLOR",
+    "SLIDERBAR_INSIDE_COLOR",
+    "SLIDERBAR_DEFAULT_COLOR",
+    "SLIDERBAR_HOVER_COLOR",
+    "SLIDERBAR_ACTIVE_COLOR",
+    "SLIDERBAR_ZERO_LINE_COLOR",
+    "PROGRESSBAR_BORDER_COLOR",
+    "PROGRESSBAR_INSIDE_COLOR",
+    "PROGRESSBAR_PROGRESS_COLOR",
+    "PROGRESSBAR_BORDER_WIDTH",
+    "SPINNER_LABEL_BORDER_COLOR",
+    "SPINNER_LABEL_INSIDE_COLOR",
+    "SPINNER_DEFAULT_BUTTON_BORDER_COLOR",
+    "SPINNER_DEFAULT_BUTTON_INSIDE_COLOR",
+    "SPINNER_DEFAULT_SYMBOL_COLOR",
+    "SPINNER_DEFAULT_TEXT_COLOR",
+    "SPINNER_HOVER_BUTTON_BORDER_COLOR",
+    "SPINNER_HOVER_BUTTON_INSIDE_COLOR",
+    "SPINNER_HOVER_SYMBOL_COLOR",
+    "SPINNER_HOVER_TEXT_COLOR",
+    "SPINNER_PRESSED_BUTTON_BORDER_COLOR",
+    "SPINNER_PRESSED_BUTTON_INSIDE_COLOR",
+    "SPINNER_PRESSED_SYMBOL_COLOR",
+    "SPINNER_PRESSED_TEXT_COLOR",
+    "COMBOBOX_PADDING",
+    "COMBOBOX_BUTTON_WIDTH",
+    "COMBOBOX_BUTTON_HEIGHT",
+    "COMBOBOX_BORDER_WIDTH",
+    "COMBOBOX_DEFAULT_BORDER_COLOR",
+    "COMBOBOX_DEFAULT_INSIDE_COLOR",
+    "COMBOBOX_DEFAULT_TEXT_COLOR",
+    "COMBOBOX_DEFAULT_LIST_TEXT_COLOR",
+    "COMBOBOX_HOVER_BORDER_COLOR",
+    "COMBOBOX_HOVER_INSIDE_COLOR",
+    "COMBOBOX_HOVER_TEXT_COLOR",
+    "COMBOBOX_HOVER_LIST_TEXT_COLOR",
+    "COMBOBOX_PRESSED_BORDER_COLOR",
+    "COMBOBOX_PRESSED_INSIDE_COLOR",
+    "COMBOBOX_PRESSED_TEXT_COLOR",
+    "COMBOBOX_PRESSED_LIST_BORDER_COLOR",
+    "COMBOBOX_PRESSED_LIST_INSIDE_COLOR",
+    "COMBOBOX_PRESSED_LIST_TEXT_COLOR",
+    "CHECKBOX_DEFAULT_BORDER_COLOR",
+    "CHECKBOX_DEFAULT_INSIDE_COLOR",
+    "CHECKBOX_HOVER_BORDER_COLOR",
+    "CHECKBOX_HOVER_INSIDE_COLOR",
+    "CHECKBOX_CLICK_BORDER_COLOR",
+    "CHECKBOX_CLICK_INSIDE_COLOR",
+    "CHECKBOX_STATUS_ACTIVE_COLOR",
+    "CHECKBOX_INSIDE_WIDTH",
+    "TEXTBOX_BORDER_WIDTH",
+    "TEXTBOX_BORDER_COLOR",
+    "TEXTBOX_INSIDE_COLOR",
+    "TEXTBOX_TEXT_COLOR",
+    "TEXTBOX_LINE_COLOR",
+    "TEXTBOX_TEXT_FONTSIZE"
+};
+
 //----------------------------------------------------------------------------------
 // Module specific Functions Declaration
 //----------------------------------------------------------------------------------
@@ -529,7 +532,9 @@ static bool CheckCollisionPointRec(Vector2 point, Rectangle rec);  // Check if p
 static const char *FormatText(const char *text, ...);   // Formatting of text with variables to 'embed'
 
 // NOTE: raygui depend on some raylib input and drawing functions
-// TODO: Replace by your own functions
+// TODO: To use raygui as standalone library, those functions must be overwrite by custom ones
+
+// Input management functions
 static Vector2 GetMousePosition() { return (Vector2){ 0.0f, 0.0f }; }
 static int IsMouseButtonDown(int button) { return 0; }
 static int IsMouseButtonPressed(int button) { return 0; }
@@ -539,6 +544,7 @@ static int IsMouseButtonUp(int button) { return 0; }
 static int GetKeyPressed(void) { return 0; }    // NOTE: Only used by GuiTextBox()
 static int IsKeyDown(int key) { return 0; }     // NOTE: Only used by GuiSpinner()
 
+// Drawing related functions
 static int MeasureText(const char *text, int fontSize) { return 0; }
 static void DrawText(const char *text, int posX, int posY, int fontSize, Color color) { }
 static void DrawRectangleRec(Rectangle rec, Color color) { }