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

Side by Side Diff: Source/platform/graphics/filters/ReferenceFilter.h

Issue 1326183002: Merge ReferenceFilter into Filter (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Touchups; Rebase. Created 5 years, 3 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved.
3 * Copyright (C) 2013 Google Inc. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * 1. Redistributions of source code must retain the above
10 * copyright notice, this list of conditions and the following
11 * disclaimer.
12 * 2. Redistributions in binary form must reproduce the above
13 * copyright notice, this list of conditions and the following
14 * disclaimer in the documentation and/or other materials
15 * provided with the distribution.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
18 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE
21 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
22 * OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
26 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
27 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
29 */
30
31 #ifndef ReferenceFilter_h
32 #define ReferenceFilter_h
33
34 #include "platform/geometry/FloatRect.h"
35 #include "platform/graphics/filters/Filter.h"
36 #include "platform/heap/Handle.h"
37 #include "wtf/PassRefPtr.h"
38 #include "wtf/RefPtr.h"
39
40 namespace blink {
41
42 class SourceGraphic;
43 class FilterEffect;
44
45 class PLATFORM_EXPORT ReferenceFilter: public Filter {
46 public:
47 static PassRefPtrWillBeRawPtr<ReferenceFilter> create(const FloatRect& targe tBoundingBox, const FloatRect& filterRegion, float scale)
48 {
49 return adoptRefWillBeNoop(new ReferenceFilter(targetBoundingBox, filterR egion, scale));
50 }
51
52 static PassRefPtrWillBeRawPtr<ReferenceFilter> create(float scale)
53 {
54 return adoptRefWillBeNoop(new ReferenceFilter(FloatRect(), FloatRect(), scale));
55 }
56
57 ~ReferenceFilter() override;
58 DECLARE_VIRTUAL_TRACE();
59
60 IntRect sourceImageRect() const override { return IntRect(); }
61
62 void setLastEffect(PassRefPtrWillBeRawPtr<FilterEffect>);
63 FilterEffect* lastEffect() const { return m_lastEffect.get(); }
64
65 SourceGraphic* sourceGraphic() const { return m_sourceGraphic.get(); }
66
67 private:
68 ReferenceFilter(const FloatRect& targetBoundingBox, const FloatRect& filterR egion, float scale);
69
70 RefPtrWillBeMember<SourceGraphic> m_sourceGraphic;
71 RefPtrWillBeMember<FilterEffect> m_lastEffect;
72 };
73
74 } // namespace blink
75
76 #endif // ReferenceFilter_h
OLDNEW
« no previous file with comments | « Source/platform/graphics/filters/ImageFilterBuilderTest.cpp ('k') | Source/platform/graphics/filters/ReferenceFilter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698