mcu_hi3321_watch/tjd/ui/app/daily_data/TjdUiAppDailyDataPresenter.h
2025-05-26 20:15:20 +08:00

45 lines
1.6 KiB
C++

#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<TjdUiAppDailyDataView>,
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