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