Home | History | Annotate | Download | only in agg23
      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 (at) antigrain.com
     13 //          mcseemagg (at) 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;
     45     gray8() {}
     46     gray8(unsigned v_, unsigned a_ = base_mask) :
     47         v(int8u(v_)), a(int8u(a_)) {}
     48 };
     49 }
     50 #endif
     51