#ifndef FREETYPEVIEW_H
#define FREETYPEVIEW_H
#include "view.h"
class FreeTypeView: public View {
public:
class Params {
public:
std::string family;
bool bold;
bool italic;
Real size;
bool hinting;
bool antialiasing;
int alignment;
bool justify;
Real wrap_width;
bool alignment_by_origin;
Vector2 spacing;
Vector2 origin;
Matrix matrix;
Color color;
bool invert;
std::string text;
Params():
bold(),
italic(),
size(),
hinting(),
antialiasing(),
alignment(),
justify(),
wrap_width(),
alignment_by_origin(),
invert()
{ }
};
View::PointPtr
p0,
px,
py,
bounds_p0,
bounds_p1;
Vector2 prev_p0;
Params params;
Cairo::RefPtr<Cairo::ImageSurface> surface;
FreeTypeView();
~FreeTypeView();
bool on_timeout();
void update_surface();
void on_point_motion(const View::PointPtr &point);
void on_draw_view(const Cairo::RefPtr<Cairo::Context> &context);
};
#endif