1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- /*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkWritePixelsRec_DEFINED
- #define SkWritePixelsRec_DEFINED
- #include "include/core/SkImageInfo.h"
- #include "include/core/SkPixmap.h"
- /**
- * Helper class to package and trim the parameters passed to writePixels()
- */
- struct SkWritePixelsRec {
- SkWritePixelsRec(const SkImageInfo& info, const void* pixels, size_t rowBytes, int x, int y)
- : fPixels(pixels)
- , fRowBytes(rowBytes)
- , fInfo(info)
- , fX(x)
- , fY(y)
- {}
- SkWritePixelsRec(const SkPixmap& pm, int x, int y)
- : fPixels(pm.addr())
- , fRowBytes(pm.rowBytes())
- , fInfo(pm.info())
- , fX(x)
- , fY(y)
- {}
- const void* fPixels;
- size_t fRowBytes;
- SkImageInfo fInfo;
- int fX;
- int fY;
- /*
- * On true, may have modified its fields (except fRowBytes) to make it a legal subset
- * of the specified dst width/height.
- *
- * On false, leaves self unchanged, but indicates that it does not overlap dst, or
- * is not valid (e.g. bad fInfo) for writePixels().
- */
- bool trim(int dstWidth, int dstHeight);
- };
- #endif
|