| |
| /* |
| * Copyright 2006 The Android Open Source Project |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| |
| #ifndef SkDrawPaint_DEFINED |
| #define SkDrawPaint_DEFINED |
| |
| #include "SkADrawable.h" |
| #include "SkIntArray.h" |
| #include "SkMemberInfo.h" |
| #include "SkPaint.h" |
| #include "SkXfermode.h" |
| |
| class SkDrawMaskFilter; |
| class SkDrawPathEffect; |
| class SkDrawShader; |
| class SkTransferMode; |
| class SkDrawTypeface; |
| |
| class SkDrawPaint : public SkADrawable { |
| DECLARE_DRAW_MEMBER_INFO(Paint); |
| SkDrawPaint(); |
| virtual ~SkDrawPaint(); |
| virtual bool add(SkAnimateMaker* , SkDisplayable* child); |
| SkDisplayable* deepCopy(SkAnimateMaker* ) override; |
| bool draw(SkAnimateMaker& ) override; |
| #ifdef SK_DUMP_ENABLED |
| void dump(SkAnimateMaker* ) override; |
| #endif |
| void executeFunction(SkDisplayable* target, int index, |
| SkTDArray<SkScriptValue>& parameters, SkDisplayTypes type, |
| SkScriptValue* ) override; |
| const SkFunctionParamType* getFunctionsParameters() override; |
| bool getProperty(int index, SkScriptValue* value) const override; |
| bool resolveIDs(SkAnimateMaker& maker, SkDisplayable* original, SkApply* apply) override; |
| protected: |
| static const SkFunctionParamType fFunctionParameters[]; |
| void setupPaint(SkPaint* paint) const; |
| public: |
| SkBool antiAlias; |
| SkDrawColor* color; |
| SkBool fakeBold; |
| SkBool filterBitmap; |
| SkBool linearText; |
| SkDrawMaskFilter* maskFilter; |
| SkDrawPathEffect* pathEffect; |
| SkDrawShader* shader; |
| SkBool strikeThru; |
| SkBool stroke; |
| int /*SkPaint::Cap*/ strokeCap; |
| int /*SkPaint::Join */ strokeJoin; |
| SkScalar strokeMiter; |
| SkScalar strokeWidth; |
| int /* SkPaint::Style */ style; |
| int /* SkPaint::Align */ textAlign; |
| SkScalar textScaleX; |
| SkScalar textSize; |
| SkScalar textSkewX; |
| SkDrawTypeface* typeface; |
| SkBool underline; |
| int /*SkXfermode::Modes*/ xfermode; |
| SkBool8 fOwnsColor; |
| SkBool8 fOwnsMaskFilter; |
| SkBool8 fOwnsPathEffect; |
| SkBool8 fOwnsShader; |
| SkBool8 fOwnsTransferMode; |
| SkBool8 fOwnsTypeface; |
| private: |
| typedef SkADrawable INHERITED; |
| friend class SkTextToPath; |
| friend class SkSaveLayer; |
| }; |
| |
| #endif // SkDrawPaint_DEFINED |