diff options
author | Chris Sherlock <chris.sherlock79@gmail.com> | 2021-09-01 02:19:27 +1000 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-09-07 17:59:47 +0200 |
commit | 7228a2dbfa11cd846678aaacd248c68adcda5f34 (patch) | |
tree | 5a81fa7d3f225952747c2982d4a8baf2bd17817d /include/vcl | |
parent | b42516b433c1d71487db061a058887f6dd76dd74 (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.hxx | 108 | ||||
-rw-r--r-- | include/vcl/printer/Options.hxx | 120 |
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: */ |