X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FPainterBase.h;h=bd9832925616f2f68b9eb265d67d02f7f5907d25;hb=c90c5e6386ce69c34c99b3594d6fa452e6a13161;hp=24e174857775204b8c08ae07bc43b94f74082a41;hpb=a0cf758d5a79140045c2a90e2ff5878e0b391bcc;p=lyx.git diff --git a/src/PainterBase.h b/src/PainterBase.h index 24e1748577..bd98329256 100644 --- a/src/PainterBase.h +++ b/src/PainterBase.h @@ -20,7 +20,7 @@ class WorkArea; class LyXFont; -//class LyXScreen; +class LyXImage; /** A painter class to encapsulate all graphics parameters and operations @@ -36,7 +36,11 @@ class LyXFont; class PainterBase { protected: /// - static int dummy1, dummy2, dummy3; + static int dummy1; + /// + static int dummy2; + /// + static int dummy3; public: /// enum line_width { @@ -57,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 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, @@ -89,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( @@ -140,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) const; - - /** Get the width of text - This is just for fast width */ - int width(char const * s, int l, LyXFont const & f) const; - - /// Get the width of text - int width(char c, LyXFont const & f) const; - /** Draws a string and encloses it inside a rectangle. Returns the size of the rectangle. If draw is false, we only calculate the size. */ @@ -192,7 +182,8 @@ public: int & width = PainterBase::dummy1, int & ascent = PainterBase::dummy2, int & descent = PainterBase::dummy3); -private: +protected: + /// WorkArea & owner; };