AaronCameron.net
Not Left, nor right. Just correct.
Not a Member? - Login or Create an Account
Sunday the 20th of May 2012 @ 05:00pm
Front Page Journal Projects Your Profile About
[]

LibN2L-4 Library Code Reference

Classes
Compounds
Files
Members
Method Index
Full Reference

cGuiProgressBar.cpp

Go to the documentation of this file.
00001 /************************************************************************
00002 Nova-2 Library (libN2L, or simply n2l) Game development C++ Library
00003 Copyright (C) 2002  Aaron Cameron
00004 
00005 This library is free software; you can redistribute it and/or
00006 modify it under the terms of the GNU Lesser General Public
00007 License as published by the Free Software Foundation; either
00008 version 2.1 of the License, or (at your option) any later version.
00009 
00010 This library is distributed in the hope that it will be useful,
00011 but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 Lesser General Public License for more details.
00014 
00015 You should have received a copy of the GNU Lesser General Public
00016 License along with this library; if not, write to the Free Software
00017 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00018 
00019 A copy of the GNU Lesser General Public License has been provided with
00020 this library in the file 'COPYING'.
00021 
00022 Contact information for the author of this library has been provided
00023 with this library in the file 'AUTHOR'.
00024 ************************************************************************/
00025 #include "gui/cGuiProgressBar.h"
00026 
00027 #include "n2l/dynVars.h"
00028 #include "n2l/resourceManagement.h"
00029 
00030 namespace n2l
00031 {
00032 
00033     /**************************************************************************/
00034     cGuiProgressBar::cGuiProgressBar() :
00035         mValue(0.0f),
00036         mLabel("")
00037     {
00038     }
00039 
00040     /**************************************************************************/
00041     cGuiProgressBar::cGuiProgressBar( const cVfsNodeInterface &iNode ) :
00042         mValue(0.0f),
00043         mLabel("")
00044     {
00045         load( iNode );
00046     }
00047 
00048     /**************************************************************************/
00049     cGuiProgressBar::cGuiProgressBar( const cDynVar &iDefinition ) :
00050         mValue(0.0f),
00051         mLabel("")
00052     {
00053         load( iDefinition );
00054     }
00055 
00056     /**************************************************************************/
00057     cGuiProgressBar::~cGuiProgressBar()
00058     {
00059     }
00060 
00061     /**************************************************************************/
00062     void cGuiProgressBar::load( const cVfsNodeInterface &iNode )
00063     {
00064         // load( iDefinition );
00065     }
00066 
00067     /**************************************************************************/
00068     void cGuiProgressBar::load( const cDynVar &iDefinition )
00069     {
00070     
00071     }
00072 
00073     /**************************************************************************/
00074     void cGuiProgressBar::fill( const tState iState, const tProp iProp,
00075         const cGuiFill &iFill )
00076     {
00077         if (iProp<0 || iProp>=Prop_NumProps)
00078             throw cOutOfBoundsException( "cGuiProgressBar::fill",
00079                 "Property out of range" );
00080         mFills[iProp] = iFill;
00081     }
00082 
00083     /**************************************************************************/
00084     void cGuiProgressBar::value( const tValue &iValue )
00085     {
00086         mValue = n2l_max(0.0f, n2l_min(iValue,1.0f));
00087     }
00088 
00089     /**************************************************************************/
00090     const cGuiProgressBar::tValue & cGuiProgressBar::value() const
00091     {
00092         return mValue;
00093     }
00094 
00095     /**************************************************************************/
00096     void cGuiProgressBar::label( const tString &iText )
00097     {
00098         mLabel = iText;
00099     }
00100 
00101     /**************************************************************************/
00102     const tString & cGuiProgressBar::label() const
00103     {
00104         return mLabel;
00105     }
00106 
00107     /**************************************************************************/
00108     void cGuiProgressBar::labelStyle( const cGuiTextStyle &iStyle )
00109     {
00110         mLabelStyle = iStyle;
00111     }
00112 
00113     /**************************************************************************/
00114     void cGuiProgressBar::draw() const
00115     {
00116         mFills[Prop_Gutter].draw(mPos, mSize);
00117         mFills[Prop_Bar].draw(mPos, tGuiPos(mSize.x()*mValue,mSize.y()) );
00118         mLabelStyle.draw( innerPos(),innerSize(),mLabel );
00119     }
00120 
00121     /**************************************************************************/
00122     const cAutoPtr<cGuiElement> cGuiProgressBar::loadNew( const cDynVar &iDef )
00123     {
00124         return new cGuiProgressBar(iDef);
00125     }
00126 
00127 } // namespace n2l
©2012 Aaron Cameron