grglyph.h
Go to the documentation of this file.00001 #ifndef grglyph_h
00002 #define grglyph_h
00003
00004 #include <InterViews/transformer.h>
00005 #include "graph.h"
00006
00007 struct Object;
00008 class GrGlyph;
00009
00010 class GrGlyphItem : public GraphItem {
00011 public:
00012 GrGlyphItem(Glyph* g, float scalex, float scaley, float rot);
00013 virtual ~GrGlyphItem();
00014 virtual void allocate(Canvas*, const Allocation&, Extension&);
00015 virtual void draw(Canvas*, const Allocation&) const;
00016 virtual void print(Printer*, const Allocation&) const;
00017 private:
00018 Transformer t_;
00019 };
00020
00021 class GrGlyph : public Glyph {
00022 public:
00023 GrGlyph(Object*);
00024 virtual ~GrGlyph();
00025
00026 virtual void request(Requisition&) const;
00027 virtual void draw(Canvas*, const Allocation&) const;
00028
00029 void new_path();
00030 void move_to(Coord, Coord);
00031 void line_to(Coord, Coord);
00032 void control_point(Coord, Coord);
00033 void curve_to(Coord, Coord, Coord, Coord, Coord, Coord);
00034 void close_path();
00035 void stroke(int color, int brush);
00036 void fill(int color);
00037 void erase();
00038 void gif(const char*);
00039
00040 Object** temp_objvar();
00041 private:
00042 DataVec* type_;
00043 DataVec* x_;
00044 DataVec* y_;
00045 Object* obj_;
00046 Glyph* gif_;
00047 };
00048
00049 #endif