summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android/android_graphics.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/android/android_graphics.h')
-rw-r--r--WebCore/platform/graphics/android/android_graphics.h80
1 files changed, 80 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..91c56b7
--- /dev/null
+++ b/WebCore/platform/graphics/android/android_graphics.h
@@ -0,0 +1,80 @@
+/*
+ *
+ * Copyright 2007, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#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;
+}
+
+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);
+
+// Data and methods for focus rings
+
+// used to inflate node cache entry
+#define FOCUS_RING_HIT_TEST_RADIUS SkIntToScalar(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,
+ BUTTON_NO_RING,
+ INVALID_FLAVOR,
+ NORMAL_ANIMATING,
+ FAKE_ANIMATING,
+ BUTTON_ANIMATING,
+ ANIMATING_COUNT = 2
+ };
+
+ static void DrawRing(SkCanvas* ,
+ const Vector<WebCore::IntRect>& rects, Flavor );
+};
+
+#endif
+