X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FPainter.h;h=6470a8b445165cb726ef65a9ba7a42682970b1ba;hb=f676dacf9c69d8c906653f54d00342c01de6facf;hp=bb2048395c865274608900e1e21fef1aa2d1b007;hpb=0088121bd8c3fc7f2109e8dc9b22b73ca193f20e;p=lyx.git diff --git a/src/Painter.h b/src/Painter.h index bb2048395c..6470a8b445 100644 --- a/src/Painter.h +++ b/src/Painter.h @@ -21,11 +21,7 @@ // This is only included to provide stuff for the non-public sections #include -#include #include "PainterBase.h" -#include "LColor.h" - -//using std::less; class LyXFont; class WorkArea; @@ -37,12 +33,8 @@ class WorkArea; class Painter : public PainterBase { public: /// Constructor - Painter(WorkArea &); - - /// Destructor - ~Painter(); + explicit Painter(WorkArea &); - /**@Basic drawing routines */ /// Draw a line from point to point PainterBase & line(int x1, int y1, int x2, int y2, LColor::color = LColor::foreground, @@ -84,55 +76,33 @@ public: PainterBase & fillRectangle(int x, int y, int w, int h, LColor::color = LColor::background); - /**@Image stuff */ + /// For the graphics inset. + PainterBase & image(int x, int y, int w, int h, LyXImage const * image); - /// For the figure inset + /// For the figinset PainterBase & pixmap(int x, int y, int w, int h, Pixmap bitmap); - /**@String functions */ - /// Draw a string at position x, y (y is the baseline) PainterBase & text(int x, int y, string const & str, LyXFont const & f); /** Draw a string at position x, y (y is the baseline) This is just for fast drawing */ - PainterBase & text(int x, int y, char const * str, int l, + PainterBase & text(int x, int y, char const * str, size_t l, LyXFont const & f); /// Draw a char at position x, y (y is the baseline) PainterBase & text(int x, int y, char c, LyXFont const & f); - -protected: - /**@Support for X only, by now */ - friend class WorkArea; - /// - PainterBase & setDisplay(Display * d) { display = d; return *this; } - - /// Get foreground color in ordinary GC - GC getGCForeground(LColor::color c); - - /// Set up GC according to line style - GC getGCLinepars(enum line_style, enum line_width, LColor::color c); - + + /// Draw a wide string at position x, y + PainterBase & text(int x, int y, XChar2b const * str, int l, + LyXFont const & f); +private: /// Check the font, and if set, draw an underline void underline(LyXFont const & f, int x, int y, int width); - /**@Low level X parameters */ /// Display * display; - - /// - Drawable drawable() const; - - /// - Colormap colormap; - - /// Caching of ordinary color GCs - GC colorGCcache[LColor::ignore + 1]; - /// Caching of GCs used for lines - typedef map > LineGCCache; - /// - LineGCCache lineGCcache; }; + #endif