1/* 2 * Copyright 2014 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8#ifndef SkCanvasPriv_DEFINED 9#define SkCanvasPriv_DEFINED 10 11#include "SkCanvas.h" 12 13class SkReadBuffer; 14class SkWriteBuffer; 15 16class SkAutoCanvasMatrixPaint : SkNoncopyable { 17public: 18 SkAutoCanvasMatrixPaint(SkCanvas*, const SkMatrix*, const SkPaint*, const SkRect& bounds); 19 ~SkAutoCanvasMatrixPaint(); 20 21private: 22 SkCanvas* fCanvas; 23 int fSaveCount; 24}; 25 26class SkCanvasPriv { 27public: 28 // The lattice has pointers directly into the readbuffer 29 static bool ReadLattice(SkReadBuffer&, SkCanvas::Lattice*); 30 31 static void WriteLattice(SkWriteBuffer&, const SkCanvas::Lattice&); 32 33 // return the byte-size of the lattice, even if the buffer is null 34 // storage must be 4-byte aligned 35 static size_t WriteLattice(void* storage, const SkCanvas::Lattice&); 36}; 37 38#endif 39