diff options
Diffstat (limited to 'skia/sgl/SkScanPriv.h')
-rw-r--r-- | skia/sgl/SkScanPriv.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/skia/sgl/SkScanPriv.h b/skia/sgl/SkScanPriv.h new file mode 100644 index 0000000..de7e3e7 --- /dev/null +++ b/skia/sgl/SkScanPriv.h @@ -0,0 +1,48 @@ +/* libs/graphics/sgl/SkScanPriv.h +** +** Copyright 2006, Google Inc. +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + +#ifndef SkScanPriv_DEFINED +#define SkScanPriv_DEFINED + +#include "SkScan.h" +#include "SkBlitter.h" + +class SkScanClipper { +public: + SkScanClipper(SkBlitter* blitter, const SkRegion* clip, const SkIRect& bounds); + + SkBlitter* getBlitter() const { return fBlitter; } + const SkIRect* getClipRect() const { return fClipRect; } + +private: + SkRectClipBlitter fRectBlitter; + SkRgnClipBlitter fRgnBlitter; + SkBlitter* fBlitter; + const SkIRect* fClipRect; +}; + +// clipRect == null means path is entirely inside the clip +void sk_fill_path(const SkPath& path, const SkIRect* clipRect, + SkBlitter* blitter, int stop_y, int shiftEdgesUp, + const SkRegion& clipRgn); + +// blit the rects above and below avoid, clipped to clp +void sk_blit_above_and_below(SkBlitter* blitter, const SkIRect& avoid, + const SkRegion& clip); + +#endif + |