summaryrefslogtreecommitdiff
path: root/include/vcl
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2021-09-01 02:19:27 +1000
committerMike Kaganski <mike.kaganski@collabora.com>2021-09-07 17:59:47 +0200
commit7228a2dbfa11cd846678aaacd248c68adcda5f34 (patch)
tree5a81fa7d3f225952747c2982d4a8baf2bd17817d /include/vcl
parentb42516b433c1d71487db061a058887f6dd76dd74 (diff)
vcl: rename PrinterOptions to vcl::printer::Options
Move Options to own source and header files. Options moved to own source and header files, however also put Options into vcl::printer namespace. I have renamed and moved PrinterOptions into the vcl::printer namespace because the word "Printer" is redundant, and we want to organize the vcl namespace better. Change-Id: I2ef188af381dd65907d48f7b190e4ab69417606d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121389 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'include/vcl')
-rw-r--r--include/vcl/print.hxx108
-rw-r--r--include/vcl/printer/Options.hxx120
2 files changed, 136 insertions, 92 deletions
diff --git a/include/vcl/print.hxx b/include/vcl/print.hxx
index b4db13959954..dba696eebf18 100644
--- a/include/vcl/print.hxx
+++ b/include/vcl/print.hxx
@@ -20,15 +20,22 @@
#ifndef INCLUDED_VCL_PRINT_HXX
#define INCLUDED_VCL_PRINT_HXX
+#include <sal/config.h>
+
#include <config_options.h>
+
+#include <sal/types.h>
#include <rtl/ustring.hxx>
+#include <tools/gen.hxx>
+#include <tools/long.hxx>
#include <i18nutil/paper.hxx>
-#include <vcl/errcode.hxx>
#include <vcl/dllapi.h>
+#include <vcl/PrinterSupport.hxx>
+#include <vcl/errcode.hxx>
#include <vcl/outdev.hxx>
#include <vcl/prntypes.hxx>
-#include <vcl/PrinterSupport.hxx>
+#include <vcl/region.hxx>
#include <vcl/jobset.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
@@ -48,97 +55,14 @@ enum class SalPrinterError;
namespace vcl {
class PrinterController;
+
+ namespace printer {
+ class Options;
+ }
}
namespace weld { class Window; }
-enum class PrinterTransparencyMode
-{
- Auto = 0,
- NONE = 1
-};
-
-
-enum class PrinterGradientMode
-{
- Stripes = 0,
- Color = 1
-};
-
-
-enum class PrinterBitmapMode
-{
- Optimal = 0,
- Normal = 1,
- Resolution = 2
-};
-
-
-class UNLESS_MERGELIBS(VCL_DLLPUBLIC) PrinterOptions
-{
-private:
-
- bool mbReduceTransparency;
- PrinterTransparencyMode meReducedTransparencyMode;
- bool mbReduceGradients;
- PrinterGradientMode meReducedGradientsMode;
- sal_uInt16 mnReducedGradientStepCount;
- bool mbReduceBitmaps;
- PrinterBitmapMode meReducedBitmapMode;
- sal_uInt16 mnReducedBitmapResolution;
- bool mbReducedBitmapsIncludeTransparency;
- bool mbConvertToGreyscales;
- bool mbPDFAsStandardPrintJobFormat;
-
-public:
- PrinterOptions();
-
- bool IsReduceTransparency() const { return mbReduceTransparency; }
- void SetReduceTransparency( bool bSet ) { mbReduceTransparency = bSet; }
-
- PrinterTransparencyMode GetReducedTransparencyMode() const { return meReducedTransparencyMode; }
- void SetReducedTransparencyMode( PrinterTransparencyMode eMode )
- { meReducedTransparencyMode = eMode; }
-
- bool IsReduceGradients() const { return mbReduceGradients; }
- void SetReduceGradients( bool bSet ) { mbReduceGradients = bSet; }
-
- PrinterGradientMode GetReducedGradientMode() const { return meReducedGradientsMode; }
- void SetReducedGradientMode( PrinterGradientMode eMode ) { meReducedGradientsMode = eMode; }
-
- sal_uInt16 GetReducedGradientStepCount() const { return mnReducedGradientStepCount; }
- void SetReducedGradientStepCount( sal_uInt16 nStepCount )
- { mnReducedGradientStepCount = nStepCount; }
-
- bool IsReduceBitmaps() const { return mbReduceBitmaps; }
- void SetReduceBitmaps( bool bSet ) { mbReduceBitmaps = bSet; }
-
- PrinterBitmapMode GetReducedBitmapMode() const { return meReducedBitmapMode; }
- void SetReducedBitmapMode( PrinterBitmapMode eMode ) { meReducedBitmapMode = eMode; }
-
- sal_uInt16 GetReducedBitmapResolution() const { return mnReducedBitmapResolution; }
- void SetReducedBitmapResolution( sal_uInt16 nResolution )
- { mnReducedBitmapResolution = nResolution; }
-
- bool IsReducedBitmapIncludesTransparency() const { return mbReducedBitmapsIncludeTransparency; }
- void SetReducedBitmapIncludesTransparency( bool bSet )
- { mbReducedBitmapsIncludeTransparency = bSet; }
-
- bool IsConvertToGreyscales() const { return mbConvertToGreyscales; }
- void SetConvertToGreyscales( bool bSet ) { mbConvertToGreyscales = bSet; }
-
- bool IsPDFAsStandardPrintJobFormat() const { return mbPDFAsStandardPrintJobFormat; }
- void SetPDFAsStandardPrintJobFormat( bool bSet ) { mbPDFAsStandardPrintJobFormat = bSet; }
-
- /** Read printer options from configuration
-
- parameter decides whether the set for
- print "to printer" or "to file" should be read.
- */
- void ReadFromConfig( bool bFile );
-};
-
-
class VCL_DLLPUBLIC Printer : public OutputDevice
{
friend class ::OutputDevice;
@@ -150,7 +74,7 @@ private:
VclPtr<Printer> mpPrev;
VclPtr<Printer> mpNext;
VclPtr<VirtualDevice> mpDisplayDev;
- std::unique_ptr<PrinterOptions> mpPrinterOptions;
+ std::unique_ptr<vcl::printer::Options> mpPrinterOptions;
OUString maPrinterName;
OUString maDriver;
OUString maPrintFile;
@@ -293,8 +217,8 @@ public:
should the need arise to set the printer options outside vcl, also a method would have to be devised
to not override these again internally
*/
- VCL_DLLPRIVATE void SetPrinterOptions( const PrinterOptions& rOptions );
- const PrinterOptions& GetPrinterOptions() const { return( *mpPrinterOptions ); }
+ VCL_DLLPRIVATE void SetPrinterOptions( const vcl::printer::Options& rOptions );
+ const vcl::printer::Options& GetPrinterOptions() const { return( *mpPrinterOptions ); }
bool SetOrientation( Orientation eOrient );
Orientation GetOrientation() const;
diff --git a/include/vcl/printer/Options.hxx b/include/vcl/printer/Options.hxx
new file mode 100644
index 000000000000..3899fd313b8f
--- /dev/null
+++ b/include/vcl/printer/Options.hxx
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <sal/config.h>
+
+#include <config_options.h>
+
+#include <sal/types.h>
+
+#include <vcl/dllapi.h>
+
+namespace vcl::printer
+{
+enum class TransparencyMode
+{
+ Auto = 0,
+ NONE = 1
+};
+
+enum class GradientMode
+{
+ Stripes = 0,
+ Color = 1
+};
+
+enum class BitmapMode
+{
+ Optimal = 0,
+ Normal = 1,
+ Resolution = 2
+};
+
+class UNLESS_MERGELIBS(VCL_DLLPUBLIC) Options
+{
+private:
+ bool mbReduceTransparency = false;
+ TransparencyMode meReducedTransparencyMode = TransparencyMode::Auto;
+ bool mbReduceGradients = false;
+ GradientMode meReducedGradientsMode = GradientMode::Stripes;
+ sal_uInt16 mnReducedGradientStepCount = 64;
+ bool mbReduceBitmaps = false;
+ BitmapMode meReducedBitmapMode = BitmapMode::Normal;
+ sal_uInt16 mnReducedBitmapResolution = 200;
+ bool mbReducedBitmapsIncludeTransparency = true;
+ bool mbConvertToGreyscales = false;
+ bool mbPDFAsStandardPrintJobFormat = false;
+
+public:
+ Options() = default;
+
+ bool IsReduceTransparency() const { return mbReduceTransparency; }
+ void SetReduceTransparency(bool bSet) { mbReduceTransparency = bSet; }
+
+ TransparencyMode GetReducedTransparencyMode() const { return meReducedTransparencyMode; }
+ void SetReducedTransparencyMode(TransparencyMode eMode) { meReducedTransparencyMode = eMode; }
+
+ bool IsReduceGradients() const { return mbReduceGradients; }
+ void SetReduceGradients(bool bSet) { mbReduceGradients = bSet; }
+
+ GradientMode GetReducedGradientMode() const { return meReducedGradientsMode; }
+ void SetReducedGradientMode(GradientMode eMode) { meReducedGradientsMode = eMode; }
+
+ sal_uInt16 GetReducedGradientStepCount() const { return mnReducedGradientStepCount; }
+ void SetReducedGradientStepCount(sal_uInt16 nStepCount)
+ {
+ mnReducedGradientStepCount = nStepCount;
+ }
+
+ bool IsReduceBitmaps() const { return mbReduceBitmaps; }
+ void SetReduceBitmaps(bool bSet) { mbReduceBitmaps = bSet; }
+
+ BitmapMode GetReducedBitmapMode() const { return meReducedBitmapMode; }
+ void SetReducedBitmapMode(BitmapMode eMode) { meReducedBitmapMode = eMode; }
+
+ sal_uInt16 GetReducedBitmapResolution() const { return mnReducedBitmapResolution; }
+ void SetReducedBitmapResolution(sal_uInt16 nResolution)
+ {
+ mnReducedBitmapResolution = nResolution;
+ }
+
+ bool IsReducedBitmapIncludesTransparency() const { return mbReducedBitmapsIncludeTransparency; }
+ void SetReducedBitmapIncludesTransparency(bool bSet)
+ {
+ mbReducedBitmapsIncludeTransparency = bSet;
+ }
+
+ bool IsConvertToGreyscales() const { return mbConvertToGreyscales; }
+ void SetConvertToGreyscales(bool bSet) { mbConvertToGreyscales = bSet; }
+
+ bool IsPDFAsStandardPrintJobFormat() const { return mbPDFAsStandardPrintJobFormat; }
+ void SetPDFAsStandardPrintJobFormat(bool bSet) { mbPDFAsStandardPrintJobFormat = bSet; }
+
+ /** Read printer options from configuration
+
+ parameter decides whether the set for
+ print "to printer" or "to file" should be read.
+ */
+ void ReadFromConfig(bool bFile);
+};
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */