aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBlitter.h
diff options
context:
space:
mode:
authorGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2008-12-19 18:24:35 +0000
committerGravatar reed@android.com <reed@android.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2008-12-19 18:24:35 +0000
commit6efdc47afc8bb24603fc0d15146ada609b728f2f (patch)
tree30fb21750ba6ab3de207c29a90b522d653af2b32 /src/core/SkBlitter.h
parent647254a7fd78090f64027383ff98e7ff2cc2667b (diff)
first cut at event-based test app
git-svn-id: http://skia.googlecode.com/svn/trunk@37 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/core/SkBlitter.h')
-rw-r--r--src/core/SkBlitter.h143
1 files changed, 0 insertions, 143 deletions
diff --git a/src/core/SkBlitter.h b/src/core/SkBlitter.h
deleted file mode 100644
index 11b84fdb37..0000000000
--- a/src/core/SkBlitter.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* libs/graphics/sgl/SkBlitter.h
-**
-** Copyright 2006, The Android Open Source Project
-**
-** 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 SkBlitter_DEFINED
-#define SkBlitter_DEFINED
-
-#include "SkBitmap.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkRefCnt.h"
-#include "SkRegion.h"
-#include "SkMask.h"
-
-class SkBlitter {
-public:
- virtual ~SkBlitter();
-
- virtual void blitH(int x, int y, int width);
- virtual void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]);
- virtual void blitV(int x, int y, int height, SkAlpha alpha);
- virtual void blitRect(int x, int y, int width, int height);
- virtual void blitMask(const SkMask&, const SkIRect& clip);
-
- /* If the blitter just sets a single value for each pixel, return the
- bitmap it draws into, and assign value. If not, return NULL and ignore
- the value parameter.
- */
- virtual const SkBitmap* justAnOpaqueColor(uint32_t* value);
-
- // not virtual, just helpers
- void blitMaskRegion(const SkMask& mask, const SkRegion& clip);
- void blitRectRegion(const SkIRect& rect, const SkRegion& clip);
- void blitRegion(const SkRegion& clip);
-
- // factories
- static SkBlitter* Choose(const SkBitmap& device,
- const SkMatrix& matrix,
- const SkPaint& paint) {
- return Choose(device, matrix, paint, NULL, 0);
- }
-
- static SkBlitter* Choose(const SkBitmap& device,
- const SkMatrix& matrix,
- const SkPaint& paint,
- void* storage, size_t storageSize);
-
- static SkBlitter* ChooseSprite(const SkBitmap& device,
- const SkPaint&,
- const SkBitmap& src,
- int left, int top,
- void* storage, size_t storageSize);
-
-private:
-};
-
-/** This blitter silently never draws anything.
-*/
-class SkNullBlitter : public SkBlitter {
-public:
- virtual void blitH(int x, int y, int width);
- virtual void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]);
- virtual void blitV(int x, int y, int height, SkAlpha alpha);
- virtual void blitRect(int x, int y, int width, int height);
- virtual void blitMask(const SkMask&, const SkIRect& clip);
- virtual const SkBitmap* justAnOpaqueColor(uint32_t* value);
-};
-
-/** Wraps another (real) blitter, and ensures that the real blitter is only
- called with coordinates that have been clipped by the specified clipRect.
- This means the caller need not perform the clipping ahead of time.
-*/
-class SkRectClipBlitter : public SkBlitter {
-public:
- void init(SkBlitter* blitter, const SkIRect& clipRect) {
- SkASSERT(!clipRect.isEmpty());
- fBlitter = blitter;
- fClipRect = clipRect;
- }
-
- // overrides
- virtual void blitH(int x, int y, int width);
- virtual void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]);
- virtual void blitV(int x, int y, int height, SkAlpha alpha);
- virtual void blitRect(int x, int y, int width, int height);
- virtual void blitMask(const SkMask&, const SkIRect& clip);
- virtual const SkBitmap* justAnOpaqueColor(uint32_t* value);
-
-private:
- SkBlitter* fBlitter;
- SkIRect fClipRect;
-};
-
-/** Wraps another (real) blitter, and ensures that the real blitter is only
-called with coordinates that have been clipped by the specified clipRgn.
-This means the caller need not perform the clipping ahead of time.
-*/
-class SkRgnClipBlitter : public SkBlitter {
-public:
- void init(SkBlitter* blitter, const SkRegion* clipRgn) {
- SkASSERT(clipRgn && !clipRgn->isEmpty());
- fBlitter = blitter;
- fRgn = clipRgn;
- }
-
- // overrides
- virtual void blitH(int x, int y, int width);
- virtual void blitAntiH(int x, int y, const SkAlpha[], const int16_t runs[]);
- virtual void blitV(int x, int y, int height, SkAlpha alpha);
- virtual void blitRect(int x, int y, int width, int height);
- virtual void blitMask(const SkMask&, const SkIRect& clip);
- virtual const SkBitmap* justAnOpaqueColor(uint32_t* value);
-
-private:
- SkBlitter* fBlitter;
- const SkRegion* fRgn;
-};
-
-class SkBlitterClipper {
-public:
- SkBlitter* apply(SkBlitter* blitter, const SkRegion* clip,
- const SkIRect* bounds = NULL);
-
-private:
- SkNullBlitter fNullBlitter;
- SkRectClipBlitter fRectBlitter;
- SkRgnClipBlitter fRgnBlitter;
-};
-
-#endif