diff options
Diffstat (limited to 'core/src/fxge/agg/agg23/agg_renderer_base.h')
-rw-r--r-- | core/src/fxge/agg/agg23/agg_renderer_base.h | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/core/src/fxge/agg/agg23/agg_renderer_base.h b/core/src/fxge/agg/agg23/agg_renderer_base.h deleted file mode 100644 index bd1b203b9a..0000000000 --- a/core/src/fxge/agg/agg23/agg_renderer_base.h +++ /dev/null @@ -1,163 +0,0 @@ - -//---------------------------------------------------------------------------- -// Anti-Grain Geometry - Version 2.3 -// 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 -//---------------------------------------------------------------------------- -// -// class renderer_base -// -//---------------------------------------------------------------------------- -#ifndef AGG_RENDERER_BASE_INCLUDED -#define AGG_RENDERER_BASE_INCLUDED -#include "agg_basics.h" -#include "agg_rendering_buffer.h" -namespace agg -{ -template<class PixelFormat> class renderer_base -{ -public: - typedef PixelFormat pixfmt_type; - typedef typename pixfmt_type::color_type color_type; - typedef typename pixfmt_type::row_data row_data; - typedef typename pixfmt_type::span_data span_data; - renderer_base() : m_ren(0), m_clip_box(1, 1, 0, 0) {} - renderer_base(pixfmt_type& ren) : - m_ren(&ren), - m_clip_box(0, 0, ren.width() - 1, ren.height() - 1) - {} - void attach(pixfmt_type& ren) - { - m_ren = &ren; - m_clip_box = rect(0, 0, ren.width() - 1, ren.height() - 1); - } - const pixfmt_type& ren() const - { - return *m_ren; - } - pixfmt_type& ren() - { - return *m_ren; - } - unsigned width() const - { - return m_ren->width(); - } - unsigned height() const - { - return m_ren->height(); - } - void first_clip_box() {} - bool next_clip_box() - { - return false; - } - const rect& clip_box() const - { - return m_clip_box; - } - int xmin() const - { - return m_clip_box.x1; - } - int ymin() const - { - return m_clip_box.y1; - } - int xmax() const - { - return m_clip_box.x2; - } - int ymax() const - { - return m_clip_box.y2; - } - const rect& bounding_clip_box() const - { - return m_clip_box; - } - int bounding_xmin() const - { - return m_clip_box.x1; - } - int bounding_ymin() const - { - return m_clip_box.y1; - } - int bounding_xmax() const - { - return m_clip_box.x2; - } - int bounding_ymax() const - { - return m_clip_box.y2; - } - void blend_hline(int x1, int y, int x2, - const color_type& c, cover_type cover) - { - if(x1 > x2) { - int t = x2; - x2 = x1; - x1 = t; - } - if(y > ymax()) { - return; - } - if(y < ymin()) { - return; - } - if(x1 > xmax()) { - return; - } - if(x2 < xmin()) { - return; - } - if(x1 < xmin()) { - x1 = xmin(); - } - if(x2 > xmax()) { - x2 = xmax(); - } - m_ren->blend_hline(x1, y, x2 - x1 + 1, c, cover); - } - void blend_solid_hspan(int x, int y, int len, - const color_type& c, - const cover_type* covers) - { - if(y > ymax()) { - return; - } - if(y < ymin()) { - return; - } - if(x < xmin()) { - len -= xmin() - x; - if(len <= 0) { - return; - } - covers += xmin() - x; - x = xmin(); - } - if(x + len > xmax()) { - len = xmax() - x + 1; - if(len <= 0) { - return; - } - } - m_ren->blend_solid_hspan(x, y, len, c, covers); - } -private: - pixfmt_type* m_ren; - rect m_clip_box; -}; -} -#endif |