123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkDrawProcs_DEFINED
- #define SkDrawProcs_DEFINED
- #include "src/core/SkDraw.h"
- #include "src/core/SkGlyph.h"
- bool SkDrawTreatAAStrokeAsHairline(SkScalar strokeWidth, const SkMatrix&,
- SkScalar* coverage);
- /**
- * If the current paint is set to stroke and the stroke-width when applied to
- * the matrix is <= 1.0, then this returns true, and sets coverage (simulating
- * a stroke by drawing a hairline with partial coverage). If any of these
- * conditions are false, then this returns false and coverage is ignored.
- */
- inline bool SkDrawTreatAsHairline(const SkPaint& paint, const SkMatrix& matrix,
- SkScalar* coverage) {
- if (SkPaint::kStroke_Style != paint.getStyle()) {
- return false;
- }
- SkScalar strokeWidth = paint.getStrokeWidth();
- if (0 == strokeWidth) {
- *coverage = SK_Scalar1;
- return true;
- }
- if (!paint.isAntiAlias()) {
- return false;
- }
- return SkDrawTreatAAStrokeAsHairline(strokeWidth, matrix, coverage);
- }
- #endif
|