| /* |
| * 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: |
| // 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&); |
| }; |
| |
| #endif |