home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 28
/
amigaformatcd28.iso
/
-seriously_amiga-
/
programming
/
c
/
asap
/
region.h
< prev
next >
Wrap
C/C++ Source or Header
|
1998-04-23
|
3KB
|
99 lines
/*****************************************************************************
* *
* ASAP - Amiga Software Authoring Platform *
* *
* Written by Laurie Perrin *
* *
* ARegion wrapper class *
* *
*****************************************************************************/
#ifndef ASAP_ARegion_H
#define ASAP_ARegion_H
#include <New.h>
extern "C"
{
#include <Proto/Graphics.h>
}
class ARegion : public Region
{
public:
inline void AndRectRegion(Rectangle * rectangle);
inline BOOL AndRegionRegion(Region * destRegion);
inline BOOL ClearRectRegion(Rectangle * rectangle);
inline void ClearRegion();
inline void DisposeRegion();
inline void operator delete(void *);
inline static ARegion * NewRegion();
inline void * operator new(size_t);
inline BOOL OrRectRegion(Rectangle * rectangle);
inline BOOL OrRegionRegion(Region * destRegion);
inline BOOL XorRectRegion(Rectangle * rectangle);
inline BOOL XorRegionRegion(Region * destRegion);
};
//----------------------------------------------------------------------------
void ARegion::AndRectRegion (Rectangle * rectangle)
{
::AndRectRegion(this, rectangle);
}
//----------------------------------------------------------------------------
BOOL ARegion::AndRegionRegion (Region * destRegion)
{
return ::AndRegionRegion(this, destRegion);
}
//----------------------------------------------------------------------------
BOOL ARegion::ClearRectRegion (Rectangle * rectangle)
{
return ::ClearRectRegion(this, rectangle);
}
//----------------------------------------------------------------------------
void ARegion::ClearRegion ()
{
::ClearRegion(this);
}
//----------------------------------------------------------------------------
void ARegion::DisposeRegion ()
{
::DisposeRegion(this);
}
//----------------------------------------------------------------------------
void ARegion::operator delete (void *region)
{
((ARegion *) region)->DisposeRegion();
}
//----------------------------------------------------------------------------
ARegion * ARegion::NewRegion ()
{
return (ARegion *) ::NewRegion();
}
//----------------------------------------------------------------------------
void * ARegion::operator new (size_t)
{
return (ARegion *) ::NewRegion();
}
//----------------------------------------------------------------------------
BOOL ARegion::OrRectRegion (Rectangle * rectangle)
{
return ::OrRectRegion(this, rectangle);
}
//----------------------------------------------------------------------------
BOOL ARegion::OrRegionRegion (Region * destRegion)
{
return ::OrRegionRegion(this, destRegion);
}
//----------------------------------------------------------------------------
BOOL ARegion::XorRectRegion (Rectangle * rectangle)
{
return ::XorRectRegion(this, rectangle);
}
//----------------------------------------------------------------------------
BOOL ARegion::XorRegionRegion (Region * destRegion)
{
return ::XorRegionRegion(this, destRegion);
}
#endif