diff options
Diffstat (limited to 'src/core/SkNinePatchIter.h')
-rw-r--r-- | src/core/SkNinePatchIter.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/core/SkNinePatchIter.h b/src/core/SkNinePatchIter.h new file mode 100644 index 0000000000..2d7e9a8b19 --- /dev/null +++ b/src/core/SkNinePatchIter.h @@ -0,0 +1,42 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef SkNinePatchIter_DEFINED +#define SkNinePatchIter_DEFINED + +#include "SkScalar.h" + +struct SkIRect; +struct SkRect; + +/** + * Disect a ninepatch request into an sequence of src-rect / dst-rect pairs + */ +class SkNinePatchIter { +public: + static bool Valid(int imageWidth, int imageHeight, const SkIRect& center); + + SkNinePatchIter(int imageWidth, int imageHeight, const SkIRect& center, const SkRect& dst); + + /** + * While it returns true, use src/dst to draw the image/bitmap + */ + bool next(SkRect* src, SkRect* dst); + +private: + SkScalar fSrcX[4]; + SkScalar fSrcY[4]; + SkScalar fDstX[4]; + SkScalar fDstY[4]; + + int fCurrX; + int fCurrY; + bool fDone; +}; + +#endif + |