-rw-r--r-- | agg-plot/Makefile | 2 | ||||
-rw-r--r-- | agg-plot/agg_platform_support_win32.cpp | 7 | ||||
-rw-r--r-- | agg-plot/agg_platform_support_x11.cpp | 3 | ||||
-rw-r--r-- | agg-plot/lua-cpp-utils.h | 1 | ||||
-rw-r--r-- | agg-plot/plot.h | 8 | ||||
-rw-r--r-- | agg-plot/utils.cpp | 7 | ||||
-rw-r--r-- | agg-plot/utils.h | 28 |
diff --git a/agg-plot/Makefile b/agg-plot/Makefile index 7931bb82..877098ff 100644 --- a/agg-plot/Makefile +++ b/agg-plot/Makefile @@ -35,7 +35,7 @@ endif ifeq ($(strip $(PLATFORM)), mingw) # Option for Windows Platform - DEFS += -DWIN32 + DEFS += -DWIN32 -DAGG_PLOT_ENABLED INCLUDES += -I/usr/include -I/usr/pthreads-w32/include PLATSUP_SRC_FILES = agg_platform_support_win32.cpp agg_win32_bmp.cpp else diff --git a/agg-plot/agg_platform_support_win32.cpp b/agg-plot/agg_platform_support_win32.cpp index d1e5928d..e3a16efa 100644 --- a/agg-plot/agg_platform_support_win32.cpp +++ b/agg-plot/agg_platform_support_win32.cpp @@ -1306,3 +1306,10 @@ platform_support_ext::update_region (const agg::rect_base<int>& r) m_specific->display_pmap(dc, &rbuf_window(), &r); ::ReleaseDC(m_specific->m_hwnd, dc); } + +void +platform_support_ext::do_window_update() +{ + agg::rect_base<int> r(0, 0, rbuf_window().width(), rbuf_window().height()); + update_region(r); +} diff --git a/agg-plot/agg_platform_support_x11.cpp b/agg-plot/agg_platform_support_x11.cpp index b41e52f7..b3ad8475 100644 --- a/agg-plot/agg_platform_support_x11.cpp +++ b/agg-plot/agg_platform_support_x11.cpp @@ -1358,7 +1358,8 @@ platform_support_ext::update_region (const agg::rect_base<int>& r) // the X server does not accumulate mouse motion events. // When m_wait_mode is false, i.e. we have some idle drawing // we cannot afford to miss any events - XSync(m_specific->m_display_alt, wait_mode()); + // XSync(m_specific->m_display_alt, wait_mode()); + XFlush(m_specific->m_display_alt); } void diff --git a/agg-plot/lua-cpp-utils.h b/agg-plot/lua-cpp-utils.h index 8621c1f2..7b186944 100644 --- a/agg-plot/lua-cpp-utils.h +++ b/agg-plot/lua-cpp-utils.h @@ -1,6 +1,7 @@ #ifndef LUA_CPP_UTILS_H #define LUA_CPP_UTILS_H +#include <exception> #include <new> #include "defs.h" diff --git a/agg-plot/plot.h b/agg-plot/plot.h index 6923657d..48dd297c 100644 --- a/agg-plot/plot.h +++ b/agg-plot/plot.h @@ -21,6 +21,8 @@ #ifndef AGGPLOT_PLOT_H #define AGGPLOT_PLOT_H +#include <new> + #include "utils.h" #include "my_list.h" #include "drawable.h" @@ -323,8 +325,10 @@ template<class VS, class RM> void plot<VS,RM>::draw_queue(canvas &canvas, agg::trans_affine& canvas_mtx, opt_rect<double>& bb) { - plot<VS,RM>::iterator *c0 = m_drawing_queue; - for (plot<VS,RM>::iterator *c = c0; c != 0; c = c->next()) + typedef typename plot<VS,RM>::iterator iter_type; + + iter_type *c0 = m_drawing_queue; + for (iter_type *c = c0; c != 0; c = c->next()) { item& d = c->content(); agg::trans_affine m = get_scaled_matrix(canvas_mtx); diff --git a/agg-plot/utils.cpp b/agg-plot/utils.cpp index fe342d41..de80656d 100644 --- a/agg-plot/utils.cpp +++ b/agg-plot/utils.cpp @@ -1,10 +1,3 @@ -#include <stdio.h> -#include <stdlib.h> -#include <limits.h> - -#include <string> -#include <stdarg.h> - #include "utils.h" agg::trans_affine identity_matrix; diff --git a/agg-plot/utils.h b/agg-plot/utils.h index eec7d492..b68d3bed 100644 --- a/agg-plot/utils.h +++ b/agg-plot/utils.h @@ -1,18 +1,28 @@ #ifndef AGGPLOT_UTILS_H #define AGGPLOT_UTILS_H -#include <string> #include "agg_trans_affine.h" -template <class T> -T max (T a, T b) { - return (b < a) ? a : b; -} +#ifdef min +#undef min +#endif + +#ifdef max +#undef max +#endif + + +template <typename T> +T min(T a, T b) +{ + return (a < b) ? a : b; +}; -template <class T> -T min (T a, T b) { - return (b > a) ? a : b; -} +template <typename T> +T max(T a, T b) +{ + return (a > b) ? a : b; +}; extern void trans_affine_compose (agg::trans_affine& a, const agg::trans_affine& b); |