Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::Extension::Internal::PdfBuilder::TextContext Class Reference

#include <build-text.h>

Public Member Functions

 TextContext (Document &doc, capypdf::DrawContext &ctx, bool soft_mask)
 
bool set_text_style (std::shared_ptr< FontInstance > const &font, SPStyle *style)
 Set the text/font style, these are comment between clipping and painting.
 
void set_paint_style (StyleMap const &map, SPStyle const *style, SPStyle const *context_style)
 Set the painting style, this is not applicable to clipping.
 
void set_text_mode (CapyPDF_Text_Mode mode)
 
void render_text (Text::Layout const &layout, Text::Layout::Span const &span)
 Render the text span into the text context.
 
void finalize ()
 

Protected Member Functions

std::optional< double > get_softmask (double opacity) const
 

Private Attributes

Document_doc
 
capypdf::DrawContext & _ctx
 
capypdf::Text _tx
 
bool _soft_mask
 
Glib::ustring last_font
 
double last_letter_spacing = 0
 
double last_ca = 1.0
 
double last_CA = 1.0
 
CapyPDF_Text_Mode last_text_mode = CAPY_TEXT_FILL
 

Detailed Description

Definition at line 21 of file build-text.h.

Constructor & Destructor Documentation

◆ TextContext()

Inkscape::Extension::Internal::PdfBuilder::TextContext::TextContext ( Document doc,
capypdf::DrawContext &  ctx,
bool  soft_mask 
)

Definition at line 38 of file build-text.cpp.

Member Function Documentation

◆ finalize()

void Inkscape::Extension::Internal::PdfBuilder::TextContext::finalize ( )

Definition at line 143 of file build-text.cpp.

References _ctx, and _tx.

◆ get_softmask()

std::optional< double > Inkscape::Extension::Internal::PdfBuilder::TextContext::get_softmask ( double  opacity) const
protected

Definition at line 46 of file build-text.cpp.

References _soft_mask.

Referenced by set_paint_style().

◆ render_text()

void Inkscape::Extension::Internal::PdfBuilder::TextContext::render_text ( Text::Layout const &  layout,
Text::Layout::Span const &  span 
)

◆ set_paint_style()

◆ set_text_mode()

void Inkscape::Extension::Internal::PdfBuilder::TextContext::set_text_mode ( CapyPDF_Text_Mode  mode)

Definition at line 135 of file build-text.cpp.

References _tx, last_text_mode, and mode.

◆ set_text_style()

bool Inkscape::Extension::Internal::PdfBuilder::TextContext::set_text_style ( std::shared_ptr< FontInstance > const &  font,
SPStyle style 
)

Set the text/font style, these are comment between clipping and painting.

Definition at line 57 of file build-text.cpp.

References _doc, _tx, Inkscape::Extension::Internal::PdfBuilder::Document::get_font(), last_font, last_letter_spacing, and SPStyle::letter_spacing.

Member Data Documentation

◆ _ctx

capypdf::DrawContext& Inkscape::Extension::Internal::PdfBuilder::TextContext::_ctx
private

Definition at line 37 of file build-text.h.

Referenced by finalize().

◆ _doc

Document& Inkscape::Extension::Internal::PdfBuilder::TextContext::_doc
private

Definition at line 36 of file build-text.h.

Referenced by set_paint_style(), and set_text_style().

◆ _soft_mask

bool Inkscape::Extension::Internal::PdfBuilder::TextContext::_soft_mask
private

Definition at line 39 of file build-text.h.

Referenced by get_softmask(), and set_paint_style().

◆ _tx

capypdf::Text Inkscape::Extension::Internal::PdfBuilder::TextContext::_tx
private

Definition at line 38 of file build-text.h.

Referenced by finalize(), render_text(), set_paint_style(), set_text_mode(), and set_text_style().

◆ last_ca

double Inkscape::Extension::Internal::PdfBuilder::TextContext::last_ca = 1.0
private

Definition at line 44 of file build-text.h.

Referenced by set_paint_style().

◆ last_CA

double Inkscape::Extension::Internal::PdfBuilder::TextContext::last_CA = 1.0
private

Definition at line 45 of file build-text.h.

Referenced by set_paint_style().

◆ last_font

Glib::ustring Inkscape::Extension::Internal::PdfBuilder::TextContext::last_font
private

Definition at line 42 of file build-text.h.

Referenced by set_text_style().

◆ last_letter_spacing

double Inkscape::Extension::Internal::PdfBuilder::TextContext::last_letter_spacing = 0
private

Definition at line 43 of file build-text.h.

Referenced by set_text_style().

◆ last_text_mode

CapyPDF_Text_Mode Inkscape::Extension::Internal::PdfBuilder::TextContext::last_text_mode = CAPY_TEXT_FILL
private

Definition at line 46 of file build-text.h.

Referenced by set_text_mode().


The documentation for this class was generated from the following files: