aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleSGInval.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/SampleSGInval.cpp')
-rw-r--r--samplecode/SampleSGInval.cpp94
1 files changed, 0 insertions, 94 deletions
diff --git a/samplecode/SampleSGInval.cpp b/samplecode/SampleSGInval.cpp
deleted file mode 100644
index 44cdcb91d9..0000000000
--- a/samplecode/SampleSGInval.cpp
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "SampleCode.h"
-#include "SkCanvas.h"
-#include "SkSGColor.h"
-#include "SkSGDraw.h"
-#include "SkSGGroup.h"
-#include "SkSGInvalidationController.h"
-#include "SkSGRect.h"
-#include "SkSGTransform.h"
-#include "SkAnimTimer.h"
-
-#include <cmath>
-
-class SGInvalView final : public SampleView {
-public:
- SGInvalView() {}
-
-protected:
- void onOnceBeforeDraw() override {
- fRect1 = sksg::Rect::Make(SkRect::MakeLTRB(100, 100, 100, 100));
- fRect2 = sksg::Rect::Make(SkRect::MakeLTRB(300, 200, 300, 200));
- fColor1 = sksg::Color::Make(0);
- fColor2 = sksg::Color::Make(0);
-
- fRoot = sksg::Group::Make();
- fRoot->addChild(sksg::Draw::Make(fRect1, fColor1));
- fRoot->addChild(sksg::Transform::Make(sksg::Draw::Make(fRect2, fColor2),
- SkMatrix::MakeScale(1.5f, 1.5f)));
- }
-
- bool onQuery(SkEvent* evt) override {
- if (SampleCode::TitleQ(*evt)) {
- SampleCode::TitleR(evt, "SGInval");
- return true;
- }
-
- return this->INHERITED::onQuery(evt);
- }
-
- void onDrawContent(SkCanvas* canvas) override {
- sksg::InvalidationController ic;
- fRoot->revalidate(&ic, SkMatrix::I());
-
- // TODO: clip/cull
- fRoot->render(canvas);
-
- SkPaint p;
- p.setColor(0xffff0000);
- p.setStyle(SkPaint::kStroke_Style);
- p.setAntiAlias(true);
- p.setStrokeWidth(0);
-
- for (const auto& r : ic) {
- canvas->drawRect(r, p);
- }
- }
-
- bool onAnimate(const SkAnimTimer& timer) override {
- if (!fRoot) {
- return true;
- }
-
- static constexpr SkScalar kSize = 50;
- static constexpr SkScalar kRate = 1.0f / 500;
- const auto t = timer.msec() * kRate;
-
- fRect1->setR(fRect1->getL() + kSize * (1 + std::sin(t)));
- fRect1->setB(fRect1->getT() + kSize * (1 + std::cos(t)));
- fRect2->setR(fRect2->getL() + kSize * (1 + std::cos(SK_ScalarPI / 2 + t)));
- fRect2->setB(fRect2->getT() + kSize * (1 + std::sin(SK_ScalarPI / 2 + t)));
-
- fColor1->setColor(SkColorSetARGB(128 * (1 + std::sin(t)), 0, 0x80, 0));
- fColor2->setColor(SkColorSetARGB(128 * (1 + std::cos(t)), 0, 0, 0x80));
- return true;
- }
-
-private:
- typedef SampleView INHERITED;
-
- sk_sp<sksg::Rect> fRect1,
- fRect2;
- sk_sp<sksg::Color> fColor1,
- fColor2;
- sk_sp<sksg::Group> fRoot;
-};
-
-static SkView* SGInvalFactory() { return new SGInvalView; }
-static SkViewRegister reg(SGInvalFactory);