00001 /* 00002 * 00003 * This file is part of QMapControl, 00004 * an open-source cross-platform map widget 00005 * 00006 * Copyright (C) 2007 - 2008 Kai Winter 00007 * 00008 * This program is free software: you can redistribute it and/or modify 00009 * it under the terms of the GNU Lesser General Public License as published by 00010 * the Free Software Foundation, either version 3 of the License, or 00011 * (at your option) any later version. 00012 * 00013 * This program is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 * GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public License 00019 * along with QMapControl. If not, see <http://www.gnu.org/licenses/>. 00020 * 00021 * Contact e-mail: kaiwinter@gmx.de 00022 * Program URL : http://qmapcontrol.sourceforge.net/ 00023 * 00024 */ 00025 00026 #ifndef CURVE_H 00027 #define CURVE_H 00028 00029 #include "geometry.h" 00030 #include "point.h" 00031 00032 namespace qmapcontrol 00033 { 00035 00045 class Curve : public Geometry 00046 { 00047 Q_OBJECT 00048 public: 00049 virtual ~Curve(); 00050 00051 double Length; 00052 00053 // virtual Geometry Clone(); 00054 // virtual QRectF GetBoundingBox(); 00055 00056 // virtual Point EndPoint() = 0; 00057 // virtual Point StartPoint() = 0; 00058 // virtual Point Value() = 0; 00059 00060 protected: 00061 Curve(QString name = QString()); 00062 virtual void draw(QPainter* painter, const MapAdapter* mapadapter, const QRect &screensize, const QPoint offset) = 0; 00063 }; 00064 } 00065 #endif