Murl::Util::EvictableVideoSurface Class Reference

The evictable video surface class, see IVideoSurface. More...

#include "murl_util_evictable_video_surface.h"

Inheritance diagram for Murl::Util::EvictableVideoSurface:

Public Member Functions

 EvictableVideoSurface (UInt32 pixelSizeX, UInt32 pixelSizeY)
 Constructor creating a surface of specified dimension. More...
 
 EvictableVideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY)
 Constructor creating a surface of specified pixel format and dimension. More...
 
virtual ~EvictableVideoSurface ()
 The destructor.
 
virtual const MutableDataGetMutablePixels ()
 Implementation of IVideoSurface::GetMutablePixels(). More...
 
virtual Bool Evict ()
 Implementation of IVideoSurface::Evict(). More...
 
virtual Bool Restore ()
 Implementation of IVideoSurface::Restore(). More...
 
virtual Bool FlipX ()
 Implementation of IVideoSurface::FlipX(). More...
 
virtual Bool FlipY ()
 Implementation of IVideoSurface::FlipY(). More...
 
virtual Bool Blit (const IVideoSurface *source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY)
 Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY). More...
 
virtual Bool BlitScaled (const IVideoSurface *source, const IVideoScaler *scaler=0, Real gamma=1.0f)
 Implementation of IVideoSurface::BlitScaled(). More...
 
virtual Bool Clear (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color &clearColor)
 Implementation of IVideoSurface::Clear(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& clearColor). More...
 
virtual Bool GaussBlur (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength)
 Implementation of IVideoSurface::GaussBlur(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength). More...
 
virtual Bool ApplyMatte (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color &matteColor, Real matteThreshold=0)
 Implementation of IVideoSurface::ApplyMatte(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& matteColor, Real matteThreshold = 0). More...
 
virtual Bool RenderText (const IFont *font, const String &text, const Color &textColor, const Color &backgroundColor, Bool clearSurface, Bool enableWordWrap, Real containerPosX, Real containerPosY, Real containerSizeX, Real containerSizeY, IEnums::TextAlignmentX alignX, IEnums::TextAlignmentY alignY)
 Implementation of IVideoSurface::RenderText(). More...
 
- Public Member Functions inherited from Murl::Util::VideoSurface
 VideoSurface ()
 The default constructor. More...
 
 VideoSurface (UInt32 pixelSizeX, UInt32 pixelSizeY)
 Constructor creating a surface of specified dimension. More...
 
 VideoSurface (UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 bytesPerLine)
 Constructor creating a surface of specified dimension, with given line pitch. More...
 
 VideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY)
 Constructor creating a surface of specified pixel format and dimension. More...
 
 VideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 bytesPerLine)
 Constructor creating a surface of specified pixel format and dimension, with given line pitch. More...
 
 VideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, MutableData &sourceData)
 Constructor creating a surface of specified pixel format and dimension with given source data. More...
 
 VideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 bytesPerLine, MutableData &sourceData)
 Constructor creating a surface of specified pixel format and dimension with given source data. More...
 
 VideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, const ConstData &sourceData)
 Constructor creating a surface of specified pixel format and dimension with given source data. More...
 
 VideoSurface (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 bytesPerLine, const ConstData &sourceData)
 Constructor creating a surface of specified pixel format and dimension with given source data. More...
 
virtual ~VideoSurface ()
 The destructor.
 
virtual IVideoSurfaceClone (IEnums::PixelFormat pixelFormat) const
 Implementation of IVideoSurface::Clone(IEnums::PixelFormat pixelFormat). More...
 
virtual IVideoSurfaceClone (UInt32 pixelSizeX, UInt32 pixelSizeY, const IVideoScaler *scaler=0, Real gamma=1.0f) const
 Implementation of IVideoSurface::Clone(IEnums::PixelFormat pixelFormat, const IVideoScaler* scaler = 0). More...
 
virtual IVideoSurfaceClone (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, const IVideoScaler *scaler=0, Real gamma=1.0f) const
 Implementation of IVideoSurface::Clone(IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, const IVideoScaler* scaler). More...
 
virtual IVideoSurfaceCloneRotated (IEnums::Orientation orientation) const
 Implementation of IVideoSurface::CloneRotated(IEnums::Orientation orientation). More...
 
virtual IVideoSurfaceCloneRotated (IEnums::Orientation orientation, IEnums::PixelFormat pixelFormat) const
 Implementation of IVideoSurface::CloneRotated(IEnums::Orientation orientation, IEnums::PixelFormat pixelFormat). More...
 
