diff options
author | 2012-06-27 20:44:52 +0000 | |
---|---|---|
committer | 2012-06-27 20:44:52 +0000 | |
commit | 58b20215f6d88b7e1cacae0b76226fced5109293 (patch) | |
tree | 9c81a0a623af654c89e0a3410d6a7615712e1385 /src/gpu/GrSWMaskHelper.h | |
parent | eca2dfb002888e4af590275a6da3f157ebb6473b (diff) |
Split GrSWMaskHelper into its own files
http://codereview.appspot.com/6350046/
git-svn-id: http://skia.googlecode.com/svn/trunk@4380 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/gpu/GrSWMaskHelper.h')
-rw-r--r-- | src/gpu/GrSWMaskHelper.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/gpu/GrSWMaskHelper.h b/src/gpu/GrSWMaskHelper.h new file mode 100644 index 0000000000..b789f99131 --- /dev/null +++ b/src/gpu/GrSWMaskHelper.h @@ -0,0 +1,63 @@ +/* + * Copyright 2012 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef GrSWMaskHelper_DEFINED +#define GrSWMaskHelper_DEFINED + +#include "GrColor.h" +#include "GrMatrix.h" +#include "GrNoncopyable.h" +#include "SkBitmap.h" +#include "SkDraw.h" +#include "SkRasterClip.h" +#include "SkRegion.h" + +class GrAutoScratchTexture; +class GrContext; +class GrTexture; +class SkPath; + +/** + * The GrSWMaskHelper helps generate clip masks using the software rendering + * path. + */ +class GrSWMaskHelper : public GrNoncopyable { +public: + GrSWMaskHelper(GrContext* context) + : fContext(context) { + } + + void draw(const GrRect& clientRect, SkRegion::Op op, + bool antiAlias, GrColor color); + + void draw(const SkPath& clientPath, SkRegion::Op op, + GrPathFill fill, bool antiAlias, GrColor color); + + bool init(const GrIRect& pathDevBounds, + const GrPoint* translate, + bool useMatrix); + + bool getTexture(GrAutoScratchTexture* tex); + + void toTexture(GrTexture* texture, bool clearToWhite); + + void clear(GrColor color) { + fBM.eraseColor(color); + } + +protected: +private: + GrContext* fContext; + GrMatrix fMatrix; + SkBitmap fBM; + SkDraw fDraw; + SkRasterClip fRasterClip; + + typedef GrNoncopyable INHERITED; +}; + +#endif GrSWMaskHelper_DEFINED |