X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fgnome%2FGUIRunTime.C;h=ccd1d48d8dba25142a98b2e449f48cbfcdddc672;hb=3e39bef2c13125023f3b72532d90575bbe307335;hp=74738fb247d850650e3b38bc8a03e3ce7f732c86;hpb=d062eda8e56ab5ce283b540e6b41ad1e1d4e939b;p=lyx.git diff --git a/src/frontends/gnome/GUIRunTime.C b/src/frontends/gnome/GUIRunTime.C index 74738fb247..ccd1d48d8d 100644 --- a/src/frontends/gnome/GUIRunTime.C +++ b/src/frontends/gnome/GUIRunTime.C @@ -1,8 +1,8 @@ /* This file is part of * ====================================================== - * + * * LyX, The Document Processor - * + * * Copyright 2000 The LyX Team. * *======================================================*/ @@ -21,6 +21,14 @@ #include #include +// For now we use the xforms image loader if we can. +// In the future, this will be replaced by a gnome equivalent. +#if defined(HAVE_FLIMAGE_DUP) && defined(HAVE_FLIMAGE_TO_PIXMAP) +#include "xforms/xformsGImage.h" +#else +#include "graphics/GraphicsImageXPM.h" +#endif + using std::endl; // I keep these here so that it will be processed as early in @@ -77,7 +85,7 @@ int GUIRunTime::initApplication(int &, char * argv[]) return 0; } -void GUIRunTime::processEvents() +void GUIRunTime::processEvents() { while (Gnome::Main::instance()->events_pending()) Gnome::Main::instance()->iteration(FALSE); @@ -127,7 +135,26 @@ LyXView * GUIRunTime::createMainView(int w, int h) return new XFormsView(w, h); } - + +// Called by the graphics cache to connect the appropriate frontend +// image loading routines to the LyX kernel. +void GUIRunTime::initialiseGraphics() +{ + using namespace grfx; + using SigC::slot; + +#if defined(HAVE_FLIMAGE_DUP) && defined(HAVE_FLIMAGE_TO_PIXMAP) + // connect the image loader based on the xforms library + GImage::newImage.connect(slot(&xformsGImage::newImage)); + GImage::loadableFormats.connect(slot(&xformsGImage::loadableFormats)); +#else + // connect the image loader based on the XPM library + GImage::newImage.connect(slot(&GImageXPM::newImage)); + GImage::loadableFormats.connect(slot(&GImageXPM::loadableFormats)); +#endif +} + + Display * GUIRunTime::x11Display() { return fl_get_display();