mcu_hi3321_watch/tjd/ui/watch_face/TjdUiWatchFaceBase.h
2025-05-26 20:15:20 +08:00

64 lines
1.8 KiB
C++

/*----------------------------------------------------------------------------
* Copyright (c) TJD Technologies Co., Ltd. 2024. All rights reserved.
*
* Description: TjdUiWatchFaceBase.h
*
* Author: liuguanwu
*
* Create: 2024-10
*--------------------------------------------------------------------------*/
#ifndef TJD_UI_WATCH_FACE_BASE_H
#define TJD_UI_WATCH_FACE_BASE_H
#include "DialViewGroup.h"
#include "View.h"
#include "components/ui_card_page.h"
namespace TJD {
class TjdUiWfBase : public OHOS::UICardPage
{
public:
TjdUiWfBase();
TjdUiWfBase(OHOS::DialViewGroup *dialViewGroup);
virtual ~TjdUiWfBase();
virtual void SetPeriod(uint32_t period);
virtual uint32_t GetPeriod(void);
virtual void Update();
bool IsDialView();
OHOS::DialViewGroup *GetDialViewGroup();
void ScrollBegin(bool isActive) override;
void ScrollEnd(bool isActive) override;
void CoverBegin(bool isCovered) override;
void CoverEnd(bool isCovered) override;
void OnActive(void) override;
void OnInactive(void) override;
void OnCovered(void) override;
void OnUncovered(void) override;
void OnPause() override;
virtual void OnResume(void) {};
enum class CardPageEvent
{
CARD_PAGE_EVENT_SCROLLBEGIN,
CARD_PAGE_EVENT_SCROLLEND,
CARD_PAGE_EVENT_COVERBEGIN,
CARD_PAGE_EVENT_COVEREND,
CARD_PAGE_EVENT_ONACTIVE,
CARD_PAGE_EVENT_ONINACTIVE,
};
void RegisterCardPageEvent(std::function<void(CardPageEvent, bool)> event) { cardPageEvent_ = event; }
private:
void CallCardPageEvent(CardPageEvent event, bool eventValue);
OHOS::DialViewGroup *dialViewGroup_{nullptr};
uint32_t period_ = OHOS::DEFAULT_TASK_PERIOD;
bool isDialView_ = false;
std::function<void(CardPageEvent, bool)> cardPageEvent_;
};
} // namespace TJD
#endif // TJD_UI_WATCH_FACE_CTRL_H