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