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