• 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 };
31 
32 class RSC_EXPORT RSBoundsSizeModifier : public RSGeometryModifier {
33 public:
34     explicit RSBoundsSizeModifier(const std::shared_ptr<RSPropertyBase>& property);
35     virtual ~RSBoundsSizeModifier() = default;
36 protected:
37     RSModifierType GetModifierType() const override;
38     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
39 };
40 
41 class RSC_EXPORT RSBoundsPositionModifier : public RSGeometryModifier {
42 public:
43     explicit RSBoundsPositionModifier(const std::shared_ptr<RSPropertyBase>& property);
44     virtual ~RSBoundsPositionModifier() = default;
45 protected:
46     RSModifierType GetModifierType() const override;
47     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
48 };
49 
50 class RSC_EXPORT RSFrameModifier : public RSGeometryModifier {
51 public:
52     explicit RSFrameModifier(const std::shared_ptr<RSPropertyBase>& property);
53     virtual ~RSFrameModifier() = default;
54 protected:
55     RSModifierType GetModifierType() const override;
56     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
57 };
58 
59 class RSC_EXPORT RSPositionZModifier : public RSGeometryModifier {
60 public:
61     explicit RSPositionZModifier(const std::shared_ptr<RSPropertyBase>& property);
62     virtual ~RSPositionZModifier() = default;
63 protected:
64     RSModifierType GetModifierType() const override;
65     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
66 };
67 
68 class RSC_EXPORT RSSandBoxModifier : public RSGeometryModifier {
69 public:
70     explicit RSSandBoxModifier(const std::shared_ptr<RSPropertyBase>& property);
71     virtual ~RSSandBoxModifier() = default;
72 protected:
73     RSModifierType GetModifierType() const override;
74     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
75 };
76 
77 class RSC_EXPORT RSPivotModifier : public RSGeometryModifier {
78 public:
79     explicit RSPivotModifier(const std::shared_ptr<RSPropertyBase>& property);
80     virtual ~RSPivotModifier() = default;
81 protected:
82     RSModifierType GetModifierType() const override;
83     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
84 };
85 
86 class RSC_EXPORT RSPivotZModifier : public RSGeometryModifier {
87 public:
88     explicit RSPivotZModifier(const std::shared_ptr<RSPropertyBase>& property);
89     virtual ~RSPivotZModifier() = default;
90 protected:
91     RSModifierType GetModifierType() const override;
92     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
93 };
94 
95 class RSC_EXPORT RSQuaternionModifier : public RSGeometryModifier {
96 public:
97     explicit RSQuaternionModifier(const std::shared_ptr<RSPropertyBase>& property);
98     virtual ~RSQuaternionModifier() = default;
99 protected:
100     RSModifierType GetModifierType() const override;
101     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
102 };
103 
104 class RSC_EXPORT RSRotationModifier : public RSGeometryModifier {
105 public:
106     explicit RSRotationModifier(const std::shared_ptr<RSPropertyBase>& property);
107     virtual ~RSRotationModifier() = default;
108 protected:
109     RSModifierType GetModifierType() const override;
110     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
111 };
112 
113 class RSC_EXPORT RSRotationXModifier : public RSGeometryModifier {
114 public:
115     explicit RSRotationXModifier(const std::shared_ptr<RSPropertyBase>& property);
116     virtual ~RSRotationXModifier() = default;
117 protected:
118     RSModifierType GetModifierType() const override;
119     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
120 };
121 
122 class RSC_EXPORT RSRotationYModifier : public RSGeometryModifier {
123 public:
124     explicit RSRotationYModifier(const std::shared_ptr<RSPropertyBase>& property);
125     virtual ~RSRotationYModifier() = default;
126 protected:
127     RSModifierType GetModifierType() const override;
128     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
129 };
130 
131 class RSC_EXPORT RSCameraDistanceModifier : public RSGeometryModifier {
132 public:
133     explicit RSCameraDistanceModifier(const std::shared_ptr<RSPropertyBase>& property);
134     virtual ~RSCameraDistanceModifier() = default;
135 protected:
136     RSModifierType GetModifierType() const override;
137     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
138 };
139 
140 class RSC_EXPORT RSScaleModifier : public RSGeometryModifier {
141 public:
142     explicit RSScaleModifier(const std::shared_ptr<RSPropertyBase>& property);
143     virtual ~RSScaleModifier() = default;
144 protected:
145     RSModifierType GetModifierType() const override;
146     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
147 };
148 
149 class RSC_EXPORT RSTranslateModifier : public RSGeometryModifier {
150 public:
151     explicit RSTranslateModifier(const std::shared_ptr<RSPropertyBase>& property);
152     virtual ~RSTranslateModifier() = default;
153 protected:
154     RSModifierType GetModifierType() const override;
155     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
156 };
157 
158 class RSC_EXPORT RSTranslateZModifier : public RSGeometryModifier {
159 public:
160     explicit RSTranslateZModifier(const std::shared_ptr<RSPropertyBase>& property);
161     virtual ~RSTranslateZModifier() = default;
162 protected:
163     RSModifierType GetModifierType() const override;
164     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
165 };
166 
167 class RSC_EXPORT RSCornerRadiusModifier : public RSAppearanceModifier {
168 public:
169     explicit RSCornerRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
170     virtual ~RSCornerRadiusModifier() = default;
171 protected:
172     RSModifierType GetModifierType() const override;
173     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
174 };
175 
176 class RSC_EXPORT RSAlphaModifier : public RSAppearanceModifier {
177 public:
178     explicit RSAlphaModifier(const std::shared_ptr<RSPropertyBase>& property);
179     virtual ~RSAlphaModifier() = default;
180 protected:
181     RSModifierType GetModifierType() const override;
182     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
183 };
184 
185 class RSC_EXPORT RSAlphaOffscreenModifier : public RSAppearanceModifier {
186 public:
187     explicit RSAlphaOffscreenModifier(const std::shared_ptr<RSPropertyBase>& property);
188     virtual ~RSAlphaOffscreenModifier() = default;
189 protected:
190     RSModifierType GetModifierType() const override;
191     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
192 };
193 
194 class RS_EXPORT RSEnvForegroundColorModifier : public RSForegroundModifier {
195 public:
196     explicit RSEnvForegroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
197     virtual ~RSEnvForegroundColorModifier() = default;
198 
199 protected:
200     RSModifierType GetModifierType() const override;
201     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
202 };
203 
204 class RS_EXPORT RSEnvForegroundColorStrategyModifier : public RSForegroundModifier {
205 public:
206     explicit RSEnvForegroundColorStrategyModifier(const std::shared_ptr<RSPropertyBase>& property);
207     virtual ~RSEnvForegroundColorStrategyModifier() = default;
208 
209 protected:
210     RSModifierType GetModifierType() const override;
211     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
212 };
213 
214 class RSC_EXPORT RSForegroundColorModifier : public RSForegroundModifier {
215 public:
216     explicit RSForegroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
217     virtual ~RSForegroundColorModifier() = default;
218 protected:
219     RSModifierType GetModifierType() const override;
220     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
221 };
222 
223 class RSC_EXPORT RSBackgroundColorModifier : public RSBackgroundModifier {
224 public:
225     explicit RSBackgroundColorModifier(const std::shared_ptr<RSPropertyBase>& property);
226     virtual ~RSBackgroundColorModifier() = default;
227 protected:
228     RSModifierType GetModifierType() const override;
229     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
230 };
231 
232 class RSC_EXPORT RSBackgroundShaderModifier : public RSBackgroundModifier {
233 public:
234     explicit RSBackgroundShaderModifier(const std::shared_ptr<RSPropertyBase>& property);
235     virtual ~RSBackgroundShaderModifier() = default;
236 protected:
237     RSModifierType GetModifierType() const override;
238     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
239 };
240 
241 class RSC_EXPORT RSBgImageModifier : public RSBackgroundModifier {
242 public:
243     explicit RSBgImageModifier(const std::shared_ptr<RSPropertyBase>& property);
244     virtual ~RSBgImageModifier() = default;
245 protected:
246     RSModifierType GetModifierType() const override;
247     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
248 };
249 
250 class RSC_EXPORT RSBgImageWidthModifier : public RSBackgroundModifier {
251 public:
252     explicit RSBgImageWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
253     virtual ~RSBgImageWidthModifier() = default;
254 protected:
255     RSModifierType GetModifierType() const override;
256     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
257 };
258 
259 class RSC_EXPORT RSBgImageHeightModifier : public RSBackgroundModifier {
260 public:
261     explicit RSBgImageHeightModifier(const std::shared_ptr<RSPropertyBase>& property);
262     virtual ~RSBgImageHeightModifier() = default;
263 protected:
264     RSModifierType GetModifierType() const override;
265     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
266 };
267 
268 class RSC_EXPORT RSBgImagePositionXModifier : public RSBackgroundModifier {
269 public:
270     explicit RSBgImagePositionXModifier(const std::shared_ptr<RSPropertyBase>& property);
271     virtual ~RSBgImagePositionXModifier() = default;
272 protected:
273     RSModifierType GetModifierType() const override;
274     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
275 };
276 
277 class RSC_EXPORT RSBgImagePositionYModifier : public RSBackgroundModifier {
278 public:
279     explicit RSBgImagePositionYModifier(const std::shared_ptr<RSPropertyBase>& property);
280     virtual ~RSBgImagePositionYModifier() = default;
281 protected:
282     RSModifierType GetModifierType() const override;
283     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
284 };
285 
286 class RSC_EXPORT RSBorderColorModifier : public RSForegroundModifier {
287 public:
288     explicit RSBorderColorModifier(const std::shared_ptr<RSPropertyBase>& property);
289     virtual ~RSBorderColorModifier() = default;
290 protected:
291     RSModifierType GetModifierType() const override;
292     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
293 };
294 
295 class RSC_EXPORT RSBorderWidthModifier : public RSForegroundModifier {
296 public:
297     explicit RSBorderWidthModifier(const std::shared_ptr<RSPropertyBase>& property);
298     virtual ~RSBorderWidthModifier() = default;
299 protected:
300     RSModifierType GetModifierType() const override;
301     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
302 };
303 
304 class RSC_EXPORT RSBorderStyleModifier : public RSForegroundModifier {
305 public:
306     explicit RSBorderStyleModifier(const std::shared_ptr<RSPropertyBase>& property);
307     virtual ~RSBorderStyleModifier() = default;
308 protected:
309     RSModifierType GetModifierType() const override;
310     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
311 };
312 
313 class RSC_EXPORT RSFilterModifier : public RSForegroundModifier {
314 public:
315     explicit RSFilterModifier(const std::shared_ptr<RSPropertyBase>& property);
316     virtual ~RSFilterModifier() = default;
317 protected:
318     RSModifierType GetModifierType() const override;
319     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
320 };
321 
322 class RSC_EXPORT RSLightUpEffectModifier : public RSForegroundModifier {
323 public:
324     explicit RSLightUpEffectModifier(const std::shared_ptr<RSPropertyBase>& property);
325     virtual ~RSLightUpEffectModifier() = default;
326 protected:
327     RSModifierType GetModifierType() const override;
328     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
329 };
330 
331 class RSC_EXPORT RSDynamicLightUpRateModifier : public RSForegroundModifier {
332 public:
333     explicit RSDynamicLightUpRateModifier(const std::shared_ptr<RSPropertyBase>& property);
334     virtual ~RSDynamicLightUpRateModifier() = default;
335 protected:
336     RSModifierType GetModifierType() const override;
337     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
338 };
339 
340 class RSC_EXPORT RSDynamicLightUpDegreeModifier : public RSForegroundModifier {
341 public:
342     explicit RSDynamicLightUpDegreeModifier(const std::shared_ptr<RSPropertyBase>& property);
343     virtual ~RSDynamicLightUpDegreeModifier() = default;
344 protected:
345     RSModifierType GetModifierType() const override;
346     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
347 };
348 
349 class RSC_EXPORT RSLinearGradientBlurParaModifier : public RSForegroundModifier {
350 public:
351     explicit RSLinearGradientBlurParaModifier(const std::shared_ptr<RSPropertyBase>& property);
352     virtual ~RSLinearGradientBlurParaModifier() = default;
353 protected:
354     RSModifierType GetModifierType() const override;
355     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
356 };
357 
358 class RSC_EXPORT RSBackgroundFilterModifier : public RSBackgroundModifier {
359 public:
360     explicit RSBackgroundFilterModifier(const std::shared_ptr<RSPropertyBase>& property);
361     virtual ~RSBackgroundFilterModifier() = default;
362 protected:
363     RSModifierType GetModifierType() const override;
364     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
365 };
366 
367 class RSC_EXPORT RSFrameGravityModifier : public RSAppearanceModifier {
368 public:
369     explicit RSFrameGravityModifier(const std::shared_ptr<RSPropertyBase>& property);
370     virtual ~RSFrameGravityModifier() = default;
371 protected:
372     RSModifierType GetModifierType() const override;
373     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
374 };
375 
376 class RSC_EXPORT RSClipRRectModifier : public RSAppearanceModifier {
377 public:
378     explicit RSClipRRectModifier(const std::shared_ptr<RSPropertyBase>& property);
379     virtual ~RSClipRRectModifier() = default;
380 protected:
381     RSModifierType GetModifierType() const override;
382     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
383 };
384 
385 class RSC_EXPORT RSClipBoundsModifier : public RSAppearanceModifier {
386 public:
387     explicit RSClipBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
388     virtual ~RSClipBoundsModifier() = default;
389 protected:
390     RSModifierType GetModifierType() const override;
391     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
392 };
393 
394 class RSC_EXPORT RSClipToBoundsModifier : public RSAppearanceModifier {
395 public:
396     explicit RSClipToBoundsModifier(const std::shared_ptr<RSPropertyBase>& property);
397     virtual ~RSClipToBoundsModifier() = default;
398 protected:
399     RSModifierType GetModifierType() const override;
400     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
401 };
402 
403 class RSC_EXPORT RSClipToFrameModifier : public RSAppearanceModifier {
404 public:
405     explicit RSClipToFrameModifier(const std::shared_ptr<RSPropertyBase>& property);
406     virtual ~RSClipToFrameModifier() = default;
407 protected:
408     RSModifierType GetModifierType() const override;
409     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
410 };
411 
412 class RSC_EXPORT RSVisibleModifier : public RSAppearanceModifier {
413 public:
414     explicit RSVisibleModifier(const std::shared_ptr<RSPropertyBase>& property);
415     virtual ~RSVisibleModifier() = default;
416 protected:
417     RSModifierType GetModifierType() const override;
418     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
419 };
420 
421 class RSC_EXPORT RSSpherizeModifier : public RSAppearanceModifier {
422 public:
423     explicit RSSpherizeModifier(const std::shared_ptr<RSPropertyBase>& property);
424     virtual ~RSSpherizeModifier() = default;
425 protected:
426     RSModifierType GetModifierType() const override;
427     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
428 };
429 
430 class RSC_EXPORT RSShadowColorModifier : public RSBackgroundModifier {
431 public:
432     explicit RSShadowColorModifier(const std::shared_ptr<RSPropertyBase>& property);
433     virtual ~RSShadowColorModifier() = default;
434 protected:
435     RSModifierType GetModifierType() const override;
436     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
437 };
438 
439 class RSC_EXPORT RSShadowOffsetXModifier : public RSBackgroundModifier {
440 public:
441     explicit RSShadowOffsetXModifier(const std::shared_ptr<RSPropertyBase>& property);
442     virtual ~RSShadowOffsetXModifier() = default;
443 protected:
444     RSModifierType GetModifierType() const override;
445     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
446 };
447 
448 class RSC_EXPORT RSShadowOffsetYModifier : public RSBackgroundModifier {
449 public:
450     explicit RSShadowOffsetYModifier(const std::shared_ptr<RSPropertyBase>& property);
451     virtual ~RSShadowOffsetYModifier() = default;
452 protected:
453     RSModifierType GetModifierType() const override;
454     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
455 };
456 
457 class RSC_EXPORT RSShadowAlphaModifier : public RSBackgroundModifier {
458 public:
459     explicit RSShadowAlphaModifier(const std::shared_ptr<RSPropertyBase>& property);
460     virtual ~RSShadowAlphaModifier() = default;
461 protected:
462     RSModifierType GetModifierType() const override;
463     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
464 };
465 
466 class RSC_EXPORT RSShadowElevationModifier : public RSBackgroundModifier {
467 public:
468     explicit RSShadowElevationModifier(const std::shared_ptr<RSPropertyBase>& property);
469     virtual ~RSShadowElevationModifier() = default;
470 protected:
471     RSModifierType GetModifierType() const override;
472     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
473 };
474 
475 class RSC_EXPORT RSShadowRadiusModifier : public RSBackgroundModifier {
476 public:
477     explicit RSShadowRadiusModifier(const std::shared_ptr<RSPropertyBase>& property);
478     virtual ~RSShadowRadiusModifier() = default;
479 protected:
480     RSModifierType GetModifierType() const override;
481     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
482 };
483 
484 class RSC_EXPORT RSShadowPathModifier : public RSBackgroundModifier {
485 public:
486     explicit RSShadowPathModifier(const std::shared_ptr<RSPropertyBase>& property);
487     virtual ~RSShadowPathModifier() = default;
488 protected:
489     RSModifierType GetModifierType() const override;
490     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
491 };
492 
493 class RSC_EXPORT RSShadowMaskModifier : public RSBackgroundModifier {
494 public:
495     explicit RSShadowMaskModifier(const std::shared_ptr<RSPropertyBase>& property);
496     virtual ~RSShadowMaskModifier() = default;
497 protected:
498     RSModifierType GetModifierType() const override;
499     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
500 };
501 
502 class RSC_EXPORT RSMaskModifier : public RSForegroundModifier {
503 public:
504     explicit RSMaskModifier(const std::shared_ptr<RSPropertyBase>& property);
505     virtual ~RSMaskModifier() = default;
506 protected:
507     RSModifierType GetModifierType() const override;
508     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
509 };
510 
511 class RSC_EXPORT RSPixelStretchModifier : public RSGeometryModifier {
512 public:
513     explicit RSPixelStretchModifier(const std::shared_ptr<RSPropertyBase>& property);
514     virtual ~RSPixelStretchModifier() = default;
515 protected:
516     RSModifierType GetModifierType() const override;
517     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
518 };
519 
520 class RSC_EXPORT RSPixelStretchPercentModifier : public RSGeometryModifier {
521 public:
522     explicit RSPixelStretchPercentModifier(const std::shared_ptr<RSPropertyBase>& property);
523     virtual ~RSPixelStretchPercentModifier() = default;
524 protected:
525     RSModifierType GetModifierType() const override;
526     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
527 };
528 
529 class RSC_EXPORT RSGrayScaleModifier : public RSForegroundModifier {
530 public:
531     explicit RSGrayScaleModifier(const std::shared_ptr<RSPropertyBase>& property);
532     virtual ~RSGrayScaleModifier() = default;
533 protected:
534     RSModifierType GetModifierType() const override;
535     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
536 };
537 
538 class RSC_EXPORT RSBrightnessModifier : public RSForegroundModifier {
539 public:
540     explicit RSBrightnessModifier(const std::shared_ptr<RSPropertyBase>& property);
541     virtual ~RSBrightnessModifier() = default;
542 protected:
543     RSModifierType GetModifierType() const override;
544     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
545 };
546 
547 class RSC_EXPORT RSContrastModifier : public RSForegroundModifier {
548 public:
549     explicit RSContrastModifier(const std::shared_ptr<RSPropertyBase>& property);
550     virtual ~RSContrastModifier() = default;
551 protected:
552     RSModifierType GetModifierType() const override;
553     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
554 };
555 
556 class RSC_EXPORT RSSaturateModifier : public RSForegroundModifier {
557 public:
558     explicit RSSaturateModifier(const std::shared_ptr<RSPropertyBase>& property);
559     virtual ~RSSaturateModifier() = default;
560 protected:
561     RSModifierType GetModifierType() const override;
562     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
563 };
564 
565 class RSC_EXPORT RSSepiaModifier : public RSForegroundModifier {
566 public:
567     explicit RSSepiaModifier(const std::shared_ptr<RSPropertyBase>& property);
568     virtual ~RSSepiaModifier() = default;
569 protected:
570     RSModifierType GetModifierType() const override;
571     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
572 };
573 
574 class RSC_EXPORT RSInvertModifier : public RSForegroundModifier {
575 public:
576     explicit RSInvertModifier(const std::shared_ptr<RSPropertyBase>& property);
577     virtual ~RSInvertModifier() = default;
578 protected:
579     RSModifierType GetModifierType() const override;
580     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
581 };
582 
583 class RSC_EXPORT RSHueRotateModifier : public RSForegroundModifier {
584 public:
585     explicit RSHueRotateModifier(const std::shared_ptr<RSPropertyBase>& property);
586     virtual ~RSHueRotateModifier() = default;
587 protected:
588     RSModifierType GetModifierType() const override;
589     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
590 };
591 
592 class RSC_EXPORT RSColorBlendModifier : public RSForegroundModifier {
593 public:
594     explicit RSColorBlendModifier(const std::shared_ptr<RSPropertyBase>& property);
595     virtual ~RSColorBlendModifier() = default;
596 protected:
597     RSModifierType GetModifierType() const override;
598     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
599 };
600 
601 class RSC_EXPORT RSUseEffectModifier : public RSBackgroundModifier {
602 public:
603     explicit RSUseEffectModifier(const std::shared_ptr<RSPropertyBase>& property);
604     virtual ~RSUseEffectModifier() = default;
605 protected:
606     RSModifierType GetModifierType() const override;
607     std::shared_ptr<RSRenderModifier> CreateRenderModifier() const override;
608 };
609 } // namespace Rosen
610 } // namespace OHOS
611 
612 #endif // RENDER_SERVICE_CLIENT_CORE_MODIFIER_RS_PROPERTY_MODIFIER_H
613