comparison Framework/Scene2D/Internals/CompositorHelper.h @ 888:6e888cf6a48b

renderers now have access to canvas width/height
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 10 Jul 2019 11:58:38 +0200
parents 266e2b0b9abc
children 6e79e8c9021c
comparison
equal deleted inserted replaced
871:4bc8d9609447 888:6e888cf6a48b
39 public: 39 public:
40 virtual ~ILayerRenderer() 40 virtual ~ILayerRenderer()
41 { 41 {
42 } 42 }
43 43
44 virtual void Render(const AffineTransform2D& transform) = 0; 44 virtual void Render(const AffineTransform2D& transform,
45 unsigned int canvasWidth,
46 unsigned int canvasHeight) = 0;
45 47
46 // "Update()" is only called if the type of the layer has not changed 48 // "Update()" is only called if the type of the layer has not changed
47 virtual void Update(const ISceneLayer& layer) = 0; 49 virtual void Update(const ISceneLayer& layer) = 0;
48 }; 50 };
49 51
63 typedef std::map<int, Item*> Content; 65 typedef std::map<int, Item*> Content;
64 66
65 const Scene2D& scene_; 67 const Scene2D& scene_;
66 IRendererFactory& factory_; 68 IRendererFactory& factory_;
67 Content content_; 69 Content content_;
70
71 // Only valid during a call to Refresh()
68 AffineTransform2D sceneTransform_; 72 AffineTransform2D sceneTransform_;
69 73 unsigned int canvasWidth_;
74 unsigned int canvasHeight_;
75
70 protected: 76 protected:
71 virtual void Visit(const ISceneLayer& layer, 77 virtual void Visit(const ISceneLayer& layer,
72 uint64_t layerIdentifier, 78 uint64_t layerIdentifier,
73 int depth); 79 int depth);
74 80