196472deea70169396b8e1f576e470138f55fdb1freed/* 296472deea70169396b8e1f576e470138f55fdb1freed * Copyright 2014 Google Inc. 396472deea70169396b8e1f576e470138f55fdb1freed * 496472deea70169396b8e1f576e470138f55fdb1freed * Use of this source code is governed by a BSD-style license that can be 596472deea70169396b8e1f576e470138f55fdb1freed * found in the LICENSE file. 696472deea70169396b8e1f576e470138f55fdb1freed */ 796472deea70169396b8e1f576e470138f55fdb1freed 896472deea70169396b8e1f576e470138f55fdb1freed#ifndef SkReadPixelsRec_DEFINED 996472deea70169396b8e1f576e470138f55fdb1freed#define SkReadPixelsRec_DEFINED 1096472deea70169396b8e1f576e470138f55fdb1freed 1196472deea70169396b8e1f576e470138f55fdb1freed#include "SkImageInfo.h" 1296472deea70169396b8e1f576e470138f55fdb1freed 1396472deea70169396b8e1f576e470138f55fdb1freed/** 1496472deea70169396b8e1f576e470138f55fdb1freed * Helper class to package and trim the parameters passed to readPixels() 1596472deea70169396b8e1f576e470138f55fdb1freed */ 1696472deea70169396b8e1f576e470138f55fdb1freedstruct SkReadPixelsRec { 1796472deea70169396b8e1f576e470138f55fdb1freed SkReadPixelsRec(const SkImageInfo& info, void* pixels, size_t rowBytes, int x, int y) 1896472deea70169396b8e1f576e470138f55fdb1freed : fPixels(pixels) 1996472deea70169396b8e1f576e470138f55fdb1freed , fRowBytes(rowBytes) 2096472deea70169396b8e1f576e470138f55fdb1freed , fInfo(info) 2196472deea70169396b8e1f576e470138f55fdb1freed , fX(x) 2296472deea70169396b8e1f576e470138f55fdb1freed , fY(y) 2396472deea70169396b8e1f576e470138f55fdb1freed {} 2496472deea70169396b8e1f576e470138f55fdb1freed 2596472deea70169396b8e1f576e470138f55fdb1freed void* fPixels; 2696472deea70169396b8e1f576e470138f55fdb1freed size_t fRowBytes; 2796472deea70169396b8e1f576e470138f55fdb1freed SkImageInfo fInfo; 2896472deea70169396b8e1f576e470138f55fdb1freed int fX; 2996472deea70169396b8e1f576e470138f55fdb1freed int fY; 3096472deea70169396b8e1f576e470138f55fdb1freed 3196472deea70169396b8e1f576e470138f55fdb1freed /* 3296472deea70169396b8e1f576e470138f55fdb1freed * On true, may have modified its fields (except fRowBytes) to make it a legal subset 3396472deea70169396b8e1f576e470138f55fdb1freed * of the specified src width/height. 3496472deea70169396b8e1f576e470138f55fdb1freed * 3596472deea70169396b8e1f576e470138f55fdb1freed * On false, leaves self unchanged, but indicates that it does not overlap src, or 3696472deea70169396b8e1f576e470138f55fdb1freed * is not valid (e.g. bad fInfo) for readPixels(). 3796472deea70169396b8e1f576e470138f55fdb1freed */ 3896472deea70169396b8e1f576e470138f55fdb1freed bool trim(int srcWidth, int srcHeight); 3996472deea70169396b8e1f576e470138f55fdb1freed}; 4096472deea70169396b8e1f576e470138f55fdb1freed 4196472deea70169396b8e1f576e470138f55fdb1freed#endif 42