tge/engine/gui/controls/guiTextEditSliderCtrl.h
2017-04-17 06:17:10 -06:00

68 lines
1.6 KiB
C++
Executable File

//-----------------------------------------------------------------------------
// Torque Game Engine
// Copyright (C) GarageGames.com, Inc.
//-----------------------------------------------------------------------------
#ifndef _GUITEXTEDITSLIDERCTRL_H_
#define _GUITEXTEDITSLIDERCTRL_H_
#ifndef _GUITYPES_H_
#include "gui/core/guiTypes.h"
#endif
#ifndef _GUITEXTEDITCTRL_H_
#include "gui/controls/guiTextEditCtrl.h"
#endif
class GuiTextEditSliderCtrl : public GuiTextEditCtrl
{
private:
typedef GuiTextEditCtrl Parent;
Point2F mRange;
F32 mIncAmount;
F32 mValue;
F32 mIncCounter;
F32 mMulInc;
StringTableEntry mFormat;
U32 mMouseDownTime;
// max string len, must be less then or equal to 255
public:
enum CtrlArea
{
None,
Slider,
ArrowUp,
ArrowDown
};
private:
CtrlArea mTextAreaHit;
public:
GuiTextEditSliderCtrl();
~GuiTextEditSliderCtrl();
DECLARE_CONOBJECT(GuiTextEditSliderCtrl);
static void initPersistFields();
void getText(char *dest); // dest must be of size
// StructDes::MAX_STRING_LEN + 1
void setText(S32 tag);
void setText(const char *txt);
void setValue();
void checkRange();
void checkIncValue();
void timeInc(U32 elapseTime);
bool onKeyDown(const GuiEvent &event);
void onMouseDown(const GuiEvent &event);
void onMouseDragged(const GuiEvent &event);
void onMouseUp(const GuiEvent &event);
void onPreRender();
void onRender(Point2I offset, const RectI &updateRect);
};
#endif //_GUI_TEXTEDIT_CTRL_H