00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef FBTK_FBDRAWABLE_HH
00024 #define FBTK_FBDRAWABLE_HH
00025
00026 #include <X11/Xlib.h>
00027
00028 namespace FbTk {
00029
00031 class FbDrawable {
00032 public:
00033 virtual ~FbDrawable() { }
00034 virtual void copyArea(Drawable src, GC gc,
00035 int src_x, int src_y,
00036 int dest_x, int dest_y,
00037 unsigned int width, unsigned int height);
00038
00039 virtual void fillRectangle(GC gc, int x, int y,
00040 unsigned int width, unsigned int height);
00041
00042 virtual void drawRectangle(GC gc, int x, int y,
00043 unsigned int width, unsigned int height);
00044
00045 virtual void drawLine(GC gc, int start_x, int start_y,
00046 int end_x, int end_y);
00047 virtual void fillPolygon(GC gc, XPoint *points, int npoints,
00048 int shape, int mode);
00049
00050 virtual void drawPoint(GC gc, int x, int y);
00051
00052 virtual XImage *image(int x, int y, unsigned int width, unsigned int height) const;
00053
00055 virtual Drawable drawable() const = 0;
00056 virtual unsigned int width() const = 0;
00057 virtual unsigned int height() const = 0;
00058 };
00059
00060 }
00061
00062 #endif // FBTK_FBDRAWABLE_HH