/* * Copyright 2014 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkCanvasPriv_DEFINED #define SkCanvasPriv_DEFINED #include "SkCanvas.h" class SkReadBuffer; class SkWriteBuffer; class SkAutoCanvasMatrixPaint : SkNoncopyable { public: SkAutoCanvasMatrixPaint(SkCanvas*, const SkMatrix*, const SkPaint*, const SkRect& bounds); ~SkAutoCanvasMatrixPaint(); private: SkCanvas* fCanvas; int fSaveCount; }; class SkCanvasPriv { public: enum { kDontClipToLayer_SaveLayerFlag = SkCanvas::kDontClipToLayer_PrivateSaveLayerFlag, }; // The lattice has pointers directly into the readbuffer static bool ReadLattice(SkReadBuffer&, SkCanvas::Lattice*); static void WriteLattice(SkWriteBuffer&, const SkCanvas::Lattice&); // return the byte-size of the lattice, even if the buffer is null // storage must be 4-byte aligned static size_t WriteLattice(void* storage, const SkCanvas::Lattice&); static SkCanvas::SaveLayerFlags LegacySaveFlagsToSaveLayerFlags(uint32_t legacySaveFlags); }; #endif