diff options
author | Tom Sepez <tsepez@chromium.org> | 2015-06-16 16:29:44 -0700 |
---|---|---|
committer | Tom Sepez <tsepez@chromium.org> | 2015-06-16 16:29:44 -0700 |
commit | 2ca8fcbc8a7a3ef6adfac154c47068c1696205d0 (patch) | |
tree | de3f825c75b1b92908825f68af8a4e7146cf97fd /core/src/fxge/agg/agg23/agg_shorten_path.h | |
parent | ea44bd064a86679a47a7265020f997d6e3b88336 (diff) | |
download | pdfium-2ca8fcbc8a7a3ef6adfac154c47068c1696205d0.tar.xz |
Separate agg-authored code from fx-authored code.chromium/2439chromium/2438chromium/2437chromium/2436chromium/2435
Creates a separate library so we can apply less-strict warnings to
the code we can't change from upstream vs. the code we can change,
reducing noise in the standalone build.
Remove needless foo.{cpp,h} files that merely perform indirection
via #include "some_other_path/foo.{cpp,h}".
BUG=pdfium:166
R=brucedawson@chromium.org, thestig@chromium.org
Review URL: https://codereview.chromium.org/1152743007.
Diffstat (limited to 'core/src/fxge/agg/agg23/agg_shorten_path.h')
-rw-r--r-- | core/src/fxge/agg/agg23/agg_shorten_path.h | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/core/src/fxge/agg/agg23/agg_shorten_path.h b/core/src/fxge/agg/agg23/agg_shorten_path.h deleted file mode 100644 index d7eb4be018..0000000000 --- a/core/src/fxge/agg/agg23/agg_shorten_path.h +++ /dev/null @@ -1,57 +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 -//---------------------------------------------------------------------------- -#ifndef AGG_SHORTEN_PATH_INCLUDED -#define AGG_SHORTEN_PATH_INCLUDED -#include "agg_basics.h" -#include "agg_vertex_sequence.h" -namespace agg -{ -template<class VertexSequence> -void shorten_path(VertexSequence& vs, FX_FLOAT s, unsigned closed = 0) -{ - typedef typename VertexSequence::value_type vertex_type; - if(s > 0 && vs.size() > 1) { - FX_FLOAT d; - int n = int(vs.size() - 2); - while(n) { - d = vs[n].dist; - if(d > s) { - break; - } - vs.remove_last(); - s -= d; - --n; - } - if(vs.size() < 2) { - vs.remove_all(); - } else { - n = vs.size() - 1; - vertex_type& prev = vs[n - 1]; - vertex_type& last = vs[n]; - d = (prev.dist - s) / prev.dist; - FX_FLOAT x = prev.x + (last.x - prev.x) * d; - FX_FLOAT y = prev.y + (last.y - prev.y) * d; - last.x = x; - last.y = y; - if(!prev(last)) { - vs.remove_last(); - } - vs.close(closed != 0); - } - } -} -} -#endif |