xref: /AOO41X/main/vcl/inc/vcl/unowrap.hxx (revision 0d63794c5b3715d9f8da2f4b7b451b7426ee7897)
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