1 2 /* 3 * Copyright 2006 The Android Open Source Project 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 10 #include "SkTextOnPath.h" 11 #include "SkAnimateMaker.h" 12 #include "SkCanvas.h" 13 #include "SkDrawPath.h" 14 #include "SkDrawText.h" 15 #include "SkPaint.h" 16 17 #if SK_USE_CONDENSED_INFO == 0 18 19 const SkMemberInfo SkTextOnPath::fInfo[] = { 20 SK_MEMBER(offset, Float), 21 SK_MEMBER(path, Path), 22 SK_MEMBER(text, Text) 23 }; 24 25 #endif 26 27 DEFINE_GET_MEMBER(SkTextOnPath); 28 29 SkTextOnPath::SkTextOnPath() : offset(0), path(NULL), text(NULL) { 30 } 31 32 bool SkTextOnPath::draw(SkAnimateMaker& maker) { 33 SkASSERT(text); 34 SkASSERT(path); 35 SkBoundableAuto boundable(this, maker); 36 maker.fCanvas->drawTextOnPathHV(text->getText(), text->getSize(), 37 path->getPath(), offset, 0, *maker.fPaint); 38 return false; 39 } 40