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 
SkTextOnPath()29 SkTextOnPath::SkTextOnPath() : offset(0), path(nullptr), text(nullptr) {
30 }
31 
draw(SkAnimateMaker & maker)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