The evictable video surface class, see IVideoSurface. More...
#include "murl_util_evictable_video_surface.h"
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... | |
~EvictableVideoSurface () override | |
The destructor. | |
const MutableData & | GetMutablePixels () override |
Implementation of IVideoSurface::GetMutablePixels(). More... | |
Bool | Evict () override |
Implementation of IVideoSurface::Evict(). More... | |
Bool | Restore () override |
Implementation of IVideoSurface::Restore(). More... | |
Bool | FlipX () override |
Implementation of IVideoSurface::FlipX(). More... | |
Bool | FlipY () override |
Implementation of IVideoSurface::FlipY(). More... | |
Bool | Blit (const IVideoSurface *source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY) override |
Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY). More... | |
Bool | BlitScaled (const IVideoSurface *source, const IVideoScaler *scaler=nullptr, Real gamma=1.0f) override |
Implementation of IVideoSurface::BlitScaled(). More... | |
Bool | Clear (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color &clearColor) override |
Implementation of IVideoSurface::Clear(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& clearColor). More... | |
Bool | GaussBlur (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength) override |
Implementation of IVideoSurface::GaussBlur(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength). More... | |
Bool | Dither (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits) override |
Implementation of IVideoSurface::Dither(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits). More... | |
Bool | ApplyMatteFringe (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 matteFringe, Real matteThreshold=0) override |
Implementation of IVideoSurface::ApplyMatteFringe(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 matteFringe, Real matteThreshold = 0). More... | |
Bool | ApplyMatteColor (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color &matteColor, Real matteThreshold=0) override |
Implementation of IVideoSurface::ApplyMatteColor(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& matteColor, Real matteThreshold = 0). More... | |
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) override |
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... | |
~VideoSurface () override | |
The destructor. | |
IVideoSurface * | Clone (IEnums::PixelFormat pixelFormat) const override |
Implementation of IVideoSurface::Clone(IEnums::PixelFormat pixelFormat). More... | |
IVideoSurface * | Clone (UInt32 pixelSizeX, UInt32 pixelSizeY, const IVideoScaler *scaler=nullptr, Real gamma=1.0f) const override |
Implementation of IVideoSurface::Clone(IEnums::PixelFormat pixelFormat, const IVideoScaler* scaler = 0). More... | |
IVideoSurface * | Clone (IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, const IVideoScaler *scaler=nullptr, Real gamma=1.0f) const override |
Implementation of IVideoSurface::Clone(IEnums::PixelFormat pixelFormat, UInt32 pixelSizeX, UInt32 pixelSizeY, const IVideoScaler* scaler). More... | |
IVideoSurface * | CloneRotated (IEnums::Orientation orientation) const override |
Implementation of IVideoSurface::CloneRotated(IEnums::Orientation orientation). More... | |
IVideoSurface * | CloneRotated (IEnums::Orientation orientation, IEnums::PixelFormat pixelFormat) const override |
Implementation of IVideoSurface::CloneRotated(IEnums::Orientation orientation, IEnums::PixelFormat pixelFormat). More... | |
IVideoSurface * | CloneFrame (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY) const override |
Implementation of IVideoSurface::CloneFrame(). More... | |
UInt32 | GetPixelSizeX () const override |
Implementation of IVideoSurface::GetPixelSizeX(). More... | |
UInt32 | GetPixelSizeY () const override |
Implementation of IVideoSurface::GetPixelSizeY(). More... | |
UInt32 | GetBytesPerPixel () const override |
Implementation of IVideoSurface::GetBytesPerPixel(). More... | |
UInt32 | GetBytesPerLine () const override |
Implementation of IVideoSurface::GetBytesPerLine(). More... | |
IEnums::PixelFormat | GetPixelFormat () const override |
Implementation of IVideoSurface::GetPixelFormat(). More... | |
const ConstData & | GetPixels () const override |
Implementation of IVideoSurface::GetPixels(). More... | |
const MutableData & | GetMutablePixels () override |
Implementation of IVideoSurface::GetMutablePixels(). More... | |
Color | GetPixel (SInt32 positionX, SInt32 positionY) const override |
Implementation of IVideoSurface::GetPixel(). More... | |
Bool | SetPixel (SInt32 positionX, SInt32 positionY, const Color &color) override |
Implementation of IVideoSurface::SetPixel(). More... | |
Bool | FlipX () override |
Implementation of IVideoSurface::FlipX(). More... | |
Bool | FlipY () override |
Implementation of IVideoSurface::FlipY(). More... | |
Bool | Blit (const IVideoSurface *source, SInt32 destPositionX, SInt32 destPositionY) override |
Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 destPositionX, SInt32 destPositionY). More... | |
Bool | Blit (const IVideoSurface *source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY) override |
Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY). More... | |
Bool | BlitScaled (const IVideoSurface *source, const IVideoScaler *scaler=nullptr, Real gamma=1.0f) override |
Implementation of IVideoSurface::BlitScaled(). More... | |
Bool | Clear (const Color &clearColor) override |
Implementation of IVideoSurface::Clear(const Color& clearColor). More... | |
Bool | Clear (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color &clearColor) override |
Implementation of IVideoSurface::Clear(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& clearColor). More... | |
Bool | GaussBlur (Real strength) override |
Implementation of IVideoSurface::GaussBlur(Real strength). More... | |
Bool | GaussBlur (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength) override |
Implementation of IVideoSurface::GaussBlur(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength). More... | |
Bool | Dither (UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits) override |
Implementation of IVideoSurface::Dither(UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits). More... | |
Bool | Dither (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits) override |
Implementation of IVideoSurface::Dither(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits). More... | |
Bool | ApplyMatteFringe (UInt32 matteFringe, Real matteThreshold=0) override |
Implementation of IVideoSurface::ApplyMatteFringe(const Color& matteColor, Real matteThreshold = 0). More... | |
Bool | ApplyMatteFringe (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 matteFringe, Real matteThreshold=0) override |
Implementation of IVideoSurface::ApplyMatteFringe(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& matteColor, Real matteThreshold = 0). More... | |
Bool | ApplyMatteColor (const Color &matteColor, Real matteThreshold=0) override |
Implementation of IVideoSurface::ApplyMatteColor(const Color& matteColor, Real matteThreshold = 0). More... | |
Bool | ApplyMatteColor (SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color &matteColor, Real matteThreshold=0) override |
Implementation of IVideoSurface::ApplyMatteColor(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& matteColor, Real matteThreshold = 0). More... | |
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) override |
Implementation of IVideoSurface::RenderText(). More... | |
Bool | IsColumnEmpty (UInt32 column, Real threshold) const override |
Implementation of IVideoSurface::IsColumnEmpty(). More... | |
Bool | IsRowEmpty (UInt32 row, Real threshold) const override |
Implementation of IVideoSurface::IsRowEmpty(). More... | |
SInt32 | ClipSizeXRight (SInt32 positionX, SInt32 sizeX) const override |
Implementation of IVideoSurface::ClipSizeXRight(). More... | |
SInt32 | ClipSizeYBottom (SInt32 positionY, SInt32 sizeY) const override |
Implementation of IVideoSurface::ClipSizeYBottom(). More... | |
Bool | Evict () override |
Implementation of IVideoSurface::Evict(). More... | |
Bool | Restore () override |
Implementation of IVideoSurface::Restore(). More... | |
void | CollectObjectStatistics (IObjectStatistics *stat) const override |
Implementation of IStatisticsObject::CollectObjectStatistics(). More... | |
Public Member Functions inherited from Murl::IVideoSurface | |
~IVideoSurface () override | |
The destructor. | |
Public Member Functions inherited from Murl::NonCopyable | |
NonCopyable ()=default | |
The default constructor. | |
Additional Inherited Members | |
Protected Attributes inherited from Murl::Util::VideoSurface | |
UInt32 | mSizeX |
The pixel width. | |
UInt32 | mSizeY |
The pixel height. | |
IEnums::PixelFormat | mPixelFormat |
The pixel format. | |
UInt32 | mBytesPerLine |
The number of bytes per line. | |
Data | mData |
The own surface data, if specified via constructor. | |
ConstData | mConstData |
The actually visible constant surface data store. | |
MutableData | mMutableData |
The actually visible mutable surface data store, if possible. | |
Detailed Description
The evictable video surface class, see IVideoSurface.
Constructor & Destructor Documentation
◆ EvictableVideoSurface() [1/2]
Constructor creating a surface of specified dimension.
Creates a surface with pixel format IEnums::PIXEL_FORMAT_R8_G8_B8_A8.
- Parameters
-
pixelSizeX The number of horizontal pixels. pixelSizeY The 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
-
pixelFormat The pixel format. pixelSizeX The number of horizontal pixels. pixelSizeY The number of vertical pixels.
Member Function Documentation
◆ GetMutablePixels()
|
overridevirtual |
Implementation of IVideoSurface::GetMutablePixels().
- Returns
- The mutable data object which is holding the pixels.
Implements Murl::IVideoSurface.
◆ Evict()
|
overridevirtual |
Implementation of IVideoSurface::Evict().
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ Restore()
|
overridevirtual |
Implementation of IVideoSurface::Restore().
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ FlipX()
|
overridevirtual |
Implementation of IVideoSurface::FlipX().
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ FlipY()
|
overridevirtual |
Implementation of IVideoSurface::FlipY().
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ Blit()
|
overridevirtual |
Implementation of IVideoSurface::Blit(const IVideoSurface* source, SInt32 sourcePositionX, SInt32 sourcePositionY, SInt32 destPositionX, SInt32 destPositionY, UInt32 pixelSizeX, UInt32 pixelSizeY).
- Parameters
-
source The source surface. sourcePositionX The source x-position. sourcePositionY The source y-position. destPositionX The destination x-position. destPositionY The destination y-position. pixelSizeX The number of horizontal pixels to copy. pixelSizeY The number of vertical pixels to copy.
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ BlitScaled()
|
overridevirtual |
Implementation of IVideoSurface::BlitScaled().
- Parameters
-
source The source surface. scaler Pointer to a scaler object or null to scale using the BoxVideoScaler. gamma The gamma value used during scaling.
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ Clear()
|
overridevirtual |
Implementation of IVideoSurface::Clear(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& clearColor).
- Parameters
-
positionX The source x-position of the region. positionY The source y-position of the region. pixelSizeX The number of horizontal pixels of the region. pixelSizeY The number of vertical pixels of the region. clearColor The clear color to apply.
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ GaussBlur()
|
overridevirtual |
Implementation of IVideoSurface::GaussBlur(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, Real strength).
- Parameters
-
positionX The x-position of the region. positionY The y-position of the region. pixelSizeX The number of horizontal pixels of the region. pixelSizeY The number of vertical pixels of the region. strength The blur filter strength.
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ Dither()
|
overridevirtual |
Implementation of IVideoSurface::Dither(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 redBits, UInt32 greenBits, UInt32 blueBits, UInt32 alphaBits).
- Parameters
-
positionX The x-position of the region. positionY The y-position of the region. pixelSizeX The number of horizontal pixels of the region. pixelSizeY The number of vertical pixels of the region. redBits The number of significant bits for the red component. greenBits The number of significant bits for the green component. blueBits The number of significant bits for the blue component. alphaBits The number of significant bits for the alpha component.
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ ApplyMatteFringe()
|
overridevirtual |
Implementation of IVideoSurface::ApplyMatteFringe(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, UInt32 matteFringe, Real matteThreshold = 0).
- Parameters
-
positionX The source x-position of the region. positionY The source y-position of the region. pixelSizeX The number of horizontal pixels of the region. pixelSizeY The number of vertical pixels of the region. matteFringe The matte fringe size to apply. matteThreshold The alpha threshold in range [0.0 .. 1.0].
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ ApplyMatteColor()
|
overridevirtual |
Implementation of IVideoSurface::ApplyMatteColor(SInt32 positionX, SInt32 positionY, UInt32 pixelSizeX, UInt32 pixelSizeY, const Color& matteColor, Real matteThreshold = 0).
- Parameters
-
positionX The source x-position of the region. positionY The source y-position of the region. pixelSizeX The number of horizontal pixels of the region. pixelSizeY The number of vertical pixels of the region. matteColor The matte color to apply. matteThreshold The alpha threshold in range [0.0 .. 1.0].
- Returns
- true if successful.
Implements Murl::IVideoSurface.
◆ RenderText()
|
overridevirtual |
Implementation of IVideoSurface::RenderText().
- Parameters
-
font The font used for rendering. text The text to render. textColor The text color to render. backgroundColor The text background color to render. clearSurface If true, the output surface is cleared before rendering. enableWordWrap If true, word wrapping is enabled. containerPosX The horizontal text position in the video stream. containerPosY The vertical text position in the video stream. containerSizeX The horizontal size of the text rectangle, or 0 if the video stream's X size should be used containerSizeY The vertical size of the text rectangle, or 0 if the video stream's Y size should be used alignX The horizontal text alignment. alignY The vertical text alignment.
- Returns
- true if successful.
Implements Murl::IVideoSurface.
The documentation for this class was generated from the following file:
- murl_util_evictable_video_surface.h