• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_MODIFIER_H
17 #define RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_MODIFIER_H
18 
19 #include "modifier/rs_modifier.h"
20 
21 namespace OHOS {
22 namespace Rosen {
23 class RSC_EXPORT RSBoundsModifier : public RSModifier {
24 public:
25     explicit RSBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
26     virtual ~RSBoundsModifier() = default;
27 protected:
28     RSModifierType GetModifierType() const override;
29     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
30 };
31 
32 class RSC_EXPORT RSBoundsSizeModifier : public RSModifier {
33 public:
34     explicit RSBoundsSizeModifier(const std::shared_ptr<RSPropertyBase>& property);
35     virtual ~RSBoundsSizeModifier() = default;
36 protected:
37     RSModifierType GetModifierType() const override;
38     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
39 };
40 
41 class RSC_EXPORT RSBoundsPositionModifier : public RSModifier {
42 public:
43     explicit RSBoundsPositionModifier(const std::shared_ptr<RSPropertyBase>& property);
44     virtual ~RSBoundsPositionModifier() = default;
45 protected:
46     RSModifierType GetModifierType() const override;
47     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
48 };
49 
50 class RSC_EXPORT RSFrameModifier : public RSModifier {
51 public:
52     explicit RSFrameModifier(const std::shared_ptr<RSPropertyBase>& property);
53     virtual ~RSFrameModifier() = default;
54 protected:
55     RSModifierType GetModifierType() const override;
56     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
57 };
58 
59 class RSC_EXPORT RSPositionZModifier : public RSModifier {
60 public:
61     explicit RSPositionZModifier(const std::shared_ptr<RSPropertyBase>& property);
62     virtual ~RSPositionZModifier() = default;
63 protected:
64     RSModifierType GetModifierType() const override;
65     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
66 };
67 
68 class RSC_EXPORT RSPivotModifier : public RSModifier {
69 public:
70     explicit RSPivotModifier(const std::shared_ptr<RSPropertyBase>& property);
71     virtual ~RSPivotModifier() = default;
72 protected:
73     RSModifierType GetModifierType() const override;
74     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
75 };
76 
77 class RSC_EXPORT RSQuaternionModifier : public RSModifier {
78 public:
79     explicit RSQuaternionModifier(const std::shared_ptr<RSPropertyBase>& property);
80     virtual ~RSQuaternionModifier() = default;
81 protected:
82     RSModifierType GetModifierType() const override;
83     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
84 };
85 
86 class RSC_EXPORT RSRotationModifier : public RSModifier {
87 public:
88     explicit RSRotationModifier(const std::shared_ptr<RSPropertyBase>& property);
89     virtual ~RSRotationModifier() = default;
90 protected:
91     RSModifierType GetModifierType() const override;
92     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
93 };
94 
95 class RSC_EXPORT RSRotationXModifier : public RSModifier {
96 public:
97     explicit RSRotationXModifier(const std::shared_ptr<RSPropertyBase>& property);
98     virtual ~RSRotationXModifier() = default;
99 protected:
100     RSModifierType GetModifierType() const override;
101     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
102 };
103 
104 class RSC_EXPORT RSRotationYModifier : public RSModifier {
105 public:
106     explicit RSRotationYModifier(const std::shared_ptr<RSPropertyBase>& property);
107     virtual ~RSRotationYModifier() = default;
108 protected:
109     RSModifierType GetModifierType() const override;
110     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
111 };
112 
113 class RSC_EXPORT RSScaleModifier : public RSModifier {
114 public:
115     explicit RSScaleModifier(const std::shared_ptr<RSPropertyBase>& property);
116     virtual ~RSScaleModifier() = default;
117 protected:
118     RSModifierType GetModifierType() const override;
119     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
120 };
121 
122 class RSC_EXPORT RSTranslateModifier : public RSModifier {
123 public:
124     explicit RSTranslateModifier(const std::shared_ptr<RSPropertyBase>& property);
125     virtual ~RSTranslateModifier() = default;
126 protected:
127     RSModifierType GetModifierType() const override;
128     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
129 };
130 
131 class RSC_EXPORT RSTranslateZModifier : public RSModifier {
132 public:
133     explicit RSTranslateZModifier(const std::shared_ptr<RSPropertyBase>& property);
134     virtual ~RSTranslateZModifier() = default;
135 protected:
136     RSModifierType GetModifierType() const override;
137     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
138 };
139 
140 class RSC_EXPORT RSCornerRadiusModifier : public RSModifier {
141 public:
142     explicit RSCornerRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
143     virtual ~RSCornerRadiusModifier() = default;
144 protected:
145     RSModifierType GetModifierType() const override;
146     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
147 };
148 
149 class RSC_EXPORT RSAlphaModifier : public RSModifier {
150 public:
151     explicit RSAlphaModifier(const std::shared_ptr<RSPropertyBase>& property);
152     virtual ~RSAlphaModifier() = default;
153 protected:
154     RSModifierType GetModifierType() const override;
155     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
156 };
157 
158 class RSC_EXPORT RSAlphaOffscreenModifier : public RSModifier {
159 public:
160     explicit RSAlphaOffscreenModifier(const std::shared_ptr<RSPropertyBase>& property);
161     virtual ~RSAlphaOffscreenModifier() = default;
162 protected:
163     RSModifierType GetModifierType() const override;
164     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
165 };
166 
167 class RSC_EXPORT RSForegroundColorModifier : public RSModifier {
168 public:
169     explicit RSForegroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
170     virtual ~RSForegroundColorModifier() = default;
171 protected:
172     RSModifierType GetModifierType() const override;
173     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
174 };
175 
176 class RSC_EXPORT RSBackgroundColorModifier : public RSModifier {
177 public:
178     explicit RSBackgroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
179     virtual ~RSBackgroundColorModifier() = default;
180 protected:
181     RSModifierType GetModifierType() const override;
182     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
183 };
184 
185 class RSC_EXPORT RSSurfaceBgColorModifier : public RSModifier {
186 public:
187     explicit RSSurfaceBgColorModifier(const std::shared_ptr<RSPropertyBase>& property);
188     virtual ~RSSurfaceBgColorModifier() = default;
189 protected:
190     RSModifierType GetModifierType() const override;
191     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
192 };
193 
194 class RSC_EXPORT RSBackgroundShaderModifier : public RSModifier {
195 public:
196     explicit RSBackgroundShaderModifier(const std::shared_ptr<RSPropertyBase>& property);
197     virtual ~RSBackgroundShaderModifier() = default;
198 protected:
199     RSModifierType GetModifierType() const override;
200     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
201 };
202 
203 class RSC_EXPORT RSBgImageModifier : public RSModifier {
204 public:
205     explicit RSBgImageModifier(const std::shared_ptr<RSPropertyBase>& property);
206     virtual ~RSBgImageModifier() = default;
207 protected:
208     RSModifierType GetModifierType() const override;
209     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
210 };
211 
212 class RSC_EXPORT RSBgImageWidthModifier : public RSModifier {
213 public:
214     explicit RSBgImageWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
215     virtual ~RSBgImageWidthModifier() = default;
216 protected:
217     RSModifierType GetModifierType() const override;
218     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
219 };
220 
221 class RSC_EXPORT RSBgImageHeightModifier : public RSModifier {
222 public:
223     explicit RSBgImageHeightModifier(const std::shared_ptr<RSPropertyBase>& property);
224     virtual ~RSBgImageHeightModifier() = default;
225 protected:
226     RSModifierType GetModifierType() const override;
227     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
228 };
229 
230 class RSC_EXPORT RSBgImagePositionXModifier : public RSModifier {
231 public:
232     explicit RSBgImagePositionXModifier(const std::shared_ptr<RSPropertyBase>& property);
233     virtual ~RSBgImagePositionXModifier() = default;
234 protected:
235     RSModifierType GetModifierType() const override;
236     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
237 };
238 
239 class RSC_EXPORT RSBgImagePositionYModifier : public RSModifier {
240 public:
241     explicit RSBgImagePositionYModifier(const std::shared_ptr<RSPropertyBase>& property);
242     virtual ~RSBgImagePositionYModifier() = default;
243 protected:
244     RSModifierType GetModifierType() const override;
245     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
246 };
247 
248 class RSC_EXPORT RSBorderColorModifier : public RSModifier {
249 public:
250     explicit RSBorderColorModifier(const std::shared_ptr<RSPropertyBase>& property);
251     virtual ~RSBorderColorModifier() = default;
252 protected:
253     RSModifierType GetModifierType() const override;
254     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
255 };
256 
257 class RSC_EXPORT RSBorderWidthModifier : public RSModifier {
258 public:
259     explicit RSBorderWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
260     virtual ~RSBorderWidthModifier() = default;
261 protected:
262     RSModifierType GetModifierType() const override;
263     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
264 };
265 
266 class RSC_EXPORT RSBorderStyleModifier : public RSModifier {
267 public:
268     explicit RSBorderStyleModifier(const std::shared_ptr<RSPropertyBase>& property);
269     virtual ~RSBorderStyleModifier() = default;
270 protected:
271     RSModifierType GetModifierType() const override;
272     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
273 };
274 
275 class RSC_EXPORT RSFilterModifier : public RSModifier {
276 public:
277     explicit RSFilterModifier(const std::shared_ptr<RSPropertyBase>& property);
278     virtual ~RSFilterModifier() = default;
279 protected:
280     RSModifierType GetModifierType() const override;
281     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
282 };
283 
284 class RSC_EXPORT RSBackgroundFilterModifier : public RSModifier {
285 public:
286     explicit RSBackgroundFilterModifier(const std::shared_ptr<RSPropertyBase>& property);
287     virtual ~RSBackgroundFilterModifier() = default;
288 protected:
289     RSModifierType GetModifierType() const override;
290     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
291 };
292 
293 class RSC_EXPORT RSFrameGravityModifier : public RSModifier {
294 public:
295     explicit RSFrameGravityModifier(const std::shared_ptr<RSPropertyBase>& property);
296     virtual ~RSFrameGravityModifier() = default;
297 protected:
298     RSModifierType GetModifierType() const override;
299     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
300 };
301 
302 class RSC_EXPORT RSClipBoundsModifier : public RSModifier {
303 public:
304     explicit RSClipBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
305     virtual ~RSClipBoundsModifier() = default;
306 protected:
307     RSModifierType GetModifierType() const override;
308     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
309 };
310 
311 class RSC_EXPORT RSClipToBoundsModifier : public RSModifier {
312 public:
313     explicit RSClipToBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
314     virtual ~RSClipToBoundsModifier() = default;
315 protected:
316     RSModifierType GetModifierType() const override;
317     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
318 };
319 
320 class RSC_EXPORT RSClipToFrameModifier : public RSModifier {
321 public:
322     explicit RSClipToFrameModifier(const std::shared_ptr<RSPropertyBase>& property);
323     virtual ~RSClipToFrameModifier() = default;
324 protected:
325     RSModifierType GetModifierType() const override;
326     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
327 };
328 
329 class RSC_EXPORT RSVisibleModifier : public RSModifier {
330 public:
331     explicit RSVisibleModifier(const std::shared_ptr<RSPropertyBase>& property);
332     virtual ~RSVisibleModifier() = default;
333 protected:
334     RSModifierType GetModifierType() const override;
335     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
336 };
337 
338 class RSC_EXPORT RSShadowColorModifier : public RSModifier {
339 public:
340     explicit RSShadowColorModifier(const std::shared_ptr<RSPropertyBase>& property);
341     virtual ~RSShadowColorModifier() = default;
342 protected:
343     RSModifierType GetModifierType() const override;
344     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
345 };
346 
347 class RSC_EXPORT RSShadowOffsetXModifier : public RSModifier {
348 public:
349     explicit RSShadowOffsetXModifier(const std::shared_ptr<RSPropertyBase>& property);
350     virtual ~RSShadowOffsetXModifier() = default;
351 protected:
352     RSModifierType GetModifierType() const override;
353     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
354 };
355 
356 class RSC_EXPORT RSShadowOffsetYModifier : public RSModifier {
357 public:
358     explicit RSShadowOffsetYModifier(const std::shared_ptr<RSPropertyBase>& property);
359     virtual ~RSShadowOffsetYModifier() = default;
360 protected:
361     RSModifierType GetModifierType() const override;
362     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
363 };
364 
365 class RSC_EXPORT RSShadowAlphaModifier : public RSModifier {
366 public:
367     explicit RSShadowAlphaModifier(const std::shared_ptr<RSPropertyBase>& property);
368     virtual ~RSShadowAlphaModifier() = default;
369 protected:
370     RSModifierType GetModifierType() const override;
371     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
372 };
373 
374 class RSC_EXPORT RSShadowElevationModifier : public RSModifier {
375 public:
376     explicit RSShadowElevationModifier(const std::shared_ptr<RSPropertyBase>& property);
377     virtual ~RSShadowElevationModifier() = default;
378 protected:
379     RSModifierType GetModifierType() const override;
380     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
381 };
382 
383 class RSC_EXPORT RSShadowRadiusModifier : public RSModifier {
384 public:
385     explicit RSShadowRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
386     virtual ~RSShadowRadiusModifier() = default;
387 protected:
388     RSModifierType GetModifierType() const override;
389     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
390 };
391 
392 class RSC_EXPORT RSShadowPathModifier : public RSModifier {
393 public:
394     explicit RSShadowPathModifier(const std::shared_ptr<RSPropertyBase>& property);
395     virtual ~RSShadowPathModifier() = default;
396 protected:
397     RSModifierType GetModifierType() const override;
398     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
399 };
400 
401 class RSC_EXPORT RSMaskModifier : public RSModifier {
402 public:
403     explicit RSMaskModifier(const std::shared_ptr<RSPropertyBase>& property);
404     virtual ~RSMaskModifier() = default;
405 protected:
406     RSModifierType GetModifierType() const override;
407     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
408 };
409 } // namespace Rosen
410 } // namespace OHOS
411 
412 #endif // RENDER_SERVICE_CLIENT_CORE_ANIMATION_RS_MODIFIER_H
413