added Size2.h
This commit is contained in:
parent
72fcbb18ab
commit
08da6dac6a
46
inc/hgl/type/Size2.h
Normal file
46
inc/hgl/type/Size2.h
Normal file
@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include<hgl/type/DataType.h>
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
/**
|
||||
* 尺寸模板
|
||||
*/
|
||||
template<typename T> struct Size2
|
||||
{
|
||||
T width,height;
|
||||
|
||||
public:
|
||||
|
||||
Size2()
|
||||
{
|
||||
width=height=0;
|
||||
}
|
||||
|
||||
Size2(const T &w,const T &h)
|
||||
{
|
||||
width=w;
|
||||
height=h;
|
||||
}
|
||||
|
||||
const bool isLandscape()const{return width>height;} ///<是否横的
|
||||
const bool isPortrait()const{return width<height;} ///<是否竖的
|
||||
|
||||
void Swap()
|
||||
{
|
||||
T t=width;
|
||||
width=height;
|
||||
height=t;
|
||||
}
|
||||
|
||||
Size2<T> Swapped(){return Size2<T>(height,width);} ///<获取一个横竖交换的尺寸
|
||||
};//template<typename T> struct Size2
|
||||
|
||||
using Size2i =Size2<int>;
|
||||
using Size2ui =Size2<uint>;
|
||||
using Size2s =Size2<int16>;
|
||||
using Size2us =Size2<uint16>;
|
||||
using Size2f =Size2<float>;
|
||||
using Size2d =Size2<double>;
|
||||
}//namespace hgl
|
Loading…
x
Reference in New Issue
Block a user