Pentagram::Scaler Class Reference

Base Scaler class. More...

#include <Scaler.h>

Inheritance diagram for Pentagram::Scaler:

Pentagram::_2xSaIScaler Pentagram::BilinearScaler Pentagram::GC_2xSaIScaler Pentagram::GC_BilinearScaler Pentagram::GC_Super2xSaIScaler Pentagram::GC_SuperEagleScaler Pentagram::hq2xScaler Pentagram::PointScaler Pentagram::Scale2xScaler Pentagram::Super2xSaIScaler Pentagram::SuperEagleScaler List of all members.

Public Member Functions

virtual const uint32 ScaleBits () const =0
virtual const bool ScaleArbitrary () const =0
virtual const char * ScalerName () const =0
virtual const char * ScalerDesc () const =0
virtual const char * ScalerCopyright () const =0
bool Scale (Texture *texture, sint32 sx, sint32 sy, sint32 sw, sint32 sh, uint8 *pixel, sint32 dw, sint32 dh, sint32 pitch, bool clamp_src) const
virtual ~Scaler ()

Protected Types

typedef bool(*) ScalerFunc (Texture *tex, sint32 sx, sint32 sy, sint32 sw, sint32 sh, uint8 *pixel, sint32 dw, sint32 dh, sint32 pitch, bool clamp_src)

Protected Member Functions

 Scaler ()

Protected Attributes

ScalerFunc Scale16Nat
ScalerFunc Scale16Sta
ScalerFunc Scale32Nat
ScalerFunc Scale32Sta
ScalerFunc Scale32_A888
ScalerFunc Scale32_888A

Detailed Description

Base Scaler class.

Definition at line 29 of file Scaler.h.


Member Typedef Documentation

typedef bool(*) Pentagram::Scaler::ScalerFunc(Texture *tex, sint32 sx, sint32 sy, sint32 sw, sint32 sh, uint8 *pixel, sint32 dw, sint32 dh, sint32 pitch, bool clamp_src) [protected]

Definition at line 33 of file Scaler.h.


Constructor & Destructor Documentation

Pentagram::Scaler::Scaler (  )  [inline, protected]

Definition at line 47 of file Scaler.h.

References ScalerManager::AddScaler(), and ScalerManager::get_instance().

virtual Pentagram::Scaler::~Scaler (  )  [inline, virtual]

Definition at line 130 of file Scaler.h.


Member Function Documentation

bool Pentagram::Scaler::Scale ( Texture texture,
sint32  sx,
sint32  sy,
sint32  sw,
sint32  sh,
uint8 pixel,
sint32  dw,
sint32  dh,
sint32  pitch,
bool  clamp_src 
) const [inline]

Definition at line 65 of file Scaler.h.

References Texture::format, RenderSurface::format, Scale16Nat, Scale16Sta, Scale32_888A, Scale32_A888, Scale32Nat, Scale32Sta, ScaleArbitrary(), ScaleBits(), TEX_FMT_NATIVE, and TEX_FMT_STANDARD.

Referenced by SoftRenderSurface< uintX >::ScalerBlit().

virtual const bool Pentagram::Scaler::ScaleArbitrary (  )  const [pure virtual]

Implemented in Pentagram::_2xSaIScaler, Pentagram::Super2xSaIScaler, Pentagram::SuperEagleScaler, Pentagram::GC_2xSaIScaler, Pentagram::GC_Super2xSaIScaler, Pentagram::GC_SuperEagleScaler, Pentagram::BilinearScaler, Pentagram::GC_BilinearScaler, Pentagram::hq2xScaler, Pentagram::PointScaler, and Pentagram::Scale2xScaler.

Referenced by ScalerGump::DoScalerBlit(), and Scale().

virtual const uint32 Pentagram::Scaler::ScaleBits (  )  const [pure virtual]

