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

Unified Diff: include/core/SkCanvas.h

Issue 163823002: Revert of add peekPixels to SkCanvas and SkSurface (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 6 years, 10 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 | « include/core/SkBitmapDevice.h ('k') | include/core/SkDevice.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkCanvas.h
diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h
index 971e4402d8fc0d20787877ba1f6976f6d07d59b0..7235efb2f0a9cd3b23132541d9c695b0c81e1704 100644
--- a/include/core/SkCanvas.h
+++ b/include/core/SkCanvas.h
@@ -76,12 +76,6 @@
SkMetaData& getMetaData();
- /**
- * Return ImageInfo for this canvas. If the canvas is not backed by pixels
- * (cpu or gpu), then the info's ColorType will be kUnknown_SkColorType.
- */
- SkImageInfo imageInfo() const;
-
///////////////////////////////////////////////////////////////////////////
/**
@@ -90,19 +84,16 @@
void flush();
/**
- * DEPRECATED: call imageInfo() instead.
* Return the width/height of the underlying device. The current drawable
* area may be small (due to clipping or saveLayer). For a canvas with
* no device, 0,0 will be returned.
*/
SkISize getDeviceSize() const;
- /**
- * DEPRECATED.
- * Return the canvas' device object, which may be null. The device holds
- * the bitmap of the pixels that the canvas draws into. The reference count
- * of the returned device is not changed by this call.
- */
+ /** Return the canvas' device object, which may be null. The device holds
+ the bitmap of the pixels that the canvas draws into. The reference count
+ of the returned device is not changed by this call.
+ */
SkBaseDevice* getDevice() const;
/**
@@ -133,20 +124,6 @@
GrContext* getGrContext();
///////////////////////////////////////////////////////////////////////////
-
- /**
- * If the canvas has pixels (and is not recording to a picture or other
- * non-raster target) and has direct access to its pixels (i.e. they are in
- * local RAM) return the const-address of those pixels, and if not null,
- * return the ImageInfo and rowBytes. The returned address is only valid
- * while the canvas object is in scope and unchanged. Any API calls made on
- * canvas (or its parent surface if any) will invalidate the
- * returned address (and associated information).
- *
- * On failure, returns NULL and the info and rowBytes parameters are
- * ignored.
- */
- const void* peekPixels(SkImageInfo* info, size_t* rowBytes);
/**
* This enum can be used with read/writePixels to perform a pixel ops to or
@@ -1042,9 +1019,6 @@
// default impl defers to getDevice()->newSurface(info)
virtual SkSurface* onNewSurface(const SkImageInfo&);
- // default impl defers to its device
- virtual const void* onPeekPixels(SkImageInfo*, size_t* rowBytes);
-
// Returns the canvas to be used by DrawIter. Default implementation
// returns this. Subclasses that encapsulate an indirect canvas may
// need to overload this method. The impl must keep track of this, as it
@@ -1232,47 +1206,4 @@
};
#define SkAutoCommentBlock(...) SK_REQUIRE_LOCAL_VAR(SkAutoCommentBlock)
-/**
- * If the caller wants read-only access to the pixels in a canvas, it can just
- * call canvas->peekPixels(), since that is the fastest way to "peek" at the
- * pixels on a raster-backed canvas.
- *
- * If the canvas has pixels, but they are not readily available to the CPU
- * (e.g. gpu-backed), then peekPixels() will fail, but readPixels() will
- * succeed (though be slower, since it will return a copy of the pixels).
- *
- * SkAutoROCanvasPixels encapsulates these two techniques, trying first to call
- * peekPixels() (for performance), but if that fails, calling readPixels() and
- * storing the copy locally.
- *
- * The caller must respect the restrictions associated with peekPixels(), since
- * that may have been called: The returned information is invalidated if...
- * - any API is called on the canvas (or its parent surface if present)
- * - the canvas goes out of scope
- */
-class SkAutoROCanvasPixels : SkNoncopyable {
-public:
- SkAutoROCanvasPixels(SkCanvas* canvas);
-
- // returns NULL on failure
- const void* addr() const { return fAddr; }
-
- // undefined if addr() == NULL
- size_t rowBytes() const { return fRowBytes; }
-
- // undefined if addr() == NULL
- const SkImageInfo& info() const { return fInfo; }
-
- // helper that, if returns true, installs the pixels into the bitmap. Note
- // that the bitmap may reference the address returned by peekPixels(), so
- // the caller must respect the restrictions associated with peekPixels().
- bool asROBitmap(SkBitmap*) const;
-
-private:
- SkBitmap fBitmap; // used if peekPixels() fails
- const void* fAddr; // NULL on failure
- SkImageInfo fInfo;
- size_t fRowBytes;
-};
-
#endif
« no previous file with comments | « include/core/SkBitmapDevice.h ('k') | include/core/SkDevice.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698