00001 #ifndef _WINC_FIGURE
00002 #define _WINC_FIGURE
00003
00004 #include <time.h>
00005
00006 #include <WXP/Date.h>
00007 #include <WXP/Domain.h>
00008 #include <WXP/Drawing.h>
00009 #include <WXP/Listener.h>
00010 #include <WXP/Plot.h>
00011 #include <WXP/PlotItem.h>
00012 #include <WXP/Rect.h>
00013 #include <WXP/String.h>
00014
00015 namespace WXP {
00016
00017 class Figure : public Listener {
00018 Plot plot;
00019 PlotItem *plot_queue;
00020 String file;
00021 String ftime;
00022 Date bdate;
00023 Date ldate;
00024 Domain bdomain;
00025 Domain domain;
00026 int loop_frames;
00027 int num_frames;
00028 int num_plot;
00029 int loop_type;
00030 int loop_inc;
00031 int redraw;
00032 int border;
00033 int num_redraw;
00034 int refresh;
00035 time_t rtime;
00036
00037 public:
00038 Figure();
00039 Figure( const char *param );
00040 ~Figure();
00041
00042 int init();
00043 int setParam( const char *param );
00044 int open( const char *param );
00045 int open();
00046 int close();
00047 int setForeTime( const char *fore );
00048 int setDomain( Domain &rdomain );
00049 int setLoopType( int rtype );
00050 inline int setRefresh( int val ){ refresh = val; return 1; };
00051 int setDate( Date &date );
00052 int setDate( Date &date, int inc, int num );
00053 int draw( );
00054 int startPlot();
00055 int startPlot( Domain &rdomain );
00056 int startPlot( Rect &offset, float aspect );
00057 int startPlot( Rect &offset, Domain &rdomain );
00058 int startPlot( Rect &offset );
00059 int clearQueue( );
00060 int addDrawing( Drawing &draw );
00061 int draw( Drawing &draw );
00062 int drawFrame( Date &date );
00063 int drawFrame( const char *fore );
00064 int endPlot();
00065 int drawPlot();
00066 int updateLoop( Date &date );
00067 int manage();
00068 int setDrawing( const char *str );
00069 bool isDrawing( int ind );
00070 void callback( const char *ev_str, const char *ev_data, const void *data );
00071
00072 };
00073 }
00074 #endif