// Ryzom - MMORPG Framework
// Copyright (C) 2010 Winch Gate Property Limited
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see .
#include "stdpch.h"
#include "button_base.h"
//-----------------------------------------------
// CButtonBase :
// Constructor.
//-----------------------------------------------
CButtonBase::CButtonBase()
{
init(0, 0, 0, CRGBA(255,0,0), CRGBA(0,255,0), CRGBA(100,100,100));
}// CButtonBase //
//-----------------------------------------------
// CButtonBase :
// Constructor.
//-----------------------------------------------
CButtonBase::CButtonBase(uint tOn, uint tOff, uint tDisable)
{
init(tOn, tOff, tDisable, CRGBA(255,0,0), CRGBA(0,255,0), CRGBA(100,100,100));
}// CButtonBase //
//-----------------------------------------------
// CButtonBase :
// Constructor.
//-----------------------------------------------
CButtonBase::CButtonBase(const CRGBA &on, const CRGBA &off, const CRGBA &disable)
{
init(0, 0, 0, on, off, disable);
}// CButtonBase //
//-----------------------------------------------
// CButtonBase :
// Constructor.
//-----------------------------------------------
CButtonBase::CButtonBase(uint tOn, uint tOff, uint tDisable, const CRGBA &on, const CRGBA &off, const CRGBA &disable)
{
init(tOn, tOff, tDisable, on, off, disable);
}// CButtonBase //
//-----------------------------------------------
// init :
// Initialize the class(only 1 function for all constructor -> easier).
//-----------------------------------------------
void CButtonBase::init(uint tOn, uint tOff, uint tDisable, const CRGBA &on, const CRGBA &off, const CRGBA &disable)
{
_On = false;
_Enable = true;
_TextureOn = tOn;
_TextureOff = tOff;
_TextureDisable = tDisable;
_ColorOn = on;
_ColorOff = off;
_ColorDisable = disable;
_BGModeOn = BG_none;
_BGModeOff = BG_none;
_BGModeDisable = BG_none;
}// init //
//-----------------------------------------------
// textureOn :
// Change texture when On.
//-----------------------------------------------
void CButtonBase::textureOn(uint texture)
{
_TextureOn = texture;
}// textureOn //
//-----------------------------------------------
// textureOff :
// Change texture when Off.
//-----------------------------------------------
void CButtonBase::textureOff(uint texture)
{
_TextureOff = texture;
}// textureOff //
//-----------------------------------------------
// textureDisable :
// Change texture when Disable.
//-----------------------------------------------
void CButtonBase::textureDisable(uint texture)
{
_TextureDisable = texture;
}// textureDisable //
//-----------------------------------------------
// colorOn :
// Change color when On.
//-----------------------------------------------
void CButtonBase::colorOn(const CRGBA &color)
{
_ColorOn = color;
}// colorOn //
//-----------------------------------------------
// colorOff :
// Change color when Off.
//-----------------------------------------------
void CButtonBase::colorOff(const CRGBA &color)
{
_ColorOff = color;
}// colorOff //
//-----------------------------------------------
// colorDisable :
// Change color when Disable.
//-----------------------------------------------
void CButtonBase::colorDisable(const CRGBA &color)
{
_ColorDisable = color;
}// colorDisable //
//-----------------------------------------------
// push :
// Push the button.
//-----------------------------------------------
void CButtonBase::select()
{
_On = true;
}// push //
//-----------------------------------------------
// unPush :
// Un-push the button.
//-----------------------------------------------
void CButtonBase::unSelect()
{
_On = false;
}// unPush //
//-----------------------------------------------
// enable :
// Get the state of the button(Enable/Disable).
//-----------------------------------------------
bool CButtonBase::enable()
{
return _Enable;
}// enable //
//-----------------------------------------------
// enable :
// Enable or Disable the Button.
//-----------------------------------------------
void CButtonBase::enable(bool e)
{
_Enable = e;
}// enable //