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