![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <DrawText.h>
Public Member Functions | |
virtual | ~DrawText ()=0 |
DrawText (double max_fnt_sz, double min_fnt_sz) | |
DrawText (const DrawText &)=delete | |
DrawText (DrawText &&)=delete | |
DrawText & | operator= (const DrawText &)=delete |
DrawText & | operator= (DrawText &&)=delete |
DrawColour const & | colour () const |
void | setColour (const DrawColour &col) |
double | fontSize () const |
void | setFontSize (double new_size) |
double | baseFontSize () const |
void | setBaseFontSize (double new_size) |
double | maxFontSize () const |
void | setMaxFontSize (double new_max) |
double | minFontSize () const |
void | setMinFontSize (double new_max) |
double | fontScale () const |
bool | setFontScale (double new_scale, bool ignoreLimits=false) |
virtual std::string | getFontFile () const |
virtual void | setFontFile (const std::string &font_file) |
virtual void | getStringSize (const std::string &label, double &label_width, double &label_height) const |
using the current scale, work out the size of the label | |
void | getStringExtremes (const std::string &label, OrientType orient, double &x_min, double &y_min, double &x_max, double &y_max, bool dontSplit=false) const |
void | getStringRects (const std::string &text, OrientType orient, std::vector< std::shared_ptr< StringRect > > &rects, std::vector< TextDrawType > &draw_modes, std::vector< char > &draw_chars, bool dontSplit=false, TextAlignType textAlign=TextAlignType::MIDDLE) const |
virtual void | drawString (const std::string &str, const Point2D &cds, TextAlignType align) |
drawString centres the string on cds. | |
void | drawString (const std::string &label, const Point2D &cds, OrientType orient) |
void | adjustLineForString (const std::string &label, OrientType orient, const Point2D &end1, Point2D &end2) const |
virtual void | drawChar (char c, const Point2D &cds)=0 |
void | drawStringRects (const std::string &label, OrientType orient, TextAlignType talign, const Point2D &cds, MolDraw2D &mol_draw) const |
bool | doesRectIntersect (const std::string &label, OrientType orient, const Point2D &cds, const StringRect &rect) const |
bool | doesRectIntersect (const std::vector< std::shared_ptr< StringRect > > &rects, const Point2D &cds, const StringRect &rect) const |
bool | doesLineIntersect (const std::string &label, OrientType orient, const Point2D &cds, const Point2D &end1, const Point2D &end2, double padding) const |
bool | doesLineIntersect (const std::vector< std::shared_ptr< StringRect > > &rects, const Point2D &cds, const Point2D &end1, const Point2D &end2, double padding) const |
bool | doesStringIntersect (const std::vector< std::shared_ptr< StringRect > > &rects, const Point2D &cds1, const std::string &label2, OrientType orient2, const Point2D &cds2) const |
bool | doesStringIntersect (const std::string &label1, OrientType orient1, const Point2D &cds1, const std::string &label2, OrientType orient2, const Point2D &cds2) const |
virtual void | alignString (TextAlignType align, const std::vector< TextDrawType > &draw_modes, std::vector< std::shared_ptr< StringRect > > &rects) const |
void | adjustStringRectsForSuperSubScript (const std::vector< TextDrawType > &draw_modes, std::vector< std::shared_ptr< StringRect > > &rects) const |
double | selectScaleFactor (char c, TextDrawType draw_type) const |
virtual void | getStringRects (const std::string &text, std::vector< std::shared_ptr< StringRect > > &rects, std::vector< TextDrawType > &draw_modes, std::vector< char > &draw_chars) const =0 |
void | drawChars (const Point2D &a_cds, const std::vector< std::shared_ptr< StringRect > > &rects, const std::vector< TextDrawType > &draw_modes, const std::vector< char > &draw_chars) |
Public Attributes | |
DrawColour | colour_ |
double | font_scale_ |
double | max_font_size_ |
double | min_font_size_ |
double | base_font_size_ = DEFAULT_FONT_SCALE |
Static Public Attributes | |
static constexpr double | DEFAULT_FONT_SCALE |
static constexpr double | SUBS_SCALE = 0.66 |
static constexpr double | SUPER_SCALE = 0.66 |
Definition at line 46 of file DrawText.h.
|
pure virtual |
RDKit::MolDraw2D_detail::DrawText::DrawText | ( | double | max_fnt_sz, |
double | min_fnt_sz ) |
|
delete |
|
delete |
void RDKit::MolDraw2D_detail::DrawText::adjustLineForString | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | end1, | ||
Point2D & | end2 ) const |
void RDKit::MolDraw2D_detail::DrawText::adjustStringRectsForSuperSubScript | ( | const std::vector< TextDrawType > & | draw_modes, |
std::vector< std::shared_ptr< StringRect > > & | rects ) const |
|
virtual |
Reimplemented in RDKit::MolDraw2D_detail::DrawTextNotFT.
double RDKit::MolDraw2D_detail::DrawText::baseFontSize | ( | ) | const |
DrawColour const & RDKit::MolDraw2D_detail::DrawText::colour | ( | ) | const |
bool RDKit::MolDraw2D_detail::DrawText::doesLineIntersect | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | cds, | ||
const Point2D & | end1, | ||
const Point2D & | end2, | ||
double | padding ) const |
bool RDKit::MolDraw2D_detail::DrawText::doesLineIntersect | ( | const std::vector< std::shared_ptr< StringRect > > & | rects, |
const Point2D & | cds, | ||
const Point2D & | end1, | ||
const Point2D & | end2, | ||
double | padding ) const |
bool RDKit::MolDraw2D_detail::DrawText::doesRectIntersect | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | cds, | ||
const StringRect & | rect ) const |
bool RDKit::MolDraw2D_detail::DrawText::doesRectIntersect | ( | const std::vector< std::shared_ptr< StringRect > > & | rects, |
const Point2D & | cds, | ||
const StringRect & | rect ) const |
bool RDKit::MolDraw2D_detail::DrawText::doesStringIntersect | ( | const std::string & | label1, |
OrientType | orient1, | ||
const Point2D & | cds1, | ||
const std::string & | label2, | ||
OrientType | orient2, | ||
const Point2D & | cds2 ) const |
bool RDKit::MolDraw2D_detail::DrawText::doesStringIntersect | ( | const std::vector< std::shared_ptr< StringRect > > & | rects, |
const Point2D & | cds1, | ||
const std::string & | label2, | ||
OrientType | orient2, | ||
const Point2D & | cds2 ) const |
|
pure virtual |
void RDKit::MolDraw2D_detail::DrawText::drawChars | ( | const Point2D & | a_cds, |
const std::vector< std::shared_ptr< StringRect > > & | rects, | ||
const std::vector< TextDrawType > & | draw_modes, | ||
const std::vector< char > & | draw_chars ) |
void RDKit::MolDraw2D_detail::DrawText::drawString | ( | const std::string & | label, |
const Point2D & | cds, | ||
OrientType | orient ) |
|
virtual |
drawString centres the string on cds.
void RDKit::MolDraw2D_detail::DrawText::drawStringRects | ( | const std::string & | label, |
OrientType | orient, | ||
TextAlignType | talign, | ||
const Point2D & | cds, | ||
MolDraw2D & | mol_draw ) const |
double RDKit::MolDraw2D_detail::DrawText::fontScale | ( | ) | const |
double RDKit::MolDraw2D_detail::DrawText::fontSize | ( | ) | const |
|
inlinevirtual |
Reimplemented in RDKit::MolDraw2D_detail::DrawTextFT.
Definition at line 77 of file DrawText.h.
void RDKit::MolDraw2D_detail::DrawText::getStringExtremes | ( | const std::string & | label, |
OrientType | orient, | ||
double & | x_min, | ||
double & | y_min, | ||
double & | x_max, | ||
double & | y_max, | ||
bool | dontSplit = false ) const |
void RDKit::MolDraw2D_detail::DrawText::getStringRects | ( | const std::string & | text, |
OrientType | orient, | ||
std::vector< std::shared_ptr< StringRect > > & | rects, | ||
std::vector< TextDrawType > & | draw_modes, | ||
std::vector< char > & | draw_chars, | ||
bool | dontSplit = false, | ||
TextAlignType | textAlign = TextAlignType::MIDDLE ) const |
|
pure virtual |
|
virtual |
using the current scale, work out the size of the label
Bear in mind when implementing this, that, for example, NH2 will appear as NH2 to convey that the 2 is a subscript, and this needs to be accounted for in the width and height.
double RDKit::MolDraw2D_detail::DrawText::maxFontSize | ( | ) | const |
double RDKit::MolDraw2D_detail::DrawText::minFontSize | ( | ) | const |
double RDKit::MolDraw2D_detail::DrawText::selectScaleFactor | ( | char | c, |
TextDrawType | draw_type ) const |
void RDKit::MolDraw2D_detail::DrawText::setBaseFontSize | ( | double | new_size | ) |
void RDKit::MolDraw2D_detail::DrawText::setColour | ( | const DrawColour & | col | ) |
|
inlinevirtual |
Reimplemented in RDKit::MolDraw2D_detail::DrawTextFT.
Definition at line 78 of file DrawText.h.
References RDUNUSED_PARAM.
bool RDKit::MolDraw2D_detail::DrawText::setFontScale | ( | double | new_scale, |
bool | ignoreLimits = false ) |
void RDKit::MolDraw2D_detail::DrawText::setFontSize | ( | double | new_size | ) |
void RDKit::MolDraw2D_detail::DrawText::setMaxFontSize | ( | double | new_max | ) |
void RDKit::MolDraw2D_detail::DrawText::setMinFontSize | ( | double | new_max | ) |
double RDKit::MolDraw2D_detail::DrawText::base_font_size_ = DEFAULT_FONT_SCALE |
Definition at line 173 of file DrawText.h.
DrawColour RDKit::MolDraw2D_detail::DrawText::colour_ |
Definition at line 169 of file DrawText.h.
|
staticconstexpr |
Definition at line 50 of file DrawText.h.
double RDKit::MolDraw2D_detail::DrawText::font_scale_ |
Definition at line 170 of file DrawText.h.
double RDKit::MolDraw2D_detail::DrawText::max_font_size_ |
Definition at line 171 of file DrawText.h.
double RDKit::MolDraw2D_detail::DrawText::min_font_size_ |
Definition at line 172 of file DrawText.h.
|
staticconstexpr |
Definition at line 166 of file DrawText.h.
|
staticconstexpr |
Definition at line 167 of file DrawText.h.