aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/gpu/SkGrPixelRef.h
diff options
context:
space:
mode:
authorGravatar scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-12-07 19:14:45 +0000
committerGravatar scroggo@google.com <scroggo@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2012-12-07 19:14:45 +0000
commita2a31928470dfb642880f6ab2e4d34b1c7f5d476 (patch)
treee40e2e7fcef0807301bec7f5b0970d54bdc3e3f7 /include/gpu/SkGrPixelRef.h
parent7346df55c86a930afad54b0ff7aa6acf8f2a1e27 (diff)
Fix some extract subset bugs.
In SkBitmap::extractSubset, perform a deepCopy, if the pixelRef supports it. Fixes a bug in the 'extractbitmap' gm, which attempts to draw a subset of a texture backed bitmap (if the canvas is really an SkGpuCanvas). Also fix some bugs that happen when there is a pixel offset. These fixes get bypassed by the deepCopy, but a user can still set a pixel offset manually. When copying GPU backed bitmap with a pixel offset, copy the offset. If the new config is the same as the old, copy fRowBytes as well. Add a function to SkBitmap.cpp (getUpperLeftFromOffset) to find the x,y coordinate to use when copying to a new config. Fix a bug where readPixels copied to the correct desired config and we were setting the generation ID to match even though the desired config was not the same as the original config (caught by my new tests!). Add some tests to verify the correct behavior. Review URL: https://codereview.appspot.com/6839043 git-svn-id: http://skia.googlecode.com/svn/trunk@6710 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/gpu/SkGrPixelRef.h')
-rw-r--r--include/gpu/SkGrPixelRef.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/gpu/SkGrPixelRef.h b/include/gpu/SkGrPixelRef.h
index 4476a84a6f..0a32f21064 100644
--- a/include/gpu/SkGrPixelRef.h
+++ b/include/gpu/SkGrPixelRef.h
@@ -58,7 +58,7 @@ public:
protected:
// overrides from SkPixelRef
virtual bool onReadPixels(SkBitmap* dst, const SkIRect* subset) SK_OVERRIDE;
- virtual SkPixelRef* deepCopy(SkBitmap::Config dstConfig) SK_OVERRIDE;
+ virtual SkPixelRef* deepCopy(SkBitmap::Config dstConfig, const SkIRect* subset) SK_OVERRIDE;
private:
GrSurface* fSurface;