7#ifndef XFA_FGAS_GRAPHICS_CFGAS_GESHADING_H_
8#define XFA_FGAS_GRAPHICS_CFGAS_GESHADING_H_
12#include "core/fxcrt/fx_coordinates.h"
13#include "core/fxge/dib/fx_dib.h"
15class CFGAS_GEShading
final {
23 const CFX_PointF& endPoint,
31 const CFX_PointF& endPoint,
48 FX_ARGB
GetArgb(size_t index)
const {
return m_argbArray[index]; }
51 void InitArgbArray(FX_ARGB beginArgb, FX_ARGB endArgb);
54 const CFX_PointF m_beginPoint;
55 const CFX_PointF m_endPoint;
56 const float m_beginRadius;
57 const float m_endRadius;
58 const bool m_isExtendedBegin;
59 const bool m_isExtendedEnd;
60 FX_ARGB m_argbArray[kSteps];
StateRestorer(CFGAS_GEGraphics *graphics)
void FillPath(const CFGAS_GEPath &path, CFX_FillRenderOptions::FillType fill_type, const CFX_Matrix &matrix)
void SetLineDash(float dashPhase, pdfium::span< const float > dashArray)
void SetLineWidth(float lineWidth)
CFX_RenderDevice * GetRenderDevice()
CFGAS_GEGraphics(CFX_RenderDevice *renderDevice)
void SetClipRect(const CFX_RectF &rect)
void SetStrokeColor(const CFGAS_GEColor &color)
void ConcatMatrix(const CFX_Matrix &matrix)
const CFX_Matrix * GetMatrix() const
CFX_RectF GetClipRect() const
void SetLineCap(CFX_GraphStateData::LineCap lineCap)
void SetFillColor(const CFGAS_GEColor &color)
void StrokePath(const CFGAS_GEPath &path, const CFX_Matrix &matrix)
const CFX_Path & GetPath() const
CFGAS_GEPattern(HatchStyle hatchStyle, FX_ARGB foreArgb, FX_ARGB backArgb)
FX_ARGB GetForeArgb() const
FX_ARGB GetBackArgb() const
HatchStyle GetHatchStyle() const
bool IsExtendedEnd() const
FX_ARGB GetArgb(size_t index) const
CFGAS_GEShading(const CFX_PointF &beginPoint, const CFX_PointF &endPoint, bool isExtendedBegin, bool isExtendedEnd, FX_ARGB beginArgb, FX_ARGB endArgb)
CFGAS_GEShading(const CFX_PointF &beginPoint, const CFX_PointF &endPoint, float beginRadius, float endRadius, bool isExtendedBegin, bool isExtendedEnd, FX_ARGB beginArgb, FX_ARGB endArgb)
CFX_PointF GetEndPoint() const
float GetBeginRadius() const
float GetEndRadius() const
CFX_PointF GetBeginPoint() const
bool IsExtendedBegin() const
static constexpr size_t kSteps
bool Attach(RetainPtr< CFX_DIBitmap > pBitmap)
FX_RECT ToRoundedFxRect() const
CFX_FloatRect TransformRect(const CFX_FloatRect &rect) const
CFX_Matrix(float a1, float b1, float c1, float d1, float e1, float f1)
void Concat(const CFX_Matrix &right)
CFX_FloatRect GetBoundingBox() const
constexpr CFX_RectF(float dst_left, float dst_top, float dst_width, float dst_height)
constexpr CFX_FillRenderOptions(FillType fill_type)