• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
2 //----------------------------------------------------------------------------
3 // Anti-Grain Geometry - Version 2.3
4 // Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)
5 //
6 // Permission to copy, use, modify, sell and distribute this software
7 // is granted provided this copyright notice appears in all copies.
8 // This software is provided "as is" without express or implied
9 // warranty, and with no claim as to its suitability for any purpose.
10 //
11 //----------------------------------------------------------------------------
12 // Contact: mcseem@antigrain.com
13 //          mcseemagg@yahoo.com
14 //          http://www.antigrain.com
15 //----------------------------------------------------------------------------
16 //
17 // Adaptation for high precision colors has been sponsored by
18 // Liberty Technology Systems, Inc., visit http://lib-sys.com
19 //
20 // Liberty Technology Systems, Inc. is the provider of
21 // PostScript and PDF technology for software developers.
22 //
23 //----------------------------------------------------------------------------
24 //
25 // color types gray8, gray16
26 //
27 //----------------------------------------------------------------------------
28 #ifndef AGG_COLOR_GRAY_INCLUDED
29 #define AGG_COLOR_GRAY_INCLUDED
30 #include "agg_basics.h"
31 namespace agg
32 {
33 struct gray8 {
34     typedef int8u  value_type;
35     typedef int32u calc_type;
36     typedef int32  long_type;
37     enum base_scale_e {
38         base_shift = 8,
39         base_size  = 1 << base_shift,
40         base_mask  = base_size - 1
41     };
42     typedef gray8 self_type;
43     value_type v;
44     value_type a;
gray8gray845     gray8() {}
46     gray8(unsigned v_, unsigned a_ = base_mask) :
vgray847         v(int8u(v_)), a(int8u(a_)) {}
48 };
49 }
50 #endif
51