virtual IVideoSurfaceCloneFrame (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY) const
 Implementation of IVideoSurface::CloneFrame(). More...
 
virtual UInt32 GetPixelSizeX () const
 Implementation of IVideoSurface::GetPixelSizeX(). More...
 
virtual UInt32 GetPixelSizeY () const
 Implementation of IVideoSurface::GetPixelSizeY(). More...
 
virtual UInt32 GetBytesPerPixel () const
 Implementation of IVideoSurface::GetBytesPerPixel(). More...
 
virtual UInt32 GetBytesPerLine () const
 Implementation of IVideoSurface::GetBytesPerLine(). More...
 
virtual IEnums::PixelFormat GetPixelFormat () const
 Implementation of IVideoSurface::GetPixelFormat(). More...
 
virtual const ConstDataGetPixels () const
 Implementation of IVideoSurface::GetPixels(). More...
 
virtual Color GetPixel (SInt32 positionX, SInt32 positionY) const
 Implementation of IVideoSurface::GetPixel(). More...
 
virtual Bool SetPixel (SInt32 positionX, SInt32 positionY, const Color &color)
 Implementation of IVideoSurface::SetPixel(). More...
 
virtual Bool Blit (const IVideoSurface *source, SInt32 destPositionX, SInt32 destPositionY)
 Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 destPositionX, SInt32 destPositionY). More...
 
virtual Bool Clear (const Color &clearColor)
 Implementation of IVideoSurface::Clear(const Color& clearColor). More...
 
virtual Bool GaussBlur (Real strength)
 Implementation of IVideoSurface::GaussBlur(Real strength). More...
 
virtual Bool ApplyMatte (const Color &matteColor, Real matteThreshold=0)
 Implementation of IVideoSurface::ApplyMatte(const Color& matteColor, Real matteThreshold = 0). More...
 
virtual Bool IsColumnEmpty (UInt32 column, Real threshold) const
 Implementation of IVideoSurface::IsColumnEmpty(). More...
 
virtual Bool IsRowEmpty (UInt32 row, Real threshold) const
 Implementation of IVideoSurface::IsRowEmpty(). More...
 
virtual SInt32 ClipSizeXRight (SInt32 positionX, SInt32 sizeX) const
 Implementation of IVideoSurface::ClipSizeXRight(). More...
 
virtual SInt32 ClipSizeYBottom (SInt32 positionY, SInt32 sizeY) const
 Implementation of IVideoSurface::ClipSizeYBottom(). More...
 
- Public Member Functions inherited from Murl::IVideoSurface
virtual ~IVideoSurface ()
 The destructor.
 

Additional Inherited Members

- Protected Attributes inherited from Murl::Util::VideoSurface
UInt32 mSizeX
 The pixel width. More...
 
UInt32 mSizeY
 The pixel height. More...
 
IEnums::PixelFormat mPixelFormat
 The pixel format. More...
 
UInt32 mBytesPerLine
 The number of bytes per line. More...
 
Data mData
 The own surface data, if specified via constructor. More...
 
ConstData mConstData
 The actually visible constant surface data store. More...
 
MutableData mMutableData
 The actually visible mutable surface data store, if possible. More...
 

Detailed Description

The evictable video surface class, see IVideoSurface.

Constructor & Destructor Documentation

◆ EvictableVideoSurface() [1/2]

Murl::Util::EvictableVideoSurface::EvictableVideoSurface ( UInt32  pixelSizeX,
UInt32  pixelSizeY 
)

Constructor creating a surface of specified dimension.

Creates a surface with pixel format IEnums::PIXEL_FORMAT_R8_G8_B8_A8.

Parameters
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.

◆ EvictableVideoSurface() [2/2]

Murl::Util::EvictableVideoSurface::EvictableVideoSurface ( IEnums::PixelFormat  pixelFormat,
UInt32  pixelSizeX,
UInt32  pixelSizeY 
)

Constructor creating a surface of specified pixel format and dimension.

Parameters
pixelFormatThe pixel format.
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.

Member Function Documentation

◆ GetMutablePixels()

virtual const MutableData& Murl::Util::EvictableVideoSurface::GetMutablePixels ( )
virtual

Implementation of IVideoSurface::GetMutablePixels().

Returns
The mutable data object which is holding the pixels.

Reimplemented from Murl::Util::VideoSurface.

◆ Evict()

virtual Bool Murl::Util::EvictableVideoSurface::Evict ( )
virtual

Implementation of IVideoSurface::Evict().

Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ Restore()

virtual Bool Murl::Util::EvictableVideoSurface::Restore ( )
virtual

