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