Implemented in Pentagram::_2xSaIScaler, Pentagram::Super2xSaIScaler, Pentagram::SuperEagleScaler, Pentagram::GC_2xSaIScaler, Pentagram::GC_Super2xSaIScaler, Pentagram::GC_SuperEagleScaler, Pentagram::BilinearScaler, Pentagram::GC_BilinearScaler, Pentagram::hq2xScaler, Pentagram::PointScaler, and Pentagram::Scale2xScaler.

Referenced by Scale().

virtual const char* Pentagram::Scaler::ScalerCopyright (  )  const [pure virtual]

Implemented in Pentagram::_2xSaIScaler, Pentagram::Super2xSaIScaler, Pentagram::SuperEagleScaler, Pentagram::GC_2xSaIScaler, Pentagram::GC_Super2xSaIScaler, Pentagram::GC_SuperEagleScaler, Pentagram::BilinearScaler, Pentagram::GC_BilinearScaler, Pentagram::hq2xScaler, Pentagram::PointScaler, and Pentagram::Scale2xScaler.

Referenced by ScalerGump::SetupScalers().

virtual const char* Pentagram::Scaler::ScalerDesc (  )  const [pure virtual]

Implemented in Pentagram::_2xSaIScaler, Pentagram::Super2xSaIScaler, Pentagram::SuperEagleScaler, Pentagram::GC_2xSaIScaler, Pentagram::GC_Super2xSaIScaler, Pentagram::GC_SuperEagleScaler, Pentagram::BilinearScaler, Pentagram::GC_BilinearScaler, Pentagram::hq2xScaler, Pentagram::PointScaler, and Pentagram::Scale2xScaler.

Referenced by ScalerGump::SetupScalers().

virtual const char* Pentagram::Scaler::ScalerName (  )  const [pure virtual]

Implemented in Pentagram::_2xSaIScaler, Pentagram::Super2xSaIScaler, Pentagram::SuperEagleScaler, Pentagram::GC_2xSaIScaler, Pentagram::GC_Super2xSaIScaler, Pentagram::GC_SuperEagleScaler, Pentagram::BilinearScaler, Pentagram::GC_BilinearScaler, Pentagram::hq2xScaler, Pentagram::PointScaler, and Pentagram::Scale2xScaler.


Member Data Documentation

ScalerFunc Pentagram::Scaler::Scale16Nat [protected]

Definition at line 39 of file Scaler.h.

Referenced by Pentagram::_2xSaIScaler::_2xSaIScaler(), Pentagram::BilinearScaler::BilinearScaler(), Pentagram::GC_2xSaIScaler::GC_2xSaIScaler(), Pentagram::GC_BilinearScaler::GC_BilinearScaler(), Pentagram::GC_Super2xSaIScaler::GC_Super2xSaIScaler(), Pentagram::GC_SuperEagleScaler::GC_SuperEagleScaler(), Pentagram::hq2xScaler::hq2xScaler(), Pentagram::PointScaler::PointScaler(), Scale(), Pentagram::Scale2xScaler::Scale2xScaler(), Pentagram::Super2xSaIScaler::Super2xSaIScaler(), and Pentagram::SuperEagleScaler::SuperEagleScaler().

ScalerFunc Pentagram::Scaler::Scale16Sta [protected]

Definition at line 40 of file Scaler.h.

Referenced by Pentagram::_2xSaIScaler::_2xSaIScaler(), Pentagram::BilinearScaler::BilinearScaler(), Pentagram::GC_2xSaIScaler::GC_2xSaIScaler(), Pentagram::GC_BilinearScaler::GC_BilinearScaler(), Pentagram::GC_Super2xSaIScaler::GC_Super2xSaIScaler(), Pentagram::GC_SuperEagleScaler::GC_SuperEagleScaler(), Pentagram::hq2xScaler::hq2xScaler(), Pentagram::PointScaler::PointScaler(), Scale(), Pentagram::Scale2xScaler::Scale2xScaler(), Pentagram::Super2xSaIScaler::Super2xSaIScaler(), and Pentagram::SuperEagleScaler::SuperEagleScaler().

