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 "SkDrawText.h" 11#include "SkAnimateMaker.h" 12#include "SkCanvas.h" 13#include "SkPaint.h" 14 15enum SkText_Properties { 16 SK_PROPERTY(length) 17}; 18 19#if SK_USE_CONDENSED_INFO == 0 20 21const SkMemberInfo SkText::fInfo[] = { 22 SK_MEMBER_PROPERTY(length, Int), 23 SK_MEMBER(text, String), 24 SK_MEMBER(x, Float), 25 SK_MEMBER(y, Float) 26}; 27 28#endif 29 30DEFINE_GET_MEMBER(SkText); 31 32SkText::SkText() : x(0), y(0) { 33} 34 35SkText::~SkText() { 36} 37 38bool SkText::draw(SkAnimateMaker& maker) { 39 SkBoundableAuto boundable(this, maker); 40 maker.fCanvas->drawText(text.c_str(), text.size(), x, y, *maker.fPaint); 41 return false; 42} 43 44#ifdef SK_DUMP_ENABLED 45void SkText::dump(SkAnimateMaker* maker) { 46 INHERITED::dump(maker); 47} 48#endif 49 50bool SkText::getProperty(int index, SkScriptValue* value) const { 51 SkASSERT(index == SK_PROPERTY(length)); 52 value->fType = SkType_Int; 53 value->fOperand.fS32 = (int32_t) text.size(); 54 return true; 55} 56