${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelWeekNum.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelDateWeekStr.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelStepgoal.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelStepgoalStr.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelStepgoalValue.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelKcalgoal.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelKcalgoalStr.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelKcalgoalValue.cpp
+
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelSecondMapper.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelPowerMapper.cpp
${CMAKE_CURRENT_SOURCE_DIR}/nativeui/main/src/dial/DialModelPowerStr.cpp
void updata();
void GoalModelInitdata();
uint32_t getstepgoaldata();
+ uint32_t getKcalgoaldata();
uint8_t get_step_goal_show()
{
{
return step_goal;
}
+
+ uint32_t GoalModel::getKcalgoaldata()
+ {
+ return calories_goal;
+ }
std::string GoalModel::getstepGoal()
{
BATTERY_LEVEL = 1,
// 步数目标
STEP_TARGET = 2,
+ // 卡路里
+ CALORIE_TARGET = 3,
};
namespace OHOS {
class DialBoxProgressView : public UIBoxProgress, public DialView {
DATA_TYPE_STEPS_GOAL, // 运动步数目标
DATA_TYPE_SECOND_MAPPER, // 秒映射
DATA_TYPE_POWER_MAPPER, // 电量映射
+ DATA_TYPE_CALORIE_GOAL, // 运动卡路里目标
DATA_TYPE_STEPS_GOAL_INT, // 运动步数百分比
DATA_TYPE_CALORIE_GOAL_INT, // 运动卡路里目标百分比
--- /dev/null
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelKcalgoal
+ * Author:
+ * Create: 2023-12
+ */
+
+#ifndef DIAL_MODEL_Kcalgoal_H
+#define DIAL_MODEL_Kcalgoal_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS {
+class DialModelKcalgoal : public DialBaseModel {
+public:
+ DialModelKcalgoal() {}
+ ~DialModelKcalgoal() override {}
+ static DialModelKcalgoal *GetInstance() {
+ static DialModelKcalgoal instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateKcalgoal(uint32_t Kcalgoal);
+
+private:
+ float Kcalgoal_ = 0; // 11520.0: default Kcal value as reference
+};
+} // namespace OHOS
+#endif
/*
* Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
- * Description: DialModelCaloriegoal
+ * Description: DialModelKcalgoalStr
* Author:
* Create: 2023-12
*/
-#ifndef DIAL_MODEL_Caloriegoal_H
-#define DIAL_MODEL_Caloriegoal_H
+#ifndef DIAL_MODEL_KcalgoalStr_H
+#define DIAL_MODEL_KcalgoalStr_H
#include "DialBaseModel.h"
namespace OHOS {
-class DialModelCaloriegoal : public DialBaseModel {
+class DialModelKcalgoalStr : public DialBaseModel {
public:
- DialModelCaloriegoal() {}
- ~DialModelCaloriegoal() override {}
- static DialModelCaloriegoal *GetInstance() {
- static DialModelCaloriegoal instance;
+ DialModelKcalgoalStr() {}
+ ~DialModelKcalgoalStr() override {}
+ static DialModelKcalgoalStr *GetInstance() {
+ static DialModelKcalgoalStr instance;
return &instance;
}
- bool GetDialFloatData(DialDataType &type, float &out) override;
- void UpdateCaloriegoal(uint32_t Caloriegoal);
+ bool GetDialTextData(DialDataType &type, std::string *&out,
+ int16_t &strNum) override;
+
+ void UpdateKcalgoalStr(uint32_t KcalgoalStr);
private:
- float Caloriegoal_ = 0; // 11520.0: default Calorie value as reference
+ std::string KcalgoalStr_ = "0%";
};
} // namespace OHOS
#endif
--- /dev/null
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelKcalgoalValue
+ * Author:
+ * Create: 2023-12
+ */
+
+#ifndef DIAL_MODEL_KcalgoalValue_H
+#define DIAL_MODEL_KcalgoalValue_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS {
+class DialModelKcalgoalValue : public DialBaseModel {
+public:
+ DialModelKcalgoalValue() {}
+ ~DialModelKcalgoalValue() override {}
+ static DialModelKcalgoalValue *GetInstance() {
+ static DialModelKcalgoalValue instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateKcalgoalValue(uint32_t KcalgoalValue);
+
+private:
+ float KcalgoalValue_ = 0; // 11520.0: default Kcal value as reference
+};
+} // namespace OHOS
+#endif
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelStepgoalStr
+ * Author:
+ * Create: 2023-12
+ */
+
+#ifndef DIAL_MODEL_StepgoalStr_H
+#define DIAL_MODEL_StepgoalStr_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS {
+class DialModelStepgoalStr : public DialBaseModel {
+public:
+ DialModelStepgoalStr() {}
+ ~DialModelStepgoalStr() override {}
+ static DialModelStepgoalStr *GetInstance() {
+ static DialModelStepgoalStr instance;
+ return &instance;
+ }
+ bool GetDialTextData(DialDataType &type, std::string *&out,
+ int16_t &strNum) override;
+
+ void UpdateStepgoalStr(uint32_t StepgoalStr);
+
+private:
+ std::string StepgoalStr_ = "0%";
+};
+} // namespace OHOS
+#endif
--- /dev/null
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelStepgoalValue
+ * Author:
+ * Create: 2023-12
+ */
+
+#ifndef DIAL_MODEL_StepgoalValue_H
+#define DIAL_MODEL_StepgoalValue_H
+
+#include "DialBaseModel.h"
+
+namespace OHOS {
+class DialModelStepgoalValue : public DialBaseModel {
+public:
+ DialModelStepgoalValue() {}
+ ~DialModelStepgoalValue() override {}
+ static DialModelStepgoalValue *GetInstance() {
+ static DialModelStepgoalValue instance;
+ return &instance;
+ }
+ bool GetDialFloatData(DialDataType &type, float &out) override;
+ void UpdateStepgoalValue(uint32_t StepgoalValue);
+
+private:
+ float stepgoalValue_ = 0; // 11520.0: default Step value as reference
+};
+} // namespace OHOS
+#endif
{
}
-void DialArcProgressView::HandleFloatData(float data)
-{
+void DialArcProgressView::HandleFloatData(float data) {
+ printf("HandleFloatData: %f\n", data);
float ratio = data;
if (ratio > 1.0f) {
ratio = 1.0f;
* @Date: 2024-07-31 18:33:13
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-08-02 18:54:18
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp
+ * @FilePath:
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp
*/
/***
* @Date: 2024-04-15 10:55:58
* @LastEditors: Caisking 3449750381@qq.com
* @LastEditTime: 2024-07-31 18:36:06
- * @FilePath: /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp
+ * @FilePath:
+ * /FD230/code/sdk/application/wearable/fd230app/nativeui/main/src/dial/DialModelCalorie.cpp
*/
/*
* Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
* Create: 2023-12
*/
-#include "RegisterDialModel.h"
#include "DialModelCalorie.h"
+#include "RegisterDialModel.h"
#include "wearable_log.h"
-REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_CALORIE, OHOS::DialModelCalorie::GetInstance());
+#include "goal/include/goalmodel.h"
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_CALORIE,
+ OHOS::DialModelCalorie::GetInstance());
#include "cywee_hal.h"
extern "C" int get_calories_data();
-namespace OHOS
-{
- bool DialModelCalorie::GetDialFloatData(DialDataType &type, float &out)
- {
- (void)type;
- if (calorie_ == 0)
- {
- calorie_ = get_calories_data();
- }
- out = calorie_;
- // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DialModelCalorie %d", calorie_);
- return true;
- }
+namespace OHOS {
+bool DialModelCalorie::GetDialFloatData(DialDataType &type, float &out) {
+ (void)type;
+
+ calorie_ = static_cast<float>(GoalModel::GetInstance().show_data_calories_refresh());
+ out = calorie_;
+ // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "DialModelCalorie %d", calorie_);
+ return true;
+}
- void DialModelCalorie::UpdateCalorie(int16_t calorie)
- {
- // 更新表盘卡路里数据
- calorie_ = static_cast<float>(calorie);
- if (onChangeListener_ != nullptr)
- {
- onChangeListener_->OnDialFloatDataUpdate(DialDataType::DATA_TYPE_CALORIE, calorie_);
- }
- }
+void DialModelCalorie::UpdateCalorie(int16_t calorie) {
+ // 更新表盘卡路里数据
+ calorie_ = static_cast<float>(calorie);
+ if (onChangeListener_ != nullptr) {
+ onChangeListener_->OnDialFloatDataUpdate(DialDataType::DATA_TYPE_CALORIE,
+ calorie_);
+ }
}
+} // namespace OHOS
--- /dev/null
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelKcals
+ * Author:
+ * Create: 2023-12
+ */
+
+#include "DialModelKcalgoal.h"
+#include "DialBoxProgressView.h"
+#include "RegisterDialModel.h"
+#include "goal/include/goalmodel.h"
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_CALORIE_GOAL,
+ OHOS::DialModelKcalgoal::GetInstance());
+
+namespace OHOS {
+bool DialModelKcalgoal::GetDialFloatData(DialDataType &type, float &out) {
+ (void)type;
+ uint32_t goal = GoalModel::GetInstance().getKcalgoaldata();
+ uint32_t Kcal_ = GoalModel::GetInstance().show_data_calories_refresh();
+
+ if (goal > 0) {
+ Kcalgoal_ = (static_cast<float>(Kcal_) / goal) * 100;
+ if (Kcalgoal_ > 100)
+ Kcalgoal_ = 100;
+ Kcalgoal_ = DialBoxProgressView::GetInstance()->ConvertToRequiredFormat(
+ DialBoxDataType::CALORIE_TARGET, Kcalgoal_);
+ } else {
+ Kcalgoal_ = 0;
+ }
+ if (onChangeListener_ != nullptr) {
+ onChangeListener_->OnDialFloatDataUpdate(
+ DialDataType::DATA_TYPE_CALORIE_GOAL, Kcalgoal_);
+ }
+ out = DialBoxProgressView::GetInstance()->ConvertToRequiredFormat(
+ DialBoxDataType::CALORIE_TARGET, Kcalgoal_);
+ return true;
+}
+
+void DialModelKcalgoal::UpdateKcalgoal(uint32_t Kcals) {
+ uint32_t Kcal_ = static_cast<float>(Kcals);
+ uint32_t goal = GoalModel::GetInstance().getKcalgoaldata();
+ if (goal > 0) {
+ Kcalgoal_ = (static_cast<float>(Kcal_) / goal) * 100;
+ if (Kcalgoal_ > 100)
+ Kcalgoal_ = 100;
+ Kcalgoal_ = DialBoxProgressView::GetInstance()->ConvertToRequiredFormat(
+ DialBoxDataType::CALORIE_TARGET, Kcalgoal_);
+ }
+ if (onChangeListener_ != nullptr) {
+ onChangeListener_->OnDialFloatDataUpdate(
+ DialDataType::DATA_TYPE_CALORIE_GOAL, Kcalgoal_);
+ }
+}
+} // namespace OHOS
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelKcals
+ * Author:
+ * Create: 2023-12
+ */
+
+#include "DialModelKcalgoalStr.h"
+#include "DialBoxProgressView.h"
+#include "RegisterDialModel.h"
+#include "goal/include/goalmodel.h"
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_CALORIE_GOAL_STR,
+ OHOS::DialModelKcalgoalStr::GetInstance());
+
+namespace OHOS {
+bool DialModelKcalgoalStr::GetDialTextData(DialDataType &type,
+ std::string *&out, int16_t &strNum) {
+ (void)type;
+ uint32_t goal = GoalModel::GetInstance().getKcalgoaldata();
+ uint32_t Kcal_ = GoalModel::GetInstance().show_data_calories_refresh();
+
+ uint32_t Kcalgoal = 0; //百分比
+ if (goal > 0) {
+ Kcalgoal = (static_cast<float>(Kcal_) / goal) * 100;
+ if (Kcalgoal > 100)
+ Kcalgoal = 100;
+ }
+ KcalgoalStr_.clear();
+ KcalgoalStr_ = std::to_string(Kcalgoal) + "%"; //百分比字符串
+
+ out = &KcalgoalStr_;
+ strNum = 1;
+ return true;
+}
+
+void DialModelKcalgoalStr::UpdateKcalgoalStr(uint32_t Kcals) {
+ uint32_t Kcal_ = static_cast<float>(Kcals);
+ uint32_t goal = GoalModel::GetInstance().getKcalgoaldata();
+ uint32_t Kcalgoal = 0; //百分比
+ if (goal > 0) {
+ Kcalgoal = (static_cast<float>(Kcal_) / goal) * 100;
+ if (Kcalgoal > 100)
+ Kcalgoal = 100;
+ }
+ KcalgoalStr_.clear();
+ KcalgoalStr_ = std::to_string(Kcalgoal) + "%"; //百分比字符串
+
+ if (onChangeListener_ != nullptr) {
+ onChangeListener_->OnDialTextDataUpdate(
+ DialDataType::DATA_TYPE_CALORIE_GOAL_STR, &KcalgoalStr_,
+ KcalgoalStr_.size());
+ }
+}
+} // namespace OHOS
--- /dev/null
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelKcals
+ * Author:
+ * Create: 2023-12
+ */
+
+#include "DialModelKcalgoalValue.h"
+#include "DialBoxProgressView.h"
+#include "RegisterDialModel.h"
+#include "goal/include/goalmodel.h"
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_CALORIE_GOAL_INT,
+ OHOS::DialModelKcalgoalValue::GetInstance());
+
+namespace OHOS {
+bool DialModelKcalgoalValue::GetDialFloatData(DialDataType &type, float &out) {
+ (void)type;
+ uint32_t goal = GoalModel::GetInstance().getKcalgoaldata();
+ uint32_t Kcal_ = GoalModel::GetInstance().show_data_calories_refresh();
+ if (goal > 0) {
+ KcalgoalValue_ = (static_cast<float>(Kcal_) / static_cast<float>(goal));
+ if (KcalgoalValue_ > 1.0f) {
+ KcalgoalValue_ = 1.0f;
+ }
+ } else {
+ KcalgoalValue_ = 0;
+ }
+ printf(" KcalgoalValue_:%f\n", KcalgoalValue_);
+ out = static_cast<float>(KcalgoalValue_);
+ return true;
+}
+
+void DialModelKcalgoalValue::UpdateKcalgoalValue(uint32_t caloriesInput) {
+ uint32_t goalValue = GoalModel::GetInstance().getKcalgoaldata();
+ if (goalValue > 0) {
+ KcalgoalValue_ =
+ (static_cast<float>(caloriesInput) / static_cast<float>(goalValue));
+ if (KcalgoalValue_ > 1.0f) {
+ KcalgoalValue_ = 1.0f;
+ }
+ } else {
+ KcalgoalValue_ = 0;
+ }
+
+ printf(" KcalgoalValue_:%f\n", KcalgoalValue_);
+
+ if (onChangeListener_) {
+ onChangeListener_->OnDialFloatDataUpdate(
+ DialDataType::DATA_TYPE_CALORIE_GOAL_INT, KcalgoalValue_);
+ }
+}
+} // namespace OHOS
namespace OHOS {
bool DialModelStepgoal::GetDialFloatData(DialDataType &type, float &out) {
(void)type;
+
+ uint32_t step_ = GoalModel::GetInstance().show_data_step_refresh();
+ uint32_t goal = GoalModel::GetInstance().getstepgoaldata();
+ if (goal > 0) {
+ stepgoal_ = (static_cast<float>(step_) / goal) * 100;
+ if (stepgoal_ > 100)
+ stepgoal_ = 100;
+ stepgoal_ = DialBoxProgressView::GetInstance()->ConvertToRequiredFormat(
+ DialBoxDataType::STEP_TARGET, stepgoal_);
+ } else {
+ stepgoal_ = 0;
+ }
out = DialBoxProgressView::GetInstance()->ConvertToRequiredFormat(
DialBoxDataType::STEP_TARGET, stepgoal_);
return true;
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelSteps
+ * Author:
+ * Create: 2023-12
+ */
+
+#include "DialModelStepgoalStr.h"
+#include "DialBoxProgressView.h"
+#include "RegisterDialModel.h"
+#include "goal/include/goalmodel.h"
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_STEPS_GOAL_STR,
+ OHOS::DialModelStepgoalStr::GetInstance());
+
+namespace OHOS {
+bool DialModelStepgoalStr::GetDialTextData(DialDataType &type,
+ std::string *&out, int16_t &strNum) {
+ (void)type;
+ uint32_t step_ = GoalModel::GetInstance().show_data_step_refresh();
+ uint32_t goal = GoalModel::GetInstance().getstepgoaldata();
+ uint32_t stepgoal = 0; //百分比
+ if (goal > 0) {
+ stepgoal = (static_cast<float>(step_) / goal) * 100;
+ if (stepgoal > 100)
+ stepgoal = 100;
+ }
+ StepgoalStr_.clear();
+ StepgoalStr_ = std::to_string(stepgoal) + "%"; //百分比字符串
+ out = &StepgoalStr_;
+ strNum = 1;
+ return true;
+}
+
+void DialModelStepgoalStr::UpdateStepgoalStr(uint32_t steps) {
+ uint32_t step_ = static_cast<float>(steps);
+ uint32_t goal = GoalModel::GetInstance().getstepgoaldata();
+ uint32_t stepgoal = 0; //百分比
+ if (goal > 0) {
+ stepgoal = (static_cast<float>(step_) / goal) * 100;
+ if (stepgoal > 100)
+ stepgoal = 100;
+ }
+ StepgoalStr_.clear();
+ StepgoalStr_ = std::to_string(stepgoal) + "%"; //百分比字符串
+
+ if (onChangeListener_ != nullptr) {
+ onChangeListener_->OnDialTextDataUpdate(
+ DialDataType::DATA_TYPE_STEPS_GOAL_STR, &StepgoalStr_,
+ StepgoalStr_.size());
+ }
+}
+} // namespace OHOS
--- /dev/null
+/*
+ * Copyright (c) CompanyNameMagicTag 2023. All rights reserved.
+ * Description: DialModelSteps
+ * Author:
+ * Create: 2023-12
+ */
+
+#include "DialModelStepgoalValue.h"
+#include "DialBoxProgressView.h"
+#include "RegisterDialModel.h"
+#include "goal/include/goalmodel.h"
+
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_STEPS_GOAL_INT,
+ OHOS::DialModelStepgoalValue::GetInstance());
+
+namespace OHOS {
+bool DialModelStepgoalValue::GetDialFloatData(DialDataType &type, float &out) {
+ (void)type;
+ //更新步数
+ uint32_t goalValue = GoalModel::GetInstance().getstepgoaldata();
+ uint32_t steps = GoalModel::GetInstance().show_data_step_refresh();
+ if (goalValue > 0) {
+ stepgoalValue_ =
+ (static_cast<float>(steps) / static_cast<float>(goalValue));
+ if (stepgoalValue_ > 1.0f)
+ stepgoalValue_ = 1.0;
+ } else {
+ stepgoalValue_ = 0;
+ }
+
+ printf("stepgoalValue_ %f\n", stepgoalValue_);
+ out = static_cast<float>(stepgoalValue_);
+ return true;
+}
+
+void DialModelStepgoalValue::UpdateStepgoalValue(uint32_t steps) {
+ uint32_t goalValue = GoalModel::GetInstance().getstepgoaldata();
+ if (goalValue > 0) {
+ stepgoalValue_ =
+ (static_cast<float>(steps) / static_cast<float>(goalValue));
+ if (stepgoalValue_ > 1.0f)
+ stepgoalValue_ = 1.0;
+ } else {
+ stepgoalValue_ = 0;
+ }
+ printf("steps %d goalValue %d stepgoalValue_ %f\n", steps, goalValue,
+ stepgoalValue_);
+ if (onChangeListener_ != nullptr) {
+ //更新百分比 实际值
+ onChangeListener_->OnDialFloatDataUpdate(
+ DialDataType::DATA_TYPE_STEPS_GOAL_INT, stepgoalValue_);
+ }
+}
+} // namespace OHOS
* Create: 2023-12
*/
-#include "RegisterDialModel.h"
#include "DialModelSteps.h"
+#include "RegisterDialModel.h"
+#include "goal/include/goalmodel.h"
-REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_STEPS, OHOS::DialModelSteps::GetInstance());
+REGIST_DIAL_MODULE(DialDataType::DATA_TYPE_STEPS,
+ OHOS::DialModelSteps::GetInstance());
namespace OHOS {
-bool DialModelSteps::GetDialFloatData(DialDataType& type, float& out)
-{
- (void)type;
- out = steps_;
- return true;
+bool DialModelSteps::GetDialFloatData(DialDataType &type, float &out) {
+ (void)type;
+ //更新步数
+ steps_ = GoalModel::GetInstance().show_data_step_refresh();
+ out = steps_;
+ return true;
}
void DialModelSteps::UpdateSteps(uint32_t steps) {
steps_);
}
}
-}
+} // namespace OHOS
}\r
\r
DialArcProgressView* view = new DialArcProgressView();\r
- view->SetPosition(data->typeData.rect.x, data->typeData.rect.y, data->typeData.rect.w, data->typeData.rect.h);\r
- view->SetCenterPosition(data->typeData.rect.x + data->typeData.rect.w / 2, // 2: half\r
+ view->SetPosition(data->typeData.rect.x, data->typeData.rect.y,\r
+ data->typeData.rect.w, data->typeData.rect.h);\r
+ GRAPHIC_LOGE("SetPosition: %d, %d, %d ,%d \n", data->typeData.rect.x , data->typeData.rect.w ,data->typeData.rect.y ,data->typeData.rect.h);\r
+ view->SetCenterPosition(\r
+ data->typeData.rect.x + data->typeData.rect.w / 2, // 2: half\r
data->typeData.rect.y + data->typeData.rect.h / 2); // 2: half\r
+ GRAPHIC_LOGE("SetCenterPosition: %d, %d\n", data->typeData.rect.x + data->typeData.rect.w / 2,data->typeData.rect.y + data->typeData.rect.h / 2);\r
view->SetRadius(data->radius);\r
view->SetStartAngle(data->startAngle);\r
view->SetEndAngle(data->endAngle);\r