diff options
author | David Laing <david.laing@nokia.com> | 2012-01-05 16:21:45 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-09 20:55:07 +0100 |
commit | 9a5bcb41a44cd9108690606b79396e424cba983d (patch) | |
tree | f90e0f66c7812de24e8cc1f2b3a03b52bc13056d /src/location/maps/qgeomap_p.h | |
parent | f75c61a5eed56327fce5a1d798085bc950178089 (diff) | |
download | qtlocation-9a5bcb41a44cd9108690606b79396e424cba983d.tar.gz |
Adding private API warnings for the Maps API.
Also renamed some of the files to follow the naming conventions
for private header files.
Change-Id: I84a6bc0956b942861dfb63169cb4cdcc2033f2df
Reviewed-by: Alex Wilson <alex.wilson@nokia.com>
Diffstat (limited to 'src/location/maps/qgeomap_p.h')
-rw-r--r-- | src/location/maps/qgeomap_p.h | 182 |
1 files changed, 27 insertions, 155 deletions
diff --git a/src/location/maps/qgeomap_p.h b/src/location/maps/qgeomap_p.h index 60c1bb5e..4b077a36 100644 --- a/src/location/maps/qgeomap_p.h +++ b/src/location/maps/qgeomap_p.h @@ -52,98 +52,37 @@ // We mean it. // -#include <QList> -#include <QSet> -#include <QVector> -#include <QPair> -#include <QPolygonF> -#include <QSizeF> -#include <QVector3D> -#include <QMatrix4x4> -#include <QString> - -#include "qgeocameradata.h" -#include "qgeofrustum_p.h" +#include <QObject> +#include "qgeocameradata_p.h" #include "qgeomaptype.h" -#include <QSharedPointer> - QT_BEGIN_NAMESPACE +class QGeoCoordinate; + class QGeoMappingManager; -class QGeoTile; class QGeoTileCache; -class QGeoTileSpec; -class QGeoMap; +class QGeoMapPrivate; +class MapItem; class QGeoMapController; -class QGeoMapSphere; -class QGeoProjection; class QGLCamera; -class QGLSceneNode; class QGLPainter; -class QGeoMapPrivate; +class QPointF; -struct TileMap +class Q_LOCATION_EXPORT QGeoMap : public QObject { - TileMap(int minY, int maxY); - - int size; - int minY; - int maxY; - QVector<int> minX; - QVector<int> maxX; - - void adjust(int tileX, int tileY); -}; - -class IntersectGenerator -{ -public: - enum Axis { - XAxis, - YAxis - }; - IntersectGenerator(const QGeoMapPrivate *mp, - double p1, - double p2, - int t1, - int t2, - Axis axis, - int zoomLevel); - - bool hasNext() const; - QPair<double, int> value() const; - void next(); - -private: - void generateValue(); - -protected: - const QGeoMapPrivate *mp_; - Axis axis_; - int zoomLevel_; - - bool hasNext_; - QPair<double, int> value_; + Q_OBJECT - int current_; - int step_; - int end_; + Q_PROPERTY(QGeoCameraData camera READ cameraData WRITE setCameraData NOTIFY cameraDataChanged) + Q_PROPERTY(QGeoMapType activeMapType READ activeMapType WRITE setActiveMapType NOTIFY activeMapTypeChanged) - int adjust_; - double first_; - double denom_; -}; - -class QGeoMapPrivate -{ public: - QGeoMapPrivate(QGeoMap *parent, QGeoTileCache *cache, int maxZoom, int tileSize); - virtual ~QGeoMapPrivate(); + QGeoMap(QGeoTileCache *cache, QObject *parent = 0); + virtual ~QGeoMap(); QGeoTileCache* tileCache(); @@ -154,99 +93,32 @@ public: QGLCamera* glCamera() const; void paintGL(QGLPainter *painter); - void setCameraData(const QGeoCameraData &cameraData); - QGeoCameraData cameraData() const; - void resize(int width, int height); int width() const; int height() const; - double aspectRatio() const; - QGLSceneNode* createTileSpecNode(const QGeoTileSpec &tileSpec); - QGLSceneNode* createTileNode(const QGeoTile &tile); - - QRect specToRect(const QGeoTileSpec &tileSpec) const; + void setCameraData(const QGeoCameraData &cameraData); + QGeoCameraData cameraData() const; - void update(); + QGeoCoordinate screenPositionToCoordinate(const QPointF &pos, bool clipToViewport = true) const; + QPointF coordinateToScreenPosition(const QGeoCoordinate &coordinate, bool clipToViewport = true) const; - const QGeoMapType activeMapType() const; void setActiveMapType(const QGeoMapType mapType); + const QGeoMapType activeMapType() const; - QGeoCoordinate screenPositionToCoordinate(const QPointF &pos) const; - QPointF coordinateToScreenPosition(const QGeoCoordinate &coordinate) const; - - QVector2D pointToTile(const QVector3D &point, int zoom, bool roundUp = false) const; - QVector3D tileXIntersectToPoint(int zoomLevel, int x) const; - QVector3D tileYIntersectToPoint(int zoomLevel, int y) const; +public Q_SLOTS: + void update(); - void tileFetched(const QGeoTileSpec &spec); +Q_SIGNALS: + void updateRequired(); + void cameraDataChanged(const QGeoCameraData &cameraData); + void activeMapTypeChanged(); private: - void updateGlCamera(QGLCamera* glCamera); - void updateFrustum(QGeoFrustum &frustum); - QList<QGeoTileSpec> updateVisibleTiles(); - - int width_; - int height_; - double aspectRatio_; - - QGeoMap *map_; - QGeoTileCache* cache_; - QGeoMappingManager *manager_; - QString pluginString_; - QGeoMapController *controller_; - - QSharedPointer<QGeoProjection> projection_; - - QGLCamera *glCamera_; - - QGeoCameraData cameraData_; - QGeoFrustum frustum_; - QList<QGeoTileSpec> visibleTiles_; - - QGeoMapSphere *sphere_; - QGeoMapType activeMapType_; - - // from map2d_p.h - - void tilesFromLine(const QVector3D &p1, - const QVector3D &p2, - const QVector2D &t1, - const QVector2D &t2, - int zoomLevel, - TileMap &map) const; - - QList<QGeoTileSpec> tilesFromPoints(const QVector<QVector3D> &points, bool roundUp) const; - - QPair<QList<QVector3D>,QList<QVector3D> > clipPolygonToMap(const QList<QVector3D> &points) const; - - class LengthSorter { - public: - QVector3D base; - bool operator()(const QVector3D &lhs, const QVector3D &rhs) { - return (lhs - base).lengthSquared() < (rhs - base).lengthSquared(); - } - }; - - QList<QVector3D> pointsOnLineWithX(const QVector3D &p1, const QVector3D &p2, double x) const; - QList<QVector3D> pointsOnLineWithY(const QVector3D &p1, const QVector3D &p2, double y) const; - QList<QVector3D> pointsOnLineWithZ(const QVector3D &p1, const QVector3D &p2, double z) const; - - QPair<QList<QVector3D>,QList<QVector3D> > splitPolygonX(const QList<QVector3D> &points, double x) const; - QPair<QList<QVector3D>,QList<QVector3D> > splitPolygonY(const QList<QVector3D> &points, double y) const; - - int maxZoom_; - int tileSize_; - - double baseHeight_; - double sideLength_; - QPolygonF screenPoly_; - QPolygonF screenPolyLeft_; - QPolygonF screenPolyRight_; + QGeoMapPrivate *d_ptr; + Q_DECLARE_PRIVATE(QGeoMap) - QSizeF viewSize_; - QVector3D eye_; - QMatrix4x4 projectionMatrix_; + friend class QGeoMappingManager; }; QT_END_NAMESPACE |