From f858f55bc4edb80adcfe9dbb6d41187e5ec59523 Mon Sep 17 00:00:00 2001 From: emb <> Date: Thu, 19 Feb 2015 21:59:09 -0600 Subject: [PATCH] Fonts can have more than one color. Moved splash to default theme. --- .../Common/Layouts/Default 16x9/Layout.xml | 4 ++-- .../Layout.xml => Default 16x9/Splash.xml} | 2 +- .../Environment/Common/Layouts/Splash/Age.otf | Bin 19328 -> 0 bytes .../Environment/Common/Layouts/Splash/logo.png | Bin 8974 -> 0 bytes RetroFE/Source/Graphics/FontCache.cpp | 17 +++++++++++++---- RetroFE/Source/Graphics/FontCache.h | 3 ++- RetroFE/Source/Graphics/PageBuilder.cpp | 15 ++++++++------- RetroFE/Source/Graphics/PageBuilder.h | 3 ++- RetroFE/Source/RetroFE.cpp | 7 +++++-- 9 files changed, 33 insertions(+), 18 deletions(-) rename Package/Environment/Common/Layouts/{Splash/Layout.xml => Default 16x9/Splash.xml} (88%) delete mode 100644 Package/Environment/Common/Layouts/Splash/Age.otf delete mode 100644 Package/Environment/Common/Layouts/Splash/logo.png diff --git a/Package/Environment/Common/Layouts/Default 16x9/Layout.xml b/Package/Environment/Common/Layouts/Default 16x9/Layout.xml index 9980327..0b3e1db 100644 --- a/Package/Environment/Common/Layouts/Default 16x9/Layout.xml +++ b/Package/Environment/Common/Layouts/Default 16x9/Layout.xml @@ -30,7 +30,7 @@ - + @@ -124,7 +124,7 @@ - + diff --git a/Package/Environment/Common/Layouts/Splash/Layout.xml b/Package/Environment/Common/Layouts/Default 16x9/Splash.xml similarity index 88% rename from Package/Environment/Common/Layouts/Splash/Layout.xml rename to Package/Environment/Common/Layouts/Default 16x9/Splash.xml index 5c668ee..5abef20 100644 --- a/Package/Environment/Common/Layouts/Splash/Layout.xml +++ b/Package/Environment/Common/Layouts/Default 16x9/Splash.xml @@ -1,4 +1,4 @@ - + diff --git a/Package/Environment/Common/Layouts/Splash/Age.otf b/Package/Environment/Common/Layouts/Splash/Age.otf deleted file mode 100644 index 5d767811bcf1ea95170f842cbc412731356f1f1c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19328 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

