mirror of
https://github.com/fltk/fltk.git
synced 2026-06-07 09:13:58 +08:00
Created FL/Fl_PSfile_Device.H to reduce size of FL/Fl_Printer.H
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7306 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
+12
-5
@@ -161,16 +161,23 @@ protected:
|
||||
virtual void draw(Fl_Bitmap * bmp,int XP, int YP, int WP, int HP, int cx, int cy);
|
||||
|
||||
public:
|
||||
/**
|
||||
@brief All implemented graphics output devices.
|
||||
*/
|
||||
enum device_types {
|
||||
xlib_display = 0, quartz_display, gdi_display,
|
||||
gdi_printer = 256, quartz_printer, postscript_device
|
||||
xlib_display = 0, /**< The X11 display. */
|
||||
quartz_display, /**< The Mac OS X display. */
|
||||
gdi_display, /**< The MSWindows display. */
|
||||
gdi_printer = 256, /**< The MSWindows printer. */
|
||||
quartz_printer, /**< The Mac OS X printer. */
|
||||
postscript_device /**< The PostScript device. */
|
||||
};
|
||||
/**
|
||||
@brief An RTTI emulation of device classes. It returns values < 256 if it is a screen device
|
||||
@brief An RTTI emulation of device classes. It returns values < 256 if it is a display device
|
||||
*/
|
||||
int type() {return type_;};
|
||||
/**
|
||||
@brief Sets this device (display, local file, printer) as the target of future graphics calls.
|
||||
@brief Sets this device (display, printer, local file) as the target of future graphics calls.
|
||||
*
|
||||
@return The current target device of graphics calls.
|
||||
*/
|
||||
@@ -195,7 +202,7 @@ extern Fl_Device *fl_device;
|
||||
@brief A virtual class subclassed for OS-specific display graphics.
|
||||
*/
|
||||
class Fl_Display : public Fl_Device {
|
||||
friend class Fl_PSfile_Device; //RK: temporary hack for font sizes
|
||||
friend class Fl_PSfile_Device;
|
||||
};
|
||||
|
||||
#if defined(__APPLE__) || defined(FL_DOXYGEN)
|
||||
|
||||
@@ -0,0 +1,293 @@
|
||||
//
|
||||
// "$Id:$"
|
||||
//
|
||||
// Support for graphics output to PostScript file for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 2010 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2 of the License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
// USA.
|
||||
//
|
||||
// Please report all bugs and problems on the following page:
|
||||
//
|
||||
// http://www.fltk.org/str.php
|
||||
//
|
||||
|
||||
#include <FL/Fl_Printer.H>
|
||||
|
||||
#ifndef Fl_PSfile_Device_H
|
||||
#define Fl_PSfile_Device_H
|
||||
|
||||
/**
|
||||
\brief Sends all graphics to a local PostScript file; same API as Fl_Printer class.
|
||||
*
|
||||
This class has the same API as class Fl_Printer except for start_job() member function.
|
||||
\see class Fl_Printer.
|
||||
*/
|
||||
class Fl_PSfile_Device : public Fl_Abstract_Printer {
|
||||
public:
|
||||
/**
|
||||
@brief Possible page formats.
|
||||
*/
|
||||
enum Page_Format{
|
||||
A0 = 0,
|
||||
A1,
|
||||
A2,
|
||||
A3,
|
||||
A4,
|
||||
A5,
|
||||
A6,
|
||||
A7,
|
||||
A8,
|
||||
A9,
|
||||
B0,
|
||||
B1,
|
||||
B2,
|
||||
B3,
|
||||
B4,
|
||||
B5,
|
||||
B6,
|
||||
B7,
|
||||
B8,
|
||||
B9,
|
||||
B10,
|
||||
C5E,
|
||||
DLE,
|
||||
EXECUTIVE,
|
||||
FOLIO,
|
||||
LEDGER,
|
||||
LEGAL,
|
||||
LETTER,
|
||||
TABLOID,
|
||||
ENVELOPE,
|
||||
MEDIA = 0x1000
|
||||
};
|
||||
|
||||
/**
|
||||
@brief Possible page layouts.
|
||||
*/
|
||||
enum Page_Layout {PORTRAIT = 0, LANDSCAPE = 0x100, REVERSED = 0x200, ORIENTATION = 0x300};
|
||||
|
||||
#ifndef FL_DOXYGEN
|
||||
private:
|
||||
enum SHAPE{NONE=0, LINE, LOOP, POLYGON, POINTS};
|
||||
|
||||
class Clip{
|
||||
public:
|
||||
int x, y, w, h;
|
||||
Clip *prev;
|
||||
};
|
||||
Clip * clip_;
|
||||
|
||||
int lang_level_;
|
||||
int font_;
|
||||
int size_;
|
||||
Fl_Color color_;
|
||||
int gap_;
|
||||
int pages_;
|
||||
|
||||
double width_;
|
||||
double height_;
|
||||
|
||||
int shape_;
|
||||
int linewidth_;// need for clipping, lang level 1-2
|
||||
int linestyle_;//
|
||||
int interpolate_; //interpolation of images
|
||||
unsigned char cr_,cg_,cb_;
|
||||
char linedash_[256];//should be enought
|
||||
void concat(); // transform ror scalable dradings...
|
||||
void reconcat(); //invert
|
||||
void recover(); //recovers the state afrer grestore (such as line styles...)
|
||||
void reset();
|
||||
|
||||
uchar * mask;
|
||||
int mx; // width of mask;
|
||||
int my; // mask lines
|
||||
//Fl_Color bg_;
|
||||
int (*close_cmd_)(FILE *);
|
||||
int page_policy_;
|
||||
int nPages;
|
||||
int orientation_;
|
||||
|
||||
float scale_x;
|
||||
float scale_y;
|
||||
float angle;
|
||||
int left_margin;
|
||||
int top_margin;
|
||||
|
||||
protected:
|
||||
struct page_format {
|
||||
int width;
|
||||
int height;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
FILE *output;
|
||||
double pw_, ph_;
|
||||
static const int NO_PAGE_FORMATS=30;
|
||||
static const struct page_format page_formats[NO_PAGE_FORMATS];
|
||||
|
||||
uchar bg_r, bg_g, bg_b;
|
||||
int start_postscript (int pagecount, enum Page_Format format, enum Page_Layout layout);
|
||||
/* int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
|
||||
*/
|
||||
void draw(const char* s, int n, int x, int y) {transformed_draw(s,n,x,y); };
|
||||
void draw(int angle, const char *str, int n, int x, int y);
|
||||
void transformed_draw(const char* s, int n, double x, double y); //precise text placing
|
||||
void transformed_draw(const char* s, double x, double y);
|
||||
int alpha_mask(const uchar * data, int w, int h, int D, int LD=0);
|
||||
void draw_scaled_image(const uchar *data, double x, double y, double w, double h, int iw, int ih, int D=3, int LD=0);
|
||||
void draw_scaled_image_mono(const uchar *data, double x, double y, double w, double h, int iw, int ih, int D=3, int LD=0);
|
||||
void draw_scaled_image(Fl_Draw_Image_Cb call, void *data, double x, double y, double w, double h, int iw, int ih, int D);
|
||||
void draw_scaled_image_mono(Fl_Draw_Image_Cb call, void *data, double x, double y, double w, double h, int iw, int ih, int D);
|
||||
|
||||
enum Page_Format page_format_;
|
||||
char *ps_filename_;
|
||||
// implementation of drawing methods
|
||||
void color(Fl_Color c);
|
||||
//void bg_color(Fl_Color bg);
|
||||
void color(uchar r, uchar g, uchar b);
|
||||
Fl_Color color(){return color_;};
|
||||
|
||||
void push_clip(int x, int y, int w, int h);
|
||||
int clip_box(int x, int y, int w, int h, int &X, int &Y, int &W, int &H);
|
||||
int not_clipped(int x, int y, int w, int h);
|
||||
void push_no_clip();
|
||||
void pop_clip();
|
||||
|
||||
void line_style(int style, int width=0, char* dashes=0);
|
||||
|
||||
void rect(int x, int y, int w, int h);
|
||||
void rectf(int x, int y, int w, int h);
|
||||
|
||||
void xyline(int x, int y, int x1);
|
||||
void xyline(int x, int y, int x1, int y2);
|
||||
void xyline(int x, int y, int x1, int y2, int x3);
|
||||
|
||||
void yxline(int x, int y, int y1);
|
||||
void yxline(int x, int y, int y1, int x2);
|
||||
void yxline(int x, int y, int y1, int x2, int y3);
|
||||
|
||||
void line(int x1, int y1, int x2, int y2);
|
||||
void line(int x1, int y1, int x2, int y2, int x3, int y3);
|
||||
|
||||
void loop(int x0, int y0, int x1, int y1, int x2, int y2);
|
||||
void loop(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
|
||||
void polygon(int x0, int y0, int x1, int y1, int x2, int y2);
|
||||
void polygon(int x0, int y0, int x1, int y1, int x2, int y2, int x3, int y3);
|
||||
void point(int x, int y);
|
||||
|
||||
void begin_points();
|
||||
void begin_line();
|
||||
void begin_loop();
|
||||
void begin_polygon();
|
||||
void vertex(double x, double y);
|
||||
void curve(double x, double y, double x1, double y1, double x2, double y2, double x3, double y3);
|
||||
void circle(double x, double y, double r);
|
||||
void arc(double x, double y, double r, double start, double a);
|
||||
void arc(int x, int y, int w, int h, double a1, double a2);
|
||||
void pie(int x, int y, int w, int h, double a1, double a2);
|
||||
void end_points();
|
||||
void end_line();
|
||||
void end_loop();
|
||||
void end_polygon();
|
||||
void begin_complex_polygon(){begin_polygon();};
|
||||
void gap(){gap_=1;};
|
||||
void end_complex_polygon(){end_polygon();};
|
||||
void transformed_vertex(double x, double y);
|
||||
|
||||
void font(int face, int size);
|
||||
int font(){return font_;};
|
||||
int size(){return size_;};
|
||||
double width(unsigned c);
|
||||
double width(const char* s, int n);
|
||||
int descent();
|
||||
int height();
|
||||
|
||||
void draw_image(const uchar* d, int x,int y,int w,int h, int delta=3, int ldelta=0){draw_scaled_image(d,x,y,w,h,w,h,delta,ldelta);};
|
||||
void draw_image_mono(const uchar* d, int x,int y,int w,int h, int delta=1, int ld=0){draw_scaled_image_mono(d,x,y,w,h,w,h,delta,ld);};
|
||||
void draw_image(Fl_Draw_Image_Cb call, void* data, int x,int y, int w, int h, int delta=3){draw_scaled_image(call,data, x, y, w, h, w, h, delta);};
|
||||
void draw_image_mono(Fl_Draw_Image_Cb call, void* data, int x,int y, int w, int h, int delta=1){draw_scaled_image_mono(call, data, x, y, w, h, w, h, delta);};
|
||||
|
||||
void draw(Fl_Pixmap * pxm,int XP, int YP, int WP, int HP, int cx, int cy);
|
||||
void draw(Fl_RGB_Image * rgb,int XP, int YP, int WP, int HP, int cx, int cy);
|
||||
void draw(Fl_Bitmap * bitmap,int XP, int YP, int WP, int HP, int cx, int cy);
|
||||
|
||||
public:
|
||||
void page_policy(int p);
|
||||
int page_policy(){return page_policy_;};
|
||||
void close_command( int (*cmd)(FILE *)){close_cmd_=cmd;};
|
||||
FILE * file() {return output;};
|
||||
//void orientation (int o);
|
||||
//Fl_PSfile_Device(FILE *o, int lang_level, int pages = 0); // ps (also multi-page) constructor
|
||||
//Fl_PSfile_Device(FILE *o, int lang_level, int x, int y, int w, int h); //eps constructor
|
||||
void interpolate(int i){interpolate_=i;};
|
||||
int interpolate(){return interpolate_;}
|
||||
|
||||
void page(double pw, double ph, int media = 0);
|
||||
void page(int format);
|
||||
|
||||
void place(double x, double y, double tx, double ty, double scale = 1);
|
||||
int start_page (void);
|
||||
int printable_rect(int *w, int *h);
|
||||
void margins(int *left, int *top, int *right, int *bottom);
|
||||
void origin(int x, int y);
|
||||
void scale (float scale_x, float scale_y);
|
||||
void rotate(float angle);
|
||||
void translate(int x, int y);
|
||||
void untranslate(void);
|
||||
int end_page (void);
|
||||
void end_job (void);
|
||||
|
||||
#endif // FL_DOXYGEN
|
||||
|
||||
/**
|
||||
@brief The constructor.
|
||||
*/
|
||||
Fl_PSfile_Device(void);
|
||||
|
||||
/**
|
||||
@brief Begins the session where all graphics will go to a local PostScript file.
|
||||
*
|
||||
Opens a file dialog to select an output PostScript file.
|
||||
@param pagecount The total number of pages to be created.
|
||||
@param format Desired page format.
|
||||
@param layout Desired page layout.
|
||||
@return 0 iff OK
|
||||
*/
|
||||
int start_job(int pagecount, enum Page_Format format = A4, enum Page_Layout layout = PORTRAIT);
|
||||
|
||||
/**
|
||||
@brief Begins the session where all graphics will go to named PostScript file.
|
||||
*
|
||||
@param fname The name of the output local PostScript file.
|
||||
@param pagecount The total number of pages to be created.
|
||||
@param format Desired page format.
|
||||
@param layout Desired page layout.
|
||||
@return 0 iff OK
|
||||
*/
|
||||
int start_job(const char *fname, int pagecount, enum Page_Format format = A4, enum Page_Layout layout = PORTRAIT);
|
||||
|
||||
/**
|
||||
@brief The destructor.
|
||||
*/
|
||||
virtual ~Fl_PSfile_Device();
|
||||
};
|
||||
|
||||
#endif // Fl_PSfile_Device_H
|
||||
|
||||
//
|
||||
// End of "$Id:$"
|
||||
//
|
||||
+193
-483
File diff suppressed because it is too large
Load Diff
+13
-13
@@ -34,7 +34,7 @@
|
||||
|
||||
extern HWND fl_window;
|
||||
|
||||
Fl_GDI_Printer::Fl_GDI_Printer(void) : Fl_Abstract_Printer() {
|
||||
Fl_Printer::Fl_Printer(void) : Fl_Abstract_Printer() {
|
||||
hPr = NULL;
|
||||
type_ = gdi_printer;
|
||||
}
|
||||
@@ -56,7 +56,7 @@ static void WIN_SetupPrinterDeviceContext(HDC prHDC)
|
||||
}
|
||||
|
||||
|
||||
int Fl_GDI_Printer::start_job (int pagecount, int *frompage, int *topage)
|
||||
int Fl_Printer::start_job (int pagecount, int *frompage, int *topage)
|
||||
// returns 0 iff OK
|
||||
{
|
||||
DWORD commdlgerr;
|
||||
@@ -109,7 +109,7 @@ int Fl_GDI_Printer::start_job (int pagecount, int *frompage, int *topage)
|
||||
return err;
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::end_job (void)
|
||||
void Fl_Printer::end_job (void)
|
||||
{
|
||||
Fl_Device::display_device()->set_current();
|
||||
if (hPr != NULL) {
|
||||
@@ -129,7 +129,7 @@ void Fl_GDI_Printer::end_job (void)
|
||||
}
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::absolute_printable_rect(int *x, int *y, int *w, int *h)
|
||||
void Fl_Printer::absolute_printable_rect(int *x, int *y, int *w, int *h)
|
||||
{
|
||||
POINT physPageSize;
|
||||
POINT pixelsPerInch;
|
||||
@@ -155,7 +155,7 @@ void Fl_GDI_Printer::absolute_printable_rect(int *x, int *y, int *w, int *h)
|
||||
origin(x_offset, y_offset);
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::margins(int *left, int *top, int *right, int *bottom)
|
||||
void Fl_Printer::margins(int *left, int *top, int *right, int *bottom)
|
||||
{
|
||||
int x, y, w, h;
|
||||
absolute_printable_rect(&x, &y, &w, &h);
|
||||
@@ -165,14 +165,14 @@ void Fl_GDI_Printer::margins(int *left, int *top, int *right, int *bottom)
|
||||
if (bottom) *bottom = y;
|
||||
}
|
||||
|
||||
int Fl_GDI_Printer::printable_rect(int *w, int *h)
|
||||
int Fl_Printer::printable_rect(int *w, int *h)
|
||||
{
|
||||
int x, y;
|
||||
absolute_printable_rect(&x, &y, w, h);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int Fl_GDI_Printer::start_page (void)
|
||||
int Fl_Printer::start_page (void)
|
||||
{
|
||||
int rsult, w, h;
|
||||
|
||||
@@ -193,14 +193,14 @@ int Fl_GDI_Printer::start_page (void)
|
||||
return rsult;
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::origin (int deltax, int deltay)
|
||||
void Fl_Printer::origin (int deltax, int deltay)
|
||||
{
|
||||
SetWindowOrgEx(fl_gc, - left_margin - deltax, - top_margin - deltay, NULL);
|
||||
x_offset = deltax;
|
||||
y_offset = deltay;
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::scale (float scalex, float scaley)
|
||||
void Fl_Printer::scale (float scalex, float scaley)
|
||||
{
|
||||
int w, h;
|
||||
SetWindowExtEx(fl_gc, (int)(720 / scalex + 0.5), (int)(720 / scaley + 0.5), NULL);
|
||||
@@ -208,7 +208,7 @@ void Fl_GDI_Printer::scale (float scalex, float scaley)
|
||||
origin(0, 0);
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::rotate (float rot_angle)
|
||||
void Fl_Printer::rotate (float rot_angle)
|
||||
{
|
||||
XFORM mat;
|
||||
float angle;
|
||||
@@ -221,7 +221,7 @@ void Fl_GDI_Printer::rotate (float rot_angle)
|
||||
SetWorldTransform(fl_gc, &mat);
|
||||
}
|
||||
|
||||
int Fl_GDI_Printer::end_page (void)
|
||||
int Fl_Printer::end_page (void)
|
||||
{
|
||||
int rsult;
|
||||
|
||||
@@ -254,7 +254,7 @@ static void do_translate(int x, int y)
|
||||
ModifyWorldTransform(fl_gc, &tr, MWT_LEFTMULTIPLY);
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::translate (int x, int y)
|
||||
void Fl_Printer::translate (int x, int y)
|
||||
{
|
||||
do_translate(x, y);
|
||||
if (translate_stack_depth < translate_stack_max) {
|
||||
@@ -264,7 +264,7 @@ void Fl_GDI_Printer::translate (int x, int y)
|
||||
}
|
||||
}
|
||||
|
||||
void Fl_GDI_Printer::untranslate (void)
|
||||
void Fl_Printer::untranslate (void)
|
||||
{
|
||||
if (translate_stack_depth > 0) {
|
||||
translate_stack_depth--;
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// http://www.fltk.org/str.php
|
||||
//
|
||||
|
||||
#include <FL/Fl_Device.H>
|
||||
#include <FL/Fl_PSfile_Device.H>
|
||||
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/fl_ask.H>
|
||||
@@ -1248,7 +1248,7 @@ void Fl_PSfile_Device::end_job (void)
|
||||
}
|
||||
|
||||
#if ! (defined(__APPLE__) || defined(WIN32) )
|
||||
int Fl_PS_Printer::start_job(int pages, int *firstpage, int *lastpage) {
|
||||
int Fl_Printer::start_job(int pages, int *firstpage, int *lastpage) {
|
||||
enum Page_Format format;
|
||||
enum Page_Layout layout;
|
||||
|
||||
|
||||
+12
-12
@@ -37,14 +37,14 @@
|
||||
|
||||
extern void fl_quartz_restore_line_style_();
|
||||
|
||||
Fl_Quartz_Printer::Fl_Quartz_Printer(void)
|
||||
Fl_Printer::Fl_Printer(void)
|
||||
{
|
||||
x_offset = 0;
|
||||
y_offset = 0;
|
||||
type_ = quartz_printer;
|
||||
}
|
||||
|
||||
int Fl_Quartz_Printer::start_job (int pagecount, int *frompage, int *topage)
|
||||
int Fl_Printer::start_job (int pagecount, int *frompage, int *topage)
|
||||
//printing using a Quartz graphics context
|
||||
//returns 0 iff OK
|
||||
{
|
||||
@@ -128,7 +128,7 @@ int Fl_Quartz_Printer::start_job (int pagecount, int *frompage, int *topage)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::margins(int *left, int *top, int *right, int *bottom)
|
||||
void Fl_Printer::margins(int *left, int *top, int *right, int *bottom)
|
||||
{
|
||||
PMPaper paper;
|
||||
PMGetPageFormatPaper(pageFormat, &paper);
|
||||
@@ -150,7 +150,7 @@ void Fl_Quartz_Printer::margins(int *left, int *top, int *right, int *bottom)
|
||||
}
|
||||
}
|
||||
|
||||
int Fl_Quartz_Printer::printable_rect(int *w, int *h)
|
||||
int Fl_Printer::printable_rect(int *w, int *h)
|
||||
//returns 0 iff OK
|
||||
{
|
||||
OSStatus status;
|
||||
@@ -167,7 +167,7 @@ int Fl_Quartz_Printer::printable_rect(int *w, int *h)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::origin(int x, int y)
|
||||
void Fl_Printer::origin(int x, int y)
|
||||
{
|
||||
x_offset = x;
|
||||
y_offset = y;
|
||||
@@ -180,7 +180,7 @@ void Fl_Quartz_Printer::origin(int x, int y)
|
||||
CGContextSaveGState(fl_gc);
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::scale (float s_x, float s_y)
|
||||
void Fl_Printer::scale (float s_x, float s_y)
|
||||
{
|
||||
scale_x = s_x;
|
||||
scale_y = s_y;
|
||||
@@ -193,7 +193,7 @@ void Fl_Quartz_Printer::scale (float s_x, float s_y)
|
||||
CGContextSaveGState(fl_gc);
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::rotate (float rot_angle)
|
||||
void Fl_Printer::rotate (float rot_angle)
|
||||
{
|
||||
angle = - rot_angle * M_PI / 180.;
|
||||
CGContextRestoreGState(fl_gc);
|
||||
@@ -205,20 +205,20 @@ void Fl_Quartz_Printer::rotate (float rot_angle)
|
||||
CGContextSaveGState(fl_gc);
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::translate(int x, int y)
|
||||
void Fl_Printer::translate(int x, int y)
|
||||
{
|
||||
CGContextSaveGState(fl_gc);
|
||||
CGContextTranslateCTM(fl_gc, x, y );
|
||||
CGContextSaveGState(fl_gc);
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::untranslate(void)
|
||||
void Fl_Printer::untranslate(void)
|
||||
{
|
||||
CGContextRestoreGState(fl_gc);
|
||||
CGContextRestoreGState(fl_gc);
|
||||
}
|
||||
|
||||
int Fl_Quartz_Printer::start_page (void)
|
||||
int Fl_Printer::start_page (void)
|
||||
{
|
||||
OSStatus status = PMSessionBeginPageNoDialog(printSession, pageFormat, NULL);
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4
|
||||
@@ -267,7 +267,7 @@ int Fl_Quartz_Printer::start_page (void)
|
||||
return status != noErr;
|
||||
}
|
||||
|
||||
int Fl_Quartz_Printer::end_page (void)
|
||||
int Fl_Printer::end_page (void)
|
||||
{
|
||||
CGContextFlush(fl_gc);
|
||||
CGContextRestoreGState(fl_gc);
|
||||
@@ -278,7 +278,7 @@ int Fl_Quartz_Printer::end_page (void)
|
||||
return status != noErr;
|
||||
}
|
||||
|
||||
void Fl_Quartz_Printer::end_job (void)
|
||||
void Fl_Printer::end_job (void)
|
||||
{
|
||||
OSStatus status;
|
||||
|
||||
|
||||
+1
-3
@@ -29,13 +29,11 @@
|
||||
#include <math.h>
|
||||
#include <string.h>
|
||||
|
||||
#include <FL/Fl_Printer.H>
|
||||
#include <FL/Fl_PSfile_Device.H>
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/Fl_Pixmap.H>
|
||||
#include <FL/Fl_Bitmap.H>
|
||||
|
||||
|
||||
|
||||
int Fl_PSfile_Device::alpha_mask(const uchar * data, int w, int h, int D, int LD){
|
||||
|
||||
mask = 0;
|
||||
|
||||
Reference in New Issue
Block a user