[skotty] Clip/scale/center animations in Viewer
Animations have explicit bounds. Updated Viewer to map the animation to its full viewport. TBR= Change-Id: I5a016cace8ae97e9b4f0b93261fcfb4993ea2307 Reviewed-on: https://skia-review.googlesource.com/90263 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Florin Malita <fmalita@chromium.org>
This commit is contained in:
parent
20aaaeebc1
commit
aa4dc62139
@ -8,6 +8,7 @@
|
||||
#include "SkottySlide.h"
|
||||
|
||||
#include "SkAnimTimer.h"
|
||||
#include "SkCanvas.h"
|
||||
#include "Skotty.h"
|
||||
#include "SkStream.h"
|
||||
|
||||
@ -42,6 +43,12 @@ SkISize SkottySlide::getDimensions() const {
|
||||
|
||||
void SkottySlide::draw(SkCanvas* canvas) {
|
||||
if (fAnimation) {
|
||||
SkAutoCanvasRestore acr(canvas, true);
|
||||
const auto animationBounds = SkRect::Make(fAnimation->size().toCeil());
|
||||
canvas->concat(SkMatrix::MakeRectToRect(animationBounds,
|
||||
SkRect::Make(canvas->imageInfo().bounds()),
|
||||
SkMatrix::kCenter_ScaleToFit));
|
||||
canvas->clipRect(animationBounds);
|
||||
fAnimation->render(canvas);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user