SkBitmap::scrollRect changes pixels, but only if not immutable.
scrollRect will now return false if the bitmap is immutable, and call notifyPixelsChanged when changing the pixels. This will give the bitmap a new generation ID. Review URL: https://codereview.appspot.com/6480046 git-svn-id: http://skia.googlecode.com/svn/trunk@5230 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
825bb95d6a
commit
6a9368d411
@ -395,7 +395,8 @@ public:
|
||||
|
||||
/** Scroll (a subset of) the contents of this bitmap by dx/dy. If there are
|
||||
no pixels allocated (i.e. getPixels() returns null) the method will
|
||||
still update the inval region (if present).
|
||||
still update the inval region (if present). If the bitmap is immutable,
|
||||
do nothing and return false.
|
||||
|
||||
@param subset The subset of the bitmap to scroll/move. To scroll the
|
||||
entire contents, specify [0, 0, width, height] or just
|
||||
|
@ -11,6 +11,10 @@
|
||||
bool SkBitmap::scrollRect(const SkIRect* subset, int dx, int dy,
|
||||
SkRegion* inval) const
|
||||
{
|
||||
if (this->isImmutable()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (NULL != subset) {
|
||||
SkBitmap tmp;
|
||||
|
||||
@ -113,5 +117,7 @@ bool SkBitmap::scrollRect(const SkIRect* subset, int dx, int dy,
|
||||
dst += rowBytes;
|
||||
src += rowBytes;
|
||||
}
|
||||
|
||||
this->notifyPixelsChanged();
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user