diff options
author | 2016-12-14 11:08:17 -0500 | |
---|---|---|
committer | 2016-12-14 19:27:40 +0000 | |
commit | 6a639040bc3ee5369d86c9cb5b9047208beb5206 (patch) | |
tree | 8498b5e6ce910868b3c9943ec708406219c8fcca /src/gpu/batches/GrRectOpFactory.cpp | |
parent | b7ce80b7149209dfcdb8757d39a627e8dcccefea (diff) |
Update rect ops to use "op" in their name and return sk_sp.
Change-Id: I757c33d1cd17a7a7dda858f0fc5ab1094e3c2472
Reviewed-on: https://skia-review.googlesource.com/5985
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/batches/GrRectOpFactory.cpp')
-rw-r--r-- | src/gpu/batches/GrRectOpFactory.cpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/gpu/batches/GrRectOpFactory.cpp b/src/gpu/batches/GrRectOpFactory.cpp new file mode 100644 index 0000000000..fd73624254 --- /dev/null +++ b/src/gpu/batches/GrRectOpFactory.cpp @@ -0,0 +1,34 @@ +/* + * Copyright 2015 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "GrRectOpFactory.h" + +#include "GrAAStrokeRectOp.h" + +#include "SkStrokeRec.h" + +namespace GrRectOpFactory { + +sk_sp<GrDrawOp> MakeAAFillNestedRects(GrColor color, + const SkMatrix& viewMatrix, + const SkRect rects[2]) { + SkASSERT(viewMatrix.rectStaysRect()); + SkASSERT(!rects[0].isEmpty() && !rects[1].isEmpty()); + + SkRect devOutside, devInside; + viewMatrix.mapRect(&devOutside, rects[0]); + viewMatrix.mapRect(&devInside, rects[1]); + if (devInside.isEmpty()) { + if (devOutside.isEmpty()) { + return nullptr; + } + return GrAAFillRectOp::Make(color, viewMatrix, devOutside, devOutside); + } + + return GrAAStrokeRectOp::MakeFillBetweenRects(color, viewMatrix, devOutside, devInside); +} +}; |