3 #include <InterViews/handler.h>
4 #include <InterViews/event.h>
5 #include <InterViews/transformer.h>
125 #if defined(__STDC__) || defined(__ANSI_CPP__) || defined(WIN32)
126 #define __RubberCallback(T) T##_RubberCallback
127 #define RubberCallback(T) __RubberCallback(T)
128 #define __RubberMemberFunction(T) T##_RubberMemberFunction
129 #define RubberMemberFunction(T) __RubberMemberFunction(T)
131 #define __RubberCallback(T) T _RubberCallback
132 #define RubberCallback(T) __RubberCallback(T)
133 #define __RubberMemberFunction(T) T _RubberMemberFunction
134 #define RubberMemberFunction(T) __RubberMemberFunction(T)
137 #define declareRubberCallback(T) \
138 typedef void (T::*RubberMemberFunction(T))(Rubberband*); \
139 class RubberCallback(T) \
140 : public RubberAction { \
142 RubberCallback(T)(T*, RubberMemberFunction(T)); \
143 virtual ~RubberCallback(T)(); \
145 virtual void execute(Rubberband*); \
149 RubberMemberFunction(T) func_; \
152 #define implementRubberCallback(T) \
153 RubberCallback(T)::RubberCallback(T)(T * obj, RubberMemberFunction(T) func) { \
158 RubberCallback(T)::~RubberCallback(T)() {} \
160 void RubberCallback(T)::execute(Rubberband* rb) { \
161 (obj_->*func_)(rb); \
virtual void execute(Rubberband *)
virtual void get_line(Coord &x1, Coord &y1, Coord &x2, Coord &y2) const
virtual void draw(Coord, Coord)
RubberLine(RubberAction *=NULL, Canvas *=NULL)
virtual void get_line_canvas(Coord &x1, Coord &y1, Coord &x2, Coord &y2) const
virtual void get_rect(Coord &x1, Coord &y1, Coord &x2, Coord &y2) const
virtual void get_rect_canvas(Coord &x1, Coord &y1, Coord &x2, Coord &y2) const
virtual void draw(Coord, Coord)
RubberRect(RubberAction *=NULL, Canvas *=NULL)
static const Brush * brush_
void rubber_off(Canvas *)
const Event & event() const
virtual void undraw(Coord x, Coord y)
Rubberband(RubberAction *=NULL, Canvas *=NULL)
static const Color * xor_color_
virtual void drag(Event &)
static Rubberband * current()
virtual void release(Event &)
static const Color * color()
virtual void snapshot(Printer *)
static Rubberband * current_
const Transformer & transformer() const
static const Brush * brush()
virtual bool event(Event &)
virtual void press(Event &)
virtual void draw(Coord x, Coord y)