A canvas built on top of Qt. More...
#include <Canvas.h>
Public Member Functions | |
QPainter * | getPainter () |
Initializer Methods | |
Methods related to instantiation and destruction. | |
Canvas (int w, int h, int devType=QInternal::Pixmap) | |
It initializes a new Canvas and associates a pixmap as the default device. More... | |
Canvas (QPaintDevice *device) | |
It initializes a new Canvas associated with the given paint device. More... | |
Canvas (QPainter *painter) | |
It initializes a new Canvas associated with the given painter. More... | |
~Canvas () | |
Destructor. More... | |
Methods Inherited From Abstract Canvas | |
These methods are re-implementations from abstract canvas. | |
void | setWindow (const double &llx, const double &lly, const double &urx, const double &ury) |
It sets the world (or window) coordinates area (supposing a cartesian reference system). More... | |
void | calcAspectRatio (double &llx, double &lly, double &urx, double &ury, const te::map::AlignType hAlign=te::map::Center, const te::map::AlignType vAlign=te::map::Center) |
It calculates the best aspect ratio for world (or window) coordinates area (supposing a cartesian reference system). More... | |
void | calcAspectRatio (te::gm::Envelope *envelope, const te::map::AlignType hAlign=te::map::Center, const te::map::AlignType vAlign=te::map::Center) |
It calculates the best aspect ratio for world (or window) coordinates area (supposing a cartesian reference system). More... | |
void | setBackgroundColor (const te::color::RGBAColor &color) |
It sets the canvas background color. More... | |
te::color::RGBAColor | getBackgroundColor () const |
It returns the canvas background color. More... | |
void | clear () |
It clears the canvas content and fills with the background color. More... | |
void | resize (int w, int h) |
It adjusts the canvas size (width and height). More... | |
int | getWidth () const |
It returns the canvas width. More... | |
int | getHeight () const |
It returns the canvas height. More... | |
void | draw (const te::gm::Geometry *geom) |
It draws the geometry on canvas. More... | |
void | draw (const te::gm::Point *point) |
It draws the point on canvas. More... | |
void | draw (const te::gm::MultiPoint *mpoint) |
It draws the MultiPoint on canvas. More... | |
void | draw (const te::gm::LineString *line) |
It draws the LineString on canvas. More... | |
void | draw (const te::gm::MultiLineString *mline) |
It draws the MultiLineString on canvas. More... | |
void | draw (const te::gm::Polygon *poly) |
It draws the polygon on canvas. More... | |
void | draw (const te::gm::MultiPolygon *mpoly) |
It draws the MultiPolygon on canvas. More... | |
void | draw (const te::gm::GeometryCollection *g) |
It draws the GeometryCollection on canvas. More... | |
void | draw (const te::gm::MultiSurface *g) |
It draws the MultiSurface on canvas. More... | |
void | save (const char *fileName, te::map::ImageType t, int quality=75, int fg=0) const |
It saves the canvas content to a file image in the specified format type. More... | |
char * | getImage (te::map::ImageType t, std::size_t &size, int quality=75, int fg=0) const |
It returns the internal content as an image in a specific format (PNG, JPEG, ...). More... | |
te::color::RGBAColor ** | getImage (const int x=0, const int y=0, const int w=0, const int h=0) const |
It gets a RGBA color array from internal canvas buffer. More... | |
void | freeImage (char *img) const |
This is the method that you should use to release an image generated by the canvas. More... | |
void | drawImage (char *src, std::size_t size, te::map::ImageType t) |
It draws the src image over the canvas. More... | |
void | drawImage (te::color::RGBAColor **src, int w, int h) |
It draws the src image over the canvas. More... | |
void | drawImage (int x, int y, char *src, std::size_t size, te::map::ImageType t) |
It draws the src image over the canvas at the specified position (x, y). More... | |
void | drawImage (int x, int y, te::color::RGBAColor **src, int w, int h) |
It draws the src image over the canvas at the specified position (x, y). More... | |
void | drawImage (int x, int y, int w, int h, char *src, std::size_t size, te::map::ImageType t) |
It draws the source image into the rectangle at position (x, y) with the given width and height. More... | |
void | drawImage (int x, int y, int w, int h, te::color::RGBAColor **src, int srcw, int srch) |
It draws the source image into the rectangle at position (x, y) with the given width and height. More... | |
void | drawImage (int x, int y, int w, int h, char *src, std::size_t size, te::map::ImageType t, int sx, int sy, int sw, int sh) |
It draws the rectangular portion with the origin (sx, sy), width sw and height sh, of the source image, at the point (x, y), with a width of w and a height of h. If sw or sh are equal to zero the width/height of the pixmap is used and adjusted by the offset sx/sy. More... | |
void | drawImage (int x, int y, int w, int h, te::color::RGBAColor **src, int sx, int sy, int sw, int sh) |
It draws the rectangular portion with the origin (sx, sy), width sw and height sh, of the source image, at the point (x, y), with a width of w and a height of h. If sw or sh are equal to zero the width/height of the pixmap is used and adjusted by the offset sx/sy. More... | |
void | drawImage (int x, int y, te::rst::Raster *src, int opacity=TE_OPAQUE) |
It draws a raster over the canvas at the specified position (x, y). The raster must be with three 8-bit bands (1R, 2G, 3B),. More... | |
void | drawImage (int x, int y, int w, int h, te::rst::Raster *src, int sx, int sy, int sw, int sh, int opacity=TE_OPAQUE) |
It draws the rectangular portion with the origin (sx, sy), width sw and height sh, of the source raster, starting at the point (x, y), with a width of w and a height of h. If sw or sh are equal to zero the width/height of the pixmap is used and adjusted by the offset sx/sy. More... | |
void | drawPixel (int x, int y) |
It sets a pixel using the point pen. More... | |
void | drawPixel (int x, int y, const te::color::RGBAColor &color) |
It sets a pixel to a particular color. More... | |
void | drawText (int x, int y, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It draws a text. More... | |
void | drawText (const te::gm::Point *p, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It draws a text. More... | |
void | drawText (const double &x, const double &y, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It draws a text. More... | |
te::gm::Polygon * | getTextBoundary (int x, int y, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It returns the text boundary (its enclose rectangle). More... | |
te::gm::Polygon * | getTextBoundary (const te::gm::Point *p, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It returns the text boundary (its enclose rectangle). More... | |
te::gm::Polygon * | getTextBoundary (const double &x, const double &y, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It returns the text boundary (its enclose rectangle). More... | |
void | setTextColor (const te::color::RGBAColor &color) |
It sets the text drawing color. More... | |
void | setTextOpacity (int opacity) |
It sets the text opacity. More... | |
void | setFontFamily (const std::string &family) |
It sets the text font family. More... | |
void | setTextPointSize (double psize) |
It sets the text point Size. More... | |
void | setTextStyle (te::se::Font::FontStyleType style) |
It sets the text style. More... | |
void | setTextWeight (te::se::Font::FontWeightType weight) |
It sets the text weight. More... | |
void | setTextStretch (std::size_t stretch) |
It sets the text stretch. More... | |
void | setTextUnderline (bool b) |
It sets the text underline flag. More... | |
void | setTextOverline (bool b) |
It sets the text overline flag. More... | |
void | setTextStrikeOut (bool b) |
It sets the text strike out flag. More... | |
void | setTextDecorationColor (const te::color::RGBAColor &color) |
It sets the text color for drawing text decoration. More... | |
void | setTextDecorationWidth (int width) |
It sets the width for drawing text decoration. More... | |
void | setTextContourColor (const te::color::RGBAColor &color) |
It sets the text contour (outline) drawing color. More... | |
void | setTextContourEnabled (bool b) |
It controls the display of the text outline. More... | |
void | setTextContourOpacity (int opacity) |
It sets the text contour opacity. More... | |
void | setTextContourWidth (int width) |
It sets the text contour width. More... | |
void | setTextJustification (int justType) |
It sets the text justification for multi line text. More... | |
void | setTextMultiLineSpacing (int spacing) |
It sets the multi line text spacing. More... | |
void | setPointColor (const te::color::RGBAColor &color) |
It sets the point drawing color. More... | |
void | setPointWidth (int w) |
It sets the point width. If point has a patterns, this pattern is scaled to width. More... | |
void | setPointPattern (te::color::RGBAColor **pattern, int ncols, int nrows) |
It sets the point pattern. More... | |
void | setPointPattern (char *pattern, std::size_t size, te::map::ImageType t) |
It sets the point pattern using a buffered image. More... | |
void | setPointPatternRotation (const double &angle) |
It sets the point pattern rotation. Rotation is made from the center of the pattern. More... | |
void | setPointPatternOpacity (int opacity) |
It sets the point pattern opacity. More... | |
void | setLineColor (const te::color::RGBAColor &color) |
It sets the pen color used to draw line geometries. More... | |
void | setLinePattern (te::color::RGBAColor **pattern, int ncols, int nrows) |
It sets the line pattern. More... | |
void | setLinePattern (char *pattern, std::size_t size, te::map::ImageType t) |
It sets the line pattern using a buffered image. More... | |
void | setLinePatternRotation (const double &angle) |
It sets the line pattern rotation. Rotation is made from the center of the pattern. More... | |
void | setLinePatternOpacity (int opacity) |
It sets the line pattern opacity. More... | |
void | setLineDashStyle (te::map::LineDashStyle style) |
It sets the line dash style. More... | |
void | setLineDashStyle (const std::vector< double > &style) |
It sets the line dash style to the given pattern. More... | |
void | setLineCapStyle (te::map::LineCapStyle style) |
It sets the line cap style. More... | |
void | setLineJoinStyle (te::map::LineJoinStyle style) |
It sets the line join style. More... | |
void | setLineWidth (int w) |
It sets the line width. More... | |
void | setPolygonFillColor (const te::color::RGBAColor &color) |
It sets the color used to fill the draw of polygon geometries. More... | |
void | setPolygonFillColor (const QBrush &color) |
void | setPolygonContourColor (const te::color::RGBAColor &color) |
It sets the pen color used to draw the boundary of polygon geometries. More... | |
void | setPolygonFillPattern (te::color::RGBAColor **pattern, int ncols, int nrows) |
It sets the polygon fill pattern. More... | |
void | setPolygonFillPattern (char *pattern, std::size_t size, te::map::ImageType t) |
It sets the polygon fill pattern using a buffered image. More... | |
void | setPolygonPatternWidth (int w) |
It sets the polygon pattern width. More... | |
void | setPolygonPatternRotation (const double &angle) |
It sets the polygon pattern rotation. More... | |
void | setPolygonPatternOpacity (int opacity) |
It sets the polygon pattern opacity. More... | |
void | setPolygonContourPattern (te::color::RGBAColor **pattern, int ncols, int nrows) |
It sets the pen pattern used to draw the boundary of polygon geometries. More... | |
void | setPolygonContourPattern (char *pattern, std::size_t size, te::map::ImageType t) |
It sets the pen pattern used to draw the boundary of polygon geometries using a buffered image. More... | |
void | setPolygonContourWidth (int w) |
It sets the polygon contour width. More... | |
void | setPolygonContourPatternRotation (const double &angle) |
It sets the polygon contour pattern rotation. More... | |
void | setPolygonContourPatternOpacity (int opacity) |
It sets the polygon contour pattern opacity. More... | |
void | setPolygonContourDashStyle (te::map::LineDashStyle style) |
It sets the polygon contour dash style. More... | |
void | setPolygonContourDashStyle (const std::vector< double > &style) |
It sets the polygon contour dash style to the given pattern. More... | |
void | setPolygonContourCapStyle (te::map::LineCapStyle style) |
It sets the polygon contour cap style. More... | |
void | setPolygonContourJoinStyle (te::map::LineJoinStyle style) |
It sets the polygon contour join style. More... | |
void | setEraseMode () |
It sets the painter to erase mode. More... | |
void | setNormalMode () |
It sets the painter to normal copy source to destination mode. More... | |
Qt Canvas Specific Methos | |
Methods that belongs only to Qt Canvas. | |
void | drawText (const QPoint &p, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It draws a text. More... | |
te::gm::Polygon * | getTextBoundary (const QPoint &p, const std::string &txt, float angle=0.0, double anchorX=0.5, double anchorY=0.5, int displacementX=0, int displacementY=0) |
It returns text boundary. Color and font family should be defined in advance. More... | |
QPixmap * | getPixmap () const |
It returns the internal pixmap used to draw geographical objects. More... | |
QImage * | getImage () const |
It returns the internal image used to draw geographical objects. More... | |
QPaintDevice * | getDevice () const |
It returns the internal device used to draw geographical objects. More... | |
void | setDevice (QPaintDevice *device, bool takeOwnerShip) |
It sets new device as QPrinter. More... | |
int | getResolution () |
It returns the device resolution. More... | |
QMatrix | getMatrix () |
It returns the matrix. More... | |
void | setMatrix (const QMatrix &matrix) |
void | setRenderHint (QPainter::RenderHint hint, bool on=true) |
Sets the given render hint on the canvas painter if on is true; otherwise clears the render hint. More... | |
Private Member Functions | |
Copy Constructor and Assignment Operator | |
Copy constructor and assignment operator not allowed. | |
Canvas (const Canvas &rhs) | |
Copy constructor not allowed. More... | |
Canvas & | operator= (const Canvas &rhs) |
Assignment operator not allowed. More... | |
Auxiliary Methods | |
Auxiliary methods. | |
void | setLineDashStyle (QPen &pen, const std::vector< double > &style) |
It adjusts the given pen to use the given pattern. More... | |
void | updateAlpha (QImage &img, const int &opacity) |
It updates the alpha channel of the given image using the given opacity value. More... | |
void | createPointPatterns () |
It creates two patterns. A pattern used to draw selected objects and the other used to erase this pattern. More... | |
void | drawContour (const te::gm::LineString *line) |
It draw the polygon contour. More... | |
Private Attributes | |
QColor | m_bgColor |
Canvas background color. Defaults: white fully transparent. More... | |
bool | m_erase |
used for erase operation. More... | |
QFont | m_font |
The text font. More... | |
bool | m_isDeviceOwner |
Tells if canvas is the owner of the paint device. More... | |
bool | m_isPainterOwner |
Tells if canvas is the owner of the painter. More... | |
QColor | m_lnColor |
The color used to draw lines. More... | |
QPen | m_lnPen |
The pen used to draw lines. More... | |
QMatrix | m_matrix |
Matrix that transforms the world coordinate to device coordinate. More... | |
QPainter * | m_painter |
The painter used to draw geometric objects. More... | |
QTransform | m_painterTransform |
This transform holds the original transform of the painter. It is stored to be combined to the canvas matrix every time setWindow is called. More... | |
std::map< std::string, QPixmap * > | m_patterns |
The pixmap styles used to draw patterns. More... | |
QBrush | m_polyBrush |
The brush used to fill polygon. More... | |
QColor | m_polyColor |
The color used to fill polygon (solid, marker or pattern). More... | |
QColor | m_polyContourColor |
The color used to draw polygon contour. More... | |
QPen | m_polyContourPen |
The pen used to draw contour polygon. More... | |
QBrush | m_polyDefaultBrush |
The brush used to fill polygon. More... | |
QImage * | m_polyImage |
The pattern image used to fill polygon. More... | |
int | m_polyPatternWidth |
The width used to draw marker or pattern. More... | |
QImage * | m_polyRotatedImage |
The pattern rotated image used to fill polygon. More... | |
QPointF | m_pt |
Point buffer to avoid creating another point instance. More... | |
QImage * | m_ptClearPatternImg |
The marker or pattern used to clear (erase point). More... | |
QColor | m_ptColor |
The color used to draw point (pixel) or marker. More... | |
QColor | m_ptColorFrom |
Indicates the color that originated the pattern that shows the status of selection. Used for optmization. More... | |
int | m_ptHOffset |
Horizontal offset in pixels (in device coordinate) applied to point pattern or marker. More... | |
QImage * | m_ptImg |
The marker or pattern used to point. More... | |
QImage * | m_ptImgRotated |
The marker or pattern already with rotation used to draw points. More... | |
QPen | m_ptPen |
The pen used to draw points. More... | |
double | m_ptRotation |
The point pattern rotation. More... | |
QImage * | m_ptSelectionPatternImg |
The marker or pattern used to show selection status. The color is mixed with point pattern. More... | |
int | m_ptVOffset |
Vertical offset in pixels (in device coordinate) applied to point pattern or marker. More... | |
int | m_ptWidth |
The width for point markers and point pattern. More... | |
QBrush | m_txtBrush |
The brush used to draw texts. More... | |
bool | m_txtContourEnabled |
The flag indicates whether the outline of the text should be drawn. More... | |
QPen | m_txtContourPen |
The pen used to draw the text contour. More... | |
int | m_txtLetterSpacing |
Text letter spacing. More... | |
int | m_txtLineSpacing |
Text multi line spacing. More... | |
int | m_txtWordSpacing |
Text word spacing. More... | |
te::qt::widgets::Canvas::Canvas | ( | int | w, |
int | h, | ||
int | devType = QInternal::Pixmap |
||
) |
It initializes a new Canvas and associates a pixmap as the default device.
w | The internal pixmap width in pixels. |
h | The internal pixmap height in pixels. |
devType | The internal device. It can be Pixmap or Image. |
te::qt::widgets::Canvas::Canvas | ( | QPaintDevice * | device | ) |
It initializes a new Canvas associated with the given paint device.
device | The paint device that will be associated to this canvas. |
te::qt::widgets::Canvas::Canvas | ( | QPainter * | painter | ) |
It initializes a new Canvas associated with the given painter.
device | The painter that will be associated to this canvas. |
|
virtual |
Destructor.
Reimplemented from te::map::Canvas.
|
private |
Copy constructor not allowed.
rhs | The right-hand-side copy that would be used to copy from. |
|
virtual |
It calculates the best aspect ratio for world (or window) coordinates area (supposing a cartesian reference system).
llx | Lower left x-coordinate of the World. |
lly | Lower left y-coordinate of the World. |
urx | Upper right x-coordinate of the World. |
ury | Upper right y-coordinate of the World. |
hAlign | Horizontal Alignment. It can be left, center or right. |
vAlign | Vertical Alignment. It can be top, center or bottom. |
Implements te::map::Canvas.
|
virtual |
It calculates the best aspect ratio for world (or window) coordinates area (supposing a cartesian reference system).
envelope | A rectangle with world coordinates that will be adjusted. |
hAlign | Horizontal Alignment. It can be left, center or right. |
vAlign | Vertical Alignment. It can be top, center or bottom. |
Implements te::map::Canvas.
|
virtual |
It clears the canvas content and fills with the background color.
Implements te::map::Canvas.
|
private |
It creates two patterns. A pattern used to draw selected objects and the other used to erase this pattern.
|
virtual |
It draws the geometry on canvas.
geom | Any geometry (point, line, polygon, ...). |
Implements te::map::Canvas.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
It draws the MultiLineString on canvas.
mline | The MultiLineString. |
Implements te::map::Canvas.
|
virtual |
|
virtual |
|
virtual |
It draws the GeometryCollection on canvas.
g | The GeometryCollection. |
Implements te::map::Canvas.
|
virtual |
|
private |
It draw the polygon contour.
|
virtual |
It draws the src image over the canvas.
src | A source image of any type (PNG, JPEG, GIF, ...). |
size | The image size in bytes. |
t | The image format type (see ImageType enum). |
Implements te::map::Canvas.
|
virtual |
It draws the src image over the canvas.
src | The source image. |
w | The image width (number of columns). |
h | The image height (number of rows). |
Implements te::map::Canvas.
|
virtual |
It draws the src image over the canvas at the specified position (x, y).
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
src | A source image of any type (PNG, JPEG, GIF, ...). |
size | The image size in bytes. |
t | The image format type (see ImageType enum). |
Implements te::map::Canvas.
|
virtual |
It draws the src image over the canvas at the specified position (x, y).
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
src | The source image. |
w | The image width (number of columns). |
h | The image height (number of rows). |
Implements te::map::Canvas.
|
virtual |
It draws the source image into the rectangle at position (x, y) with the given width and height.
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
w | The rectangle width. |
h | The rectangle height. |
src | A source image of any type (PNG, JPEG, GIF, ...). |
size | The image size in bytes. |
t | The image format type (see ImageType enum). |
Implements te::map::Canvas.
|
virtual |
It draws the source image into the rectangle at position (x, y) with the given width and height.
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
w | The rectangle width. |
h | The rectangle height. |
src | The source image. |
srcw | The source image width (number of columns). |
srch | The source image height (number of rows). |
Implements te::map::Canvas.
|
virtual |
It draws the rectangular portion with the origin (sx, sy), width sw and height sh, of the source image, at the point (x, y), with a width of w and a height of h. If sw or sh are equal to zero the width/height of the pixmap is used and adjusted by the offset sx/sy.
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
w | The rectangle width. |
h | The rectangle height. |
src | A source image of any type (PNG, JPEG, GIF, ...). |
size | The image size in bytes. |
t | The image format type (see ImageType enum). |
sx | The source image position. |
sy | The source image position. |
sw | The source image rectangle width. |
sh | The source image rectangle height. |
Implements te::map::Canvas.
|
virtual |
It draws the rectangular portion with the origin (sx, sy), width sw and height sh, of the source image, at the point (x, y), with a width of w and a height of h. If sw or sh are equal to zero the width/height of the pixmap is used and adjusted by the offset sx/sy.
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
w | The rectangle width. |
h | The rectangle height. |
src | The source image. |
sx | The source image start position. |
sy | The source image start position. |
sw | The source image rectangle width. |
sh | The source image rectangle height. |
Implements te::map::Canvas.
|
virtual |
It draws a raster over the canvas at the specified position (x, y). The raster must be with three 8-bit bands (1R, 2G, 3B),.
x | The canvas start position in x where the raster image will be drawn. |
y | The canvas start position in y where the raster image will be drawn. |
src | The source raster. |
opacity | The opacity value used to draw the image |
Implements te::map::Canvas.
|
virtual |
It draws the rectangular portion with the origin (sx, sy), width sw and height sh, of the source raster, starting at the point (x, y), with a width of w and a height of h. If sw or sh are equal to zero the width/height of the pixmap is used and adjusted by the offset sx/sy.
x | The canvas start position where the src image will be drawn. |
y | The canvas start position where the src image will be drawn. |
w | The rectangle width. |
h | The rectangle height. |
src | The source raster. |
sx | The source image start position. |
sy | The source image start position. |
sw | The source image rectangle width. |
sh | The source image rectangle height. |
opacity | The opacity value used to draw the image |
Implements te::map::Canvas.
|
virtual |
|
virtual |
It sets a pixel to a particular color.
The color must be an RGBA value. With the following range:
A: 0-255.
x | Column. |
y | Row. |
color | Pixel color. |
Implements te::map::Canvas.
|
virtual |
It draws a text.
Color and font family should be defined in advance.
x | The text entry point x in device coordinate. |
y | The text entry point y in device coordinate. |
txt | The text to be drawn. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
Implements te::map::Canvas.
|
virtual |
It draws a text.
Color and font family should be defined in advance.
p | The text entry point in world coordinate. |
txt | The text to be drawn. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
Implements te::map::Canvas.
|
virtual |
It draws a text.
Color and font family should be defined in advance.
x | The text entry point x in world coordinate. |
y | The text entry point y in world coordinate. |
txt | The text to be drawn. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
Implements te::map::Canvas.
void te::qt::widgets::Canvas::drawText | ( | const QPoint & | p, |
const std::string & | txt, | ||
float | angle = 0.0 , |
||
double | anchorX = 0.5 , |
||
double | anchorY = 0.5 , |
||
int | displacementX = 0 , |
||
int | displacementY = 0 |
||
) |
It draws a text.
Color and font family should be defined in advance.
p | The text entry point i device coordinate. |
txt | The text to be drawed. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
|
virtual |
This is the method that you should use to release an image generated by the canvas.
img | A pointer to an image previously created by the canvas. |
Implements te::map::Canvas.
|
virtual |
It returns the canvas background color.
Implements te::map::Canvas.
QPaintDevice* te::qt::widgets::Canvas::getDevice | ( | ) | const |
It returns the internal device used to draw geographical objects.
|
virtual |
|
virtual |
It returns the internal content as an image in a specific format (PNG, JPEG, ...).
t | The image format type (see ImageType enum). |
size | The image size in bytes. |
quality | JPEG quality, generally a value between 0 and 95. |
fg | Foreground color for WBMP images. |
Implements te::map::Canvas.
|
virtual |
It gets a RGBA color array from internal canvas buffer.
Implements te::map::Canvas.
QImage* te::qt::widgets::Canvas::getImage | ( | ) | const |
It returns the internal image used to draw geographical objects.
QMatrix te::qt::widgets::Canvas::getMatrix | ( | ) |
It returns the matrix.
QPainter* te::qt::widgets::Canvas::getPainter | ( | ) |
QPixmap* te::qt::widgets::Canvas::getPixmap | ( | ) | const |
It returns the internal pixmap used to draw geographical objects.
int te::qt::widgets::Canvas::getResolution | ( | ) |
It returns the device resolution.
|
virtual |
It returns the text boundary (its enclose rectangle).
Color and font family should be defined in advance.
x | The text entry point x in device coordinate. |
y | The text entry point y in device coordinate. |
txt | The text to be drawn. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
Implements te::map::Canvas.
|
virtual |
It returns the text boundary (its enclose rectangle).
Color and font family should be defined in advance.
p | The text entry point in world coordinate. |
txt | The text to be drawn. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
Implements te::map::Canvas.
|
virtual |
It returns the text boundary (its enclose rectangle).
Color and font family should be defined in advance.
x | The text entry point x in world coordinate. |
y | The text entry point y in world coordinate. |
txt | The text to be drawn. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
Implements te::map::Canvas.
te::gm::Polygon* te::qt::widgets::Canvas::getTextBoundary | ( | const QPoint & | p, |
const std::string & | txt, | ||
float | angle = 0.0 , |
||
double | anchorX = 0.5 , |
||
double | anchorY = 0.5 , |
||
int | displacementX = 0 , |
||
int | displacementY = 0 |
||
) |
It returns text boundary. Color and font family should be defined in advance.
p | The text entry point in device coordinate. |
tx | The text to be drawed. |
angle | The text rotation. |
anchorX | The horizontal text anchor. |
anchorY | The vertical text anchor. |
displacementX | The horizontal text displacement. |
displacementY | The vertical text displacement. |
|
virtual |
Assignment operator not allowed.
rhs | The right-hand-side copy that would be used to copy from. |
|
virtual |
It adjusts the canvas size (width and height).
w | The new canvas width. |
h | The new canvas height. |
Implements te::map::Canvas.
|
virtual |
It saves the canvas content to a file image in the specified format type.
fileName | The file name and path where the image will be saved. |
t | The image format type (see ImageType enum). |
quality | JPEG quality, generally a value between 0 and 95. |
fg | Foreground color for WBMP images. |
Implements te::map::Canvas.
|
virtual |
It sets the canvas background color.
The default is totally transparent (255, 255, 255, 0).
color | The background color. |
Implements te::map::Canvas.
void te::qt::widgets::Canvas::setDevice | ( | QPaintDevice * | device, |
bool | takeOwnerShip | ||
) |
It sets new device as QPrinter.
device | The new paint device. |
takeOwnerShip | If true the canvas will take the ownership of the given device otherwise it is the caller responsability to release the device. |
|
virtual |
It sets the painter to erase mode.
Implements te::map::Canvas.
|
virtual |
It sets the text font family.
family | The new font family for drawing a text. |
Implements te::map::Canvas.
|
virtual |
|
virtual |
It sets the pen color used to draw line geometries.
This method will drop any pattern or line style previously set.
color | The color to be used by the pen. |
Implements te::map::Canvas.
|
virtual |
|
virtual |
It sets the line dash style to the given pattern.
style | The line custom dash style. |
Implements te::map::Canvas.
|
private |
It adjusts the given pen to use the given pattern.
pen | The pen that will be adjusted. |
style | The line custom dash style. |
|
virtual |
|
virtual |
It sets the line pattern.
The pattern is a matrix of int's, and each position corresponds to a RGBA color.
pattern | The pattern matrix: a square matrix of int's where each position corresponds to a RGBA color. |
ncols | Number of columns in the matrix. |
nrows | Number of rows in the matrix. |
Implements te::map::Canvas.
|
virtual |
It sets the line pattern using a buffered image.
pattern | The buffered image. |
size | The buffer image size. |
t | The image type used by the style. |
Implements te::map::Canvas.
|
virtual |
It sets the line pattern opacity.
opacity | The pattern opacity. |
Implements te::map::Canvas.
|
virtual |
It sets the line pattern rotation. Rotation is made from the center of the pattern.
angle | The rotation angle in degress. |
Implements te::map::Canvas.
|
virtual |
void te::qt::widgets::Canvas::setMatrix | ( | const QMatrix & | matrix | ) |
|
virtual |
It sets the painter to normal copy source to destination mode.
Implements te::map::Canvas.
|
virtual |
It sets the point drawing color.
This method will instruct the canvas to draw points like pixels. Any pattern previously set will be released.
color | The new color for drawing a point. |
Implements te::map::Canvas.
|
virtual |
It sets the point pattern.
The pattern is a matrix of int's, and each position corresponds to a RGBA color.
pattern | The pattern matrix: a square matrix of int's where each position corresponds to a RGBA color. |
ncols | Number of columns in the matrix. |
nrows | Number of rows in the matrix. |
Implements te::map::Canvas.
|
virtual |
It sets the point pattern using a buffered image.
pattern | The buffered image. |
size | The buffer image size. |
t | The image type used by the style. |
Implements te::map::Canvas.
|
virtual |
It sets the point pattern opacity.
opacity | The pattern opacity. |
Implements te::map::Canvas.
|
virtual |
It sets the point pattern rotation. Rotation is made from the center of the pattern.
angle | The rotation angle in degress. |
Implements te::map::Canvas.
|
virtual |
It sets the point width. If point has a patterns, this pattern is scaled to width.
w | The width used to draw point. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon contour cap style.
style | The polygon contour cap style. |
Implements te::map::Canvas.
|
virtual |
It sets the pen color used to draw the boundary of polygon geometries.
color | The color to be used to outline a polygon. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon contour dash style.
style | The polygon contour dash style. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon contour dash style to the given pattern.
style | The polygon contour custom dash style. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon contour join style.
style | The polygon contour join style. |
Implements te::map::Canvas.
|
virtual |
It sets the pen pattern used to draw the boundary of polygon geometries.
The pattern is a matrix of int's, and each position corresponds to a RGBA color.
pattern | The pattern matrix: a square matrix of int's where each position corresponds to a RGBA color. |
ncols | Number of columns in the matrix. |
nrows | Number of rows in the matrix. |
Implements te::map::Canvas.
|
virtual |
It sets the pen pattern used to draw the boundary of polygon geometries using a buffered image.
pattern | The buffered image. |
size | The buffer image size. |
t | The image type used by the style. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon contour pattern opacity.
opacity | The pattern opacity. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon contour pattern rotation.
angle | The rotation angle in degress. |
Implements te::map::Canvas.
|
virtual |
|
virtual |
It sets the color used to fill the draw of polygon geometries.
color | The color to be used when filling a polygon. |
Implements te::map::Canvas.
void te::qt::widgets::Canvas::setPolygonFillColor | ( | const QBrush & | color | ) |
|
virtual |
It sets the polygon fill pattern.
The pattern is a matrix of int's, and each position corresponds to a RGBA color.
pattern | The style matrix: a square matrix of int's where each position corresponds to a RGBA color. |
ncols | Number of columns in the matrix. |
nrows | Number of rows in the matrix. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon fill pattern using a buffered image.
pattern | The buffered image. |
size | The buffer image size. |
t | The image type used by the style. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon pattern opacity.
opacity | The pattern opacity. |
Implements te::map::Canvas.
|
virtual |
It sets the polygon pattern rotation.
angle | The rotation angle in degress. |
Implements te::map::Canvas.
|
virtual |
void te::qt::widgets::Canvas::setRenderHint | ( | QPainter::RenderHint | hint, |
bool | on = true |
||
) |
Sets the given render hint on the canvas painter if on is true; otherwise clears the render hint.
|
virtual |
It sets the text drawing color.
color | The new color for drawing a text. |
Implements te::map::Canvas.
|
virtual |
It sets the text contour (outline) drawing color.
color | The new color for drawing the contour of texts. |
Implements te::map::Canvas.
|
virtual |
It controls the display of the text outline.
b | True to display and false to not display. |
Implements te::map::Canvas.
|
virtual |
It sets the text contour opacity.
opacity | The new opacity for drawing the text contour. |
Implements te::map::Canvas.
|
virtual |
It sets the text contour width.
width | The new width for drawing the text contour. |
Implements te::map::Canvas.
|
virtual |
It sets the text color for drawing text decoration.
color | The new color for drawing text decoration. |
Implements te::map::Canvas.
|
virtual |
It sets the width for drawing text decoration.
width | The new width for drawing text decoration. |
Implements te::map::Canvas.
|
virtual |
It sets the text justification for multi line text.
just | The new justification for drawing a multi line text. |
Implements te::map::Canvas.
|
virtual |
It sets the multi line text spacing.
spacing | The new spacing for drawing a multi line text. |
Implements te::map::Canvas.
|
virtual |
It sets the text opacity.
opacity | The new opacity for drawing a text. |
Implements te::map::Canvas.
|
virtual |
It sets the text overline flag.
b | True: for overline. False otherwise. |
Implements te::map::Canvas.
|
virtual |
It sets the text point Size.
size | The new point size for drawing a text. |
Implements te::map::Canvas.
|
virtual |
It sets the text stretch.
stretch | The new stretch for drawing a text. |
Implements te::map::Canvas.
|
virtual |
It sets the text strike out flag.
b | True: for strike out. False otherwise. |
Implements te::map::Canvas.
|
virtual |
It sets the text style.
style | The new style for drawing a text. |
Implements te::map::Canvas.
|
virtual |
It sets the text underline flag.
b | True: for underline. False otherwise. |
Implements te::map::Canvas.
|
virtual |
It sets the text weight.
weight | The new weight for drawing a text. |
Implements te::map::Canvas.
|
virtual |
It sets the world (or window) coordinates area (supposing a cartesian reference system).
llx | Lower left x-coordinate of the World. |
lly | Lower left y-coordinate of the World. |
urx | Upper right x-coordinate of the World. |
ury | Upper right y-coordinate of the World. |
Implements te::map::Canvas.
|
private |
It updates the alpha channel of the given image using the given opacity value.
img | The image that will be updated. |
opacity | The opacity value that will be used. |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |