| Index: skia/picture/SkPictureFlat.h
|
| ===================================================================
|
| --- skia/picture/SkPictureFlat.h (revision 16859)
|
| +++ skia/picture/SkPictureFlat.h (working copy)
|
| @@ -1,206 +0,0 @@
|
| -#ifndef SkPictureFlat_DEFINED
|
| -#define SkPictureFlat_DEFINED
|
| -
|
| -#include "SkChunkAlloc.h"
|
| -#include "SkBitmap.h"
|
| -#include "SkPicture.h"
|
| -#include "SkMatrix.h"
|
| -#include "SkPaint.h"
|
| -#include "SkPath.h"
|
| -#include "SkRegion.h"
|
| -
|
| -enum DrawType {
|
| - UNUSED,
|
| - CLIP_PATH,
|
| - CLIP_REGION,
|
| - CLIP_RECT,
|
| - CONCAT,
|
| - DRAW_BITMAP,
|
| - DRAW_BITMAP_MATRIX,
|
| - DRAW_BITMAP_RECT,
|
| - DRAW_PAINT,
|
| - DRAW_PATH,
|
| - DRAW_PICTURE,
|
| - DRAW_POINTS,
|
| - DRAW_POS_TEXT,
|
| - DRAW_POS_TEXT_H,
|
| - DRAW_POS_TEXT_H_TOP_BOTTOM, // fast variant of DRAW_POS_TEXT_H
|
| - DRAW_RECT,
|
| - DRAW_SPRITE,
|
| - DRAW_TEXT,
|
| - DRAW_TEXT_ON_PATH,
|
| - DRAW_TEXT_TOP_BOTTOM, // fast variant of DRAW_TEXT
|
| - DRAW_VERTICES,
|
| - RESTORE,
|
| - ROTATE,
|
| - SAVE,
|
| - SAVE_LAYER,
|
| - SCALE,
|
| - SKEW,
|
| - TRANSLATE
|
| -};
|
| -
|
| -enum DrawVertexFlags {
|
| - DRAW_VERTICES_HAS_TEXS = 0x01,
|
| - DRAW_VERTICES_HAS_COLORS = 0x02,
|
| - DRAW_VERTICES_HAS_INDICES = 0x04
|
| -};
|
| -
|
| -class SkRefCntPlayback {
|
| -public:
|
| - SkRefCntPlayback();
|
| - ~SkRefCntPlayback();
|
| -
|
| - int count() const { return fCount; }
|
| -
|
| - void reset(const SkRefCntRecorder*);
|
| -
|
| - void setCount(int count);
|
| - SkRefCnt* set(int index, SkRefCnt*);
|
| -
|
| - virtual void setupBuffer(SkFlattenableReadBuffer& buffer) const {
|
| - buffer.setRefCntArray(fArray, fCount);
|
| - }
|
| -
|
| -protected:
|
| - int fCount;
|
| - SkRefCnt** fArray;
|
| -};
|
| -
|
| -class SkTypefacePlayback : public SkRefCntPlayback {
|
| -public:
|
| - virtual void setupBuffer(SkFlattenableReadBuffer& buffer) const {
|
| - buffer.setTypefaceArray((SkTypeface**)fArray, fCount);
|
| - }
|
| -};
|
| -
|
| -class SkFactoryPlayback {
|
| -public:
|
| - SkFactoryPlayback(int count) : fCount(count) {
|
| - fArray = SkNEW_ARRAY(SkFlattenable::Factory, count);
|
| - }
|
| -
|
| - ~SkFactoryPlayback() {
|
| - SkDELETE_ARRAY(fArray);
|
| - }
|
| -
|
| - SkFlattenable::Factory* base() const { return fArray; }
|
| -
|
| - void setupBuffer(SkFlattenableReadBuffer& buffer) const {
|
| - buffer.setFactoryPlayback(fArray, fCount);
|
| - }
|
| -
|
| -private:
|
| - int fCount;
|
| - SkFlattenable::Factory* fArray;
|
| -};
|
| -
|
| -class SkFlatData {
|
| -public:
|
| - static int Compare(const SkFlatData* a, const SkFlatData* b) {
|
| - return memcmp(&a->fAllocSize, &b->fAllocSize, a->fAllocSize);
|
| - }
|
| -
|
| - int index() const { return fIndex; }
|
| -
|
| -#ifdef SK_DEBUG_SIZE
|
| - size_t size() const { return sizeof(fIndex) + fAllocSize; }
|
| -#endif
|
| -
|
| -protected:
|
| - static SkFlatData* Alloc(SkChunkAlloc* heap, int32_t size, int index);
|
| -
|
| - int fIndex;
|
| - int32_t fAllocSize;
|
| -};
|
| -
|
| -class SkFlatBitmap : public SkFlatData {
|
| -public:
|
| - static SkFlatBitmap* Flatten(SkChunkAlloc*, const SkBitmap&, int index,
|
| - SkRefCntRecorder*);
|
| -
|
| - void unflatten(SkBitmap* bitmap, SkRefCntPlayback* rcp) const {
|
| - SkFlattenableReadBuffer buffer(fBitmapData);
|
| - if (rcp) {
|
| - rcp->setupBuffer(buffer);
|
| - }
|
| - bitmap->unflatten(buffer);
|
| - }
|
| -
|
| -#ifdef SK_DEBUG_VALIDATE
|
| - void validate() const {
|
| - // to be written
|
| - }
|
| -#endif
|
| -
|
| -private:
|
| - char fBitmapData[1];
|
| - typedef SkFlatData INHERITED;
|
| -};
|
| -
|
| -class SkFlatMatrix : public SkFlatData {
|
| -public:
|
| - static SkFlatMatrix* Flatten(SkChunkAlloc* heap, const SkMatrix& matrix, int index);
|
| -
|
| - void unflatten(SkMatrix* result) const {
|
| - memcpy(result, fMatrixData, sizeof(SkMatrix));
|
| - }
|
| -
|
| -#ifdef SK_DEBUG_DUMP
|
| - void dump() const;
|
| -#endif
|
| -
|
| -#ifdef SK_DEBUG_VALIDATE
|
| - void validate() const {
|
| - // to be written
|
| - }
|
| -#endif
|
| -
|
| -private:
|
| - char fMatrixData[1];
|
| - typedef SkFlatData INHERITED;
|
| -};
|
| -
|
| -class SkFlatPaint : public SkFlatData {
|
| -public:
|
| - static SkFlatPaint* Flatten(SkChunkAlloc* heap, const SkPaint& paint,
|
| - int index, SkRefCntRecorder*,
|
| - SkRefCntRecorder* faceRecorder);
|
| -
|
| - void unflatten(SkPaint* result, SkRefCntPlayback* rcp,
|
| - SkTypefacePlayback* facePlayback) const {
|
| - Read(fPaintData, result, rcp, facePlayback);
|
| - }
|
| -
|
| - static void Read(const void* storage, SkPaint* paint, SkRefCntPlayback*,
|
| - SkTypefacePlayback* facePlayback);
|
| -
|
| -#ifdef SK_DEBUG_DUMP
|
| - void dump() const;
|
| -#endif
|
| -
|
| -private:
|
| - char fPaintData[1];
|
| - typedef SkFlatData INHERITED;
|
| -};
|
| -
|
| -class SkFlatRegion : public SkFlatData {
|
| -public:
|
| - static SkFlatRegion* Flatten(SkChunkAlloc* heap, const SkRegion& region, int index);
|
| -
|
| - void unflatten(SkRegion* result) const {
|
| - result->unflatten(fRegionData);
|
| - }
|
| -
|
| -#ifdef SK_DEBUG_VALIDATE
|
| - void validate() const {
|
| - // to be written
|
| - }
|
| -#endif
|
| -
|
| -private:
|
| - char fRegionData[1];
|
| - typedef SkFlatData INHERITED;
|
| -};
|
| -
|
| -#endif
|
|
|