7#ifndef XFA_FGAS_GRAPHICS_CFGAS_GESHADING_H_
8#define XFA_FGAS_GRAPHICS_CFGAS_GESHADING_H_
14#include "core/fxcrt/fx_coordinates.h"
15#include "core/fxge/dib/fx_dib.h"
17class CFGAS_GEShading
final {
49 return m_argbArray[
static_cast<size_t>(value * (kSteps - 1))];
53 static constexpr size_t kSteps = 256;
60 const float m_beginRadius;
61 const float m_endRadius;
62 const bool m_isExtendedBegin;
63 const bool m_isExtendedEnd;
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
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
FX_ARGB GetArgb(float value) const
float GetEndRadius() const
CFX_PointF GetBeginPoint() const
bool IsExtendedBegin() const
bool Attach(RetainPtr< CFX_DIBitmap > pBitmap)
FX_RECT ToRoundedFxRect() const
constexpr CFX_Matrix()=default
CFX_FloatRect TransformRect(const CFX_FloatRect &rect) const
constexpr 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)
CFX_PTemplate< float > CFX_PointF
constexpr CFX_FillRenderOptions(FillType fill_type)