| /* |
| * 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 |
| |