Mercurial > hg > orthanc-stone
comparison Framework/Scene2D/Scene2D.h @ 602:03c4b998fcd0
display scene positions in the basic sample
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 29 Apr 2019 14:40:01 +0200 |
parents | 6129b1e5ba42 |
children | d9c0a66304cb |
comparison
equal
deleted
inserted
replaced
600:6129b1e5ba42 | 602:03c4b998fcd0 |
---|---|
37 virtual ~IVisitor() | 37 virtual ~IVisitor() |
38 { | 38 { |
39 } | 39 } |
40 | 40 |
41 virtual void Visit(const ISceneLayer& layer, | 41 virtual void Visit(const ISceneLayer& layer, |
42 uint64_t layerIdentifier, | |
42 int depth) = 0; | 43 int depth) = 0; |
43 }; | 44 }; |
44 | 45 |
45 private: | 46 private: |
46 typedef std::map<int, ISceneLayer*> Content; | 47 class Item; |
48 | |
49 typedef std::map<int, Item*> Content; | |
47 | 50 |
48 Content content_; | 51 Content content_; |
49 | |
50 AffineTransform2D sceneToCanvas_; | 52 AffineTransform2D sceneToCanvas_; |
51 AffineTransform2D canvasToScene_; | 53 AffineTransform2D canvasToScene_; |
54 uint64_t layerCounter_; | |
52 | 55 |
53 Scene2D(const Scene2D& other); | 56 Scene2D(const Scene2D& other); |
54 | 57 |
55 public: | 58 public: |
56 Scene2D() | 59 Scene2D() : |
60 layerCounter_(0) | |
57 { | 61 { |
58 } | 62 } |
59 | 63 |
60 ~Scene2D(); | 64 ~Scene2D(); |
61 | 65 |
66 | 70 |
67 void SetLayer(int depth, | 71 void SetLayer(int depth, |
68 ISceneLayer* layer); // Takes ownership | 72 ISceneLayer* layer); // Takes ownership |
69 | 73 |
70 void DeleteLayer(int depth); | 74 void DeleteLayer(int depth); |
75 | |
76 bool HasLayer(int depth) const; | |
77 | |
78 ISceneLayer& GetLayer(int depth) const; | |
71 | 79 |
72 void Apply(IVisitor& visitor) const; | 80 void Apply(IVisitor& visitor) const; |
73 | 81 |
74 const AffineTransform2D& GetSceneToCanvasTransform() const | 82 const AffineTransform2D& GetSceneToCanvasTransform() const |
75 { | 83 { |