Update ooo320-m1
[ooovba.git] / svx / source / unoedit / unoviwed.cxx
blob19ef737c0b8c2c803f5786f0c1ad3359a21e1b28
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: unoviwed.cxx,v $
10 * $Revision: 1.10 $
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 ) :
43 mrView( rView )
47 SvxEditEngineViewForwarder::~SvxEditEngineViewForwarder()
51 BOOL SvxEditEngineViewForwarder::IsValid() const
53 return sal_True;
56 Rectangle SvxEditEngineViewForwarder::GetVisArea() const
58 OutputDevice* pOutDev = mrView.GetWindow();
60 if( pOutDev )
62 Rectangle aVisArea = mrView.GetVisArea();
64 // figure out map mode from edit engine
65 EditEngine* pEditEngine = mrView.GetEditEngine();
67 if( pEditEngine )
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 );
78 return Rectangle();
81 Point SvxEditEngineViewForwarder::LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const
83 OutputDevice* pOutDev = mrView.GetWindow();
85 if( pOutDev )
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 );
94 return Point();
97 Point SvxEditEngineViewForwarder::PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const
99 OutputDevice* pOutDev = mrView.GetWindow();
101 if( pOutDev )
103 MapMode aMapMode(pOutDev->GetMapMode());
104 aMapMode.SetOrigin(Point());
105 Point aPoint( pOutDev->PixelToLogic( rPoint, aMapMode ) );
106 return OutputDevice::LogicToLogic( aPoint,
107 aMapMode.GetMapUnit(),
108 rMapMode );
111 return Point();
114 sal_Bool SvxEditEngineViewForwarder::GetSelection( ESelection& rSelection ) const
116 rSelection = mrView.GetSelection();
117 return sal_True;
120 sal_Bool SvxEditEngineViewForwarder::SetSelection( const ESelection& rSelection )
122 mrView.SetSelection( rSelection );
123 return sal_True;
126 sal_Bool SvxEditEngineViewForwarder::Copy()
128 mrView.Copy();
129 return sal_True;
132 sal_Bool SvxEditEngineViewForwarder::Cut()
134 mrView.Cut();
135 return sal_True;
138 sal_Bool SvxEditEngineViewForwarder::Paste()
140 mrView.Paste();
141 return sal_True;