1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: unoviwed.cxx,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 // MARKER(update_precomp.py): autogen include statement, do not remove
32 #include "precompiled_svx.hxx"
33 #include <vcl/outdev.hxx>
34 #include <vcl/window.hxx>
36 #include <svx/unoviwed.hxx>
37 #include <svx/editview.hxx>
38 #include <svx/editeng.hxx>
39 #include <svx/svdotext.hxx>
42 SvxEditEngineViewForwarder::SvxEditEngineViewForwarder( EditView
& rView
) :
47 SvxEditEngineViewForwarder::~SvxEditEngineViewForwarder()
51 BOOL
SvxEditEngineViewForwarder::IsValid() const
56 Rectangle
SvxEditEngineViewForwarder::GetVisArea() const
58 OutputDevice
* pOutDev
= mrView
.GetWindow();
62 Rectangle aVisArea
= mrView
.GetVisArea();
64 // figure out map mode from edit engine
65 EditEngine
* pEditEngine
= mrView
.GetEditEngine();
69 MapMode
aMapMode(pOutDev
->GetMapMode());
70 aVisArea
= OutputDevice::LogicToLogic( aVisArea
,
71 pEditEngine
->GetRefMapMode(),
72 aMapMode
.GetMapUnit() );
73 aMapMode
.SetOrigin(Point());
74 return pOutDev
->LogicToPixel( aVisArea
, aMapMode
);
81 Point
SvxEditEngineViewForwarder::LogicToPixel( const Point
& rPoint
, const MapMode
& rMapMode
) const
83 OutputDevice
* pOutDev
= mrView
.GetWindow();
87 MapMode
aMapMode(pOutDev
->GetMapMode());
88 Point
aPoint( OutputDevice::LogicToLogic( rPoint
, rMapMode
,
89 aMapMode
.GetMapUnit() ) );
90 aMapMode
.SetOrigin(Point());
91 return pOutDev
->LogicToPixel( aPoint
, aMapMode
);
97 Point
SvxEditEngineViewForwarder::PixelToLogic( const Point
& rPoint
, const MapMode
& rMapMode
) const
99 OutputDevice
* pOutDev
= mrView
.GetWindow();
103 MapMode
aMapMode(pOutDev
->GetMapMode());
104 aMapMode
.SetOrigin(Point());
105 Point
aPoint( pOutDev
->PixelToLogic( rPoint
, aMapMode
) );
106 return OutputDevice::LogicToLogic( aPoint
,
107 aMapMode
.GetMapUnit(),
114 sal_Bool
SvxEditEngineViewForwarder::GetSelection( ESelection
& rSelection
) const
116 rSelection
= mrView
.GetSelection();
120 sal_Bool
SvxEditEngineViewForwarder::SetSelection( const ESelection
& rSelection
)
122 mrView
.SetSelection( rSelection
);
126 sal_Bool
SvxEditEngineViewForwarder::Copy()
132 sal_Bool
SvxEditEngineViewForwarder::Cut()
138 sal_Bool
SvxEditEngineViewForwarder::Paste()