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