1 /*
2  * Copyright 2011 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 SkPixelInfo_DEFINED
9 #define SkPixelInfo_DEFINED
10 
11 #include "SkImageInfo.h"
12 
13 struct SkPixelInfo {
14     SkColorType fColorType;
15     SkAlphaType fAlphaType;
16     size_t      fRowBytes;
17 
18     static bool CopyPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
19                            const SkImageInfo& srcInfo, const void* srcPixels, size_t srcRowBytes,
20                            SkColorTable* srcCTable = NULL);
21 };
22 
23 struct SkDstPixelInfo : SkPixelInfo {
24     void* fPixels;
25 };
26 
27 struct SkSrcPixelInfo : SkPixelInfo {
28     const void* fPixels;
29 
30     // Guaranteed to work even if src.fPixels and dst.fPixels are the same
31     // (but not if they overlap partially)
32     bool convertPixelsTo(SkDstPixelInfo* dst, int width, int height) const;
33 };
34 
35 #endif
36