cairopainter.h Source File

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- File List
- File Members

cairopainter.h
Go to the documentation of this file.

    00001 #ifndef OB_CAIROPAINTER_H
    00002 #define OB_CAIROPAINTER_H
    00003
    00004 #include <openbabel/depict/painter.h>
    00005 #include <cairo.h>
    00006
    00007 namespace OpenBabel
    00008 {
    00009   class CairoPainter : public OBPainter
    00010   {
    00011     public:
    00012       CairoPainter();
    00013       ~CairoPainter();
    00015
    00016       void NewCanvas(double width, double height);
    00017       bool IsGood() const;
    00018       void SetFontFamily(const std::string &fontFamily) {} // FIXME
    00019       void SetFontSize(int pointSize);
    00020       void SetFillColor(const OBColor &color);
    00021       void SetPenColor(const OBColor &color);
    00022       void SetPenWidth(double width);
    00023       void DrawLine(double x1, double y1, double x2, double y2);
    00024       void DrawPolygon(const std::vector<std::pair<double,double> > &points);
    00025       void DrawCircle(double x, double y, double r);
    00026       void DrawText(double x, double y, const std::string &text);
    00027       OBFontMetrics GetFontMetrics(const std::string &text);
    00029
    00031
    00032       void WriteImage(const std::string &filename);
    00033       void WriteImage(std::ostream& ofs, int newWidth=300, int newHeight=300);
    00035
    00036     private:
    00037       cairo_surface_t *m_surface;
    00038       cairo_t *m_cairo;
    00039       int m_fontPointSize;
    00040   };
    00041
    00042 }
    00043
    00044 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines