Update ooo320-m1
[ooovba.git] / sd / source / ui / presenter / PresenterTextView.hxx
blob6fc047d754df0f8bebb4ecb7cd0db2170e30e4cf
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: PresenterTextView.hxx,v $
11 * $Revision: 1.3 $
13 * This file is part of OpenOffice.org.
15 * OpenOffice.org is free software: you can redistribute it and/or modify
16 * it under the terms of the GNU Lesser General Public License version 3
17 * only, as published by the Free Software Foundation.
19 * OpenOffice.org is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU Lesser General Public License version 3 for more details
23 * (a copy is included in the LICENSE file that accompanied this code).
25 * You should have received a copy of the GNU Lesser General Public License
26 * version 3 along with OpenOffice.org. If not, see
27 * <http://www.openoffice.org/license.html>
28 * for a copy of the LGPLv3 License.
30 ************************************************************************/
32 #ifndef SD_PRESENTER_TEXT_VIEW_HXX
33 #define SD_PRESENTER_TEXT_VIEW_HXX
35 #include "tools/PropertySet.hxx"
36 #include <com/sun/star/beans/XPropertySet.hpp>
37 #include <com/sun/star/lang/XInitialization.hpp>
38 #include <cppuhelper/basemutex.hxx>
39 #include <cppuhelper/implbase1.hxx>
40 #include <boost/noncopyable.hpp>
41 #include <boost/scoped_ptr.hpp>
43 namespace css = ::com::sun::star;
45 namespace sd { namespace presenter {
47 namespace {
48 typedef ::cppu::ImplInheritanceHelper1 <
49 tools::PropertySet,
50 css::lang::XInitialization
51 > PresenterTextViewInterfaceBase;
55 /** Render text into bitmaps. An edit engine is used to render the text.
56 This service is used by the presenter screen to render the notes view.
58 class PresenterTextView
59 : private ::boost::noncopyable,
60 public PresenterTextViewInterfaceBase
62 public:
63 explicit PresenterTextView (const css::uno::Reference<css::uno::XComponentContext>& rxContext);
64 virtual ~PresenterTextView (void);
66 // XInitialization
68 virtual void SAL_CALL initialize (const css::uno::Sequence<css::uno::Any>& rArguments)
69 throw (css::uno::Exception, css::uno::RuntimeException);
72 protected:
73 virtual void SAL_CALL disposing (void);
75 virtual css::uno::Any GetPropertyValue (
76 const ::rtl::OUString& rsPropertyName);
77 virtual css::uno::Any SetPropertyValue (
78 const ::rtl::OUString& rsPropertyName,
79 const css::uno::Any& rValue);
81 private:
82 class Implementation;
83 ::boost::scoped_ptr<Implementation> mpImplementation;
85 /** This method throws a DisposedException when the object has already been
86 disposed.
88 void ThrowIfDisposed (void) throw (css::lang::DisposedException);
91 } } // end of namespace ::sd::presenter
93 #endif