4 #include <InterViews/handler.h>
5 #include <InterViews/event.h>
6 #include <InterViews/transformer.h>
126 #if defined(__STDC__) || defined(__ANSI_CPP__) || defined(WIN32) || MAC
127 #define __RubberCallback(T) T##_RubberCallback
128 #define RubberCallback(T) __RubberCallback(T)
129 #define __RubberMemberFunction(T) T##_RubberMemberFunction
130 #define RubberMemberFunction(T) __RubberMemberFunction(T)
132 #define __RubberCallback(T) T _RubberCallback
133 #define RubberCallback(T) __RubberCallback(T)
134 #define __RubberMemberFunction(T) T _RubberMemberFunction
135 #define RubberMemberFunction(T) __RubberMemberFunction(T)
138 #define declareRubberCallback(T) \
139 typedef void (T::*RubberMemberFunction(T))(Rubberband*); \
140 class RubberCallback(T) \
141 : public RubberAction { \
143 RubberCallback(T)(T*, RubberMemberFunction(T)); \
144 virtual ~RubberCallback(T)(); \
146 virtual void execute(Rubberband*); \
150 RubberMemberFunction(T) func_; \
153 #define implementRubberCallback(T) \
154 RubberCallback(T)::RubberCallback(T)(T * obj, RubberMemberFunction(T) func) { \
159 RubberCallback(T)::~RubberCallback(T)() {} \
161 void RubberCallback(T)::execute(Rubberband* rb) { \
162 (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)