OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 |
| 7 #ifndef XFA_FXGRAPHICS_CFX_SHADING_H_ |
| 8 #define XFA_FXGRAPHICS_CFX_SHADING_H_ |
| 9 |
| 10 #include "core/include/fxcrt/fx_coordinates.h" |
| 11 #include "core/include/fxcrt/fx_system.h" |
| 12 #include "core/include/fxge/fx_dib.h" |
| 13 |
| 14 #define FX_SHADING_Steps 256 |
| 15 |
| 16 enum CFX_Shading_Type { FX_SHADING_Axial = 1, FX_SHADING_Radial }; |
| 17 |
| 18 class CFX_Shading { |
| 19 public: |
| 20 // Axial shading. |
| 21 CFX_Shading(const CFX_PointF& beginPoint, |
| 22 const CFX_PointF& endPoint, |
| 23 FX_BOOL isExtendedBegin, |
| 24 FX_BOOL isExtendedEnd, |
| 25 const FX_ARGB beginArgb, |
| 26 const FX_ARGB endArgb); |
| 27 |
| 28 // Radial shading. |
| 29 CFX_Shading(const CFX_PointF& beginPoint, |
| 30 const CFX_PointF& endPoint, |
| 31 const FX_FLOAT beginRadius, |
| 32 const FX_FLOAT endRadius, |
| 33 FX_BOOL isExtendedBegin, |
| 34 FX_BOOL isExtendedEnd, |
| 35 const FX_ARGB beginArgb, |
| 36 const FX_ARGB endArgb); |
| 37 virtual ~CFX_Shading(); |
| 38 |
| 39 private: |
| 40 friend class CFX_Graphics; |
| 41 |
| 42 void InitArgbArray(); |
| 43 |
| 44 const CFX_Shading_Type m_type; |
| 45 const CFX_PointF m_beginPoint; |
| 46 const CFX_PointF m_endPoint; |
| 47 const FX_FLOAT m_beginRadius; |
| 48 const FX_FLOAT m_endRadius; |
| 49 const FX_BOOL m_isExtendedBegin; |
| 50 const FX_BOOL m_isExtendedEnd; |
| 51 const FX_ARGB m_beginArgb; |
| 52 const FX_ARGB m_endArgb; |
| 53 FX_ARGB m_argbArray[FX_SHADING_Steps]; |
| 54 }; |
| 55 |
| 56 #endif // XFA_FXGRAPHICS_CFX_SHADING_H_ |
OLD | NEW |