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 _SVX_ACCESSIBILITY_IACCESSIBLE_VIEW_FORWARDER_LISTENER_HXX
25 #define _SVX_ACCESSIBILITY_IACCESSIBLE_VIEW_FORWARDER_LISTENER_HXX
26 
27 #include <sal/types.h>
28 #include <tools/gen.hxx>
29 
30 
31 namespace accessibility {
32 
33 class IAccessibleViewForwarder;
34 
35 /**	<p>The purpose of this interface is to notify a user of an
36     IAccessibleViewForwarder when that view forwarder changes its
37     properties.  Such a change may be one of the following:
38     <ul>
39     <li>Change of the coordinate transformation.</li>
40     <li>Change of the visible area (which in turn results in a change of the
41     coordinate transformation.</li>
42     <li>Change of the validity state of the view forwarder.</li>
43 */
44 class IAccessibleViewForwarderListener
45 {
46 public:
47     /** Enumeration of the different change types.
48     */
49     enum ChangeType {TRANSFORMATION, VISIBLE_AREA, STATE};
50 
51     /** This method is called to indicate a change of the specified view
52         forwarder.
53         @param aChangeType
54             The type of the change.  TRANSFORMATION indicates a change of
55             the coordinate transformation with a constant visible area.  If
56             the visible area changes, just use VISIBLE_AREA.  This changes
57             the transformation implicitly.  The value STATE indicates a
58             change of the validity state.  Check the IsValid method of the
59             view forwarder before doing further calls.
60         @param pViewForwarder
61             The modified view forwarder.  It is specified just in case that
62             there is more than one view forwarder in use at the same time.
63     */
64 	virtual void ViewForwarderChanged (ChangeType aChangeType,
65         const IAccessibleViewForwarder* pViewForwarder) = 0;
66 };
67 
68 } // end of namespace accessibility
69 
70 #endif
71