diff options
author | edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-10-11 18:26:45 +0000 |
---|---|---|
committer | edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-10-11 18:26:45 +0000 |
commit | d03c2c732e2e914f8429cfc8b077a7b9b853dd8e (patch) | |
tree | 9a4b77a021ff95bf1042f7d80b4225c49d7c8041 /experimental/PdfViewer/SkTracker.h | |
parent | 29d4e638641d6d089a0361619ff2a583fd1a827f (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.h | 30 |
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) { |