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 PixelBuffer &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 PixelBuffer &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 PixelBuffer &pixelbuffer) |
Adds a single image. More... | |
void | add_frame (const std::string &fullname, const ImageImportDescription &import_desc=ImageImportDescription()) |
Add frame. More... | |
void | add_frame (IODevice &file, const std::string &image_type, const ImageImportDescription &import_desc=ImageImportDescription()) |
Add frame. More... | |
void | add_frame (const std::string &filename, FileSystem &fs, const ImageImportDescription &import_desc=ImageImportDescription()) |
Add frame. More... | |
void | add_gridclipped_frames (const PixelBuffer &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 > & | get_frames () const |
Returns a list over all available frames. More... | |
Point | get_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... | |
Static Public Member Functions | |
static CursorDescription | load (GraphicContext &gc, const std::string &resource_id, const XMLResourceDocument &doc, const ImageImportDescription &import_desc=ImageImportDescription()) |
Loads a CursorDescription from a XML resource definition. 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.
clan::CursorDescription::CursorDescription | ( | ) |
Constructs a cursor description.
clan::CursorDescription::CursorDescription | ( | const CursorDescription & | copy | ) |
Constructs a CursorDescription.
copy | = Cursor Description |
clan::CursorDescription::~CursorDescription | ( | ) |
void clan::CursorDescription::add_alphaclipped_frames | ( | const PixelBuffer & | 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 clan::CursorDescription::add_alphaclipped_frames_free | ( | const PixelBuffer & | 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 clan::CursorDescription::add_frame | ( | const PixelBuffer & | pixelbuffer | ) |
void clan::CursorDescription::add_frame | ( | const std::string & | fullname, |
const ImageImportDescription & | import_desc = ImageImportDescription() |
||
) |
Add frame.
fullname | = String Ref |
void clan::CursorDescription::add_frame | ( | IODevice & | file, |
const std::string & | image_type, | ||
const ImageImportDescription & | import_desc = ImageImportDescription() |
||
) |
Add frame.
file | = IODevice |
image_type | = String |
void clan::CursorDescription::add_frame | ( | const std::string & | filename, |
FileSystem & | fs, | ||
const ImageImportDescription & | import_desc = ImageImportDescription() |
||
) |
Add frame.
filename | = String Ref |
dir | = Virtual Directory |
void clan::CursorDescription::add_gridclipped_frames | ( | const PixelBuffer & | 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>& clan::CursorDescription::get_frames | ( | ) | const |
Returns a list over all available frames.
Point clan::CursorDescription::get_hotspot | ( | ) | const |
the offset of where the cursor is drawn relative to cursor image
|
static |
Loads a CursorDescription from a XML resource definition.
|
inline |
|
inline |
|
inline |
CursorDescription& clan::CursorDescription::operator= | ( | const CursorDescription & | copy | ) |
Copy assignment operator.
|
inline |
|
inline |
|
inline |
void clan::CursorDescription::set_frame_delay | ( | int | frame, |
double | delay | ||
) |
Sets the duration this frame is displayed, in seconds.
void clan::CursorDescription::set_hotspot | ( | const Point & | hotspot | ) |
Sets the offset of where the cursor is drawn relative to the cursor image.