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#include "SkTextOnPath.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkAnimateMaker.h" 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkCanvas.h" 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDrawPath.h" 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDrawText.h" 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkPaint.h" 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if SK_USE_CONDENSED_INFO == 0 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkMemberInfo SkTextOnPath::fInfo[] = { 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(offset, Float), 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(path, Path), 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(text, Text) 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_GET_MEMBER(SkTextOnPath); 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkTextOnPath::SkTextOnPath() : offset(0), path(NULL), text(NULL) { 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkTextOnPath::draw(SkAnimateMaker& maker) { 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkASSERT(text); 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkASSERT(path); 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkBoundableAuto boundable(this, maker); 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project maker.fCanvas->drawTextOnPathHV(text->getText(), text->getSize(), 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project path->getPath(), offset, 0, *maker.fPaint); 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return false; 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 40