+
+
+#include "XFormsView.h"
+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();
+}
+
+
+int GUIRunTime::x11Screen()
+{
+ return fl_screen;
+}
+
+
+Colormap GUIRunTime::x11Colormap()
+{
+ return fl_state[fl_get_vclass()].colormap;
+}
+
+
+int GUIRunTime::x11VisualDepth()
+{
+ return fl_get_visual_depth();
+}
+
+float GUIRunTime::getScreenDPI()
+{
+ Screen * scr = ScreenOfDisplay(fl_get_display(), fl_screen);
+ return ((HeightOfScreen(scr) * 25.4 / HeightMMOfScreen(scr)) +
+ (WidthOfScreen(scr) * 25.4 / WidthMMOfScreen(scr))) / 2;
+}