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

#include "murl_util_video_surface.h"

Inheritance diagram for Murl::Util::VideoSurface:

Public Member Functions

 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).
 
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).
 
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).
 
virtual IVideoSurfaceCloneRotated (IEnums::Orientation orientation) const
 Implementation of IVideoSurface::CloneRotated(IEnums::Orientation orientation).
 
virtual IVideoSurfaceCloneRotated (IEnums::Orientation orientation, IEnums::PixelFormat pixelFormat) const
 Implementation of IVideoSurface::CloneRotated(IEnums::Orientation orientation, IEnums::PixelFormat pixelFormat).
 
virtual IVideoSurfaceCloneFrame (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY) const
 Implementation of IVideoSurface::CloneFrame().
 
virtual UInt32 GetPixelSizeX () const
 Implementation of IVideoSurface::GetPixelSizeX().
 
virtual UInt32 GetPixelSizeY () const
 Implementation of IVideoSurface::GetPixelSizeY().
 
virtual UInt32 GetBytesPerPixel () const
 Implementation of IVideoSurface::GetBytesPerPixel().
 
virtual UInt32 GetBytesPerLine () const
 Implementation of IVideoSurface::GetBytesPerLine().
 
virtual IEnums::PixelFormat GetPixelFormat () const
 Implementation of IVideoSurface::GetPixelFormat().
 
virtual const ConstDataGetPixels () const
 Implementation of IVideoSurface::GetPixels().
 
virtual const MutableDataGetMutablePixels ()
 Implementation of IVideoSurface::GetMutablePixels().
 
virtual Color GetPixel (SInt32 positionX, SInt32 positionY) const
 Implementation of IVideoSurface::GetPixel().
 
virtual Bool SetPixel (SInt32 positionX, SInt32 positionY, const Color &color)
 Implementation of IVideoSurface::SetPixel().
 
virtual Bool FlipX ()
 Implementation of IVideoSurface::FlipX().
 
virtual Bool FlipY ()
 Implementation of IVideoSurface::FlipY().
 
virtual Bool Blit (const IVideoSurface *source, SInt32 destPositionX, SInt32 destPositionY)
 Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 destPositionX, SInt32 destPositionY).
 
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).
 
virtual Bool BlitScaled (const IVideoSurface *source, const IVideoScaler *scaler=0, Real gamma=1.0f)
 Implementation of IVideoSurface::BlitScaled().
 
virtual Bool Clear (const Color &clearColor)
 Implementation of IVideoSurface::Clear(const Color& clearColor).
 
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).
 
virtual Bool GaussBlur (Real strength)
 Implementation of IVideoSurface::GaussBlur(Real strength).
 
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).
 
virtual Bool ApplyMatte (const Color &matteColor, Real matteThreshold=0)
 Implementation of IVideoSurface::ApplyMatte(const Color& matteColor, Real matteThreshold = 0).
 
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).
 
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().
 
virtual Bool IsColumnEmpty (UInt32 column, Real threshold) const
 Implementation of IVideoSurface::IsColumnEmpty().
 
virtual Bool IsRowEmpty (UInt32 row, Real threshold) const
 Implementation of IVideoSurface::IsRowEmpty().
 
virtual SInt32 ClipSizeXRight (SInt32 positionX, SInt32 sizeX) const
 Implementation of IVideoSurface::ClipSizeXRight().
 
virtual SInt32 ClipSizeYBottom (SInt32 positionY, SInt32 sizeY) const
 Implementation of IVideoSurface::ClipSizeYBottom().
 
virtual Bool Evict ()
 Implementation of IVideoSurface::Evict().
 
virtual Bool Restore ()
 Implementation of IVideoSurface::Restore().
 
- Public Member Functions inherited from Murl::IVideoSurface
virtual ~IVideoSurface ()
 The destructor.
 

Protected Attributes

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 video surface class, see IVideoSurface.

Constructor & Destructor Documentation

◆ VideoSurface() [1/9]

Murl::Util::VideoSurface::VideoSurface ( )

The default constructor.

Create an empty surface with unknown pixel format.

◆ VideoSurface() [2/9]

Murl::Util::VideoSurface::VideoSurface ( 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.

◆ VideoSurface() [3/9]

Murl::Util::VideoSurface::VideoSurface ( UInt32  pixelSizeX,
UInt32  pixelSizeY,
UInt32  bytesPerLine 
)

Constructor creating a surface of specified dimension, with given line pitch.

Creates a surface with pixel format IEnums::PIXEL_FORMAT_R8_G8_B8_A8.

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

◆ VideoSurface() [4/9]

Murl::Util::VideoSurface::VideoSurface ( 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.

◆ VideoSurface() [5/9]

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

Constructor creating a surface of specified pixel format and dimension, with given line pitch.

Parameters
pixelFormatThe pixel format.
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.
bytesPerLineThe line pitch in bytes.

◆ VideoSurface() [6/9]

Murl::Util::VideoSurface::VideoSurface ( IEnums::PixelFormat  pixelFormat,
UInt32  pixelSizeX,
UInt32  pixelSizeY,
MutableData sourceData 
)

Constructor creating a surface of specified pixel format and dimension with given source data.

This constructor can be used to create a surface effectively wrapping a given block of mutable data without copying the source contents.

Parameters
pixelFormatThe pixel format.
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.
sourceDataThe mutable data block to be wrapped.

◆ VideoSurface() [7/9]

Murl::Util::VideoSurface::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.

This constructor can be used to create a surface effectively wrapping a given block of mutable data without copying the source contents, using a given line pitch.

Parameters
pixelFormatThe pixel format.
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.
bytesPerLineThe line pitch in bytes.
sourceDataThe mutable data block to be wrapped.

◆ VideoSurface() [8/9]

Murl::Util::VideoSurface::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.

This constructor can be used to create a surface effectively wrapping a given block of constant data without copying the source contents.

Parameters
pixelFormatThe pixel format.
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.
sourceDataThe constant data block to be wrapped.

◆ VideoSurface() [9/9]

Murl::Util::VideoSurface::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.

This constructor can be used to create a surface effectively wrapping a given block of constant data without copying the source contents, using a given line pitch.

Parameters
pixelFormatThe pixel format.
pixelSizeXThe number of horizontal pixels.
pixelSizeYThe number of vertical pixels.
bytesPerLineThe line pitch in bytes.
sourceDataThe constant data block to be wrapped.

Member Data Documentation

◆ mSizeX

UInt32 Murl::Util::VideoSurface::mSizeX
protected

The pixel width.

◆ mSizeY

UInt32 Murl::Util::VideoSurface::mSizeY
protected

The pixel height.

◆ mPixelFormat

IEnums::PixelFormat Murl::Util::VideoSurface::mPixelFormat
protected

The pixel format.

◆ mBytesPerLine

UInt32 Murl::Util::VideoSurface::mBytesPerLine
protected

The number of bytes per line.

◆ mData

Data Murl::Util::VideoSurface::mData
protected

The own surface data, if specified via constructor.

◆ mConstData

ConstData Murl::Util::VideoSurface::mConstData
protected

The actually visible constant surface data store.

◆ mMutableData

MutableData Murl::Util::VideoSurface::mMutableData
protected

The actually visible mutable surface data store, if possible.


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


Copyright © 2011-2018 Spraylight GmbH.