#ifndef TJDUI_APP_DAILYDATA_PRESENTER_H #define TJDUI_APP_DAILYDATA_PRESENTER_H #include "Presenter.h" #include "TjdUiAppDailyDataModel.h" #include "components/ui_view.h" #include "components/root_view.h" #include "TjdUiScreenDrag.h" namespace TJD { class TjdUiAppDailyDataView; class TjdUiAppDailyDataPresenter : public OHOS::Presenter, public TjdUiScreenDragListener, public OHOS::UIView::OnClickListener, public OHOS::RootView::OnKeyActListener { public: TjdUiAppDailyDataPresenter(); ~TjdUiAppDailyDataPresenter(); static TjdUiAppDailyDataPresenter *GetInstance(void); void OnStart() override; void OnResume() override; void OnPause() override; void OnStop() override; bool OnKeyAct(OHOS::UIView& view, const OHOS::KeyEvent& event) override; bool OnClick(OHOS::UIView& view, const OHOS::ClickEvent& event) override; void ViewExitEvent(OHOS::UIView &view, const OHOS::DragEvent &event); void ScreenDragEventCallback(OHOS::UIView &view, const OHOS::DragEvent &event) override { ViewExitEvent(view, event); } TjdUiAppDailyDataModel *GetDailyDataModel(void) { return model; } void ExitDailyDataView(void); void UpdatePointArray(void); uint32_t GetDataStep(uint32_t highValue); private: TjdUiAppDailyDataModel *model{nullptr}; bool isExit_{false}; int16_t dragStartX_{0}; int16_t dragCurrentX_{0}; int32_t dragDistance_{0}; }; } // namespace TJD #endif