aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/PdfViewer/SkTracker.h
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-10-11 18:26:45 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-10-11 18:26:45 +0000
commitd03c2c732e2e914f8429cfc8b077a7b9b853dd8e (patch)
tree9a4b77a021ff95bf1042f7d80b4225c49d7c8041 /experimental/PdfViewer/SkTracker.h
parent29d4e638641d6d089a0361619ff2a583fd1a827f (diff)
pdfviewer: more code comments + concat the pdf matrix with the existing matrix in canvas, instead of reseting it.
Review URL: https://codereview.chromium.org/27057003 git-svn-id: http://skia.googlecode.com/svn/trunk@11735 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/PdfViewer/SkTracker.h')
-rw-r--r--experimental/PdfViewer/SkTracker.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/experimental/PdfViewer/SkTracker.h b/experimental/PdfViewer/SkTracker.h
index 2f10fed334..ba368f3558 100644
--- a/experimental/PdfViewer/SkTracker.h
+++ b/experimental/PdfViewer/SkTracker.h
@@ -22,6 +22,18 @@
* 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:
@@ -33,47 +45,60 @@ public:
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;
@@ -86,6 +111,7 @@ public:
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;
@@ -98,14 +124,17 @@ public:
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;
@@ -120,6 +149,7 @@ public:
}
}
+ // 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) {