Refactor SkImageFilter into its own .cpp file.

Review URL:  https://codereview.appspot.com/6465073/



git-svn-id: http://skia.googlecode.com/svn/trunk@5188 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
senorblanco@chromium.org 2012-08-20 15:43:14 +00:00
parent 28136b308f
commit bf2768bab9
6 changed files with 58 additions and 49 deletions

View File

@ -86,6 +86,7 @@
'<(skia_src_path)/core/SkGlyphCache.h',
'<(skia_src_path)/core/SkGraphics.cpp',
'<(skia_src_path)/core/SkInstCnt.cpp',
'<(skia_src_path)/core/SkImageFilter.cpp',
'<(skia_src_path)/core/SkLineClipper.cpp',
'<(skia_src_path)/core/SkMallocPixelRef.cpp',
'<(skia_src_path)/core/SkMask.cpp',
@ -191,6 +192,7 @@
'<(skia_include_path)/core/SkFontHost.h',
'<(skia_include_path)/core/SkGeometry.h',
'<(skia_include_path)/core/SkGraphics.h',
'<(skia_include_path)/core/SkImageFilter.h',
'<(skia_include_path)/core/SkInstCnt.h',
'<(skia_include_path)/core/SkMallocPixelRef.h',
'<(skia_include_path)/core/SkMask.h',

View File

@ -9,14 +9,12 @@
#define SkImageFilter_DEFINED
#include "SkFlattenable.h"
#include "SkSize.h"
class SkBitmap;
class SkDevice;
class SkMatrix;
struct SkIPoint;
struct SkIRect;
struct SkPoint;
struct SkRect;
class GrCustomStage;
class GrTexture;

View File

@ -10,6 +10,7 @@
#define SkBlurImageFilter_DEFINED
#include "SkSingleInputImageFilter.h"
#include "SkSize.h"
class SK_API SkBlurImageFilter : public SkSingleInputImageFilter {
public:

View File

@ -10,6 +10,7 @@
#define SkMorphologyImageFilter_DEFINED
#include "SkSingleInputImageFilter.h"
#include "SkSize.h"
class SK_API SkMorphologyImageFilter : public SkSingleInputImageFilter {
public:

View File

@ -0,0 +1,54 @@
/*
* Copyright 2012 The Android Open Source Project
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkImageFilter.h"
#include "SkRect.h"
SK_DEFINE_INST_COUNT(SkImageFilter)
bool SkImageFilter::filterImage(Proxy* proxy, const SkBitmap& src,
const SkMatrix& ctm,
SkBitmap* result, SkIPoint* loc) {
SkASSERT(result);
SkASSERT(loc);
/*
* Give the proxy first shot at the filter. If it returns false, ask
* the filter to do it.
*/
return (proxy && proxy->filterImage(this, src, ctm, result, loc)) ||
this->onFilterImage(proxy, src, ctm, result, loc);
}
bool SkImageFilter::filterBounds(const SkIRect& src, const SkMatrix& ctm,
SkIRect* dst) {
SkASSERT(&src);
SkASSERT(dst);
return this->onFilterBounds(src, ctm, dst);
}
bool SkImageFilter::onFilterImage(Proxy*, const SkBitmap&, const SkMatrix&,
SkBitmap*, SkIPoint*) {
return false;
}
bool SkImageFilter::canFilterImageGPU() const {
return false;
}
GrTexture* SkImageFilter::onFilterImageGPU(GrTexture* texture, const SkRect& rect) {
return NULL;
}
bool SkImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix& ctm,
SkIRect* dst) {
*dst = src;
return true;
}
bool SkImageFilter::asNewCustomStage(GrCustomStage**, GrTexture*) const {
return false;
}

View File

@ -2304,53 +2304,6 @@ bool SkPaint::nothingToDraw() const {
//////////// Move these to their own file soon.
SK_DEFINE_INST_COUNT(SkImageFilter)
bool SkImageFilter::filterImage(Proxy* proxy, const SkBitmap& src,
const SkMatrix& ctm,
SkBitmap* result, SkIPoint* loc) {
SkASSERT(result);
SkASSERT(loc);
/*
* Give the proxy first shot at the filter. If it returns false, ask
* the filter to do it.
*/
return (proxy && proxy->filterImage(this, src, ctm, result, loc)) ||
this->onFilterImage(proxy, src, ctm, result, loc);
}
bool SkImageFilter::filterBounds(const SkIRect& src, const SkMatrix& ctm,
SkIRect* dst) {
SkASSERT(&src);
SkASSERT(dst);
return this->onFilterBounds(src, ctm, dst);
}
bool SkImageFilter::onFilterImage(Proxy*, const SkBitmap&, const SkMatrix&,
SkBitmap*, SkIPoint*) {
return false;
}
bool SkImageFilter::canFilterImageGPU() const {
return false;
}
GrTexture* SkImageFilter::onFilterImageGPU(GrTexture* texture, const SkRect& rect) {
return NULL;
}
bool SkImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix& ctm,
SkIRect* dst) {
*dst = src;
return true;
}
bool SkImageFilter::asNewCustomStage(GrCustomStage**, GrTexture*) const {
return false;
}
////////////////////
SK_DEFINE_INST_COUNT(SkDrawLooper)
bool SkDrawLooper::canComputeFastBounds(const SkPaint& paint) {