LibreOffice Module sc (master) 1
output.hxx
Go to the documentation of this file.
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#include <address.hxx>
23#include <cellvalue.hxx>
24#include <tools/color.hxx>
25#include <tools/fract.hxx>
26#include <tools/gen.hxx>
27#include <editeng/svxenum.hxx>
28#include <vcl/outdev.hxx>
29#include <tools/degree.hxx>
30#include <o3tl/deleter.hxx>
31#include <optional>
32
33struct ScCellInfo;
34
35namespace sc {
36 class SpellCheckContext;
37}
38
39namespace editeng {
40 struct MisspellRanges;
41}
42namespace drawinglayer::processor2d { class BaseProcessor2D; }
43
44namespace vcl { class Font; }
45class EditEngine;
46class ScDocument;
47class ScPatternAttr;
48struct RowInfo;
49struct ScTableInfo;
50class ScTabViewShell;
51class ScPageBreakData;
52class FmFormView;
54class SdrPaintWindow;
55
56#define SC_SCENARIO_HSPACE 60
57#define SC_SCENARIO_VSPACE 50
58
60
62typedef std::unique_ptr<ClearableClipRegion, o3tl::default_delete<ClearableClipRegion>> ClearableClipRegionPtr;
63
72
74 : nX( 0 )
75 , nY( 0 )
76 , nWidth( 0 )
77 , nHeight( 0 )
78 , nTab( 0 )
79 , aColor( COL_AUTO ) {}
80
82 tools::Long aY,
83 tools::Long aWidth,
84 tools::Long aHeight,
85 tools::Long aTab,
86 const Color& rColor )
87 : nX( aX )
88 , nY( aY )
89 , nWidth( aWidth )
90 , nHeight( aHeight )
91 , nTab( aTab )
92 , aColor( rColor ) {}
93
94 bool Is() const { return ( nWidth > 0 && nHeight > 0 ); }
95};
96
98{
99friend class ScDrawStringsVars;
100friend class ScGridWindow;
101private:
103 {
111 };
112
114 {
115 public:
130 bool mbBreak:1;
144 const std::vector<editeng::MisspellRanges>* mpMisspellRanges;
145
146 explicit DrawEditParam(const ScPatternAttr* pPattern, const SfxItemSet* pCondSet, bool bCellIsValue);
147
148 bool readCellContent(const ScDocument* pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool& rWrapFields);
149 void setPatternToEngine(bool bUseStyleColor);
150 void calcMargins(tools::Long& rTop, tools::Long& rLeft, tools::Long& rBottom, tools::Long& rRight, double nPPTX, double nPPTY) const;
151 void calcPaperSize(Size& rPaperSize, const tools::Rectangle& rAlignRect, double nPPTX, double nPPTY) const;
152 void getEngineSize(ScFieldEditEngine* pEngine, tools::Long& rWidth, tools::Long& rHeight) const;
153 bool hasLineBreak() const;
154 bool isHyperlinkCell() const;
155
161 bool isVerticallyOriented() const;
162
171 void calcStartPosForVertical(Point& rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice* pRefDevice);
172
175 void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice* pDev);
176 };
177
179 VclPtr<OutputDevice> mpRefDevice; // printer if used for preview
180 VclPtr<OutputDevice> pFmtDevice; // reference for text formatting
182 RowInfo* pRowInfo; // Info block
183 SCSIZE nArrCount; // occupied lines in info block
184 ScDocument* mpDoc; // Document
185 SCTAB nTab; // sheet
186 tools::Long nScrX; // Output Startpos. (Pixel)
188 tools::Long nScrW; // Output size (Pixel)
190 tools::Long nMirrorW; // Visible output width for mirroring (default: nScrW)
191 SCCOL nX1; // Start-/End coordinates
192 SCROW nY1; // ( incl. hidden )
195 SCCOL nVisX1; // Start-/End coordinates
196 SCROW nVisY1; // ( visible range )
199 ScOutputType eType; // Screen/Printer ...
200 double mnPPTX; // Pixel per Twips
201 double mnPPTY;
204
205 ScTabViewShell* pViewShell; // for connect from visible plug-ins
206
207 FmFormView* pDrawView; // SdrView to paint to
208
209 bool bEditMode; // InPlace edited cell - do not output
212
213 bool bMetaFile; // Output to metafile (not pixels!)
214
215 bool bPagebreakMode; // Page break preview
216 bool bSolidBackground; // white instead of transparent
217
220
221 bool mbSyntaxMode; // Syntax highlighting
222 std::optional<Color> mxValueColor;
223 std::optional<Color> mxTextColor;
224 std::optional<Color> mxFormulaColor;
225
227
230 bool bShowSpellErrors; // Show spelling errors in EditObjects
232
234
235 bool bAnyClipped; // internal
239
240 // #i74769# use SdrPaintWindow direct, remember it during BeginDrawLayers/EndDrawLayers
243
244 // private methods
245
246 bool GetMergeOrigin( SCCOL nX, SCROW nY, SCSIZE nArrY,
247 SCCOL& rOverX, SCROW& rOverY, bool bVisRowChanged );
248 bool IsEmptyCellText( const RowInfo* pThisRowInfo, SCCOL nX, SCROW nY );
249 void GetVisibleCell( SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue& rCell );
250
251 bool IsAvailable( SCCOL nX, SCROW nY );
252
253 void GetOutputArea( SCCOL nX, SCSIZE nArrY, tools::Long nPosX, tools::Long nPosY,
254 SCCOL nCellX, SCROW nCellY, tools::Long nNeeded,
255 const ScPatternAttr& rPattern,
256 sal_uInt16 nHorJustify, bool bCellIsValue,
257 bool bBreak, bool bOverwrite,
258 OutputAreaParam& rParam );
259
260 void ShrinkEditEngine( EditEngine& rEngine, const tools::Rectangle& rAlignRect,
261 tools::Long nLeftM, tools::Long nTopM, tools::Long nRightM, tools::Long nBottomM,
262 bool bWidth, SvxCellOrientation nOrient, Degree100 nAttrRotate, bool bPixelToLogic,
263 tools::Long& rEngineWidth, tools::Long& rEngineHeight, tools::Long& rNeededPixel,
264 bool& rLeftClip, bool& rRightClip );
265
266 void SetSyntaxColor( vcl::Font* pFont, const ScRefCellValue& rCell );
267 void SetEditSyntaxColor( EditEngine& rEngine, const ScRefCellValue& rCell );
268
269 double GetStretch() const;
270
271 void DrawRotatedFrame(vcl::RenderContext& rRenderContext); // pixel
272
273 std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> CreateProcessor2D( );
274
275 void DrawEditStandard(DrawEditParam& rParam);
276 void DrawEditBottomTop(DrawEditParam& rParam);
277 void DrawEditTopBottom(DrawEditParam& rParam);
278 void DrawEditStacked(DrawEditParam& rParam);
280
281 std::unique_ptr<ScFieldEditEngine> CreateOutputEditEngine();
282
283 void SetClipMarks( OutputAreaParam &aAreaParam, ScCellInfo* pClipMarkCell,
284 SvxCellHorJustify eOutHorJust, bool bHasHashText, tools::Long nLayoutSign );
285
286 void ShowClipMarks( DrawEditParam& rParam, tools::Long nEngineWidth, const Size& aCellSize,
287 bool bMerged, OutputAreaParam& aAreaParam, bool bTop );
288
289 ClearableClipRegionPtr Clip(DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
290 tools::Long nEngineWidth, bool bWrapFields, bool bTop);
291
293 tools::Long SetEngineTextAndGetWidth( DrawEditParam& rParam, const OUString& rSetString,
294 tools::Long& rNeededPixel, tools::Long nAddWidthPixels );
295
296 // Check for and set cell rotations at OutputData to have it available
297 // in the svx tooling to render the borders. Moved to private section
298 // and the single call to end of constructor to be sure this always happens
299 void SetCellRotations();
300
301public:
302
308 ScOutputData( OutputDevice* pNewDev, ScOutputType eNewType,
309 ScTableInfo& rTabInfo, ScDocument* pNewDoc,
310 SCTAB nNewTab, tools::Long nNewScrX, tools::Long nNewScrY,
311 SCCOL nNewX1, SCROW nNewY1, SCCOL nNewX2, SCROW nNewY2,
312 double nPixelPerTwipsX, double nPixelPerTwipsY,
313 const Fraction* pZoomX = nullptr,
314 const Fraction* pZoomY = nullptr );
315
317
319 void SetContentDevice( OutputDevice* pContentDev );
320
321 void SetRefDevice( OutputDevice* pRDev ) { mpRefDevice = pFmtDevice = pRDev; }
322 void SetFmtDevice( OutputDevice* pRDev ) { pFmtDevice = pRDev; }
323 void SetViewShell( ScTabViewShell* pSh ) { pViewShell = pSh; }
324
325 void SetDrawView( FmFormView* pNew ) { pDrawView = pNew; }
326
327 void SetSolidBackground( bool bSet ) { bSolidBackground = bSet; }
328 void SetUseStyleColor( bool bSet ) { mbUseStyleColor = bSet; }
329
330 void SetEditCell( SCCOL nCol, SCROW nRow );
331 void SetSyntaxMode( bool bNewMode );
332 void SetMetaFileMode( bool bNewMode );
333 void SetGridColor( const Color& rColor );
334 void SetMarkClipped( bool bSet );
335 void SetShowNullValues ( bool bSet );
336 void SetShowFormulas ( bool bSet );
337 void SetShowSpellErrors( bool bSet );
338 void SetMirrorWidth( tools::Long nNew );
339 tools::Long GetScrW() const { return nScrW; }
340 tools::Long GetScrH() const { return nScrH; }
341
342 void SetSnapPixel();
343
344 void DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool bPage, bool bMergeCover = false);
345 void DrawStrings( bool bPixelToLogic = false );
346
348 void LayoutStrings(bool bPixelToLogic);
349
351 void DrawBackground(vcl::RenderContext& rRenderContext);
352 void DrawShadow();
353 void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom);
354 void DrawFrame(vcl::RenderContext& rRenderContext);
355
356 // with logic MapMode set!
357 void DrawEdit(bool bPixelToLogic);
358 void DrawRotated(bool bPixelToLogic); // logical
359
360 void DrawClear();
361
362 // #i72502# printer only command set
364 void PostPrintDrawingLayer(const Point& rMMOffset); // #i74768# need offset for FormLayer
365 void PrintDrawingLayer(SdrLayerID nLayer, const Point& rMMOffset);
366
367 // only screen:
368 void DrawSelectiveObjects(SdrLayerID nLayer);
369
370 bool SetChangedClip(); // sal_False = not
372
373 void FindChanged();
374 void SetPagebreakMode( ScPageBreakData* pPageData );
376 void DrawRefMark( SCCOL nRefStartX, SCROW nRefStartY,
377 SCCOL nRefEndX, SCROW nRefEndY,
378 const Color& rColor, bool bHandle );
379 ReferenceMark FillReferenceMark( SCCOL nRefStartX, SCROW nRefStartY,
380 SCCOL nRefEndX, SCROW nRefEndY,
381 const Color& rColor );
382 void DrawOneChange( SCCOL nRefStartX, SCROW nRefStartY,
383 SCCOL nRefEndX, SCROW nRefEndY,
384 const Color& rColor, sal_uInt16 nType );
385 void DrawChangeTrack();
386 void DrawClipMarks();
387
388 void DrawNoteMarks(vcl::RenderContext& rRenderContext);
389 void DrawFormulaMarks(vcl::RenderContext& rRenderContext);
390 void AddPDFNotes();
391 void DrawSparklines(vcl::RenderContext& rRenderContext);
392};
393
394/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
Definition: address.hxx:44
bool adjustHorAlignment(ScFieldEditEngine *pEngine)
Definition: output2.cxx:2729
bool readCellContent(const ScDocument *pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool &rWrapFields)
Definition: output2.cxx:2403
SvxCellJustifyMethod meHorJustMethod
Definition: output.hxx:120
void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice *pDev)
Definition: output2.cxx:2744
SvxCellOrientation meOrient
Definition: output.hxx:122
const SfxItemSet * mpCondSet
Definition: output.hxx:138
const std::vector< editeng::MisspellRanges > * mpMisspellRanges
Definition: output.hxx:144
SvxCellJustifyMethod meVerJustMethod
Definition: output.hxx:121
bool isVerticallyOriented() const
When the text is vertically oriented, the text is either rotated 90 degrees to the right or 90 degree...
Definition: output2.cxx:2586
const SfxItemSet * mpPreviewFontSet
Definition: output.hxx:139
SvxCellHorJustify meHorJustAttr
alignment attribute
Definition: output.hxx:116
const ScPatternAttr * mpPattern
Definition: output.hxx:137
ScFieldEditEngine * mpEngine
Definition: output.hxx:135
ScRefCellValue maCell
Definition: output.hxx:136
void calcPaperSize(Size &rPaperSize, const tools::Rectangle &rAlignRect, double nPPTX, double nPPTY) const
Definition: output2.cxx:2528
const SfxItemSet * mpOldPreviewFontSet
Definition: output.hxx:142
DrawEditParam(const ScPatternAttr *pPattern, const SfxItemSet *pCondSet, bool bCellIsValue)
Definition: output2.cxx:2376
void getEngineSize(ScFieldEditEngine *pEngine, tools::Long &rWidth, tools::Long &rHeight) const
Definition: output2.cxx:2555
void setPatternToEngine(bool bUseStyleColor)
Definition: output2.cxx:2450
SvxCellHorJustify meHorJustResult
result for EditEngine
Definition: output.hxx:118
void calcStartPosForVertical(Point &rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice *pRefDevice)
Calculate offset position for vertically oriented (either top-bottom or bottom-top orientation) text.
Definition: output2.cxx:2591
SvxCellVerJustify meVerJust
Definition: output.hxx:119
const ScPatternAttr * mpOldPattern
Definition: output.hxx:140
bool isHyperlinkCell() const
Definition: output2.cxx:2578
void calcMargins(tools::Long &rTop, tools::Long &rLeft, tools::Long &rBottom, tools::Long &rRight, double nPPTX, double nPPTY) const
Definition: output2.cxx:2509
const SfxItemSet * mpOldCondSet
Definition: output.hxx:141
SvxCellHorJustify meHorJustContext
context depending on attribute, content and direction
Definition: output.hxx:117
tools::Long GetScrH() const
Definition: output.hxx:340
void LayoutStrings(bool bPixelToLogic)
Draw all strings.
Definition: output2.cxx:1481
void DrawChangeTrack()
Definition: output.cxx:2242
ScOutputData(OutputDevice *pNewDev, ScOutputType eNewType, ScTableInfo &rTabInfo, ScDocument *pNewDoc, SCTAB nNewTab, tools::Long nNewScrX, tools::Long nNewScrY, SCCOL nNewX1, SCROW nNewY1, SCCOL nNewX2, SCROW nNewY2, double nPixelPerTwipsX, double nPixelPerTwipsY, const Fraction *pZoomX=nullptr, const Fraction *pZoomY=nullptr)
Definition: output.cxx:140
ScTableInfo & mrTabInfo
Definition: output.hxx:181
SCROW nY2
Definition: output.hxx:194
bool bPagebreakMode
Definition: output.hxx:215
void DrawOneChange(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, sal_uInt16 nType)
Definition: output.cxx:2128
void DrawEditStacked(DrawEditParam &rParam)
Definition: output2.cxx:3801
ReferenceMark FillReferenceMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor)
Definition: output.cxx:1917
void DrawClear()
Definition: output.cxx:1332
tools::Long nScrY
Definition: output.hxx:187
SdrPaintWindow * mpTargetPaintWindow
Definition: output.hxx:241
SCTAB nTab
Definition: output.hxx:185
SCCOL nEditCol
Definition: output.hxx:210
void PostPrintDrawingLayer(const Point &rMMOffset)
Definition: output3.cxx:104
void SetFmtDevice(OutputDevice *pRDev)
Definition: output.hxx:322
VclPtr< OutputDevice > mpDev
Definition: output.hxx:178
Fraction aZoomY
Definition: output.hxx:203
VclPtr< OutputDevice > mpRefDevice
Definition: output.hxx:179
tools::Long nScrW
Definition: output.hxx:188
bool bVertical
Definition: output.hxx:236
tools::Long nScrH
Definition: output.hxx:189
void SetEditCell(SCCOL nCol, SCROW nRow)
Definition: output.cxx:272
void DrawClipMarks()
Definition: output.cxx:2610
bool bMetaFile
Definition: output.hxx:213
void GetOutputArea(SCCOL nX, SCSIZE nArrY, tools::Long nPosX, tools::Long nPosY, SCCOL nCellX, SCROW nCellY, tools::Long nNeeded, const ScPatternAttr &rPattern, sal_uInt16 nHorJustify, bool bCellIsValue, bool bBreak, bool bOverwrite, OutputAreaParam &rParam)
Definition: output2.cxx:1192
void AddPDFNotes()
Definition: output.cxx:2528
void SetSyntaxColor(vcl::Font *pFont, const ScRefCellValue &rCell)
Definition: output2.cxx:890
double mnPPTY
Definition: output.hxx:201
bool bEditMode
Definition: output.hxx:209
SCCOL nVisX2
Definition: output.hxx:197
bool mbSyntaxMode
Definition: output.hxx:221
void DrawRotatedFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1511
void SetSnapPixel()
Definition: output.cxx:267
bool bMarkClipped
Definition: output.hxx:231
SCCOL nVisX1
Definition: output.hxx:195
tools::Long nMirrorW
Definition: output.hxx:190
void SetCellRotations()
Definition: output.cxx:619
bool mbForceAutoColor
Definition: output.hxx:219
SCCOL nX1
Definition: output.hxx:191
void DrawStrings(bool bPixelToLogic=false)
Definition: output2.cxx:1476
bool bAnyClipped
Definition: output.hxx:235
void DrawEditBottomTop(DrawEditParam &rParam)
Definition: output2.cxx:3321
SCROW nEditRow
Definition: output.hxx:211
void PrintDrawingLayer(SdrLayerID nLayer, const Point &rMMOffset)
Definition: output3.cxx:135
double mnPPTX
Definition: output.hxx:200
bool GetMergeOrigin(SCCOL nX, SCROW nY, SCSIZE nArrY, SCCOL &rOverX, SCROW &rOverY, bool bVisRowChanged)
Definition: output2.cxx:941
bool AdjustAreaParamClipRect(OutputAreaParam &rAreaParam)
Definition: output2.cxx:2772
void SetViewShell(ScTabViewShell *pSh)
Definition: output.hxx:323
void SetSyntaxMode(bool bNewMode)
Definition: output.cxx:284
void SetClipMarks(OutputAreaParam &aAreaParam, ScCellInfo *pClipMarkCell, SvxCellHorJustify eOutHorJust, bool bHasHashText, tools::Long nLayoutSign)
Definition: output2.cxx:3215
bool IsAvailable(SCCOL nX, SCROW nY)
Definition: output2.cxx:1166
SCROW nVisY2
Definition: output.hxx:198
bool bSnapPixel
Definition: output.hxx:233
void SetMirrorWidth(tools::Long nNew)
Definition: output.cxx:237
SCCOL nX2
Definition: output.hxx:193
ScOutputType eType
Definition: output.hxx:199
bool bShowSpellErrors
Definition: output.hxx:230
RowInfo * pRowInfo
Definition: output.hxx:182
void SetSolidBackground(bool bSet)
Definition: output.hxx:327
VclPtr< OutputDevice > pFmtDevice
Definition: output.hxx:180
Fraction aZoomX
Definition: output.hxx:202
void DrawSparklines(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2306
void SetShowNullValues(bool bSet)
Definition: output.cxx:252
void FindChanged()
Definition: output.cxx:1813
SCROW nVisY1
Definition: output.hxx:196
bool SetChangedClip()
Definition: output.cxx:1772
void DrawFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1387
void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom)
Definition: output.cxx:1191
ScDocument * mpDoc
Definition: output.hxx:184
void SetShowSpellErrors(bool bSet)
Definition: output.cxx:262
tools::Long SetEngineTextAndGetWidth(DrawEditParam &rParam, const OUString &rSetString, tools::Long &rNeededPixel, tools::Long nAddWidthPixels)
Definition: output2.cxx:2847
FmFormView * pDrawView
Definition: output.hxx:207
SCROW nY1
Definition: output.hxx:192
void DrawShadow()
Definition: output.cxx:1186
ClearableClipRegionPtr Clip(DrawEditParam &rParam, const Size &aCellSize, OutputAreaParam &aAreaParam, tools::Long nEngineWidth, bool bWrapFields, bool bTop)
Definition: output2.cxx:3287
void DrawNoteMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2377
bool bLayoutRTL
Definition: output.hxx:238
void DrawEditTopBottom(DrawEditParam &rParam)
Definition: output2.cxx:3564
bool mbUseStyleColor
Definition: output.hxx:218
void DrawSelectiveObjects(SdrLayerID nLayer)
Definition: output3.cxx:170
void DrawBackground(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1022
bool bSolidBackground
Definition: output.hxx:216
void SetGridColor(const Color &rColor)
Definition: output.cxx:242
void SetMarkClipped(bool bSet)
Definition: output.cxx:247
SCSIZE nArrCount
Definition: output.hxx:183
void DrawEdit(bool bPixelToLogic)
Definition: output2.cxx:4350
tools::Long nScrX
Definition: output.hxx:186
void DrawGrid(vcl::RenderContext &rRenderContext, bool bGrid, bool bPage, bool bMergeCover=false)
Definition: output.cxx:296
void DrawDocumentBackground()
Definition: output.cxx:816
Point PrePrintDrawingLayer(tools::Long nLogStX, tools::Long nLogStY)
Definition: output3.cxx:38
std::optional< Color > mxValueColor
Definition: output.hxx:222
bool mbShowNullValues
Definition: output.hxx:228
Color aGridColor
Definition: output.hxx:226
void SetMetaFileMode(bool bNewMode)
Definition: output.cxx:279
vcl::Region GetChangedAreaRegion()
Definition: output.cxx:1730
std::unique_ptr< ScFieldEditEngine > CreateOutputEditEngine()
Definition: output2.cxx:2177
void DrawEditAsianVertical(DrawEditParam &rParam)
Definition: output2.cxx:4085
void GetVisibleCell(SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue &rCell)
Definition: output2.cxx:1159
bool mbShowFormulas
Definition: output.hxx:229
void ShowClipMarks(DrawEditParam &rParam, tools::Long nEngineWidth, const Size &aCellSize, bool bMerged, OutputAreaParam &aAreaParam, bool bTop)
Definition: output2.cxx:3247
std::optional< Color > mxFormulaColor
Definition: output.hxx:224
const sc::SpellCheckContext * mpSpellCheckCxt
Definition: output.hxx:242
void SetRefDevice(OutputDevice *pRDev)
Definition: output.hxx:321
ScTabViewShell * pViewShell
Definition: output.hxx:205
void SetUseStyleColor(bool bSet)
Definition: output.hxx:328
void SetSpellCheckContext(const sc::SpellCheckContext *pCxt)
Definition: output.cxx:221
bool bTabProtected
Definition: output.hxx:237
std::unique_ptr< drawinglayer::processor2d::BaseProcessor2D > CreateProcessor2D()
Definition: output.cxx:1710
void SetShowFormulas(bool bSet)
Definition: output.cxx:257
std::optional< Color > mxTextColor
Definition: output.hxx:223
void ShrinkEditEngine(EditEngine &rEngine, const tools::Rectangle &rAlignRect, tools::Long nLeftM, tools::Long nTopM, tools::Long nRightM, tools::Long nBottomM, bool bWidth, SvxCellOrientation nOrient, Degree100 nAttrRotate, bool bPixelToLogic, tools::Long &rEngineWidth, tools::Long &rEngineHeight, tools::Long &rNeededPixel, bool &rLeftClip, bool &rRightClip)
Definition: output2.cxx:2297
void SetEditSyntaxColor(EditEngine &rEngine, const ScRefCellValue &rCell)
Definition: output2.cxx:919
void DrawRotated(bool bPixelToLogic)
Definition: output2.cxx:4541
void DrawRefMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, bool bHandle)
Draws reference mark and returns its properties.
Definition: output.cxx:2005
bool IsEmptyCellText(const RowInfo *pThisRowInfo, SCCOL nX, SCROW nY)
Definition: output2.cxx:1118
void SetDrawView(FmFormView *pNew)
Definition: output.hxx:325
double GetStretch() const
Definition: output2.cxx:839
void SetPagebreakMode(ScPageBreakData *pPageData)
Definition: output.cxx:587
void DrawEditStandard(DrawEditParam &rParam)
Definition: output2.cxx:2862
void SetContentDevice(OutputDevice *pContentDev)
Definition: output.cxx:226
void DrawFormulaMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2456
tools::Long GetScrW() const
Definition: output.hxx:339
Class shared between grid windows to cache spelling results.
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr double nPPTX
constexpr double nPPTY
CAUTION! The following defines must be in the same namespace as the respective type.
Definition: broadcast.cxx:15
long Long
std::unique_ptr< ClearableClipRegion, o3tl::default_delete< ClearableClipRegion > > ClearableClipRegionPtr
Definition: output.hxx:61
ScOutputType
Definition: output.hxx:59
@ OUTTYPE_PRINTER
Definition: output.hxx:59
@ OUTTYPE_WINDOW
Definition: output.hxx:59
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
Describes reference mark to be drawn, position & size in TWIPs.
Definition: output.hxx:65
tools::Long nHeight
Definition: output.hxx:69
Color aColor
Definition: output.hxx:71
tools::Long nX
Definition: output.hxx:66
tools::Long nTab
Definition: output.hxx:70
ReferenceMark(tools::Long aX, tools::Long aY, tools::Long aWidth, tools::Long aHeight, tools::Long aTab, const Color &rColor)
Definition: output.hxx:81
bool Is() const
Definition: output.hxx:94
tools::Long nY
Definition: output.hxx:67
tools::Long nWidth
Definition: output.hxx:68
bool mbLeftClip
length of the string getting cut off on the right.
Definition: output.hxx:109
tools::Rectangle maClipRect
Definition: output.hxx:105
tools::Long mnRightClipLength
length of the string getting cut off on the left.
Definition: output.hxx:108
tools::Rectangle maAlignRect
Definition: output.hxx:104
This is very similar to ScCellValue, except that it references the original value instead of copying ...
Definition: cellvalue.hxx:108
SvxCellJustifyMethod
SvxCellHorJustify
SvxCellVerJustify
SvxCellOrientation
sal_Int16 SCTAB
Definition: types.hxx:22
sal_Int16 SCCOL
Definition: types.hxx:21
sal_Int32 SCROW
Definition: types.hxx:17