class SkAutoPixmapStorage : public SkPixmap { public:
SkAutoPixmapStorage();
~SkAutoPixmapStorage();
SkAutoPixmapStorage(SkAutoPixmapStorage&& other);
/** * Leave the moved-from object in a free-but-valid state.
*/
SkAutoPixmapStorage& operator=(SkAutoPixmapStorage&& other);
/** * Try to allocate memory for the pixels needed to match the specified Info. On success * return true and fill out the pixmap to point to that memory. The storage will be freed * when this object is destroyed, or if another call to tryAlloc() or alloc() is made. * * On failure, return false and reset() the pixmap to empty.
*/ bool tryAlloc(const SkImageInfo&);
/** * Allocate memory for the pixels needed to match the specified Info and fill out the pixmap * to point to that memory. The storage will be freed when this object is destroyed, * or if another call to tryAlloc() or alloc() is made. * * If the memory cannot be allocated, calls SK_ABORT().
*/ void alloc(const SkImageInfo&);
/** * Gets the size and optionally the rowBytes that would be allocated by SkAutoPixmapStorage if * alloc/tryAlloc was called.
*/ static size_t AllocSize(const SkImageInfo& info, size_t* rowBytes);
/** * Returns a void* of the allocated pixel memory and resets the pixmap. If the storage hasn't * been allocated, the result is NULL. The caller is responsible for calling sk_free to free * the returned memory.
*/
[[nodiscard]] void* detachPixels();
/** * Returns an SkData object wrapping the allocated pixels memory, and resets the pixmap. * If the storage hasn't been allocated, the result is NULL.
*/
[[nodiscard]] sk_sp<SkData> detachPixelsAsData();
// We wrap these so we can clear our internal storage
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.