Home | History | Annotate | Download | only in core
      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