uicore::CursorDescription Class Reference

This class contains everything to construct a cursor - its data, default settings etc. More...

#include <cursor_description.h>

Public Member Functions

 CursorDescription ()
 Constructs a cursor description. More...
 
 CursorDescription (const CursorDescription &copy)
 Constructs a CursorDescription. More...
 
 ~CursorDescription ()
 
void add_alphaclipped_frames (const PixelBufferPtr &pixelbuffer, int xpos=0, int ypos=0, float trans_limit=0.05f)
 Adds images separated with pure alpha (within trans_limit). More...
 
void add_alphaclipped_frames_free (const PixelBufferPtr &pixelbuffer, int xpos=0, int ypos=0, float trans_limit=0.05f)
 Adds images separated with pure alpha (within trans_limit). More...
 
void add_frame (const PixelBufferPtr &pixelbuffer)
 Adds a single image. More...
 
void add_frame (const std::string &filename, const ImageImportDescription &import_desc=ImageImportDescription())
 Add frame. More...
 
void add_frame (const IODevicePtr &file, const std::string &image_type, const ImageImportDescription &import_desc=ImageImportDescription())
 Add frame. More...
 
void add_gridclipped_frames (const PixelBufferPtr &pixelbuffer, int xpos, int ypos, int width, int height, int xarray=1, int yarray=1, int array_skipframes=0, int xspacing=0, int yspacing=0)
 Adds images formed in a grid. More...
 
const std::vector< CursorDescriptionFrame > & frames () const
 Returns a list over all available frames. More...
 
Point hotspot () const
 the offset of where the cursor is drawn relative to cursor image More...
 
bool operator!= (const CursorDescription &that) const
 
bool operator< (const CursorDescription &that) const
 
bool operator<= (const CursorDescription &that) const
 
CursorDescriptionoperator= (const CursorDescription &copy)
 Copy assignment operator. More...
 
bool operator== (const CursorDescription &that) const
 
bool operator> (const CursorDescription &that) const
 
bool operator>= (const CursorDescription &that) const
 
void set_frame_delay (int frame, double delay)
 Sets the duration this frame is displayed, in seconds. More...
 
void set_hotspot (const Point &hotspot)
 Sets the offset of where the cursor is drawn relative to the cursor image. More...
 

Detailed Description

This class contains everything to construct a cursor - its data, default settings etc.

CursorDescription is used by Cursor to construct itself based on the description. The description class give a big flexibility creating a cursor, individual frames can come from different image sources, or be cut out from an image source using various different techniques.

Constructor & Destructor Documentation

uicore::CursorDescription::CursorDescription ( )

Constructs a cursor description.

uicore::CursorDescription::CursorDescription ( const CursorDescription copy)

Constructs a CursorDescription.

Parameters
copy= Cursor Description
uicore::CursorDescription::~CursorDescription ( )

Member Function Documentation

void uicore::CursorDescription::add_alphaclipped_frames ( const PixelBufferPtr pixelbuffer,
int  xpos = 0,
int  ypos = 0,
float  trans_limit = 0.05f 
)

Adds images separated with pure alpha (within trans_limit).

The alpha clipper will cut out frames from an image based on the transparency in the picture. It first determines the height of a row by searching for the first line that it considers completely transparent. Then it finds the width of each frame on this line by looking for columns that are completely transparency.

Parameters
pixelbufferImage source.
textureImage source.
xpos,yposUpper left position where alpha cutting should begin.
trans_limitAmount of non-transparent alpha allowed before a pixel is not considered transparent.
void uicore::CursorDescription::add_alphaclipped_frames_free ( const PixelBufferPtr pixelbuffer,
int  xpos = 0,
int  ypos = 0,
float  trans_limit = 0.05f 
)

Adds images separated with pure alpha (within trans_limit).

The alpha clipper will cut out frames from an image based on the transparency in the picture. It scans the lines horizontally from top to bottom. As soon as a non-transarent pixel is discovered, the clipper finds the bounding box for that region and then moves on.

Parameters
pixelbufferImage source.
textureImage source.
xpos,yposUpper left position where alpha cutting should begin.
trans_limitAmount of non-transparent alpha allowed before a pixel is not considered transparent.
void uicore::CursorDescription::add_frame ( const PixelBufferPtr pixelbuffer)

Adds a single image.

Parameters
pixelbufferImage source.
filenameFilename of image.
vfsVirtual File System to load image from.
void uicore::CursorDescription::add_frame ( const std::string filename,
const ImageImportDescription import_desc = ImageImportDescription() 
)

Add frame.

void uicore::CursorDescription::add_frame ( const IODevicePtr file,
const std::string image_type,
const ImageImportDescription import_desc = ImageImportDescription() 
)

Add frame.

Parameters
file= IODevice
image_type= String
void uicore::CursorDescription::add_gridclipped_frames ( const PixelBufferPtr pixelbuffer,
int  xpos,
int  ypos,
int  width,
int  height,
int  xarray = 1,
int  yarray = 1,
int  array_skipframes = 0,
int  xspacing = 0,
int  yspacing = 0 
)

Adds images formed in a grid.

This function will cut out a grid of frames from one image.

Parameters
pixelbufferImage source.
textureImage source.
xpos,yposPosition of where image grid starts.
width,heightSize of a frame in the grid.
xarray,yarrayNumber of columns and rows in grid.
array_skipframesNumber of frames to skip at last gridline.
xspacing,yspacingPixel interspacing between grid frames.
const std::vector<CursorDescriptionFrame>& uicore::CursorDescription::frames ( ) const

Returns a list over all available frames.

Point uicore::CursorDescription::hotspot ( ) const

the offset of where the cursor is drawn relative to cursor image

bool uicore::CursorDescription::operator!= ( const CursorDescription that) const
inline
bool uicore::CursorDescription::operator< ( const CursorDescription that) const
inline
bool uicore::CursorDescription::operator<= ( const CursorDescription that) const
inline
CursorDescription& uicore::CursorDescription::operator= ( const CursorDescription copy)

Copy assignment operator.

bool uicore::CursorDescription::operator== ( const CursorDescription that) const
inline
bool uicore::CursorDescription::operator> ( const CursorDescription that) const
inline
bool uicore::CursorDescription::operator>= ( const CursorDescription that) const
inline
void uicore::CursorDescription::set_frame_delay ( int  frame,
double  delay 
)

Sets the duration this frame is displayed, in seconds.

void uicore::CursorDescription::set_hotspot ( const Point hotspot)

Sets the offset of where the cursor is drawn relative to the cursor image.


The documentation for this class was generated from the following file: