#include "dialupdate/include/DialUpdateView.h"
#include "dialupdate/include/DialUpdateModel.h"
+#include <securec.h>
+#include "common/image_cache_manager.h"
+#include "gfx_utils/mem_api.h"
#include "wearable_log.h"
#include <string>
+#include "components/ui_canvas_ext.h"
extern DialInfo dialInfo[MAX_DIALNUM];
extern DialInfo_1 dialInfo_1[MAX_DIALNUM_1];
{
g_pDialUpdateView = this;
}
+ UICardPage *Page[10] = {NULL};
UILabelButtonExt *Button[10] = {NULL};
+ UILabel *Label[10] = {NULL};
+ UICanvasExt *canvas[10] = {NULL};
DialUpdateView::~DialUpdateView()
{
if (container_ != nullptr)
for (int i = 0; i < dial_num; i++)
{
+ if (Page[i] != nullptr)
+ {
+ Page[i]->RemoveAll();
+ delete Page[i];
+ Page[i] = nullptr;
+ }
+ if (Label[i] != NULL)
+ {
+ delete Label[i];
+ Label[i] = NULL;
+ }
if (Button[i] != NULL)
{
delete Button[i];
Button[i] = NULL;
}
+ if (canvas[i] != NULL)
+ {
+ delete canvas[i];
+ canvas[i] = NULL;
+ }
}
g_pDialUpdateView = nullptr;
}
{
for (int i = 0; i < dial_num; i++)
{
+ Page[i] = new UICardPage();
+ if (Page == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Page new fail!");
+ }
+ Page[i]->SetPosition(0, 0, 466, 466);
+ Page[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+
+ /* --------------------------------- 增加光晕效果 --------------------------------- */
+ canvas[i] = new UICanvasExt();
+ if (canvas[i] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "canvas new fail!");
+ }
+ canvas[i]->SetPosition(73, 73, 320, 320);
+ canvas[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
+ canvas[i]->SetStyle(STYLE_BACKGROUND_OPA, OPA_OPAQUE);
+ PaintExt paint;
+ Point center = {158, 158};
+ paint.SetStyle(Paint::PaintStyle::STROKE_STYLE);
+ paint.SetStrokeWidth(20); // 30: stroke width
+ paint.SetStrokeColor(Color::Cyan());
+ paint.SetAntialiased(true);
+ RadialGradient radial = {158, 158, 150, 150, 152};
+ ColorStop stops[3] = {{0, Color::White().full}, {0.8, Color::White().full}, {1, 0x00ffffff}};
+ paint.SetRadialGradient(radial, stops, 3); // 3: count
+ canvas[i]->DrawCircle(center, 140, paint);
+ Page[i]->Add(canvas[i]);
+ /* -------------------------------------------------------------------------- */
+ Label[i] = new UILabel();
+ if (Label[i] == nullptr)
+ {
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Label new fail!");
+ }
+ Label[i]->SetPosition(115, 40, 200, 60);
+ Label[i]->SetText(dialInfo_1[i].title);
+ Label[i]->SetAlign(TEXT_ALIGNMENT_CENTER);
+ Label[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
+ Page[i]->Add(Label[i]);
+
Button[i] = new UILabelButtonExt();
- if (Button == nullptr)
+ if (Button[i] == nullptr)
{
- WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "SystemView::SystemUpgradeButtonExt new fail!");
+ WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "Button new fail!");
}
- Button[i]->SetPosition(0, 0, Screen::GetInstance().GetWidth(), Screen::GetInstance().GetWidth());
+ Button[i]->SetPosition(103, 103, 260, 260);
Button[i]->SetStyle(STYLE_BACKGROUND_COLOR, Color::Black().full);
- Button[i]->SetImagePosition(103, 103);
+ Button[i]->SetImagePosition(0, 0);
Button[i]->SetViewId(dialInfo_1[i].title);
-
Button[i]->SetImageSrc(dialInfo_1[i].thumbnailPath, dialInfo_1[i].thumbnailPath);
- Button[i]->SetText(dialInfo_1[i].title);
- Button[i]->SetAlign(TEXT_ALIGNMENT_CENTER);
- Button[i]->SetLabelPosition(0, -380);
- Button[i]->SetFont(DEFAULT_VECTOR_FONT_FILENAME, 30);
Button[i]->SetStyleForState(STYLE_BORDER_COLOR, Color::Black().full, UIButton::PRESSED);
Button[i]->SetStyleForState(STYLE_BACKGROUND_COLOR, Color::Black().full, UIButton::PRESSED);
UIView::OnClickListener *buttonClick = static_cast<UIView::OnClickListener *>(DialUpdatePresenter::GetInstance());
UIView::OnDragListener *buttondarg = static_cast<UIView::OnDragListener *>(DialUpdatePresenter::GetInstance());
Button[i]->SetOnClickListener(buttonClick);
Button[i]->SetOnDragListener(buttondarg);
- container_->Add(Button[i]);
+ Page[i]->Add(Button[i]);
+
+ container_->Add(Page[i]);
}
}
- UICardPage *cade[10] = {nullptr};
void DialUpdateView::OnStart()
{