diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:52 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:52 -0800 |
commit | 8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2 (patch) | |
tree | 11425ea0b299d6fb89c6d3618a22d97d5bf68d0f /WebCore/platform/graphics/android/android_graphics.h | |
parent | 648161bb0edfc3d43db63caed5cc5213bc6cb78f (diff) | |
download | external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.zip external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.gz external_webkit-8e35f3cfc7fba1d1c829dc557ebad6409cbe16a2.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'WebCore/platform/graphics/android/android_graphics.h')
-rw-r--r-- | WebCore/platform/graphics/android/android_graphics.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/WebCore/platform/graphics/android/android_graphics.h b/WebCore/platform/graphics/android/android_graphics.h new file mode 100644 index 0000000..21492cf --- /dev/null +++ b/WebCore/platform/graphics/android/android_graphics.h @@ -0,0 +1,89 @@ +/* + * Copyright 2007, The Android Open Source Project + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef android_graphics_DEFINED +#define android_graphics_DEFINED + +#include "Color.h" +#include "Image.h" +#include "wtf/Vector.h" + +#include "SkColor.h" +#include "SkPorterDuff.h" +#include "SkScalar.h" +#include "SkShader.h" + +class SkCanvas; +struct SkPoint; +struct SKRect; + +namespace WebCore { + class FloatRect; + class IntPoint; + class IntRect; + class GraphicsContext; +} + +SkPoint* android_setpt(SkPoint* dst, const WebCore::IntPoint& src); +SkPoint* android_setpt(SkPoint* dst, const WebCore::FloatPoint& src); +SkRect* android_setrect(SkRect* dst, const WebCore::IntRect& src); +SkRect* android_setrect(SkRect* dst, const WebCore::FloatRect& src); +SkIRect* android_setrect(SkIRect* dst, const WebCore::IntRect& src); +SkIRect* android_setrect(SkIRect* dst, const WebCore::FloatRect& src); +SkIRect* android_setrect_scaled(SkIRect* dst, const WebCore::FloatRect& src, + float sx, float sy); + +SkPorterDuff::Mode android_convert_compositeOp(WebCore::CompositeOperator); +SkShader::TileMode android_convert_TileRule(WebCore::Image::TileRule); + +WebCore::Color android_SkPMColorToWebCoreColor(SkPMColor pm); + +SkCanvas* android_gc2canvas(WebCore::GraphicsContext* gc); + +// Data and methods for focus rings + +// used to inflate node cache entry +#define FOCUS_RING_HIT_TEST_RADIUS 5 + +// used to inval rectangle enclosing pressed state of focus ring +#define FOCUS_RING_OUTER_DIAMETER SkFixedToScalar(SkIntToFixed(13)>>2) // 13/4 == 3.25 + +struct FocusRing { +public: + enum Flavor { + NORMAL_FLAVOR, + FAKE_FLAVOR, + INVALID_FLAVOR, + NORMAL_ANIMATING, + FAKE_ANIMATING, + ANIMATING_COUNT = 2 + }; + + static void DrawRing(SkCanvas* , + const Vector<WebCore::IntRect>& rects, Flavor ); +}; + +#endif + |