summaryrefslogtreecommitdiff
path: root/sw/source/core/crsr/crsrsh.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/crsr/crsrsh.cxx')
-rw-r--r--sw/source/core/crsr/crsrsh.cxx28
1 files changed, 26 insertions, 2 deletions
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 72056be6a3ef..8b54e9647be3 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -2567,6 +2567,22 @@ void SwCrsrShell::ParkCrsr( const SwNodeIndex &rIdx )
* Alle Ansichten eines Dokumentes stehen im Ring der Shells.
*/
+SwOverlayType impGetOverlayType(OutputDevice* pOut)
+{
+ if(!pOut)
+ {
+ pOut = Application::GetDefaultDevice();
+ }
+
+ if(pOut->GetSettings().GetStyleSettings().GetHighContrastMode()
+ || !pOut->supportsOperation( OutDevSupport_TransparentRect ))
+ {
+ return SW_OVERLAY_INVERT;
+ }
+
+ return SW_OVERLAY_TRANSPARENT;
+}
+
SwCrsrShell::SwCrsrShell( SwCrsrShell& rShell, Window *pInitWin )
: ViewShell( rShell, pInitWin ),
SwModify( 0 ), pCrsrStk( 0 ), pBlockCrsr( 0 ), pTblCrsr( 0 ),
@@ -2574,8 +2590,9 @@ SwCrsrShell::SwCrsrShell( SwCrsrShell& rShell, Window *pInitWin )
eMvState( MV_NONE ),
// --> OD 2008-04-02 #refactorlists#
sMarkedListId(),
- nMarkedListLevel( 0 )
+ nMarkedListLevel( 0 ),
// <--
+ maSwOverlayType(SW_OVERLAY_INVERT)
{
SET_CURR_SHELL( this );
// Nur die Position vom aktuellen Cursor aus der Copy-Shell uebernehmen
@@ -2591,6 +2608,9 @@ SwCrsrShell::SwCrsrShell( SwCrsrShell& rShell, Window *pInitWin )
// UpdateCrsr( 0 );
// OD 11.02.2003 #100556#
mbMacroExecAllowed = rShell.IsMacroExecAllowed();
+
+ // #i88893# init cursor selection type
+ maSwOverlayType = impGetOverlayType(pInitWin);
}
@@ -2606,8 +2626,9 @@ SwCrsrShell::SwCrsrShell( SwDoc& rDoc, Window *pInitWin,
eMvState( MV_NONE ), // state for crsr-travelling - GetCrsrOfst
// --> OD 2008-04-02 #refactorlists#
sMarkedListId(),
- nMarkedListLevel( 0 )
+ nMarkedListLevel( 0 ),
// <--
+ maSwOverlayType(SW_OVERLAY_INVERT)
{
SET_CURR_SHELL( this );
/*
@@ -2635,6 +2656,9 @@ SwCrsrShell::SwCrsrShell( SwDoc& rDoc, Window *pInitWin,
// UpdateCrsr( 0 );
// OD 11.02.2003 #100556#
mbMacroExecAllowed = true;
+
+ // #i88893# init cursor selection type
+ maSwOverlayType = impGetOverlayType(pInitWin);
}