ScalerFunc Pentagram::Scaler::Scale32_888A [protected]

Definition at line 45 of file Scaler.h.

Referenced by Pentagram::_2xSaIScaler::_2xSaIScaler(), Pentagram::BilinearScaler::BilinearScaler(), Pentagram::GC_2xSaIScaler::GC_2xSaIScaler(), Pentagram::GC_BilinearScaler::GC_BilinearScaler(), Pentagram::GC_Super2xSaIScaler::GC_Super2xSaIScaler(), Pentagram::GC_SuperEagleScaler::GC_SuperEagleScaler(), Pentagram::hq2xScaler::hq2xScaler(), Pentagram::PointScaler::PointScaler(), Scale(), Pentagram::Scale2xScaler::Scale2xScaler(), Pentagram::Super2xSaIScaler::Super2xSaIScaler(), and Pentagram::SuperEagleScaler::SuperEagleScaler().

ScalerFunc Pentagram::Scaler::Scale32_A888 [protected]

Definition at line 44 of file Scaler.h.

Referenced by Pentagram::_2xSaIScaler::_2xSaIScaler(), Pentagram::BilinearScaler::BilinearScaler(), Pentagram::GC_2xSaIScaler::GC_2xSaIScaler(), Pentagram::GC_BilinearScaler::GC_BilinearScaler(), Pentagram::GC_Super2xSaIScaler::GC_Super2xSaIScaler(), Pentagram::GC_SuperEagleScaler::GC_SuperEagleScaler(), Pentagram::hq2xScaler::hq2xScaler(), Pentagram::PointScaler::PointScaler(), Scale(), Pentagram::Scale2xScaler::Scale2xScaler(), Pentagram::Super2xSaIScaler::Super2xSaIScaler(), and Pentagram::SuperEagleScaler::SuperEagleScaler().

ScalerFunc Pentagram::Scaler::Scale32Nat [protected]

Definition at line 42 of file Scaler.h.

Referenced by Pentagram::_2xSaIScaler::_2xSaIScaler(), Pentagram::BilinearScaler::BilinearScaler(), Pentagram::GC_2xSaIScaler::GC_2xSaIScaler(), Pentagram::GC_BilinearScaler::GC_BilinearScaler(), Pentagram::GC_Super2xSaIScaler::GC_Super2xSaIScaler(), Pentagram::GC_SuperEagleScaler::GC_SuperEagleScaler(), Pentagram::hq2xScaler::hq2xScaler(), Pentagram::PointScaler::PointScaler(), Scale(), Pentagram::Scale2xScaler::Scale2xScaler(), Pentagram::Super2xSaIScaler::Super2xSaIScaler(), and Pentagram::SuperEagleScaler::SuperEagleScaler().

ScalerFunc Pentagram::Scaler::Scale32Sta [protected]

Definition at line 43 of file Scaler.h.

Referenced by Pentagram::_2xSaIScaler::_2xSaIScaler(), Pentagram::BilinearScaler::BilinearScaler(), Pentagram::GC_2xSaIScaler::GC_2xSaIScaler(), Pentagram::GC_BilinearScaler::GC_BilinearScaler(), Pentagram::GC_Super2xSaIScaler::GC_Super2xSaIScaler(), Pentagram::GC_SuperEagleScaler::GC_SuperEagleScaler(), Pentagram::hq2xScaler::hq2xScaler(), Pentagram::PointScaler::PointScaler(), Scale(), Pentagram::Scale2xScaler::Scale2xScaler(), Pentagram::Super2xSaIScaler::Super2xSaIScaler(), and Pentagram::SuperEagleScaler::SuperEagleScaler().


The documentation for this class was generated from the following file:
Generated on Fri Jul 27 22:30:31 2007 for pentagram by  doxygen 1.4.7