Changed focus ring color
[framework/web/webkit-efl.git] / Source / WebKit2 / UIProcess / API / efl / tizen / FocusRing.cpp
index cba19d7..14bf75a 100755 (executable)
@@ -74,11 +74,26 @@ void FocusRing::setImage(const String& path, int outerWidth, int innerWidth)
     }
 }
 
-void FocusRing::requestToShow(const IntPoint& position)
+void FocusRing::requestToShow(const IntPoint& position, bool immediately)
 {
     if (!m_imagePath.isNull())
         return;
 
+    if (immediately) {
+        if (m_focusRingObject && evas_object_visible_get(m_focusRingObject))
+            return;
+        else {
+            if (m_showTimer) {
+                ecore_timer_del(m_showTimer);
+                m_showTimer = 0;
+            }
+
+            m_position = position;
+            show(IntRect());
+            return;
+        }
+    }
+
     m_position = position;
 
     if (m_showTimer)
@@ -160,7 +175,11 @@ void FocusRing::show(const IntRect& rect, const bool includeOnlyImage)
     }
 
     if (m_imagePath.isNull()) {
-        evas_object_color_set(m_focusRingObject, focusRingColor.red(), focusRingColor.green(), focusRingColor.blue(), focusRingColor.alpha());
+        int r, g, b;
+        r = (focusRingColor.red() * focusRingColor.alpha()) / 255;
+        g = (focusRingColor.green() * focusRingColor.alpha()) / 255;
+        b = (focusRingColor.blue() * focusRingColor.alpha()) / 255;
+        evas_object_color_set(m_focusRingObject, r, g, b, focusRingColor.alpha());
         evas_object_move(m_focusRingObject, focusRingRect.x(), focusRingRect.y());
         evas_object_resize(m_focusRingObject, focusRingRect.width(), focusRingRect.height());
     } else {