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
text_glyph_pos.h
Go to the documentation of this file.
1// Copyright 2019 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 CORE_FXGE_TEXT_GLYPH_POS_H_
8#define CORE_FXGE_TEXT_GLYPH_POS_H_
9
10#include "core/fxcrt/fx_coordinates.h"
11
12#include "core/fxcrt/unowned_ptr.h"
13#include "third_party/abseil-cpp/absl/types/optional.h"
14
15class CFX_GlyphBitmap;
16
18 public:
22
23 absl::optional<CFX_Point> GetOrigin(const CFX_Point& offset) const;
24
26 CFX_Point m_Origin;
27 CFX_PointF m_fDeviceOrigin;
28};
29
30#endif // CORE_FXGE_TEXT_GLYPH_POS_H_
bool Create(int width, int height, FXDIB_Format format, RetainPtr< CFX_DIBitmap > pBackdropBitmap)
bool Attach(RetainPtr< CFX_DIBitmap > pBitmap)
const RetainPtr< CFX_DIBitmap > & GetBitmap() const
CFX_GlyphBitmap(const CFX_GlyphBitmap &)=delete
CFX_GlyphBitmap(int left, int top)
CFX_GlyphBitmap & operator=(const CFX_GlyphBitmap &)=delete
CFX_Matrix & operator=(const CFX_Matrix &other)=default
CFX_Matrix & operator*=(const CFX_Matrix &other)
CFX_Matrix operator*(const CFX_Matrix &right) const
void Translate(int32_t x, int32_t y)
CFX_Matrix GetInverse() const
void Scale(float sx, float sy)
void Concat(const CFX_Matrix &right)
void AppendRect(float left, float bottom, float right, float top)
Definition cfx_path.cpp:309
bool MultiplyAlpha(float alpha)
bool MultiplyAlphaMask(const RetainPtr< const CFX_DIBBase > &mask)
bool HasRef() const
FX_COLORREF GetStrokeColorRef() const
FX_COLORREF GetFillColorRef() const
const CPDF_Color * GetStrokeColor() const
bool HasRef() const
const CPDF_Color * GetFillColor() const
bool IsPattern() const
bool IsNull() const
Definition cpdf_color.h:31
ByteString GetByteStringFor(const ByteString &key) const
CPDF_Document * GetDocument() const
Definition cpdf_font.h:128
const CPDF_Form * form() const
const CFX_Matrix & form_matrix() const
void ParseContent()
Definition cpdf_form.cpp:62
float GetStrokeAlpha() const
RetainPtr< CPDF_TransferFunc > GetTransferFunc() const
BlendMode GetBlendType() const
const CFX_Matrix * GetSMaskMatrix() const
const CPDF_ColorState & color_state() const
CPDF_ImageRenderer(CPDF_RenderStatus *pStatus)
bool Continue(PauseIndicatorIface *pPause)
bool Start(CPDF_ImageObject *pImageObject, const CFX_Matrix &mtObj2Device, bool bStdCS, BlendMode blendType)
const CPDF_Transparency & GetTransparency() const
const CPDF_GraphicStates & graphic_states() const
virtual const CPDF_PathObject * AsPath() const
void SetRect(const CFX_FloatRect &rect)
const CPDF_ColorState & color_state() const
const CPDF_GeneralState & general_state() const
virtual bool IsImage() const
const CPDF_ClipPath & clip_path() const
virtual Type GetType() const =0
CPDF_GeneralState & mutable_general_state()
FX_RECT GetTransformedBBox(const CFX_Matrix &matrix) const
virtual CPDF_ShadingObject * AsShading()
const CFX_FloatRect & GetRect() const
virtual CPDF_ImageObject * AsImage()
virtual CPDF_FormObject * AsForm()
virtual CPDF_TextObject * AsText()
const CPDF_TextState & text_state() const
virtual CPDF_PathObject * AsPath()
const CFX_GraphState & graph_state() const
virtual bool IsForm() const
CPDF_ClipPath & mutable_clip_path()
virtual bool IsPath() const
CPDF_ColorState & mutable_color_state()
bool stroke() const
void set_filltype(CFX_FillRenderOptions::FillType fill_type)
CPDF_Path & path()
const CFX_Matrix & matrix() const
CFX_FillRenderOptions::FillType filltype() const
void AppendFloatRect(const CFX_FloatRect &rect)
Definition cpdf_path.cpp:49
const CFX_Matrix & pattern_to_form() const
void SetColorMode(Type mode)
void SetDropObjects(bool bDropObjects)
void SetType3Char(CPDF_Type3Char *pType3Char)
RetainPtr< CPDF_TransferFunc > GetTransferFunc(RetainPtr< const CPDF_Object > pObject) const
void SetDeviceMatrix(const CFX_Matrix &matrix)
CPDF_RenderStatus(CPDF_RenderContext *pContext, CFX_RenderDevice *pDevice)
void SetFillColor(FX_ARGB color)
void SetOptions(const CPDF_RenderOptions &options)
void RenderSingleObject(CPDF_PageObject *pObj, const CFX_Matrix &mtObj2Device)
bool ContinueSingleObject(CPDF_PageObject *pObj, const CFX_Matrix &mtObj2Device, PauseIndicatorIface *pPause)
void SetTransparency(const CPDF_Transparency &transparency)
void RenderObjectList(const CPDF_PageObjectHolder *pObjectHolder, const CFX_Matrix &mtObj2Device)
void SetStdCS(bool bStdCS)
FX_ARGB GetFillArgbForType3(CPDF_PageObject *pObj) const
void SetGroupFamily(CPDF_ColorSpace::Family family)
void DrawShadingPattern(CPDF_ShadingPattern *pattern, const CPDF_PageObject *pPageObj, const CFX_Matrix &mtObj2Device, bool stroke)
void Initialize(const CPDF_RenderStatus *pParentStatus, const CPDF_GraphicStates *pInitialStates)
void CompositeDIBitmap(const RetainPtr< CFX_DIBitmap > &pDIBitmap, int left, int top, FX_ARGB mask_argb, float alpha, BlendMode blend_mode, const CPDF_Transparency &transparency)
void DrawTilingPattern(CPDF_TilingPattern *pattern, CPDF_PageObject *pPageObj, const CFX_Matrix &mtObj2Device, bool stroke)
void SetFormResource(RetainPtr< const CPDF_Dictionary > pRes)
FX_ARGB GetFillArgb(CPDF_PageObject *pObj) const
void SetLoadMask(bool bLoadMask)
void ProcessClipPath(const CPDF_ClipPath &ClipPath, const CFX_Matrix &mtObj2Device)
CPDF_RenderTiling & operator=(const CPDF_RenderTiling &)=delete
CPDF_RenderTiling()=delete
static RetainPtr< CFX_DIBitmap > Draw(CPDF_RenderStatus *pRenderStatus, CPDF_PageObject *pPageObj, CPDF_TilingPattern *pPattern, CPDF_Form *pPatternForm, const CFX_Matrix &mtObj2Device, const FX_RECT &clip_box, bool bStroke)
CPDF_RenderTiling(const CPDF_RenderTiling &)=delete
bool Initialize(CPDF_RenderContext *pContext, CFX_RenderDevice *pDevice, const FX_RECT &rect, const CPDF_PageObject *pObj, const CPDF_RenderOptions *pOptions, int max_dpi)
CFX_RenderDevice * GetDevice() const
const CFX_Matrix & GetMatrix() const
const CFX_Matrix & matrix() const
CFX_Matrix GetTextMatrix() const
static bool DrawTextPath(CFX_RenderDevice *pDevice, pdfium::span< const uint32_t > char_codes, pdfium::span< const float > char_pos, CPDF_Font *pFont, float font_size, const CFX_Matrix &mtText2User, const CFX_Matrix *pUser2Device, const CFX_GraphStateData *pGraphState, FX_ARGB fill_argb, FX_ARGB stroke_argb, CFX_Path *pClippingPath, const CFX_FillRenderOptions &fill_options)
bool IsIsolated() const
CPDF_Transparency & operator=(const CPDF_Transparency &other)
const CFX_Matrix & matrix() const
RetainPtr< CFX_DIBitmap > GetBitmap()
const CPDF_Font::FormIface * form() const
bool LoadBitmapFromSoleImageOfForm()
bool colored() const
CPDF_Type3Char * LoadChar(uint32_t charcode)
CFX_Matrix & GetFontMatrix()
absl::optional< CFX_Point > GetOrigin(const CFX_Point &offset) const
TextGlyphPos(const TextGlyphPos &)
CFX_PointF m_fDeviceOrigin
CFX_Point m_Origin
UnownedPtr< const CFX_GlyphBitmap > m_pGlyph
bool operator!=(const char *ptr) const
Definition bytestring.h:130
TextRenderingMode
BlendMode
Definition fx_dib.h:49
#define FXRGB2GRAY(r, g, b)
Definition fx_dib.h:131
#define FXARGB_A(argb)
Definition fx_dib.h:124
constexpr FX_ARGB ArgbEncode(uint32_t a, uint32_t r, uint32_t g, uint32_t b)
Definition fx_dib.h:118
FXDIB_Format
Definition fx_dib.h:19
int FXSYS_roundf(float f)
Definition fx_system.cpp:92
const char kSoftMaskSubType[]
#define CHECK(cvref)
#define FXDC_RENDER_CAPS
#define FXRC_ALPHA_OUTPUT
#define FXRC_BLEND_MODE
#define FXRC_GET_BITS
#define FXRC_SOFT_CLIP
constexpr CFX_FillRenderOptions(FillType fill_type)
static constexpr CFX_FillRenderOptions WindingOptions()
int Height() const
int32_t bottom
bool Valid() const
int32_t right
int Width() const
int32_t top
int32_t left
bool IsEmpty() const