|  |  | 
|  | /* | 
|  | * Copyright 2006 The Android Open Source Project | 
|  | * | 
|  | * Use of this source code is governed by a BSD-style license that can be | 
|  | * found in the LICENSE file. | 
|  | */ | 
|  |  | 
|  |  | 
|  | #include "SkDrawText.h" | 
|  | #include "SkAnimateMaker.h" | 
|  | #include "SkCanvas.h" | 
|  | #include "SkPaint.h" | 
|  |  | 
|  | enum SkText_Properties { | 
|  | SK_PROPERTY(length) | 
|  | }; | 
|  |  | 
|  | #if SK_USE_CONDENSED_INFO == 0 | 
|  |  | 
|  | const SkMemberInfo SkText::fInfo[] = { | 
|  | SK_MEMBER_PROPERTY(length, Int), | 
|  | SK_MEMBER(text, String), | 
|  | SK_MEMBER(x, Float), | 
|  | SK_MEMBER(y, Float) | 
|  | }; | 
|  |  | 
|  | #endif | 
|  |  | 
|  | DEFINE_GET_MEMBER(SkText); | 
|  |  | 
|  | SkText::SkText() : x(0), y(0) { | 
|  | } | 
|  |  | 
|  | SkText::~SkText() { | 
|  | } | 
|  |  | 
|  | bool SkText::draw(SkAnimateMaker& maker) { | 
|  | SkBoundableAuto boundable(this, maker); | 
|  | maker.fCanvas->drawText(text.c_str(), text.size(), x, y, *maker.fPaint); | 
|  | return false; | 
|  | } | 
|  |  | 
|  | #ifdef SK_DUMP_ENABLED | 
|  | void SkText::dump(SkAnimateMaker* maker) { | 
|  | INHERITED::dump(maker); | 
|  | } | 
|  | #endif | 
|  |  | 
|  | bool SkText::getProperty(int index, SkScriptValue* value) const { | 
|  | SkASSERT(index == SK_PROPERTY(length)); | 
|  | value->fType = SkType_Int; | 
|  | value->fOperand.fS32 = (int32_t) text.size(); | 
|  | return true; | 
|  | } |