comparison Framework/Scene2D/Internals/CompositorHelper.cpp @ 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 03c4b998fcd0
children 6009c59d8676 2d8ab34c8c91
comparison
equal deleted inserted replaced
871:4bc8d9609447 888:6e888cf6a48b
105 105
106 std::auto_ptr<ILayerRenderer> renderer(factory_.Create(layer)); 106 std::auto_ptr<ILayerRenderer> renderer(factory_.Create(layer));
107 107
108 if (renderer.get() != NULL) 108 if (renderer.get() != NULL)
109 { 109 {
110 renderer->Render(sceneTransform_); 110 renderer->Render(sceneTransform_, canvasWidth_, canvasHeight_);
111 content_[depth] = new Item(renderer.release(), layer, layerIdentifier); 111 content_[depth] = new Item(renderer.release(), layer, layerIdentifier);
112 } 112 }
113 } 113 }
114 else 114 else
115 { 115 {
119 if (found->second->GetLastRevision() < layer.GetRevision()) 119 if (found->second->GetLastRevision() < layer.GetRevision())
120 { 120 {
121 found->second->UpdateRenderer(); 121 found->second->UpdateRenderer();
122 } 122 }
123 123
124 found->second->GetRenderer().Render(sceneTransform_); 124 found->second->GetRenderer().Render(sceneTransform_, canvasWidth_, canvasHeight_);
125 } 125 }
126 126
127 // Check invariants 127 // Check invariants
128 assert(content_.find(depth) == content_.end() || 128 assert(content_.find(depth) == content_.end() ||
129 (content_[depth]->GetLayerIdentifier() == layerIdentifier && 129 (content_[depth]->GetLayerIdentifier() == layerIdentifier &&
148 AffineTransform2D offset = AffineTransform2D::CreateOffset( 148 AffineTransform2D offset = AffineTransform2D::CreateOffset(
149 static_cast<double>(canvasWidth) / 2.0, 149 static_cast<double>(canvasWidth) / 2.0,
150 static_cast<double>(canvasHeight) / 2.0); 150 static_cast<double>(canvasHeight) / 2.0);
151 151
152 sceneTransform_ = AffineTransform2D::Combine(offset, scene_.GetSceneToCanvasTransform()); 152 sceneTransform_ = AffineTransform2D::Combine(offset, scene_.GetSceneToCanvasTransform());
153 canvasWidth_ = canvasWidth;
154 canvasHeight_ = canvasHeight;
153 scene_.Apply(*this); 155 scene_.Apply(*this);
154 } 156 }
155 } 157 }
156 } 158 }