skin: add outer, border, inner line and header color bar
[sdk/emulator/qemu.git] / tizen / src / ui / generalskinview.cpp
index 8817588..9fb8a14 100644 (file)
@@ -83,23 +83,66 @@ void GeneralSkinView::createItems()
 {
     qDebug() << "create items for general skin view";
 
-    QBrush backBrush(QColor(244, 244, 244));
-    QPen linePen(QColor(205, 205, 205), 1, Qt::SolidLine);
     QSize size = win->getUiInfo()->getMainSize();
-    scene()->addRect(BORDER_SIZE, BORDER_SIZE, size.width() - BORDER_SIZE * 2, HEADER_HEIGHT, QPen(Qt::NoPen), backBrush);
-    scene()->addLine(BORDER_SIZE, HEADER_HEIGHT + BORDER_SIZE, size.width() - BORDER_SIZE, HEADER_HEIGHT + BORDER_SIZE, linePen);
+
+    // header bar
+    scene()->addRect(0, 0, size.width(), HEADER_BAR_HEIGHT,
+                    QPen(Qt::NoPen), QBrush(win->getUiInfo()->getVMColor()));
+    // header
+    QBrush brush(QColor(244, 244, 244));
+    scene()->addRect(0, HEADER_BAR_HEIGHT, size.width(), HEADER_HEIGHT, QPen(Qt::NoPen), brush);
 
     if (BORDER_SIZE > 0) {
-        QPen boaderPen(win->getUiInfo()->getVMColor(), BORDER_SIZE * 2, Qt::SolidLine);
-        scene()->addRect(0, 0, size.width(), size.height(), boaderPen);
+        float osize = OUT_LINE_SIZE / 2;
+        float isize = INNER_LINE_SIZE / 2;
+        float bsize = (BORDER_SIZE - INNER_LINE_SIZE - OUT_LINE_SIZE) / 2;
+
+        // out line
+        if (osize > 0) {
+            QPen outPen(QColor(153, 153, 153), OUT_LINE_SIZE, Qt::SolidLine);
+            // left
+            scene()->addLine(osize, HEADER_BAR_HEIGHT + osize, osize, size.height(), outPen);
+            // bottom
+            scene()->addLine(osize, size.height() - osize, size.width() - osize, size.height() - osize, outPen);
+            // right
+            scene()->addLine(size.width() - osize, HEADER_BAR_HEIGHT + osize, size.width() - osize, size.height(), outPen);
+        }
+
+        // border line
+        if (bsize > 0) {
+            QPen borderPen(QColor(244, 244, 244), BORDER_SIZE - INNER_LINE_SIZE - OUT_LINE_SIZE, Qt::SolidLine);
+            float offset = OUT_LINE_SIZE + bsize;
+            // left
+            scene()->addLine(offset, HEADER_HEIGHT + bsize, offset, size.height() - offset, borderPen);
+            // bottom
+            scene()->addLine(offset, size.height() - offset, size.width() - offset, size.height() - offset, borderPen);
+            // right
+            scene()->addLine(size.width() - offset, HEADER_HEIGHT + bsize, size.width() - offset, size.height() - offset, borderPen);
+        }
+        // inner line
+        if (isize > 0) {
+            QPen innerPen(QColor(153, 153, 153), INNER_LINE_SIZE, Qt::SolidLine);
+            // top
+            scene()->addLine(BORDER_SIZE - isize, HEADER_HEIGHT - isize,
+                    size.width() - BORDER_SIZE + isize, HEADER_HEIGHT - isize, innerPen);
+            // left
+            scene()->addLine(BORDER_SIZE - isize, HEADER_HEIGHT - isize,
+                    BORDER_SIZE - isize, size.height() - BORDER_SIZE + isize, innerPen);
+            // bottom
+            scene()->addLine(BORDER_SIZE - isize, size.height() - BORDER_SIZE + isize,
+                    size.width() - BORDER_SIZE, size.height() - BORDER_SIZE + isize, innerPen);
+            // right
+            scene()->addLine(size.width() - BORDER_SIZE + isize, HEADER_HEIGHT - isize,
+                    size.width() - BORDER_SIZE + isize, size.height() - BORDER_SIZE + isize, innerPen);
+        }
     }
 
     QGraphicsTextItem *title = new QGraphicsTextItem(win->getUiInfo()->getVmName());
     title->setDefaultTextColor(QColor(88, 88, 88));
     scene()->addItem(title);
     QRectF rect = title->boundingRect();
-    int y = (HEADER_HEIGHT - rect.height()) / 2;
-    title->setPos(BORDER_SIZE + 5, BORDER_SIZE + y);
+    int y = (HEADER_HEIGHT - HEADER_BAR_HEIGHT - rect.height()) / 2;
+    title->setPos(BORDER_SIZE + 5, HEADER_BAR_HEIGHT + y);
 }
 
 QSize GeneralSkinView::getMainSize()
@@ -108,7 +151,7 @@ QSize GeneralSkinView::getMainSize()
             skinImg[LayoutForm::normal].size() * win->getUiInfo()->getUiState()->getScaleFactor();
 
     size.setWidth(size.width() + BORDER_SIZE * 2);
-    size.setHeight(size.height() + HEADER_HEIGHT + BORDER_SIZE * 2);
+    size.setHeight(size.height() + HEADER_HEIGHT + BORDER_SIZE);
 
     return size;
 }
@@ -119,7 +162,7 @@ QRegion GeneralSkinView::getMainRegion()
     QImage regionImage = mainImage->scaled(
             mainImage->width() * win->getUiInfo()->getUiState()->getScaleFactor() + BORDER_SIZE * 2,
             mainImage->height() * win->getUiInfo()->getUiState()->getScaleFactor()
-                                + HEADER_HEIGHT + BORDER_SIZE * 2).createAlphaMask();
+                                + HEADER_HEIGHT + BORDER_SIZE).createAlphaMask();
 
     return QRegion(QBitmap::fromImage(regionImage));
 }