• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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 FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_VIEW_ABSTRACT_MODEL_IMPL_H
17 #define FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_VIEW_ABSTRACT_MODEL_IMPL_H
18 
19 #include "base/utils/macros.h"
20 #include "core/components_ng/base/view_abstract_model.h"
21 #include "core/components_ng/event/gesture_event_hub.h"
22 
23 namespace OHOS::Ace::Framework {
24 
25 class ViewAbstractModelImpl : public ViewAbstractModel {
26 public:
27     ~ViewAbstractModelImpl() override = default;
28 
29     static void SwapBackBorder(const RefPtr<Decoration>& decoration);
30     static OnDragFunc ToDragFunc(NG::OnDragStartFunc&& onDragStart);
31 
32     void SetWidth(const Dimension& width) override;
33     void SetHeight(const Dimension& height) override;
ClearWidthOrHeight(bool isWidth)34     void ClearWidthOrHeight(bool isWidth) override {};
35     void SetMinWidth(const Dimension& minWidth) override;
36     void SetMinHeight(const Dimension& minHeight) override;
37     void SetMaxWidth(const Dimension& maxWidth) override;
38     void SetMaxHeight(const Dimension& maxHeight) override;
39 
40     void SetBackgroundColor(const Color& color) override;
41     void SetBackgroundImage(const std::string& src, RefPtr<ThemeConstants> themeConstant) override;
42     void SetBackgroundImageRepeat(const ImageRepeat& imageRepeat) override;
43     void SetBackgroundImageSize(const BackgroundImageSize& bgImgSize) override;
44     void SetBackgroundImagePosition(const BackgroundImagePosition& bgImgPosition) override;
45     void SetBackgroundBlurStyle(const BlurStyleOption& bgBlurStyle) override;
46     void SetPadding(const Dimension& value) override;
47     void SetPaddings(const std::optional<Dimension>& top, const std::optional<Dimension>& bottom,
48         const std::optional<Dimension>& left, const std::optional<Dimension>& right) override;
49     void SetMargin(const Dimension& value) override;
50     void SetMargins(const std::optional<Dimension>& top, const std::optional<Dimension>& bottom,
51         const std::optional<Dimension>& left, const std::optional<Dimension>& right) override;
52     void SetBorderRadius(const Dimension& value) override;
53     void SetBorderRadius(const std::optional<Dimension>& radiusTopLeft, const std::optional<Dimension>& radiusTopRight,
54         const std::optional<Dimension>& radiusBottomLeft, const std::optional<Dimension>& radiusBottomRight) override;
55     void SetBorderColor(const Color& value) override;
56     void SetBorderColor(const std::optional<Color>& colorLeft, const std::optional<Color>& colorRight,
57         const std::optional<Color>& colorTop, const std::optional<Color>& colorBottom) override;
58     void SetBorderWidth(const Dimension& value) override;
59     void SetBorderWidth(const std::optional<Dimension>& left, const std::optional<Dimension>& right,
60         const std::optional<Dimension>& top, const std::optional<Dimension>& bottom) override;
61     void SetBorderStyle(const BorderStyle& value) override;
62     void SetBorderStyle(const std::optional<BorderStyle>& styleLeft, const std::optional<BorderStyle>& styleRight,
63         const std::optional<BorderStyle>& styleTop, const std::optional<BorderStyle>& styleBottom) override;
64     void SetBorderImage(const RefPtr<BorderImage>& borderImage, uint8_t bitset) override;
65     void SetBorderImageGradient(const NG::Gradient& gradient) override;
66 
67     void SetLayoutPriority(int32_t priority) override;
68     void SetLayoutWeight(int32_t value) override;
69     void SetLayoutDirection(TextDirection value) override;
70     void SetAspectRatio(float ratio) override;
71     void SetAlign(const Alignment& alignment) override;
72     void SetAlignRules(const std::map<AlignDirection, AlignRule>& alignRules) override;
73     void SetUseAlign(
74         AlignDeclarationPtr declaration, AlignDeclaration::Edge edge, const std::optional<Dimension>& offset) override;
75     void SetGrid(std::optional<uint32_t> span, std::optional<int32_t> offset,
76         GridSizeType type = GridSizeType::UNDEFINED) override;
77     void SetZIndex(int32_t value) override;
78 
79     void SetPosition(const Dimension& x, const Dimension& y) override;
80     void SetOffset(const Dimension& x, const Dimension& y) override;
81     void MarkAnchor(const Dimension& x, const Dimension& y) override;
82 
83     void SetScale(float x, float y, float z) override;
84     void SetPivot(const Dimension& x, const Dimension& y) override;
85     void SetTranslate(const Dimension& x, const Dimension& y, const Dimension& z) override;
86     void SetRotate(float x, float y, float z, float angle) override;
87     void SetTransformMatrix(const std::vector<float>& matrix) override;
88 
89     void SetOpacity(double opacity, bool passThrough = false) override;
90     void SetTransition(const NG::TransitionOptions& transitionOptions, bool passThrough = false) override;
91     void SetOverlay(const std::string& text, const std::optional<Alignment>& align,
92         const std::optional<Dimension>& offsetX, const std::optional<Dimension>& offsetY) override;
93     void SetVisibility(VisibleType visible, std::function<void(int32_t)>&& changeEventFunc) override;
94     void SetSharedTransition(
95         const std::string& shareId, const std::shared_ptr<SharedTransitionOption>& option) override;
96     void SetGeometryTransition(const std::string& id) override;
97     void SetMotionPath(const MotionPathOption& option) override;
98 
99     void SetFlexBasis(const Dimension& value) override;
100     void SetAlignSelf(FlexAlign value) override;
101     void SetFlexShrink(float value) override;
102     void SetFlexGrow(float value) override;
103     void SetDisplayIndex(int32_t value) override;
104 
105     void SetLinearGradient(const NG::Gradient& gradient) override;
106     void SetSweepGradient(const NG::Gradient& gradient) override;
107     void SetRadialGradient(const NG::Gradient& gradient) override;
108 
109     void SetClipShape(const RefPtr<BasicShape>& shape) override;
110     void SetClipEdge(bool isClip) override;
111     void SetMask(const RefPtr<BasicShape>& shape) override;
112 
113     void SetBackdropBlur(const Dimension& radius) override;
114     void SetFrontBlur(const Dimension& radius) override;
115     void SetBackShadow(const std::vector<Shadow>& shadows) override;
116     void SetColorBlend(const Color& value) override;
117     void SetWindowBlur(float progress, WindowBlurStyle blurStyle) override;
118     void SetBrightness(const Dimension& value) override;
119     void SetGrayScale(const Dimension& value) override;
120     void SetContrast(const Dimension& value) override;
121     void SetSaturate(const Dimension& value) override;
122     void SetSepia(const Dimension& value) override;
123     void SetInvert(const Dimension& value) override;
124     void SetHueRotate(float value) override;
125 
126     void SetOnClick(GestureEventFunc&& tapEventFunc, ClickEventFunc&& clickEventFunc) override;
127     void SetOnTouch(TouchEventFunc&& touchEventFunc) override;
128     void SetOnKeyEvent(OnKeyCallbackFunc&& onKeyCallback) override;
129     void SetOnMouse(OnMouseEventFunc&& onMouseEventFunc) override;
130     void SetOnHover(OnHoverEventFunc&& onHoverEventFunc) override;
131     void SetOnDelete(std::function<void()>&& onDeleteCallback) override;
132     void SetOnAppear(std::function<void()>&& onAppearCallback) override;
133     void SetOnDisAppear(std::function<void()>&& onDisAppearCallback) override;
134     void SetOnAccessibility(std::function<void(const std::string&)>&& onAccessibilityCallback) override;
135     void SetOnRemoteMessage(RemoteCallback&& onRemoteCallback) override;
136     void SetOnFocusMove(std::function<void(int32_t)>&& onFocusMoveCallback) override;
137     void SetOnFocus(OnFocusFunc&& onFocusCallback) override;
138     void SetOnBlur(OnBlurFunc&& onBlurCallback) override;
139     void SetOnDragStart(NG::OnDragStartFunc&& onDragStart) override;
140     void SetOnDragEnter(NG::OnDragDropFunc&& onDragEnter) override;
141     void SetOnDragLeave(NG::OnDragDropFunc&& onDragLeave) override;
142     void SetOnDragMove(NG::OnDragDropFunc&& onDragMove) override;
143     void SetOnDrop(NG::OnDragDropFunc&& onDrop) override;
144     void SetOnVisibleChange(
145         std::function<void(bool, double)>&& onVisibleChange, const std::vector<double>& ratios) override;
146     void SetOnAreaChanged(
147         std::function<void(const Rect& oldRect, const Offset& oldOrigin, const Rect& rect, const Offset& origin)>&&
148             onAreaChanged) override;
149 
150     void SetResponseRegion(const std::vector<DimensionRect>& responseRegion) override;
151     void SetEnabled(bool enabled) override;
152     void SetTouchable(bool touchable) override;
153     void SetFocusable(bool focusable) override;
154     void SetFocusNode(bool focus) override;
155     void SetTabIndex(int32_t index) override;
156     void SetFocusOnTouch(bool isSet) override;
157     void SetDefaultFocus(bool isSet) override;
158     void SetGroupDefaultFocus(bool isSet) override;
159     void SetInspectorId(const std::string& inspectorId) override;
160     void SetRestoreId(int32_t restoreId) override;
161     void SetDebugLine(const std::string& line) override;
162     void SetHoverEffect(HoverEffectType hoverEffect) override;
163     void SetHitTestMode(NG::HitTestMode hitTestMode) override;
164 
165     void BindPopup(const RefPtr<PopupParam>& param, const RefPtr<AceType>& customNode) override;
166     void BindMenu(std::vector<NG::OptionParam>&& params, std::function<void()>&& buildFunc) override;
167     void BindContextMenu(ResponseType type, std::function<void()>&& buildFunc) override;
168 
169     void SetAccessibilityGroup(bool accessible) override;
170     void SetAccessibilityText(const std::string& text) override;
171     void SetAccessibilityDescription(const std::string& description) override;
172     void SetAccessibilityImportance(const std::string& importance) override;
173 };
174 
175 } // namespace OHOS::Ace::Framework
176 #endif // FRAMEWORKS_BRIDGE_DECLARATIVE_FRONTEND_JS_VIEW_MODELS_VIEW_ABSTRACT_MODEL_IMPL_H
177