class WorkArea;
class LyXFont;
+class LyXImage;
/** A painter class to encapsulate all graphics parameters and operations
class PainterBase {
protected:
///
- static int dummy1, dummy2, dummy3;
+ static int dummy1;
+ ///
+ static int dummy2;
+ ///
+ static int dummy3;
public:
///
enum line_width {
///
virtual ~PainterBase() {}
- /** Screen geometry */
+ /* Screen geometry */
///
int paperMargin() const;
///
int paperWidth() const;
+ ///
+ int paperHeight() const;
- /**@Basic drawing routines */
/// Draw a line from point to point
virtual PainterBase & line(
int x1, int y1, int x2, int y2,
virtual PainterBase & fillPolygon(
int const * xp, int const * yp,
int np,
- LColor::color =LColor::foreground) = 0;
+ LColor::color = LColor::foreground) = 0;
/// Draw lines from x1,y1 to x2,y2. They are arrays
virtual PainterBase & segments(
///
virtual PainterBase & buttonFrame(int x, int y, int w, int h);
- /**@Image stuff */
- /// For the figure inset
- // This can't be part of the base since we don't know what window
- // system we will be useing, or if are going to use pixmaps at all.
- //virtual PainterBase & pixmap(int x, int y, Pixmap bitmap)=0;
+ // For the figure inset
+ virtual PainterBase & image(int x, int y, int w, int h, LyXImage const * image) = 0;
- /**@String functions */
-
/// Draw a string at position x, y (y is the baseline)
virtual PainterBase & text(int x, int y,
- string const &str, LyXFont const & f) = 0;
+ string const & str, LyXFont const & f) = 0;
/** Draw a string at position x, y (y is the baseline)
This is just for fast drawing */
- virtual PainterBase & text(int x, int y, char const * str, int l,
+ virtual PainterBase & text(int x, int y, char const * str, size_t l,
LyXFont const & f) = 0;
/// Draw a char at position x, y (y is the baseline)
int & ascent = PainterBase::dummy2,
int & descent = PainterBase::dummy3);
protected:
+ ///
WorkArea & owner;
};