X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FPainterBase.h;h=bd9832925616f2f68b9eb265d67d02f7f5907d25;hb=c90c5e6386ce69c34c99b3594d6fa452e6a13161;hp=ab05dda52249385ae08e6a8a62313652a0ca74c9;hpb=cfdd73ea94c3cc0058459d67b1c62fabd31fbeb1;p=lyx.git diff --git a/src/PainterBase.h b/src/PainterBase.h index ab05dda522..bd98329256 100644 --- a/src/PainterBase.h +++ b/src/PainterBase.h @@ -8,8 +8,6 @@ * *======================================================*/ -#ifdef USE_PAINTER - #ifndef PAINTERBASE_H #define PAINTERBASE_H @@ -22,7 +20,7 @@ class WorkArea; class LyXFont; -class LyXScreen; +class LyXImage; /** A painter class to encapsulate all graphics parameters and operations @@ -38,7 +36,11 @@ class LyXScreen; class PainterBase { protected: /// - static int dummy1, dummy2, dummy3; + static int dummy1; + /// + static int dummy2; + /// + static int dummy3; public: /// enum line_width { @@ -59,18 +61,19 @@ public: }; /// - PainterBase(WorkArea & wa) : owner(wa) {} + explicit PainterBase(WorkArea & wa) : owner(wa) {} /// virtual ~PainterBase() {} - /** Screen geometry */ + /* Screen geometry */ + /// + int paperMargin() const; /// - int paperMargin(); + int paperWidth() const; /// - int paperWidth(); + int paperHeight() const; - /**@Basic drawing routines */ /// Draw a line from point to point virtual PainterBase & line( int x1, int y1, int x2, int y2, @@ -91,7 +94,7 @@ public: 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( @@ -142,38 +145,23 @@ public: /// 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) virtual PainterBase & text(int x, int y, char c, LyXFont const & f)=0; - /// Get the width of text - int width(string const & s, LyXFont const & f); - - /** Get the width of text - This is just for fast width */ - int width(char const * s, int l, LyXFont const & f); - - /// Get the width of text - int width(char c, LyXFont const & f); - /** Draws a string and encloses it inside a rectangle. Returns the size of the rectangle. If draw is false, we only calculate the size. */ @@ -194,13 +182,9 @@ public: int & width = PainterBase::dummy1, int & ascent = PainterBase::dummy2, int & descent = PainterBase::dummy3); - /// This is preliminary - //BufferView const * getOwner() const { return &owner; } - -private: +protected: + /// WorkArea & owner; }; #endif - -#endif