Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CRectGen< T > Class Template Reference

#include <Geometry.h>

Public Types

typedef CRectGen< T > this_type
 
typedef CPointGen< T > point_type
 
typedef CSizeGen< T > size_type
 

Public Member Functions

 CRectGen () noexcept=default
 
constexpr CRectGen (T left, T top, T right, T bottom)
 
constexpr CRectGen (const point_type &p1, const point_type &p2)
 
constexpr CRectGen (const point_type &origin, const size_type &size)
 
template<class U >
constexpr CRectGen (const CRectGen< U > &rhs)
 
void SetRect (T left, T top, T right, T bottom)
 
constexpr bool PtInRect (const point_type &point) const
 
constexpr bool Intersects (const this_type &rect) const
 
this_typeoperator-= (const point_type &point) XBMC_FORCE_INLINE
 
constexpr this_type operator- (const point_type &point) const
 
this_typeoperator+= (const point_type &point) XBMC_FORCE_INLINE
 
constexpr this_type operator+ (const point_type &point) const
 
this_typeoperator-= (const size_type &size)
 
constexpr this_type operator- (const size_type &size) const
 
this_typeoperator+= (const size_type &size)
 
constexpr this_type operator+ (const size_type &size) const
 
this_typeIntersect (const this_type &rect)
 
this_typeUnion (const this_type &rect)
 
constexpr bool IsEmpty () const XBMC_FORCE_INLINE
 
constexpr point_type P1 () const XBMC_FORCE_INLINE
 
constexpr point_type P2 () const XBMC_FORCE_INLINE
 
constexpr T Width () const XBMC_FORCE_INLINE
 
constexpr T Height () const XBMC_FORCE_INLINE
 
constexpr T Area () const XBMC_FORCE_INLINE
 
size_type ToSize () const
 
std::vector< this_typeSubtractRect (this_type splitterRect)
 
std::vector< this_typeSubtractRects (const std::vector< this_type > &intersectionList)
 
void GetQuad (point_type(&points)[4])
 

Public Attributes

x1 {}
 
y1 {}
 
x2 {}
 
y2 {}
 

Member Typedef Documentation

◆ point_type

template<typename T >
CPointGen<T> CRectGen< T >::point_type

◆ size_type

template<typename T >
CSizeGen<T> CRectGen< T >::size_type

◆ this_type

template<typename T >
CRectGen<T> CRectGen< T >::this_type

Constructor & Destructor Documentation

◆ CRectGen() [1/5]

template<typename T >
CRectGen< T >::CRectGen ( )
defaultnoexcept

◆ CRectGen() [2/5]

template<typename T >
CRectGen< T >::CRectGen ( T left,
T top,
T right,
T bottom )
inlineconstexpr

◆ CRectGen() [3/5]

template<typename T >
CRectGen< T >::CRectGen ( const point_type & p1,
const point_type & p2 )
inlineconstexpr

◆ CRectGen() [4/5]

template<typename T >
CRectGen< T >::CRectGen ( const point_type & origin,
const size_type & size )
inlineconstexpr

◆ CRectGen() [5/5]

template<typename T >
template<class U >
CRectGen< T >::CRectGen ( const CRectGen< U > & rhs)
inlineexplicitconstexpr

Member Function Documentation

◆ Area()

template<typename T >
T CRectGen< T >::Area ( ) const
inlineconstexpr

◆ GetQuad()

template<typename T >
void CRectGen< T >::GetQuad ( point_type(&) points[4])
inline

◆ Height()

template<typename T >
T CRectGen< T >::Height ( ) const
inlineconstexpr

◆ Intersect()

template<typename T >
this_type & CRectGen< T >::Intersect ( const this_type & rect)
inline

◆ Intersects()

template<typename T >
bool CRectGen< T >::Intersects ( const this_type & rect) const
inlineconstexpr

◆ IsEmpty()

template<typename T >
bool CRectGen< T >::IsEmpty ( ) const
inlineconstexpr

◆ operator+() [1/2]

template<typename T >
this_type CRectGen< T >::operator+ ( const point_type & point) const
inlineconstexpr

◆ operator+() [2/2]

template<typename T >
this_type CRectGen< T >::operator+ ( const size_type & size) const
inlineconstexpr

◆ operator+=() [1/2]

template<typename T >
this_type & CRectGen< T >::operator+= ( const point_type & point)
inline

◆ operator+=() [2/2]

template<typename T >
this_type & CRectGen< T >::operator+= ( const size_type & size)
inline

◆ operator-() [1/2]

template<typename T >
this_type CRectGen< T >::operator- ( const point_type & point) const
inlineconstexpr

◆ operator-() [2/2]

template<typename T >
this_type CRectGen< T >::operator- ( const size_type & size) const
inlineconstexpr

◆ operator-=() [1/2]

template<typename T >
this_type & CRectGen< T >::operator-= ( const point_type & point)
inline

◆ operator-=() [2/2]

template<typename T >
this_type & CRectGen< T >::operator-= ( const size_type & size)
inline

◆ P1()

template<typename T >
point_type CRectGen< T >::P1 ( ) const
inlineconstexpr

◆ P2()

template<typename T >
point_type CRectGen< T >::P2 ( ) const
inlineconstexpr

◆ PtInRect()

template<typename T >
bool CRectGen< T >::PtInRect ( const point_type & point) const
inlineconstexpr

◆ SetRect()

template<typename T >
void CRectGen< T >::SetRect ( T left,
T top,
T right,
T bottom )
inline

◆ SubtractRect()

template<typename T >
std::vector< this_type > CRectGen< T >::SubtractRect ( this_type splitterRect)
inline

◆ SubtractRects()

template<typename T >
std::vector< this_type > CRectGen< T >::SubtractRects ( const std::vector< this_type > & intersectionList)
inline

◆ ToSize()

template<typename T >
size_type CRectGen< T >::ToSize ( ) const
inline

◆ Union()

template<typename T >
this_type & CRectGen< T >::Union ( const this_type & rect)
inline

◆ Width()

template<typename T >
T CRectGen< T >::Width ( ) const
inlineconstexpr

Member Data Documentation

◆ x1

template<typename T >
T CRectGen< T >::x1 {}

◆ x2

template<typename T >
T CRectGen< T >::x2 {}

◆ y1

template<typename T >
T CRectGen< T >::y1 {}

◆ y2

template<typename T >
T CRectGen< T >::y2 {}

The documentation for this class was generated from the following files: