diff options
Diffstat (limited to 'Source/WebCore/platform/graphics')
-rw-r--r-- | Source/WebCore/platform/graphics/Color.h | 7 | ||||
-rw-r--r-- | Source/WebCore/platform/graphics/android/android_graphics.cpp | 45 |
2 files changed, 24 insertions, 28 deletions
diff --git a/Source/WebCore/platform/graphics/Color.h b/Source/WebCore/platform/graphics/Color.h index 02ec005..bbf0c67 100644 --- a/Source/WebCore/platform/graphics/Color.h +++ b/Source/WebCore/platform/graphics/Color.h @@ -162,13 +162,6 @@ public: static const RGBA32 lightGray = 0xFFC0C0C0; static const RGBA32 transparent = 0x00000000; -#ifdef ANDROID_CSS_RING - static const RGBA32 ringFill = 0x666699FF; - static const RGBA32 ringPressedInner = 0x006699FF; - static const RGBA32 ringPressedOuter = 0x336699FF; - static const RGBA32 ringSelectedInner = 0xAA6699FF; - static const RGBA32 ringSelectedOuter = 0x336699FF; -#endif #ifdef ANDROID_CSS_TAP_HIGHLIGHT_COLOR static const RGBA32 tap = 0x4D1A1A1A; #endif diff --git a/Source/WebCore/platform/graphics/android/android_graphics.cpp b/Source/WebCore/platform/graphics/android/android_graphics.cpp index 57f1b41..39b4ee0 100644 --- a/Source/WebCore/platform/graphics/android/android_graphics.cpp +++ b/Source/WebCore/platform/graphics/android/android_graphics.cpp @@ -25,7 +25,6 @@ #include "CachedPrefix.h" #include "android_graphics.h" -#include "CachedColor.h" #include "CachedRoot.h" #include "IntRect.h" #include "LayerAndroid.h" @@ -37,6 +36,18 @@ namespace android { +#define RING_OUTSET 3 +#define RING_RADIUS 1 +#define RING_INNER_WIDTH 16 +#define RING_OUTER_WIDTH 16 + +static const RGBA32 ringFill = 0x666699FF; +static const RGBA32 ringPressedInner = 0x006699FF; +static const RGBA32 ringPressedOuter = 0x336699FF; +static const RGBA32 ringSelectedInner = 0xAA6699FF; +static const RGBA32 ringSelectedOuter = 0x336699FF; + + CursorRing::CursorRing(WebViewCore* core) : m_viewImpl(core) , m_layerId(-1) @@ -63,7 +74,6 @@ void CursorRing::draw(SkCanvas* canvas, LayerAndroid* layer, IntRect* inval) m_bounds.x(), m_bounds.y(), m_bounds.width(), m_bounds.height()); return; } - const CachedColor& colors = m_frame->color(m_node); unsigned rectCount = m_rings.size(); SkRegion rgn; SkPath path; @@ -73,7 +83,7 @@ void CursorRing::draw(SkCanvas* canvas, LayerAndroid* layer, IntRect* inval) SkIRect ir; r.round(&ir); - ir.inset(-colors.outset(), -colors.outset()); + ir.inset(-RING_OUTSET, -RING_OUTSET); rgn.op(ir, SkRegion::kUnion_Op); } rgn.getBoundaryPath(&path); @@ -81,30 +91,30 @@ void CursorRing::draw(SkCanvas* canvas, LayerAndroid* layer, IntRect* inval) SkPaint paint; paint.setAntiAlias(true); paint.setPathEffect(new SkCornerPathEffect( - SkIntToScalar(colors.radius())))->unref(); + SkIntToScalar(RING_RADIUS)))->unref(); SkColor outer; SkColor inner; if (m_isPressed) { SkColor pressed; - pressed = colors.fillColor(); + pressed = ringFill; paint.setColor(pressed); canvas->drawPath(path, paint); - outer = colors.pressedOuterColor(); - inner = colors.pressedInnerColor(); + outer = ringPressedInner; + inner = ringPressedOuter; } else { - outer = colors.selectedOuterColor(); - inner = colors.selectedInnerColor(); + outer = ringSelectedOuter; + inner = ringSelectedInner; } paint.setStyle(SkPaint::kStroke_Style); - paint.setStrokeWidth(colors.outerWidth() * WIDTH_SCALE); + paint.setStrokeWidth(RING_OUTER_WIDTH * WIDTH_SCALE); paint.setColor(outer); canvas->drawPath(path, paint); - paint.setStrokeWidth(colors.innerWidth() * WIDTH_SCALE); + paint.setStrokeWidth(RING_INNER_WIDTH * WIDTH_SCALE); paint.setColor(inner); canvas->drawPath(path, paint); SkRect localBounds, globalBounds; localBounds = path.getBounds(); - float width = std::max(colors.innerWidth(), colors.outerWidth()); + float width = std::max(RING_INNER_WIDTH, RING_OUTER_WIDTH); width *= WIDTH_SCALE; localBounds.inset(-width, -width); const SkMatrix& matrix = canvas->getTotalMatrix(); @@ -155,9 +165,8 @@ bool CursorRing::setup() m_rings.append(m_bounds); } m_absBounds = m_node->bounds(m_frame); - const CachedColor& colors = m_frame->color(m_node); - m_bounds.inflate(SkScalarCeil(colors.outerWidth())); - m_absBounds.inflate(SkScalarCeil(colors.outerWidth())); + m_bounds.inflate(SkScalarCeil(RING_OUTER_WIDTH)); + m_absBounds.inflate(SkScalarCeil(RING_OUTER_WIDTH)); if (!m_node->hasCursorRing() || (m_node->isPlugin() && m_node->isFocus())) return false; #if DEBUG_NAV_UI @@ -168,12 +177,6 @@ bool CursorRing::setup() m_isPressed ? "true" : "false", m_rings.size(), ring.x(), ring.y(), ring.width(), ring.height(), m_node->isPlugin() ? "true" : "false"); - DBG_NAV_LOGD("[%d] inner=%d outer=%d outset=%d radius=%d" - " fill=0x%08x pin=0x%08x pout=0x%08x sin=0x%08x sout=0x%08x", - m_node->colorIndex(), colors.innerWidth(), colors.outerWidth(), - colors.outset(), colors.radius(), colors.fillColor(), - colors.pressedInnerColor(), colors.pressedOuterColor(), - colors.selectedInnerColor(), colors.selectedInnerColor()); #endif return true; } |