/QMK-Groundstation/trunk/Classes/QMapControl/fixedimageoverlay.cpp |
---|
0,0 → 1,69 |
/* |
* |
* This file is part of QMapControl, |
* an open-source cross-platform map widget |
* |
* Copyright (C) 2007 - 2009 Kai Winter |
* |
* This program is free software: you can redistribute it and/or modify |
* it under the terms of the GNU Lesser General Public License as published by |
* the Free Software Foundation, either version 3 of the License, or |
* (at your option) any later version. |
* |
* This program is distributed in the hope that it will be useful, |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU Lesser General Public License for more details. |
* |
* You should have received a copy of the GNU Lesser General Public License |
* along with QMapControl. If not, see <http://www.gnu.org/licenses/>. |
* |
* Contact e-mail: kaiwinter@gmx.de |
* Program URL : http://qmapcontrol.sourceforge.net/ |
* |
*/ |
#include "fixedimageoverlay.h" |
namespace qmapcontrol |
{ |
FixedImageOverlay::FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QString filename, QString name) |
: ImagePoint(x_upperleft, y_upperleft, filename, name, TopLeft), |
x_lowerright(x_lowerright), y_lowerright(y_lowerright) |
{ |
//qDebug() << "loading image: " << filename; |
mypixmap = new QPixmap(filename); |
size = mypixmap->size(); |
//qDebug() << "image size: " << size; |
} |
FixedImageOverlay::FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QPixmap* pixmap, QString name) |
: ImagePoint(x_upperleft, y_upperleft, pixmap, name, TopLeft), |
x_lowerright(x_lowerright), y_lowerright(y_lowerright) |
{ |
mypixmap = pixmap; |
size = mypixmap->size(); |
} |
void FixedImageOverlay::draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &viewport, const QPoint offset) |
{ |
if (!visible) |
return; |
if (mypixmap !=0) |
{ |
const QPointF c = QPointF(X, Y); |
QPoint topleft = mapadapter->coordinateToDisplay(c); |
const QPointF c2 = QPointF(x_lowerright, y_lowerright); |
QPoint lowerright = mapadapter->coordinateToDisplay(c2); |
painter->drawPixmap(topleft.x(), topleft.y(), lowerright.x()-topleft.x(), lowerright.y()-topleft.y(), *mypixmap); |
} |
} |
FixedImageOverlay::~FixedImageOverlay() |
{ |
} |
} |
/QMK-Groundstation/trunk/Classes/QMapControl/fixedimageoverlay.h |
---|
0,0 → 1,80 |
/* |
* |
* This file is part of QMapControl, |
* an open-source cross-platform map widget |
* |
* Copyright (C) 2007 - 2009 Kai Winter |
* |
* This program is free software: you can redistribute it and/or modify |
* it under the terms of the GNU Lesser General Public License as published by |
* the Free Software Foundation, either version 3 of the License, or |
* (at your option) any later version. |
* |
* This program is distributed in the hope that it will be useful, |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU Lesser General Public License for more details. |
* |
* You should have received a copy of the GNU Lesser General Public License |
* along with QMapControl. If not, see <http://www.gnu.org/licenses/>. |
* |
* Contact e-mail: kaiwinter@gmx.de |
* Program URL : http://qmapcontrol.sourceforge.net/ |
* |
*/ |
#ifndef FIXEDIMAGEOVERLAY_H |
#define FIXEDIMAGEOVERLAY_H |
#include "imagepoint.h" |
namespace qmapcontrol |
{ |
//! Draws a fixed image into the map. |
/*! |
* This class draws a image overlay onto a map, whose upper left and lower |
* right corners lay always on the given coordinates. The methods |
* setBaselevel, setMaxsize and setMinsize have no effect for this class. |
* |
* @author Kai Winter <kaiwinter@gmx.de> |
*/ |
class FixedImageOverlay : public ImagePoint |
{ |
public: |
//! Creates an image overlay which loads and displays the given image file |
/*! |
* Use this contructor to load the given image file and let the point |
* display it. |
* When you want multiple points to display the same image, use the |
* other contructor and pass a pointer to that image. |
* @param x_upperleft the coordinate of the upper left corner where the image should be aligned |
* @param y_upperleft the coordinate of the upper left corner where the image should be aligned |
* @param x_lowerright the coordinate of the lower right corner where the image should be aligned |
* @param y_lowerright the coordinate of the lower right corner where the image should be aligned |
* @param filename the file which should be loaded and displayed |
* @param name the name of the image point |
*/ |
FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QString filename, QString name = QString()); |
//! Creates an image overlay which displays the given image |
/*! |
* Use this contructor to display the given image. |
* @param x_upperleft the coordinate of the upper left corner where the image should be aligned |
* @param y_upperleft the coordinate of the upper left corner where the image should be aligned |
* @param x_lowerright the coordinate of the lower right corner where the image should be aligned |
* @param y_lowerright the coordinate of the lower right corner where the image should be aligned |
* @param pixmap pointer to the image pixmap |
* @param name the name of the image point |
*/ |
FixedImageOverlay(qreal x_upperleft, qreal y_upperleft, qreal x_lowerright, qreal y_lowerright, QPixmap* pixmap, QString name = QString()); |
virtual void draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &viewport, const QPoint offset); |
virtual ~FixedImageOverlay(); |
private: |
qreal x_lowerright; |
qreal y_lowerright; |
}; |
} |
#endif |
/QMK-Groundstation/trunk/Classes/QMapControl/openaerialmapadapter.cpp |
---|
0,0 → 1,37 |
/* |
* |
* This file is part of QMapControl, |
* an open-source cross-platform map widget |
* |
* Copyright (C) 2007 - 2009 Kai Winter |
* |
* This program is free software: you can redistribute it and/or modify |
* it under the terms of the GNU Lesser General Public License as published by |
* the Free Software Foundation, either version 3 of the License, or |
* (at your option) any later version. |
* |
* This program is distributed in the hope that it will be useful, |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU Lesser General Public License for more details. |
* |
* You should have received a copy of the GNU Lesser General Public License |
* along with QMapControl. If not, see <http://www.gnu.org/licenses/>. |
* |
* Contact e-mail: kaiwinter@gmx.de |
* Program URL : http://qmapcontrol.sourceforge.net/ |
* |
*/ |
#include "openaerialmapadapter.h" |
namespace qmapcontrol |
{ |
OpenAerialMapAdapter::OpenAerialMapAdapter() |
: TileMapAdapter("tile.openaerialmap.org", "/tiles/1.0.0/openaerialmap-900913/%1/%2/%3.png", 256, 0, 17) |
{ |
} |
OpenAerialMapAdapter::~OpenAerialMapAdapter() |
{ |
} |
} |
/QMK-Groundstation/trunk/Classes/QMapControl/openaerialmapadapter.h |
---|
0,0 → 1,49 |
/* |
* |
* This file is part of QMapControl, |
* an open-source cross-platform map widget |
* |
* Copyright (C) 2007 - 2009 Kai Winter |
* |
* This program is free software: you can redistribute it and/or modify |
* it under the terms of the GNU Lesser General Public License as published by |
* the Free Software Foundation, either version 3 of the License, or |
* (at your option) any later version. |
* |
* This program is distributed in the hope that it will be useful, |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU Lesser General Public License for more details. |
* |
* You should have received a copy of the GNU Lesser General Public License |
* along with QMapControl. If not, see <http://www.gnu.org/licenses/>. |
* |
* Contact e-mail: kaiwinter@gmx.de |
* Program URL : http://qmapcontrol.sourceforge.net/ |
* |
*/ |
#ifndef OPENAERIALMAPADAPTER_H |
#define OPENAERIALMAPADAPTER_H |
#include "tilemapadapter.h" |
namespace qmapcontrol |
{ |
//! MapAdapter for OpenStreetMap |
/*! |
* This is a conveniece class, which extends and configures a TileMapAdapter. Source of maps is http://www.openaerialmap.org/ |
* @author Kai Winter <kaiwinter@gmx.de> |
*/ |
class OpenAerialMapAdapter : public TileMapAdapter |
{ |
Q_OBJECT |
public: |
//! constructor |
/*! |
* This construct a OpenAerialMap Adapter |
*/ |
OpenAerialMapAdapter(); |
virtual ~OpenAerialMapAdapter(); |
}; |
} |
#endif |
/QMK-Groundstation/trunk/Classes/QMapControl/point.h |
---|
129,7 → 129,7 |
/*! |
* @return the latitude of the point |
*/ |
qreal latitude() const; |
qreal latitude() const; |
//! returns the coordinate of the point |
/*! |
137,7 → 137,7 |
* the y component the latitude |
* @return the coordinate of a point |
*/ |
QPointF coordinate() const; |
QPointF coordinate() const; |
virtual QList<Point*> points(); |
152,7 → 152,7 |
*/ |
QPixmap* pixmap(); |
//! Sets the zoom level on which the point´s pixmap gets displayed on full size |
//! Sets the zoom level on which the point�s pixmap gets displayed on full size |
/*! |
* Use this method to set a zoom level on which the pixmap gets displayed with its real size. |
* On zoomlevels below it will be displayed smaller, and on zoom levels thereover it will be displayed larger |
163,7 → 163,7 |
//! sets a minimal size for the pixmap |
/*! |
* When the point´s pixmap should change its size on zooming, this method sets the minimal size. |
* When the point's pixmap should change its size on zooming, this method sets the minimal size. |
* @see setBaselevel |
* @param minsize the minimal size which the pixmap should have |
*/ |