Kaydet (Commit) 8aa1abe5 authored tarafından Noel Grandin's avatar Noel Grandin

convert SC_CLIPMARK constants to typed_flags_set

Change-Id: Ibdfe3c46da35b96b040f02a167d35651502a65ef
üst 2f5fdd71
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
#include "global.hxx" #include "global.hxx"
#include "colorscale.hxx" #include "colorscale.hxx"
#include "cellvalue.hxx" #include "cellvalue.hxx"
#include <o3tl/typed_flags_set.hxx>
class SfxItemSet; class SfxItemSet;
class SvxBrushItem; class SvxBrushItem;
...@@ -42,9 +43,13 @@ enum class ScRotateDir : sal_uInt8 { ...@@ -42,9 +43,13 @@ enum class ScRotateDir : sal_uInt8 {
NONE, Standard, Left, Right, Center NONE, Standard, Left, Right, Center
}; };
const sal_uInt8 SC_CLIPMARK_NONE = 0; enum class ScClipMark : sal_uInt8 {
const sal_uInt8 SC_CLIPMARK_LEFT = 1; NONE = 0x00, Left = 0x01, Right = 0x02
const sal_uInt8 SC_CLIPMARK_RIGHT = 2; };
namespace o3tl {
template<> struct typed_flags<ScClipMark> : is_typed_flags<ScClipMark, 0x03> {};
}
const sal_uInt8 SC_CLIPMARK_SIZE = 64; const sal_uInt8 SC_CLIPMARK_SIZE = 64;
enum ScShadowPart enum ScShadowPart
...@@ -106,7 +111,7 @@ struct CellInfo ...@@ -106,7 +111,7 @@ struct CellInfo
, pVShadowOrigin(nullptr) , pVShadowOrigin(nullptr)
, eHShadowPart(SC_SHADOW_HSTART) , eHShadowPart(SC_SHADOW_HSTART)
, eVShadowPart(SC_SHADOW_HSTART) , eVShadowPart(SC_SHADOW_HSTART)
, nClipMark(SC_CLIPMARK_NONE) , nClipMark(ScClipMark::NONE)
, nWidth(0) , nWidth(0)
, nRotateDir(ScRotateDir::NONE) , nRotateDir(ScRotateDir::NONE)
, bMarked(false) , bMarked(false)
...@@ -149,7 +154,7 @@ struct CellInfo ...@@ -149,7 +154,7 @@ struct CellInfo
ScShadowPart eHShadowPart : 4; // shadow effective for drawing ScShadowPart eHShadowPart : 4; // shadow effective for drawing
ScShadowPart eVShadowPart : 4; ScShadowPart eVShadowPart : 4;
sal_uInt8 nClipMark; ScClipMark nClipMark;
sal_uInt16 nWidth; sal_uInt16 nWidth;
ScRotateDir nRotateDir; ScRotateDir nRotateDir;
......
...@@ -2520,7 +2520,7 @@ void ScOutputData::DrawClipMarks() ...@@ -2520,7 +2520,7 @@ void ScOutputData::DrawClipMarks()
for (SCCOL nX=nX1; nX<=nX2; nX++) for (SCCOL nX=nX1; nX<=nX2; nX++)
{ {
CellInfo* pInfo = &pThisRowInfo->pCellInfo[nX+1]; CellInfo* pInfo = &pThisRowInfo->pCellInfo[nX+1];
if (pInfo->nClipMark) if (pInfo->nClipMark != ScClipMark::NONE)
{ {
if (pInfo->bHOverlapped || pInfo->bVOverlapped) if (pInfo->bHOverlapped || pInfo->bVOverlapped)
{ {
...@@ -2595,14 +2595,14 @@ void ScOutputData::DrawClipMarks() ...@@ -2595,14 +2595,14 @@ void ScOutputData::DrawClipMarks()
long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX ); long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX );
Size aMarkSize( nMarkPixel, (nMarkPixel-1)*2 ); Size aMarkSize( nMarkPixel, (nMarkPixel-1)*2 );
if ( pInfo->nClipMark & ( bLayoutRTL ? SC_CLIPMARK_RIGHT : SC_CLIPMARK_LEFT ) ) if ( pInfo->nClipMark & ( bLayoutRTL ? ScClipMark::Right : ScClipMark::Left ) )
{ {
// visually left // visually left
Rectangle aMarkRect = aCellRect; Rectangle aMarkRect = aCellRect;
aMarkRect.Right() = aCellRect.Left()+nMarkPixel-1; aMarkRect.Right() = aCellRect.Left()+nMarkPixel-1;
SvxFont::DrawArrow( *mpDev, aMarkRect, aMarkSize, aArrowFillCol, true ); SvxFont::DrawArrow( *mpDev, aMarkRect, aMarkSize, aArrowFillCol, true );
} }
if ( pInfo->nClipMark & ( bLayoutRTL ? SC_CLIPMARK_LEFT : SC_CLIPMARK_RIGHT ) ) if ( pInfo->nClipMark & ( bLayoutRTL ? ScClipMark::Left : ScClipMark::Right ) )
{ {
// visually right // visually right
Rectangle aMarkRect = aCellRect; Rectangle aMarkRect = aCellRect;
......
...@@ -1313,14 +1313,14 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY ...@@ -1313,14 +1313,14 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY
// even if rThisRowInfo isn't for nCellY (merged cells). // even if rThisRowInfo isn't for nCellY (merged cells).
if ( nRightMissing > 0 && bMarkClipped && nRightX >= nX1 && nRightX <= nX2 && !bBreak && !bCellIsValue ) if ( nRightMissing > 0 && bMarkClipped && nRightX >= nX1 && nRightX <= nX2 && !bBreak && !bCellIsValue )
{ {
rThisRowInfo.pCellInfo[nRightX+1].nClipMark |= SC_CLIPMARK_RIGHT; rThisRowInfo.pCellInfo[nRightX+1].nClipMark |= ScClipMark::Right;
bAnyClipped = true; bAnyClipped = true;
long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX ); long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX );
rParam.maClipRect.Right() -= nMarkPixel * nLayoutSign; rParam.maClipRect.Right() -= nMarkPixel * nLayoutSign;
} }
if ( nLeftMissing > 0 && bMarkClipped && nLeftX >= nX1 && nLeftX <= nX2 && !bBreak && !bCellIsValue ) if ( nLeftMissing > 0 && bMarkClipped && nLeftX >= nX1 && nLeftX <= nX2 && !bBreak && !bCellIsValue )
{ {
rThisRowInfo.pCellInfo[nLeftX+1].nClipMark |= SC_CLIPMARK_LEFT; rThisRowInfo.pCellInfo[nLeftX+1].nClipMark |= ScClipMark::Left;
bAnyClipped = true; bAnyClipped = true;
long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX ); long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX );
rParam.maClipRect.Left() += nMarkPixel * nLayoutSign; rParam.maClipRect.Left() += nMarkPixel * nLayoutSign;
...@@ -3057,7 +3057,7 @@ void ScOutputData::DrawEditStandard(DrawEditParam& rParam) ...@@ -3057,7 +3057,7 @@ void ScOutputData::DrawEditStandard(DrawEditParam& rParam)
else else
pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1]; pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1];
pClipMarkCell->nClipMark |= SC_CLIPMARK_RIGHT; //! also allow left? pClipMarkCell->nClipMark |= ScClipMark::Right; //! also allow left?
bAnyClipped = true; bAnyClipped = true;
long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX ); long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX );
...@@ -3187,7 +3187,7 @@ void ScOutputData::ShowClipMarks( DrawEditParam& rParam, long nEngineHeight, con ...@@ -3187,7 +3187,7 @@ void ScOutputData::ShowClipMarks( DrawEditParam& rParam, long nEngineHeight, con
else else
pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1]; pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1];
pClipMarkCell->nClipMark |= SC_CLIPMARK_RIGHT; //! also allow left? pClipMarkCell->nClipMark |= ScClipMark::Right; //! also allow left?
bAnyClipped = true; bAnyClipped = true;
const long nMarkPixel = static_cast<long>( SC_CLIPMARK_SIZE * mnPPTX ); const long nMarkPixel = static_cast<long>( SC_CLIPMARK_SIZE * mnPPTX );
...@@ -4032,7 +4032,7 @@ void ScOutputData::DrawEditStacked(DrawEditParam& rParam) ...@@ -4032,7 +4032,7 @@ void ScOutputData::DrawEditStacked(DrawEditParam& rParam)
else else
pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1]; pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1];
pClipMarkCell->nClipMark |= SC_CLIPMARK_RIGHT; //! also allow left? pClipMarkCell->nClipMark |= ScClipMark::Right; //! also allow left?
bAnyClipped = true; bAnyClipped = true;
long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX ); long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX );
...@@ -4379,7 +4379,7 @@ void ScOutputData::DrawEditAsianVertical(DrawEditParam& rParam) ...@@ -4379,7 +4379,7 @@ void ScOutputData::DrawEditAsianVertical(DrawEditParam& rParam)
else else
pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1]; pClipMarkCell = &rParam.mpThisRowInfo->pCellInfo[rParam.mnX+1];
pClipMarkCell->nClipMark |= SC_CLIPMARK_RIGHT; //! also allow left? pClipMarkCell->nClipMark |= ScClipMark::Right; //! also allow left?
bAnyClipped = true; bAnyClipped = true;
long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX ); long nMarkPixel = (long)( SC_CLIPMARK_SIZE * mnPPTX );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment