mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Bug 935778 - Part 0.7: Emit the correct type name from FilterNodeLightingSoftware; r=jrmuizel, parts r=dbaron
This commit is contained in:
parent
6c50fbdfed
commit
9c823473c2
@ -534,22 +534,22 @@ FilterNodeSoftware::Create(FilterType aType)
|
||||
filter = new FilterNodeUnpremultiplySoftware();
|
||||
break;
|
||||
case FilterType::POINT_DIFFUSE:
|
||||
filter = new FilterNodeLightingSoftware<PointLightSoftware, DiffuseLightingSoftware>();
|
||||
filter = new FilterNodeLightingSoftware<PointLightSoftware, DiffuseLightingSoftware>("FilterNodeLightingSoftware<PointLight, DiffuseLighting>");
|
||||
break;
|
||||
case FilterType::POINT_SPECULAR:
|
||||
filter = new FilterNodeLightingSoftware<PointLightSoftware, SpecularLightingSoftware>();
|
||||
filter = new FilterNodeLightingSoftware<PointLightSoftware, SpecularLightingSoftware>("FilterNodeLightingSoftware<PointLight, SpecularLighting>");
|
||||
break;
|
||||
case FilterType::SPOT_DIFFUSE:
|
||||
filter = new FilterNodeLightingSoftware<SpotLightSoftware, DiffuseLightingSoftware>();
|
||||
filter = new FilterNodeLightingSoftware<SpotLightSoftware, DiffuseLightingSoftware>("FilterNodeLightingSoftware<SpotLight, DiffuseLighting>");
|
||||
break;
|
||||
case FilterType::SPOT_SPECULAR:
|
||||
filter = new FilterNodeLightingSoftware<SpotLightSoftware, SpecularLightingSoftware>();
|
||||
filter = new FilterNodeLightingSoftware<SpotLightSoftware, SpecularLightingSoftware>("FilterNodeLightingSoftware<SpotLight, SpecularLighting>");
|
||||
break;
|
||||
case FilterType::DISTANT_DIFFUSE:
|
||||
filter = new FilterNodeLightingSoftware<DistantLightSoftware, DiffuseLightingSoftware>();
|
||||
filter = new FilterNodeLightingSoftware<DistantLightSoftware, DiffuseLightingSoftware>("FilterNodeLightingSoftware<DistantLight, DiffuseLighting>");
|
||||
break;
|
||||
case FilterType::DISTANT_SPECULAR:
|
||||
filter = new FilterNodeLightingSoftware<DistantLightSoftware, SpecularLightingSoftware>();
|
||||
filter = new FilterNodeLightingSoftware<DistantLightSoftware, SpecularLightingSoftware>("FilterNodeLightingSoftware<DistantLight, SpecularLighting>");
|
||||
break;
|
||||
}
|
||||
return filter;
|
||||
@ -3059,8 +3059,11 @@ static inline Point3D Normalized(const Point3D &vec) {
|
||||
}
|
||||
|
||||
template<typename LightType, typename LightingType>
|
||||
FilterNodeLightingSoftware<LightType, LightingType>::FilterNodeLightingSoftware()
|
||||
FilterNodeLightingSoftware<LightType, LightingType>::FilterNodeLightingSoftware(const char* aTypeName)
|
||||
: mSurfaceScale(0)
|
||||
#if defined(MOZILLA_INTERNAL_API) && (defined(DEBUG) || defined(FORCE_BUILD_REFCNT_LOGGING))
|
||||
, mTypeName(aTypeName)
|
||||
#endif
|
||||
{}
|
||||
|
||||
template<typename LightType, typename LightingType>
|
||||
|
@ -683,8 +683,12 @@ template<typename LightType, typename LightingType>
|
||||
class FilterNodeLightingSoftware : public FilterNodeSoftware
|
||||
{
|
||||
public:
|
||||
MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(FilterNodeLightingSoftware)
|
||||
FilterNodeLightingSoftware();
|
||||
#if defined(MOZILLA_INTERNAL_API) && (defined(DEBUG) || defined(FORCE_BUILD_REFCNT_LOGGING))
|
||||
// Helpers for refcounted
|
||||
virtual const char* typeName() const MOZ_OVERRIDE { return mTypeName; }
|
||||
virtual size_t typeSize() const MOZ_OVERRIDE { return sizeof(*this); }
|
||||
#endif
|
||||
explicit FilterNodeLightingSoftware(const char* aTypeName);
|
||||
virtual const char* GetName() MOZ_OVERRIDE { return "Lighting"; }
|
||||
using FilterNodeSoftware::SetAttribute;
|
||||
virtual void SetAttribute(uint32_t aIndex, Float) MOZ_OVERRIDE;
|
||||
@ -709,6 +713,9 @@ private:
|
||||
Float mSurfaceScale;
|
||||
Size mKernelUnitLength;
|
||||
Color mColor;
|
||||
#if defined(MOZILLA_INTERNAL_API) && (defined(DEBUG) || defined(FORCE_BUILD_REFCNT_LOGGING))
|
||||
const char* mTypeName;
|
||||
#endif
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -101,11 +101,18 @@ class RefCounted
|
||||
mutable typename Conditional<Atomicity == AtomicRefCount, Atomic<MozRefCountType>, MozRefCountType>::Type refCnt;
|
||||
};
|
||||
|
||||
#if defined(MOZILLA_INTERNAL_API) && (defined(DEBUG) || defined(FORCE_BUILD_REFCNT_LOGGING))
|
||||
#define MOZ_DECLARE_REFCOUNTED_TYPENAME(T) \
|
||||
const char* typeName() const { return #T; }
|
||||
const char* typeName() const { return #T; } \
|
||||
size_t typeSize() const { return sizeof(*this); }
|
||||
|
||||
#define MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(T) \
|
||||
virtual const char* typeName() const { return #T; }
|
||||
virtual const char* typeName() const { return #T; } \
|
||||
virtual size_t typeSize() const { return sizeof(*this); }
|
||||
#else
|
||||
#define MOZ_DECLARE_REFCOUNTED_TYPENAME(T)
|
||||
#define MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(T)
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user