[Balder-cvs] SF.net SVN: balder: [96] src/menu/widgets
Status: Beta
Brought to you by:
holomorph
From: <col...@us...> - 2007-12-10 22:03:39
|
Revision: 96 http://balder.svn.sourceforge.net/balder/?rev=96&view=rev Author: colalord Date: 2007-12-10 14:03:40 -0800 (Mon, 10 Dec 2007) Log Message: ----------- 10 Dec-2007 - Reuben reformatted the paramaters for the skinned widget constructors so that they are all more uniform. - Reuben replaced all old guichan gcn::Slider's with the new SkinnedSlider's. Modified Paths: -------------- bin/menu/menuskin.png history.txt include/balder2dtypes.h include/menu/playersetup.h include/menu/soundvideo.h include/menu/submenu.h include/menu/widgets/skinnedbutton.h include/menu/widgets/skinnedcheckbox.h include/menu/widgets/skinnedslider.h src/menu/gamesetup.cpp src/menu/mainmenu.cpp src/menu/options.cpp src/menu/playersetup.cpp src/menu/soundvideo.cpp src/menu/widgets/skinnedbutton.cpp src/menu/widgets/skinnedcheckbox.cpp src/menu/widgets/skinnedslider.cpp Modified: bin/menu/menuskin.png =================================================================== (Binary files differ) Modified: history.txt =================================================================== --- history.txt 2007-12-05 02:28:02 UTC (rev 95) +++ history.txt 2007-12-10 22:03:40 UTC (rev 96) @@ -3,6 +3,11 @@ History entries are in reverse chronological order (newest entries first). +10 Dec-2007 + - Reuben reformatted the paramaters for the skinned widget constructors so that + they are all more uniform. + - Reuben replaced all old guichan gcn::Slider's with the new SkinnedSlider's. + 4 Dec-2007 - Reuben added skinnedslider.cpp/h too allow for skinned slider bars in the menu. - Reuben added Inno Setup script file for making windows installation program. Modified: include/balder2dtypes.h =================================================================== --- include/balder2dtypes.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/balder2dtypes.h 2007-12-10 22:03:40 UTC (rev 96) @@ -20,7 +20,10 @@ #ifndef BALDER2DTYPES_H #define BALDER2DTYPES_H - + +#define widgetNotFocused 0 +#define widgetFocused 1 + #include <SDL/SDL.h> namespace Balder{ Modified: include/menu/playersetup.h =================================================================== --- include/menu/playersetup.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/menu/playersetup.h 2007-12-10 22:03:40 UTC (rev 96) @@ -26,8 +26,7 @@ namespace Balder { class AIListModel; - class SampleProbe; - class SkinnedButton; + class SampleProbe; class PlayerSetupMenu:public SubMenu, public gcn::KeyListener { @@ -60,13 +59,13 @@ gcn::DropDown* aiDropDown; gcn::Image* redImage; gcn::Icon* redIcon; - gcn::Slider* redSlider; + SkinnedSlider* redSlider; gcn::Image* greenImage; gcn::Icon* greenIcon; - gcn::Slider* greenSlider; + SkinnedSlider* greenSlider; gcn::Image* blueImage; gcn::Icon* blueIcon; - gcn::Slider* blueSlider; + SkinnedSlider* blueSlider; SampleProbe* sampleProbe; int colorTop; int colorLeft; Modified: include/menu/soundvideo.h =================================================================== --- include/menu/soundvideo.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/menu/soundvideo.h 2007-12-10 22:03:40 UTC (rev 96) @@ -25,8 +25,6 @@ namespace Balder { -class SkinnedCheckBox; - class SoundVideoMenu:public SubMenu { public: @@ -40,9 +38,8 @@ SkinnedCheckBox* musicCheckbox; gcn::Label* fxVolumeLabel; gcn::Label* musicVolumeLabel; - gcn::Slider* fxVolumeSlider; - gcn::Slider* musicVolumeSlider; - gcn::CheckBox* fullscreenCheckbox; + SkinnedSlider* fxVolumeSlider; + SkinnedSlider* musicVolumeSlider; }; } Modified: include/menu/submenu.h =================================================================== --- include/menu/submenu.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/menu/submenu.h 2007-12-10 22:03:40 UTC (rev 96) @@ -25,7 +25,9 @@ #include <guichan/sdl.hpp> #include "menu/widgets/animation.h" #include "menu/widgets/numberfield.h" -#include "menu/widgets/skinnedbutton.h" +#include "menu/widgets/skinnedbutton.h" +#include "menu/widgets/skinnedcheckbox.h" +#include "menu/widgets/skinnedslider.h" namespace Balder { Modified: include/menu/widgets/skinnedbutton.h =================================================================== --- include/menu/widgets/skinnedbutton.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/menu/widgets/skinnedbutton.h 2007-12-10 22:03:40 UTC (rev 96) @@ -21,10 +21,9 @@ #ifndef BALDERSKINNEDBUTTON_H #define BALDERSKINNEDBUTTON_H -#define buttonUp 0 -#define buttonDown 1 -#define widgetFocused 2 - +#define buttonUp 1 +#define buttonDown 2 + #include <guichan/widgets/button.hpp> #include "../../balder2dtypes.h" @@ -37,7 +36,7 @@ { public: // Constructor and Destructor. - SkinnedButton(std::string, std::string, unsigned int = 0); + SkinnedButton(std::string, unsigned int, std::string); ~SkinnedButton(); // Inherited from gcn::Widget @@ -50,8 +49,8 @@ std::string skinFileName; unsigned int skinStripLocation; - // Button Variables. - unsigned int buttonState; + // Widget Variables. + unsigned int widgetState; }; } Modified: include/menu/widgets/skinnedcheckbox.h =================================================================== --- include/menu/widgets/skinnedcheckbox.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/menu/widgets/skinnedcheckbox.h 2007-12-10 22:03:40 UTC (rev 96) @@ -21,9 +21,8 @@ #ifndef BALDERSKINNEDCHECKBOX_H #define BALDERSKINNEDCHECKBOX_H -#define checkboxUnChecked 0 -#define checkboxChecked 1 -#define widgetFocused 2 +#define checkboxUnChecked 1 +#define checkboxChecked 2 #include <guichan/widgets/checkbox.hpp> #include "../../balder2dtypes.h" @@ -37,7 +36,7 @@ { public: // Constructor and Destructor. - SkinnedCheckBox(std::string, std::string, unsigned int = 0, bool = false); + SkinnedCheckBox(std::string, unsigned int, std::string, bool = false); ~SkinnedCheckBox(); // Inherited from gcn::Widget @@ -54,8 +53,8 @@ std::string skinFileName; unsigned int skinStripLocation; - // Button Variables. - unsigned int checkboxState; + // Widget Variables. + unsigned int widgetState; unsigned int checkboxSizeXY; }; } Modified: include/menu/widgets/skinnedslider.h =================================================================== --- include/menu/widgets/skinnedslider.h 2007-12-05 02:28:02 UTC (rev 95) +++ include/menu/widgets/skinnedslider.h 2007-12-10 22:03:40 UTC (rev 96) @@ -21,9 +21,6 @@ #ifndef BALDERSKINNEDSLIDER_H #define BALDERSKINNEDSLIDER_H -#define widgetNotFocused 0 -#define widgetFocused 1 - #include <guichan/widgets/slider.hpp> #include "../../balder2dtypes.h" @@ -36,7 +33,7 @@ { public: // Constructor and Destructor. - SkinnedSlider(double, double, std::string, unsigned int = 0, int = 10); + SkinnedSlider(std::string, unsigned int, double, double, int); ~SkinnedSlider(); // Inherited from gcn::Widget @@ -55,8 +52,8 @@ std::string skinFileName; unsigned int skinStripLocation; - // Slider Variables. - unsigned int sliderState; + // Widget Variables. + unsigned int widgetState; }; } Modified: src/menu/gamesetup.cpp =================================================================== --- src/menu/gamesetup.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/gamesetup.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -21,14 +21,13 @@ #include "menu/gamesetup.h" #include "configmanager.h" #include "menu/widgets/samplemap.h" -#include "menu/widgets/skinnedcheckbox.h" #include "menu/widgets/maplistmodel.h" using namespace Balder; GameSetupMenu::GameSetupMenu(gcn::Container* top, SubMenu* parent):SubMenu(top,parent) { - backButton = new SkinnedButton("Back", "menu/buttonskins.png", 80); + backButton = new SkinnedButton("menu/buttonskins.png", 80, "Back"); backButton->setWidth(150); backButton->setActionEventId("back"); backButton->addActionListener(this); @@ -49,13 +48,13 @@ int score = ConfigManager::GetIntValue("GameSetup", "ScoreLimit"); int time = ConfigManager::GetIntValue("GameSetup", "TimeLimit"); int life = ConfigManager::GetIntValue("GameSetup", "LifeLimit"); - scoreLimitSelector = new SkinnedCheckBox("Maximum Score", "menu/menuskin.png", 0, score > 0); + scoreLimitSelector = new SkinnedCheckBox("menu/menuskin.png", 0, "Maximum Score", score > 0); scoreLimitSelector->setActionEventId("toggleScoreLimit"); scoreLimitSelector->addActionListener(this); - timeLimitSelector = new SkinnedCheckBox("Time (minutes)", "menu/menuskin.png", 0, score > 0); + timeLimitSelector = new SkinnedCheckBox("menu/menuskin.png", 0, "Time (minutes)", score > 0); timeLimitSelector->setActionEventId("toggleTimeLimit"); timeLimitSelector->addActionListener(this); - lifeLimitSelector = new SkinnedCheckBox("Limited Lives", "menu/menuskin.png", 0, score > 0); + lifeLimitSelector = new SkinnedCheckBox("menu/menuskin.png", 0, "Limited Lives", score > 0); lifeLimitSelector->setActionEventId("toggleLifeLimit"); lifeLimitSelector->addActionListener(this); scoreLimitValue = new NumberField(score); Modified: src/menu/mainmenu.cpp =================================================================== --- src/menu/mainmenu.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/mainmenu.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -26,19 +26,19 @@ MainMenu::MainMenu(gcn::Container* top, Menu* menusystem):SubMenu(top),system(menusystem) { - startButton = new SkinnedButton("Start Game", "menu/buttonskins.png", 0); + startButton = new SkinnedButton("menu/buttonskins.png", 0, "Start Game"); startButton->setActionEventId("startgame"); startButton->addActionListener(this); startButton->setWidth(300); startButton->setAlignment(0); //alignment is justified left. - optionsButton = new SkinnedButton("Options", "menu/buttonskins.png", 0); + optionsButton = new SkinnedButton("menu/buttonskins.png", 0, "Options"); optionsButton->setActionEventId("optionsMenu"); optionsButton->addActionListener(this); optionsButton->setWidth(300); optionsButton->setAlignment(0); //alignment is justified left. - quitButton = new SkinnedButton("Quit", "menu/buttonskins.png", 0); + quitButton = new SkinnedButton("menu/buttonskins.png", 0, "Quit"); quitButton->setWidth(300); quitButton->setActionEventId("quitgame"); quitButton->addActionListener(this); Modified: src/menu/options.cpp =================================================================== --- src/menu/options.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/options.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -29,7 +29,7 @@ OptionsMenu::OptionsMenu(gcn::Container* top, SubMenu* parent):SubMenu(top,parent) { - backButton = new SkinnedButton("Back", "menu/buttonskins.png", 80); + backButton = new SkinnedButton("menu/buttonskins.png", 80, "Back"); backButton->setWidth(150); backButton->setActionEventId("back"); backButton->addActionListener(this); @@ -39,30 +39,30 @@ ss << "Number of Players: " << numPlayers; numPlayersLabel = new gcn::Label(ss.str()); - morePlayersButton = new SkinnedButton("+", "menu/buttonskins.png"); + morePlayersButton = new SkinnedButton("menu/buttonskins.png", 0, "+"); morePlayersButton->setActionEventId("morePlayers"); morePlayersButton->addActionListener(this); morePlayersButton->setHeight(numPlayersLabel->getHeight()/2); - lessPlayersButton = new SkinnedButton("-", "menu/buttonskins.png"); + lessPlayersButton = new SkinnedButton("menu/buttonskins.png", 0, "-"); lessPlayersButton->setActionEventId("lessPlayers"); lessPlayersButton->addActionListener(this); lessPlayersButton->setHeight(numPlayersLabel->getHeight()/2); lessPlayersButton->setWidth(morePlayersButton->getWidth()); - soundVideoButton = new SkinnedButton("Sound and Video", "menu/buttonskins.png"); + soundVideoButton = new SkinnedButton("menu/buttonskins.png", 0, "Sound and Video"); soundVideoButton->setActionEventId("soundVideoMenu"); soundVideoButton->addActionListener(this); soundVideoButton->setWidth(300); soundVideoButton->setAlignment(0); //alignment is justified left. - gameSetupButton = new SkinnedButton("Game Setup", "menu/buttonskins.png"); + gameSetupButton = new SkinnedButton("menu/buttonskins.png", 0, "Game Setup"); gameSetupButton->setActionEventId("gameSetupMenu"); gameSetupButton->addActionListener(this); gameSetupButton->setWidth(soundVideoButton->getWidth()); gameSetupButton->setAlignment(0); //alignment is justified left. - playersButton = new SkinnedButton("Player Setup", "menu/buttonskins.png"); + playersButton = new SkinnedButton("menu/buttonskins.png", 0, "Player Setup"); playersButton->setActionEventId("playerSetupMenu"); playersButton->addActionListener(this); playersButton->setWidth(soundVideoButton->getWidth()); Modified: src/menu/playersetup.cpp =================================================================== --- src/menu/playersetup.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/playersetup.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -23,7 +23,7 @@ #include "menu/menu.h" #include "configmanager.h" #include "menu/widgets/sampleprobe.h" -#include "menu/widgets/ailistmodel.h" +#include "menu/widgets/ailistmodel.h" #include "input.h" #include "imageloader.h" #include <sstream> @@ -32,7 +32,7 @@ PlayerSetupMenu::PlayerSetupMenu(gcn::Container* top, SubMenu* parent):SubMenu(top,parent),currentPlayer(1), bindNextKey(false) { - backButton = new SkinnedButton("Back", "menu/buttonskins.png", 80); + backButton = new SkinnedButton("menu/buttonskins.png", 80, "Back"); backButton->setWidth(150); backButton->setActionEventId("back"); backButton->addActionListener(this); @@ -41,38 +41,38 @@ ss << "Player " << currentPlayer; currentPlayerLabel = new gcn::Label(ss.str()); - nextPlayerButton = new SkinnedButton(" > ", "menu/buttonskins.png", 120); + nextPlayerButton = new SkinnedButton("menu/buttonskins.png", 120, " > "); nextPlayerButton->setActionEventId("nextPlayer"); nextPlayerButton->addActionListener(this); nextPlayerButton->setWidth(40); - prevPlayerButton = new SkinnedButton(" < ", "menu/buttonskins.png", 120); + prevPlayerButton = new SkinnedButton("menu/buttonskins.png", 120, " < "); prevPlayerButton->setActionEventId("prevPlayer"); prevPlayerButton->addActionListener(this); prevPlayerButton->setWidth(40); - setRotateRightButton = new SkinnedButton("Rotate Right:", "menu/buttonskins.png", 40); + setRotateRightButton = new SkinnedButton("menu/buttonskins.png", 40, "Rotate Right:"); setRotateRightButton->setActionEventId("bindRight"); setRotateRightButton->addActionListener(this); setRotateRightButton->addKeyListener(this);// listen for key presses for keybinding stuff rotateRightLabel = new gcn::Label(ConfigManager::GetPlayerControl(currentPlayer, "right")); setRotateRightButton->setAlignment(0); - setRotateLeftButton = new SkinnedButton("Rotate Left:", "menu/buttonskins.png", 40); + setRotateLeftButton = new SkinnedButton("menu/buttonskins.png", 40, "Rotate Left:"); setRotateLeftButton->setActionEventId("bindLeft"); setRotateLeftButton->addActionListener(this); setRotateLeftButton->addKeyListener(this);// listen for key presses for keybinding stuff rotateLeftLabel = new gcn::Label(ConfigManager::GetPlayerControl(currentPlayer, "left")); setRotateLeftButton->setAlignment(0); - setStickPushButton = new SkinnedButton("Stick/Push Off:", "menu/buttonskins.png", 40); + setStickPushButton = new SkinnedButton("menu/buttonskins.png", 40, "Stick/Push Off:"); setStickPushButton->setActionEventId("bindStick"); setStickPushButton->addActionListener(this); setStickPushButton->addKeyListener(this);// listen for key presses for keybinding stuff stickPushLabel = new gcn::Label(ConfigManager::GetPlayerControl(currentPlayer, "stick")); setStickPushButton->setAlignment(0); - setFireButton = new SkinnedButton("Fire:", "menu/buttonskins.png", 40); + setFireButton = new SkinnedButton("menu/buttonskins.png", 40, "Fire:"); setFireButton->setActionEventId("bindFire"); setFireButton->addActionListener(this); setFireButton->addKeyListener(this);// listen for key presses for keybinding stuff @@ -97,7 +97,7 @@ redImage= ImageLoader::LoadGcnImage("menu/redspectrum.png"); redIcon = new gcn::Icon(redImage); - redSlider = new gcn::Slider(0, 255); + redSlider = new SkinnedSlider("menu/menuskin.png", 32, 0, 255, 10); redSlider->setWidth(redIcon->getWidth()); redSlider->setHeight(15); redSlider->setValue(double(cRed)); @@ -106,7 +106,7 @@ greenImage= ImageLoader::LoadGcnImage("menu/greenspectrum.png"); greenIcon = new gcn::Icon(greenImage); - greenSlider = new gcn::Slider(0, 255); + greenSlider = new SkinnedSlider("menu/menuskin.png", 32, 0, 255, 10); greenSlider->setWidth(redIcon->getWidth()); greenSlider->setHeight(15); greenSlider->setValue(double(cGreen)); @@ -115,7 +115,7 @@ blueImage= ImageLoader::LoadGcnImage("menu/bluespectrum.png"); blueIcon = new gcn::Icon(blueImage); - blueSlider = new gcn::Slider(0, 255); + blueSlider = new SkinnedSlider("menu/menuskin.png", 32, 0, 255, 10); blueSlider->setWidth(redIcon->getWidth()); blueSlider->setHeight(15); blueSlider->setValue(double(cBlue)); Modified: src/menu/soundvideo.cpp =================================================================== --- src/menu/soundvideo.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/soundvideo.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -19,7 +19,6 @@ ***************************************************************************/ #include "menu/soundvideo.h" -#include "menu/widgets/skinnedcheckbox.h" #include "configmanager.h" #include "soundmanager.h" @@ -27,33 +26,33 @@ SoundVideoMenu::SoundVideoMenu(gcn::Container* top, SubMenu* parent):SubMenu(top,parent) { - backButton = new SkinnedButton("Back", "menu/buttonskins.png", 80); + backButton = new SkinnedButton("menu/buttonskins.png", 80, "Back"); backButton->setWidth(150); backButton->setActionEventId("back"); backButton->addActionListener(this); - fullScreenCheckbox = new SkinnedCheckBox("Fullscreen", "menu/menuskin.png", 0, ConfigManager::GetIntValue("Video", "fullscreen")); + fullScreenCheckbox = new SkinnedCheckBox("menu/menuskin.png", 0, "Fullscreen", ConfigManager::GetIntValue("Video", "fullscreen")); fullScreenCheckbox->setActionEventId("toggleFullscreen"); fullScreenCheckbox->addActionListener(this); - soundCheckbox = new SkinnedCheckBox("Sound", "menu/menuskin.png", 0, ConfigManager::GetIntValue("Sound", "sound")); + soundCheckbox = new SkinnedCheckBox("menu/menuskin.png", 0, "Sound", ConfigManager::GetIntValue("Sound", "sound")); soundCheckbox->setActionEventId("toggleSound"); soundCheckbox->addActionListener(this); - musicCheckbox = new SkinnedCheckBox("Music", "menu/menuskin.png", 0, ConfigManager::GetIntValue("Sound", "music")); + musicCheckbox = new SkinnedCheckBox("menu/menuskin.png", 0, "Music", ConfigManager::GetIntValue("Sound", "music")); musicCheckbox->setActionEventId("toggleMusic"); musicCheckbox->addActionListener(this); fxVolumeLabel = new gcn::Label(" Volume"); - fxVolumeSlider = new gcn::Slider(); - fxVolumeSlider->setSize(200, fxVolumeLabel->getHeight()/2); + fxVolumeSlider = new SkinnedSlider("menu/menuskin.png", 32, 0, 255, 10); + fxVolumeSlider->setSize(202, (fxVolumeLabel->getHeight()/2)+2); fxVolumeSlider->setValue(ConfigManager::GetDoubleValue("Sound", "fxvolume")); fxVolumeSlider->setActionEventId("fxVolumeChange"); fxVolumeSlider->addActionListener(this); musicVolumeLabel = new gcn::Label(" Volume"); - musicVolumeSlider = new gcn::Slider(); - musicVolumeSlider->setSize(200, musicVolumeLabel->getHeight()/2); + musicVolumeSlider = new SkinnedSlider("menu/menuskin.png", 32, 0, 255, 10); + musicVolumeSlider->setSize(202, (musicVolumeLabel->getHeight()/2)+2); musicVolumeSlider->setValue(ConfigManager::GetDoubleValue("Sound", "musicvolume")); musicVolumeSlider->setActionEventId("musicVolumeChange"); musicVolumeSlider->addActionListener(this); Modified: src/menu/widgets/skinnedbutton.cpp =================================================================== --- src/menu/widgets/skinnedbutton.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/widgets/skinnedbutton.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -27,8 +27,8 @@ #include "imageloader.h" using namespace Balder; -SkinnedButton::SkinnedButton(std::string bC, std::string sFN, unsigned int sSL): - gcn::Button(bC), skinFileName(sFN), skinStripLocation(sSL), buttonState(buttonUp) +SkinnedButton::SkinnedButton(std::string sFN, unsigned int sSL, std::string bC): + gcn::Button(bC), skinFileName(sFN), skinStripLocation(sSL), widgetState(widgetNotFocused) { setBorderSize(0); @@ -55,20 +55,19 @@ int x,y; gcn::Widget::getAbsolutePosition(x,y); - if (!isPressed()) { - buttonState = buttonUp; + if (!isFocused()) { + widgetState = widgetNotFocused; + } + else { + widgetState = widgetFocused; + } + + if (isPressed()) { + widgetState += buttonDown; } - else { - buttonState = buttonDown; - } - if (isFocused()) - { - buttonState += widgetFocused; - } - // draw widget onto menu screen at widget location. - SDL_Rect rectSrc = {buttonState*getWidth(), skinStripLocation, getWidth(), getHeight()}; + SDL_Rect rectSrc = {widgetState*getWidth(), skinStripLocation, getWidth(), getHeight()}; SDL_Rect rectDest = {x, y, /*width is ignored*/0, /*height is ignored*/0}; SDL_BlitSurface(skinFrameStrip, &rectSrc, screen, &rectDest); Modified: src/menu/widgets/skinnedcheckbox.cpp =================================================================== --- src/menu/widgets/skinnedcheckbox.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/widgets/skinnedcheckbox.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -27,8 +27,8 @@ #include "imageloader.h" using namespace Balder; -SkinnedCheckBox::SkinnedCheckBox(std::string cbC, std::string sFN, unsigned int sSL, bool cbS): - gcn::CheckBox(cbC, cbS), skinFileName(sFN), skinStripLocation(sSL), checkboxState(cbS) +SkinnedCheckBox::SkinnedCheckBox(std::string sFN, unsigned int sSL, std::string cbC, bool cbS): + gcn::CheckBox(cbC, cbS), skinFileName(sFN), skinStripLocation(sSL), widgetState(cbS) { setBorderSize(0); checkboxSizeXY = 32; @@ -56,19 +56,19 @@ int x,y; gcn::Widget::getAbsolutePosition(x,y); - if (!isMarked()) { - checkboxState = checkboxUnChecked; + if (!isFocused()) { + widgetState = widgetNotFocused; + } + else { + widgetState = widgetFocused; + } + + if (isMarked()) { + widgetState += checkboxChecked; } - else { - checkboxState = checkboxChecked; - } - if (isFocused()) { - checkboxState += widgetFocused; - } - // draw widget onto menu screen at widget location. - SDL_Rect rectSrc = {checkboxState*checkboxSizeXY, skinStripLocation, checkboxSizeXY, checkboxSizeXY}; + SDL_Rect rectSrc = {widgetState*checkboxSizeXY, skinStripLocation, checkboxSizeXY, checkboxSizeXY}; SDL_Rect rectDest = {x, y, /*width is ignored*/0, /*height is ignored*/0}; SDL_BlitSurface(skinFrameStrip, &rectSrc, screen, &rectDest); Modified: src/menu/widgets/skinnedslider.cpp =================================================================== --- src/menu/widgets/skinnedslider.cpp 2007-12-05 02:28:02 UTC (rev 95) +++ src/menu/widgets/skinnedslider.cpp 2007-12-10 22:03:40 UTC (rev 96) @@ -27,8 +27,8 @@ #include "imageloader.h" using namespace Balder; -SkinnedSlider::SkinnedSlider(double scaleStart, double scaleEnd, std::string sFN, unsigned int sSL, int sML): - skinFileName(sFN), skinStripLocation(sSL), sliderState(widgetNotFocused) +SkinnedSlider::SkinnedSlider(std::string sFN/*strip file name*/, unsigned int sSL/*strip vertical location in pixels*/, double scaleStart/*scale starting point*/, double scaleEnd/*scale ending point*/, int sML/*marker length in pixels*/): + skinFileName(sFN), skinStripLocation(sSL), widgetState(widgetNotFocused) { setBorderSize(0); setScaleStart(scaleStart); @@ -60,14 +60,14 @@ // Get widget state. if (isFocused()) { - sliderState = widgetFocused; + widgetState = widgetFocused; } else { - sliderState = widgetNotFocused; + widgetState = widgetNotFocused; } // draw widget onto menu screen at widget location. - SDL_Rect rectSrc = {sliderState*getWidth(), skinStripLocation, getWidth(), getHeight()}; + SDL_Rect rectSrc = {widgetState*getWidth(), skinStripLocation, getWidth(), getHeight()}; SDL_Rect rectDest = {x, y, /*width is ignored*/0, /*height is ignored*/0}; SDL_BlitSurface(skinFrameStrip, &rectSrc, screen, &rectDest); @@ -100,7 +100,7 @@ } // draw widget onto menu screen at widget location. - SDL_Rect rectSrc = {(2 * getWidth()) + (sliderState * getMarkerLength()), skinStripLocation, markerWidth, markerHeight}; + SDL_Rect rectSrc = {(2 * getWidth()) + (widgetState * getMarkerLength()), skinStripLocation, markerWidth, markerHeight}; SDL_Rect rectDest = {markerX, markerY, /*width is ignored*/0, /*height is ignored*/0}; SDL_BlitSurface(skinFrameStrip, &rectSrc, screen, &rectDest); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |