180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru/*
380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Copyright 2006 The Android Open Source Project
480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru *
580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * Use of this source code is governed by a BSD-style license that can be
680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru * found in the LICENSE file.
780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru */
880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#ifndef SkDisplayMath_DEFINED
1180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#define SkDisplayMath_DEFINED
1280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkDisplayable.h"
1480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkMemberInfo.h"
1580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#include "SkRandom.h"
1680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
1780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruclass SkDisplayMath : public SkDisplayable {
1880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    DECLARE_DISPLAY_MEMBER_INFO(Math);
1980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual void executeFunction(SkDisplayable* , int index,
2080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru        SkTDArray<SkScriptValue>& parameters, SkDisplayTypes type,
2180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru        SkScriptValue* );
2280bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual const SkFunctionParamType* getFunctionsParameters();
2380bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    virtual bool getProperty(int index, SkScriptValue* value) const;
2480bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queruprivate:
2580bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    mutable SkRandom fRandom;
2680bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    static const SkScalar gConstants[];
2780bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru    static const SkFunctionParamType fFunctionParameters[];
2880bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
2980bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru};
3080bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru
3180bacfeb4bda06541e8695bd502229727bccfeaJean-Baptiste Queru#endif // SkDisplayMath_DEFINED
32