From d1334ef423eb7cc38a05259b2089d3a4e918e921 Mon Sep 17 00:00:00 2001 From: Caisking <3449750381@qq.com> Date: Sat, 14 Sep 2024 21:25:28 +0800 Subject: [PATCH] =?utf8?q?=E5=BF=83=E7=8E=87=EF=BC=9A=E4=BF=AE=E5=A4=8D?= =?utf8?q?=E5=BF=83=E7=8E=87=E5=8D=A1=E7=89=87=E6=98=BE=E7=A4=BA=E5=BC=82?= =?utf8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../nativeui/heartrate/src/HeartRateView.cpp | 144 ++++++++++++++---- .../nativeui/main/include/MainViewSample.h | 2 +- .../nativeui/main/src/MainViewSample.cpp | 2 +- 3 files changed, 116 insertions(+), 32 deletions(-) diff --git a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp index 26910d3fc..6c7c5d882 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/heartrate/src/HeartRateView.cpp @@ -39,13 +39,120 @@ namespace OHOS #define COORDINATE_GRAD_MAX_OPA 180 // 心形心跳 -#define HEARTBEAT_IMAGE_WIDTH 92 -#define HEARTBEAT_IMAGE_HEIGHT 92 -#define HEARTBEAT_IMAGE_X 105 -#define HEARTBEAT_IMAGE_Y 50 -#define HEARTBEAT_IMAGE_NUM 19 -#define HEARTBEAT_DELAY 50 - +static constexpr int HEARTBEAT_IMAGE_WIDTH = 54; +static constexpr int HEARTBEAT_IMAGE_HEIGHT = 50; +static constexpr int HEARTBEAT_IMAGE_X = 111; +static constexpr int HEARTBEAT_IMAGE_Y = 57; +static constexpr int HEARTBEAT_IMAGE_NUM = 21; +static constexpr int HEARTBEAT_DELAY = 50; +// 心跳image +static ImageAnimatorInfo g_heartBeatImageInfo[HEARTBEAT_IMAGE_NUM] = { + {PNG_A004_070_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_071_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_072_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_073_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_074_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_075_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_076_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_077_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_078_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_079_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_080_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_081_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_082_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_083_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_084_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_085_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_086_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_087_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_088_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_089_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, + {PNG_A004_090_IMAGE_PATH, + {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, + HEARTBEAT_IMAGE_WIDTH, + HEARTBEAT_IMAGE_HEIGHT, + IMG_SRC_FILE_PATH}, +}; // 最高心率 #define TOP_IMAGE_WIDTH 32 #define TOP_IMAGE_HEIGHT 32 @@ -104,29 +211,6 @@ namespace OHOS #define PERSEC_HEART_TEXT_WIDTH 75 #define PERSEC_HEART_TEXT_HEIGHT (PERSEC_HEART_TEXT_FONT_SIZE + 5) - // 心跳image - static ImageAnimatorInfo g_heartBeatImageInfo[HEARTBEAT_IMAGE_NUM] = { - {PNG_A004_070_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_071_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_072_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_073_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_074_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_075_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_076_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_077_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_078_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_079_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - - {PNG_A004_080_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_081_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_082_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_083_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_084_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_085_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_086_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_087_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - {PNG_A004_088_IMAGE_PATH, {HEARTBEAT_IMAGE_X, HEARTBEAT_IMAGE_Y}, HEARTBEAT_IMAGE_WIDTH, HEARTBEAT_IMAGE_HEIGHT, IMG_SRC_FILE_PATH}, - }; HeartRateView::HeartRateView() { diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainViewSample.h b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainViewSample.h index 904ec7d3c..1884e7dda 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/include/MainViewSample.h +++ b/code/sdk/application/wearable/fd230app/nativeui/main/include/MainViewSample.h @@ -108,7 +108,7 @@ namespace OHOS PlayersView *playersView{nullptr}; CompassControlView *compassControlView{nullptr}; - HeartRateCardView *heartRateView{nullptr}; + HeartRateView *heartRateView{nullptr}; BloodCardView *bloodView{nullptr}; SleepCardView *sleepView{nullptr}; Training_CardView *traingView{nullptr}; diff --git a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp index 52bd08867..cb5f59948 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/main/src/MainViewSample.cpp @@ -540,7 +540,7 @@ namespace OHOS UICardPage *MainViewSample::InitHeartRatePage(void) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "MainViewSample::InitHeartRatePage"); - heartRateView = new HeartRateCardView(); + heartRateView = new HeartRateView(); if (heartRateView == nullptr) { WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "heartRateView new fail"); -- 2.17.1