xref: /trunk/main/vcl/inc/vcl/unowrap.hxx (revision 0d63794c)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _VCL_UNOWRAP_HXX
25 #define _VCL_UNOWRAP_HXX
26 
27 #include <tools/solar.h>
28 #include <vcl/dllapi.h>
29 #include <com/sun/star/uno/Reference.h>
30 
31 class XWindowPeer;
32 class XToolkit;
33 class XVclToolkit;
34 class EventList;
35 class Window;
36 class OutputDevice;
37 class MouseEvent;
38 class CommandEvent;
39 class KeyEvent;
40 class Rectangle;
41 class XVclComponentPeer;
42 class Menu;
43 
44 namespace com {
45 namespace sun {
46 namespace star {
47 namespace awt {
48 	class XGraphics;
49 	class XToolkit;
50 	class XWindowPeer;
51 }
52 namespace lang {
53 	class XMultiServiceFactory;
54 }
55 } } }
56 
57 namespace com {
58 namespace sun {
59 namespace star {
60 namespace accessibility {
61     class XAccessible;
62 }}}}
63 
64 class VCL_DLLPUBLIC UnoWrapperBase
65 {
66 public:
67 	virtual void 				Destroy() = 0;
68 
69 	// Toolkit
70 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XToolkit > GetVCLToolkit() = 0;
71 
72 	// Graphics
73 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XGraphics >	CreateGraphics( OutputDevice* pOutDev ) = 0;
74 	virtual void				ReleaseAllGraphics( OutputDevice* pOutDev ) = 0;
75 
76 	// Window
77 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer> GetWindowInterface( Window* pWindow, sal_Bool bCreate ) = 0;
78 	virtual void				SetWindowInterface( Window* pWindow, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > xIFace ) = 0;
79 
80 	virtual void				WindowDestroyed( Window* pWindow ) = 0;
81 
82 	// Accessibility
83 	virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible >
84 								CreateAccessible( Menu* pMenu, sal_Bool bIsMenuBar ) = 0;
85 };
86 
87 #endif	// _VCL_UNOWRAP_HXX
88