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 #ifndef __ACCCOMMON_H_ 23 #define __ACCCOMMON_H_ 24 25 26 //using namespace com::sun::star::accessibility; 27 //using namespace com::sun::star::uno; 28 29 30 //for MAccessible.cpp 31 struct ltComp 32 { 33 bool operator()(REFGUID rguid1, REFGUID rguid2) const 34 { 35 if(((PLONG) &rguid1)[0] < ((PLONG) &rguid2)[0]) 36 return TRUE; 37 else if(((PLONG) &rguid1)[0] > ((PLONG) &rguid2)[0]) 38 return FALSE; 39 if(((PLONG) &rguid1)[1] < ((PLONG) &rguid2)[1]) 40 return TRUE; 41 else if(((PLONG) &rguid1)[1] > ((PLONG) &rguid2)[1]) 42 return FALSE; 43 if(((PLONG) &rguid1)[2] < ((PLONG) &rguid2)[2]) 44 return TRUE; 45 else if(((PLONG) &rguid1)[2] > ((PLONG) &rguid2)[2]) 46 return FALSE; 47 if(((PLONG) &rguid1)[3] < ((PLONG) &rguid2)[3]) 48 return TRUE; 49 else if(((PLONG) &rguid1)[3] > ((PLONG) &rguid2)[3]) 50 return FALSE; 51 return FALSE; 52 } 53 }; 54 55 #define BEGIN_AGGOBJECT_MAP(x) \ 56 static _UNO_AGGMAP_ENTRY* WINAPI _GetAggEntries() { \ 57 static _UNO_AGGMAP_ENTRY _aggentries[] = { 58 #define END_AGGOBJECT_MAP() {NULL, NULL,NULL}}; \ 59 return _aggentries;} 60 #define AGGOBJECT_ENTRY(iid, clsid, ifindex) {&iid, \ 61 CComAggregateCreator< CComObject<CMAccessible>, &clsid >::CreateInstance,\ 62 XI_##ifindex}, 63 64 enum DM_NIR { 65 DM_FIRSTCHILD = 0x00, 66 DM_LASTCHILD = 0x01, 67 DM_NEXTCHILD = 0x02, 68 DM_PREVCHILD = 0x03 69 }; 70 71 inline BOOL ImplIsEqualGUID(REFGUID rguid1, REFGUID rguid2) 72 { 73 return ( 74 ((PLONG) &rguid1)[0] == ((PLONG) &rguid2)[0] && 75 ((PLONG) &rguid1)[1] == ((PLONG) &rguid2)[1] && 76 ((PLONG) &rguid1)[2] == ((PLONG) &rguid2)[2] && 77 ((PLONG) &rguid1)[3] == ((PLONG) &rguid2)[3]); 78 } 79 #define InlineIsEqualGUID ImplIsEqualGUID 80 //End 81 82 //for AccAction.cpp 83 #define CODEENTRY(key) \ 84 {KEYCODE_##key, L#key} 85 #define countof(x) (sizeof(x)/sizeof(x[0])) 86 87 #define SELECT L"Select" 88 #define PRESS L"Press" 89 #define UNCHECK L"UnCheck" 90 #define CHECK L"Check" 91 //End 92 93 static DWORD GetMSAAStateFromUNO(short xState); 94 95 #endif 96