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 ©) | |
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 |
CursorDescription & | operator= (const CursorDescription ©) |
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... | |
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.
uicore::CursorDescription::CursorDescription | ( | ) |
Constructs a cursor description.
uicore::CursorDescription::CursorDescription | ( | const CursorDescription & | copy | ) |
Constructs a CursorDescription.
copy | = Cursor Description |
uicore::CursorDescription::~CursorDescription | ( | ) |
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.
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.
void uicore::CursorDescription::add_frame | ( | const PixelBufferPtr & | pixelbuffer | ) |
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.
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.
pixelbuffer | Image source. |
texture | Image source. |
xpos,ypos | Position of where image grid starts. |
width,height | Size of a frame in the grid. |
xarray,yarray | Number of columns and rows in grid. |
array_skipframes | Number of frames to skip at last gridline. |
xspacing,yspacing | Pixel 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
|
inline |
|
inline |
|
inline |
CursorDescription& uicore::CursorDescription::operator= | ( | const CursorDescription & | copy | ) |
Copy assignment operator.
|
inline |
|
inline |
|
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.