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
scoped_font_transform.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_SCOPED_FONT_TRANSFORM_H_
8#define CORE_FXGE_SCOPED_FONT_TRANSFORM_H_
9
10#include "core/fxcrt/fx_memory.h"
11#include "core/fxcrt/retain_ptr.h"
12#include "core/fxge/cfx_face.h"
13#include "core/fxge/freetype/fx_freetype.h"
14
15// Sets the given transform on the font, and resets it to the identity when it
16// goes out of scope.
18 public:
19 FX_STACK_ALLOCATED();
20
21 ScopedFontTransform(RetainPtr<CFX_Face> face, FT_Matrix* matrix);
23
24 private:
25 RetainPtr<CFX_Face> m_Face;
26};
27
28#endif // CORE_FXGE_SCOPED_FONT_TRANSFORM_H_
fxcrt::ByteString ByteString
Definition bytestring.h:180
#define EM_ADJUST(em, a)
Definition cfx_face.cpp:35
#define DCHECK
Definition check.h:33
#define CHECK_LT(x, y)
Definition check_op.h:12
ByteString GetStyleName() const
Definition cfx_face.cpp:355
FX_RECT GetBBox() const
Definition cfx_face.cpp:359
size_t GetCharMapCount() const
Definition cfx_face.cpp:776
std::optional< std::array< uint32_t, 4 > > GetOs2UnicodeRange()
Definition cfx_face.cpp:407
bool IsTtOt() const
Definition cfx_face.cpp:321
int GetCharMapEncodingIdByIndex(size_t index) const
Definition cfx_face.cpp:764
bool IsFixedWidth() const
Definition cfx_face.cpp:329
std::optional< std::array< uint8_t, 2 > > GetOs2Panose()
Definition cfx_face.cpp:427
bool SelectCharMap(fxge::FontEncoding encoding)
Definition cfx_face.cpp:792
bool HasGlyphNames() const
Definition cfx_face.cpp:317
int16_t GetAscender() const
Definition cfx_face.cpp:370
FX_RECT GetCharBBox(uint32_t code, int glyph_index)
Definition cfx_face.cpp:672
FX_RECT GetGlyphBBox() const
Definition cfx_face.cpp:716
std::unique_ptr< CFX_Path > LoadGlyphPath(uint32_t glyph_index, int dest_width, bool is_vertical, const CFX_SubstFont *subst_font)
Definition cfx_face.cpp:566
fxge::FontEncoding GetCharMapEncodingByIndex(size_t index) const
Definition cfx_face.cpp:770
int GetGlyphWidth(uint32_t glyph_index, int dest_width, int weight, const CFX_SubstFont *subst_font)
Definition cfx_face.cpp:632
~CFX_Face() override
ByteString GetGlyphName(uint32_t glyph_index)
Definition cfx_face.cpp:656
bool IsTricky() const
Definition cfx_face.cpp:325
std::unique_ptr< CFX_GlyphBitmap > RenderGlyph(const CFX_Font *pFont, uint32_t glyph_index, bool bFontStyle, const CFX_Matrix &matrix, int dest_width, int anti_alias)
Definition cfx_face.cpp:440
std::optional< std::array< uint32_t, 2 > > GetOs2CodePageRange()
Definition cfx_face.cpp:418
int GetGlyphCount() const
Definition cfx_face.cpp:436
void SetCharMap(CharMap map)
Definition cfx_face.cpp:782
FXFT_FaceRec * GetRec()
Definition cfx_face.h:126
int16_t GetDescender() const
Definition cfx_face.cpp:374
void SetCharMapByIndex(size_t index)
Definition cfx_face.cpp:786
pdfium::span< uint8_t > GetData() const
Definition cfx_face.cpp:384
int GetCharMapPlatformIdByIndex(size_t index) const
Definition cfx_face.cpp:758
std::optional< fxge::FontEncoding > GetCurrentCharMapEncoding() const
Definition cfx_face.cpp:751
void * CharMap
Definition cfx_face.h:34
int GetNameIndex(const char *name)
Definition cfx_face.cpp:667
const FXFT_FaceRec * GetRec() const
Definition cfx_face.h:127
CharMap GetCurrentCharMap() const
Definition cfx_face.cpp:747
int GetCharIndex(uint32_t code)
Definition cfx_face.cpp:663
bool IsItalic() const
Definition cfx_face.cpp:343
std::vector< CharCodeAndIndex > GetCharCodesAndIndices(char32_t max_char)
Definition cfx_face.cpp:727
ByteString GetFamilyName() const
Definition cfx_face.cpp:351
uint16_t GetUnitsPerEm() const
Definition cfx_face.cpp:366
size_t GetSfntTable(uint32_t table, pdfium::span< uint8_t > buffer)
Definition cfx_face.cpp:390
bool SetPixelSize(uint32_t width, uint32_t height)
Definition cfx_face.cpp:797
bool IsBold() const
Definition cfx_face.cpp:347
bool IsVertical() const
Definition cfx_font.h:108
CFX_SubstFont * GetSubstFont() const
Definition cfx_font.h:79
FX_Charset m_Charset
bool IsBuiltInGenericFont() const
ScopedFXFTMMVar(FXFT_FaceRec *face)
ScopedFontTransform(RetainPtr< CFX_Face > face, FT_Matrix *matrix)
ByteString(const char *ptr)
#define UNSAFE_BUFFERS(...)
#define UNSAFE_TODO(...)
FX_Charset
Definition fx_codepage.h:71
CFX_PTemplate< float > CFX_PointF
FXDIB_Format
Definition fx_dib.h:21
struct FT_FaceRec_ FXFT_FaceRec
Definition fx_freetype.h:24
#define NOTREACHED_NORETURN()
Definition notreached.h:22
FX_RECT & operator=(const FX_RECT &that)=default
int32_t bottom
int32_t top
constexpr FX_RECT(int l, int t, int r, int b)