/* * Copyright (c) CompanyNameMagicTag 2021-2021. All rights reserved. * Description: MainViewSample * Author: * Create: */ #ifndef MAIN_VIEW_SAMPLE_H #define MAIN_VIEW_SAMPLE_H #include #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 { 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