• 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 #include "core/components_ng/pattern/slider/slider_model_ng.h"
17 
18 #include "core/components/slider/slider_theme.h"
19 #include "core/components_ng/base/view_stack_processor.h"
20 #include "core/components_ng/pattern/slider/slider_layout_property.h"
21 #include "core/components_ng/pattern/slider/slider_paint_property.h"
22 #include "core/components_ng/pattern/slider/slider_pattern.h"
23 #include "core/components_v2/inspector/inspector_constants.h"
24 #include "core/pipeline/pipeline_base.h"
25 #include "core/pipeline_ng/pipeline_context.h"
26 
27 namespace OHOS::Ace::NG {
Create(float value,float step,float min,float max)28 void SliderModelNG::Create(float value, float step, float min, float max)
29 {
30     auto* stack = ViewStackProcessor::GetInstance();
31     auto nodeId = stack->ClaimNodeId();
32     ACE_LAYOUT_SCOPED_TRACE("Create[%s][self:%d]", V2::SLIDER_ETS_TAG, nodeId);
33     auto frameNode = FrameNode::GetOrCreateFrameNode(
34         V2::SLIDER_ETS_TAG, nodeId, []() { return AceType::MakeRefPtr<SliderPattern>(); });
35     stack->Push(frameNode);
36     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Step, step);
37     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Min, min);
38     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Max, max);
39     SetSliderValue(value);
40 }
SetSliderValue(float value)41 void SliderModelNG::SetSliderValue(float value)
42 {
43     auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode();
44     CHECK_NULL_VOID(frameNode);
45     auto pattern = frameNode->GetPattern<SliderPattern>();
46     CHECK_NULL_VOID(pattern);
47     pattern->UpdateValue(value);
48 }
SetSliderMode(const SliderMode & value)49 void SliderModelNG::SetSliderMode(const SliderMode& value)
50 {
51     ACE_UPDATE_LAYOUT_PROPERTY(SliderLayoutProperty, SliderMode, value);
52     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, SliderMode, value);
53 }
SetDirection(Axis value)54 void SliderModelNG::SetDirection(Axis value)
55 {
56     ACE_UPDATE_LAYOUT_PROPERTY(SliderLayoutProperty, Direction, value);
57     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Direction, value);
58 }
SetReverse(bool value)59 void SliderModelNG::SetReverse(bool value)
60 {
61     ACE_UPDATE_LAYOUT_PROPERTY(SliderLayoutProperty, Reverse, value);
62     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Reverse, value);
63 }
SetBlockColor(const Color & value)64 void SliderModelNG::SetBlockColor(const Color& value)
65 {
66     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockColor, value);
67 }
SetTrackBackgroundColor(const Color & value)68 void SliderModelNG::SetTrackBackgroundColor(const Color& value)
69 {
70     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, TrackBackgroundColor, value);
71 }
SetSelectColor(const Color & value)72 void SliderModelNG::SetSelectColor(const Color& value)
73 {
74     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, SelectColor, value);
75 }
SetMinLabel(float value)76 void SliderModelNG::SetMinLabel(float value)
77 {
78     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Min, value);
79 }
SetMaxLabel(float value)80 void SliderModelNG::SetMaxLabel(float value)
81 {
82     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, Max, value);
83 }
SetShowSteps(bool value)84 void SliderModelNG::SetShowSteps(bool value)
85 {
86     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, ShowSteps, value);
87 }
SetShowTips(bool value,const std::optional<std::string> & content)88 void SliderModelNG::SetShowTips(bool value, const std::optional<std::string>& content)
89 {
90     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, ShowTips, value);
91     if (content.has_value()) {
92         ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, CustomContent, content.value());
93     } else {
94         ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, CustomContent, PROPERTY_UPDATE_RENDER);
95     }
96 }
SetThickness(const Dimension & value)97 void SliderModelNG::SetThickness(const Dimension& value)
98 {
99     if (value.IsNonPositive()) {
100         auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode();
101         CHECK_NULL_VOID(frameNode);
102         auto layoutProperty = frameNode->GetLayoutProperty<SliderLayoutProperty>();
103         CHECK_NULL_VOID(layoutProperty);
104         auto pipeline = PipelineBase::GetCurrentContext();
105         CHECK_NULL_VOID(pipeline);
106         auto theme = pipeline->GetTheme<SliderTheme>();
107         CHECK_NULL_VOID(theme);
108         auto sliderMode = layoutProperty->GetSliderModeValue(SliderModel::SliderMode::OUTSET);
109         auto themeTrackThickness = sliderMode == SliderModel::SliderMode::OUTSET ? theme->GetOutsetTrackThickness()
110                                                                                  : theme->GetInsetTrackThickness();
111         ACE_UPDATE_LAYOUT_PROPERTY(SliderLayoutProperty, Thickness, themeTrackThickness);
112     } else {
113         ACE_UPDATE_LAYOUT_PROPERTY(SliderLayoutProperty, Thickness, value);
114     }
115 }
SetBlockBorderColor(const Color & value)116 void SliderModelNG::SetBlockBorderColor(const Color& value)
117 {
118     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockBorderColor, value);
119 }
SetBlockBorderWidth(const Dimension & value)120 void SliderModelNG::SetBlockBorderWidth(const Dimension& value)
121 {
122     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockBorderWidth, value);
123 }
SetStepColor(const Color & value)124 void SliderModelNG::SetStepColor(const Color& value)
125 {
126     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, StepColor, value);
127 }
SetTrackBorderRadius(const Dimension & value)128 void SliderModelNG::SetTrackBorderRadius(const Dimension& value)
129 {
130     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, TrackBorderRadius, value);
131 }
SetBlockSize(const Dimension & width,const Dimension & height)132 void SliderModelNG::SetBlockSize(const Dimension& width, const Dimension& height)
133 {
134     auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode();
135     CHECK_NULL_VOID(frameNode);
136     auto layoutProperty = frameNode->GetLayoutProperty<SliderLayoutProperty>();
137     CHECK_NULL_VOID(layoutProperty);
138     auto pipeline = PipelineBase::GetCurrentContext();
139     CHECK_NULL_VOID(pipeline);
140     SizeT<Dimension> blockSize;
141     auto theme = pipeline->GetTheme<SliderTheme>();
142     if (theme != nullptr) {
143         auto mode = layoutProperty->GetSliderModeValue(SliderMode::OUTSET);
144         auto themeBlockSize = mode == SliderMode::OUTSET ? theme->GetOutsetBlockSize() : theme->GetInsetBlockSize();
145         blockSize = layoutProperty->GetBlockSizeValue(SizeT<Dimension>(themeBlockSize, themeBlockSize));
146     }
147 
148     if (LessOrEqual(width.Value(), 0.0) || LessOrEqual(height.Value(), 0.0)) {
149         ResetBlockSize();
150     } else {
151         blockSize.SetWidth(width);
152         blockSize.SetHeight(height);
153         ACE_UPDATE_LAYOUT_PROPERTY(SliderLayoutProperty, BlockSize, blockSize);
154     }
155 }
SetBlockType(BlockStyleType value)156 void SliderModelNG::SetBlockType(BlockStyleType value)
157 {
158     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockType, value);
159 }
SetBlockImage(const std::string & value,const std::string & bundleName,const std::string & moduleName)160 void SliderModelNG::SetBlockImage(
161     const std::string& value, const std::string& bundleName, const std::string& moduleName)
162 {
163     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockImage, value);
164     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockImageBundleName, bundleName);
165     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockImageModuleName, moduleName);
166 }
SetBlockShape(const RefPtr<BasicShape> & value)167 void SliderModelNG::SetBlockShape(const RefPtr<BasicShape>& value)
168 {
169     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, BlockShape, value);
170 }
SetStepSize(const Dimension & value)171 void SliderModelNG::SetStepSize(const Dimension& value)
172 {
173     ACE_UPDATE_PAINT_PROPERTY(SliderPaintProperty, StepSize, value);
174 }
SetOnChange(SliderOnChangeEvent && eventOnChange)175 void SliderModelNG::SetOnChange(SliderOnChangeEvent&& eventOnChange)
176 {
177     auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode();
178     CHECK_NULL_VOID(frameNode);
179     auto eventHub = frameNode->GetEventHub<SliderEventHub>();
180     CHECK_NULL_VOID(eventHub);
181     eventHub->SetOnChange(std::move(eventOnChange));
182 }
183 
SetOnChangeEvent(SliderOnValueChangeEvent && onChangeEvent)184 void SliderModelNG::SetOnChangeEvent(SliderOnValueChangeEvent&& onChangeEvent)
185 {
186     auto frameNode = ViewStackProcessor::GetInstance()->GetMainFrameNode();
187     CHECK_NULL_VOID(frameNode);
188     auto eventHub = frameNode->GetEventHub<SliderEventHub>();
189     CHECK_NULL_VOID(eventHub);
190     eventHub->SetOnChangeEvent(std::move(onChangeEvent));
191 }
192 
ResetBlockBorderColor()193 void SliderModelNG::ResetBlockBorderColor()
194 {
195     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockBorderColor, PROPERTY_UPDATE_RENDER);
196 }
197 
ResetBlockBorderWidth()198 void SliderModelNG::ResetBlockBorderWidth()
199 {
200     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockBorderWidth, PROPERTY_UPDATE_RENDER);
201 }
202 
ResetStepColor()203 void SliderModelNG::ResetStepColor()
204 {
205     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, StepColor, PROPERTY_UPDATE_RENDER);
206 }
207 
ResetTrackBorderRadius()208 void SliderModelNG::ResetTrackBorderRadius()
209 {
210     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, TrackBorderRadius, PROPERTY_UPDATE_RENDER);
211 }
212 
ResetBlockSize()213 void SliderModelNG::ResetBlockSize()
214 {
215     ACE_RESET_LAYOUT_PROPERTY_WITH_FLAG(SliderLayoutProperty, BlockSize, PROPERTY_UPDATE_MEASURE);
216 }
217 
ResetBlockType()218 void SliderModelNG::ResetBlockType()
219 {
220     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockType, PROPERTY_UPDATE_RENDER);
221 }
222 
ResetBlockImage()223 void SliderModelNG::ResetBlockImage()
224 {
225     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockImage, PROPERTY_UPDATE_RENDER);
226     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockImageBundleName, PROPERTY_UPDATE_RENDER);
227     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockImageModuleName, PROPERTY_UPDATE_RENDER);
228 }
229 
ResetBlockShape()230 void SliderModelNG::ResetBlockShape()
231 {
232     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockShape, PROPERTY_UPDATE_RENDER);
233 }
234 
ResetStepSize()235 void SliderModelNG::ResetStepSize()
236 {
237     ACE_RESET_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, StepSize, PROPERTY_UPDATE_RENDER);
238 }
239 
SetShowTips(FrameNode * frameNode,bool value,const std::optional<std::string> & content)240 void SliderModelNG::SetShowTips(FrameNode* frameNode, bool value, const std::optional<std::string>& content)
241 {
242     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, ShowTips, value, frameNode);
243     if (content.has_value()) {
244         ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, CustomContent, content.value(), frameNode);
245     } else {
246         ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, CustomContent, PROPERTY_UPDATE_RENDER, frameNode);
247     }
248 }
249 
SetThickness(FrameNode * frameNode,const Dimension & value)250 void SliderModelNG::SetThickness(FrameNode* frameNode, const Dimension& value)
251 {
252     if (value.IsNonPositive()) {
253         CHECK_NULL_VOID(frameNode);
254         auto layoutProperty = frameNode->GetLayoutProperty<SliderLayoutProperty>();
255         CHECK_NULL_VOID(layoutProperty);
256         auto pipeline = PipelineBase::GetCurrentContext();
257         CHECK_NULL_VOID(pipeline);
258         auto theme = pipeline->GetTheme<SliderTheme>();
259         CHECK_NULL_VOID(theme);
260         auto sliderMode = layoutProperty->GetSliderModeValue(SliderModel::SliderMode::OUTSET);
261         auto themeTrackThickness = sliderMode == SliderModel::SliderMode::OUTSET ? theme->GetOutsetTrackThickness()
262                                                                                  : theme->GetInsetTrackThickness();
263         ACE_UPDATE_NODE_LAYOUT_PROPERTY(SliderLayoutProperty, Thickness, themeTrackThickness, frameNode);
264     } else {
265         ACE_UPDATE_NODE_LAYOUT_PROPERTY(SliderLayoutProperty, Thickness, value, frameNode);
266     }
267 }
SetStepSize(FrameNode * frameNode,const Dimension & value)268 void SliderModelNG::SetStepSize(FrameNode* frameNode, const Dimension& value)
269 {
270     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, StepSize, value, frameNode);
271 }
SetBlockType(FrameNode * frameNode,BlockStyleType value)272 void SliderModelNG::SetBlockType(FrameNode* frameNode, BlockStyleType value)
273 {
274     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockType, value, frameNode);
275 }
SetBlockShape(FrameNode * frameNode,const RefPtr<BasicShape> & value)276 void SliderModelNG::SetBlockShape(FrameNode* frameNode, const RefPtr<BasicShape>& value)
277 {
278     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockShape, value, frameNode);
279 }
SetBlockSize(FrameNode * frameNode,const Dimension & width,const Dimension & height)280 void SliderModelNG::SetBlockSize(FrameNode* frameNode, const Dimension& width, const Dimension& height)
281 {
282     CHECK_NULL_VOID(frameNode);
283     auto layoutProperty = frameNode->GetLayoutProperty<SliderLayoutProperty>();
284     CHECK_NULL_VOID(layoutProperty);
285     auto pipeline = PipelineBase::GetCurrentContext();
286     CHECK_NULL_VOID(pipeline);
287     SizeT<Dimension> blockSize;
288     auto theme = pipeline->GetTheme<SliderTheme>();
289     if (theme != nullptr) {
290         auto mode = layoutProperty->GetSliderModeValue(SliderMode::OUTSET);
291         auto themeBlockSize = mode == SliderMode::OUTSET ? theme->GetOutsetBlockSize() : theme->GetInsetBlockSize();
292         blockSize = layoutProperty->GetBlockSizeValue(SizeT<Dimension>(themeBlockSize, themeBlockSize));
293     }
294 
295     if (LessOrEqual(width.Value(), 0.0) || LessOrEqual(height.Value(), 0.0)) {
296         ResetBlockSize(frameNode);
297     } else {
298         blockSize.SetWidth(width);
299         blockSize.SetHeight(height);
300         ACE_UPDATE_NODE_LAYOUT_PROPERTY(SliderLayoutProperty, BlockSize, blockSize, frameNode);
301     }
302 }
SetTrackBorderRadius(FrameNode * frameNode,const Dimension & value)303 void SliderModelNG::SetTrackBorderRadius(FrameNode* frameNode, const Dimension& value)
304 {
305     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, TrackBorderRadius, value, frameNode);
306 }
SetStepColor(FrameNode * frameNode,const Color & value)307 void SliderModelNG::SetStepColor(FrameNode* frameNode, const Color& value)
308 {
309     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, StepColor, value, frameNode);
310 }
SetBlockBorderColor(FrameNode * frameNode,const Color & value)311 void SliderModelNG::SetBlockBorderColor(FrameNode* frameNode, const Color& value)
312 {
313     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockBorderColor, value, frameNode);
314 }
SetBlockBorderWidth(FrameNode * frameNode,const Dimension & value)315 void SliderModelNG::SetBlockBorderWidth(FrameNode* frameNode, const Dimension& value)
316 {
317     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockBorderWidth, value, frameNode);
318 }
SetBlockColor(FrameNode * frameNode,const Color & value)319 void SliderModelNG::SetBlockColor(FrameNode* frameNode, const Color& value)
320 {
321     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockColor, value, frameNode);
322 }
SetTrackBackgroundColor(FrameNode * frameNode,const Color & value)323 void SliderModelNG::SetTrackBackgroundColor(FrameNode* frameNode, const Color& value)
324 {
325     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, TrackBackgroundColor, value, frameNode);
326 }
SetSelectColor(FrameNode * frameNode,const Color & value)327 void SliderModelNG::SetSelectColor(FrameNode* frameNode, const Color& value)
328 {
329     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, SelectColor, value, frameNode);
330 }
SetShowSteps(FrameNode * frameNode,bool value)331 void SliderModelNG::SetShowSteps(FrameNode* frameNode, bool value)
332 {
333     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, ShowSteps, value, frameNode);
334 }
SetBlockImage(FrameNode * frameNode,const std::string & value,const std::string & bundleName,const std::string & moduleName)335 void SliderModelNG::SetBlockImage(
336     FrameNode* frameNode, const std::string& value, const std::string& bundleName, const std::string& moduleName)
337 {
338     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockImage, value, frameNode);
339     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockImageBundleName, bundleName, frameNode);
340     ACE_UPDATE_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockImageModuleName, moduleName, frameNode);
341 }
342 
ResetStepSize(FrameNode * frameNode)343 void SliderModelNG::ResetStepSize(FrameNode* frameNode)
344 {
345     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, StepSize, PROPERTY_UPDATE_RENDER, frameNode);
346 }
347 
ResetBlockType(FrameNode * frameNode)348 void SliderModelNG::ResetBlockType(FrameNode* frameNode)
349 {
350     ACE_RESET_NODE_PAINT_PROPERTY(SliderPaintProperty, BlockType, frameNode);
351 }
352 
ResetBlockShape(FrameNode * frameNode)353 void SliderModelNG::ResetBlockShape(FrameNode* frameNode)
354 {
355     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockShape, PROPERTY_UPDATE_RENDER, frameNode);
356 }
357 
ResetBlockSize(FrameNode * frameNode)358 void SliderModelNG::ResetBlockSize(FrameNode* frameNode)
359 {
360     ACE_RESET_NODE_LAYOUT_PROPERTY_WITH_FLAG(SliderLayoutProperty, BlockSize, PROPERTY_UPDATE_MEASURE, frameNode);
361 }
362 
ResetTrackBorderRadius(FrameNode * frameNode)363 void SliderModelNG::ResetTrackBorderRadius(FrameNode* frameNode)
364 {
365     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, TrackBorderRadius, PROPERTY_UPDATE_RENDER, frameNode);
366 }
367 
ResetStepColor(FrameNode * frameNode)368 void SliderModelNG::ResetStepColor(FrameNode* frameNode)
369 {
370     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, StepColor, PROPERTY_UPDATE_RENDER, frameNode);
371 }
372 
ResetBlockBorderColor(FrameNode * frameNode)373 void SliderModelNG::ResetBlockBorderColor(FrameNode* frameNode)
374 {
375     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockBorderColor, PROPERTY_UPDATE_RENDER, frameNode);
376 }
377 
ResetBlockBorderWidth(FrameNode * frameNode)378 void SliderModelNG::ResetBlockBorderWidth(FrameNode* frameNode)
379 {
380     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockBorderWidth, PROPERTY_UPDATE_RENDER, frameNode);
381 }
382 
ResetBlockColor(FrameNode * frameNode)383 void SliderModelNG::ResetBlockColor(FrameNode* frameNode)
384 {
385     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(SliderPaintProperty, BlockColor, PROPERTY_UPDATE_RENDER, frameNode);
386 }
387 
ResetBlockImage(FrameNode * frameNode)388 void SliderModelNG::ResetBlockImage(FrameNode* frameNode)
389 {
390     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(
391         SliderPaintProperty, BlockImage, PROPERTY_UPDATE_RENDER, frameNode);
392     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(
393         SliderPaintProperty, BlockImageBundleName, PROPERTY_UPDATE_RENDER, frameNode);
394     ACE_RESET_NODE_PAINT_PROPERTY_WITH_FLAG(
395         SliderPaintProperty, BlockImageModuleName, PROPERTY_UPDATE_RENDER, frameNode);
396 }
397 } // namespace OHOS::Ace::NG
398