source: branches/work_311/ARApi.h @ 610

Revision 610, 3.0 KB checked in by jls17, 5 years ago (diff)
  • moved ARZeroMemory function to Memory.cpp/.h
  • added new ARZeroMemory function which has a size parameter to replace ZeroMemory? (which is only available on windows)
  • replaced all ZeroMemory? calls with ARZeroMemory
  • fixed some gcc compiler warnings
  • now ARQualification throws AppException? instead of exception, because in the standard implementation there is no constructor to pass a message to exception class (this MSVC specific)
Line 
1//Copyright (C) 2009 Stefan Nerlich | stefan.nerlich@hotmail.com
2//
3//This file is part of ARInside.
4//
5//    ARInside is free software: you can redistribute it and/or modify
6//    it under the terms of the GNU General Public License as published by
7//    the Free Software Foundation, version 2 of the License.
8//
9//    ARInside is distributed in the hope that it will be useful,
10//    but WITHOUT ANY WARRANTY; without even the implied warranty of
11//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12//    GNU General Public License for more details.
13//
14//    You should have received a copy of the GNU General Public License
15//    along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
16
17#pragma once
18#include <ar.h>
19#include <arfree.h>
20#include <arstruct.h>
21#include <arextern.h>
22#include "util/Memory.h"
23
24// this is just a little workaround for a bug in ar.h version 7.5
25#ifndef AR_FILTER_ERRHANDLER_ENABLE
26#ifdef AR_ERRHANDLER_ENABLE
27#define AR_FILTER_ERRHANDLER_ENABLE AR_ERRHANDLER_ENABLE
28#else
29#define AR_FILTER_ERRHANDLER_ENABLE 1
30#endif
31#endif
32
33// this is just a workarround for a missing definition in ar.h version 7.6.04
34#ifdef AR_SESS_CONTROL_PROP_DESIGN_OVERLAYGROUP
35#undef AR_SESS_CONTROL_PROP_DESIGN_OVERLAYGROUP
36#endif
37#define AR_SESS_CONTROL_PROP_DESIGN_OVERLAYGROUP 1961
38
39#ifdef AR_SESS_CONTROL_PROP_API_OVERLAYGROUP
40#undef AR_SESS_CONTROL_PROP_API_OVERLAYGROUP
41#endif
42#define AR_SESS_CONTROL_PROP_API_OVERLAYGROUP 1962
43
44#ifndef AR_RESERV_OVERLAY_STRING
45#define AR_RESERV_OVERLAY_STRING "__o"
46#endif
47
48#ifndef AR_ORIGINAL_OBJECT
49#define AR_ORIGINAL_OBJECT 0
50#endif
51#ifndef AR_OVERLAID_OBJECT
52#define AR_OVERLAID_OBJECT 1
53#endif
54#ifndef AR_OVERLAY_OBJECT
55#define AR_OVERLAY_OBJECT 2
56#endif
57#ifndef AR_CUSTOM_OBJECT
58#define AR_CUSTOM_OBJECT 4
59#endif
60
61
62// to support our own xml object types used in lists
63#define AR_STRUCT_ITEM_USER    500
64#define AR_STRUCT_ITEM_GROUP   501
65#define AR_STRUCT_ITEM_ROLE    502
66
67#define AR_STRUCT_ITEM_XML_USER       (AR_STRUCT_XML_OFFSET | AR_STRUCT_ITEM_USER)
68#define AR_STRUCT_ITEM_XML_GROUP      (AR_STRUCT_XML_OFFSET | AR_STRUCT_ITEM_GROUP)
69#define AR_STRUCT_ITEM_XML_ROLE       (AR_STRUCT_XML_OFFSET | AR_STRUCT_ITEM_ROLE)
70
71// api version definitions (see AR_CURRENT_API_VERSION in ar.h)
72#define AR_API_VERSION_450 7
73#define AR_API_VERSION_500 8                    // TODO: check this again !!
74#define AR_API_VERSION_510 9
75#define AR_API_VERSION_600 10
76#define AR_API_VERSION_630 11
77#define AR_API_VERSION_700 12
78#define AR_API_VERSION_710 13
79#define AR_API_VERSION_750 14
80#define AR_API_VERSION_763 17
81#define AR_API_VERSION_764 18
82#define AR_API_VERSION_800 19
83#define AR_API_VERSION_810 20
84
85// see AR_EXPORT_VERSION in arstruct.h for definition
86#define AR_XML_VERSION_450 5
87#define AR_XML_VERSION_500 6
88#define AR_XML_VERSION_510 7
89#define AR_XML_VERSION_600 8
90#define AR_XML_VERSION_630 8
91#define AR_XML_VERSION_700 9
92#define AR_XML_VERSION_710 10
93#define AR_XML_VERSION_750 11
Note: See TracBrowser for help on using the repository browser.