11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDisplayNumber.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectenum SkDisplayNumber_Properties { 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_PROPERTY(MAX_VALUE), 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_PROPERTY(MIN_VALUE), 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_PROPERTY(NEGATIVE_INFINITY), 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_PROPERTY(NaN), 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_PROPERTY(POSITIVE_INFINITY) 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if SK_USE_CONDENSED_INFO == 0 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkMemberInfo SkDisplayNumber::fInfo[] = { 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER_PROPERTY(MAX_VALUE, Float), 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER_PROPERTY(MIN_VALUE, Float), 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER_PROPERTY(NEGATIVE_INFINITY, Float), 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER_PROPERTY(NaN, Float), 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER_PROPERTY(POSITIVE_INFINITY, Float) 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_GET_MEMBER(SkDisplayNumber); 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectbool SkDisplayNumber::getProperty(int index, SkScriptValue* value) const { 350910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkScalar constant; 360910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project switch (index) { 370910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project case SK_PROPERTY(MAX_VALUE): 380910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project constant = SK_ScalarMax; 390910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project break; 400910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project case SK_PROPERTY(MIN_VALUE): 410910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project constant = SK_ScalarMin; 420910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project break; 430910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project case SK_PROPERTY(NEGATIVE_INFINITY): 440910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project constant = -SK_ScalarInfinity; 450910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project break; 460910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project case SK_PROPERTY(NaN): 470910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project constant = SK_ScalarNaN; 480910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project break; 490910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project case SK_PROPERTY(POSITIVE_INFINITY): 500910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project constant = SK_ScalarInfinity; 510910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project break; 520910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project default: 530910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SkASSERT(0); 540910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return false; 550910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project } 560910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project value->fOperand.fScalar = constant; 570910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project value->fType = SkType_Float; 580910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return true; 590910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 60