Initial Commit
This commit is contained in:
75
common/RUBBER.HPP
Normal file
75
common/RUBBER.HPP
Normal file
@@ -0,0 +1,75 @@
|
||||
#ifndef _COMMON_RUBBERCONTROL_HPP_
|
||||
#define _COMMON_RUBBERCONTROL_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
class GUIWindow;
|
||||
|
||||
class RubberControl
|
||||
{
|
||||
public:
|
||||
RubberControl(void);
|
||||
RubberControl(const RubberControl &someRubberControl);
|
||||
virtual ~RubberControl();
|
||||
RubberControl &operator=(const RubberControl &someRubberControl);
|
||||
void initControl(GUIWindow &parentWindow);
|
||||
void moveControl(GUIWindow &parentWindow,int width,int height);
|
||||
void alignControl(GUIWindow &parentWindow);
|
||||
protected:
|
||||
virtual GUIWindow &controlWindow(void)=0;
|
||||
private:
|
||||
enum{Left,Top,Right,Bottom};
|
||||
enum{VectorPoints=4};
|
||||
void calcRatios(GUIWindow &parentWindow);
|
||||
void zeroInit(void);
|
||||
|
||||
float mRatios[VectorPoints];
|
||||
int mControlID;
|
||||
};
|
||||
|
||||
inline
|
||||
RubberControl::RubberControl(void)
|
||||
{
|
||||
zeroInit();
|
||||
}
|
||||
|
||||
inline
|
||||
RubberControl::RubberControl(const RubberControl &someRubberControl)
|
||||
{
|
||||
*this=someRubberControl;
|
||||
}
|
||||
|
||||
inline
|
||||
RubberControl &RubberControl::operator=(const RubberControl &someRubberControl)
|
||||
{
|
||||
mRatios[Left]=someRubberControl.mRatios[Left];
|
||||
mRatios[Top]=someRubberControl.mRatios[Top];
|
||||
mRatios[Right]=someRubberControl.mRatios[Right];
|
||||
mRatios[Bottom]=someRubberControl.mRatios[Bottom];
|
||||
mControlID=someRubberControl.mControlID;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
void RubberControl::initControl(GUIWindow &parentWindow)
|
||||
{
|
||||
calcRatios(parentWindow);
|
||||
}
|
||||
|
||||
inline
|
||||
void RubberControl::alignControl(GUIWindow &parentWindow)
|
||||
{
|
||||
calcRatios(parentWindow);
|
||||
}
|
||||
|
||||
inline
|
||||
void RubberControl::zeroInit(void)
|
||||
{
|
||||
mRatios[Left]=0.00;
|
||||
mRatios[Top]=0.00;
|
||||
mRatios[Right]=0.00;
|
||||
mRatios[Bottom]=0.00;
|
||||
mControlID=-1;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user