Coverage Report

Created: 2025-07-07 10:01

/src/libreoffice/sw/inc/IDocumentDeviceAccess.hxx
Line
Count
Source
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
#pragma once
21
22
class SfxPrinter;
23
class JobSetup;
24
class SwPrintData;
25
class VirtualDevice;
26
class OutputDevice;
27
28
/** Provides access to the formatting devices of a document
29
 */
30
class IDocumentDeviceAccess
31
{
32
public:
33
    /** Return the printer set at the document.
34
35
       @param bCreate
36
       [in] if set, a printer will be created if not already done.
37
38
       @returns
39
       the printer set at the document.
40
    */
41
    virtual SfxPrinter* getPrinter(/*[in]*/ bool bCreate) const = 0;
42
43
    /** Set the printer at the document.
44
45
       @param pP
46
       [in] the new printer or 0.
47
48
       @param bDeleteOld
49
       [in] if set, the old printer will be deleted.
50
51
       @param bCallPrtDataChanged
52
       [in] if set, triggers all necessary invalidations.
53
    */
54
    virtual void setPrinter(/*[in]*/ SfxPrinter* pP, /*[in]*/ bool bDeleteOld,
55
                            /*[in]*/ bool bCallPrtDataChanged)
56
        = 0;
57
58
    /** Return the virtual device set at the document.
59
60
       @param bCreate
61
       [in] if set, a virtual device will be created if not already done.
62
63
       @returns
64
       the virtual device set at the document.
65
    */
66
    virtual VirtualDevice* getVirtualDevice(/*[in]*/ bool bCreate) const = 0;
67
68
    /** Sets the current virtual device
69
70
       @param pVd
71
       [in] the new virtual device.
72
73
       The old virtual device will be deleted.
74
       Triggers all necessary invalidations.
75
     */
76
    virtual void setVirtualDevice(/*[in]*/ VirtualDevice* pVd) = 0;
77
78
    /** Returns the current reference device
79
80
       @param bCreate
81
       [in] if set, the reference device will be created if not already done.
82
83
       @returns
84
       the current reference device
85
     */
86
    virtual OutputDevice* getReferenceDevice(/*[in]*/ bool bCreate) const = 0;
87
88
    /** Sets the type of the reference device used for formatting the document
89
90
       @param bNewVirtual
91
       [in] if set, the reference device will be a virtual device, otherwise
92
            the printer is used for formatting the document
93
94
       @param bNewHiRes
95
       [in] if set, the virtual device will be the HiRes virtual device
96
     */
97
    virtual void setReferenceDeviceType(/*[in]*/ bool bNewVirtual, /*[in]*/ bool bNewHiRes) = 0;
98
99
    /** Returns the Jobsetup
100
101
       @returns
102
       the current Jobsetup
103
     */
104
    virtual const JobSetup* getJobsetup() const = 0;
105
106
    /** Sets the Jobsetup
107
108
       @param rJobSetup
109
       [in] the new Jobsetup.
110
     */
111
    virtual void setJobsetup(/*[in]*/ const JobSetup& rJobSetup) = 0;
112
113
    /** Returns the PrintData
114
115
       @returns
116
       the current PrintData
117
     */
118
    virtual const SwPrintData& getPrintData() const = 0;
119
120
    /** Sets the PrintData
121
122
       @param rPrtData
123
       [in] the new PrintData.
124
     */
125
    virtual void setPrintData(/*[in]*/ const SwPrintData& rPrtData) = 0;
126
127
protected:
128
94.3k
    virtual ~IDocumentDeviceAccess(){};
129
};
130
131
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */