]>
Commit | Line | Data |
---|---|---|
1 | /***************************************************************************/ | |
2 | /* */ | |
3 | /* ahangles.h */ | |
4 | /* */ | |
5 | /* A routine used to compute vector angles with limited accuracy */ | |
6 | /* and very high speed (specification). */ | |
7 | /* */ | |
8 | /* Copyright 2000 Catharon Productions Inc. */ | |
9 | /* Author: David Turner */ | |
10 | /* */ | |
11 | /* This file is part of the Catharon Typography Project and shall only */ | |
12 | /* be used, modified, and distributed under the terms of the Catharon */ | |
13 | /* Open Source License that should come with this file under the name */ | |
14 | /* `CatharonLicense.txt'. By continuing to use, modify, or distribute */ | |
15 | /* this file you indicate that you have read the license and */ | |
16 | /* understand and accept it fully. */ | |
17 | /* */ | |
18 | /* Note that this license is compatible with the FreeType license. */ | |
19 | /* */ | |
20 | /***************************************************************************/ | |
21 | ||
22 | ||
23 | #ifndef AHANGLES_H | |
24 | #define AHANGLES_H | |
25 | ||
26 | ||
27 | #ifdef FT_FLAT_COMPILE | |
28 | ||
29 | #include "ahtypes.h" | |
30 | ||
31 | #else | |
32 | ||
33 | #include <autohint/ahtypes.h> | |
34 | ||
35 | #endif | |
36 | ||
37 | ||
38 | #include <freetype/internal/ftobjs.h> | |
39 | ||
40 | ||
41 | /* PI expressed in ah_angles -- we don't really need an important */ | |
42 | /* precision, so 256 should be enough */ | |
43 | #define AH_PI 256 | |
44 | #define AH_2PI ( AH_PI * 2 ) | |
45 | #define AH_HALF_PI ( AH_PI / 2 ) | |
46 | #define AH_2PIMASK ( AH_2PI - 1 ) | |
47 | ||
48 | /* the number of bits used to express an arc tangent; */ | |
49 | /* see the structure of the lookup table */ | |
50 | #define AH_ATAN_BITS 8 | |
51 | ||
52 | extern | |
53 | const AH_Angle ah_arctan[1L << AH_ATAN_BITS]; | |
54 | ||
55 | ||
56 | LOCAL_DEF | |
57 | AH_Angle ah_angle( FT_Vector* v ); | |
58 | ||
59 | ||
60 | #endif /* AHANGLES_H */ | |
61 | ||
62 | ||
63 | /* END */ |