+
+
+void GUIRunTime::setDefaults()
+{
+ FL_IOPT cntl;
+ cntl.buttonFontSize = FL_NORMAL_SIZE;
+ cntl.browserFontSize = FL_NORMAL_SIZE;
+ cntl.labelFontSize = FL_NORMAL_SIZE;
+ cntl.choiceFontSize = FL_NORMAL_SIZE;
+ cntl.inputFontSize = FL_NORMAL_SIZE;
+ cntl.menuFontSize = FL_NORMAL_SIZE;
+ cntl.borderWidth = -1;
+ cntl.vclass = FL_DefaultVisual;
+ fl_set_defaults(FL_PDVisual
+ | FL_PDButtonFontSize
+ | FL_PDBrowserFontSize
+ | FL_PDLabelFontSize
+ | FL_PDChoiceFontSize
+ | FL_PDInputFontSize
+ | FL_PDMenuFontSize
+ | FL_PDBorderWidth, &cntl);
+}
+
+
+#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;
+}