| // Copyright 2014 PDFium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| |
| #ifndef XFA_FDE_FDE_BRUSH_H_ |
| #define XFA_FDE_FDE_BRUSH_H_ |
| |
| #include "core/fxcrt/include/fx_system.h" |
| #include "core/fxge/include/fx_dib.h" |
| |
| #define FDE_BRUSHTYPE_Unknown -1 |
| #define FDE_BRUSHTYPE_Solid 0 |
| #define FDE_BRUSHTYPE_MAX 0 |
| |
| class IFDE_Brush { |
| public: |
| static IFDE_Brush* Create(int32_t iType); |
| virtual ~IFDE_Brush() {} |
| virtual void Release() = 0; |
| virtual int32_t GetType() const = 0; |
| }; |
| |
| class IFDE_SolidBrush : public IFDE_Brush { |
| public: |
| virtual FX_ARGB GetColor() const = 0; |
| virtual void SetColor(FX_ARGB color) = 0; |
| virtual const CFX_Matrix& GetMatrix() const = 0; |
| virtual void ResetMatrix() = 0; |
| virtual void TranslateMatrix(FX_FLOAT dx, FX_FLOAT dy) = 0; |
| virtual void RotateMatrix(FX_FLOAT fRadian) = 0; |
| virtual void ScaleMatrix(FX_FLOAT sx, FX_FLOAT sy) = 0; |
| virtual void ConcatMatrix(const CFX_Matrix& matrix) = 0; |
| virtual void SetMatrix(const CFX_Matrix& matrix) = 0; |
| }; |
| |
| #endif // XFA_FDE_FDE_BRUSH_H_ |