agg_span_interpolator_adaptor.h

来自「这是VCF框架的代码」· C头文件 代码 · 共 78 行

H
78
字号
//----------------------------------------------------------------------------// Anti-Grain Geometry - Version 2.4// Copyright (C) 2002-2005 Maxim Shemanarev (http://www.antigrain.com)//// Permission to copy, use, modify, sell and distribute this software // is granted provided this copyright notice appears in all copies. // This software is provided "as is" without express or implied// warranty, and with no claim as to its suitability for any purpose.////----------------------------------------------------------------------------// Contact: mcseem@antigrain.com//          mcseemagg@yahoo.com//          http://www.antigrain.com//----------------------------------------------------------------------------#ifndef AGG_SPAN_INTERPOLATOR_ADAPTOR_INCLUDED#define AGG_SPAN_INTERPOLATOR_ADAPTOR_INCLUDED#include "agg_basics.h"namespace agg{    //===============================================span_interpolator_adaptor    template<class Interpolator, class Distortion>    class span_interpolator_adaptor : public Interpolator    {    public:        typedef Interpolator base_type;        typedef typename base_type::trans_type trans_type;        typedef Distortion distortion_type;        //--------------------------------------------------------------------        span_interpolator_adaptor() {}        span_interpolator_adaptor(const trans_type& trans,                                   const distortion_type& dist) :            base_type(trans),            m_distortion(&dist)        {           }        //--------------------------------------------------------------------        span_interpolator_adaptor(const trans_type& trans,                                  const distortion_type& dist,                                  double x, double y, unsigned len) :            base_type(trans, x, y, len),            m_distortion(&dist)        {        }        //--------------------------------------------------------------------        const distortion_type& distortion() const        {            return *m_distortion;        }        //--------------------------------------------------------------------        void distortion(const distortion_type& dist)        {            m_distortion = dist;        }        //--------------------------------------------------------------------        void coordinates(int* x, int* y) const        {            base_type::coordinates(x, y);            m_distortion->calculate(x, y);        }    private:        //--------------------------------------------------------------------        const distortion_type* m_distortion;    };}#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?