Public Member Functions | |
BitmapImage (const BitmapImage &) | |
BitmapImage (const QRect &rectangle, const QColor &color) | |
BitmapImage (const QPoint &topLeft, const QImage &image) | |
BitmapImage (const QPoint &topLeft, const QString &path) | |
BitmapImage & | operator= (const BitmapImage &a) |
BitmapImage * | clone () const override |
void | loadFile () override |
void | unloadFile () override |
bool | isLoaded () const override |
quint64 | memoryUsage () override |
void | paintImage (QPainter &painter) |
void | paintImage (QPainter &painter, QImage &image, QRect sourceRect, QRect destRect) |
QImage * | image () |
void | setImage (QImage *pImg) |
BitmapImage | copy () |
BitmapImage | copy (QRect rectangle) |
void | paste (BitmapImage *, QPainter::CompositionMode cm=QPainter::CompositionMode_SourceOver) |
void | moveTopLeft (QPoint point) |
void | moveTopLeft (QPointF point) |
void | transform (QRect rectangle, bool smoothTransform) |
void | transform (QRectF rectangle, bool smoothTransform) |
BitmapImage | transformed (QRect selection, QTransform transform, bool smoothTransform) |
BitmapImage | transformed (QRect rectangle, bool smoothTransform) |
BitmapImage | transformed (QRectF rectangle, bool smoothTransform) |
bool | contains (QPoint P) |
bool | contains (QPointF P) |
void | autoCrop () |
Removes any transparent borders by reducing the boundaries. | |
QRgb | pixel (int x, int y) |
QRgb | pixel (QPoint p) |
void | setPixel (int x, int y, QRgb color) |
void | setPixel (QPoint p, QRgb color) |
void | fillNonAlphaPixels (const QRgb color) |
QRgb | constScanLine (int x, int y) const |
void | scanLine (int x, int y, QRgb color) |
void | clear () |
void | clear (QRect rectangle) |
void | clear (QRectF rectangle) |
void | drawLine (QPointF P1, QPointF P2, QPen pen, QPainter::CompositionMode cm, bool antialiasing) |
void | drawRect (QRectF rectangle, QPen pen, QBrush brush, QPainter::CompositionMode cm, bool antialiasing) |
void | drawEllipse (QRectF rectangle, QPen pen, QBrush brush, QPainter::CompositionMode cm, bool antialiasing) |
void | drawPath (QPainterPath path, QPen pen, QBrush brush, QPainter::CompositionMode cm, bool antialiasing) |
QPoint | topLeft () |
QPoint | topRight () |
QPoint | bottomLeft () |
QPoint | bottomRight () |
int | left () |
int | right () |
int | top () |
int | bottom () |
int | width () |
int | height () |
QSize | size () |
QRect & | bounds () |
bool | isMinimallyBounded () const |
Determines if the BitmapImage is minimally bounded. | |
void | enableAutoCrop (bool b) |
void | setOpacity (qreal opacity) |
qreal | getOpacity () const |
Status | writeFile (const QString &filename) |
![]() | |
KeyFrame (const KeyFrame &k2) | |
KeyFrame & | operator= (const KeyFrame &k2) |
int | pos () const |
void | setPos (int position) |
int | length () const |
void | setLength (int len) |
void | modification () |
void | setModified (bool b) |
bool | isModified () const |
void | setSelected (bool b) |
bool | isSelected () const |
QString | fileName () const |
void | setFileName (QString strFileName) |
void | addEventListener (KeyFrameEventListener *) |
void | removeEventListner (KeyFrameEventListener *) |
virtual KeyFrame * | clone () const |
virtual void | loadFile () |
virtual void | unloadFile () |
virtual bool | isLoaded () const |
virtual quint64 | memoryUsage () |
Static Public Member Functions | |
static bool | floodFill (BitmapImage **replaceImage, const BitmapImage *targetImage, const QRect &cameraRect, const QPoint &point, const QRgb &fillColor, int tolerance, const int expandValue) |
static bool * | floodFillPoints (const BitmapImage *targetImage, QRect searchBounds, const QRect &maxBounds, QPoint point, const int tolerance, QRect &newBounds, bool &fillBorder) |
static void | expandFill (bool *fillPixels, const QRect &searchBounds, const QRect &maxBounds, int expand) |
Finds all pixels closest to the input color and applies the input color to the image. | |
static bool | compareColor (QRgb newColor, QRgb oldColor, int tolerance, QHash< QRgb, bool > *cache) |
Compare colors for the purposes of flood filling. | |
Protected Member Functions | |
void | updateBounds (QRect rectangle) |
Update image bounds. | |
void | extend (const QPoint &p) |
void | extend (QRect rectangle) |
void | setCompositionModeBounds (BitmapImage *source, QPainter::CompositionMode cm) |
Updates the bounds after a drawImage operation with the composition mode cm. | |
void | setCompositionModeBounds (QRect sourceBounds, bool isSourceMinBounds, QPainter::CompositionMode cm) |
Updates the bounds after a draw operation with the composition mode cm. | |
Private Attributes | |
QImage | mImage |
QRect | mBounds {0, 0, 0, 0} |
bool | mMinBound = true |
bool | mEnableAutoCrop = false |
qreal | mOpacity = 1.0 |
Definition at line 26 of file bitmapimage.h.
BitmapImage::BitmapImage | ( | ) |
Definition at line 28 of file bitmapimage.cpp.
BitmapImage::BitmapImage | ( | const BitmapImage & | a | ) |
Definition at line 32 of file bitmapimage.cpp.
Definition at line 41 of file bitmapimage.cpp.
Definition at line 49 of file bitmapimage.cpp.
Definition at line 56 of file bitmapimage.cpp.
|
override |
Definition at line 66 of file bitmapimage.cpp.
void BitmapImage::autoCrop | ( | ) |
Removes any transparent borders by reducing the boundaries.
This function reduces the bounds of an image until the top and bottom rows, and the left and right columns of pixels each contain at least one pixel with a non-zero alpha value (i.e. non-transparent pixel). Both mBounds and the size of mImage are updated.
Definition at line 402 of file bitmapimage.cpp.
|
inline |
Definition at line 99 of file bitmapimage.h.
|
inline |
Definition at line 94 of file bitmapimage.h.
|
inline |
Definition at line 95 of file bitmapimage.h.
|
inline |
Definition at line 105 of file bitmapimage.h.
void BitmapImage::clear | ( | ) |
Definition at line 725 of file bitmapimage.cpp.
void BitmapImage::clear | ( | QRect | rectangle | ) |
Definition at line 751 of file bitmapimage.cpp.
|
inline |
Definition at line 76 of file bitmapimage.h.
|
overridevirtual |
Reimplemented from KeyFrame.
Definition at line 95 of file bitmapimage.cpp.
|
inlinestatic |
Compare colors for the purposes of flood filling.
Calculates the Eulcidian difference of the RGB channels of the image and compares it to the tolerance
[in] | newColor | The first color to compare |
[in] | oldColor | The second color to compare |
[in] | tolerance | The threshold limit between a matching and non-matching color |
[in,out] | cache | Contains a mapping of previous results of compareColor with rule that cache[someColor] = compareColor(someColor, oldColor, tolerance) |
Definition at line 138 of file bitmapimage.h.
QRgb BitmapImage::constScanLine | ( | int | x, |
int | y | ||
) | const |
Definition at line 733 of file bitmapimage.cpp.
|
inline |
Definition at line 62 of file bitmapimage.h.
|
inline |
Definition at line 63 of file bitmapimage.h.
BitmapImage BitmapImage::copy | ( | ) |
Definition at line 173 of file bitmapimage.cpp.
BitmapImage BitmapImage::copy | ( | QRect | rectangle | ) |
Definition at line 178 of file bitmapimage.cpp.
void BitmapImage::drawEllipse | ( | QRectF | rectangle, |
QPen | pen, | ||
QBrush | brush, | ||
QPainter::CompositionMode | cm, | ||
bool | antialiasing | ||
) |
Definition at line 633 of file bitmapimage.cpp.
void BitmapImage::drawLine | ( | QPointF | P1, |
QPointF | P2, | ||
QPen | pen, | ||
QPainter::CompositionMode | cm, | ||
bool | antialiasing | ||
) |
Definition at line 594 of file bitmapimage.cpp.
void BitmapImage::drawPath | ( | QPainterPath | path, |
QPen | pen, | ||
QBrush | brush, | ||
QPainter::CompositionMode | cm, | ||
bool | antialiasing | ||
) |
Definition at line 657 of file bitmapimage.cpp.
void BitmapImage::drawRect | ( | QRectF | rectangle, |
QPen | pen, | ||
QBrush | brush, | ||
QPainter::CompositionMode | cm, | ||
bool | antialiasing | ||
) |
Definition at line 610 of file bitmapimage.cpp.
|
inline |
Definition at line 118 of file bitmapimage.h.
|
static |
Finds all pixels closest to the input color and applies the input color to the image.
An example:
0 is where the color was found 1 is the distance from the nearest pixel of that color
211112 100001 100001 211112
bitmapImage | Image to search |
searchColor | Color to find |
Definition at line 968 of file bitmapimage.cpp.
|
protected |
Definition at line 289 of file bitmapimage.cpp.
|
protected |
Definition at line 297 of file bitmapimage.cpp.
void BitmapImage::fillNonAlphaPixels | ( | const QRgb | color | ) |
Definition at line 586 of file bitmapimage.cpp.
|
static |
Definition at line 766 of file bitmapimage.cpp.
|
static |
Definition at line 846 of file bitmapimage.cpp.
|
inline |
Definition at line 120 of file bitmapimage.h.
|
inline |
Definition at line 101 of file bitmapimage.h.
QImage * BitmapImage::image | ( | ) |
Definition at line 167 of file bitmapimage.cpp.
|
overridevirtual |
Reimplemented from KeyFrame.
Definition at line 141 of file bitmapimage.cpp.
|
inline |
Determines if the BitmapImage is minimally bounded.
A BitmapImage is minimally bounded if all edges contain at least 1 non-transparent pixel (alpha > 0). In other words, the size of the image cannot be decreased without cropping visible data.
Definition at line 117 of file bitmapimage.h.
|
inline |
Definition at line 96 of file bitmapimage.h.
|
overridevirtual |
Reimplemented from KeyFrame.
Definition at line 123 of file bitmapimage.cpp.
|
overridevirtual |
Reimplemented from KeyFrame.
Definition at line 146 of file bitmapimage.cpp.
void BitmapImage::moveTopLeft | ( | QPoint | point | ) |
Definition at line 207 of file bitmapimage.cpp.
|
inline |
Definition at line 55 of file bitmapimage.h.
BitmapImage & BitmapImage::operator= | ( | const BitmapImage & | a | ) |
Definition at line 79 of file bitmapimage.cpp.
void BitmapImage::paintImage | ( | QPainter & | painter | ) |
Definition at line 155 of file bitmapimage.cpp.
void BitmapImage::paintImage | ( | QPainter & | painter, |
QImage & | image, | ||
QRect | sourceRect, | ||
QRect | destRect | ||
) |
Definition at line 160 of file bitmapimage.cpp.
void BitmapImage::paste | ( | BitmapImage * | bitmapImage, |
QPainter::CompositionMode | cm = QPainter::CompositionMode_SourceOver |
||
) |
Definition at line 188 of file bitmapimage.cpp.
QRgb BitmapImage::pixel | ( | int | x, |
int | y | ||
) |
Definition at line 558 of file bitmapimage.cpp.
QRgb BitmapImage::pixel | ( | QPoint | p | ) |
Definition at line 563 of file bitmapimage.cpp.
|
inline |
Definition at line 97 of file bitmapimage.h.
void BitmapImage::scanLine | ( | int | x, |
int | y, | ||
QRgb | color | ||
) |
Definition at line 742 of file bitmapimage.cpp.
|
protected |
Updates the bounds after a drawImage operation with the composition mode cm.
[in] | source | The source image used for the drawImage call. |
[in] | cm | The composition mode that will be used for the draw image |
Definition at line 330 of file bitmapimage.cpp.
|
protected |
Updates the bounds after a draw operation with the composition mode cm.
[in] | sourceBounds | The bounds of the source used for drawcall. |
[in] | isSourceMinBounds | Is sourceBounds the minimal bounds for the source image |
[in] | cm | The composition mode that will be used for the draw image |
For a call to draw image of a QPainter (initialized with mImage) with an argument of source, this function intelligently calculates the bounds. It will attempt to preserve minimum bounds based on the composition mode.
This works baed on the principle that some minimal bounds can be determined solely by the minimal bounds of this and source, depending on the value of cm. Some composition modes only expand, or have no affect on the bounds.
Definition at line 357 of file bitmapimage.cpp.
void BitmapImage::setImage | ( | QImage * | pImg | ) |
Definition at line 70 of file bitmapimage.cpp.
|
inline |
Definition at line 119 of file bitmapimage.h.
void BitmapImage::setPixel | ( | int | x, |
int | y, | ||
QRgb | color | ||
) |
Definition at line 571 of file bitmapimage.cpp.
void BitmapImage::setPixel | ( | QPoint | p, |
QRgb | color | ||
) |
Definition at line 576 of file bitmapimage.cpp.
|
inline |
Definition at line 102 of file bitmapimage.h.
|
inline |
Definition at line 98 of file bitmapimage.h.
|
inline |
Definition at line 92 of file bitmapimage.h.
|
inline |
Definition at line 93 of file bitmapimage.h.
void BitmapImage::transform | ( | QRect | rectangle, |
bool | smoothTransform | ||
) |
Definition at line 214 of file bitmapimage.cpp.
|
inline |
Definition at line 57 of file bitmapimage.h.
BitmapImage BitmapImage::transformed | ( | QRect | rectangle, |
bool | smoothTransform | ||
) |
Definition at line 251 of file bitmapimage.cpp.
BitmapImage BitmapImage::transformed | ( | QRect | selection, |
QTransform | transform, | ||
bool | smoothTransform | ||
) |
Definition at line 232 of file bitmapimage.cpp.
|
inline |
Definition at line 60 of file bitmapimage.h.
|
overridevirtual |
Reimplemented from KeyFrame.
Definition at line 133 of file bitmapimage.cpp.
|
protected |
Update image bounds.
[in] | newBoundaries | the new bounds |
Sets this image's bounds to rectangle. Modifies mBounds and crops mImage.
Definition at line 269 of file bitmapimage.cpp.
|
inline |
Definition at line 100 of file bitmapimage.h.
Definition at line 704 of file bitmapimage.cpp.
|
private |
Definition at line 176 of file bitmapimage.h.
|
private |
Definition at line 180 of file bitmapimage.h.
|
private |
Definition at line 175 of file bitmapimage.h.
|
private |
Definition at line 179 of file bitmapimage.h.
|
private |
Definition at line 181 of file bitmapimage.h.