/home/martin/workspace/OpenStreetNav/src/displayer/DisplayLine.h
Go to the documentation of this file.
00001 /*
00002  * DisplayLine.h
00003  *
00004  *  Created on: Dec 29, 2011
00005  *      Author: martin
00006  */
00007 
00008 #ifndef DISPLAYLINE_H_
00009 #define DISPLAYLINE_H_
00010 
00011 #include "DisplayElement.h"
00012 
00013 namespace display
00014 {
00015 
00016 class DisplayLine : public DisplayElement
00017 {
00018 public:
00019     DisplayLine(geo::Point p1, geo::Point p2, bool arrow, std::unique_ptr<DisplayStyle> && style);
00020     DisplayElementType get_type() const;
00021     bool operator<(DisplayElement const& other) const;
00022     bool operator>(DisplayElement const& other) const;
00023     bool operator<=(DisplayElement const& other) const;
00024     bool operator>=(DisplayElement const& other) const;
00025     bool operator==(DisplayElement const& other) const;
00026     bool operator!=(DisplayElement const& other) const;
00027     virtual ~DisplayLine();
00028 protected:
00029     virtual void draw_internal(Cairo::RefPtr<Cairo::Context> cr, proj::MapProjection& pr) const;
00030 private:
00031     geo::Point p1, p2;
00032     bool arrow;
00033 };
00034 
00035 } /* namespace display */
00036 #endif /* DISPLAYLINE_H_ */
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines