Bug 695845 - Part 2: Add ShadowImplData. r=cjones
This commit is contained in:
@@ -97,7 +97,7 @@ class ShadowableLayer;
|
||||
* | |
|
||||
* +-> BasicImageLayer <--------------+
|
||||
*/
|
||||
class BasicImplData {
|
||||
class BasicImplData : public ShadowImplData {
|
||||
public:
|
||||
BasicImplData() : mHidden(false),
|
||||
mClipToVisibleRegion(false), mOperator(gfxContext::OPERATOR_OVER)
|
||||
@@ -197,6 +197,13 @@ ToData(Layer* aLayer)
|
||||
return static_cast<BasicImplData*>(aLayer->ImplData());
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
static ShadowImplData*
|
||||
ToShadowData(T* aLayer)
|
||||
{
|
||||
return static_cast<ShadowImplData*>(aLayer->ImplData());
|
||||
}
|
||||
|
||||
template<class Container>
|
||||
static void ContainerInsertAfter(Layer* aChild, Layer* aAfter, Container* aContainer);
|
||||
template<class Container>
|
||||
@@ -2078,10 +2085,11 @@ public:
|
||||
virtual BasicShadowableThebesLayer* AsThebes() { return nsnull; }
|
||||
};
|
||||
|
||||
template <typename T>
|
||||
static ShadowableLayer*
|
||||
ToShadowable(Layer* aLayer)
|
||||
ToShadowable(T* aLayer)
|
||||
{
|
||||
return ToData(aLayer)->AsShadowableLayer();
|
||||
return ToShadowData(aLayer)->AsShadowableLayer();
|
||||
}
|
||||
|
||||
// Some layers, like ReadbackLayers, can't be shadowed and shadowing
|
||||
|
||||
Reference in New Issue
Block a user