/* This file is part of
* ======================================================
- *
+ *
* LyX, The Document Processor
- *
+ *
* Copyright 2000 The LyX Team.
*
*======================================================*/
#include <gnome--/main.h>
#include <glade/glade.h>
+// 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
return 0;
}
-void GUIRunTime::processEvents()
+void GUIRunTime::processEvents()
{
while (Gnome::Main::instance()->events_pending())
Gnome::Main::instance()->iteration(FALSE);
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();