From b34f16995a710b3f15b2b1bd37b6465bf589ec66 Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Tue, 16 Sep 2003 07:53:02 +0000 Subject: [PATCH] Move functions out-of-line. The .C file should have the headers needed for their successful compilation. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7764 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/gtk/ChangeLog | 8 +++ src/frontends/gtk/GScreen.C | 6 ++ src/frontends/gtk/GScreen.h | 2 +- src/frontends/gtk/GWorkArea.C | 105 ++++++++++++++++++++++++++++++++++ src/frontends/gtk/GWorkArea.h | 58 +++++++------------ 5 files changed, 142 insertions(+), 37 deletions(-) diff --git a/src/frontends/gtk/ChangeLog b/src/frontends/gtk/ChangeLog index 127438579c..eb4b9a7f09 100644 --- a/src/frontends/gtk/ChangeLog +++ b/src/frontends/gtk/ChangeLog @@ -1,3 +1,11 @@ +2003-09-16 Angus Leeming + + * GScreen.[Ch] (workarea): + * GWorkArea.[Ch] (~ColorCache, getColor, getXftColor, cacheColor, + cacheXftColor, getPainter, workWidth, workHeight, xpos, ypos, getWindow, + getDisplay, getPixmap, getGC, getColormap, getXftDraw, getColorHandler): + move out-of-line. + 2003-09-15 Angus Leeming * GPainter.C: add #include "LColor.h". diff --git a/src/frontends/gtk/GScreen.C b/src/frontends/gtk/GScreen.C index 55ae48aefc..50b94c7076 100644 --- a/src/frontends/gtk/GScreen.C +++ b/src/frontends/gtk/GScreen.C @@ -49,6 +49,12 @@ GScreen::~GScreen() } +WorkArea & GScreen::workarea() const +{ + return owner_; +} + + void GScreen::setCursorColor(Glib::RefPtr gc) { Gdk::Color * clr = owner_.getColorHandler(). diff --git a/src/frontends/gtk/GScreen.h b/src/frontends/gtk/GScreen.h index 340735d3f4..510d707c20 100644 --- a/src/frontends/gtk/GScreen.h +++ b/src/frontends/gtk/GScreen.h @@ -39,7 +39,7 @@ public: protected: /// get the work area - virtual WorkArea & workarea() const { return owner_; } + virtual WorkArea & workarea() const; /// Copies specified area of pixmap to screen virtual void expose(int x, int y, int w, int h); diff --git a/src/frontends/gtk/GWorkArea.C b/src/frontends/gtk/GWorkArea.C index 225f6a2849..695015533f 100644 --- a/src/frontends/gtk/GWorkArea.C +++ b/src/frontends/gtk/GWorkArea.C @@ -24,6 +24,38 @@ ColorCache colorCache; +ColorCache::~ColorCache() +{ + clear(); +} + + +Gdk::Color * ColorCache::getColor(EnumLColor clr) +{ + MapIt it = cache_.find(clr); + return it == cache_.end() ? 0 : it->second; +} + + +XftColor * ColorCache::getXftColor(EnumLColor clr) +{ + MapIt2 it = cache2_.find(clr); + return it == cache2_.end() ? 0 : it->second; +} + + +void ColorCache::cacheColor(EnumLColor clr, Gdk::Color * gclr) +{ + cache_[clr] = gclr; +} + + +void ColorCache::cacheXftColor(EnumLColor clr, XftColor * xclr) +{ + cache2_[clr] = xclr; +} + + void ColorCache::clear() { MapIt it = cache_.begin(); @@ -159,6 +191,79 @@ GWorkArea::~GWorkArea() } +Painter & GWorkArea::getPainter() +{ + return painter_; +} + + +int GWorkArea::workWidth() const +{ + return workArea_.get_width(); +} + + +int GWorkArea::workHeight() const +{ + return workArea_.get_height(); +} + + +int GWorkArea::xpos() const +{ + return 0; +} + + +int GWorkArea::ypos() const +{ + return 0; +} + + +Glib::RefPtr GWorkArea::getWindow() +{ + return workArea_.get_window(); +} + + +Display * GWorkArea::getDisplay() const +{ + return GDK_WINDOW_XDISPLAY( + const_cast(workArea_.get_window()->gobj())); +} + + +Glib::RefPtr GWorkArea::getPixmap() +{ + return workAreaPixmap_; +} + + +Glib::RefPtr GWorkArea::getGC() +{ + return workAreaGC_; +} + + +Glib::RefPtr GWorkArea::getColormap() +{ + return workArea_.get_colormap(); +} + + +XftDraw * GWorkArea::getXftDraw() +{ + return draw_; +} + + +ColorHandler & GWorkArea::getColorHandler() +{ + return colorHandler_; +} + + bool GWorkArea::onExpose(GdkEventExpose * event) { workArea_.get_window()->draw_drawable( diff --git a/src/frontends/gtk/GWorkArea.h b/src/frontends/gtk/GWorkArea.h index e6a47eb981..ffb3abc8a3 100644 --- a/src/frontends/gtk/GWorkArea.h +++ b/src/frontends/gtk/GWorkArea.h @@ -12,10 +12,12 @@ #ifndef GWORKAREA_H #define GWORKAREA_H -#include -#include "frontends/WorkArea.h" #include "GPainter.h" +#include #include + +#include "frontends/WorkArea.h" + #include class EnumLColor; @@ -27,25 +29,11 @@ class ColorCache typedef std::map Map2; typedef Map2::iterator MapIt2; public: - ~ColorCache() { clear(); } - Gdk::Color * getColor(EnumLColor clr) - { - MapIt it = cache_.find(clr); - return it == cache_.end() ? 0 : it->second; - } - XftColor * getXftColor(EnumLColor clr) - { - MapIt2 it = cache2_.find(clr); - return it == cache2_.end() ? 0 : it->second; - } - void cacheColor(EnumLColor clr, Gdk::Color * gclr) - { - cache_[clr] = gclr; - } - void cacheXftColor(EnumLColor clr, XftColor * xclr) - { - cache2_[clr] = xclr; - } + ~ColorCache(); + Gdk::Color * getColor(EnumLColor); + XftColor * getXftColor(EnumLColor); + void cacheColor(EnumLColor, Gdk::Color *); + void cacheXftColor(EnumLColor, XftColor *); void clear(); private: Map cache_; @@ -64,32 +52,30 @@ private: GWorkArea & owner_; }; + class GWorkArea : public WorkArea, public SigC::Object { public: GWorkArea(int width, int height); ~GWorkArea(); - virtual Painter & getPainter() { return painter_; } + virtual Painter & getPainter(); /// - virtual int workWidth() const { return workArea_.get_width(); } + virtual int workWidth() const; /// - virtual int workHeight() const { return workArea_.get_height(); } + virtual int workHeight() const; /// return x position of window - int xpos() const { return 0; } + int xpos() const; /// return y position of window - int ypos() const { return 0; } + int ypos() const; /// - Glib::RefPtr getWindow() { return workArea_.get_window(); } - Display * getDisplay() const - { return GDK_WINDOW_XDISPLAY( - const_cast(workArea_.get_window()->gobj())); } - Glib::RefPtr getPixmap() { return workAreaPixmap_; } - Glib::RefPtr getGC() { return workAreaGC_; } - Glib::RefPtr getColormap() - { return workArea_.get_colormap(); } - XftDraw * getXftDraw() { return draw_; } - ColorHandler & getColorHandler() { return colorHandler_; } + Glib::RefPtr getWindow(); + Display * getDisplay() const; + Glib::RefPtr getPixmap(); + Glib::RefPtr getGC(); + Glib::RefPtr getColormap(); + XftDraw * getXftDraw(); + ColorHandler & getColorHandler(); virtual void setScrollbarParams(int height, int pos, int line_height); /// a selection exists -- 2.39.2