Lines Matching refs:frame

136 void DamageAccumulator::applyMatrix4Transform(DirtyStack* frame) {  in applyMatrix4Transform()  argument
137 mapRect(frame->matrix4, frame->pendingDirty, &mHead->pendingDirty); in applyMatrix4Transform()
176 static DirtyStack* findParentRenderNode(DirtyStack* frame) { in findParentRenderNode() argument
177 while (frame->prev != frame) { in findParentRenderNode()
178 frame = frame->prev; in findParentRenderNode()
179 if (frame->type == TransformRenderNode) { in findParentRenderNode()
180 return frame; in findParentRenderNode()
186 static DirtyStack* findProjectionReceiver(DirtyStack* frame) { in findProjectionReceiver() argument
187 if (frame) { in findProjectionReceiver()
188 while (frame->prev != frame) { in findProjectionReceiver()
189 frame = frame->prev; in findProjectionReceiver()
190 if (frame->type == TransformRenderNode && frame->renderNode->hasProjectionReceiver()) { in findProjectionReceiver()
191 return frame; in findProjectionReceiver()
198 static void applyTransforms(DirtyStack* frame, DirtyStack* end) { in applyTransforms() argument
199 SkRect* rect = &frame->pendingDirty; in applyTransforms()
200 while (frame != end) { in applyTransforms()
201 if (frame->type == TransformRenderNode) { in applyTransforms()
202 mapRect(frame->renderNode->properties(), *rect, rect); in applyTransforms()
204 mapRect(frame->matrix4, *rect, rect); in applyTransforms()
206 frame = frame->prev; in applyTransforms()
210 void DamageAccumulator::applyRenderNodeTransform(DirtyStack* frame) { in applyRenderNodeTransform() argument
211 if (frame->pendingDirty.isEmpty()) { in applyRenderNodeTransform()
215 const RenderProperties& props = frame->renderNode->properties(); in applyRenderNodeTransform()
222 if (!frame->pendingDirty.intersect(SkRect::MakeIWH(props.getWidth(), props.getHeight()))) { in applyRenderNodeTransform()
223 frame->pendingDirty.setEmpty(); in applyRenderNodeTransform()
228 mapRect(props, frame->pendingDirty, &mHead->pendingDirty); in applyRenderNodeTransform()
231 if (props.getProjectBackwards() && !frame->pendingDirty.isEmpty()) { in applyRenderNodeTransform()
233 DirtyStack* parentNode = findParentRenderNode(frame); in applyRenderNodeTransform()
237 applyTransforms(frame, projectionReceiver); in applyRenderNodeTransform()
238 projectionReceiver->pendingDirty.join(frame->pendingDirty); in applyRenderNodeTransform()
241 frame->pendingDirty.setEmpty(); in applyRenderNodeTransform()
246 const DirtyStack* frame = mHead; in computeClipAndTransform() local
252 switch (frame->type) { in computeClipAndTransform()
254 const RenderProperties& props = frame->renderNode->properties(); in computeClipAndTransform()
265 frame->renderNode->applyViewPropertyTransforms(transform); in computeClipAndTransform()
268 mapRect(frame->matrix4, currentBounds, &pretransformResult); in computeClipAndTransform()
269 transform.multiply(*frame->matrix4); in computeClipAndTransform()
275 if (frame->prev == frame) break; in computeClipAndTransform()
276 frame = frame->prev; in computeClipAndTransform()
304 DirtyStack* frame = mHead; in findNearestStretchEffect() local
305 while (frame->prev != frame) { in findNearestStretchEffect()
306 if (frame->type == TransformRenderNode) { in findNearestStretchEffect()
307 const auto& renderNode = frame->renderNode; in findNearestStretchEffect()
315 computeTransformImpl(frame, &stretchMatrix); in findNearestStretchEffect()
327 frame = frame->prev; in findNearestStretchEffect()