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#ifndef SkDisplayMath_DEFINED
110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#define SkDisplayMath_DEFINED
120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDisplayable.h"
140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkMemberInfo.h"
150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkRandom.h"
160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectclass SkDisplayMath : public SkDisplayable {
180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    DECLARE_DISPLAY_MEMBER_INFO(Math);
190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    virtual void executeFunction(SkDisplayable* , int index,
200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        SkTDArray<SkScriptValue>& parameters, SkDisplayTypes type,
210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project        SkScriptValue* );
220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    virtual const SkFunctionParamType* getFunctionsParameters();
230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    virtual bool getProperty(int index, SkScriptValue* value) const;
240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectprivate:
250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    mutable SkRandom fRandom;
260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    static const SkScalar gConstants[];
270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project    static const SkFunctionParamType fFunctionParameters[];
280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project};
300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif // SkDisplayMath_DEFINED
320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project
33