rotary: consider the scaling
authorGiWoong Kim <giwoong.kim@samsung.com>
Fri, 8 May 2015 07:09:17 +0000 (16:09 +0900)
committerGiWoong Kim <giwoong.kim@samsung.com>
Fri, 8 May 2015 08:38:08 +0000 (17:38 +0900)
Change-Id: Ic6aed5fd74723fc30bb859409f40c4fdb657c3c5
Signed-off-by: GiWoong Kim <giwoong.kim@samsung.com>
tizen/src/ui/displaybase.cpp
tizen/src/ui/mainwindow.cpp
tizen/src/ui/rotaryview.cpp
tizen/src/ui/rotaryview.h
tizen/src/ui/skinview.cpp
tizen/src/ui/skinview.h

index c38b7a1368215bc0cc3a70b273542ccaef23c336..1d9b8274af897961c182e9865c509f3496e3b974 100644 (file)
@@ -104,7 +104,10 @@ void DisplayBase::handleResize(QResizeEvent *event)
     /* masking */
     if (maskImage.size() != QSize(0, 0)) {
         qDebug("set a mask to display");
-        widget->setMask(maskImage.mask());
+
+        widget->setMask(maskImage.scaled(
+            maskImage.width() * scaleFactor,
+            maskImage.height() * scaleFactor).mask());
     }
 }
 
index 16084f7e27972cfb71c1c81ed98382a4b15ec117..7070b482e870cf1a0e2333fcd4dda1f8e4d81fa1 100644 (file)
@@ -397,9 +397,10 @@ void MainWindow::switchForm(int index)
 
     resize(uiInfo->getUiSize());
 
-    skinView->update();
+    skinView->updateLayout();
+
     if (rotary != NULL) {
-        rotary->update();
+        rotary->updateLayout();
     }
 
     if (display != NULL) {
@@ -421,9 +422,10 @@ void MainWindow::scaleForm(int scale)
 
     resize(uiInfo->getUiSize());
 
-    skinView->update();
+    skinView->updateLayout();
+
     if (rotary != NULL) {
-        rotary->update();
+        rotary->updateLayout();
     }
 
     if (display != NULL) {
index 96dcf91e5fcd632ed70fe20b56f841a23c529e2e..4265b8836e6b7a24c3b1621a835c78f0516393be 100644 (file)
@@ -38,7 +38,8 @@ RotaryView::RotaryView(QWidget *parent) :
     QGraphicsView(new QGraphicsScene(parent), parent)
 {
     this->win = (MainWindow *)parent;
-    this->rotaryImg = win->uiInfo->getMainForm()->getRotaryImage();
+    this->rotaryImg = NULL;
+    this->rotaryItem = NULL;
     this->grabPos = QPoint(-1, -1);
     this->grabAngle = 0;
     this->rotaryDegree = 0;
@@ -53,7 +54,7 @@ RotaryView::RotaryView(QWidget *parent) :
     setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     setAlignment(Qt::AlignLeft | Qt::AlignTop);
 
-    update();
+    updateLayout();
 }
 
 void RotaryView::createItems()
@@ -65,7 +66,7 @@ void RotaryView::createItems()
     scene()->addItem(rotaryItem);
 }
 
-void RotaryView::update()
+void RotaryView::updateLayout()
 {
     scene()->clear();
 
@@ -75,11 +76,13 @@ void RotaryView::update()
     /* repositioning & resizing */
     const int alignOffsetX = (rotaryImg->width() - displayRect.width()) / 2;
     const int alignOffsetY = (rotaryImg->height() - displayRect.height()) / 2;
+    const qreal scaleFactor = win->getUIState()->getScaleFactor();
 
     setGeometry(
-        displayRect.x() - alignOffsetX,
-        displayRect.y() - alignOffsetY,
-        rotaryImg->width(), rotaryImg->height());
+        (displayRect.x() - alignOffsetX) * scaleFactor,
+        (displayRect.y() - alignOffsetY) * scaleFactor,
+        rotaryImg->width() * scaleFactor,
+        rotaryImg->height() * scaleFactor);
     scene()->setSceneRect(0, 0, width(), height());
 
     createItems();
@@ -101,7 +104,10 @@ void RotaryView::resizeEvent(QResizeEvent *event)
     setTransform(QTransform(sx, 0, 0, 0, sy, 0, 0, 0, 1));
 
     /* masking */
-    setMask(win->uiInfo->getMainForm()->getRotaryImage()->mask());
+    QPixmap scaledRotaryImg = rotaryImg->scaled(
+        rotaryImg->width() * win->getUIState()->getScaleFactor(),
+        rotaryImg->height() * win->getUIState()->getScaleFactor());
+    setMask(scaledRotaryImg.mask());
 
     QGraphicsView::resizeEvent(event);
 }
index e5f0030bf33e6cde3f4211014a5c2600808bf9c7..68f9790dbeb62fd370f9136ad065f4bea68fc026 100644 (file)
@@ -42,7 +42,7 @@ public:
     RotaryView(QWidget *parent);
     ~RotaryView();
 
-    void update();
+    void updateLayout();
 
 protected:
     void resizeEvent(QResizeEvent *event);
index 872ac66c093c3ad398ca864ef94aba0f85add7c7..30ba666a2945b1cd4f17228487f26f9e9ef63240 100644 (file)
@@ -46,7 +46,7 @@ SkinView::SkinView(QGraphicsScene *scene, QWidget *parent) :
     this->grabWinPos = QPoint(-1, -1);
     this->grabPos = QPoint(-1, -1);
 
-    update();
+    updateLayout();
 
     kbd = new KeyboardHelper(this);
 }
@@ -71,7 +71,7 @@ void SkinView::createItems(MainForm *form)
     }
 }
 
-void SkinView::update()
+void SkinView::updateLayout()
 {
     scene()->clear();
 
index bec3a6852de77d15bdb41b816415131293e9a01a..7ef875ba8d110e08fc1b04f8279cd77b95b050ef 100644 (file)
@@ -43,7 +43,7 @@ public:
     SkinView(QGraphicsScene *scene, QWidget *parent = 0);
     ~SkinView();
 
-    void update();
+    void updateLayout();
 
 protected:
     void resizeEvent(QResizeEvent *event);