Implementation of IVideoSurface::Restore().

Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ FlipX()

virtual Bool Murl::Util::EvictableVideoSurface::FlipX ( )
virtual

Implementation of IVideoSurface::FlipX().

Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ FlipY()

virtual Bool Murl::Util::EvictableVideoSurface::FlipY ( )
virtual

Implementation of IVideoSurface::FlipY().

Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ Blit()

virtual Bool Murl::Util::EvictableVideoSurface::Blit ( const IVideoSurface source,
SInt32  sourcePositionX,
SInt32  sourcePositionY,
SInt32  destPositionX,
SInt32  destPositionY,
UInt32  pixelSizeX,
UInt32  pixelSizeY 
)
virtual

Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY).

Parameters
sourceThe source surface.
sourcePositionXThe source x-position.
sourcePositionYThe source y-position.
destPositionXThe destination x-position.
destPositionYThe destination y-position.
pixelSizeXThe number of horizontal pixels to copy.
pixelSizeYThe number of vertical pixels to copy.
Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ BlitScaled()

virtual Bool Murl::Util::EvictableVideoSurface::BlitScaled ( const IVideoSurface source,
const IVideoScaler scaler = 0,
Real  gamma = 1.0f 
)
virtual

Implementation of IVideoSurface::BlitScaled().

Parameters
sourceThe source surface.
scalerPointer to a scaler object or null to scale using the BoxVideoScaler.
gammaThe gamma value used during scaling.
Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ Clear()

virtual Bool Murl::Util::EvictableVideoSurface::Clear ( SInt32  positionX,
SInt32  positionY,
UInt32  pixelSizeX,
UInt32  pixelSizeY,
const Color clearColor 
)
virtual

Implementation of IVideoSurface::Clear(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& clearColor).

Parameters
positionXThe source x-position of the region.
positionYThe source y-position of the region.
pixelSizeXThe number of horizontal pixels of the region.
pixelSizeYThe number of vertical pixels of the region.
clearColorThe clear color to apply.
Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ GaussBlur()

virtual Bool Murl::Util::EvictableVideoSurface::GaussBlur ( SInt32  positionX,
SInt32  positionY,
UInt32  pixelSizeX,
UInt32  pixelSizeY,
Real  strength 
)
virtual

Implementation of IVideoSurface::GaussBlur(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength).

Parameters
positionXThe x-position of the region.
positionYThe y-position of the region.
pixelSizeXThe number of horizontal pixels of the region.
pixelSizeYThe number of vertical pixels of the region.
strengthThe blur filter strength.
Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ ApplyMatte()

virtual Bool Murl::Util::EvictableVideoSurface::ApplyMatte ( SInt32  positionX,
SInt32  positionY,
UInt32  pixelSizeX,
UInt32  pixelSizeY,
const Color matteColor,
Real  matteThreshold = 0 
)
virtual

Implementation of IVideoSurface::ApplyMatte(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& matteColor, Real matteThreshold = 0).

Parameters
positionXThe source x-position of the region.
positionYThe source y-position of the region.
pixelSizeXThe number of horizontal pixels of the region.
pixelSizeYThe number of vertical pixels of the region.
matteColorThe matte color to apply.
matteThresholdThe alpha threshold in range [0.0 .. 1.0].
Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.

◆ RenderText()

virtual Bool Murl::Util::EvictableVideoSurface::RenderText ( const IFont font,
const String text,
const Color textColor,
const Color backgroundColor,
Bool  clearSurface,
Bool  enableWordWrap,
Real  containerPosX,
Real  containerPosY,
Real  containerSizeX,
Real  containerSizeY,
IEnums::TextAlignmentX  alignX,
IEnums::TextAlignmentY  alignY 
)
virtual

Implementation of IVideoSurface::RenderText().

Parameters
fontThe font used for rendering.
textThe text to render.
textColorThe text color to render.
backgroundColorThe text background color to render.
clearSurfaceIf true, the output surface is cleared before rendering.
enableWordWrapIf true, word wrapping is enabled.
containerPosXThe horizontal text position in the video stream.
containerPosYThe vertical text position in the video stream.
containerSizeXThe horizontal size of the text rectangle, or 0 if the video stream's X size should be used
containerSizeYThe vertical size of the text rectangle, or 0 if the video stream's Y size should be used
alignXThe horizontal text alignment.
alignYThe vertical text alignment.
Returns
true if successful.

Reimplemented from Murl::Util::VideoSurface.


The documentation for this class was generated from the following file:
  • murl_util_evictable_video_surface.h


Copyright © 2011-2018 Spraylight GmbH.