diff options
author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-12-12 20:48:18 +0000 |
---|---|---|
committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2012-12-12 20:48:18 +0000 |
commit | 7a7e655343617093a5eea37c7a556602a1bb0576 (patch) | |
tree | c404aebcbe8345df8e2d28dd13b9c87c6328bafd /pipe/SkGPipeRead.cpp | |
parent | 7954ac06ca868007cae83863c0ba546a85607751 (diff) | |
download | src-7a7e655343617093a5eea37c7a556602a1bb0576.tar.gz |
revert 6766, thereby re-landing 6762-6763 now that the bots are ready
git-svn-id: http://skia.googlecode.com/svn/trunk/src@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'pipe/SkGPipeRead.cpp')
-rw-r--r-- | pipe/SkGPipeRead.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/pipe/SkGPipeRead.cpp b/pipe/SkGPipeRead.cpp index 1f13dafa..8a86c582 100644 --- a/pipe/SkGPipeRead.cpp +++ b/pipe/SkGPipeRead.cpp @@ -21,6 +21,7 @@ #include "SkOrderedReadBuffer.h" #include "SkPathEffect.h" #include "SkRasterizer.h" +#include "SkRRect.h" #include "SkShader.h" #include "SkTypeface.h" #include "SkXfermode.h" @@ -237,6 +238,14 @@ static void clipRect_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, canvas->clipRect(*rect, (SkRegion::Op)DrawOp_unpackData(op32), doAA); } +static void clipRRect_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, + SkGPipeState* state) { + SkRRect rrect; + reader->readRRect(&rrect); + bool doAA = SkToBool(DrawOp_unpackFlags(op32) & kClip_HasAntiAlias_DrawOpFlag); + canvas->clipRRect(rrect, (SkRegion::Op)DrawOp_unpackData(op32), doAA); +} + /////////////////////////////////////////////////////////////////////////////// static void setMatrix_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, @@ -332,6 +341,14 @@ static void drawPoints_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, } } +static void drawOval_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, + SkGPipeState* state) { + const SkRect* rect = skip<SkRect>(reader); + if (state->shouldDraw()) { + canvas->drawOval(*rect, state->paint()); + } +} + static void drawRect_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, SkGPipeState* state) { const SkRect* rect = skip<SkRect>(reader); @@ -340,6 +357,15 @@ static void drawRect_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, } } +static void drawRRect_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, + SkGPipeState* state) { + SkRRect rrect; + reader->readRRect(&rrect); + if (state->shouldDraw()) { + canvas->drawRRect(rrect, state->paint()); + } +} + static void drawPath_rp(SkCanvas* canvas, SkReader32* reader, uint32_t op32, SkGPipeState* state) { SkPath path; @@ -677,6 +703,7 @@ static const ReadProc gReadTable[] = { clipPath_rp, clipRegion_rp, clipRect_rp, + clipRRect_rp, concat_rp, drawBitmap_rp, drawBitmapMatrix_rp, @@ -684,6 +711,7 @@ static const ReadProc gReadTable[] = { drawBitmapRect_rp, drawClear_rp, drawData_rp, + drawOval_rp, drawPaint_rp, drawPath_rp, drawPicture_rp, @@ -691,6 +719,7 @@ static const ReadProc gReadTable[] = { drawPosText_rp, drawPosTextH_rp, drawRect_rp, + drawRRect_rp, drawSprite_rp, drawText_rp, drawTextOnPath_rp, |