]> git.mxchange.org Git - simgear.git/blobdiff - simgear/scene/util/SGPickCallback.hxx
Remove using std:: from the metar header, remove HTTP support, add very basic unit...
[simgear.git] / simgear / scene / util / SGPickCallback.hxx
index baaef4366bb652877afb3ab22ad6f6cc1b55edda..90b720f847396d245a4979e144b25b42b1b55942 100644 (file)
 #define SG_SCENE_PICKCALLBACK_HXX
 
 #include <simgear/structure/SGReferenced.hxx>
+#include <simgear/structure/SGSharedPtr.hxx>
 #include <simgear/math/SGMath.hxx>
 
 // Used to implement scenery interaction.
 // The interface is still under development
 class SGPickCallback : public SGReferenced {
 public:
+  enum Priority {
+    PriorityGUI = 0,
+    PriorityPanel = 1,
+    PriorityOther = 2
+  };
+
   struct Info {
     SGVec3d wgs84;
     SGVec3d local;
   };
 
+  SGPickCallback(Priority priority = PriorityOther) :
+    _priority(priority)
+  { }
+
   virtual ~SGPickCallback() {}
   virtual bool buttonPressed(int button, const Info& info)
   { return false; }
@@ -41,6 +52,12 @@ public:
   { }
   virtual void buttonReleased(void)
   { }
+
+  Priority getPriority() const
+  { return _priority; }
+
+private:
+  Priority _priority;
 };
 
 struct SGSceneryPick {