#ifndef __BLOP_POINT_H__ #define __BLOP_POINT_H__ #include "grob.h" #include "point_drawer.h" #include "color.h" namespace blop { class point : public grob { private: static point_drawer *default_type_; point_drawer *type_; static color default_color_; color color_; static length default_size_; length size_; length x_, y_; public: point(); ~point(); void default_pointtype(const point_drawer &); point &pointtype(const point_drawer &); point &pt (const point_drawer &); const point_drawer &pointtype() const; void default_pointcolor(const color &); point &pointcolor(const color &); point &pc(const color &); const color & pointcolor() const; void default_pointsize(const length &); point &pointsize(const length &); point &ps(const length &); const length &pointsize() const; static point &draw(container *parent, length x, length y); static point &fdraw(length x, length y); static point &pdraw(length x, length y); static point &cdraw(length x, length y); point &x(length x) { x_ = x; return *this; } const length &x() const { return x_; } point &y(length y) { y_ = y; return *this; } const length &y() const { return y_; } point &layer(const var & l) { grob::layer(l); return *this; } void print(terminal *t); void prepare_for_draw(); }; } #endif