Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
Inkscape::CSSOStringStream Class Reference

A thin wrapper around std::ostringstream, but writing floating point numbers in the format required by CSS: ‘. More...

#include <css-ostringstream.h>

Public Member Functions

 CSSOStringStream ()
 
template<typename T , typename std::enable_if<!std::is_floating_point< T >::value, int >::type = 0>
CSSOStringStreamoperator<< (T const &arg)
 
CSSOStringStreamoperator<< (double)
 
std::string str () const
 
std::streamsize precision () const
 
std::streamsize precision (std::streamsize p)
 

Private Attributes

std::ostringstream ostr
 

Detailed Description

A thin wrapper around std::ostringstream, but writing floating point numbers in the format required by CSS: ‘.

’ as decimal separator, no ‘e’ notation, no nan or inf.

Definition at line 22 of file css-ostringstream.h.

Constructor & Destructor Documentation

◆ CSSOStringStream()

Inkscape::CSSOStringStream::CSSOStringStream ( )

Member Function Documentation

◆ operator<<() [1/2]

Inkscape::CSSOStringStream & Inkscape::CSSOStringStream::operator<< ( double  d)

Definition at line 28 of file css-ostringstream.cpp.

References buf, and strip_trailing_zeros().

◆ operator<<() [2/2]

template<typename T , typename std::enable_if<!std::is_floating_point< T >::value, int >::type = 0>
CSSOStringStream & Inkscape::CSSOStringStream::operator<< ( T const &  arg)
inline

Definition at line 32 of file css-ostringstream.h.

References ostr.

◆ precision() [1/2]

std::streamsize Inkscape::CSSOStringStream::precision ( ) const
inline

◆ precision() [2/2]

std::streamsize Inkscape::CSSOStringStream::precision ( std::streamsize  p)
inline

Definition at line 48 of file css-ostringstream.h.

References ostr.

◆ str()

std::string Inkscape::CSSOStringStream::str ( ) const
inline

Definition at line 40 of file css-ostringstream.h.

References ostr.

Referenced by Inkscape::Extension::Internal::SvgBuilder::_addStopToGradient(), Inkscape::Extension::Internal::SvgBuilder::_flushTextText(), SPStyle::_mergeDecl(), Inkscape::UI::Widget::ObjectCompositeSettings::_opacityValueChanged(), SPHatchPath::_readHatchPathVector(), Inkscape::UI::Toolbar::TextToolbar::_selectionChanged(), Inkscape::Extension::Internal::SvgBuilder::_setFillStyle(), Inkscape::Extension::Internal::SvgBuilder::_setStrokeStyle(), Inkscape::UI::ThemeContext::adjustGlobalFontScale(), Inkscape::Extension::Internal::append_css_num(), Inkscape::Extension::Internal::SvgBuilder::cropPage(), Inkscape::UI::Dialog::TextEdit::fillTextStyle(), Inkscape::UI::Toolbar::TextToolbar::fontsize_unit_changed(), Inkscape::UI::Toolbar::TextToolbar::fontsize_value_changed(), Inkscape::UI::Widget::FontVariations::get_pango_string(), Inkscape::UI::Toolbar::TextToolbar::letterspacing_value_changed(), Inkscape::UI::Toolbar::TextToolbar::lineheight_unit_changed(), Inkscape::UI::Toolbar::TextToolbar::lineheight_value_changed(), Inkscape::LivePathEffect::lpe_shape_revert_stroke_and_fill(), Inkscape::UI::Dialog::ObjectsPanel::ObjectsPanel(), Inkscape::UI::Widget::SelectedStyle::on_opacity_changed(), Inkscape::UI::Widget::SelectedStyle::on_popup_preset(), Inkscape::UI::Widget::FontList::set_current_size(), Inkscape::XML::Node::setAttributeCssDouble(), SPObject::setAttributeDouble(), SPStop::setColorRepr(), Inkscape::Extension::Internal::SvgBuilder::setMargins(), Inkscape::UI::Widget::StrokeStyle::setScaledDash(), sp_css_attr_scale_property_list(), sp_css_attr_scale_property_single(), sp_validate_marker(), GrDrag::styleSet(), SPIFontVariationSettings::toString(), Inkscape::Trace::Depixelize::DepixelizeTracingEngine::trace(), Inkscape::UI::Widget::RotateableStrokeWidth::value_adjust(), and Inkscape::UI::Toolbar::TextToolbar::wordspacing_value_changed().

Member Data Documentation

◆ ostr

std::ostringstream Inkscape::CSSOStringStream::ostr
private

Definition at line 24 of file css-ostringstream.h.

Referenced by CSSOStringStream(), operator<<(), precision(), precision(), and str().


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