Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
cxfa_imagerenderer.h
Go to the documentation of this file.
1// Copyright 2018 The PDFium Authors
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_FXFA_CXFA_IMAGERENDERER_H_
8#define XFA_FXFA_CXFA_IMAGERENDERER_H_
9
10#include <memory>
11
12#include "core/fxcrt/fx_coordinates.h"
13#include "core/fxcrt/retain_ptr.h"
14#include "core/fxcrt/unowned_ptr.h"
15
17class CFX_DIBitmap;
19
21 public:
23 RetainPtr<CFX_DIBitmap> bitmap,
24 const CFX_Matrix& image_to_device);
26
27 // Returns whether to continue or not.
28 bool Start();
29 bool Continue();
30
31 private:
32 enum class State : bool { kInitial = 0, kStarted };
33
34 State m_State = State::kInitial;
35 const CFX_Matrix m_ImageMatrix;
36 UnownedPtr<CFX_RenderDevice> const m_pDevice;
37 RetainPtr<CFX_DIBitmap> const m_pBitmap;
38 std::unique_ptr<CFX_AggImageRenderer> m_DeviceHandle;
39};
40
41#endif // XFA_FXFA_CXFA_IMAGERENDERER_H_
#define DCHECK
Definition check.h:33
CFX_RenderDevice * GetRenderDevice()
constexpr CFX_Matrix()=default
CFX_PointF Transform(const CFX_PointF &point) const
CFX_Matrix GetInverse() const
constexpr CFX_Matrix(float a1, float b1, float c1, float d1, float e1, float f1)
bool IsIdentity() const
void Concat(const CFX_Matrix &right)
void AppendRect(float left, float bottom, float right, float top)
Definition cfx_path.cpp:310
constexpr CFX_RectF()=default
bool IsEmpty() const
void Deflate(float off_left, float off_top, float off_right, float off_bottom)
void Inflate(float x, float y)
CFX_RectF & operator=(const CFX_RectF &other)=default
float bottom() const
void Normalize()
bool Contains(const PointType &p) const
float right() const
StateRestorer(CFX_RenderDevice *pDevice)
bool SetClip_PathFill(const CFX_Path &path, const CFX_Matrix *pObject2Device, const CFX_FillRenderOptions &fill_options)
void Draw(CFGAS_GEGraphics *pGS, const CFX_RectF &rtWidget, const CFX_Matrix &matrix, bool forceRound)
Definition cxfa_box.cpp:186
void SetStatusBits(Mask< XFA_WidgetStatus > val)
CXFA_ContentLayoutItem * GetNext() const
bool TestStatusBits(Mask< XFA_WidgetStatus > val) const
void ClearStatusBits(Mask< XFA_WidgetStatus > val)
CXFA_EventParam(XFA_EVENTTYPE type)
CallbackIface * GetAppProvider() const
Definition cxfa_ffapp.h:146
CFWL_App * GetFWLApp() const
Definition cxfa_ffapp.h:147
CXFA_FFDoc * GetDoc() const
CXFA_LayoutProcessor * GetLayoutProcessor() const
void DisplayCaret(CXFA_FFWidget *hWidget, bool bVisible, const CFX_RectF *pRtAnchor)
CXFA_FFApp * GetApp() const
Definition cxfa_ffdoc.h:168
CXFA_FFDocView * GetDocView() const
XFA_EventError ProcessEvent(CXFA_Node *pNode, CXFA_EventParam *pParam)
bool HasEvent(CXFA_Node *pNode, XFA_EVENTTYPE eEventType)
virtual bool PtInActiveRect(const CFX_PointF &point)
void DrawBorderWithFlag(CFGAS_GEGraphics *pGS, CXFA_Box *box, const CFX_RectF &rtBorder, const CFX_Matrix &matrix, bool forceRound)
static CXFA_FFWidget * FromLayoutItem(CXFA_LayoutItem *pLayoutItem)
CFX_Matrix GetRotateMatrix() override
virtual bool PerformLayout()
const CFX_RectF & RecacheWidgetRect() const
CXFA_FFWidget * GetNextFFWidget() const
virtual bool Paste(const WideString &wsPaste)
virtual bool OnSetFocus(CXFA_FFWidget *pOldWidget)
virtual std::optional< WideString > Cut()
virtual bool OnLButtonUp(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
const CFX_RectF & GetWidgetRect() const
virtual void RenderWidget(CFGAS_GEGraphics *pGS, const CFX_Matrix &matrix, HighlightOption highlight)
virtual bool OnMouseExit()
CXFA_LayoutItem * GetParent()
void DisplayCaret(bool bVisible, const CFX_RectF *pRtAnchor) override
CXFA_FFWidget(CXFA_Node *pNode)
virtual bool OnRButtonUp(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
virtual bool Undo()
virtual bool AcceptsFocusOnButtonDown(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point, CFWL_MessageMouse::MouseCommand command)
virtual bool Redo()
virtual bool CanUndo()
virtual std::optional< WideString > Copy()
bool HasEventUnderHandler(XFA_EVENTTYPE eEventType, CXFA_FFWidgetHandler *pHandler)
virtual bool UpdateFWLData()
virtual void UpdateWidgetProperty()
virtual bool CanCopy()
bool IsAncestorOf(CXFA_FFWidget *pWidget)
virtual bool CanDeSelect()
virtual bool OnRButtonDblClk(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
bool HasVisibleStatus() const
virtual bool OnLButtonDown(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
virtual bool CanPaste()
virtual bool IsLoaded()
CFWL_App * GetFWLApp() const
CXFA_FFApp::CallbackIface * GetAppProvider()
CXFA_Node * GetNode() const
void DrawBorder(CFGAS_GEGraphics *pGS, CXFA_Box *box, const CFX_RectF &rtBorder, const CFX_Matrix &matrix)
virtual bool OnChar(uint32_t dwChar, Mask< XFA_FWL_KeyFlag > dwFlags)
virtual FormFieldType GetFormFieldType()
void GetBorderColorAndThickness(FX_ARGB *cr, float *fWidth) override
virtual void Delete()
virtual bool LoadWidget()
void SetButtonDown(bool bSet)
bool ProcessEventUnderHandler(CXFA_EventParam *params, CXFA_FFWidgetHandler *pHandler)
virtual bool OnMouseMove(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
virtual bool CanCut()
virtual CFX_RectF GetBBox(FocusOption focus)
CXFA_FFDoc * GetDoc()
CXFA_FFApp * GetApp()
virtual bool OnKeyDown(XFA_FWL_VKEYCODE dwKeyCode, Mask< XFA_FWL_KeyFlag > dwFlags)
void ModifyStatus(Mask< XFA_WidgetStatus > dwAdded, Mask< XFA_WidgetStatus > dwRemoved)
virtual bool OnLButtonDblClk(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
virtual void DeSelect()
CFX_RectF GetRectWithoutRotate()
CXFA_ContentLayoutItem * GetLayoutItem() const
virtual bool OnKillFocus(CXFA_FFWidget *pNewWidget)
CFX_PointF Rotate2Normal(const CFX_PointF &point)
virtual void SelectAll()
virtual bool OnMouseWheel(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point, const CFX_Vector &delta)
virtual bool CanDelete()
virtual pdfium::FWL_WidgetHit HitTest(const CFX_PointF &point)
virtual bool CanSelectAll()
CFX_RectF m_WidgetRect
~CXFA_FFWidget() override
CXFA_FFPageView * GetPageView() const
CXFA_FFDocView * GetDocView() const
virtual CXFA_FFField * AsField()
virtual bool CanRedo()
virtual bool OnRButtonDown(Mask< XFA_FWL_KeyFlag > dwFlags, const CFX_PointF &point)
virtual bool OnMouseEnter()
virtual WideString GetText()
CXFA_ImageRenderer(CFX_RenderDevice *device, RetainPtr< CFX_DIBitmap > bitmap, const CFX_Matrix &image_to_device)
CXFA_Node * GetFormNode() const
CXFA_LayoutItem * GetLayoutItem(CXFA_Node *pFormItem)
float GetBottomInset() const
float GetLeftInset() const
float GetTopInset() const
float GetRightInset() const
bool IsWidgetReady() const
Definition cxfa_node.h:328
CXFA_Border * GetUIBorder()
CXFA_Margin * GetMarginIfExists() const
bool HasCreatedUIWidget() const
Definition cxfa_object.h:84
FX_ARGB GetColor() const
float GetThickness() const
WideString()=default
FormFieldType
CXFA_FFWidget * GetFFWidget(CXFA_ContentLayoutItem *item)
XFA_EVENTTYPE
@ XFA_EVENT_Exit
@ XFA_EVENT_Enter
RetainPtr< CFX_DIBitmap > XFA_LoadImageFromBuffer(RetainPtr< IFX_SeekableReadStream > pImageFileRead, FXCODEC_IMAGE_TYPE type, int32_t &iImageXDpi, int32_t &iImageYDpi)
void XFA_RectWithoutMargin(CFX_RectF *rt, const CXFA_Margin *margin)
void XFA_DrawImage(CFGAS_GEGraphics *pGS, const CFX_RectF &rtImage, const CFX_Matrix &matrix, RetainPtr< CFX_DIBitmap > pDIBitmap, XFA_AttributeValue iAspect, const CFX_Size &dpi, XFA_AttributeValue iHorzAlign, XFA_AttributeValue iVertAlign)
CXFA_ContentLayoutItem * ToContentLayoutItem(CXFA_LayoutItem *item)
CFX_VTemplate< int32_t > CFX_Vector
CFX_PTemplate< float > CFX_PointF
CFX_STemplate< int32_t > CFX_Size
uint32_t FX_ARGB
Definition fx_dib.h:36
XFA_EventError
Definition fxfa.h:54
XFA_WidgetStatus
Definition fxfa.h:61
XFA_AttributeValue
Definition fxfa_basic.h:60
Definition heap.h:12
fxcodec::ProgressiveDecoder ProgressiveDecoder
#define CHECK(cvref)
static constexpr CFX_FillRenderOptions WindingOptions()
fxcrt::WideString WideString
Definition widestring.h:207