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

149 lines
5.1 KiB
C++

#ifndef TJD_UI_APP_BREATHING_VIEW_H
#define TJD_UI_APP_BREATHING_VIEW_H
#include "TjdUiAppBreathingPresenter.h"
#include "TjdUiMemManage.h"
#include "View.h"
#include "common/image.h"
#include "components/ui_button.h"
#include "components/ui_canvas_ext.h"
#include "components/ui_checkbox.h"
#include "components/ui_image_animator.h"
#include "components/ui_image_view.h"
#include "components/ui_label.h"
#include "components/ui_label_button_ext.h"
#include "components/ui_list.h"
#include "components/ui_scroll_view.h"
#include "components/ui_scroll_view_nested.h"
#include "components/ui_view.h"
#include "components/ui_view_group.h"
#include "gfx_utils/graphic_types.h"
#include "hal_tick.h"
#include "hr_api.h"
#include "rtc_api.h"
#include "ui_image_animator.h"
#include "ui_label_ext.h"
#include "ui_view.h"
namespace TJD {
enum BreathingViewIndex
{
BREATHING_CHOOSE_VIEW,
BREATHING_TIME_VIEW,
BREATHING_MODEL_VIEW,
BREATHING_START_VIEW,
BREATHING_ANIMATOR_VIEW,
BREATHING_ANIMATOR_ANOTHER_VIEW,
BREATHING_FINISH_VIEW,
BREATHING_VIEW_COUNT
};
class BrethingAnimatorCallback : public OHOS::AnimatorCallback
{
public:
explicit BrethingAnimatorCallback() {}
~BrethingAnimatorCallback() override {}
void Callback(OHOS::UIView *view) override;
private:
};
class BreathUIScrollView : public OHOS::UIScrollViewNested
{
public:
BreathUIScrollView() {}
~BreathUIScrollView() {}
bool OnDragStartEvent(const OHOS::DragEvent &event) override;
bool OnDragEvent(const OHOS::DragEvent &event) override;
bool OnDragEndEvent(const OHOS::DragEvent &event) override;
private:
bool isOnStart_{false};
};
class TjdUiAppBreathingPresenter;
class TjdUiAppBreathingView : public OHOS::View<TjdUiAppBreathingPresenter>,
public OHOS::UIViewGroup,
public OHOS::UIImageAnimatorView
{
public:
TjdUiAppBreathingView();
~TjdUiAppBreathingView();
static TjdUiAppBreathingView *GetInstance(void);
void OnStart() override;
void OnStop() override;
void ShowView(BreathingViewIndex hideView, BreathingViewIndex showView);
void StartTime(int val, int status);
void GetNum(int val, int status);
void Changestatus();
void Addselect(int statu);
void StopAnimator(int8_t heartrateval);
void StartAnimator();
void ChangeLabel1();
void ChangeLabel2();
void ChooseModel();
BreathingViewIndex GetCurrentView() { return currentView_; }
void SetBreathingImage(OHOS::ImageInfo *imageInfo);
private:
BreathingViewIndex currentView_{BreathingViewIndex::BREATHING_CHOOSE_VIEW};
BreathUIScrollView *containerAll_{nullptr};
OHOS::UIViewGroup *breathingView[BREATHING_VIEW_COUNT]{nullptr};
OHOS::UIScrollView *InitBreathingChooseView();
OHOS::UIScrollView *InitBreathingTimeView();
OHOS::UIScrollView *InitBreathingModelView();
OHOS::UIScrollView *InitBreathingStartView();
OHOS::UIScrollView *InitBreathingTrainingFinishedView();
OHOS::UIScrollView *InitBreathingAnimationView();
OHOS::UIViewGroup *InitBreathingAnotherAnimationView();
OHOS::UIImageView *timeBreathing_{nullptr};
OHOS::UIImageView *modelBreathing_{nullptr};
OHOS::UIImageAnimatorView *backgroundBreathing_{nullptr};
OHOS::UIImageView *startBreathing_{nullptr};
OHOS::UIImageView *finishBreathing_{nullptr};
OHOS::UIImageView *backgroundStart_{nullptr};
OHOS::UIImageView *notselectBreathing1_{nullptr};
OHOS::UIImageView *notselectBreathing2_{nullptr};
OHOS::UIImageView *notselectBreathing3_{nullptr};
OHOS::UIImageView *notselectBreathing4_{nullptr};
OHOS::UIImageView *notselectBreathing5_{nullptr};
OHOS::UIImageView *notselectBreathing6_{nullptr};
OHOS::UIImageView *selectBreathing_{nullptr};
OHOS::UIImageView *redHeart_{nullptr};
OHOS::UILabelExt *lblBreathingchoosehead_{nullptr};
OHOS::UILabelExt *lblTimehead_{nullptr};
OHOS::UILabelExt *lblModelhead_{nullptr};
OHOS::UILabelExt *lblFinishhead_{nullptr};
OHOS::UILabel *lblLabel1_{nullptr};
OHOS::UILabelExt *lblLabel2_{nullptr};
OHOS::UILabel *lblLabel3_{nullptr};
OHOS::UILabelExt *lblLabel4_{nullptr};
OHOS::UILabel *lblLabel5_{nullptr};
OHOS::UILabel *lblLabel6_{nullptr};
OHOS::UILabel *lblHeart_{nullptr};
OHOS::UILabel *lblAllTimes_{nullptr};
OHOS::UILabelButtonExt *labelButton1_{nullptr};
OHOS::UILabelButtonExt *labelButton2_{nullptr};
OHOS::UILabelButtonExt *labelButton3_{nullptr};
OHOS::UILabelButtonExt *labelButton4_{nullptr};
OHOS::UILabelButtonExt *labelButton5_{nullptr};
OHOS::UILabelButtonExt *labelButton6_{nullptr};
OHOS::UILabelExt *lbAverageHertrate_{nullptr};
OHOS::UILabelExt *lbAverageTime_{nullptr};
OHOS::UIView *labelButton7_{nullptr};
OHOS::UIView *labelButton8_{nullptr};
OHOS::GraphicTimer *timerbreath1_{nullptr};
OHOS::UIImageView *imageBreathing_{nullptr};
OHOS::UIImageAnimatorView *imageAnimatorinhale_{nullptr};
OHOS::UIImageAnimatorView *imageAnimatorexhale_{nullptr};
OHOS::Animator *animator_{nullptr};
OHOS::UICanvasExt canvas_;
BrethingAnimatorCallback *callBack_ = nullptr;
void InitBreathingImage();
};
}
#endif