//------------------------------------------------------------------------
 public void line_to_d(double x, double y)
 {
     m_VectorClipper.line_to(m_outline,
                             m_VectorClipper.upscale(x),
                             m_VectorClipper.upscale(y));
     m_status = status.status_line_to;
 }
 //------------------------------------------------------------------------
 void line_to(int x, int y)
 {
     m_VectorClipper.line_to(m_outline,
                             m_VectorClipper.downscale(x),
                             m_VectorClipper.downscale(y));
     m_status = status.status_line_to;
 }
 public void close_polygon()
 {
     if (m_status == status.status_line_to)
     {
         m_VectorClipper.line_to(m_outline, m_start_x, m_start_y);
         m_status = status.status_closed;
     }
 }
 //------------------------------------------------------------------------
 void edge(int x1, int y1, int x2, int y2)
 {
     if (m_outline.sorted())
     {
         reset();
     }
     m_VectorClipper.move_to(m_VectorClipper.downscale(x1), m_VectorClipper.downscale(y1));
     m_VectorClipper.line_to(m_outline,
                             m_VectorClipper.downscale(x2),
                             m_VectorClipper.downscale(y2));
     m_status = status.status_move_to;
 }
 //------------------------------------------------------------------------
 void edge_d(double x1, double y1, double x2, double y2)
 {
     if (m_outline.sorted())
     {
         reset();
     }
     m_VectorClipper.move_to(m_VectorClipper.upscale(x1), m_VectorClipper.upscale(y1));
     m_VectorClipper.line_to(m_outline,
                             m_VectorClipper.upscale(x2),
                             m_VectorClipper.upscale(y2));
     m_status = status.status_move_to;
 }
 //------------------------------------------------------------------------
 public void move_to_d(double x, double y)
 {
     if (m_outline.sorted())
     {
         reset();
     }
     if (m_auto_close)
     {
         close_polygon();
     }
     m_VectorClipper.move_to(m_start_x = m_VectorClipper.upscale(x),
                             m_start_y = m_VectorClipper.upscale(y));
     m_status = status.status_move_to;
 }
        /*
         * //--------------------------------------------------------------------
         * public int apply_gamma(int cover)
         * {
         *      return (int)m_gamma[cover];
         * }
         */

        //--------------------------------------------------------------------
        void move_to(int x, int y)
        {
            if (m_outline.sorted())
            {
                reset();
            }
            if (m_auto_close)
            {
                close_polygon();
            }
            m_VectorClipper.move_to(m_start_x = m_VectorClipper.downscale(x),
                                    m_start_y = m_VectorClipper.downscale(y));
            m_status = status.status_move_to;
        }
        //--------------------------------------------------------------------
        public ScanlineRasterizer(VectorClipper rasterizer_sl_clip)
        {
            m_outline       = new rasterizer_cells_aa();
            m_VectorClipper = rasterizer_sl_clip;
            m_filling_rule  = filling_rule_e.fill_non_zero;
            m_auto_close    = true;
            m_start_x       = 0;
            m_start_y       = 0;
            m_status        = status.status_initial;

            for (int i = 0; i < (int)aa_scale_e.aa_scale; i++)
            {
                m_gamma[i] = i;
            }
        }
        //--------------------------------------------------------------------
        public ScanlineRasterizer(VectorClipper rasterizer_sl_clip)
        {
            m_outline = new rasterizer_cells_aa();
            m_VectorClipper = rasterizer_sl_clip;
            m_filling_rule = filling_rule_e.fill_non_zero;
            m_auto_close = true;
            m_start_x = 0;
            m_start_y = 0;
            m_status = status.status_initial;

            for (int i = 0; i < (int)aa_scale_e.aa_scale; i++)
            {
                m_gamma[i] = i;
            }
        }
