mcu_hi3321_watch/application/wearable/nativeapp/nativeui/main/include/MainViewSample.h
2025-05-26 20:15:20 +08:00

104 lines
3.0 KiB
C++

/*
* Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved.
* Description: MainViewSample
* Author:
* Create:
*/
#ifndef MAIN_VIEW_SAMPLE_H
#define MAIN_VIEW_SAMPLE_H
#include <string>
#include "View.h"
#include "components/root_view.h"
#include "swipe_effect/zoom_effect.h"
#include "ChangeSliceListener.h"
#include "font/ui_font.h"
#include "graphic_config.h"
#include "ModelListenerSample.h"
#include "ScreenModels.h"
#include "ActivityWeekView.h"
#include "CompassControlView.h"
#include "DialViewGroup.h"
#include "MainClockView.h"
#include "PlayersView.h"
#include "MainPresenterSample.h"
#include "HeartRateView.h"
#include "components/ui_card_page.h"
#include "PullUpDownView.h"
#include "components/ui_cross_view.h"
#include "SetCardModel.h"
#include "VideoCard.h"
namespace OHOS {
class MainPresenterSample;
class MainViewSample : public View<MainPresenterSample> {
public:
MainViewSample();
~MainViewSample() override;
static MainViewSample *GetInstance(void);
void OnStart() override;
void OnStop() override;
UICardPage *InitWatchFacePage(void);
UICardPage *InitHeartRatePage(void);
UICardPage *InitActivityPage(void);
UICardPage *InitCompassPage(void);
UICardPage *InitMusicPlayerPage(void);
UICardPage *InitVideoCardPage1(void);
UICardPage *InitVideoCardPage2(void);
UICardPage *InitVideoCardPage3(void);
void AnimatorStart(int pageIndex);
void AnimatorStop(void);
CardId GetHorCurrentCard() const;
UIView* GetMainViewGroup(void) const
{
return mainSwipeGroup;
}
UICardPage* GetViewById(int16_t id) const
{
if (id >= MAX_CARD) {
return nullptr;
}
return recordCard[id];
}
void SwitchToClockPage(bool loadAdjacent = true)
{
if (mainClockView != nullptr) {
SetPage(mainClockView->GetViewIndex(), loadAdjacent);
}
}
void SwitchToCard(uint8_t cardId, bool loadAdjacent = true);
bool IsMainClockPage(void);
void SetPage(int16_t page, bool loadAdjacent = true);
void ReloadWatchFace();
private:
PullUpDownView *dropDownView{nullptr};
UICardPage *messageView{nullptr};
UILabel *messageLable{nullptr};
UICardPage *mainClockView{nullptr};
ActivityWeekView *activityWeekView{nullptr};
PlayersView *playersView{nullptr};
CompassControlView *compassControlView{nullptr};
HeartRateView *heartRateView{nullptr};
UICardPage *recordCard[MAX_CARD]{nullptr};
bool pageStatus[MAX_CARD]{false};
UICrossView *mainSwipeGroup{nullptr};
ZoomEffect* callback{nullptr};
VideoCard *videoCard1{nullptr};
VideoCard *videoCard2{nullptr};
VideoCard *videoCard3{nullptr};
bool HorizontalViewInit(void);
void VerticalViewInit(void);
void VertViewLoad(void);
void HorViewLoad(void);
UICardPage *InitWatchOffDial(DialSetting &setting);
UICardPage *InitWatchDial(DialSetting &setting);
UICardPage *InitVideoCardPage(const std::string &video, const std::string &preview);
};
} // namespace OHOS
#endif // MAIN_VIEW_SAMPLE_H