{f#c!Ke5hA#ROl>x>)dTD!zofO+pLqR zWYBZw;IlX-8nFJ>tc{9RGRIb!)az>1f!(^H=RkFB{~4tRM$GHIdQ6+ep1hW0-7@{z z*=By%`-?Y4PSFE1n+h0Da{C@;$vI|tH-HSn-qySh{2yaQjy5%TQkD|#Q1Uw3w1htp zjMw*oop3IeHT$wk!DLwx;JTq|>!O@oNALr)mcE7yLc|c9d(LSl#EYoH$6$#E%Cc&h zwk{C_n5fCq{Y_YZo4U~}6H^po;o5nMO#a%uD1r8@d494<7tJ$1DSpa6Q1k)2P+8z0 zuBccF#pXpw;&m@`z(evspppk5O*<&bzc+5ja$u4*9pZj8euYo060M9RP2UEHkR+&{ zKI^Uv1bm1!b#ZBOk_#-aX){i*w47+vV?^JAB>S$XZnFKiHjiJKCOt?r-%CH;EN##D zG~Vg}U(`5tg$ubKx}BT3hE~G)_q=&U=IPS^f=J(irb2=eEkhS?{OCX*@!RTnC0g{= z0Dq#i7oBCR|Nk@@!3TR+Hl$c4HdJb=(+!m+6$JSNfN6klb ze(yK(HA&jmRmKx(SJ8u32nU@=6%Tc6TSW`bYp6_Ac^c+06o0yk~rCCL)#!lE&3 zBkP_3<;cqP&+mq18M%Fy+SpRrbJ2f~b}LPT{6v9Ts8=iTi}%F=6Pao)=gZ(B#@LNG zrA||*W}Fgj2%?WYr&Zz#oZ_JejmfX34Z}UQ3A2#$pS&%LW`)* zy)RGxCRm(dli0jmQuVmOzTI3Ug}(So-j^dk6+dqDx9{|q!3jlR1re;va02g|`Eq(X zFQR$(62u>LtP70%bpoGq+-Pq)>ff-xcENSA5WqBWqc2$8=T zVDWjvkhn<#rJl;2#3)ot>`rUT7A6M#KDbiP@QsO~9x|g9U3-oL@Ez(8u9Ko6(U-nh zq`93cVn+`gLv$uZv?o``ns#O`YM%BEAMRA=921+?T>96g^fnwHHS9N@4BoK??Lvdb z*6z?n!-U&D_1cw!PWv|RT8wy@;eiu(@7(A76W9Yk9iMI|Gy7eYprPpIc1SuAOxQ9T zoDF7zZ3uQb;@oD8n7By@>)9xsnGh-sfyix zj;cFkl1Dc=v^gzluc_l&?@-3om&ac7%xbPY?RxI4q@yMY_1noGUbo>iIET3GZoZb!7`pktcjP+b(NOv-tjK_lY4A6)deZ!fLBV9V z-Q?pzsYX!ZHxA65h{l9zDXXWy*5lrNgX_#dBblM;S1 zh#U2^XJxR-lIk;6QRry=z}4Ik^t2UjV|}0RWEH@^+#Y8*rc{@cd5V@8xDo9LU0B&WWv#W!9R`td~{GN{8a0(M_PovaSoavZnK~77mqX z!pTQVFzNswyAhPyo1bjZLy_73W+RTl(`k~I#sbG}e53F8r9-dAlX4P1MV;CXg5l@O zkYktQkg+UmOK*g<=Gj2ycV0d$`K)CS`(5U|FAXCCbg&il^#T`sy4PDD?oyzNWAD#*yr zdRkl{4F3G<{E(a|SlCiC80f$ejxd`_S^K9~*P*mv#aH6q|uHdPwcjPG(DYxH)josRZTKXJVwf{vuO6WA#GcU+6Vi znVKanvie2hR-q*&47ruVkbV}PCYCZJcrH{VmJb8=cr!y_$z99kJdF@k+ zjWdI08VTX+>}eOR*O z=)U+bo9<__TSdDUxY9(s5Fs5e4t8aVcK^QBy*$#J7##{;st@|t{e6<_EdR^l@t+3U zpoL9{xAY&q#s*@~7Ak_c_(J`JY7Nn=&5*#C8%k`=PUDW%o|T!gUK0i6tL^aXnQY#* zwkbZ2?^WsdW074?poauIkJOm=uQ1$dI-#c7=$E_ZARSt(KY)&H&5g{Ibqw*Z^oD#a zdGoJ!Wo3-{TWmh2lFD7S+u3UEJeYt*{+;zPh!9zy?&bDS8TOgAJkl#$m^&9yB(=dX z#J=du2^Vw#A)LDWm>AA;;lpcRedNC~d~X{Xh36CZ?$hzUBkR|OS;!^w`8QKc z{?|@5)2pJ~1c@PFxJqm-=u%SycV5PXMv6RZzSwBfr!WYRrN`*ER|6Y-bNK@NQFD$@ z3-w<=m2n%!K-=_h)5XnPzVI?TSB1KB@7&~O`Cw8vd9gMQ5EFzp(U*#k@iMB_dtw63 z9CQ1v2XuirdQ2TKj_$u349-&w&&8kG#YrNSO%ub!yS)(H#^xpIga~wOhurSfd1>{~{r8!>r%u(_O_^tb{6Q(Oo?Q3h zf>6jB_j0cN@}6gX0psexCsp0V$1xeaYD1{CQjkgqVjSzGV+ogkGqEV`JeJ$jy zZ7!lv&Mct}sH|02$9xjKh+c( z`PNK4Uu=vL2V!@oo1?$oSYJNHfmlgCK|GI&^;o(m81m+JGu@s$XaAAuSOcA5aX05` zB^PqSahPKm)4L-hx=WSTd7-Cznt?+9cy1*uE~zbjfv4@+`U|@DCz9WJGN~8msAqNF z*!OFlWN~jOeJMfC^lU=Xg*|!`o$69)fA?=7*r4rcXM$Zx07Ir2`j3w8L|0gQOx#l} z>Q=hb*D=Wd`FF=5%3_ZfJnwf@a_TCs~t zm@oZ#j0uW#HnSqX*$1*oYl;Fi|ATIXV{K}S^Hu)x?w<>njFsU$gm7rrKLO`_<))or zF+80|pjOBw3h%GZhqnTQAt5xei+g7ckz^)j#K)u5kCqvb*BZ1nYgNu1!M?FrzGdAZ zCy_srPj3V2OQ?9uUAILBh7X4YxP zYHCM>2_dzXuC4&MvphaH_67Q*u}WNZ&FgDapvPReaa$;X>~$q&E!vv8A@@5?IysNkUiX>Q z`6$AP`ewG6YP<+2k&v7P7Yha*zI#c~qm$$Ve~6;3JyD&!58-hW0k7N_};L|1p7OiSFM0x|9dW7tE39?$BD;z00-hMGCQ`EWlc_e1$0Gb-s8>i$3S z#|yWhJB!0!Y0|kmk6gVKr#FYY31gs(ebId0wLbgsZ^rHGXYtUwkL|LWuJS|r-6_2! zGj2`o9O6kSRP@DqG)(a;UoO9);_&2h=M2}yeHqv76Q^gvf@^P%%# zASSfc1*g*%Bndbr&DzzB+2I6TjT1TRY4mxN1Pxy^ON3dheQw(N4Pzi&Tac=&)RT4< zo;E4<*%z-{TXte&QgO6VJb`ZXj5>sm3zhY{L^d7HN(cmG#cUYZ_)e+)Hj~sWFS;W; z`Zc;}v@#9(thInvcH_m)xA&enHacHkcV0(1N|Q8rR2u)BsjbIYJ^Ei`l&g8H#i63g zyn9zv`>@O8@UpY~?Ra$o2|1T%O?s3~R_6J0uZOfhIp}%TONp4~!7=gf^8H2m>NS;A zseYP*-JQ#XXzZ00iaBlR7iO7jGbwjVGzESNLDJWIf2kO{UxXK$?DRKNo<~gLLQLnV z#wRMpAKGyo0E=FE){^l8iK15-9dsim+_1k9iY9i|2)M!wveKBcwX13>DOWj_bwVJf zTk{@0DEjE~#RZH{>RAX=x^+1>y&4b`-}-oe?1kg67ZEM%CDxSz0eR*?zL%R>l}iHa zt8QFOPy;9Tyxi832c(Bu4~UdlEV?hpT9ahkOZ1@&{3`-u5I}+McWr20ZxvsM=q!I0 zdeKJJ>SRNxzyFC|6W8h>_WNsYSMS+Whp#3I`^l}w{?sDOm}W|~^xXJaT}iipeF4FY z!}^bO2Z(6PzJH1fWN%tp`s{;f^-&WY+wH<2cDID1E6KP;eQXW%N%avth|;y^h4q!h zNgwWzQZCFBlQ~P}rym)uqxK@GFilSMaOg2wZ2yh5j4z4PvDF6LqfSTCX1nF=bm^+u zsSDp^uEfPvSx0s{Pb|qUT^Fou$e0%P+3cJKluA!i9!Kfx1RYenTv|9jtp&m|Hr?+XUW5&^y0PK#hPM=hkMZ7q;Ep|@3&&) z^hY_xaZ7vWQ_kIqUU?Ui)|}EfN+%=93f|iqD2};eWDL9*rU1nF+}rGj{L_E4yka-u z=lgaN0EakeMf&U#c4}}JP zA}D00V$~IRU(pfKURO)jhul};q9QloV#VsAbQH~y7zIB&D!Dgp<+n(+OQ!_n1#ch( z^E{iDtan6(gKp%bB7C3Dyf;g#D;mJFx(P`;4jIfpFRsf(jqsroWc)D&+vJwBJk-3C z`k-k2m2unH$Refm#Aob z^z<+C0E&Q?j|7xUu6Aa_H?Ep9jOgZBymgK+b5j3h--L}t!RDt+5(C~VJ=C0r ze8H9so8=>Ek6mEvCa`|J{hmFE@fRpIU}g}2lCwCe#x;ml-k*yjTSn+1kNbGfdo;Pf1qP)VpO0uf)9DTh6qKrD z4NqhzEu(Zo@=1-e%;aUPd7sQiCU}NCJ4q<9_?A zOor6mz&QAR5jYf4A)Ij0-6etczW)gA{DB`rwvV5l|QtBxKvY-cykD2C)NsCA@TXl9gcl>t> zY6{B?p&go2^tL{4Aa(zvx-~=sYDx6;Sb z_Fdc!ZH^I6(C4?rYFAr%SsSLw^;Yee`tJ2Uk49~5gTXxM-A zeZRB&OkzHyeshB(6hjAjMYwN_7CN!jU-* zUSVoRtPk+za=VXQ!}|QySZS`DZIh~JW!}$!R}Yr;?ha=}S4o2+GuAN4Ru?;yP(2Kp z1Iz|Z&jvBU8XHaf=;p!eYgdL+lh*4{oFj9Wt9>j&8p&uN%;1Y@dXf=y(iL~zlV*cFq^xzYQj&h8k3J zY-XYxc)t^1CIKv|tYh(`BCfWFieM+vutE6Vnlh$SNz67FrOMj+sM9WP$TY9s~}V24$6-;ndGoM5alGu*379k~ZV5>({Kiu&?b z?|Zi|sAy2O=1y`|lW9yVj+ir}^4Na9RJE1v`BLEz5Z3?6T>6+B#}&qtSr!lMO}^jU zWJMUk;@pp)ed%2>X}=xA^w;&#So2kZWeTxwyZNq7r}=ccLDNlw%-wJyKhS!jwDBHf zjpUtu^P;MTHbp^6+`jpqP}g_+9o-pN7j10`I@`RGWeI-d)=EOK5YrqD zlRkq&Zw}r4OY6Uo*|@h{B|9v%-q=YIeAdAhT$MKI3m(O#3)cl-@`_jXaF49?vgRs+8~A7mgdS}fvJDFC zrHUgkM+wIe{(7cb;Mpvz3@2kKKf(u5v4534lrHtEvhve7#)|M#X6uJp?GCaPCxkmD zv@+_4No*|QZD!bdv+e*Eo2A9-sDJ-a01Dkau5?A4((*D^uS70Qf6^ORdBaeR611(B z?3oZgm5t+E=RgE`B@SMpMm4MTsylCoth)ggh z7R7#ZxB&P)TBnYXqAT8}60J0tFfdNpUUyaE01|lX(H8L7rYE=5CD_ggkrsID<~0M} zUipFXY%z+h5X#+w_gMEvon!q9+f`P~#{rDD?M0t|jl0k0{@a-G{<#<*5$yVjbfKV6 zDlPZPOTw&-FvA9%WF&HrJd76k;K3Y*8Pj=4$}k~oE*y*heq3yRRu(GJ1ZLIC7z}ex zTO80mo)Bt}RT>@K@U&wH9c^py0*`zr_`2YgWM0c;dxgmC7$11YlP_@-(e4&-P)C4ty?fs~hc?q8Tw^u_)+=Tsi9&l8B05K~I63+O6eeOEJ>52~$P_bP#R z0iqDlj`Rx$pM2izi5~I{_l)rqoM)Hku#Y)Aj0S>ZY;iHsv3|Cb`F{*;j6mOfwrSwE zESN+@1)${!h&Ox_O*Y^$rG6M)e=D=BBj`5b-5y)bXaf7EqVf87vtWZ^<@92fyPOk^ zeN|jw;x0u95A~-Hv{!pWUZ#bB6pz~v@)h|3<4FnTcL)QBh3m?1TMF=&ZMt8kdD(H! z3W7qaQoV`3cO=wlMhB;N`s;$wC_NMhBJ{(9?Ae3>kZ>6@;7zX|PTH%(by`Q=JXNb4 zB`^})JrlL$$kfa>)mP&w#4Rrd5mZGZ(m#$=2#$g4UcUzvV)IQo69!$#&65F?Mz8N0 zalc4m8)?R;g>{l2U#{h)Wyb}MwEYW3x<@0};BSqT;^H=FaP31m@rgVXUWr8{WGs*V0^ zpa*2h1<}81*VEFToFQ8NbnTh-y1H)}B9HZT){U0Q>;uszChHk{fB&1DuRm#H?A40% zED=VRJ8FhD;`Xks#@+}Y3UVoN%t%Yd+NTWhHeJf0c{nYDbzkVMY~jF2PIX?!>og8# zOUexK1J-34wxUmfy3ySNmw!@Uis47%WESO?>$a~nMfKCcbme`Y*}z$Fe}c51_@}Lk s=O#aLwB>?$=Qgd2>>Qc`f8XP&P~GW|gC;sK54ZqS-e@ZPkhh5Ve@rse#Q*>R diff --git a/RetroFE/Source/Graphics/FontCache.cpp b/RetroFE/Source/Graphics/FontCache.cpp index fb00867..47fe0f1 100644 --- a/RetroFE/Source/Graphics/FontCache.cpp +++ b/RetroFE/Source/Graphics/FontCache.cpp @@ -52,11 +52,11 @@ void FontCache::Initialize() //todo: make bool TTF_Init(); } -Font *FontCache::GetFont(std::string fontPath) +Font *FontCache::GetFont(std::string fontPath, int fontSize, SDL_Color color) { Font *t = NULL; - std::map::iterator it = FontFaceMap.find(fontPath); + std::map::iterator it = FontFaceMap.find(BuildFontKey(fontPath, fontSize, color)); if(it != FontFaceMap.end()) { @@ -66,15 +66,24 @@ Font *FontCache::GetFont(std::string fontPath) return t; } +std::string FontCache::BuildFontKey(std::string font, int fontSize, SDL_Color color) +{ + std::stringstream ss; + ss << font << "_SIZE=" << fontSize << " RGB=" << color.r << "." << color.g << "." << color.b; + + return ss.str(); +} + bool FontCache::LoadFont(std::string fontPath, int fontSize, SDL_Color color) { - std::map::iterator it = FontFaceMap.find(fontPath); + std::string key = BuildFontKey(fontPath, fontSize, color); + std::map::iterator it = FontFaceMap.find(key); if(it == FontFaceMap.end()) { Font *f = new Font(); f->Initialize(fontPath, fontSize, color); - FontFaceMap[fontPath] = f; + FontFaceMap[key] = f; } return true; diff --git a/RetroFE/Source/Graphics/FontCache.h b/RetroFE/Source/Graphics/FontCache.h index a38bdf0..9552cf4 100644 --- a/RetroFE/Source/Graphics/FontCache.h +++ b/RetroFE/Source/Graphics/FontCache.h @@ -26,11 +26,12 @@ public: void DeInitialize(); FontCache(); bool LoadFont(std::string font, int fontSize, SDL_Color color); - Font *GetFont(std::string font); + Font *GetFont(std::string font, int fontSize, SDL_Color color); virtual ~FontCache(); private: std::map FontFaceMap; + std::string BuildFontKey(std::string font, int fontSize, SDL_Color color); }; diff --git a/RetroFE/Source/Graphics/PageBuilder.cpp b/RetroFE/Source/Graphics/PageBuilder.cpp index 3dde688..d4dc61b 100644 --- a/RetroFE/Source/Graphics/PageBuilder.cpp +++ b/RetroFE/Source/Graphics/PageBuilder.cpp @@ -47,8 +47,9 @@ static const int MENU_END = -2; // last item transitions here after it scroll static const int MENU_CENTER = -4; //todo: this file is starting to become a god class of building. Consider splitting into sub-builders -PageBuilder::PageBuilder(std::string layoutKey, Configuration &c, FontCache *fc) +PageBuilder::PageBuilder(std::string layoutKey, std::string layoutPage, Configuration &c, FontCache *fc) : LayoutKey(layoutKey) + , LayoutPage(layoutPage) , Config(c) , ScaleX(1) , ScaleY(1) @@ -77,7 +78,7 @@ Page *PageBuilder::BuildPage() std::string layoutName = LayoutKey; LayoutPath = Configuration::GetAbsolutePath() + "/Layouts/" + layoutName; - layoutFile = LayoutPath + "/Layout.xml"; + layoutFile = LayoutPath + "/" + LayoutPage + ".xml"; Logger::Write(Logger::ZONE_INFO, "Layout", "Initializing " + layoutFile); @@ -369,7 +370,7 @@ bool PageBuilder::BuildComponents(xml_node<> *layout, Page *page) else { FC->LoadFont(Font, FontSize, FontColor); - Text *c = new Text(value->value(), FC->GetFont(Font), FontColor, ScaleX, ScaleY); + Text *c = new Text(value->value(), FC->GetFont(Font, FontSize, FontColor), FontColor, ScaleX, ScaleY); ViewInfo *v = c->GetBaseViewInfo(); BuildViewInfo(componentXml, v); @@ -382,7 +383,7 @@ bool PageBuilder::BuildComponents(xml_node<> *layout, Page *page) for(xml_node<> *componentXml = layout->first_node("statusText"); componentXml; componentXml = componentXml->next_sibling("statusText")) { FC->LoadFont(Font, FontSize, FontColor); - Text *c = new Text("", FC->GetFont(Font), FontColor, ScaleX, ScaleY); + Text *c = new Text("", FC->GetFont(Font, FontSize, FontColor), FontColor, ScaleX, ScaleY); ViewInfo *v = c->GetBaseViewInfo(); BuildViewInfo(componentXml, v); @@ -431,13 +432,13 @@ void PageBuilder::LoadReloadableImages(xml_node<> *layout, std::string tagName, if(type) { FC->LoadFont(Font, FontSize, FontColor); - c = new ReloadableText(type->value(), FC->GetFont(Font), FontColor, LayoutKey, ScaleX, ScaleY); + c = new ReloadableText(type->value(), FC->GetFont(Font, FontSize, FontColor), FontColor, LayoutKey, ScaleX, ScaleY); } } else { FC->LoadFont(Font, FontSize, FontColor); - c = new ReloadableMedia(Config, type->value(), (tagName == "reloadableVideo"), FC->GetFont(Font), FontColor, ScaleX, ScaleY); + c = new ReloadableMedia(Config, type->value(), (tagName == "reloadableVideo"), FC->GetFont(Font, FontSize, FontColor), FontColor, ScaleX, ScaleY); xml_attribute<> *textFallback = componentXml->first_attribute("textFallback"); if(textFallback && Utils::ToLower(textFallback->value()) == "true") @@ -527,7 +528,7 @@ ScrollingList * PageBuilder::BuildMenu(xml_node<> *menuXml) // on default, text will be rendered to the menu. Preload it into cache. FC->LoadFont(Font, FontSize, FontColor); - menu = new ScrollingList(Config, ScaleX, ScaleY, FC->GetFont(Font), FontColor, LayoutKey, imageType); + menu = new ScrollingList(Config, ScaleX, ScaleY, FC->GetFont(Font, FontSize, FontColor), FontColor, LayoutKey, imageType); if(scrollTimeXml) { diff --git a/RetroFE/Source/Graphics/PageBuilder.h b/RetroFE/Source/Graphics/PageBuilder.h index fdc8986..b344491 100644 --- a/RetroFE/Source/Graphics/PageBuilder.h +++ b/RetroFE/Source/Graphics/PageBuilder.h @@ -30,12 +30,13 @@ class Configuration; class PageBuilder { public: - PageBuilder(std::string layoutKey, Configuration &c, FontCache *fc); + PageBuilder(std::string layoutKey, std::string layoutPage, Configuration &c, FontCache *fc); virtual ~PageBuilder(); Page *BuildPage(); private: std::string LayoutKey; + std::string LayoutPage; std::string LayoutPath; Configuration &Config; float ScaleX; diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index cdaaeb5..233a07b 100644 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -452,7 +452,7 @@ Page *RetroFE::LoadPage() Config.GetProperty("layout", layoutName); - PageBuilder pb(layoutName, Config, &FC); + PageBuilder pb(layoutName, "Layout", Config, &FC); Page *page = pb.BuildPage(); if(!page) @@ -469,7 +469,10 @@ Page *RetroFE::LoadPage() Page *RetroFE::LoadSplashPage() { - PageBuilder pb("Splash", Config, &FC); + std::string layoutName; + Config.GetProperty("layout", layoutName); + + PageBuilder pb(layoutName, "Splash", Config, &FC); Page * page = pb.BuildPage(); page->Start();