1*1d2dbeb0SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*1d2dbeb0SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*1d2dbeb0SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*1d2dbeb0SAndrew Rist  * distributed with this work for additional information
6*1d2dbeb0SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*1d2dbeb0SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*1d2dbeb0SAndrew Rist  * "License"); you may not use this file except in compliance
9*1d2dbeb0SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*1d2dbeb0SAndrew Rist  *
11*1d2dbeb0SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*1d2dbeb0SAndrew Rist  *
13*1d2dbeb0SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*1d2dbeb0SAndrew Rist  * software distributed under the License is distributed on an
15*1d2dbeb0SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*1d2dbeb0SAndrew Rist  * KIND, either express or implied.  See the License for the
17*1d2dbeb0SAndrew Rist  * specific language governing permissions and limitations
18*1d2dbeb0SAndrew Rist  * under the License.
19*1d2dbeb0SAndrew Rist  *
20*1d2dbeb0SAndrew Rist  *************************************************************/
21*1d2dbeb0SAndrew Rist 
22*1d2dbeb0SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir  #ifndef IDOCUMENTDEVICEACCESS_HXX_INCLUDED
25cdf0e10cSrcweir  #define IDOCUMENTDEVICEACCESS_HXX_INCLUDED
26cdf0e10cSrcweir 
27cdf0e10cSrcweir  class SfxPrinter;
28cdf0e10cSrcweir  class JobSetup;
29cdf0e10cSrcweir  class SwPrintData;
30cdf0e10cSrcweir  class VirtualDevice;
31cdf0e10cSrcweir  class OutputDevice;
32cdf0e10cSrcweir 
33cdf0e10cSrcweir  /** Provides access to the formatting devices of a document
34cdf0e10cSrcweir  */
35cdf0e10cSrcweir  class IDocumentDeviceAccess
36cdf0e10cSrcweir  {
37cdf0e10cSrcweir  public:
38cdf0e10cSrcweir 
39cdf0e10cSrcweir     /** Return the printer set at the document.
40cdf0e10cSrcweir 
41cdf0e10cSrcweir        @param bCreate
42cdf0e10cSrcweir        [in] if set, a printer will be created if not already done.
43cdf0e10cSrcweir 
44cdf0e10cSrcweir        @returns
45cdf0e10cSrcweir        the printer set at the document.
46cdf0e10cSrcweir 	*/
47cdf0e10cSrcweir     virtual SfxPrinter* getPrinter(/*[in]*/ bool bCreate ) const = 0;
48cdf0e10cSrcweir 
49cdf0e10cSrcweir     /** Set the printer at the document.
50cdf0e10cSrcweir 
51cdf0e10cSrcweir        @param pP
52cdf0e10cSrcweir        [in] the new printer or 0.
53cdf0e10cSrcweir 
54cdf0e10cSrcweir        @param bDeleteOld
55cdf0e10cSrcweir        [in] if set, the old printer will be deleted.
56cdf0e10cSrcweir 
57cdf0e10cSrcweir        @param bCallPrtDataChanged
58cdf0e10cSrcweir        [in] if set, triggers all necessary invalidations.
59cdf0e10cSrcweir 
60cdf0e10cSrcweir        @returns
61cdf0e10cSrcweir        the printer set at the document.
62cdf0e10cSrcweir     */
63cdf0e10cSrcweir     virtual void setPrinter(/*[in]*/ SfxPrinter* pP,/*[in]*/ bool bDeleteOld,/*[in]*/ bool bCallPrtDataChanged ) = 0;
64cdf0e10cSrcweir 
65cdf0e10cSrcweir     /** Return the virtual device set at the document.
66cdf0e10cSrcweir 
67cdf0e10cSrcweir        @param bCreate
68cdf0e10cSrcweir        [in] if set, a virtual device will be created if not already done.
69cdf0e10cSrcweir 
70cdf0e10cSrcweir        @returns
71cdf0e10cSrcweir        the virtual device set at the document.
72cdf0e10cSrcweir     */
73cdf0e10cSrcweir     virtual VirtualDevice* getVirtualDevice(/*[in]*/ bool bCreate ) const = 0;
74cdf0e10cSrcweir 
75cdf0e10cSrcweir     /** Sets the current virtual device
76cdf0e10cSrcweir 
77cdf0e10cSrcweir        @param pVd
78cdf0e10cSrcweir        [in] the new virtual device.
79cdf0e10cSrcweir 
80cdf0e10cSrcweir        @param bDeleteOld
81cdf0e10cSrcweir        [in] if set, the old virtual device will be deleted.
82cdf0e10cSrcweir 
83cdf0e10cSrcweir        @param bCallVirDevDataChanged
84cdf0e10cSrcweir        [in] if set, triggers all necessary invalidations.
85cdf0e10cSrcweir      */
86cdf0e10cSrcweir     virtual void setVirtualDevice(/*[in]*/ VirtualDevice* pVd,/*[in]*/ bool bDeleteOld, /*[in]*/ bool bCallVirDevDataChanged ) = 0;
87cdf0e10cSrcweir 
88cdf0e10cSrcweir     /** Returns the current reference device
89cdf0e10cSrcweir 
90cdf0e10cSrcweir        @param bCreate
91cdf0e10cSrcweir        [in] if set, the reference device will be created if not already done.
92cdf0e10cSrcweir 
93cdf0e10cSrcweir        @returns
94cdf0e10cSrcweir        the current reference device
95cdf0e10cSrcweir      */
96cdf0e10cSrcweir     virtual OutputDevice* getReferenceDevice(/*[in]*/ bool bCreate ) const = 0;
97cdf0e10cSrcweir 
98cdf0e10cSrcweir     /** Sets the type of the reference device used for formatting the document
99cdf0e10cSrcweir 
100cdf0e10cSrcweir        @param bNewVirtual
101cdf0e10cSrcweir        [in] if set, the reference device will be a virtual device, otherwise
102cdf0e10cSrcweir             the printer is used for formatting the document
103cdf0e10cSrcweir 
104cdf0e10cSrcweir        @param bNewHiRes
105cdf0e10cSrcweir        [in] if set, the virtual device will be the HiRes virtual device
106cdf0e10cSrcweir      */
107cdf0e10cSrcweir     virtual void setReferenceDeviceType(/*[in]*/ bool bNewVirtual, /*[in]*/ bool bNewHiRes ) = 0;
108cdf0e10cSrcweir 
109cdf0e10cSrcweir     /** Returns the Jobsetup
110cdf0e10cSrcweir 
111cdf0e10cSrcweir        @returns
112cdf0e10cSrcweir        the current Jobsetup
113cdf0e10cSrcweir      */
114cdf0e10cSrcweir     virtual const JobSetup* getJobsetup() const = 0;
115cdf0e10cSrcweir 
116cdf0e10cSrcweir     /** Sets the Jobsetup
117cdf0e10cSrcweir 
118cdf0e10cSrcweir        @param rJobSetup
119cdf0e10cSrcweir        [in] the new Jobsetup.
120cdf0e10cSrcweir      */
121cdf0e10cSrcweir     virtual void  setJobsetup(/*[in]*/ const JobSetup& rJobSetup ) = 0;
122cdf0e10cSrcweir 
123cdf0e10cSrcweir     /** Returns the PrintData
124cdf0e10cSrcweir 
125cdf0e10cSrcweir        @returns
126cdf0e10cSrcweir        the current PrintData
127cdf0e10cSrcweir      */
128cdf0e10cSrcweir     virtual const SwPrintData & getPrintData() const = 0;
129cdf0e10cSrcweir 
130cdf0e10cSrcweir     /** Sets the PrintData
131cdf0e10cSrcweir 
132cdf0e10cSrcweir        @param rPrtData
133cdf0e10cSrcweir        [in] the new PrintData.
134cdf0e10cSrcweir      */
135cdf0e10cSrcweir     virtual void setPrintData(/*[in]*/ const SwPrintData& rPrtData) = 0;
136cdf0e10cSrcweir 
137cdf0e10cSrcweir  protected:
138cdf0e10cSrcweir     virtual ~IDocumentDeviceAccess() {};
139cdf0e10cSrcweir  };
140cdf0e10cSrcweir 
141cdf0e10cSrcweir  #endif // IDOCUMENTDEVICEACCESS_HXX_INCLUDED
142