11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#ifndef SkStrokerPriv_DEFINED 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define SkStrokerPriv_DEFINED 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkStroke.h" 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define CWX(x, y) (-y) 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define CWY(x, y) (x) 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define CCWX(x, y) (y) 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define CCWY(x, y) (-x) 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define CUBIC_ARC_FACTOR ((SK_ScalarSqrt2 - SK_Scalar1) * 4 / 3) 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectclass SkStrokerPriv { 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectpublic: 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project typedef void (*CapProc)(SkPath* path, 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkPoint& pivot, 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkVector& normal, 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkPoint& stop, 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkPath* otherPath); 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project typedef void (*JoinProc)(SkPath* outer, SkPath* inner, 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkVector& beforeUnitNormal, 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkPoint& pivot, 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project const SkVector& afterUnitNormal, 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkScalar radius, SkScalar invMiterLimit, 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project bool prevIsLine, bool currIsLine); 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project static CapProc CapFactory(SkPaint::Cap); 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project static JoinProc JoinFactory(SkPaint::Join); 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 43