1 /*
2 * Copyright (c) 2025 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 #include "modifier_ng/appearance/rs_outline_modifier.h"
17
18 namespace OHOS::Rosen::ModifierNG {
SetOutlineColor(const Vector4<Color> & color)19 void RSOutlineModifier::SetOutlineColor(const Vector4<Color>& color)
20 {
21 Setter(RSPropertyType::OUTLINE_COLOR, color);
22 }
23
GetOutlineColor() const24 const Vector4<Color> RSOutlineModifier::GetOutlineColor() const
25 {
26 return Getter(RSPropertyType::OUTLINE_COLOR, Vector4<Color>(RgbPalette::Transparent()));
27 }
28
SetOutlineWidth(const Vector4f & width)29 void RSOutlineModifier::SetOutlineWidth(const Vector4f& width)
30 {
31 Setter(RSPropertyType::OUTLINE_WIDTH, width);
32 }
33
GetOutlineWidth() const34 const Vector4f RSOutlineModifier::GetOutlineWidth() const
35 {
36 return Getter(RSPropertyType::OUTLINE_WIDTH, Vector4f(0.f));
37 }
38
SetOutlineStyle(const Vector4<uint32_t> & style)39 void RSOutlineModifier::SetOutlineStyle(const Vector4<uint32_t>& style)
40 {
41 Setter<RSProperty>(RSPropertyType::OUTLINE_STYLE, style);
42 }
43
GetOutlineStyle() const44 const Vector4<uint32_t> RSOutlineModifier::GetOutlineStyle() const
45 {
46 return Getter(RSPropertyType::OUTLINE_STYLE, Vector4<uint32_t>());
47 }
48
SetOutlineDashWidth(const Vector4f & dashWidth)49 void RSOutlineModifier::SetOutlineDashWidth(const Vector4f& dashWidth)
50 {
51 Setter<RSProperty>(RSPropertyType::OUTLINE_DASH_WIDTH, dashWidth);
52 }
53
GetOutlineDashWidth() const54 const Vector4f RSOutlineModifier::GetOutlineDashWidth() const
55 {
56 return Getter(RSPropertyType::OUTLINE_DASH_WIDTH, Vector4f(0.f));
57 }
58
SetOutlineDashGap(const Vector4f & dashGap)59 void RSOutlineModifier::SetOutlineDashGap(const Vector4f& dashGap)
60 {
61 Setter<RSProperty>(RSPropertyType::OUTLINE_DASH_GAP, dashGap);
62 }
63
GetOutlineDashGap() const64 const Vector4f RSOutlineModifier::GetOutlineDashGap() const
65 {
66 return Getter(RSPropertyType::OUTLINE_DASH_GAP, Vector4f(0.f));
67 }
68
SetOutlineRadius(const Vector4f & radius)69 void RSOutlineModifier::SetOutlineRadius(const Vector4f& radius)
70 {
71 Setter(RSPropertyType::OUTLINE_RADIUS, radius);
72 }
73
GetOutlineRadius() const74 const Vector4f RSOutlineModifier::GetOutlineRadius() const
75 {
76 return Getter(RSPropertyType::OUTLINE_RADIUS, Vector4f(0.f));
77 }
78 } // namespace OHOS::Rosen::ModifierNG
79