1
/***************************************************************************
3
An object that can be drawn on the acetate layer of a QgsMapCanvas
6
copyright : (C) 2004 by Gary E.Sherman
7
email : sherman at mrcc.com
8
***************************************************************************/
10
/***************************************************************************
12
* This program is free software; you can redistribute it and/or modify *
13
* it under the terms of the GNU General Public License as published by *
14
* the Free Software Foundation; either version 2 of the License, or *
15
* (at your option) any later version. *
17
***************************************************************************/
18
/* $Id: qgsacetateobject.h,v 1.6 2004/12/30 02:52:35 timlinux Exp $ */
20
#ifndef QGSACETATEOBJECT_H
21
#define QGSACETATEOBJECT_H
26
/*! \class QgsAcetateObject
27
* \brief Base class for all objects that are drawn on the acetate layer of a map canvas.
29
* An acetate object is a graphic or text object that is drawn on top of the map canvas
30
* after rendering of all map elements is completed. Acetate objects can be drawn in
31
* device coordinates or map coordinates. Drawing in map coordinates requires passing
32
* a QgsMapToPixel object to the draw function.
34
* The draw function must be overridden in a subclass to provide the specfic logic for
37
class QgsAcetateObject
41
* Constructor. Constructs an object with the specified origin. If the object is
42
* spatially referenced, the origin should be in map coordinates.
44
QgsAcetateObject(QgsPoint &origin);
46
/** Constructs an acetate object without an origin point. This is appropriate for
47
* objects that are not point-centric, such as polygons or collections of acetate
55
virtual ~QgsAcetateObject();
58
* Draw the object using the Qpainter and applying a coordinate transform if
60
* @param painter Painter to use for drawing
61
* @param cXf Coordinate transform to use in drawing map coordinate on the device. If
62
* this parameter is not specified, coordinates are assumed to be device coordinates
63
* rather than map coordinates.
65
virtual void draw (QPainter * painter, QgsMapToPixel * cXf=0)=0;
67
* Set the origin point
68
* @param value Point of origin
70
void setOrigin (QgsPoint value );
72
* Returns the point of origin
77
//! Origin of the object in device or map coordinates
80
#endif //QGSACETATEOBJECT_H