Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1036)

Unified Diff: src/views/SkProgressView.cpp

Issue 1740383002: remove unneeded view subclasses (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « include/views/SkWidget.h ('k') | src/views/SkWidgets.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/views/SkProgressView.cpp
diff --git a/src/views/SkProgressView.cpp b/src/views/SkProgressView.cpp
deleted file mode 100644
index 7ce022dd7333bae59834fa8b540edd2513f515e6..0000000000000000000000000000000000000000
--- a/src/views/SkProgressView.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-#include "SkWidget.h"
-#include "SkCanvas.h"
-#include "SkMath.h"
-#include "SkShader.h"
-#include "SkInterpolator.h"
-#include "SkTime.h"
-
-SkProgressView::SkProgressView(uint32_t flags) : SkView(flags), fOnShader(nullptr), fOffShader(nullptr)
-{
- fValue = 0;
- fMax = 0;
- fInterp = nullptr;
- fDoInterp = false;
-}
-
-SkProgressView::~SkProgressView()
-{
- delete fInterp;
- SkSafeUnref(fOnShader);
- SkSafeUnref(fOffShader);
-}
-
-void SkProgressView::setMax(U16CPU max)
-{
- if (fMax != max)
- {
- fMax = SkToU16(max);
- if (fValue > 0)
- this->inval(nullptr);
- }
-}
-
-void SkProgressView::setValue(U16CPU value)
-{
- if (fValue != value)
- {
- if (fDoInterp)
- {
- if (fInterp)
- delete fInterp;
- fInterp = new SkInterpolator(1, 2);
- SkScalar x = (SkScalar)(fValue << 8);
- fInterp->setKeyFrame(0, SkTime::GetMSecs(), &x, 0);
- x = (SkScalar)(value << 8);
- fInterp->setKeyFrame(1, SkTime::GetMSecs() + 333, &x);
- }
- fValue = SkToU16(value);
- this->inval(nullptr);
- }
-}
-
-void SkProgressView::onDraw(SkCanvas* canvas)
-{
- if (fMax == 0)
- return;
-
- SkFixed percent;
-
- if (fInterp)
- {
- SkScalar x;
- if (fInterp->timeToValues(SkTime::GetMSecs(), &x) == SkInterpolator::kFreezeEnd_Result)
- {
- delete fInterp;
- fInterp = nullptr;
- }
- percent = (SkFixed)x; // now its 16.8
- percent = SkMax32(0, SkMin32(percent, fMax << 8)); // now its pinned
- percent = SkFixedDiv(percent, fMax << 8); // now its 0.16
- this->inval(nullptr);
- }
- else
- {
- U16CPU value = SkMax32(0, SkMin32(fValue, fMax));
- percent = SkFixedDiv(value, fMax);
- }
-
-
- SkRect r;
- SkPaint p;
-
- r.set(0, 0, this->width(), this->height());
- p.setAntiAlias(true);
-
- r.fRight = r.fLeft + SkScalarMul(r.width(), SkFixedToScalar(percent));
- p.setStyle(SkPaint::kFill_Style);
-
- p.setColor(SK_ColorDKGRAY);
- p.setShader(fOnShader);
- canvas->drawRect(r, p);
-
- p.setColor(SK_ColorWHITE);
- p.setShader(fOffShader);
- r.fLeft = r.fRight;
- r.fRight = this->width() - SK_Scalar1;
- if (r.width() > 0)
- canvas->drawRect(r, p);
-}
-
-#include "SkImageDecoder.h"
-
-static SkShader* inflate_shader(const char file[])
-{
- SkBitmap bm;
-
- return SkImageDecoder::DecodeFile(file, &bm) ?
- SkShader::CreateBitmapShader(bm, SkShader::kRepeat_TileMode, SkShader::kRepeat_TileMode) :
- nullptr;
-}
-
-void SkProgressView::onInflate(const SkDOM& dom, const SkDOM::Node* node)
-{
- this->INHERITED::onInflate(dom, node);
-
- const char* s;
-
- SkASSERT(fOnShader == nullptr);
- SkASSERT(fOffShader == nullptr);
-
- if ((s = dom.findAttr(node, "src-on")) != nullptr)
- fOnShader = inflate_shader(s);
- if ((s = dom.findAttr(node, "src-off")) != nullptr)
- fOffShader = inflate_shader(s);
- (void)dom.findBool(node, "do-interp", &fDoInterp);
-}
« no previous file with comments | « include/views/SkWidget.h ('k') | src/views/SkWidgets.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698