use globals to register custom effects
NOTREECHECKS=True NOTRY=True R=mtklein@google.com, caryclark@google.com, bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/498453003
This commit is contained in:
parent
a6cac4ce38
commit
7daaaa4425
@ -18,6 +18,18 @@
|
||||
|
||||
class FailImageFilter : public SkImageFilter {
|
||||
public:
|
||||
class Registrar {
|
||||
public:
|
||||
Registrar() {
|
||||
SkFlattenable::Register("FailImageFilter",
|
||||
#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
|
||||
FailImageFilter::DeepCreateProc,
|
||||
#else
|
||||
FailImageFilter::CreateProc,
|
||||
#endif
|
||||
FailImageFilter::GetFlattenableType());
|
||||
}
|
||||
};
|
||||
static FailImageFilter* Create() {
|
||||
return SkNEW(FailImageFilter);
|
||||
}
|
||||
@ -25,14 +37,7 @@ public:
|
||||
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(FailImageFilter)
|
||||
|
||||
protected:
|
||||
FailImageFilter() : INHERITED(0, NULL) {
|
||||
static bool gOnce;
|
||||
if (!gOnce) {
|
||||
gOnce = true;
|
||||
SkFlattenable::Register("FailImageFilter", this->getFactory(),
|
||||
this->GetFlattenableType());
|
||||
}
|
||||
}
|
||||
FailImageFilter() : INHERITED(0, NULL) {}
|
||||
|
||||
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
|
||||
SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE {
|
||||
@ -47,6 +52,8 @@ private:
|
||||
typedef SkImageFilter INHERITED;
|
||||
};
|
||||
|
||||
static FailImageFilter::Registrar gReg0;
|
||||
|
||||
SkFlattenable* FailImageFilter::CreateProc(SkReadBuffer& buffer) {
|
||||
SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 0);
|
||||
return FailImageFilter::Create();
|
||||
@ -54,20 +61,25 @@ SkFlattenable* FailImageFilter::CreateProc(SkReadBuffer& buffer) {
|
||||
|
||||
class IdentityImageFilter : public SkImageFilter {
|
||||
public:
|
||||
class Registrar {
|
||||
public:
|
||||
Registrar() {
|
||||
SkFlattenable::Register("IdentityImageFilter",
|
||||
#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
|
||||
IdentityImageFilter::DeepCreateProc,
|
||||
#else
|
||||
IdentityImageFilter::CreateProc,
|
||||
#endif
|
||||
IdentityImageFilter::GetFlattenableType());
|
||||
}
|
||||
};
|
||||
static IdentityImageFilter* Create(SkImageFilter* input = NULL) {
|
||||
return SkNEW_ARGS(IdentityImageFilter, (input));
|
||||
}
|
||||
|
||||
SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(IdentityImageFilter)
|
||||
protected:
|
||||
IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {
|
||||
static bool gOnce;
|
||||
if (!gOnce) {
|
||||
gOnce = true;
|
||||
SkFlattenable::Register("IdentityImageFilter", this->getFactory(),
|
||||
this->GetFlattenableType());
|
||||
}
|
||||
}
|
||||
IdentityImageFilter(SkImageFilter* input) : INHERITED(1, &input) {}
|
||||
|
||||
virtual bool onFilterImage(Proxy*, const SkBitmap& src, const Context&,
|
||||
SkBitmap* result, SkIPoint* offset) const SK_OVERRIDE {
|
||||
@ -84,6 +96,8 @@ private:
|
||||
typedef SkImageFilter INHERITED;
|
||||
};
|
||||
|
||||
static IdentityImageFilter::Registrar gReg1;
|
||||
|
||||
SkFlattenable* IdentityImageFilter::CreateProc(SkReadBuffer& buffer) {
|
||||
SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
|
||||
return IdentityImageFilter::Create(common.getInput(0));
|
||||
|
@ -25,6 +25,18 @@
|
||||
// perform a draw and this one does.
|
||||
class SimpleOffsetFilter : public SkImageFilter {
|
||||
public:
|
||||
class Registrar {
|
||||
public:
|
||||
Registrar() {
|
||||
SkFlattenable::Register("SimpleOffsetFilter",
|
||||
#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING
|
||||
SimpleOffsetFilter::DeepCreateProc,
|
||||
#else
|
||||
SimpleOffsetFilter::CreateProc,
|
||||
#endif
|
||||
SimpleOffsetFilter::GetFlattenableType());
|
||||
}
|
||||
};
|
||||
static SkImageFilter* Create(SkScalar dx, SkScalar dy, SkImageFilter* input) {
|
||||
return SkNEW_ARGS(SimpleOffsetFilter, (dx, dy, input));
|
||||
}
|
||||
@ -73,20 +85,15 @@ protected:
|
||||
|
||||
private:
|
||||
SimpleOffsetFilter(SkScalar dx, SkScalar dy, SkImageFilter* input)
|
||||
: SkImageFilter(1, &input), fDX(dx), fDY(dy) {
|
||||
static bool gOnce;
|
||||
if (!gOnce) {
|
||||
gOnce = true;
|
||||
SkFlattenable::Register("SimpleOffsetFilter", this->getFactory(),
|
||||
this->GetFlattenableType());
|
||||
}
|
||||
}
|
||||
: SkImageFilter(1, &input), fDX(dx), fDY(dy) {}
|
||||
|
||||
SkScalar fDX, fDY;
|
||||
|
||||
typedef SkImageFilter INHERITED;
|
||||
};
|
||||
|
||||
static SimpleOffsetFilter::Registrar gReg;
|
||||
|
||||
SkFlattenable* SimpleOffsetFilter::CreateProc(SkReadBuffer& buffer) {
|
||||
SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 1);
|
||||
SkScalar dx = buffer.readScalar();
|
||||
|
Loading…
Reference in New Issue
Block a user