• 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 FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_ABILITY_COMPONENT_RENDER_PROPERTY_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_ABILITY_COMPONENT_RENDER_PROPERTY_H
18 
19 #include "frameworks/core/components/common/layout/constants.h"
20 #include "frameworks/core/components_ng/base/inspector_filter.h"
21 #include "frameworks/core/components_ng/layout/layout_property.h"
22 #include "frameworks/core/components_ng/property/property.h"
23 #include "frameworks/core/components_ng/render/paint_property.h"
24 
25 namespace OHOS::Ace::NG {
26 
27 // PaintProperty are used to set render properties.
28 class AbilityComponentRenderProperty : public PaintProperty {
29     DECLARE_ACE_TYPE(AbilityComponentRenderProperty, PaintProperty);
30 
31 public:
32     AbilityComponentRenderProperty() = default;
33     ~AbilityComponentRenderProperty() override = default;
34 
Clone()35     RefPtr<PaintProperty> Clone() const override
36     {
37         auto paintProperty = MakeRefPtr<AbilityComponentRenderProperty>();
38         paintProperty->UpdatePaintProperty(this);
39         paintProperty->propWant_ = CloneWant();
40         return paintProperty;
41     }
42 
Reset()43     void Reset() override
44     {
45         PaintProperty::Reset();
46         ResetWant();
47     }
48 
ToJsonValue(std::unique_ptr<JsonValue> & json,const InspectorFilter & filter)49     void ToJsonValue(std::unique_ptr<JsonValue>& json, const InspectorFilter& filter) const override
50     {
51         PaintProperty::ToJsonValue(json, filter);
52         /* no fixed attr below, just return */
53         if (filter.IsFastFilter()) {
54             return;
55         }
56         json->PutExtAttr("want", propWant_->c_str(), filter);
57     }
58 
59     ACE_DEFINE_PROPERTY_ITEM_WITHOUT_GROUP(Want, std::string, PROPERTY_UPDATE_RENDER);
60 
61 private:
62     ACE_DISALLOW_COPY_AND_MOVE(AbilityComponentRenderProperty);
63 };
64 
65 } // namespace OHOS::Ace::NG
66 
67 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_ABILITY_COMPONENT_RENDER_PROPERTY_H
68