summaryrefslogtreecommitdiffstats
path: root/core/jni/android/graphics/Canvas.h
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@google.com>2014-07-15 16:22:32 -0400
committerBehdad Esfahbod <behdad@google.com>2014-07-22 14:01:09 -0400
commit6ba30b85ddfbe37c338ee8dde3dd33322eb38d47 (patch)
tree2932b2c164821f37e2e1e71df15bc3a242d9e616 /core/jni/android/graphics/Canvas.h
parentad88e1b1b2c57fa56bde68764b22240d145fa0ef (diff)
downloadframeworks_base-6ba30b85ddfbe37c338ee8dde3dd33322eb38d47.zip
frameworks_base-6ba30b85ddfbe37c338ee8dde3dd33322eb38d47.tar.gz
frameworks_base-6ba30b85ddfbe37c338ee8dde3dd33322eb38d47.tar.bz2
Add android.Paint that inherits SkPaint
The idea is that extra paint parameters that only affect text layout (not rendering) will go in android.Paint instead of going into SkPaintOptionsAndroid. We will eventually move those out of SkPaint too. This is currently implemented in PaintImpl.cpp. Will be renamed when current Paint.cpp that has JNI bits is moved to android_graphics_Paint.cpp. Change-Id: Iba66c34dea5da503a13b9c864cb9f2211ac4ba7d
Diffstat (limited to 'core/jni/android/graphics/Canvas.h')
-rw-r--r--core/jni/android/graphics/Canvas.h41
1 files changed, 21 insertions, 20 deletions
diff --git a/core/jni/android/graphics/Canvas.h b/core/jni/android/graphics/Canvas.h
index fde22ee..317f69d 100644
--- a/core/jni/android/graphics/Canvas.h
+++ b/core/jni/android/graphics/Canvas.h
@@ -25,6 +25,7 @@ namespace android {
// TODO: move this further up the stack so that all interaction with minikin
// happens prior to calling into this interface
+class Paint;
class TypefaceImpl;
class Canvas {
@@ -60,7 +61,7 @@ public:
virtual void restoreToCount(int saveCount) = 0;
virtual int saveLayer(float left, float top, float right, float bottom,
- const SkPaint* paint, SkCanvas::SaveFlags flags) = 0;
+ const Paint* paint, SkCanvas::SaveFlags flags) = 0;
virtual int saveLayerAlpha(float left, float top, float right, float bottom,
int alpha, SkCanvas::SaveFlags flags) = 0;
@@ -90,47 +91,47 @@ public:
// Canvas draw operations
// ----------------------------------------------------------------------------
virtual void drawColor(int color, SkXfermode::Mode mode) = 0;
- virtual void drawPaint(const SkPaint& paint) = 0;
+ virtual void drawPaint(const Paint& paint) = 0;
// Geometry
- virtual void drawPoint(float x, float y, const SkPaint& paint) = 0;
- virtual void drawPoints(const float* points, int count, const SkPaint& paint) = 0;
+ virtual void drawPoint(float x, float y, const Paint& paint) = 0;
+ virtual void drawPoints(const float* points, int count, const Paint& paint) = 0;
virtual void drawLine(float startX, float startY, float stopX, float stopY,
- const SkPaint& paint) = 0;
- virtual void drawLines(const float* points, int count, const SkPaint& paint) = 0;
+ const Paint& paint) = 0;
+ virtual void drawLines(const float* points, int count, const Paint& paint) = 0;
virtual void drawRect(float left, float top, float right, float bottom,
- const SkPaint& paint) = 0;
+ const Paint& paint) = 0;
virtual void drawRoundRect(float left, float top, float right, float bottom,
- float rx, float ry, const SkPaint& paint) = 0;
- virtual void drawCircle(float x, float y, float radius, const SkPaint& paint) = 0;
+ float rx, float ry, const Paint& paint) = 0;
+ virtual void drawCircle(float x, float y, float radius, const Paint& paint) = 0;
virtual void drawOval(float left, float top, float right, float bottom,
- const SkPaint& paint) = 0;
+ const Paint& paint) = 0;
virtual void drawArc(float left, float top, float right, float bottom,
- float startAngle, float sweepAngle, bool useCenter, const SkPaint& paint) = 0;
- virtual void drawPath(const SkPath& path, const SkPaint& paint) = 0;
+ float startAngle, float sweepAngle, bool useCenter, const Paint& paint) = 0;
+ virtual void drawPath(const SkPath& path, const Paint& paint) = 0;
virtual void drawVertices(SkCanvas::VertexMode vertexMode, int vertexCount,
const float* verts, const float* tex, const int* colors,
- const uint16_t* indices, int indexCount, const SkPaint& paint) = 0;
+ const uint16_t* indices, int indexCount, const Paint& paint) = 0;
// Bitmap-based
virtual void drawBitmap(const SkBitmap& bitmap, float left, float top,
- const SkPaint* paint) = 0;
+ const Paint* paint) = 0;
virtual void drawBitmap(const SkBitmap& bitmap, const SkMatrix& matrix,
- const SkPaint* paint) = 0;
+ const Paint* paint) = 0;
virtual void drawBitmap(const SkBitmap& bitmap, float srcLeft, float srcTop,
float srcRight, float srcBottom, float dstLeft, float dstTop,
- float dstRight, float dstBottom, const SkPaint* paint) = 0;
+ float dstRight, float dstBottom, const Paint* paint) = 0;
virtual void drawBitmapMesh(const SkBitmap& bitmap, int meshWidth, int meshHeight,
- const float* vertices, const int* colors, const SkPaint* paint) = 0;
+ const float* vertices, const int* colors, const Paint* paint) = 0;
// Text
virtual void drawText(const uint16_t* text, int start, int count, int contextCount,
- float x, float y, int bidiFlags, const SkPaint& paint,
+ float x, float y, int bidiFlags, const Paint& paint,
TypefaceImpl* typeface) = 0;
virtual void drawPosText(const uint16_t* text, const float* positions, int count,
- int posCount, const SkPaint& paint) = 0;
+ int posCount, const Paint& paint) = 0;
virtual void drawTextOnPath(const uint16_t* glyphs, int count, const SkPath& path,
- float hOffset, float vOffset, const SkPaint& paint) = 0;
+ float hOffset, float vOffset, const Paint& paint) = 0;
};
}; // namespace android