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

Unified Diff: include/effects/SkResizeImageFilter.h

Issue 136863006: Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, … (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Fix docs Created 6 years, 11 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: include/effects/SkResizeImageFilter.h
diff --git a/include/effects/SkResizeImageFilter.h b/include/effects/SkResizeImageFilter.h
new file mode 100644
index 0000000000000000000000000000000000000000..68ca4308ff86ac605552fc56a2b9d99bedfb3547
--- /dev/null
+++ b/include/effects/SkResizeImageFilter.h
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#ifndef SkResizeImageFilter_DEFINED
+#define SkResizeImageFilter_DEFINED
+
+#include "SkImageFilter.h"
+#include "SkScalar.h"
+#include "SkRect.h"
+#include "SkPoint.h"
+#include "SkPaint.h"
+
+/*! \class SkResizeImageFilter
+ Resampling image filter. This filter draws its source image resampled using the given scale.
+ */
+
+class SK_API SkResizeImageFilter : public SkImageFilter {
+public:
+ /** Construct a (scaling-only) resampling image filter.
+ * @param scale The scale parameter to apply when resizing.
+ * @param filterLevel The quality of filtering to apply when scaling.
+ * @param input The input image filter. If NULL, the src bitmap
+ * passed to filterImage() is used instead.
+ */
+
+ SkResizeImageFilter(const SkSize& scale, SkPaint::FilterLevel filterLevel, SkImageFilter* input = NULL);
reed1 2014/01/13 22:02:57 nit: col width > 100. You could drop 'filterLevel'
Stephen White 2014/01/14 21:45:43 Unfortunately that wasn't enough after I split the
+ virtual ~SkResizeImageFilter();
+
+ SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkResizeImageFilter)
+
+protected:
+ SkResizeImageFilter(SkFlattenableReadBuffer& buffer);
+ virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
+
+ virtual bool onFilterImage(Proxy*, const SkBitmap& src, const SkMatrix&,
+ SkBitmap* result, SkIPoint* loc) SK_OVERRIDE;
+
+private:
+ SkSize fScale;
+ SkPaint::FilterLevel fFilterLevel;
+ typedef SkImageFilter INHERITED;
+};
+
+#endif

Powered by Google App Engine
This is Rietveld 408576698