Exemple #10
0
 //------------------------------------------------------------------------
 void line_to(int x, int y)
 {
     m_VectorClipper.line_to(m_outline,
                       m_VectorClipper.downscale(x),
                       m_VectorClipper.downscale(y));
     m_status = status.status_line_to;
 }
Exemple #11
0
        /*
        //--------------------------------------------------------------------
        public int apply_gamma(int cover) 
        { 
        	return (int)m_gamma[cover];
        }
         */

        //--------------------------------------------------------------------
        void move_to(int x, int y)
        {
            if(m_outline.sorted()) reset();
            if(m_auto_close) close_polygon();
            m_VectorClipper.move_to(m_start_x = m_VectorClipper.downscale(x),
                              m_start_y = m_VectorClipper.downscale(y));
            m_status = status.status_move_to;
        }
Exemple #12
0
 //------------------------------------------------------------------------
 public void line_to_d(double x, double y) 
 { 
     m_VectorClipper.line_to(m_outline,
                       m_VectorClipper.upscale(x),
                       m_VectorClipper.upscale(y)); 
     m_status = status.status_line_to;
 }
Exemple #13
0
 //------------------------------------------------------------------------
 public void move_to_d(double x, double y) 
 { 
     if(m_outline.sorted()) reset();
     if(m_auto_close) close_polygon();
     m_VectorClipper.move_to(m_start_x = m_VectorClipper.upscale(x),
                       m_start_y = m_VectorClipper.upscale(y));
     m_status = status.status_move_to;
 }
Exemple #14
0
 public void close_polygon()
 {
     if (m_status == status.status_line_to)
     {
         m_VectorClipper.line_to(m_outline, m_start_x, m_start_y);
         m_status = status.status_closed;
     }
 }
Exemple #15
0
 //------------------------------------------------------------------------
 void edge(int x1, int y1, int x2, int y2)
 {
     if(m_outline.sorted()) reset();
     m_VectorClipper.move_to(m_VectorClipper.downscale(x1), m_VectorClipper.downscale(y1));
     m_VectorClipper.line_to(m_outline,
                       m_VectorClipper.downscale(x2),
                       m_VectorClipper.downscale(y2));
     m_status = status.status_move_to;
 }
        /*
         * //--------------------------------------------------------------------
         * public rasterizer_scanline_aa(IClipper rasterizer_sl_clip, IGammaFunction gamma_function)
         * {
         *  m_outline = new rasterizer_cells_aa();
         *  m_clipper = rasterizer_sl_clip;
         *  m_filling_rule = filling_rule_e.fill_non_zero;
         *  m_auto_close = true;
         *  m_start_x = 0;
         *  m_start_y = 0;
         *  m_status = status.status_initial;
         *
         *  gamma(gamma_function);
         * }*/

        //--------------------------------------------------------------------
        public void reset()
        {
            m_outline.reset();
            m_status = status.status_initial;
        }
Exemple #17
0
        /*
        //--------------------------------------------------------------------
        public rasterizer_scanline_aa(IClipper rasterizer_sl_clip, IGammaFunction gamma_function)
        {
            m_outline = new rasterizer_cells_aa();
            m_clipper = rasterizer_sl_clip;
            m_filling_rule = filling_rule_e.fill_non_zero;
            m_auto_close = true;
            m_start_x = 0;
            m_start_y = 0;
            m_status = status.status_initial;

            gamma(gamma_function);
        }*/

        //--------------------------------------------------------------------
        public void reset()
        { 
            m_outline.reset(); 
            m_status = status.status_initial;
        }
Exemple #18
0
 //------------------------------------------------------------------------
 void edge_d(double x1, double y1, double x2, double y2)
 {
     if(m_outline.sorted()) reset();
     m_VectorClipper.move_to(m_VectorClipper.upscale(x1), m_VectorClipper.upscale(y1)); 
     m_VectorClipper.line_to(m_outline,
                       m_VectorClipper.upscale(x2),
                       m_VectorClipper.upscale(y2));
     m_status = status.status_move_to;
 }