From 18f41ba3cd70b40f48ff4c4a66721f79f32db8f0 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 12 Jul 2018 11:28:20 +0200 Subject: [PATCH] Added table export functionality --- .../src/raygui_style_table_light.png | Bin 0 -> 8552 bytes tools/rGuiStyler/src/rguistyler.c | 28 +++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 tools/rGuiStyler/src/raygui_style_table_light.png diff --git a/tools/rGuiStyler/src/raygui_style_table_light.png b/tools/rGuiStyler/src/raygui_style_table_light.png new file mode 100644 index 0000000000000000000000000000000000000000..acaf106723ff136c7aec52677733027a3bfe36d6 GIT binary patch literal 8552 zcmb7J2UJt(x;+A7LBKK=kY=F`AWcNNh$CVUkPZQYbP|eEWGG3%h7M9jLkUua&?5v4 z7`hFlBZSaFr9={nln_Zs@)G90`)1v>X1({4mHa0s|2pM6=j{FMy`NZFm&10L0!0 zfGrMpTmXP@H2|Qv1AuM@02~i~2KjiEJ9XLYim~nQV~dlPC9>^sg)aqP*DfEpIu`jn zFEv~F-lgYP(C+$YMa*9lPx~E8`Fi@tX|+d$nok;3WuJ47DIcRB3mx)O_sXA}J=~(- z_TcFp-RofRpCd|f+K-e^zYCWUQc9S8P>@4eF57vpfP2Dn$BU_!5q7Nl`d*N>wsx*G z_kaQ5aR}(x&ccTyw!3)?*JMg~Ck~`svO3BeW#aOF<&Bs4jCn->Vg>G%@kU^ufZZO z4|u;cw-VG-sdRMX?BQ+npO41K_G4bWsI-)nK@_o}vai52If^cwto<7KJ-QB6=ec#H z^Zv|c=~iwv@;lS1GHF(MMloEbhy3xr=p$=o8%B_y`m;)zDQ3~?ez&y4-R6P1q(t4Ei|js+>AEzA_CN$*P`qM=epc0 zhx;bN9(MXGuguQ}!j^_mQQ-Q?>sxF`&zTaH4ZWfyyX%tCO7J?_@tk~paVWBl5&>le z6DAtjq6en>1#)7=`GrH1m+}t*gz?g#X(zC!#O~;d>F6?!Pnky7$iu^9$T7nA7uL<> z?Q-loK7H=Qru}e8_vzdaRwmYB`GRb%2*!Q@!EE614ogE1Cun(?kVU;d3IE$F72}&vKkl=pBFiIHOF9>Y{J-;| znPXq3)+-;1>{=Sa#iddA2!l!NOr%rAM*4;oyEiM}b_Ojm0hZBkf%0j0++meik zhop6ROpk9#GYTKnN8SDjoU0#7gH6bd>emURO(`*1w5)bJ&q+l>;{UQS|fCU zp|A+>IZs**w%*CpNzC*!)JWZwWr5{j@zVFou7sa0a*GLdo10h<+a6(IS|IW6%y7R_ zSQykb0p4TPG;tN4Jt&o$Gg_UlYtI-<&_S4kkE}Nlx+;b)Z4(>!V};QJf`zXSfsvm+ zdx$O47)~!$91B)RYa<#FlUd9*`v_!bvT9NH!HMfF1+y7$(}4s8edNXE(zqcN+99`k z0%2=Htx_`GGFMWnG1B4cCx|!S8^Kh5?n6}6jY4Y}qZRn=f2{;p3-KN#nVkQ8jLl$W zZiaBVcHY0SH~w(7p;Zv$6yNi;uQ{NBSH}LA(D~g~KAi&IFApf#xZ$`r5pU+dVS)Qp z1HkpjpFeJ`G@B+%(Uzsh9bnFv$)q|-0Psua?#;>;l6S`s+1)HYcsiDgDa~LNK%~}~3p$Q=ph`}0p_%*9G5XI{Pqfva2?;`I z;F6Yrow08{p?9ro1$nxF&oG*LEJ+3wy8`i#Y za)UrodfwFq60`ese~;)(BQRymaXqKs*?B$*E?^fY*F@ixMBo0#eohvQJ0j@0<~J6r zHI&AeQ0jlk@!=+Xn{v`FyKl+T$XemdCb2oUb`n&qhnddnvxA@u1vrm2WgWAbV;8af zSj)7F!bNFs;%84Vvr?}u{^HY?7h1#*1oVwiS5%r9Mp`OqygDy+=-Pxs`_0sLu-5OR z3Xe+w;GpHd!1nD+BinH9>!OiSGJE@dyy$&uie#NA>xaoAyE(kqy1C#Het^+iQxuwI zO#+96haa6lAP_k*f#$3n=T}Ro$v@u4e+_F{Pt#+)qsf`V_evK05mnnCegIG&Op+e| z@oao}k^CXYhOTeTc~#pyYQ+gqNHp;ls}a3EOxL0~DNGTMtAaIO)m&v~4Y~QZ-3x>p z509|&XCjo^M%1C|X(FWK(EjwFIg_)MKv`6chvAYA#{*eWJui(3P!|qGo<%i!P#$T( zD!WDE-+$dKmhPxXq<@TOd@p7)YUyy((q=^IYPkJ3A!-i;gkNgeqZu`-pDQSbVjPI%n!P_$HdWO#hPPcZ_bWNFnFl%}p7 zuc)0s^eonYSXsYof47GLl8k*nv_~3o>R|LXr=M(7m#&ZK39r_>hSn%JbH0B8(Oe|5 zgrfRTXz6QP&i9U}2t0Q-H|dF^7?_owv_X#Gk4d*M+JwfJjUo}huPo`Q22|>tK(Cn) z5Vq;!ZG2#n5jD3xq{W$=eHZVW5b-!KM7Bz}X2$b83}1OWG6H|tJyEAmqQ;4tbLE3! z{&%JJ{%Om|(;D<`C`_hUKrLR^v(&QBGpBd>u$Sb1!@Kui-1lD=P_{IhKHe>%i_m_P z$^41YTlEarAo@LA-YN}OoI8ORzFXv?JsFb~qFSHKO3`2>Bt~d>#zE6M%>&zpwjTg;1Kh>d+~ERX||b%tNa5Ge|pD z)Iy*??sQILwr?!VkY8y>ml%OuAsEAP3cmTFH%z&SzaIh4(GBW36q~iyU;p8R*Z1h! z!;J}%AC2xlYqgFX9H_6AI94hIONWD6;%d<7GTHs=;Z=vl7Xw&({#^lZHkXNh%o)0g2~<{!9!XpPM4vBe%SE`@5ih zYAT~tgct$QgQ>(#wo*_suw`SA5HLwwpq+hL`~Dn9L){e z!YZI{p?4{)rcHDn_!@tIUvk2bY-U6WBC*o-46^t7aYojQ?vb$atU>kYGx*<6O*z@6fK@Pqs=p!N*R3eU1Q4W#_qE*f9hX#m21JYR9A zR{|vl0P*ind0N@Y|A}4i2lAxAj?3O%AQAwyk|J5segiD|KJRyXMfqkA0e;h%al)aH z$VkN_7Z8B~{^%0tl~ec1)ZQsCGG@0=iP7w(cD0TLAsIJE-j6C=ukSzM`X77a9eUQ^e9vX)4s{;FyFcfWv^FKw z7b9XW#$Bt(zg2Dy4CkHCQdUCjp@BRLOqb!JhCm2!eA&?C6ithRV{qeKhLoOuNR}FWNE7V-*I>5bHFO7$Y{&Pr% z1Lxobn~dCUXkuD#a<-&7K|l1!6376Eq9@sAtsyiUxkSz=V8`?J(#`1n*iR>h1g77n zy^VjnL|$o}vuL^9)Nxb#a(l_k99P$e)X}Z2uM`U9HUjZVLu)Ds^ZKh+p|Mqoh~nFU zd8C=)kAfRbbn+iaE5*(9*--?NJaSx>0PjIqEb4^!ouREjsqaM+YaR_;v`tfI=5087 zC9bwjL{B{<6E^4$MmFJomozT4nu!4z1f3YFq|-`~(v!t1pCRU{t{Oz2iY=Q`w(g74 z)!-{*2Go%(-g7u~$kcDHTZx?2;BzNPHg|4k=)+g@4H*l~%}em*3D%IWSgQdX<_oD_i+c}~)Ca+1mc=L+k{ogWeEDG|%;7^lQ*m|O7i z%Nu0H+>jjeG?hR9B0PZUzejQYqGIlJbc3vLtBVib`n{w3la-?i6?GyNH|0zG^r?w& z{6Kr``_k&g%y0B(zOBMJ05Boq$L^#K^@1WjKw@0#g=u~Zx9=yeKQ?F?6aS>Rt2@8f zk@CDSqj()J;1qu^dGgDAN>JAyawE-1#x!3wN+xVa`}pRKZ;dj0y9%3Qm&mViCDEcyky)cH&$X-M5OG?7P_ zu&mwn4S%Og(zs$KW6QI3P6ZTSkVlDn|8jcHa0E^#`&5rLi&_ zpVf*p?#N=P^XH&w#tr;sm~6r4%zRrcbsG0m)|+|CDo%sM9Jui%$PmONQS1o*7g^sn^80B+ZZ%;9R) z{1>X~Fiv`JuK4|?3eTlhXs1E-ql`}Lzd^WBvn;M*I5h+iAk&6JcFc05yJ@4!-feu7z&HD!%@p^JQgs^Li@MUk?Xi zF8ws@NJcsazxYw(uxaDNNu44M{%Px@N8y)bYQqZk&L=s@h0`KDJFoQD2CzkGzk!~b zCb70uTp}iB|e#%PBw-J6QPN%Zp%z~xxZS%tGBx@Q(Mk*YH}OjEGe}x zrbSI#z8~E!rF5|3oLdmks(i0Zg4=ETkkFHBQG^_+`5L@aS>EKBuXwk0V6p~3Fp>nW z=3y%!<3>W4eH}*dmP-<~Pv5E!Ft)4I#Dz}>^JL2csf~F47f&&5u?rX1H zg)j32>kN0Tw+u3M-xqO|AlE|TQmLl*J&l`!zbO14T%`Z>w0ga`tkRm`#wAUz?(Ca_ z-;e{WgpKX`(Lt|jxc7vo*wNc}?&MF&5mjk^jZ(XAU)*M`{7$G8gmB)fZcOfBXu~ji zMJul$W#+S->Y1^GgoGZ{odxFjM11(YvP;jGCmZCCShzqSEmccRbt|7Tj?i=U9g^jU zXJVU}KZmr-baTgZ5rtM)7fVIM##)?oC-a+AHA*X6%FQX=9P61s2iY-HZx;sp0;aLP zdbb_=}2yN)A6z^Pw4Qy$)97 z_N)Lcn|=8iZiiU39A` zG*0$D;mymMPzGPC3DW37zXXHX{})xx^@My;?4PhOq2O$Ct_@8AO({vO-S1{N@rJqe zO|z@8SI;MnJ5j|i^5ZP%>ssM{WK=NJz-()KYFx!1nAa#z<*H0jOy#9pP2ui|y2h?E zPDd_&Qo*LNN7l=+aao63 zB`8lZhGu_6>Ow#%;R+>0;mg8BghBUggrQHG2mR;dRWgP4s&%J2 zwA9ygF10-8198%tR`~HQNIbSw8HdBQUa_1$Ws1~m_lmcI$hSYcuAb}f?E_u@A1TRK zrq>W`_jgW2NmM*tO5XS7VUl(&^1CMNiB2v_Fhr-X?$PUZ7tzpQM>zFDpleA!THH2s zEkY4#!}v*{_DE6stZ5arsF#ytrsG0Y3$^;+@GPRI`GV4oNIzGP0~#9!;C)jc8|x+X z%-l;G{rz3RoykVfy%n{#^b49c;ZNRP_uGtjAb(qb{V>jrrzG8o7lp!-6Ni!M#@`OS z6;Gwj2voiKbQuTtT*4S#S7dWRscD9uG@CU z%7^>M;nM|AfJriUQ?w)0PB`mnk?9|cDr;q6eg>WWz8*=M-biR(MQ!VtqkDBQlCn86 zBYm=wOMB&0|Gzq(pF2i957#tcPZ&jVYH+iZD_{L?zipW&5(?LpF1?VhDG z@eF%HI`CLnhSZn_-}m2gl6Yd#8^a)kxNFTxIhmMyE2>UTOvFerzjhV(iHJ@$j*oxc z;WrDOyG2s!v=YP!)~JAPm?|KXvlmKf(ID-o&$vE^)S_~H=PXwj#7EPMhWk_u=Ng)u z4Y|#~*I!hK1}E2+fRjDOvq$nwI%*N$5iLXKdB@4HOx>IM8wAZ_txQ05v0UTi>JPR! zG?b^T@C!c~q6pjz4ZWf|T38`!G>37io!uk8Ad)zfYUawC%+NUWTIB`D1pfK(%%7e} zgwU|-0uv04e3(_bDX}MH;HGw^3qRiZOjSA)F%1>(ehIT&=ThK(auffNBB9;o=?dC_ zyRNYvm-lXIQu~7<4O}fnHRmySzg8B4-(L-cH|RV7xa$RV?1U4szjL86YKfOArJ!1j&G*Ifku4L0%+cvG@-*{p%uYDN#Lx>yvxb0*q2i-3m z2l~lrT)&k2dMy9Hz56<^ zh*{+|dT^C6Z~p&3vf*k-_Yuxk3&&DU`8yp!)lM~g)cD+Vtz=efZ=Uqy3;Sc6b`&6^ zl9OqEakT)sEgyL{`H$H{v4-)rFEJOO$#FlXnb>I;l}WiPL?>yK+2j_aUV_vp|2i#= zAWG#imE3@hX;?`(Y8L=q-=2}S3pb1iYI$X~F@7KZ9W$6cfYeU2mRm!jLwE-57)!ikBk`*{(Od z$5fs-H%di28hT5kUai20HC$R#A@`x71XYuoXv_Q6@VF_|=vzgk^q6+ogv&UXx|lsB zQ#7Gwotz!A9)RaJ(4O=h2T8Te>qc(BSmxLakPNPVzo-@N_Age60WIBxys+(x9Lf+h z&etsz0M-3~b>UdCnJdPMMkpn#YDxGJiAQpV8#EISscKTcuLYWTXRO^3s&S2L&WcHY zOlxBD;h$1L~n@Kl(I|p`oBBk{%IV;5;*VNQ%4l6o-vz4gFu2kYP{b;%BAT_?hT0VY%{Y)-XBwbdq>?ukByh711t=?j?i+D#eYE9ywH6|eip;|Bm-~Xw zmZT-o`>Cu_CT#JirSMOZGI@)XvYA1>6(m!*a@hQnIPqiLPmm7EnT zVa*G}7pKz%%dkBc#$W1aM!_yN>pCHuGBa0-vmf9_v3M|rw|Vypthv8QsDMmy<38J$ z9QA*(m+Ud-{1Dd+{Wf5M!U}06?t#^nqRT>$9B&XLFHpbf2rAj6?K$D>EaL-NFrFS6 z*n``;pp7(v70+)sk8BJb^Ag6IiZRT)?-VUsE*&5pbL`4qCTx9H>9R7_XjCUHYKg9DQt@Y;||NviJB$Sv6Fe@mz{S33@_m_%Ees(Xyo02 z9)iE)nS0S$4zRx1_|nsG zGZ(b~FB!I&&2`y$NBwV{{ij_2AI;DI-1pDqUBKmI$E)-guI})e*>4tCUR`#-_g|3= Bmy`ei literal 0 HcmV?d00001 diff --git a/tools/rGuiStyler/src/rguistyler.c b/tools/rGuiStyler/src/rguistyler.c index 0acdc4f..6e58292 100644 --- a/tools/rGuiStyler/src/rguistyler.c +++ b/tools/rGuiStyler/src/rguistyler.c @@ -330,6 +330,7 @@ static void BtnLoadStyle(void); // Button load s static void BtnSaveStyle(const char *defaultName, bool binary); // Button save style function static void SaveStyleRGS(const char *fileName, bool binary); // Save raygui style file (.rgs), text or binary +static void GenImageControlsTable(void); // Generate controls table image static int GetGuiStylePropertyIndex(int control, int property); static Color ColorBox(Rectangle bounds, Color *colorPicker, Color color); @@ -466,7 +467,8 @@ int main(int argc, char *argv[]) // Get mouse position each frame mousePos = GetMousePosition(); - + // Export controls table image + if (IsKeyDown(KEY_LEFT_CONTROL) && IsKeyPressed(KEY_E)) GenImageControlsTable(); // Check for dropped files if (IsFileDropped()) @@ -867,3 +869,27 @@ static void SaveStyleRGS(const char *fileName, bool binary) } } } + +// Generate controls table image +static void GenImageControlsTable(void) +{ + Image image = LoadImage("raygui_style_table_light.png"); + + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BACKGROUND_COLOR]), GetColor(style[DEFAULT_BACKGROUND_COLOR])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_LINES_COLOR]), GetColor(style[DEFAULT_LINES_COLOR])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BORDER_COLOR_NORMAL]), GetColor(style[DEFAULT_BORDER_COLOR_NORMAL])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BASE_COLOR_NORMAL]), GetColor(style[DEFAULT_BASE_COLOR_NORMAL])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_TEXT_COLOR_NORMAL]), GetColor(style[DEFAULT_TEXT_COLOR_NORMAL])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BORDER_COLOR_FOCUSED]), GetColor(style[DEFAULT_BORDER_COLOR_FOCUSED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BASE_COLOR_FOCUSED]), GetColor(style[DEFAULT_BASE_COLOR_FOCUSED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_TEXT_COLOR_FOCUSED]), GetColor(style[DEFAULT_TEXT_COLOR_FOCUSED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BORDER_COLOR_PRESSED]), GetColor(style[DEFAULT_BORDER_COLOR_PRESSED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BASE_COLOR_PRESSED]), GetColor(style[DEFAULT_BASE_COLOR_PRESSED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_TEXT_COLOR_PRESSED]), GetColor(style[DEFAULT_TEXT_COLOR_PRESSED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BORDER_COLOR_DISABLED]), GetColor(style[DEFAULT_BORDER_COLOR_DISABLED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_BASE_COLOR_DISABLED]), GetColor(style[DEFAULT_BASE_COLOR_DISABLED])); + ImageColorReplace(&image, GetColor(styleBackup[DEFAULT_TEXT_COLOR_DISABLED]), GetColor(style[DEFAULT_TEXT_COLOR_DISABLED])); + + ExportImage("raygui_style_table_new.png", image); + UnloadImage(image); +}