From 106ebcfcd96bd1096bf0f3368fccfab7df86f9ec Mon Sep 17 00:00:00 2001 From: Ray San Date: Tue, 30 Jan 2018 12:53:56 +0100 Subject: [PATCH] Redesigning rGuiStyler tool -WIP- --- tools/rGuiStyler/icons.png | Bin 0 -> 2441 bytes tools/rGuiStyler/rguistyler.c | 124 ++++++++------------ tools/rGuiStyler/rguistyler_mockup_REV1.png | Bin 0 -> 21252 bytes tools/rGuiStyler/rguistyler_mockup_REV2.png | Bin 0 -> 21713 bytes 4 files changed, 46 insertions(+), 78 deletions(-) create mode 100644 tools/rGuiStyler/icons.png create mode 100644 tools/rGuiStyler/rguistyler_mockup_REV1.png create mode 100644 tools/rGuiStyler/rguistyler_mockup_REV2.png diff --git a/tools/rGuiStyler/icons.png b/tools/rGuiStyler/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..1afecec31a86115f68f5d1e08b09489c039ca7fb GIT binary patch literal 2441 zcmbVOdsGu=7XN0FKtzEQ5MQ7}Sd}7>Ng%WDD~PPgv0SFVN85GJ*xEWcGZ_wz3%--5M zCZbUZnJc)lXsjUuS8F0OjQH}5CGpCPO-jCsDf$ozOB0X=w76M;q-j%hCPA8zIc`@# z&h6VQCNeH!-Xvtc29*#iMkzv|#d>|JS;!=jz79cah>d+~SZ8`e6iFE?O<`cMgHV=M zYmaMO+GLKy{|Dop(x&)y1I~)WP5M-$lFUc4?}ReR-5)!$3zBFAON|;bDT)+KuT0hA zI&%~zWRfRADve4IB9X}WD9V?GqL`G+W-km0=gOpLe`E#-#GxI7708XArTb9kY$g%i3_I+IzUQ{oeTHKgA+y1{>_D~K@S3bWoAuh*wc zRDfKqH|tGmy#a|>&P7&ebSk~YWKYiPSTWqF*@CNNM!gmpXIG$khxdrka6S*iq$nSi zjz=BNmq{Z~jLqS4Bf`;e<{Mqr|HBxI1jDkI#_vjHVvDRl`}A$$lZ&^lgX_qCF_Mij zVDdQt0IfC(lfrW(DJ-@RZuy`|+@ z`z_mx{QTSi4^b3V45(rs0MqB)jF}5RrB&^438$3Wy(gxBce^r!AV69dU9!8j(8Wp%_DJ{d%2znTpfG(hs1)z|^4AE^uy5rZe_MFtllC*;uK#4LbuEYtTXSIPze3ChcE*>-Q__v_U-Zl*N*T@AU~l` zEV$~l8+fe}LDOLa-}@7@-qJF%1I(kz1=$QSM0l<^7&1&Lx}2TqC@(q`c-_r*Hw8rZ zr;3h$UjEP7*3&P*(nDMLH5VIyp$qD#7<<9WL`kxB5f%N{X*;j8RFiY*-?|0lQ_m1ez+G6MBp|C z#s-GEGfxfacSZXuKOU=ME8K^y9B_KhpU;FHn=|#;8mEzr^sLS0J367>oT+;px}hs) z=VhG_tFvTbU6=a)+mSw_s=xT6Yr~z)sX1#Oo$3F+kAetG&F!`~;m=}Dn*=AmIKEeMlUIiVyqroEU ziR%Km>eQ_|7x&{0Aj!R|s4O?Qz=Lm=!eCWa1+A*E!KtG=N%r#gug~+!<6?UpcVT%6 zyqKmC016T<-_H2v%H?lF=hyAq-^Sg0?@yM+{YO6v3mWS!+PwI?I7c~5X*=#=r;TjG zQj%7=olgp-dY$Lpl|wzcmajv>W8+Q-Bs$~+AFvJ-ot?s`O1D3J)cyUDmczLfz=nU? z+tON?I4}wcpAnvd$XdxdZ&6$BgBAwjB1~E!JeXKy3ZuD+lBi(2q~qb)`Mxfa`{%oIQN*E@9 ztR-t38M`>Ih8)_ow7np=hWc-&tD$p}ID7DrqrsNfvqUqnnlVwY;jb^4@yK9E+$=eI zeRcaZuQDHBO2ua3$CRXJ_g`fU6c=5r=4SolUy&f%pW)rZd%iJc%i05!gjKKR;CZd1 zUU%F}XGPoq0Zt{nSNmP=N+0LAP1D_>Fr-J8I`@B4*DLfU;`_yb$8VAQx;L z=PbndTVI^I;G}?SOYbaqtsX1+YJ}E+=+I$m;QaNEY}KKsbQf9G zS?4o0f9i0s%Tt6n5ndhBIu7tW#5(xC{Qb`IMMne2G?RkPX`}Wvw%BmX?{1?V?~hTZ Z0}rhE+$BoQRr}9TlynL9ZFth>zXAWfh}!@F literal 0 HcmV?d00001 diff --git a/tools/rGuiStyler/rguistyler.c b/tools/rGuiStyler/rguistyler.c index 24e03e6..5d52946 100644 --- a/tools/rGuiStyler/rguistyler.c +++ b/tools/rGuiStyler/rguistyler.c @@ -96,7 +96,40 @@ const char *guiControlText[NUM_CONTROLS] = { "CHECKBOX", "TEXTBOX" }; - +/* +const char *guiListText[30] = { + "This", + "is", + "afghj", + "test", + "aaaaaaa", + "bbbbbbb", + "ccccccc", + "ddddddd", + "eeeeeee", + "fffffff", + "ggggggg", + "hhhhhhh", + "iiiiiii", + "jjjjjjj", + "kkkkkkk", + "lllllll", + "mmmmmmm", + "nnnnnnn", + "ooooooo", + "ppppppp", + "qqqqqqq", + "rrrrrrr", + "sssssss", + "ttttttt", + "uuuuuuu", + "vvvvvvv", + "wwwwwww", + "xxxxxxx", + "yyyyyyy", + "zzzzzzz" +}; +*/ //---------------------------------------------------------------------------------- // Module Functions Declaration //---------------------------------------------------------------------------------- @@ -115,6 +148,7 @@ int main() SetConfigFlags(FLAG_WINDOW_RESIZABLE); InitWindow(screenWidth, screenHeight, "rGuiStyler - raygui style editor"); + SetWindowMinSize(850, 600); int dropsCount = 0; char **droppedFiles; @@ -200,7 +234,10 @@ int main() Vector2 colorPickerPos = { (float)screenWidth - 287, 20.0f }; Color colorPickerValue = RED; - Texture2D texIcons = LoadTexture("rmap_icons.png"); + Texture2D texIcons = LoadTexture("icons.png"); + + bool listElementActive = false; + int listViewActive = -1; //----------------------------------------------------------- // Get current directory @@ -225,64 +262,9 @@ int main() GuiLoadStyle(droppedFiles[0]); ClearDroppedFiles(); } - - // NOTE: We must verify that guiControlSelected and guiPropertySelected are valid - // Check gui control selected - for (int i = 0; i < NUM_CONTROLS; i++) - { - if (CheckCollisionPointRec(GetMousePosition(), guiControlListRec[i])) - { - guiControlSelected = i; - guiControlHover = i; - - guiPropertySelected = -1; - guiPropertyHover = -1; - break; - } - else guiControlHover = -1; - } - - // Check gui property selected - if (guiControlSelected != -1) - { - for (int i = guiPropertyPos[guiControlSelected]; i < guiPropertyPos[guiControlSelected] + guiPropertyNum[guiControlSelected]; i++) - { - if (CheckCollisionPointRec(GetMousePosition(), guiPropertyListRec[i])) - { - guiPropertyHover = i; - - // Show current value in color picker or spinner - if (guiPropertySelected == -1) - { - if (guiPropertyType[guiPropertyHover] == 0) // Color type - { - // Update color picker color value - colorPickerValue = GetColor(GuiGetStyleProperty(guiPropertyHover)); - } - //else if (guiPropertyType[guiPropertyHover] == 1) sizeValueSelected = GuiGetStyleProperty(guiPropertyHover); - } - - // Check if gui property is clicked - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) - { - if (guiPropertySelected == i) guiPropertySelected = -1; - else - { - guiPropertySelected = i; - - if ((guiPropertyHover > -1) && (guiPropertyType[guiPropertyHover] == 0)) - { - if (guiPropertySelected > -1) colorPickerValue = GetColor(GuiGetStyleProperty(guiPropertySelected)); - } - //else if (guiPropertySelected > -1) sizeValueSelected = GuiGetStyleProperty(guiPropertySelected); - } - } - break; - } - else guiPropertyHover = -1; - } - } + //colorPickerValue = GetColor(GuiGetStyleProperty(BUTTON_BASE_COLOR_NORMAL)); + GuiSetStyleProperty(BUTTON_BASE_COLOR_NORMAL, GetHexValue(colorPickerValue)); // Update progress bar automatically progressValue += 0.0005f; @@ -296,21 +278,9 @@ int main() ClearBackground(RAYWHITE); DrawRectangle(400, 0, 559, GetScreenHeight() - STATUS_BAR_HEIGHT - 1, GuiBackgroundColor()); - - // Draw left panel property list and selections - DrawRectangle(0,0, guiControlListRec[0].width, GetScreenHeight() - STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.3f)); - DrawRectangle(guiControlListRec[0].width,0, guiPropertyListRec[0].width, GetScreenHeight() - STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.1f)); - if (guiControlHover >= 0) DrawRectangleRec(guiControlListRec[guiControlHover], Fade(COLOR_REC, 0.5f)); - if (guiControlSelected >= 0) DrawRectangleLines(guiControlListRec[guiControlSelected].x, guiControlListRec[guiControlSelected].y, guiControlListRec[guiControlSelected].width, guiControlListRec[guiControlSelected].height, Fade(COLOR_REC,0.5f)); - for (int i = 0; i < NUM_CONTROLS; i++) DrawText(guiControlText[i], guiControlListRec[i].width/2 - MeasureText(guiControlText[i], FONT_SIZE)/2, 15 + i*CONTROL_LIST_HEIGHT, FONT_SIZE, GuiTextColor()); - - // Draw line separators - DrawLine(guiControlListRec[0].width, 0, guiControlListRec[0].width, screenHeight - STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.8f)); - DrawLine(400, 0, 400, screenHeight - STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.8f)); - DrawLine(screenWidth - 320, 0, screenWidth - 320, screenHeight - STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.8f)); // Draw selected control rectangles - switch (guiControlSelected) + switch (listViewActive) { case LABEL: DrawRectangleLines(selectPosX + 10, guiPosY - 10, selectWidth - 20, guiHeight + 20, Fade(COLOR_REC, 0.8f)); break; case BUTTON: DrawRectangleLines(selectPosX + 10, guiPosY + deltaY - 10, selectWidth - 20, guiHeight + 20, Fade(COLOR_REC, 0.8f)); break; @@ -325,8 +295,8 @@ int main() default: break; } - - // Draw GUI test controls + listViewActive = GuiListView((Rectangle){ 0, 0, 140, GetScreenHeight() }, guiControlText, NUM_CONTROLS, listViewActive); + GuiLabel((Rectangle){guiPosX, guiPosY, guiWidth, guiHeight}, "Label"); if (GuiButton((Rectangle){guiPosX, guiPosY + deltaY, guiWidth, guiHeight}, "Button")) { } @@ -354,17 +324,15 @@ int main() GuiTextBox((Rectangle){guiPosX, guiPosY + 10*deltaY, guiWidth, guiHeight}, guiText, 16); - //GuiDisable(); colorPickerValue = GuiColorPicker((Rectangle){ colorPickerPos.x, colorPickerPos.y, 240, 240 }, colorPickerValue); - GuiEnable(); + // Draw Load and Save buttons if (GuiButton((Rectangle){ colorPickerPos.x, screenHeight - STATUS_BAR_HEIGHT - 100, 260, 30 }, "Load Style")) BtnLoadStyle(); if (GuiButton((Rectangle){ colorPickerPos.x, screenHeight - STATUS_BAR_HEIGHT - 60, 260, 30 }, "Save Style")) BtnSaveStyle(); + // Draw bottom status bar info - DrawLine(0, screenHeight - STATUS_BAR_HEIGHT, screenWidth, screenHeight - STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.8f)); - DrawRectangle(0, screenHeight - STATUS_BAR_HEIGHT, screenWidth, STATUS_BAR_HEIGHT, Fade(COLOR_REC, 0.1f)); DrawText(FormatText("ColorPicker hexadecimal value #%x", GetHexValue(colorPickerValue)), screenWidth - 260 , screenHeight - STATUS_BAR_HEIGHT + 8, FONT_SIZE , GuiTextColor()); EndDrawing(); diff --git a/tools/rGuiStyler/rguistyler_mockup_REV1.png b/tools/rGuiStyler/rguistyler_mockup_REV1.png new file mode 100644 index 0000000000000000000000000000000000000000..095813ba93209ad792087f990fa86e2331545397 GIT binary patch literal 21252 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

*QjGpmn~aHPm#zj>&;Lzh{`$!6o${ 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 F{~b8Ra6$k8 literal 0 HcmV?d00001 diff --git a/tools/rGuiStyler/rguistyler_mockup_REV2.png b/tools/rGuiStyler/rguistyler_mockup_REV2.png new file mode 100644 index 0000000000000000000000000000000000000000..539de1d264a31c026be3267a6871b7c86c3a6023 GIT binary patch literal 21713 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