Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1351)

Unified Diff: Source/core/platform/graphics/filters/ReferenceFilter.h

Issue 13984002: Extracting the SVG Filter Reference implementation out of the FilterEffectRenderer into its own typ… Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: Updated to ToT, fixed style, warnings Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/platform/graphics/filters/ReferenceFilter.h
diff --git a/Source/core/rendering/style/StyleCustomFilterProgramCache.h b/Source/core/platform/graphics/filters/ReferenceFilter.h
similarity index 60%
copy from Source/core/rendering/style/StyleCustomFilterProgramCache.h
copy to Source/core/platform/graphics/filters/ReferenceFilter.h
index eb30517001047900a37647c5c2243ce06e456800..aa07dd2657c28e3cf2c8296a236477c8f4b5b665 100644
--- a/Source/core/rendering/style/StyleCustomFilterProgramCache.h
+++ b/Source/core/platform/graphics/filters/ReferenceFilter.h
@@ -27,37 +27,43 @@
* SUCH DAMAGE.
*/
-#ifndef StyleCustomFilterProgramCache_h
-#define StyleCustomFilterProgramCache_h
+#ifndef ReferenceFilter_h
+#define ReferenceFilter_h
-#include "core/platform/graphics/filters/custom/CustomFilterProgramInfo.h"
-#include <wtf/FastAllocBase.h>
-#include <wtf/HashMap.h>
+#include "core/platform/graphics/FloatRect.h"
+#include "core/platform/graphics/filters/Filter.h"
+#include "wtf/PassRefPtr.h"
+#include "wtf/RefPtr.h"
namespace WebCore {
-class StyleCustomFilterProgram;
-class CustomFilterProgramInfo;
+class ReferenceFilterOperation;
+class SourceGraphic;
+class FilterEffect;
-class StyleCustomFilterProgramCache {
- WTF_MAKE_FAST_ALLOCATED;
+class ReferenceFilter: public Filter {
public:
- StyleCustomFilterProgramCache();
- ~StyleCustomFilterProgramCache();
+ static PassRefPtr<ReferenceFilter> create()
+ {
+ return adoptRef(new ReferenceFilter());
+ }
- // Lookups a StyleCustomFilterProgram that has similar parameters with the specified program.
- StyleCustomFilterProgram* lookup(StyleCustomFilterProgram*) const;
- StyleCustomFilterProgram* lookup(const CustomFilterProgramInfo&) const;
+ virtual FloatRect sourceImageRect() const { return FloatRect(); };
+ virtual FloatRect filterRegion() const { return FloatRect(); }
- void add(StyleCustomFilterProgram*);
- void remove(StyleCustomFilterProgram*);
+ void setLastEffect(PassRefPtr<FilterEffect>);
+ FilterEffect* lastEffect() const { return m_lastEffect.get(); }
+
+ SourceGraphic* sourceGraphic() const { return m_sourceGraphic.get(); }
private:
- typedef HashMap<CustomFilterProgramInfo, StyleCustomFilterProgram*> CacheMap;
- CacheMap m_cache;
-};
+ ReferenceFilter();
+ ~ReferenceFilter();
-} // namespace WebCore
+ RefPtr<SourceGraphic> m_sourceGraphic;
+ RefPtr<FilterEffect> m_lastEffect;
+};
+}
-#endif // StyleCustomFilterProgramCache_h
+#endif // ReferenceFilter_h
« no previous file with comments | « Source/core/platform/graphics/filters/FilterOperation.h ('k') | Source/core/platform/graphics/filters/ReferenceFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698