Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
11 : * Licensed to the Apache Software Foundation (ASF) under one or more
12 : * contributor license agreements. See the NOTICE file distributed
13 : * with this work for additional information regarding copyright
14 : * ownership. The ASF licenses this file to you under the Apache
15 : * License, Version 2.0 (the "License"); you may not use this file
16 : * except in compliance with the License. You may obtain a copy of
17 : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 : */
19 :
20 : #ifndef IDOCUMENTDEVICEACCESS_HXX_INCLUDED
21 : #define IDOCUMENTDEVICEACCESS_HXX_INCLUDED
22 :
23 : class SfxPrinter;
24 : class JobSetup;
25 : class SwPrintData;
26 : class VirtualDevice;
27 : class OutputDevice;
28 :
29 : /** Provides access to the formatting devices of a document
30 : */
31 898 : class IDocumentDeviceAccess
32 : {
33 : public:
34 :
35 : /** Return the printer set at the document.
36 :
37 : @param bCreate
38 : [in] if set, a printer will be created if not already done.
39 :
40 : @returns
41 : the printer set at the document.
42 : */
43 : virtual SfxPrinter* getPrinter(/*[in]*/ bool bCreate ) const = 0;
44 :
45 : /** Set the printer at the document.
46 :
47 : @param pP
48 : [in] the new printer or 0.
49 :
50 : @param bDeleteOld
51 : [in] if set, the old printer will be deleted.
52 :
53 : @param bCallPrtDataChanged
54 : [in] if set, triggers all necessary invalidations.
55 :
56 : @returns
57 : the printer set at the document.
58 : */
59 : virtual void setPrinter(/*[in]*/ SfxPrinter* pP,/*[in]*/ bool bDeleteOld,/*[in]*/ bool bCallPrtDataChanged ) = 0;
60 :
61 : /** Return the virtual device set at the document.
62 :
63 : @param bCreate
64 : [in] if set, a virtual device will be created if not already done.
65 :
66 : @returns
67 : the virtual device set at the document.
68 : */
69 : virtual VirtualDevice* getVirtualDevice(/*[in]*/ bool bCreate ) const = 0;
70 :
71 : /** Sets the current virtual device
72 :
73 : @param pVd
74 : [in] the new virtual device.
75 :
76 : @param bDeleteOld
77 : [in] if set, the old virtual device will be deleted.
78 :
79 : @param bCallVirDevDataChanged
80 : [in] if set, triggers all necessary invalidations.
81 : */
82 : virtual void setVirtualDevice(/*[in]*/ VirtualDevice* pVd,/*[in]*/ bool bDeleteOld, /*[in]*/ bool bCallVirDevDataChanged ) = 0;
83 :
84 : /** Returns the current reference device
85 :
86 : @param bCreate
87 : [in] if set, the reference device will be created if not already done.
88 :
89 : @returns
90 : the current reference device
91 : */
92 : virtual OutputDevice* getReferenceDevice(/*[in]*/ bool bCreate ) const = 0;
93 :
94 : /** Sets the type of the reference device used for formatting the document
95 :
96 : @param bNewVirtual
97 : [in] if set, the reference device will be a virtual device, otherwise
98 : the printer is used for formatting the document
99 :
100 : @param bNewHiRes
101 : [in] if set, the virtual device will be the HiRes virtual device
102 : */
103 : virtual void setReferenceDeviceType(/*[in]*/ bool bNewVirtual, /*[in]*/ bool bNewHiRes ) = 0;
104 :
105 : /** Returns the Jobsetup
106 :
107 : @returns
108 : the current Jobsetup
109 : */
110 : virtual const JobSetup* getJobsetup() const = 0;
111 :
112 : /** Sets the Jobsetup
113 :
114 : @param rJobSetup
115 : [in] the new Jobsetup.
116 : */
117 : virtual void setJobsetup(/*[in]*/ const JobSetup& rJobSetup ) = 0;
118 :
119 : /** Returns the PrintData
120 :
121 : @returns
122 : the current PrintData
123 : */
124 : virtual const SwPrintData & getPrintData() const = 0;
125 :
126 : /** Sets the PrintData
127 :
128 : @param rPrtData
129 : [in] the new PrintData.
130 : */
131 : virtual void setPrintData(/*[in]*/ const SwPrintData& rPrtData) = 0;
132 :
133 : protected:
134 895 : virtual ~IDocumentDeviceAccess() {};
135 : };
136 :
137 : #endif // IDOCUMENTDEVICEACCESS_HXX_INCLUDED
138 :
139 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|