• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-2024 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_SCROLLABLE_SCROLLABLE_EVENT_HUB_H
17 #define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_SCROLLABLE_SCROLLABLE_EVENT_HUB_H
18 
19 #include "core/components_ng/event/event_hub.h"
20 #include "core/components_ng/pattern/scrollable/scrollable_properties.h"
21 
22 namespace OHOS::Ace::NG {
23 class ScrollableEventHub : public EventHub {
24     DECLARE_ACE_TYPE(ScrollableEventHub, EventHub)
25 
26 public:
27     ScrollableEventHub() = default;
28     ~ScrollableEventHub() override = default;
29 
SetOnScroll(OnScrollEvent && onScroll)30     void SetOnScroll(OnScrollEvent&& onScroll)
31     {
32         onScrollEvent_ = std::move(onScroll);
33     }
34 
GetOnScroll()35     const OnScrollEvent& GetOnScroll() const
36     {
37         return onScrollEvent_;
38     }
39 
SetOnWillScroll(OnWillScrollEvent && onScroll)40     void SetOnWillScroll(OnWillScrollEvent&& onScroll)
41     {
42         onWillScrollEvent_ = std::move(onScroll);
43     }
44 
GetOnWillScroll()45     const OnWillScrollEvent& GetOnWillScroll() const
46     {
47         return onWillScrollEvent_;
48     }
49 
SetOnDidScroll(OnScrollEvent && onScroll)50     void SetOnDidScroll(OnScrollEvent&& onScroll)
51     {
52         onDidScrollEvent_ = std::move(onScroll);
53     }
54 
GetOnDidScroll()55     const OnScrollEvent& GetOnDidScroll() const
56     {
57         return onDidScrollEvent_;
58     }
59 
SetOnScrollFrameBegin(OnScrollFrameBeginEvent && onScrollFrameBegin)60     void SetOnScrollFrameBegin(OnScrollFrameBeginEvent&& onScrollFrameBegin)
61     {
62         onScrollFrameBeginEvent_ = std::move(onScrollFrameBegin);
63     }
64 
GetOnScrollFrameBegin()65     const OnScrollFrameBeginEvent& GetOnScrollFrameBegin() const
66     {
67         return onScrollFrameBeginEvent_;
68     }
69 
SetOnScrollStart(OnScrollStartEvent && onScrollStart)70     void SetOnScrollStart(OnScrollStartEvent&& onScrollStart)
71     {
72         onScrollStartEvent_ = std::move(onScrollStart);
73     }
74 
GetOnScrollStart()75     const OnScrollStartEvent& GetOnScrollStart() const
76     {
77         return onScrollStartEvent_;
78     }
79 
SetOnScrollStop(OnScrollStopEvent && onScrollStop)80     void SetOnScrollStop(OnScrollStopEvent&& onScrollStop)
81     {
82         onScrollStopEvent_ = std::move(onScrollStop);
83     }
84 
GetOnScrollStop()85     const OnScrollStopEvent& GetOnScrollStop() const
86     {
87         return onScrollStopEvent_;
88     }
89 
SetOnReachStart(OnReachEvent && onReachStart)90     void SetOnReachStart(OnReachEvent&& onReachStart)
91     {
92         onReachStartEvent_ = std::move(onReachStart);
93     }
94 
GetOnReachStart()95     const OnReachEvent& GetOnReachStart() const
96     {
97         return onReachStartEvent_;
98     }
99 
SetOnReachEnd(OnReachEvent && onReachEnd)100     void SetOnReachEnd(OnReachEvent&& onReachEnd)
101     {
102         onReachEndEvent_ = std::move(onReachEnd);
103     }
104 
GetOnReachEnd()105     const OnReachEvent& GetOnReachEnd() const
106     {
107         return onReachEndEvent_;
108     }
109 
110 private:
111     OnScrollEvent onScrollEvent_;
112     OnWillScrollEvent onWillScrollEvent_;
113     OnScrollEvent onDidScrollEvent_;
114     OnScrollStartEvent onScrollStartEvent_;
115     OnScrollStopEvent onScrollStopEvent_;
116     OnScrollFrameBeginEvent onScrollFrameBeginEvent_;
117     OnReachEvent onReachStartEvent_;
118     OnReachEvent onReachEndEvent_;
119 };
120 } // namespace OHOS::Ace::NG
121 #endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_SCROLLABLE_SCROLLABLE_EVENT_HUB_H
122