New CMake option OPTION_PRINT_SUPPORT turned ON by default
When the option is off, file config.h defines NO_PRINT_SUPPORT which in turn produces a library without print support, that is, class Fl_Printer does nothing. When off, the FLTK library is somewhat smaller. Can be turned off only when the X11 library is used. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11127 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
254cb01f54
commit
a8a777ff26
@ -78,6 +78,7 @@ option(OPTION_BUILD_SHARED_LIBS
|
||||
|
||||
#######################################################################
|
||||
option(OPTION_BUILD_EXAMPLES "build example programs" ON)
|
||||
option(OPTION_PRINT_SUPPORT "allow print support" ON)
|
||||
|
||||
#######################################################################
|
||||
if(DOXYGEN_FOUND)
|
||||
@ -354,6 +355,13 @@ else()
|
||||
set(FLTK_XDBE_FOUND FALSE)
|
||||
endif(OPTION_USE_XDBE AND HAVE_XDBE_H)
|
||||
|
||||
#######################################################################
|
||||
set(NO_PRINT_SUPPORT FALSE)
|
||||
if(X11_FOUND AND NOT OPTION_PRINT_SUPPORT)
|
||||
set(NO_PRINT_SUPPORT TRUE)
|
||||
endif(X11_FOUND AND NOT OPTION_PRINT_SUPPORT)
|
||||
#######################################################################
|
||||
|
||||
#######################################################################
|
||||
# prior to CMake 3.0 this feature was buggy
|
||||
if(NOT CMAKE_VERSION VERSION_LESS 3.0.0)
|
||||
|
@ -3,7 +3,7 @@
|
||||
//
|
||||
// Printing support for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 2010-2014 by Bill Spitzak and others.
|
||||
// Copyright 2010-2016 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software. Distribution and use rights are outlined in
|
||||
// the file "COPYING" which should have been included with this file. If this
|
||||
@ -23,6 +23,7 @@
|
||||
#ifndef Fl_Printer_H
|
||||
#define Fl_Printer_H
|
||||
|
||||
#include "config.h"
|
||||
#include <FL/x.H>
|
||||
#include <FL/Fl_Paged_Device.H>
|
||||
#include <FL/fl_draw.H>
|
||||
@ -191,6 +192,7 @@ public:
|
||||
const char *class_name() {return class_id;};
|
||||
/** \brief The constructor */
|
||||
Fl_Printer(void);
|
||||
#ifndef NO_PRINT_SUPPORT
|
||||
int start_job(int pagecount, int *frompage = NULL, int *topage = NULL);
|
||||
int start_page(void);
|
||||
int printable_rect(int *w, int *h);
|
||||
@ -207,8 +209,6 @@ public:
|
||||
void print_window_part(Fl_Window *win, int x, int y, int w, int h, int delta_x=0, int delta_y=0);
|
||||
void set_current(void);
|
||||
Fl_Graphics_Driver* driver(void);
|
||||
/** \brief The destructor */
|
||||
~Fl_Printer(void);
|
||||
|
||||
/** \name These attributes are effective under the Xlib platform only.
|
||||
\{
|
||||
@ -233,6 +233,9 @@ public:
|
||||
static const char *property_save;
|
||||
static const char *property_cancel;
|
||||
/** \} */
|
||||
/** \brief The destructor */
|
||||
~Fl_Printer(void);
|
||||
|
||||
private:
|
||||
#if defined(WIN32) || defined(__APPLE__)
|
||||
Fl_System_Printer *printer;
|
||||
@ -242,6 +245,7 @@ private:
|
||||
#else
|
||||
Fl_PostScript_Printer *printer;
|
||||
#endif
|
||||
#endif // NO_PRINT_SUPPORT
|
||||
};
|
||||
|
||||
#endif // Fl_Printer_H
|
||||
|
@ -336,6 +336,12 @@
|
||||
#cmakedefine01 HAVE_DLFCN_H
|
||||
#cmakedefine01 HAVE_DLSYM
|
||||
|
||||
/*
|
||||
* Do we want print support?
|
||||
*/
|
||||
|
||||
#cmakedefine NO_PRINT_SUPPORT 1
|
||||
|
||||
/*
|
||||
* End of "$Id$".
|
||||
*/
|
||||
|
@ -46,9 +46,8 @@ set(CPPFILES
|
||||
Fl_Paged_Device.cxx
|
||||
Fl_Pixmap.cxx
|
||||
Fl_Positioner.cxx
|
||||
Fl_PostScript.cxx
|
||||
Fl_Printer.cxx
|
||||
Fl_Preferences.cxx
|
||||
Fl_Printer.cxx
|
||||
Fl_Progress.cxx
|
||||
Fl_Repeat_Button.cxx
|
||||
Fl_Return_Button.cxx
|
||||
@ -137,13 +136,22 @@ set(CPPFILES
|
||||
fl_show_colormap.cxx
|
||||
fl_symbols.cxx
|
||||
fl_vertex.cxx
|
||||
ps_image.cxx
|
||||
screen_xywh.cxx
|
||||
fl_utf8.cxx
|
||||
fl_encoding_latin1.cxx
|
||||
fl_encoding_mac_roman.cxx
|
||||
)
|
||||
|
||||
if (USE_X11 AND NOT OPTION_PRINT_SUPPORT)
|
||||
set(PSFILES
|
||||
)
|
||||
else()
|
||||
set(PSFILES
|
||||
Fl_PostScript.cxx
|
||||
ps_image.cxx
|
||||
)
|
||||
endif(USE_X11 AND NOT OPTION_PRINT_SUPPORT)
|
||||
|
||||
set(DRIVER_FILES)
|
||||
|
||||
if (USE_X11)
|
||||
@ -280,7 +288,7 @@ else()
|
||||
endif(APPLE AND NOT OPTION_APPLE_X11)
|
||||
|
||||
#######################################################################
|
||||
FL_ADD_LIBRARY(fltk STATIC "${CPPFILES};${MMFILES};${CFILES};fl_call_main.c")
|
||||
FL_ADD_LIBRARY(fltk STATIC "${CPPFILES};${PSFILES};${MMFILES};${CFILES};fl_call_main.c")
|
||||
|
||||
if(LIB_dl)
|
||||
target_link_libraries(fltk ${LIB_dl})
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Encompasses platform-specific printing-support code and
|
||||
// PostScript output code for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 2010 by Bill Spitzak and others.
|
||||
// Copyright 2010-2016 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software. Distribution and use rights are outlined in
|
||||
// the file "COPYING" which should have been included with this file. If this
|
||||
@ -19,6 +19,15 @@
|
||||
|
||||
#include <FL/Fl_Printer.H>
|
||||
|
||||
const char *Fl_Printer::class_id = "Fl_Printer";
|
||||
|
||||
#ifdef NO_PRINT_SUPPORT
|
||||
|
||||
Fl_Printer::Fl_Printer(void) {
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#if defined(WIN32) || defined(__APPLE__)
|
||||
#elif defined(FL_PORTING)
|
||||
# pragma message "FL_PORTING: implement the printer device specifics"
|
||||
@ -69,7 +78,6 @@ const char *Fl_Printer::property_save = "Save";
|
||||
/** [this text may be customized at run-time] */
|
||||
const char *Fl_Printer::property_cancel = "Cancel";
|
||||
|
||||
const char *Fl_Printer::class_id = "Fl_Printer";
|
||||
#if defined(__APPLE__) || defined(WIN32) || defined(FL_DOXYGEN)
|
||||
const char *Fl_System_Printer::class_id = Fl_Printer::class_id;
|
||||
#endif
|
||||
@ -207,6 +215,7 @@ Fl_Printer::~Fl_Printer(void)
|
||||
delete printer;
|
||||
}
|
||||
|
||||
#endif // NO_PRINT_SUPPORT
|
||||
|
||||
//
|
||||
// End of "$Id$".
|
||||
|
Loading…
Reference in New Issue
Block a user