From 996382ebe9444d51efed78f28daba0af13689edc Mon Sep 17 00:00:00 2001 From: "simon.kagstrom" Date: Fri, 4 Dec 2009 17:55:25 +0000 Subject: [PATCH] Add menu backgrounds --- frodo_menu.cpp | 23 ++++++++++++++++++++++- frodo_menu.hh | 2 ++ themes/default/textbox.png | Bin 1523 -> 1604 bytes 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/frodo_menu.cpp b/frodo_menu.cpp index 1d7f6ff..7d11a77 100644 --- a/frodo_menu.cpp +++ b/frodo_menu.cpp @@ -70,11 +70,16 @@ public: MainView(Gui *parent) : GuiView(parent) { this->menu = new MainMenu(NULL, this); + this->bg = NULL; + this->infobox = NULL; + this->textbox = NULL; } void updateTheme() { this->bg = parent->main_menu_bg; + this->infobox = parent->infobox; + this->textbox = parent->textbox; this->menu->setFont(this->parent->default_font); this->menu->setSelectedBackground(this->parent->bg_left, this->parent->bg_middle, @@ -95,15 +100,25 @@ public: void draw(SDL_Surface *where) { SDL_Rect dst; - dst = (SDL_Rect){20,45,300,400}; + /* Blit the backgrounds */ + dst = (SDL_Rect){20,45,300,400}; SDL_BlitSurface(this->bg, NULL, where, &dst); + + dst = (SDL_Rect){350,13,0,0}; + SDL_BlitSurface(this->infobox, NULL, where, &dst); + + dst = (SDL_Rect){350,242,0,0}; + SDL_BlitSurface(this->textbox, NULL, where, &dst); + this->menu->draw(where, 50, 70, 300, 400); } protected: MainMenu *menu; SDL_Surface *bg; + SDL_Surface *infobox; + SDL_Surface *textbox; }; Gui::Gui() @@ -118,6 +133,8 @@ Gui::Gui() this->bg_submenu_right = NULL; this->background = NULL; this->main_menu_bg = NULL; + this->infobox = NULL; + this->textbox = NULL; this->default_font = NULL; this->n_views = 0; @@ -141,6 +158,8 @@ bool Gui::setTheme(const char *path) this->background = this->loadThemeImage(path, "background.png"); this->main_menu_bg = this->loadThemeImage(path, "main_menu_bg.png"); + this->infobox = this->loadThemeImage(path, "infobox.png"); + this->textbox = this->loadThemeImage(path, "textbox.png"); this->default_font = this->loadThemeFont(path, "font.ttf"); @@ -157,6 +176,8 @@ bool Gui::setTheme(const char *path) SDL_FreeSurface(this->bg_submenu_right); SDL_FreeSurface(this->background); SDL_FreeSurface(this->main_menu_bg); + SDL_FreeSurface(this->infobox); + SDL_FreeSurface(this->textbox); if (this->default_font) delete this->default_font; diff --git a/frodo_menu.hh b/frodo_menu.hh index c831da3..2f00932 100644 --- a/frodo_menu.hh +++ b/frodo_menu.hh @@ -62,6 +62,8 @@ public: SDL_Surface *background; SDL_Surface *main_menu_bg; + SDL_Surface *infobox; + SDL_Surface *textbox; SDL_Surface *bg_left, *bg_right, *bg_middle, *bg_submenu_left, *bg_submenu_right, *bg_submenu_middle; diff --git a/themes/default/textbox.png b/themes/default/textbox.png index 1930b84ae78eea4746b01573351f9d3ebbdbb197..9b88762c3ad5b4aaca74679b558762663c206254 100644 GIT binary patch literal 1604 zcmeAS@N?(olHy`uVBq!ia0y~yU=#qd?{TmJ$*=R{Q-Ks?age(c!@6@aFM%AkByV>Y zhW{YAVDIwDKoQOYkH}&M25w;xW@MN(M*=9wUgGKN%6^lFMbL~j{Hfs@ppayVYeb22 zer|4RUI~M9QEFmIYKlU6W=V#EyQgnJcq5-U0|V=PPZ!6Kid%1Q@AntUWH|n?Jk4c7 z7?<`P86K|^Q#GkQOxpSzTW(bBWI7x5;;(bi4nwi&ixmTAd8i)Uc=3paR4Th(b%@vv zrH;)pi2+Z3Z0x>MdFb<$*G7}{Ppa!5&Jp<*5awqc?p&m;vXFGy}Cx^_ORSu+wv3MP)XsxjLS*m1v;D~TQ9_8{Vg^X& z^eJ2C-Byhjl?>K%T^5~vJh5!vi{CHxFEh$3fBNtv?YoQFUs1J8d$V+-gym{~lohU4 zAJweSWxV!UPmDkGz3B37AP4AIo@2go<|Oyu+DOa2TT&fBZck&{wrQi_$LE*b&rdjh zx$*6i^z*Wj|CitWQ5@NK&yat^XU!+Y+K&Y6>QwH(WX|{^VifJ?U(e-Xo3}e#Y(Zf5 z*$!uphfnVus+`Qw8w+py4GlsnW-Pa zl(9=*_igJBU=$?=Gn}pZx2nvdEB?=}EUpCeBw+?7CJqh-g@y(OCu;K0Dh$if1pz2mcqnR?oL_R&V&`tfEw}k1egskN0%Ry%H?E;5D*-MR4YU{Ngixz=Lzb^SglFgQH zhwkLt>n#JOJwx6NbKl&&Tpqjs&&7W)S%jQ8zAoLq-Iw`IO0D*yum2y2Fqu^S`tgY6 z(?%Wca37YO+Fw653C6Ri=%)6^+0R=ugY(9Vua8f9MV*pcTd#ZTO>h0bd;2fN>c|;M z3OI3WzI<7}?nmXO)W@%9*Uhm9=D$=>e#w!Vuw}~G^C4<%XW7mGNuXoz7dY6tEwQo- zp1C8>&f>zy9rLEGimrQLcIzcm?sSMfvcT3%s6Rn$yZq3{xKf5?t z^xOWMFJJQid^CIA+Pd6KD~0S;-@Ag<^}l?dDe-Oj^?r42Tk~c5X21TexcOfJT7Jxn zX#J}UE?P1lo;vp2=9`VeeCJEXBHLy6Dyw|h+x{3_;Ow8hzJK30=^47qm%lE&eRp~> z_w)5}(msDY9{kTONzt*tdiA5qI{mwE^iuWrJ&U>+SC<@V`8J04i(P=vF z&&^HED`9XhN=+?88+3j_e)k68#ezygFpA_S}X;zBz$w}vh(v18z&3xiGNj&#@&7AHN?adc= zs%U$@fqHRd3xbbT;##V%iE_ud8gC^(sc3~L^r6`E-xl`vRzts{f5qu{`)^IYFKnSRW$C52)5D9zcO7v0eV)~LuXE#k&rkQ} zBrKeJx1RIO!^5TFn+`tu{dTi;d+vOASUV@M zJ*wyQy+4oddDVqJ2$;I`(%0pOzlIt&zFPCHzvi&b0xN0HOWNh3e}PP|{a=iC<{AYo z*Z%ACuAA@5OE>$;?D7nyyKbI;a#GDBl_i1!%f0_rm`PrF<8+^AL6&`|jFx(l zfTco_!;^*+j1!ra*j@NQxI+de=!lSj2*M<&qS}oCuWblt5MvuHRVxf!C^1fK21QNr z>-Tk&%%3q_t-9_1>6XlbsP(@+%g!*a+Irdl(-|Q5{4dXKXMx}QNuZ~FY(EAgzc(xFuDP5&R)NgHQ6*tWk~`r7jeFr)cw zO4AGI-FoS3WA=6VS==FygU`=b%HRDgc2eo)#@6j|Rp%Z~wej3`hF$DlV;{fEy|T0I zDyP#}xU+Yb%vl`vX-n+q8(n)^apQ&oUWz~Jp zPbc;~yz>2ifBIkd<5fGHDi?1qTx&h2?W;<9zwnQZ;h&sW{{ojKx7QywzgxauwXy=J zdb!xoeK)E-*QrJNZc?nU2)i+R=ADaAkKViAT)+07=ihu_0fbtLeTn?kTs`^ZUH||9