summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2016-01-27 23:57:53 +0000
committerAlbrecht Schlosser <albrechts.fltk@online.de>2016-01-27 23:57:53 +0000
commit48db7a07ef8e28dd4ab42b7bdc48669b503f354b (patch)
treec13e3b9c2c7ae03a0c24cb7a5fe976b07eb414ba /src/drivers
parent411e73fe242f66b26e98d8689ceb6f9b686c19f9 (diff)
Modify Xlib driver code not to #include source files.
Adjusted CMake build, and with some additional temporary #ifdef's the old Linux Makefile system works as well. Defined FL_LIBRARY_CMAKE for now - will be removed later. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11067 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx4
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx6
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx10
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx10
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx13
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx12
6 files changed, 51 insertions, 4 deletions
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx
index 118e683a1..429e6fc7e 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_arci.cxx
@@ -19,6 +19,10 @@
#ifndef FL_CFG_GFX_XLIB_ARCI_CXX
#define FL_CFG_GFX_XLIB_ARCI_CXX
+#include <FL/fl_draw.H>
+#include <config.h>
+#include "../../config_lib.h"
+
/**
\file xlib_arci.cxx
\brief Utility functions for drawing circles using integers
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx
index 1f7561831..fecd840a4 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_color.cxx
@@ -36,6 +36,8 @@
# include <FL/x.H>
# include <FL/fl_draw.H>
+extern unsigned fl_cmap[256]; // defined in fl_color.cxx
+
////////////////////////////////////////////////////////////////
// figure_out_visual() calculates masks & shifts for generating
// pixels in true-color visuals:
@@ -91,10 +93,6 @@ static void figure_out_visual() {
}
-static unsigned fl_cmap[256] = {
-#include "../../fl_cmap.h" // this is a file produced by "cmap.cxx":
-};
-
# if HAVE_OVERLAY
/** HAVE_OVERLAY determines whether fl_xmap is one or two planes */
Fl_XColor fl_xmap[2][256];
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
index cec910f30..691c1f0d2 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_x.cxx
@@ -16,6 +16,16 @@
// http://www.fltk.org/str.php
//
+// Select fonts from the FLTK font table.
+#include "../../flstring.h"
+#include <FL/Fl.H>
+#include <FL/fl_draw.H>
+#include <FL/x.H>
+#include "../../Fl_Font.H"
+
+#include <stdio.h>
+#include <stdlib.h>
+
// This function fills in the fltk font table with all the fonts that
// are found on the X server. It tries to place the fonts into families
// and to sort them so the first 4 in a family are normal, bold, italic,
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
index 91ee460ce..33c8d3379 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
@@ -16,6 +16,16 @@
// http://www.fltk.org/str.php
//
+// Select fonts from the FLTK font table.
+#include "../../flstring.h"
+#include <FL/Fl.H>
+#include <FL/fl_draw.H>
+#include <FL/x.H>
+#include "../../Fl_Font.H"
+
+#include <stdio.h>
+#include <stdlib.h>
+
#include <X11/Xft/Xft.h>
// This function fills in the fltk font table with all the fonts that
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx
index a20ace778..834682ea3 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_line_style.cxx
@@ -24,8 +24,21 @@
\brief Line style drawing utility hiding different platforms.
*/
+#include "../../config_lib.h"
+#include <FL/Fl.H>
+#include <FL/fl_draw.H>
+#include <FL/x.H>
+#include <FL/Fl_Printer.H>
+#include "../../flstring.h"
+#include <stdio.h>
+
#include "Fl_Xlib_Graphics_Driver.h"
+// We save the current line width (absolute value) here.
+// This is currently used only for X11 clipping, see src/fl_rect.cxx.
+// FIXME: this would probably better be in class Fl::
+extern int fl_line_width_;
+
void Fl_Xlib_Graphics_Driver::line_style(int style, int width, char* dashes) {
// save line width in global variable for X11 clipping
diff --git a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx
index 225b578d1..92328b088 100644
--- a/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_rect.cxx
@@ -26,6 +26,13 @@
\brief X11 Xlib specific line and polygon drawing with integer coordinates.
*/
+#include <config.h>
+#include "../../config_lib.h"
+#include <FL/Fl.H>
+#include <FL/Fl_Widget.H>
+#include <FL/Fl_Printer.H>
+#include <FL/fl_draw.H>
+#include <FL/x.H>
#include "Fl_Xlib_Graphics_Driver.h"
@@ -34,6 +41,11 @@
#define SHRT_MAX (32767)
#endif
+// fl_line_width_ must contain the absolute value of the current
+// line width to be used for X11 clipping (see below).
+// This is defined in src/fl_line_style.cxx
+extern int fl_line_width_;
+
/*
We need to check some coordinates for areas for clipping before we
use X functions, because X can't handle coordinates outside the 16-bit