Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Unified Diff: skia/animator/SkScript.h

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/animator/SkSVGPath.cpp ('k') | skia/animator/SkScript.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/animator/SkScript.h
===================================================================
--- skia/animator/SkScript.h (revision 16859)
+++ skia/animator/SkScript.h (working copy)
@@ -1,274 +0,0 @@
-/* libs/graphics/animator/SkScript.h
-**
-** Copyright 2006, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-** http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
-
-#ifndef SkScript_DEFINED
-#define SkScript_DEFINED
-
-#include "SkOperand.h"
-#include "SkIntArray.h"
-#include "SkTDict.h"
-#include "SkTDStack.h"
-
-class SkAnimateMaker;
-
-class SkScriptEngine {
-public:
- enum Error {
- kNoError,
- kArrayIndexOutOfBounds,
- kCouldNotFindReferencedID,
- kDotOperatorExpectsObject,
- kErrorInArrrayIndex,
- kErrorInFunctionParameters,
- kExpectedArray,
- kExpectedBooleanExpression,
- kExpectedFieldName,
- kExpectedHex,
- kExpectedIntForConditionOperator,
- kExpectedNumber,
- kExpectedNumberForArrayIndex,
- kExpectedOperator,
- kExpectedToken,
- kExpectedTokenBeforeDotOperator,
- kExpectedValue,
- kHandleMemberFailed,
- kHandleMemberFunctionFailed,
- kHandleUnboxFailed,
- kIndexOutOfRange,
- kMismatchedArrayBrace,
- kMismatchedBrackets,
- kNoFunctionHandlerFound,
- kPrematureEnd,
- kTooManyParameters,
- kTypeConversionFailed,
- kUnterminatedString
- };
-
- enum SkOpType {
- kNoType,
- kInt = 1,
- kScalar = 2,
- kString = 4,
- kArray = 8,
- kObject = 16
-// kStruct = 32
- };
-
- typedef bool (*_boxCallBack)(void* userStorage, SkScriptValue* result);
- typedef bool (*_functionCallBack)(const char* func, size_t len, SkTDArray<SkScriptValue>& params,
- void* userStorage, SkScriptValue* result);
- typedef bool (*_memberCallBack)(const char* member, size_t len, void* object,
- void* userStorage, SkScriptValue* result);
- typedef bool (*_memberFunctionCallBack)(const char* member, size_t len, void* object,
- SkTDArray<SkScriptValue>& params, void* userStorage, SkScriptValue* result);
-// typedef bool (*_objectToStringCallBack)(void* object, void* userStorage, SkScriptValue* result);
- typedef bool (*_propertyCallBack)(const char* prop, size_t len, void* userStorage, SkScriptValue* result);
- typedef bool (*_unboxCallBack)(void* userStorage, SkScriptValue* result);
- SkScriptEngine(SkOpType returnType);
- ~SkScriptEngine();
- void boxCallBack(_boxCallBack func, void* userStorage);
- bool convertTo(SkDisplayTypes , SkScriptValue* );
- bool evaluateScript(const char** script, SkScriptValue* value);
- void forget(SkTypedArray* array);
- void functionCallBack(_functionCallBack func, void* userStorage);
- Error getError() const { return fError; }
-#ifdef SK_DEBUG
- bool getErrorString(SkString* err) const;
-#endif
- void memberCallBack(_memberCallBack , void* userStorage);
- void memberFunctionCallBack(_memberFunctionCallBack , void* userStorage);
-// void objectToStringCallBack(_objectToStringCallBack , void* userStorage);
- void propertyCallBack(_propertyCallBack prop, void* userStorage);
- void track(SkTypedArray* array);
- void track(SkString* string);
- void unboxCallBack(_unboxCallBack func, void* userStorage);
- static bool ConvertTo(SkScriptEngine* , SkDisplayTypes toType, SkScriptValue* value);
- static SkScalar IntToScalar(int32_t );
- static SkDisplayTypes ToDisplayType(SkOpType type);
- static SkOpType ToOpType(SkDisplayTypes type);
- static bool ValueToString(SkScriptValue value, SkString* string);
-
- enum CallBackType {
- kBox,
- kFunction,
- kMember,
- kMemberFunction,
- // kObjectToString,
- kProperty,
- kUnbox
- };
-
- struct UserCallBack {
- CallBackType fCallBackType;
- void* fUserStorage;
- union {
- _boxCallBack fBoxCallBack;
- _functionCallBack fFunctionCallBack;
- _memberCallBack fMemberCallBack;
- _memberFunctionCallBack fMemberFunctionCallBack;
- // _objectToStringCallBack fObjectToStringCallBack;
- _propertyCallBack fPropertyCallBack;
- _unboxCallBack fUnboxCallBack;
- };
- };
-
- enum SkOp {
- kUnassigned,
- kAdd,
- kAddInt = kAdd,
- kAddScalar,
- kAddString, // string concat
- kArrayOp,
- kBitAnd,
- kBitNot,
- kBitOr,
- kDivide,
- kDivideInt = kDivide,
- kDivideScalar,
- kElse,
- kEqual,
- kEqualInt = kEqual,
- kEqualScalar,
- kEqualString,
- kFlipOps,
- kGreaterEqual,
- kGreaterEqualInt = kGreaterEqual,
- kGreaterEqualScalar,
- kGreaterEqualString,
- kIf,
- kLogicalAnd,
- kLogicalNot,
- kLogicalOr,
- kMinus,
- kMinusInt = kMinus,
- kMinusScalar,
- kModulo,
- kModuloInt = kModulo,
- kModuloScalar,
- kMultiply,
- kMultiplyInt = kMultiply,
- kMultiplyScalar,
- kParen,
- kShiftLeft,
- kShiftRight, // signed
- kSubtract,
- kSubtractInt = kSubtract,
- kSubtractScalar,
- kXor,
- kArtificialOp = 0x40
- };
-
- enum SkOpBias {
- kNoBias,
- kTowardsNumber = 0,
- kTowardsString
- };
-
-protected:
-
- struct SkOperatorAttributes {
- unsigned int fLeftType : 3; // SkOpType, but only lower values
- unsigned int fRightType : 3; // SkOpType, but only lower values
- SkOpBias fBias : 1;
- };
-
- struct SkSuppress { // !!! could be compressed to a long
- SkOp fOperator; // operand which enabled suppression
- int fOpStackDepth; // depth when suppression operator was found
- SkBool8 fSuppress; // set if suppression happens now, as opposed to later
- SkBool8 fElse; // set on the : half of ? :
- };
-
- static const SkOperatorAttributes gOpAttributes[];
- static const signed char gPrecedence[];
- int arithmeticOp(char ch, char nextChar, bool lastPush);
- void commonCallBack(CallBackType type, UserCallBack& callBack, void* userStorage);
- bool convertParams(SkTDArray<SkScriptValue>&, const SkFunctionParamType* ,
- int paramTypeCount);
- void convertToString(SkOperand& operand, SkDisplayTypes type) {
- SkScriptValue scriptValue;
- scriptValue.fOperand = operand;
- scriptValue.fType = type;
- convertTo(SkType_String, &scriptValue);
- operand = scriptValue.fOperand;
- }
- bool evaluateDot(const char*& script, bool suppressed);
- bool evaluateDotParam(const char*& script, bool suppressed, const char* field, size_t fieldLength);
- bool functionParams(const char** scriptPtr, SkTDArray<SkScriptValue>& params);
- bool handleArrayIndexer(const char** scriptPtr, bool suppressed);
- bool handleBox(SkScriptValue* value);
- bool handleFunction(const char** scriptPtr, bool suppressed);
- bool handleMember(const char* field, size_t len, void* object);
- bool handleMemberFunction(const char* field, size_t len, void* object, SkTDArray<SkScriptValue>& params);
-// bool handleObjectToString(void* object);
- bool handleProperty(bool suppressed);
- bool handleUnbox(SkScriptValue* scriptValue);
- bool innerScript(const char** scriptPtr, SkScriptValue* value);
- int logicalOp(char ch, char nextChar);
- Error opError();
- bool processOp();
- void setAnimateMaker(SkAnimateMaker* maker) { fMaker = maker; }
- bool setError(Error , const char* pos);
- enum SkBraceStyle {
- // kStructBrace,
- kArrayBrace,
- kFunctionBrace
- };
-
-#if 0
- SkIntArray(SkBraceStyle) fBraceStack; // curly, square, function paren
- SkIntArray(SkOp) fOpStack;
- SkIntArray(SkOpType) fTypeStack;
- SkTDOperandArray fOperandStack;
- SkTDArray<SkSuppress> fSuppressStack;
-#else
- SkTDStack<SkBraceStyle> fBraceStack; // curly, square, function paren
- SkTDStack<SkOp> fOpStack;
- SkTDStack<SkOpType> fTypeStack;
- SkTDStack<SkOperand> fOperandStack;
- SkTDStack<SkSuppress> fSuppressStack;
-#endif
- SkAnimateMaker* fMaker;
- SkTDTypedArrayArray fTrackArray;
- SkTDStringArray fTrackString;
- const char* fToken; // one-deep stack
- size_t fTokenLength;
- SkTDArray<UserCallBack> fUserCallBacks;
- SkOpType fReturnType;
- Error fError;
- int fErrorPosition;
-private:
- friend class SkTypedArray;
-#ifdef SK_SUPPORT_UNITTEST
-public:
- static void UnitTest();
-#endif
-};
-
-#ifdef SK_SUPPORT_UNITTEST
-
-struct SkScriptNAnswer {
- const char* fScript;
- SkDisplayTypes fType;
- int32_t fIntAnswer;
- SkScalar fScalarAnswer;
- const char* fStringAnswer;
-};
-
-#endif
-
-#endif // SkScript_DEFINED
« no previous file with comments | « skia/animator/SkSVGPath.cpp ('k') | skia/animator/SkScript.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698