00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "position.hpp"
00026
00027
00028 Rect::Rect( int left, int top, int right, int bottom ):
00029 m_left( left ), m_top( top ), m_right( right ), m_bottom( bottom )
00030 {
00031 }
00032
00033
00034 Position::Position( int left, int top, int right, int bottom, const Box &rBox,
00035 Ref_t refLeftTop, Ref_t refRightBottom ):
00036 m_left( left ), m_top( top ), m_right( right ), m_bottom( bottom ),
00037 m_rBox( rBox ), m_refLeftTop( refLeftTop ),
00038 m_refRighBottom( refRightBottom )
00039 {
00040 }
00041
00042
00043 int Position::getLeft() const
00044 {
00045 switch( m_refLeftTop )
00046 {
00047 case kLeftTop:
00048 case kLeftBottom:
00049 return m_left;
00050 break;
00051 case kRightTop:
00052 case kRightBottom:
00053 return m_rBox.getWidth() + m_left - 1;
00054 break;
00055 }
00056
00057 return 0;
00058 }
00059
00060
00061 int Position::getTop() const
00062 {
00063 switch( m_refLeftTop )
00064 {
00065 case kLeftTop:
00066 case kRightTop:
00067 return m_top;
00068 break;
00069 case kRightBottom:
00070 case kLeftBottom:
00071 return m_rBox.getHeight() + m_top - 1;
00072 break;
00073 }
00074
00075 return 0;
00076 }
00077
00078
00079 int Position::getRight() const
00080 {
00081 switch( m_refRighBottom )
00082 {
00083 case kLeftTop:
00084 case kLeftBottom:
00085 return m_right;
00086 break;
00087 case kRightTop:
00088 case kRightBottom:
00089 return m_rBox.getWidth() + m_right - 1;
00090 break;
00091 }
00092
00093 return 0;
00094 }
00095
00096
00097 int Position::getBottom() const
00098 {
00099 switch( m_refRighBottom )
00100 {
00101 case kLeftTop:
00102 case kRightTop:
00103 return m_bottom;
00104 break;
00105 case kLeftBottom:
00106 case kRightBottom:
00107 return m_rBox.getHeight() + m_bottom - 1;
00108 break;
00109 }
00110
00111 return 0;
00112 }
00113
00114
00115 int Position::getWidth() const
00116 {
00117 return getRight() - getLeft() + 1;
00118 }
00119
00120
00121 int Position::getHeight() const
00122 {
00123 return getBottom() - getTop() + 1;
00124 }
00125