• 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_MODIFIER_RS_PROPERTY_MODIFIER_H
17 #define RENDER_SERVICE_CLIENT_CORE_MODIFIER_RS_PROPERTY_MODIFIER_H
18 
19 #include "modifier/rs_modifier.h"
20 
21 namespace OHOS {
22 namespace Rosen {
23 class RSC_EXPORT RSBoundsModifier : public RSGeometryModifier {
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     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
31 };
32 
33 class RSC_EXPORT RSBoundsSizeModifier : public RSGeometryModifier {
34 public:
35     explicit RSBoundsSizeModifier(const std::shared_ptr<RSPropertyBase>& property);
36     virtual ~RSBoundsSizeModifier() = default;
37 protected:
38     RSModifierType GetModifierType() const override;
39     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
40     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
41 };
42 
43 class RSC_EXPORT RSBoundsPositionModifier : public RSGeometryModifier {
44 public:
45     explicit RSBoundsPositionModifier(const std::shared_ptr<RSPropertyBase>& property);
46     virtual ~RSBoundsPositionModifier() = default;
47 protected:
48     RSModifierType GetModifierType() const override;
49     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
50     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
51 };
52 
53 class RSC_EXPORT RSFrameModifier : public RSGeometryModifier {
54 public:
55     explicit RSFrameModifier(const std::shared_ptr<RSPropertyBase>& property);
56     virtual ~RSFrameModifier() = default;
57 protected:
58     RSModifierType GetModifierType() const override;
59     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
60 };
61 
62 class RSC_EXPORT RSPositionZModifier : public RSGeometryModifier {
63 public:
64     explicit RSPositionZModifier(const std::shared_ptr<RSPropertyBase>& property);
65     virtual ~RSPositionZModifier() = default;
66 protected:
67     RSModifierType GetModifierType() const override;
68     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
69 };
70 
71 class RSC_EXPORT RSSandBoxModifier : public RSGeometryModifier {
72 public:
73     explicit RSSandBoxModifier(const std::shared_ptr<RSPropertyBase>& property);
74     virtual ~RSSandBoxModifier() = default;
75 protected:
76     RSModifierType GetModifierType() const override;
77     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
78 };
79 
80 class RSC_EXPORT RSPivotModifier : public RSGeometryModifier {
81 public:
82     explicit RSPivotModifier(const std::shared_ptr<RSPropertyBase>& property);
83     virtual ~RSPivotModifier() = default;
84 protected:
85     RSModifierType GetModifierType() const override;
86     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
87     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
88 };
89 
90 class RSC_EXPORT RSPivotZModifier : public RSGeometryModifier {
91 public:
92     explicit RSPivotZModifier(const std::shared_ptr<RSPropertyBase>& property);
93     virtual ~RSPivotZModifier() = default;
94 protected:
95     RSModifierType GetModifierType() const override;
96     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
97     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
98 };
99 
100 class RSC_EXPORT RSQuaternionModifier : public RSGeometryModifier {
101 public:
102     explicit RSQuaternionModifier(const std::shared_ptr<RSPropertyBase>& property);
103     virtual ~RSQuaternionModifier() = default;
104 protected:
105     RSModifierType GetModifierType() const override;
106     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
107     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
108 };
109 
110 class RSC_EXPORT RSRotationModifier : public RSGeometryModifier {
111 public:
112     explicit RSRotationModifier(const std::shared_ptr<RSPropertyBase>& property);
113     virtual ~RSRotationModifier() = default;
114 protected:
115     RSModifierType GetModifierType() const override;
116     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
117     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
118 };
119 
120 class RSC_EXPORT RSRotationXModifier : public RSGeometryModifier {
121 public:
122     explicit RSRotationXModifier(const std::shared_ptr<RSPropertyBase>& property);
123     virtual ~RSRotationXModifier() = default;
124 protected:
125     RSModifierType GetModifierType() const override;
126     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
127     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
128 };
129 
130 class RSC_EXPORT RSRotationYModifier : public RSGeometryModifier {
131 public:
132     explicit RSRotationYModifier(const std::shared_ptr<RSPropertyBase>& property);
133     virtual ~RSRotationYModifier() = default;
134 protected:
135     RSModifierType GetModifierType() const override;
136     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
137     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
138 };
139 
140 class RSC_EXPORT RSCameraDistanceModifier : public RSGeometryModifier {
141 public:
142     explicit RSCameraDistanceModifier(const std::shared_ptr<RSPropertyBase>& property);
143     virtual ~RSCameraDistanceModifier() = default;
144 protected:
145     RSModifierType GetModifierType() const override;
146     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
147     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
148 };
149 
150 class RSC_EXPORT RSScaleModifier : public RSGeometryModifier {
151 public:
152     explicit RSScaleModifier(const std::shared_ptr<RSPropertyBase>& property);
153     virtual ~RSScaleModifier() = default;
154 protected:
155     RSModifierType GetModifierType() const override;
156     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
157     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
158 };
159 
160 class RSC_EXPORT RSSkewModifier : public RSGeometryModifier {
161 public:
162     explicit RSSkewModifier(const std::shared_ptr<RSPropertyBase>& property);
163     virtual ~RSSkewModifier() = default;
164 protected:
165     RSModifierType GetModifierType() const override;
166     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
167     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
168 };
169 
170 class RSC_EXPORT RSPerspModifier : public RSGeometryModifier {
171 public:
172     explicit RSPerspModifier(const std::shared_ptr<RSPropertyBase>& property);
173     virtual ~RSPerspModifier() = default;
174 protected:
175     RSModifierType GetModifierType() const override;
176     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
177     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
178 };
179 
180 class RSC_EXPORT RSTranslateModifier : public RSGeometryModifier {
181 public:
182     explicit RSTranslateModifier(const std::shared_ptr<RSPropertyBase>& property);
183     virtual ~RSTranslateModifier() = default;
184 protected:
185     RSModifierType GetModifierType() const override;
186     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
187     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
188 };
189 
190 class RSC_EXPORT RSTranslateZModifier : public RSGeometryModifier {
191 public:
192     explicit RSTranslateZModifier(const std::shared_ptr<RSPropertyBase>& property);
193     virtual ~RSTranslateZModifier() = default;
194 protected:
195     RSModifierType GetModifierType() const override;
196     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
197     void Apply(const std::shared_ptr<RSObjAbsGeometry>& geometry) override;
198 };
199 
200 class RSC_EXPORT RSCornerRadiusModifier : public RSAppearanceModifier {
201 public:
202     explicit RSCornerRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
203     virtual ~RSCornerRadiusModifier() = default;
204 protected:
205     RSModifierType GetModifierType() const override;
206     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
207 };
208 
209 class RSC_EXPORT RSAlphaModifier : public RSAppearanceModifier {
210 public:
211     explicit RSAlphaModifier(const std::shared_ptr<RSPropertyBase>& property);
212     virtual ~RSAlphaModifier() = default;
213 protected:
214     RSModifierType GetModifierType() const override;
215     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
216 };
217 
218 class RSC_EXPORT RSAlphaOffscreenModifier : public RSAppearanceModifier {
219 public:
220     explicit RSAlphaOffscreenModifier(const std::shared_ptr<RSPropertyBase>& property);
221     virtual ~RSAlphaOffscreenModifier() = default;
222 protected:
223     RSModifierType GetModifierType() const override;
224     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
225 };
226 
227 class RS_EXPORT RSEnvForegroundColorModifier : public RSForegroundModifier {
228 public:
229     explicit RSEnvForegroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
230     virtual ~RSEnvForegroundColorModifier() = default;
231 
232 protected:
233     RSModifierType GetModifierType() const override;
234     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
235 };
236 
237 class RS_EXPORT RSEnvForegroundColorStrategyModifier : public RSForegroundModifier {
238 public:
239     explicit RSEnvForegroundColorStrategyModifier(const std::shared_ptr<RSPropertyBase>& property);
240     virtual ~RSEnvForegroundColorStrategyModifier() = default;
241 
242 protected:
243     RSModifierType GetModifierType() const override;
244     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
245 };
246 
247 class RSC_EXPORT RSForegroundColorModifier : public RSForegroundModifier {
248 public:
249     explicit RSForegroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
250     virtual ~RSForegroundColorModifier() = default;
251 protected:
252     RSModifierType GetModifierType() const override;
253     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
254 };
255 
256 class RSC_EXPORT RSUseShadowBatchingModifier : public RSBackgroundModifier {
257 public:
258     explicit RSUseShadowBatchingModifier(const std::shared_ptr<RSPropertyBase>& property);
259     virtual ~RSUseShadowBatchingModifier() = default;
260 protected:
261     RSModifierType GetModifierType() const override;
262     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
263 };
264 
265 class RSC_EXPORT RSBackgroundColorModifier : public RSBackgroundModifier {
266 public:
267     explicit RSBackgroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
268     virtual ~RSBackgroundColorModifier() = default;
269 protected:
270     RSModifierType GetModifierType() const override;
271     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
272 };
273 
274 class RSC_EXPORT RSBackgroundShaderModifier : public RSBackgroundModifier {
275 public:
276     explicit RSBackgroundShaderModifier(const std::shared_ptr<RSPropertyBase>& property);
277     virtual ~RSBackgroundShaderModifier() = default;
278 protected:
279     RSModifierType GetModifierType() const override;
280     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
281 };
282 
283 class RSC_EXPORT RSBgImageModifier : public RSBackgroundModifier {
284 public:
285     explicit RSBgImageModifier(const std::shared_ptr<RSPropertyBase>& property);
286     virtual ~RSBgImageModifier() = default;
287 protected:
288     RSModifierType GetModifierType() const override;
289     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
290 };
291 
292 class RSC_EXPORT RSBgImageInnerRectModifier : public RSBackgroundModifier {
293 public:
294     explicit RSBgImageInnerRectModifier(const std::shared_ptr<RSPropertyBase>& property);
295     virtual ~RSBgImageInnerRectModifier() = default;
296 protected:
297     RSModifierType GetModifierType() const override;
298     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
299 };
300 
301 class RSC_EXPORT RSBgImageWidthModifier : public RSBackgroundModifier {
302 public:
303     explicit RSBgImageWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
304     virtual ~RSBgImageWidthModifier() = default;
305 protected:
306     RSModifierType GetModifierType() const override;
307     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
308 };
309 
310 class RSC_EXPORT RSBgImageHeightModifier : public RSBackgroundModifier {
311 public:
312     explicit RSBgImageHeightModifier(const std::shared_ptr<RSPropertyBase>& property);
313     virtual ~RSBgImageHeightModifier() = default;
314 protected:
315     RSModifierType GetModifierType() const override;
316     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
317 };
318 
319 class RSC_EXPORT RSBgImagePositionXModifier : public RSBackgroundModifier {
320 public:
321     explicit RSBgImagePositionXModifier(const std::shared_ptr<RSPropertyBase>& property);
322     virtual ~RSBgImagePositionXModifier() = default;
323 protected:
324     RSModifierType GetModifierType() const override;
325     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
326 };
327 
328 class RSC_EXPORT RSBgImagePositionYModifier : public RSBackgroundModifier {
329 public:
330     explicit RSBgImagePositionYModifier(const std::shared_ptr<RSPropertyBase>& property);
331     virtual ~RSBgImagePositionYModifier() = default;
332 protected:
333     RSModifierType GetModifierType() const override;
334     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
335 };
336 
337 class RSC_EXPORT RSBorderColorModifier : public RSForegroundModifier {
338 public:
339     explicit RSBorderColorModifier(const std::shared_ptr<RSPropertyBase>& property);
340     virtual ~RSBorderColorModifier() = default;
341 protected:
342     RSModifierType GetModifierType() const override;
343     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
344 };
345 
346 class RSC_EXPORT RSBorderWidthModifier : public RSForegroundModifier {
347 public:
348     explicit RSBorderWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
349     virtual ~RSBorderWidthModifier() = default;
350 protected:
351     RSModifierType GetModifierType() const override;
352     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
353 };
354 
355 class RSC_EXPORT RSBorderStyleModifier : public RSForegroundModifier {
356 public:
357     explicit RSBorderStyleModifier(const std::shared_ptr<RSPropertyBase>& property);
358     virtual ~RSBorderStyleModifier() = default;
359 protected:
360     RSModifierType GetModifierType() const override;
361     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
362 };
363 
364 class RSC_EXPORT RSBorderDashWidthModifier : public RSForegroundModifier {
365 public:
366     explicit RSBorderDashWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
367     virtual ~RSBorderDashWidthModifier() = default;
368 protected:
369     RSModifierType GetModifierType() const override;
370     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
371 };
372 
373 class RSC_EXPORT RSBorderDashGapModifier : public RSForegroundModifier {
374 public:
375     explicit RSBorderDashGapModifier(const std::shared_ptr<RSPropertyBase>& property);
376     virtual ~RSBorderDashGapModifier() = default;
377 protected:
378     RSModifierType GetModifierType() const override;
379     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
380 };
381 
382 class RSC_EXPORT RSOutlineColorModifier : public RSForegroundModifier {
383 public:
384     explicit RSOutlineColorModifier(const std::shared_ptr<RSPropertyBase>& property);
385     virtual ~RSOutlineColorModifier() = default;
386 protected:
387     RSModifierType GetModifierType() const override;
388     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
389 };
390 
391 class RSC_EXPORT RSOutlineWidthModifier : public RSForegroundModifier {
392 public:
393     explicit RSOutlineWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
394     virtual ~RSOutlineWidthModifier() = default;
395 protected:
396     RSModifierType GetModifierType() const override;
397     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
398 };
399 
400 class RSC_EXPORT RSOutlineDashWidthModifier : public RSForegroundModifier {
401 public:
402     explicit RSOutlineDashWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
403     virtual ~RSOutlineDashWidthModifier() = default;
404 protected:
405     RSModifierType GetModifierType() const override;
406     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
407 };
408 
409 class RSC_EXPORT RSOutlineDashGapModifier : public RSForegroundModifier {
410 public:
411     explicit RSOutlineDashGapModifier(const std::shared_ptr<RSPropertyBase>& property);
412     virtual ~RSOutlineDashGapModifier() = default;
413 protected:
414     RSModifierType GetModifierType() const override;
415     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
416 };
417 
418 class RSC_EXPORT RSOutlineStyleModifier : public RSForegroundModifier {
419 public:
420     explicit RSOutlineStyleModifier(const std::shared_ptr<RSPropertyBase>& property);
421     virtual ~RSOutlineStyleModifier() = default;
422 protected:
423     RSModifierType GetModifierType() const override;
424     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
425 };
426 
427 class RSC_EXPORT RSOutlineRadiusModifier : public RSForegroundModifier {
428 public:
429     explicit RSOutlineRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
430     virtual ~RSOutlineRadiusModifier() = default;
431 protected:
432     RSModifierType GetModifierType() const override;
433     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
434 };
435 
436 class RSC_EXPORT RSForegroundEffectRadiusModifier : public RSForegroundModifier {
437 public:
438     explicit RSForegroundEffectRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
439     virtual ~RSForegroundEffectRadiusModifier() = default;
440 protected:
441     RSModifierType GetModifierType() const override;
442     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
443 };
444 
445 class RSC_EXPORT RSFilterModifier : public RSForegroundModifier {
446 public:
447     explicit RSFilterModifier(const std::shared_ptr<RSPropertyBase>& property);
448     virtual ~RSFilterModifier() = default;
449 protected:
450     RSModifierType GetModifierType() const override;
451     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
452 };
453 
454 class RSC_EXPORT RSBackgroundBlurRadiusModifier : public RSBackgroundModifier {
455 public:
456     explicit RSBackgroundBlurRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
457     virtual ~RSBackgroundBlurRadiusModifier() = default;
458 protected:
459     RSModifierType GetModifierType() const override;
460     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
461 };
462 
463 class RSC_EXPORT RSBackgroundBlurSaturationModifier : public RSBackgroundModifier {
464 public:
465     explicit RSBackgroundBlurSaturationModifier(const std::shared_ptr<RSPropertyBase>& property);
466     virtual ~RSBackgroundBlurSaturationModifier() = default;
467 protected:
468     RSModifierType GetModifierType() const override;
469     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
470 };
471 
472 class RSC_EXPORT RSBackgroundBlurBrightnessModifier : public RSBackgroundModifier {
473 public:
474     explicit RSBackgroundBlurBrightnessModifier(const std::shared_ptr<RSPropertyBase>& property);
475     virtual ~RSBackgroundBlurBrightnessModifier() = default;
476 protected:
477     RSModifierType GetModifierType() const override;
478     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
479 };
480 
481 class RSC_EXPORT RSBackgroundBlurMaskColorModifier : public RSBackgroundModifier {
482 public:
483     explicit RSBackgroundBlurMaskColorModifier(const std::shared_ptr<RSPropertyBase>& property);
484     virtual ~RSBackgroundBlurMaskColorModifier() = default;
485 protected:
486     RSModifierType GetModifierType() const override;
487     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
488 };
489 
490 class RSC_EXPORT RSBackgroundBlurColorModeModifier : public RSBackgroundModifier {
491 public:
492     explicit RSBackgroundBlurColorModeModifier(const std::shared_ptr<RSPropertyBase>& property);
493     virtual ~RSBackgroundBlurColorModeModifier() = default;
494 protected:
495     RSModifierType GetModifierType() const override;
496     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
497 };
498 
499 class RSC_EXPORT RSBackgroundBlurRadiusXModifier : public RSBackgroundModifier {
500 public:
501     explicit RSBackgroundBlurRadiusXModifier(const std::shared_ptr<RSPropertyBase>& property);
502     virtual ~RSBackgroundBlurRadiusXModifier() = default;
503 protected:
504     RSModifierType GetModifierType() const override;
505     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
506 };
507 
508 class RSC_EXPORT RSBackgroundBlurRadiusYModifier : public RSBackgroundModifier {
509 public:
510     explicit RSBackgroundBlurRadiusYModifier(const std::shared_ptr<RSPropertyBase>& property);
511     virtual ~RSBackgroundBlurRadiusYModifier() = default;
512 protected:
513     RSModifierType GetModifierType() const override;
514     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
515 };
516 
517 class RSC_EXPORT RSForegroundBlurRadiusModifier : public RSForegroundModifier {
518 public:
519     explicit RSForegroundBlurRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
520     virtual ~RSForegroundBlurRadiusModifier() = default;
521 protected:
522     RSModifierType GetModifierType() const override;
523     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
524 };
525 
526 class RSC_EXPORT RSForegroundBlurSaturationModifier : public RSForegroundModifier {
527 public:
528     explicit RSForegroundBlurSaturationModifier(const std::shared_ptr<RSPropertyBase>& property);
529     virtual ~RSForegroundBlurSaturationModifier() = default;
530 protected:
531     RSModifierType GetModifierType() const override;
532     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
533 };
534 
535 class RSC_EXPORT RSForegroundBlurBrightnessModifier : public RSForegroundModifier {
536 public:
537     explicit RSForegroundBlurBrightnessModifier(const std::shared_ptr<RSPropertyBase>& property);
538     virtual ~RSForegroundBlurBrightnessModifier() = default;
539 protected:
540     RSModifierType GetModifierType() const override;
541     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
542 };
543 
544 class RSC_EXPORT RSForegroundBlurMaskColorModifier : public RSForegroundModifier {
545 public:
546     explicit RSForegroundBlurMaskColorModifier(const std::shared_ptr<RSPropertyBase>& property);
547     virtual ~RSForegroundBlurMaskColorModifier() = default;
548 protected:
549     RSModifierType GetModifierType() const override;
550     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
551 };
552 
553 class RSC_EXPORT RSForegroundBlurColorModeModifier : public RSForegroundModifier {
554  public:
555     explicit RSForegroundBlurColorModeModifier(const std::shared_ptr<RSPropertyBase>& property);
556     virtual ~RSForegroundBlurColorModeModifier() = default;
557 protected:
558     RSModifierType GetModifierType() const override;
559     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
560 };
561 
562 class RSC_EXPORT RSForegroundBlurRadiusXModifier : public RSForegroundModifier {
563 public:
564     explicit RSForegroundBlurRadiusXModifier(const std::shared_ptr<RSPropertyBase>& property);
565     virtual ~RSForegroundBlurRadiusXModifier() = default;
566 protected:
567     RSModifierType GetModifierType() const override;
568     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
569 };
570 
571 class RSC_EXPORT RSForegroundBlurRadiusYModifier : public RSForegroundModifier {
572 public:
573     explicit RSForegroundBlurRadiusYModifier(const std::shared_ptr<RSPropertyBase>& property);
574     virtual ~RSForegroundBlurRadiusYModifier() = default;
575 protected:
576     RSModifierType GetModifierType() const override;
577     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
578 };
579 
580 class RSC_EXPORT RSLightUpEffectModifier : public RSForegroundModifier {
581 public:
582     explicit RSLightUpEffectModifier(const std::shared_ptr<RSPropertyBase>& property);
583     virtual ~RSLightUpEffectModifier() = default;
584 protected:
585     RSModifierType GetModifierType() const override;
586     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
587 };
588 
589 class RSC_EXPORT RSDynamicLightUpRateModifier : public RSForegroundModifier {
590 public:
591     explicit RSDynamicLightUpRateModifier(const std::shared_ptr<RSPropertyBase>& property);
592     virtual ~RSDynamicLightUpRateModifier() = default;
593 protected:
594     RSModifierType GetModifierType() const override;
595     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
596 };
597 
598 class RSC_EXPORT RSDynamicLightUpDegreeModifier : public RSForegroundModifier {
599 public:
600     explicit RSDynamicLightUpDegreeModifier(const std::shared_ptr<RSPropertyBase>& property);
601     virtual ~RSDynamicLightUpDegreeModifier() = default;
602 protected:
603     RSModifierType GetModifierType() const override;
604     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
605 };
606 
607 class RSC_EXPORT RSWaterRippleParamsModifier : public RSBackgroundModifier {
608 public:
609     explicit RSWaterRippleParamsModifier(const std::shared_ptr<RSPropertyBase>& property);
610     virtual ~RSWaterRippleParamsModifier() = default;
611 protected:
612     RSModifierType GetModifierType() const override;
613     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
614 };
615 
616 class RSC_EXPORT RSWaterRippleProgressModifier : public RSBackgroundModifier {
617 public:
618     explicit RSWaterRippleProgressModifier(const std::shared_ptr<RSPropertyBase>& property);
619     virtual ~RSWaterRippleProgressModifier() = default;
620 protected:
621     RSModifierType GetModifierType() const override;
622     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
623 };
624 
625 class RSC_EXPORT RSFlyOutParamsModifier : public RSForegroundModifier {
626 public:
627     explicit RSFlyOutParamsModifier(const std::shared_ptr<RSPropertyBase>& property);
628     virtual ~RSFlyOutParamsModifier() = default;
629 protected:
630     RSModifierType GetModifierType() const override;
631     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
632 };
633 
634 class RSC_EXPORT RSFlyOutDegreeModifier : public RSForegroundModifier {
635 public:
636     explicit RSFlyOutDegreeModifier(const std::shared_ptr<RSPropertyBase>& property);
637     virtual ~RSFlyOutDegreeModifier() = default;
638 protected:
639     RSModifierType GetModifierType() const override;
640     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
641 };
642 
643 class RSC_EXPORT RSDistortionKModifier : public RSForegroundModifier {
644 public:
645     explicit RSDistortionKModifier(const std::shared_ptr<RSPropertyBase>& property);
646     virtual ~RSDistortionKModifier() = default;
647 protected:
648     RSModifierType GetModifierType() const override;
649     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
650 };
651 
652 class RSC_EXPORT RSFgBrightnessRatesModifier : public RSForegroundModifier {
653 public:
654     explicit RSFgBrightnessRatesModifier(const std::shared_ptr<RSPropertyBase>& property);
655     virtual ~RSFgBrightnessRatesModifier() = default;
656 protected:
657     RSModifierType GetModifierType() const override;
658     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
659 };
660 
661 class RSC_EXPORT RSFgBrightnessSaturationModifier : public RSForegroundModifier {
662 public:
663     explicit RSFgBrightnessSaturationModifier(const std::shared_ptr<RSPropertyBase>& property);
664     virtual ~RSFgBrightnessSaturationModifier() = default;
665 protected:
666     RSModifierType GetModifierType() const override;
667     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
668 };
669 
670 class RSC_EXPORT RSFgBrightnessPosCoeffModifier : public RSForegroundModifier {
671 public:
672     explicit RSFgBrightnessPosCoeffModifier(const std::shared_ptr<RSPropertyBase>& property);
673     virtual ~RSFgBrightnessPosCoeffModifier() = default;
674 protected:
675     RSModifierType GetModifierType() const override;
676     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
677 };
678 
679 class RSC_EXPORT RSFgBrightnessNegCoeffModifier : public RSForegroundModifier {
680 public:
681     explicit RSFgBrightnessNegCoeffModifier(const std::shared_ptr<RSPropertyBase>& property);
682     virtual ~RSFgBrightnessNegCoeffModifier() = default;
683 protected:
684     RSModifierType GetModifierType() const override;
685     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
686 };
687 
688 class RSC_EXPORT RSFgBrightnessFractModifier : public RSForegroundModifier {
689 public:
690     explicit RSFgBrightnessFractModifier(const std::shared_ptr<RSPropertyBase>& property);
691     virtual ~RSFgBrightnessFractModifier() = default;
692 protected:
693     RSModifierType GetModifierType() const override;
694     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
695 };
696 
697 class RSC_EXPORT RSBgBrightnessRatesModifier : public RSBackgroundModifier {
698 public:
699     explicit RSBgBrightnessRatesModifier(const std::shared_ptr<RSPropertyBase>& property);
700     virtual ~RSBgBrightnessRatesModifier() = default;
701 protected:
702     RSModifierType GetModifierType() const override;
703     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
704 };
705 
706 class RSC_EXPORT RSBgBrightnessSaturationModifier : public RSBackgroundModifier {
707 public:
708     explicit RSBgBrightnessSaturationModifier(const std::shared_ptr<RSPropertyBase>& property);
709     virtual ~RSBgBrightnessSaturationModifier() = default;
710 protected:
711     RSModifierType GetModifierType() const override;
712     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
713 };
714 
715 class RSC_EXPORT RSBgBrightnessPosCoeffModifier : public RSBackgroundModifier {
716 public:
717     explicit RSBgBrightnessPosCoeffModifier(const std::shared_ptr<RSPropertyBase>& property);
718     virtual ~RSBgBrightnessPosCoeffModifier() = default;
719 protected:
720     RSModifierType GetModifierType() const override;
721     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
722 };
723 
724 class RSC_EXPORT RSBgBrightnessNegCoeffModifier : public RSBackgroundModifier {
725 public:
726     explicit RSBgBrightnessNegCoeffModifier(const std::shared_ptr<RSPropertyBase>& property);
727     virtual ~RSBgBrightnessNegCoeffModifier() = default;
728 protected:
729     RSModifierType GetModifierType() const override;
730     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
731 };
732 
733 class RSC_EXPORT RSBgBrightnessFractModifier : public RSBackgroundModifier {
734 public:
735     explicit RSBgBrightnessFractModifier(const std::shared_ptr<RSPropertyBase>& property);
736     virtual ~RSBgBrightnessFractModifier() = default;
737 protected:
738     RSModifierType GetModifierType() const override;
739     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
740 };
741 
742 class RSC_EXPORT RSDynamicDimDegreeModifier : public RSForegroundModifier {
743 public:
744     explicit RSDynamicDimDegreeModifier(const std::shared_ptr<RSPropertyBase>& property);
745     virtual ~RSDynamicDimDegreeModifier() = default;
746 protected:
747     RSModifierType GetModifierType() const override;
748     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
749 };
750 
751 class RSC_EXPORT RSEmitterUpdaterModifier : public RSForegroundModifier {
752 public:
753     explicit RSEmitterUpdaterModifier(const std::shared_ptr<RSPropertyBase>& property);
754     virtual ~RSEmitterUpdaterModifier() = default;
755 protected:
756     RSModifierType GetModifierType() const override;
757     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
758 };
759 
760 class RSC_EXPORT RSParticleNoiseFieldsModifier : public RSForegroundModifier {
761 public:
762     explicit RSParticleNoiseFieldsModifier(const std::shared_ptr<RSPropertyBase>& property);
763     virtual ~RSParticleNoiseFieldsModifier() = default;
764 protected:
765     RSModifierType GetModifierType() const override;
766     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
767 };
768 
769 class RSC_EXPORT RSLinearGradientBlurParaModifier : public RSForegroundModifier {
770 public:
771     explicit RSLinearGradientBlurParaModifier(const std::shared_ptr<RSPropertyBase>& property);
772     virtual ~RSLinearGradientBlurParaModifier() = default;
773 protected:
774     RSModifierType GetModifierType() const override;
775     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
776 };
777 
778 class RSC_EXPORT RSMotionBlurParaModifier : public RSForegroundModifier {
779 public:
780     explicit RSMotionBlurParaModifier(const std::shared_ptr<RSPropertyBase>& property);
781     virtual ~RSMotionBlurParaModifier() = default;
782 protected:
783     RSModifierType GetModifierType() const override;
784     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
785 };
786 
787 class RSC_EXPORT RSMagnifierParamsModifier : public RSForegroundModifier {
788 public:
789     explicit RSMagnifierParamsModifier(const std::shared_ptr<RSPropertyBase>& property);
790     virtual ~RSMagnifierParamsModifier() = default;
791 protected:
792     RSModifierType GetModifierType() const override;
793     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
794 };
795 
796 class RSC_EXPORT RSBackgroundFilterModifier : public RSBackgroundModifier {
797 public:
798     explicit RSBackgroundFilterModifier(const std::shared_ptr<RSPropertyBase>& property);
799     virtual ~RSBackgroundFilterModifier() = default;
800 protected:
801     RSModifierType GetModifierType() const override;
802     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
803 };
804 
805 class RSC_EXPORT RSFrameGravityModifier : public RSAppearanceModifier {
806 public:
807     explicit RSFrameGravityModifier(const std::shared_ptr<RSPropertyBase>& property);
808     virtual ~RSFrameGravityModifier() = default;
809 protected:
810     RSModifierType GetModifierType() const override;
811     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
812 };
813 
814 class RSC_EXPORT RSClipRRectModifier : public RSAppearanceModifier {
815 public:
816     explicit RSClipRRectModifier(const std::shared_ptr<RSPropertyBase>& property);
817     virtual ~RSClipRRectModifier() = default;
818 protected:
819     RSModifierType GetModifierType() const override;
820     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
821 };
822 
823 class RSC_EXPORT RSClipBoundsModifier : public RSAppearanceModifier {
824 public:
825     explicit RSClipBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
826     virtual ~RSClipBoundsModifier() = default;
827 protected:
828     RSModifierType GetModifierType() const override;
829     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
830 };
831 
832 class RSC_EXPORT RSClipToBoundsModifier : public RSAppearanceModifier {
833 public:
834     explicit RSClipToBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
835     virtual ~RSClipToBoundsModifier() = default;
836 protected:
837     RSModifierType GetModifierType() const override;
838     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
839 };
840 
841 class RSC_EXPORT RSClipToFrameModifier : public RSAppearanceModifier {
842 public:
843     explicit RSClipToFrameModifier(const std::shared_ptr<RSPropertyBase>& property);
844     virtual ~RSClipToFrameModifier() = default;
845 protected:
846     RSModifierType GetModifierType() const override;
847     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
848 };
849 
850 class RSC_EXPORT RSVisibleModifier : public RSAppearanceModifier {
851 public:
852     explicit RSVisibleModifier(const std::shared_ptr<RSPropertyBase>& property);
853     virtual ~RSVisibleModifier() = default;
854 protected:
855     RSModifierType GetModifierType() const override;
856     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
857 };
858 
859 class RSC_EXPORT RSSpherizeModifier : public RSAppearanceModifier {
860 public:
861     explicit RSSpherizeModifier(const std::shared_ptr<RSPropertyBase>& property);
862     virtual ~RSSpherizeModifier() = default;
863 protected:
864     RSModifierType GetModifierType() const override;
865     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
866 };
867 
868 class RSC_EXPORT RSShadowColorModifier : public RSBackgroundModifier {
869 public:
870     explicit RSShadowColorModifier(const std::shared_ptr<RSPropertyBase>& property);
871     virtual ~RSShadowColorModifier() = default;
872 protected:
873     RSModifierType GetModifierType() const override;
874     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
875 };
876 
877 class RSC_EXPORT RSShadowOffsetXModifier : public RSBackgroundModifier {
878 public:
879     explicit RSShadowOffsetXModifier(const std::shared_ptr<RSPropertyBase>& property);
880     virtual ~RSShadowOffsetXModifier() = default;
881 protected:
882     RSModifierType GetModifierType() const override;
883     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
884 };
885 
886 class RSC_EXPORT RSShadowOffsetYModifier : public RSBackgroundModifier {
887 public:
888     explicit RSShadowOffsetYModifier(const std::shared_ptr<RSPropertyBase>& property);
889     virtual ~RSShadowOffsetYModifier() = default;
890 protected:
891     RSModifierType GetModifierType() const override;
892     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
893 };
894 
895 class RSC_EXPORT RSShadowAlphaModifier : public RSBackgroundModifier {
896 public:
897     explicit RSShadowAlphaModifier(const std::shared_ptr<RSPropertyBase>& property);
898     virtual ~RSShadowAlphaModifier() = default;
899 protected:
900     RSModifierType GetModifierType() const override;
901     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
902 };
903 
904 class RSC_EXPORT RSShadowElevationModifier : public RSBackgroundModifier {
905 public:
906     explicit RSShadowElevationModifier(const std::shared_ptr<RSPropertyBase>& property);
907     virtual ~RSShadowElevationModifier() = default;
908 protected:
909     RSModifierType GetModifierType() const override;
910     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
911 };
912 
913 class RSC_EXPORT RSShadowRadiusModifier : public RSBackgroundModifier {
914 public:
915     explicit RSShadowRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
916     virtual ~RSShadowRadiusModifier() = default;
917 protected:
918     RSModifierType GetModifierType() const override;
919     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
920 };
921 
922 class RSC_EXPORT RSShadowPathModifier : public RSBackgroundModifier {
923 public:
924     explicit RSShadowPathModifier(const std::shared_ptr<RSPropertyBase>& property);
925     virtual ~RSShadowPathModifier() = default;
926 protected:
927     RSModifierType GetModifierType() const override;
928     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
929 };
930 
931 class RSC_EXPORT RSShadowMaskModifier : public RSBackgroundModifier {
932 public:
933     explicit RSShadowMaskModifier(const std::shared_ptr<RSPropertyBase>& property);
934     virtual ~RSShadowMaskModifier() = default;
935 protected:
936     RSModifierType GetModifierType() const override;
937     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
938 };
939 
940 class RSC_EXPORT RSShadowIsFilledModifier : public RSBackgroundModifier {
941 public:
942     explicit RSShadowIsFilledModifier(const std::shared_ptr<RSPropertyBase>& property);
943     virtual ~RSShadowIsFilledModifier() = default;
944 protected:
945     RSModifierType GetModifierType() const override;
946     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
947 };
948 
949 class RSC_EXPORT RSGreyCoefModifier : public RSBackgroundModifier {
950 public:
951     explicit RSGreyCoefModifier(const std::shared_ptr<RSPropertyBase>& property);
952     virtual ~RSGreyCoefModifier() = default;
953 protected:
954     RSModifierType GetModifierType() const override;
955     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
956 };
957 
958 class RSC_EXPORT RSMaskModifier : public RSForegroundModifier {
959 public:
960     explicit RSMaskModifier(const std::shared_ptr<RSPropertyBase>& property);
961     virtual ~RSMaskModifier() = default;
962 protected:
963     RSModifierType GetModifierType() const override;
964     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
965 };
966 
967 class RSC_EXPORT RSPixelStretchModifier : public RSGeometryModifier {
968 public:
969     explicit RSPixelStretchModifier(const std::shared_ptr<RSPropertyBase>& property);
970     virtual ~RSPixelStretchModifier() = default;
971 protected:
972     RSModifierType GetModifierType() const override;
973     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
974 };
975 
976 class RSC_EXPORT RSPixelStretchPercentModifier : public RSGeometryModifier {
977 public:
978     explicit RSPixelStretchPercentModifier(const std::shared_ptr<RSPropertyBase>& property);
979     virtual ~RSPixelStretchPercentModifier() = default;
980 protected:
981     RSModifierType GetModifierType() const override;
982     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
983 };
984 
985 class RSC_EXPORT RSPixelStretchTileModeModifier : public RSGeometryModifier {
986 public:
987     explicit RSPixelStretchTileModeModifier(const std::shared_ptr<RSPropertyBase>& property);
988     virtual ~RSPixelStretchTileModeModifier() = default;
989 protected:
990     RSModifierType GetModifierType() const override;
991     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
992 };
993 
994 class RSC_EXPORT RSGrayScaleModifier : public RSForegroundModifier {
995 public:
996     explicit RSGrayScaleModifier(const std::shared_ptr<RSPropertyBase>& property);
997     virtual ~RSGrayScaleModifier() = default;
998 protected:
999     RSModifierType GetModifierType() const override;
1000     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1001 };
1002 
1003 class RSC_EXPORT RSLightIntensityModifier : public RSForegroundModifier {
1004 public:
1005     explicit RSLightIntensityModifier(const std::shared_ptr<RSPropertyBase>& property);
1006     virtual ~RSLightIntensityModifier() = default;
1007 protected:
1008     RSModifierType GetModifierType() const override;
1009     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1010 };
1011 
1012 class RSC_EXPORT RSLightColorModifier : public RSForegroundModifier {
1013 public:
1014     explicit RSLightColorModifier(const std::shared_ptr<RSPropertyBase>& property);
1015     virtual ~RSLightColorModifier() = default;
1016 protected:
1017     RSModifierType GetModifierType() const override;
1018     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1019 };
1020 
1021 class RSC_EXPORT RSIlluminatedTypeModifier : public RSForegroundModifier {
1022 public:
1023     explicit RSIlluminatedTypeModifier(const std::shared_ptr<RSPropertyBase>& property);
1024     virtual ~RSIlluminatedTypeModifier() = default;
1025 protected:
1026     RSModifierType GetModifierType() const override;
1027     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1028 };
1029 
1030 class RSC_EXPORT RSLightPositionModifier : public RSForegroundModifier {
1031 public:
1032     explicit RSLightPositionModifier(const std::shared_ptr<RSPropertyBase>& property);
1033     virtual ~RSLightPositionModifier() = default;
1034 protected:
1035     RSModifierType GetModifierType() const override;
1036     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1037 };
1038 
1039 class RSC_EXPORT RSIlluminatedBorderWidthModifier : public RSForegroundModifier {
1040 public:
1041     explicit RSIlluminatedBorderWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
1042     virtual ~RSIlluminatedBorderWidthModifier() = default;
1043 protected:
1044     RSModifierType GetModifierType() const override;
1045     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1046 };
1047 
1048 class RSC_EXPORT RSBloomModifier : public RSForegroundModifier {
1049 public:
1050     explicit RSBloomModifier(const std::shared_ptr<RSPropertyBase>& property);
1051     virtual ~RSBloomModifier() = default;
1052 protected:
1053     RSModifierType GetModifierType() const override;
1054     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1055 };
1056 
1057 class RSC_EXPORT RSBrightnessModifier : public RSForegroundModifier {
1058 public:
1059     explicit RSBrightnessModifier(const std::shared_ptr<RSPropertyBase>& property);
1060     virtual ~RSBrightnessModifier() = default;
1061 protected:
1062     RSModifierType GetModifierType() const override;
1063     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1064 };
1065 
1066 class RSC_EXPORT RSContrastModifier : public RSForegroundModifier {
1067 public:
1068     explicit RSContrastModifier(const std::shared_ptr<RSPropertyBase>& property);
1069     virtual ~RSContrastModifier() = default;
1070 protected:
1071     RSModifierType GetModifierType() const override;
1072     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1073 };
1074 
1075 class RSC_EXPORT RSSaturateModifier : public RSForegroundModifier {
1076 public:
1077     explicit RSSaturateModifier(const std::shared_ptr<RSPropertyBase>& property);
1078     virtual ~RSSaturateModifier() = default;
1079 protected:
1080     RSModifierType GetModifierType() const override;
1081     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1082 };
1083 
1084 class RSC_EXPORT RSSepiaModifier : public RSForegroundModifier {
1085 public:
1086     explicit RSSepiaModifier(const std::shared_ptr<RSPropertyBase>& property);
1087     virtual ~RSSepiaModifier() = default;
1088 protected:
1089     RSModifierType GetModifierType() const override;
1090     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1091 };
1092 
1093 class RSC_EXPORT RSInvertModifier : public RSForegroundModifier {
1094 public:
1095     explicit RSInvertModifier(const std::shared_ptr<RSPropertyBase>& property);
1096     virtual ~RSInvertModifier() = default;
1097 protected:
1098     RSModifierType GetModifierType() const override;
1099     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1100 };
1101 
1102 class RSC_EXPORT RSAiInvertModifier : public RSForegroundModifier {
1103 public:
1104     explicit RSAiInvertModifier(const std::shared_ptr<RSPropertyBase>& property);
1105     virtual ~RSAiInvertModifier() = default;
1106 protected:
1107     RSModifierType GetModifierType() const override;
1108     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1109 };
1110 
1111 class RSC_EXPORT RSSystemBarEffectModifier : public RSBackgroundModifier {
1112 public:
1113     explicit RSSystemBarEffectModifier(const std::shared_ptr<RSPropertyBase>& property);
1114     virtual ~RSSystemBarEffectModifier() = default;
1115 protected:
1116     RSModifierType GetModifierType() const override;
1117     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1118 };
1119 
1120 class RSC_EXPORT RSHueRotateModifier : public RSForegroundModifier {
1121 public:
1122     explicit RSHueRotateModifier(const std::shared_ptr<RSPropertyBase>& property);
1123     virtual ~RSHueRotateModifier() = default;
1124 protected:
1125     RSModifierType GetModifierType() const override;
1126     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1127 };
1128 
1129 class RSC_EXPORT RSColorBlendModifier : public RSForegroundModifier {
1130 public:
1131     explicit RSColorBlendModifier(const std::shared_ptr<RSPropertyBase>& property);
1132     virtual ~RSColorBlendModifier() = default;
1133 protected:
1134     RSModifierType GetModifierType() const override;
1135     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1136 };
1137 
1138 class RSC_EXPORT RSUseEffectModifier : public RSBackgroundModifier {
1139 public:
1140     explicit RSUseEffectModifier(const std::shared_ptr<RSPropertyBase>& property);
1141     virtual ~RSUseEffectModifier() = default;
1142 protected:
1143     RSModifierType GetModifierType() const override;
1144     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1145 };
1146 
1147 class RSC_EXPORT RSColorBlendModeModifier : public RSBackgroundModifier {
1148 public:
1149     explicit RSColorBlendModeModifier(const std::shared_ptr<RSPropertyBase>& property);
1150     virtual ~RSColorBlendModeModifier() = default;
1151 protected:
1152     RSModifierType GetModifierType() const override;
1153     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1154 };
1155 
1156 class RSC_EXPORT RSColorBlendApplyTypeModifier : public RSBackgroundModifier {
1157 public:
1158     explicit RSColorBlendApplyTypeModifier(const std::shared_ptr<RSPropertyBase>& property);
1159     virtual ~RSColorBlendApplyTypeModifier() = default;
1160 protected:
1161     RSModifierType GetModifierType() const override;
1162     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1163 };
1164 
1165 class RSC_EXPORT RSShadowColorStrategyModifier : public RSBackgroundModifier {
1166 public:
1167     explicit RSShadowColorStrategyModifier(const std::shared_ptr<RSPropertyBase>& property);
1168     virtual ~RSShadowColorStrategyModifier() = default;
1169 protected:
1170     RSModifierType GetModifierType() const override;
1171     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
1172 };
1173 } // namespace Rosen
1174 } // namespace OHOS
1175 
1176 #endif // RENDER_SERVICE_CLIENT_CORE_MODIFIER_RS_PROPERTY_MODIFIER_H
1177