From f5a1a29ff00c74efcb82c39df2187a6e2c8124d3 Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 10 Apr 2013 08:05:43 +0000 Subject: [PATCH] printers4lazarus, cairocanvas: do not use cairo on win64 git-svn-id: trunk@40782 - --- .gitattributes | 1 + components/cairocanvas/cairocanvas_pkg.lpk | 10 ++++++++-- components/cairocanvas/cairocanvas_pkg.pas | 2 +- components/cairocanvas/cairocanvasall.pas | 18 ++++++++++++++++++ components/printers/unix/cupsprinters.inc | 5 ++++- components/printers/unix/cupsprinters_h.inc | 11 ++++++++++- 6 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 components/cairocanvas/cairocanvasall.pas diff --git a/.gitattributes b/.gitattributes index 8e22c4f4ef..7b4e910627 100644 --- a/.gitattributes +++ b/.gitattributes @@ -570,6 +570,7 @@ components/cairocanvas/README.txt svneol=native#text/plain components/cairocanvas/cairocanvas.pas svneol=native#text/plain components/cairocanvas/cairocanvas_pkg.lpk svneol=native#text/plain components/cairocanvas/cairocanvas_pkg.pas svneol=native#text/plain +components/cairocanvas/cairocanvasall.pas svneol=native#text/plain components/cairocanvas/cairographics.pas svneol=native#text/plain components/cairocanvas/cairoprinter.pas svneol=native#text/pascal components/cairocanvas/tests/24217/project1.lpi svneol=native#text/plain diff --git a/components/cairocanvas/cairocanvas_pkg.lpk b/components/cairocanvas/cairocanvas_pkg.lpk index 19777d08d7..8f35e3d90b 100644 --- a/components/cairocanvas/cairocanvas_pkg.lpk +++ b/components/cairocanvas/cairocanvas_pkg.lpk @@ -18,15 +18,21 @@ - + + - + + + + + + diff --git a/components/cairocanvas/cairocanvas_pkg.pas b/components/cairocanvas/cairocanvas_pkg.pas index 77c93f3c35..0634f8eda6 100644 --- a/components/cairocanvas/cairocanvas_pkg.pas +++ b/components/cairocanvas/cairocanvas_pkg.pas @@ -7,7 +7,7 @@ unit cairocanvas_pkg; interface uses - CairoCanvas, CairoPrinter; + CairoCanvasAll; implementation diff --git a/components/cairocanvas/cairocanvasall.pas b/components/cairocanvas/cairocanvasall.pas new file mode 100644 index 0000000000..dbfcf80f4a --- /dev/null +++ b/components/cairocanvas/cairocanvasall.pas @@ -0,0 +1,18 @@ +{ The CairoCanvas package can be compiled on all platforms. + This unit defines what units are available on which platform. +} +unit CairoCanvasAll; + +{$mode objfpc}{$H+} + +interface + +{$IFNDEF win64} +uses + {%H-}CairoCanvas, {%H-}CairoPrinter; +{$ENDIF} + +implementation + +end. + diff --git a/components/printers/unix/cupsprinters.inc b/components/printers/unix/cupsprinters.inc index ad5c44e074..0f58e8e26b 100644 --- a/components/printers/unix/cupsprinters.inc +++ b/components/printers/unix/cupsprinters.inc @@ -1184,8 +1184,11 @@ end; function TCUPSPrinter.DoGetDefaultCanvasClass: TPrinterCanvasRef; begin - //Result := TPostscriptPrinterCanvas; + {$IFDEF UseCairo} Result := TCairoPsCanvas; + {$ELSE} + Result := TPostscriptPrinterCanvas; + {$ENDIF} end; function TCUPSPrinter.GetPrinterType: TPrinterType; diff --git a/components/printers/unix/cupsprinters_h.inc b/components/printers/unix/cupsprinters_h.inc index fc655c4e63..6752a4f1e3 100644 --- a/components/printers/unix/cupsprinters_h.inc +++ b/components/printers/unix/cupsprinters_h.inc @@ -53,9 +53,18 @@ This code is heavily based on Tony Maro's initial Printers.pas implementation in the LCL, but was adapted to work with CUPS. ---------------------------------------------------------------------} + +{$IFNDEF win64} + {$DEFINE UseCairo} +{$ENDIF} + uses Classes, SysUtils, LCLProc, PostScriptCanvas, Printers, Dialogs, Controls, - CUPSDyn, CairoCanvas; + CUPSDyn + {$IFDEF UseCairo} + ,CairoCanvas + {$ENDIF} + ; type TCUPSPrinterState = (