FLTK 1.3.5
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
Fl_Printer.H
Go to the documentation of this file.
1
//
2
// "$Id$"
3
//
4
// Printing support for the Fast Light Tool Kit (FLTK).
5
//
6
// Copyright 2010-2014 by Bill Spitzak and others.
7
//
8
// This library is free software. Distribution and use rights are outlined in
9
// the file "COPYING" which should have been included with this file. If this
10
// file is missing or damaged, see the license at:
11
//
12
// http://www.fltk.org/COPYING.php
13
//
14
// Please report all bugs and problems on the following page:
15
//
16
// http://www.fltk.org/str.php
17
//
18
23
#ifndef Fl_Printer_H
24
#define Fl_Printer_H
25
26
#include <FL/x.H>
27
#include <
FL/Fl_Paged_Device.H
>
28
#include <
FL/fl_draw.H
>
29
#include <FL/Fl_Pixmap.H>
30
#include <FL/Fl_RGB_Image.H>
31
#include <FL/Fl_Bitmap.H>
32
#include <stdio.h>
33
#if !(defined(__APPLE__) || defined(WIN32))
34
#include <
FL/Fl_PostScript.H
>
35
#elif defined(WIN32)
36
#include <commdlg.h>
37
#endif
38
39
#if defined(__APPLE__) || defined(WIN32) || defined(FL_DOXYGEN)
40
47
class
Fl_System_Printer
:
public
Fl_Paged_Device
{
48
friend
class
Fl_Printer
;
49
private
:
51
void
*gc;
52
void
set_current
(
void
);
53
#ifdef __APPLE__
54
float
scale_x;
55
float
scale_y;
56
float
angle;
// rotation angle in radians
57
PMPrintSession printSession;
58
PMPageFormat pageFormat;
59
PMPrintSettings printSettings;
60
#elif defined(WIN32)
61
int
abortPrint;
62
PRINTDLG pd;
63
HDC hPr;
64
int
prerr;
65
int
left_margin;
66
int
top_margin;
67
void
absolute_printable_rect(
int
*x,
int
*y,
int
*w,
int
*h);
68
#endif
69
protected
:
71
Fl_System_Printer
(
void
);
72
public
:
73
static
const
char
*class_id;
74
const
char
*
class_name
() {
return
class_id;};
75
int
start_job
(
int
pagecount,
int
*frompage = NULL,
int
*topage = NULL);
76
int
start_page
(
void
);
77
int
printable_rect
(
int
*w,
int
*h);
78
void
margins
(
int
*left,
int
*top,
int
*right,
int
*bottom);
79
void
origin
(
int
*x,
int
*y);
80
void
origin
(
int
x,
int
y);
81
void
scale
(
float
scale_x,
float
scale_y = 0.);
82
void
rotate
(
float
angle);
83
void
translate
(
int
x,
int
y);
84
void
untranslate
(
void
);
85
int
end_page
(
void
);
86
void
end_job
(
void
);
87
#ifdef __APPLE__
88
void
print_window_part
(
Fl_Window
*win,
int
x,
int
y,
int
w,
int
h,
int
delta_x,
int
delta_y);
89
#endif
90
91
~Fl_System_Printer
(
void
);
92
};
// class Fl_System_Printer
93
94
#endif
95
96
#if !(defined(__APPLE__) || defined(WIN32) )
97
104
class
Fl_PostScript_Printer
:
public
Fl_PostScript_File_Device
{
105
friend
class
Fl_Printer
;
106
protected
:
108
Fl_PostScript_Printer
(
void
) {};
109
public
:
110
static
const
char
*class_id;
111
const
char
*
class_name
() {
return
class_id;};
112
int
start_job
(
int
pages,
int
*firstpage = NULL,
int
*lastpage = NULL);
113
};
114
115
#endif
116
176
class
FL_EXPORT
Fl_Printer
:
public
Fl_Paged_Device
{
177
public
:
178
static
const
char
*class_id;
179
const
char
*
class_name
() {
return
class_id;};
181
Fl_Printer
(
void
);
182
int
start_job
(
int
pagecount,
int
*frompage = NULL,
int
*topage = NULL);
183
int
start_page
(
void
);
184
int
printable_rect
(
int
*w,
int
*h);
185
void
margins
(
int
*left,
int
*top,
int
*right,
int
*bottom);
186
void
origin
(
int
*x,
int
*y);
187
void
origin
(
int
x,
int
y);
188
void
scale
(
float
scale_x,
float
scale_y = 0.);
189
void
rotate
(
float
angle);
190
void
translate
(
int
x,
int
y);
191
void
untranslate
(
void
);
192
int
end_page
(
void
);
193
void
end_job
(
void
);
194
void
print_widget
(
Fl_Widget
* widget,
int
delta_x=0,
int
delta_y=0);
195
void
print_window_part
(
Fl_Window
*win,
int
x,
int
y,
int
w,
int
h,
int
delta_x=0,
int
delta_y=0);
196
void
set_current
(
void
);
197
Fl_Graphics_Driver
*
driver
(
void
);
199
~
Fl_Printer
(
void
);
200
204
static
const
char
*
dialog_title
;
205
static
const
char
*
dialog_printer
;
206
static
const
char
*
dialog_range
;
207
static
const
char
*
dialog_copies
;
208
static
const
char
*
dialog_all
;
209
static
const
char
*
dialog_pages
;
210
static
const
char
*
dialog_from
;
211
static
const
char
*
dialog_to
;
212
static
const
char
*
dialog_properties
;
213
static
const
char
*
dialog_copyNo
;
214
static
const
char
*
dialog_print_button
;
215
static
const
char
*
dialog_cancel_button
;
216
static
const
char
*
dialog_print_to_file
;
217
static
const
char
*
property_title
;
218
static
const
char
*
property_pagesize
;
219
static
const
char
*
property_mode
;
220
static
const
char
*
property_use
;
221
static
const
char
*
property_save
;
222
static
const
char
*
property_cancel
;
224
private
:
225
#if defined(WIN32) || defined(__APPLE__)
226
Fl_System_Printer
*printer;
227
#else
228
Fl_PostScript_Printer
*printer;
229
#endif
230
};
231
232
#endif // Fl_Printer_H
233
234
//
235
// End of "$Id$"
236
//
© 1998-2016 by Bill Spitzak and others.