16 #ifndef MOLDRAW2DSVG_H
17 #define MOLDRAW2DSVG_H
30 MolDraw2DSVG(
int width,
int height, std::ostream &os,
int panelWidth = -1,
32 :
MolDraw2D(width, height, panelWidth, panelHeight), d_os(os) {
36 MolDraw2DSVG(
int width,
int height,
int panelWidth = -1,
int panelHeight = -1)
37 :
MolDraw2D(width, height, panelWidth, panelHeight), d_os(d_ss) {
44 virtual void setFontSize(
double new_size)
override;
45 virtual void setColour(
const DrawColour &col)
override;
52 virtual void drawLine(
const Point2D &cds1,
const Point2D &cds2)
override;
53 virtual void drawString(
const std::string &str,
const Point2D &cds)
override;
54 virtual void drawPolygon(
const std::vector<Point2D> &cds)
override;
55 virtual void drawEllipse(
const Point2D &cds1,
const Point2D &cds2)
override;
56 virtual void clearDrawing()
override;
58 virtual void drawWavyLine(
const Point2D &cds1,
const Point2D &cds2,
60 unsigned int nSegments = 16,
61 double vertOffset = 0.05)
override;
65 virtual void getStringSize(
const std::string &label,
double &label_width,
66 double &label_height)
const override;
75 void tagAtoms(
const ROMol &mol,
double radius,
76 const std::map<std::string, std::string> &events = {});
80 void addMoleculeMetadata(
const ROMol &mol,
int confId = -1)
const;
81 void addMoleculeMetadata(
const std::vector<ROMol *> &mols,
82 const std::vector<int> confIds = {})
const;
86 std::stringstream d_ss;
87 std::string d_activeClass;
89 virtual void drawChar(
char c,
const Point2D &cds)
override;
93 virtual void drawBond(
94 const ROMol &mol,
const Bond *bond,
int at1_idx,
int at2_idx,
95 const std::vector<int> *highlight_atoms =
nullptr,
96 const std::map<int, DrawColour> *highlight_atom_map =
nullptr,
97 const std::vector<int> *highlight_bonds =
nullptr,
98 const std::map<int, DrawColour> *highlight_bond_map =
nullptr)
override;
101 #endif // MOLDRAW2DSVG_H