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