• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • lib
  • marble
  • graphicsview
GeoGraphicsItem.h
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2009 Bastian Holst <bastianholst@gmx.de>
9 // Copyright 2009 Andrew Manson <g.real.ate@gmail.com>
10 //
11 
12 #ifndef MARBLE_GEOGRAPHICSITEM_H
13 #define MARBLE_GEOGRAPHICSITEM_H
14 
15 // Marble
16 #include "marble_export.h"
17 
18 class QString;
19 
20 namespace Marble
21 {
22 
23 class GeoDataFeature;
24 class GeoDataLatLonAltBox;
25 class GeoGraphicsItemPrivate;
26 class GeoDataStyle;
27 class GeoPainter;
28 class ViewportParams;
29 
30 class MARBLE_EXPORT GeoGraphicsItem
31 {
32  public:
33  explicit GeoGraphicsItem( const GeoDataFeature *feature );
34  virtual ~GeoGraphicsItem();
35 
36  enum GeoGraphicsItemFlag {
37  NoOptions = 0x0,
38  ItemIsMovable = 0x1,
39  ItemIsSelectable = 0x2,
40  ItemIsVisible = 0x4
41  };
42 
43  Q_DECLARE_FLAGS(GeoGraphicsItemFlags, GeoGraphicsItemFlag)
44 
45  bool visible() const;
46 
47  void setVisible( bool visible );
48 
53  GeoGraphicsItemFlags flags() const;
54 
59  void setFlag( GeoGraphicsItemFlag flag, bool enabled = true );
60 
65  void setFlags( GeoGraphicsItemFlags flags );
66 
70  int minZoomLevel() const;
71 
75  void setMinZoomLevel( int zoomLevel );
76 
80  const GeoDataFeature* feature() const;
81 
85  virtual const GeoDataLatLonAltBox& latLonAltBox() const;
86 
91  void setLatLonAltBox( const GeoDataLatLonAltBox& latLonAltBox );
92 
96  const GeoDataStyle* style() const;
97 
101  void setStyle( const GeoDataStyle* style );
102 
106  qreal zValue() const;
107 
111  void setZValue( qreal z );
112 
119  virtual void paint( GeoPainter *painter, const ViewportParams *viewport ) = 0;
120 
121  protected:
122  GeoGraphicsItemPrivate *const d;
123 
124  private:
125  GeoGraphicsItemPrivate *p();
126  const GeoGraphicsItemPrivate *p() const;
127 };
128 
129 } // Namespace Marble
130 Q_DECLARE_OPERATORS_FOR_FLAGS(Marble::GeoGraphicsItem::GeoGraphicsItemFlags)
131 
132 #endif
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::GeoGraphicsItem::GeoGraphicsItemFlag
GeoGraphicsItemFlag
Definition: GeoGraphicsItem.h:36
Marble::GeoGraphicsItem
Definition: GeoGraphicsItem.h:30
Marble::GeoDataStyle
an addressable style group
Definition: GeoDataStyle.h:55
MARBLE_EXPORT
#define MARBLE_EXPORT
Definition: marble_export.h:20
QString
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::GeoGraphicsItemPrivate
Definition: GeoGraphicsItem_p.h:23
marble_export.h
Marble::GeoDataFeature
A base class for all geodata features.
Definition: GeoDataFeature.h:57
Marble::GeoDataLatLonAltBox
A class that defines a 3D bounding box for geographic data.
Definition: GeoDataLatLonAltBox.h:49
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:39 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal