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