diff options
Diffstat (limited to 'core/src/fxge/agg/agg23/fx_agg_path_storage.cpp')
-rw-r--r-- | core/src/fxge/agg/agg23/fx_agg_path_storage.cpp | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/core/src/fxge/agg/agg23/fx_agg_path_storage.cpp b/core/src/fxge/agg/agg23/fx_agg_path_storage.cpp deleted file mode 100644 index 8a876210b7..0000000000 --- a/core/src/fxge/agg/agg23/fx_agg_path_storage.cpp +++ /dev/null @@ -1,98 +0,0 @@ - -//---------------------------------------------------------------------------- -// XYQ: 2006-01-22 Copied from AGG project. -// TODO: This file uses intensive floating point operations, so it's NOT suitable -// for platforms like Symbian OS. We need to change to FIX format. -//---------------------------------------------------------------------------- -//---------------------------------------------------------------------------- -// 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 path_storage -// -//---------------------------------------------------------------------------- -#include "../../../../include/fxcrt/fx_basic.h" -#include "agg_path_storage.h" -#include "agg_math.h" -namespace agg -{ -path_storage::~path_storage() -{ - if(m_total_blocks) { - FX_FLOAT** coord_blk = m_coord_blocks + m_total_blocks - 1; - while(m_total_blocks--) { - FX_Free(*coord_blk); - --coord_blk; - } - FX_Free(m_coord_blocks); - } -} -path_storage::path_storage() : - m_total_vertices(0), - m_total_blocks(0), - m_max_blocks(0), - m_coord_blocks(0), - m_cmd_blocks(0), - m_iterator(0) -{ -} -void path_storage::allocate_block(unsigned nb) -{ - if(nb >= m_max_blocks) { - FX_FLOAT** new_coords = - FX_Alloc2D(FX_FLOAT*, m_max_blocks + block_pool, 2); - unsigned char** new_cmds = - (unsigned char**)(new_coords + m_max_blocks + block_pool); - if(m_coord_blocks) { - FXSYS_memcpy(new_coords, - m_coord_blocks, - m_max_blocks * sizeof(FX_FLOAT*)); - FXSYS_memcpy(new_cmds, - m_cmd_blocks, - m_max_blocks * sizeof(unsigned char*)); - FX_Free(m_coord_blocks); - } - m_coord_blocks = new_coords; - m_cmd_blocks = new_cmds; - m_max_blocks += block_pool; - } - m_coord_blocks[nb] = - FX_Alloc( FX_FLOAT, block_size * 2 + - block_size / - (sizeof(FX_FLOAT) / sizeof(unsigned char))); - m_cmd_blocks[nb] = - (unsigned char*)(m_coord_blocks[nb] + block_size * 2); - m_total_blocks++; -} -void path_storage::rewind(unsigned path_id) -{ - m_iterator = path_id; -} -void path_storage::curve4(FX_FLOAT x_ctrl1, FX_FLOAT y_ctrl1, - FX_FLOAT x_ctrl2, FX_FLOAT y_ctrl2, - FX_FLOAT x_to, FX_FLOAT y_to) -{ - add_vertex(x_ctrl1, y_ctrl1, path_cmd_curve4); - add_vertex(x_ctrl2, y_ctrl2, path_cmd_curve4); - add_vertex(x_to, y_to, path_cmd_curve4); -} -void path_storage::end_poly() -{ - if(m_total_vertices) { - if(is_vertex(command(m_total_vertices - 1))) { - add_vertex(0, 0, path_cmd_end_poly | path_flags_close); - } - } -} -} |