diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp index 1b81f54dd..fbfef2076 100644 --- a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp +++ b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp @@ -51,6 +51,7 @@ #include "Image.h" #include "LayerAnimation.h" #include "LayerWebKitThread.h" +#include "NotImplemented.h" namespace WebCore { @@ -292,6 +293,36 @@ void GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree(bool hasFixedAncestor updateHasFixedAncestorInDOMTree(); } +#if ENABLE(CSS_FILTERS) +bool GraphicsLayerBlackBerry::setFilters(const FilterOperations& filters) +{ + if (m_filters == filters) + return true; + + bool canCompositeFilters = LayerWebKitThread::filtersCanBeComposited(filters); + if (canCompositeFilters) { + m_filters = filters; + GraphicsLayer::setFilters(filters); + updateFilters(); + } else { + m_filters.clear(); + notImplemented(); + } + + return canCompositeFilters; +} +#endif + +void GraphicsLayerBlackBerry::setBoundsOrigin(const FloatPoint& origin) +{ + if (origin == m_boundsOrigin) + return; + + GraphicsLayer::setBoundsOrigin(origin); + updateBoundsOrigin(); + +} + void GraphicsLayerBlackBerry::setBackgroundColor(const Color& color) { if (m_backgroundColorSet && m_backgroundColor == color) @@ -677,6 +708,11 @@ void GraphicsLayerBlackBerry::updateAnchorPoint() updateLayerPosition(); } +void GraphicsLayerBlackBerry::updateBoundsOrigin() +{ + primaryLayer()->setBoundsOrigin(m_boundsOrigin); +} + void GraphicsLayerBlackBerry::updateTransform() { primaryLayer()->setTransform(m_transform); @@ -803,6 +839,16 @@ void GraphicsLayerBlackBerry::updateLayerBackgroundColor() clearLayerBackgroundColor(*m_contentsLayer); } +#if ENABLE(CSS_FILTERS) +void GraphicsLayerBlackBerry::updateFilters() +{ + if (!m_filters.size()) + return; + + primaryLayer()->setFilters(m_filters); +} +#endif + void GraphicsLayerBlackBerry::updateAnimations() { // When there is a transform layer, the transform must be set on that layer |