aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode/SampleBigGradient.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-01-12 14:18:39 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-12 20:21:39 +0000
commit9e937af9bd0ef211ffcaca1bae3a6a74581c5992 (patch)
tree5d27375ea02cd358a3c136fe6cb34456eb3ac79c /samplecode/SampleBigGradient.cpp
parentb621a35b436bdbe62f6c558b448ca00449b4a319 (diff)
impl clipping for GDI raster-handle
BUG=skia: Change-Id: I66bbcd80853662d982b80e7e504f2b5ccedc055c Reviewed-on: https://skia-review.googlesource.com/6967 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'samplecode/SampleBigGradient.cpp')
-rw-r--r--samplecode/SampleBigGradient.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/samplecode/SampleBigGradient.cpp b/samplecode/SampleBigGradient.cpp
index becb1cea54..b5b01c76fa 100644
--- a/samplecode/SampleBigGradient.cpp
+++ b/samplecode/SampleBigGradient.cpp
@@ -152,6 +152,10 @@ public:
#elif defined(WIN32)
+static RECT toRECT(const SkIRect& r) {
+ return { r.left(), r.top(), r.right(), r.bottom() };
+}
+
class GDIGraphicsPort : public GraphicsPort {
public:
GDIGraphicsPort(SkCanvas* canvas) : GraphicsPort(canvas) {}
@@ -160,9 +164,7 @@ public:
HDC hdc = (HDC)fCanvas->accessTopRasterHandle();
COLORREF cr = RGB(SkColorGetR(c), SkColorGetG(c), SkColorGetB(c));// SkEndian_Swap32(c) >> 8;
- SkIRect ir = r.round();
- RECT rect = { ir.left(), ir.top(), ir.right(), ir.bottom() };
- FillRect(hdc, &rect, CreateSolidBrush(cr));
+ FillRect(hdc, &toRECT(r.round()), CreateSolidBrush(cr));
// Assuming GDI wrote zeros for alpha, this will or-in 0xFF for alpha
SkPaint paint;
@@ -242,13 +244,11 @@ public:
xf.eDy = ctm[SkMatrix::kMTransY];
SetWorldTransform(hdc, &xf);
-#if 0
- HRGN hrgn = CreateRectRgnIndirect(&skia::SkIRectToRECT(clip_bounds));
+ HRGN hrgn = CreateRectRgnIndirect(&toRECT(clip_bounds));
int result = SelectClipRgn(hdc, hrgn);
SkASSERT(result != ERROR);
result = DeleteObject(hrgn);
SkASSERT(result != 0);
-#endif
}
};