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

Unified Diff: experimental/PdfViewer/SkTracker.h

Issue 1266093003: Remove experimental/PdfViewer (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: 2015-08-03 (Monday) 10:43:56 EDT Created 5 years, 4 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 | « experimental/PdfViewer/SkTrackDevice.cpp ('k') | experimental/PdfViewer/SkTracker.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: experimental/PdfViewer/SkTracker.h
diff --git a/experimental/PdfViewer/SkTracker.h b/experimental/PdfViewer/SkTracker.h
deleted file mode 100644
index 3da24c1ee00d436312606c89d551904db2aee785..0000000000000000000000000000000000000000
--- a/experimental/PdfViewer/SkTracker.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright 2013 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkTracker_DEFINED
-#define SkTracker_DEFINED
-
-#include <stdio.h>
-
-#include "SkBitmap.h"
-#include "SkPoint.h"
-
-// TODO(edisonn): draw plan from point! - list of draw ops of a point, like a tree!
-// TODO(edisonn): Minimal PDF to draw some points - remove everything that it is not needed,
-// save pdf uncompressed
-
-#define MAX_TRACKING_POINTS 100
-
-/** \class SkTracker
- *
- * A Tracker can be attached to a SkTrackDevice and it will store the track pixels.
- * It can be used with SampleApp to investigate bugs (CL not checked in yet).
- *
- * The Tracker tracks 2 sets of points
- * A) one which is expected to issue breackpoints if the pixels are changes
- * B) one which if changes will disable the breackpoint
- * For point in A) there are two modes:
- * A.1) a breackpoint require that any of the points is changed
- * A.2) a breackpoint require that all of the points is changed
- * Points in B are allways in "any mode" - chaning the value of any pixel, will disable
- * the breackpoint
- *
- * Point in A) are used to show what are the areas of interest, while poit in B are used to
- * disable breackpoints which would be issued in background change.
- *
- */
-class SkTracker {
-public:
- SkTracker() : fEnabled(false)
- , fBreakOnAny(false)
- , fCntExpectedTouched(0)
- , fCntExpectedUntouched(0)
- , fHits(0) {}
-
- virtual ~SkTracker() {}
-
- // Clears all the points, but preserves the break mode.
- void clearPoints() {
- fCntExpectedTouched = 0;
- fCntExpectedUntouched = 0;
- }
-
- // Enable the breackpoints.
- void enableTracking(bool b) {
- fEnabled = b;
- }
-
- // Returns true if breackpoints are enabled.
- bool trackingEnabled() {
- return fEnabled;
- }
-
- // Puts the tracker in Any mode.
- void any() {
- fBreakOnAny = true;
- }
-
- // Puts the tracker in Any mode.
- void all() {
- fBreakOnAny = false;
- }
-
- // returns true in in All mode. False for Any mode.
- bool requireAllExpectedTouched() {
- return !fBreakOnAny;
- }
-
- // Returns the numbers of points in which if touched, would trigger a breackpoint.
- int cntExpectedTouched() {
- return fCntExpectedTouched;
- }
-
- // Returns the points which if touched, would trigger a breackpoint.
- // the Tracker owns the array
- const SkIPoint* expectedTouched() {
- return fExpectedTouched;
- }
-
- // Returns the numbers of points in which if touched, would disable a breackpoint.
- int cntExpectedUntouched() {
- return fCntExpectedUntouched;
- }
-
- // Returns the points which if touched, would disable a breackpoint.
- // the Tracker owns the array
- const SkIPoint* expectedUntouched() {
- return fExpectedUntouched;
- }
-
- // Adds a point which if changes in a drawFoo operation, would trigger a breakpoint.
- bool addExpectTouch(int x, int y) {
- if (fCntExpectedTouched >= MAX_TRACKING_POINTS) {
- return false;
- }
- if (found(x, y)) {
- return false;
- }
- fExpectedTouched[fCntExpectedTouched] = SkIPoint::Make(x, y);
- fCntExpectedTouched++;
- return true;
- }
-
- // Adds a point which if changes in a drawFoo operation, would disable a breakpoint.
- bool addExpectUntouch(int x, int y) {
- if (fCntExpectedUntouched >= MAX_TRACKING_POINTS) {
- return false;
- }
- if (found(x, y)) {
- return false;
- }
- fExpectedUntouched[fCntExpectedUntouched] = SkIPoint::Make(x, y);
- fCntExpectedUntouched++;
- return true;
- }
-
- // Starts a new rendering session - reset the number of hits.
- void newFrame() {
- fHits = 0;
- }
-
- // returns the number of breackpoints issues in this rendering session.
- int hits() {
- return fHits;
- }
-
- // Called before drawFoo to store the state of the pixels
- void before(const SkBitmap& bitmap) {
- if (fCntExpectedTouched == 0) {
- return;
- }
-
- for (int i = 0 ; i < fCntExpectedTouched; i++) {
- fBeforeTouched[i] = pickColor(bitmap, fExpectedTouched[i].x(), fExpectedTouched[i].y());
- }
- for (int i = 0 ; i < fCntExpectedUntouched; i++) {
- fBeforeUntouched[i] = pickColor(bitmap, fExpectedUntouched[i].x(),
- fExpectedUntouched[i].y());
- }
- }
-
- // Called after drawFoo to evaluate what pixels have changed, it could issue a breakpoint.
- // any/all of the expected touched has to be changed, and all expected untouched must be intact
- void after(const SkBitmap& bitmap) {
- if (fCntExpectedTouched == 0) {
- return;
- }
-
- bool doBreak;
- if (fBreakOnAny) {
- doBreak = false;
- for (int i = 0 ; i < fCntExpectedTouched; i++) {
- doBreak = doBreak || fBeforeTouched[i] != pickColor(bitmap, fExpectedTouched[i].x(),
- fExpectedTouched[i].y());
- }
- } else {
- doBreak = true;
- for (int i = 0 ; i < fCntExpectedTouched; i++) {
- doBreak = doBreak && fBeforeTouched[i] != pickColor(bitmap, fExpectedTouched[i].x(),
- fExpectedTouched[i].y());
- }
- }
-
- for (int i = 0 ; i < fCntExpectedUntouched; i++) {
- doBreak = doBreak && fBeforeUntouched[i] == pickColor(bitmap, fExpectedUntouched[i].x(),
- fExpectedUntouched[i].y());
- }
-
- if (doBreak) {
- fHits++;
- if (fEnabled) {
- breakExecution();
- }
- }
- }
-
-private:
- inline SkColor pickColor(const SkBitmap& bitmap, int x, int y) {
- return bitmap.getColor(x, y);
- }
-
- void breakExecution() {
- printf("break;\n");
- }
-
- inline bool found(int x, int y) {
- for (int i = 0 ; i < fCntExpectedTouched; i++) {
- if (x == fExpectedTouched[i].x() && y == fExpectedTouched[i].y()) {
- return true;
- }
- }
- for (int i = 0 ; i < fCntExpectedUntouched; i++) {
- if (x == fExpectedUntouched[i].x() && y == fExpectedUntouched[i].y()) {
- return true;
- }
- }
- return false;
- }
-
-
- bool fEnabled;
- // break on any change on expected touched or all.
- bool fBreakOnAny;
- SkIPoint fExpectedTouched[MAX_TRACKING_POINTS];
- SkColor fBeforeTouched[MAX_TRACKING_POINTS];
- int fCntExpectedTouched;
-
- SkIPoint fExpectedUntouched[MAX_TRACKING_POINTS];
- SkColor fBeforeUntouched[MAX_TRACKING_POINTS];
- int fCntExpectedUntouched;
-
- int fHits;
-};
-
-#endif // SkTracker_DEFINED
« no previous file with comments | « experimental/PdfViewer/SkTrackDevice.cpp ('k') | experimental/PdfViewer/SkTracker.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698