gfx/skia/trunk/src/animator/SkDisplayable.h

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     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  */
    10 #ifndef SkDisplayable_DEFINED
    11 #define SkDisplayable_DEFINED
    13 #include "SkOperand.h"
    14 #ifdef SK_DEBUG
    15 #include "SkString.h"
    16 #endif
    17 #include "SkIntArray.h"
    18 #include "SkRect.h"
    19 #include "SkTDArray.h"
    21 class SkAnimateMaker;
    22 class SkApply;
    23 class SkEvents;
    24 struct SkMemberInfo;
    25 struct SkScriptValue;
    26 class SkOpArray; // compiled scripting experiment
    27 union SkOperand2; // compiled scripting experiment
    29 class SkDisplayable {
    30 public:
    31 #ifdef SK_DEBUG
    32     SkDisplayable();
    33 #endif
    34     virtual ~SkDisplayable();
    35     virtual bool addChild(SkAnimateMaker& , SkDisplayable* child);
    36     virtual bool canContainDependents() const;
    37     virtual bool childrenNeedDisposing() const;
    38     virtual void clearBounder();
    39     virtual bool contains(SkDisplayable* );
    40     virtual SkDisplayable* contains(const SkString& );
    41     virtual SkDisplayable* deepCopy(SkAnimateMaker* );
    42     virtual void dirty();
    43 #ifdef SK_DUMP_ENABLED
    44     virtual void dump(SkAnimateMaker* );
    45     void dumpAttrs(SkAnimateMaker* );
    46     void dumpBase(SkAnimateMaker* );
    47     void dumpChildren(SkAnimateMaker* maker, bool closedAngle = false );
    48     void dumpEnd(SkAnimateMaker* );
    49     virtual void dumpEvents();
    50 #endif
    51     virtual bool enable( SkAnimateMaker& );
    52     virtual void enableBounder();
    53     virtual void executeFunction(SkDisplayable* , int functionIndex,
    54         SkTDArray<SkScriptValue>& , SkDisplayTypes , SkScriptValue* );
    55     void executeFunction(SkDisplayable* , const SkMemberInfo* ,
    56         SkTypedArray* , SkScriptValue* );
    57     virtual void executeFunction2(SkDisplayable* , int functionIndex,
    58         SkOpArray* params , SkDisplayTypes , SkOperand2* ); // compiled scripting experiment
    59     virtual void getBounds(SkRect* );
    60     virtual const SkFunctionParamType* getFunctionsParameters();
    61     virtual const SkMemberInfo* getMember(int index);
    62     virtual const SkMemberInfo* getMember(const char name[]);
    63     const SkFunctionParamType* getParameters(const SkMemberInfo* info,
    64         int* paramCount);
    65     virtual SkDisplayable* getParent() const;
    66     virtual bool getProperty(int index, SkScriptValue* value) const;
    67     virtual bool getProperty2(int index, SkOperand2* value) const;    // compiled scripting experiment
    68     virtual SkDisplayTypes getType() const;
    69     virtual bool hasEnable() const;
    70     bool isAnimate() const {
    71         SkDisplayTypes type = getType();
    72         return type == SkType_Animate || type == SkType_Set; }
    73     bool isApply() const { return getType() == SkType_Apply; }
    74     bool isColor() const { return getType() == SkType_Color; }
    75     virtual bool isDrawable() const;
    76     bool isGroup() const { return getType() == SkType_Group ||
    77         getType() == SkType_Save || getType() == SkType_DrawTo ||
    78         getType() == SkType_SaveLayer; }
    79     bool isMatrix() const { return getType() == SkType_Matrix; }
    80     virtual bool isPaint() const { return getType() == SkType_Paint; }
    81     virtual bool isPath() const { return false; }
    82     bool isPost() const { return getType() == SkType_Post; }
    83     virtual void onEndElement(SkAnimateMaker& );
    84     virtual const SkMemberInfo* preferredChild(SkDisplayTypes type);
    85     virtual bool resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* );
    86     virtual void setChildHasID();
    87     virtual bool setParent(SkDisplayable* );
    88     virtual bool setProperty(int index, SkScriptValue& );
    89     void setReference(const SkMemberInfo* info, SkDisplayable* ref);
    90 #ifdef SK_DEBUG
    91     bool isDataInput() const { return getType() == SkType_DataInput; };
    92     bool isEvent() const { return getType() == SkType_Event; }
    93     virtual bool isMatrixPart() const { return false; }
    94     bool isPatch() const { return getType() == SkType_3D_Patch; }
    95     virtual bool isPaintPart() const { return false; }
    96     virtual bool isPathPart() const { return false; }
    97     virtual void validate();
    98     SkString _id;
    99     const char* id;
   100 //  static int fAllocationCount;
   101     static SkTDDisplayableArray fAllocations;
   102 #else
   103     void validate() {}
   104 #endif
   105 #ifdef SK_DUMP_ENABLED
   106 private:
   107     void dumpValues(const SkMemberInfo* info, SkDisplayTypes type, SkOperand op, SkOperand blankOp,
   108         SkOperand op2, SkOperand blankOp2);
   109 #endif
   110 };
   112 #endif // SkDisplayable_DEFINED

mercurial