![]() |
RDKit
Open-source cheminformatics and machine learning.
|
#include <DrawText.h>
Public Member Functions | |
DrawText (double max_fnt_sz, double min_fnt_sz) | |
virtual | ~DrawText () |
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 |
void | setFontScale (double new_scale) |
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 More... | |
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) const |
virtual void | drawString (const std::string &str, const Point2D &cds, TextAlignType align) |
drawString centres the string on cds. More... | |
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, 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 |
Static Public Attributes | |
static constexpr double | FONT_SIZE = 0.6 |
Protected Member Functions | |
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 |
Static Protected Attributes | |
constexpr static double | SUBS_SCALE = 0.66 |
constexpr static double | SUPER_SCALE = 0.66 |
Definition at line 38 of file DrawText.h.
RDKit::DrawText::DrawText | ( | double | max_fnt_sz, |
double | min_fnt_sz | ||
) |
|
inlinevirtual |
Definition at line 43 of file DrawText.h.
void RDKit::DrawText::adjustLineForString | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | end1, | ||
Point2D & | end2 | ||
) | const |
|
protected |
|
protectedvirtual |
double RDKit::DrawText::baseFontSize | ( | ) | const |
DrawColour const& RDKit::DrawText::colour | ( | ) | const |
bool RDKit::DrawText::doesLineIntersect | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | cds, | ||
const Point2D & | end1, | ||
const Point2D & | end2, | ||
double | padding | ||
) | const |
bool RDKit::DrawText::doesLineIntersect | ( | const std::vector< std::shared_ptr< StringRect >> & | rects, |
const Point2D & | cds, | ||
const Point2D & | end1, | ||
const Point2D & | end2, | ||
double | padding | ||
) | const |
bool RDKit::DrawText::doesRectIntersect | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | cds, | ||
const StringRect & | rect | ||
) | const |
bool RDKit::DrawText::doesRectIntersect | ( | const std::vector< std::shared_ptr< StringRect >> & | rects, |
const Point2D & | cds, | ||
const StringRect & | rect | ||
) | const |
bool RDKit::DrawText::doesStringIntersect | ( | const std::string & | label1, |
OrientType | orient1, | ||
const Point2D & | cds1, | ||
const std::string & | label2, | ||
OrientType | orient2, | ||
const Point2D & | cds2 | ||
) | const |
bool RDKit::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 |
Implemented in RDKit::DrawTextQt, RDKit::DrawTextSVG, RDKit::DrawTextJS, RDKit::DrawTextFT, and RDKit::DrawTextCairo.
void RDKit::DrawText::drawString | ( | const std::string & | label, |
const Point2D & | cds, | ||
OrientType | orient | ||
) |
|
virtual |
drawString centres the string on cds.
void RDKit::DrawText::drawStringRects | ( | const std::string & | label, |
OrientType | orient, | ||
const Point2D & | cds, | ||
MolDraw2D & | mol_draw | ||
) | const |
double RDKit::DrawText::fontScale | ( | ) | const |
double RDKit::DrawText::fontSize | ( | ) | const |
|
inlinevirtual |
Reimplemented in RDKit::DrawTextFT.
Definition at line 61 of file DrawText.h.
void RDKit::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::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 |
||
) | const |
|
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::DrawText::maxFontSize | ( | ) | const |
double RDKit::DrawText::minFontSize | ( | ) | const |
|
protected |
void RDKit::DrawText::setBaseFontSize | ( | double | new_size | ) |
void RDKit::DrawText::setColour | ( | const DrawColour & | col | ) |
|
inlinevirtual |
Reimplemented in RDKit::DrawTextFT.
Definition at line 62 of file DrawText.h.
References RDUNUSED_PARAM.
void RDKit::DrawText::setFontScale | ( | double | new_scale | ) |
void RDKit::DrawText::setFontSize | ( | double | new_size | ) |
void RDKit::DrawText::setMaxFontSize | ( | double | new_max | ) |
void RDKit::DrawText::setMinFontSize | ( | double | new_max | ) |
|
staticconstexpr |
Definition at line 40 of file DrawText.h.
|
staticconstexprprotected |
Definition at line 134 of file DrawText.h.
|
staticconstexprprotected |
Definition at line 135 of file DrawText.h.