//---------------------------------------------------------------------
        //typedef renderer_outline_image<BaseRenderer, ImagePattern> self_type;

        //---------------------------------------------------------------------
        public ImageLineRenderer(IImageReaderWriter ren, LineImagePattern patt)
        {
            m_ren      = ren;
            m_pattern  = patt;
            m_start    = (0);
            m_scale_x  = (1.0);
            m_clip_box = new RectInt(0, 0, 0, 0);
            m_clipping = (false);
        }
 // Create
 //--------------------------------------------------------------------
 public LineImagePattern(IPatternFilter filter, LineImagePattern src)
 {
     m_filter         = (filter);
     m_dilation       = (filter.Dilation + 1);
     m_dilation_hr    = (m_dilation << LineAA.SUBPIXEL_SHIFT);
     m_width          = 0;
     m_height         = 0;
     m_width_hr       = 0;
     m_half_height_hr = 0;
     m_offset_y_hr    = (0);
     Create(src.MyBuffer);
 }
        //---------------------------------------------------------------------
        //typedef renderer_outline_image<BaseRenderer, ImagePattern> self_type;

        //---------------------------------------------------------------------
        public ImageLineRenderer(IImageReaderWriter ren, LineImagePattern patt)
        {
            m_ren = ren;
            m_pattern = patt;
            m_start = (0);
            m_scale_x = (1.0);
            m_clip_box = new RectInt(0, 0, 0, 0);
            m_clipping = (false);
        }
 // Create
 //--------------------------------------------------------------------
 public LineImagePattern(IPatternFilter filter, LineImagePattern src)
 {
     m_filter = (filter);
     m_dilation = (filter.Dilation + 1);
     m_dilation_hr = (m_dilation << LineAA.SUBPIXEL_SHIFT);
     m_width = 0;
     m_height = 0;
     m_width_hr = 0;
     m_half_height_hr = 0;
     m_offset_y_hr = (0);
     Create(src.MyBuffer);
 }