monitor.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #ifndef nam_monitor_h
  2. #define nam_monitor_h
  3. class Animation;
  4. class NetView;
  5. class View;
  6. class Node;
  7. struct MonPacket {
  8.   int id;
  9. };
  10. struct MonRoute {
  11.   int src;
  12.   int group;
  13.   Node *node;
  14. };
  15. /*MonState is used when an Animation deletes itself, but it is likely
  16.   that another animation will be created soon that should inherit the
  17.   monitor*/
  18. #define MON_PACKET 1
  19. #define MON_ROUTE 2
  20. struct MonState {
  21.   int type;
  22.   union {
  23.     MonPacket pkt;
  24.     MonRoute route;
  25.   };
  26. };
  27. class Monitor {
  28. public:
  29.   Monitor(int mon, Animation *a, double size);
  30.   ~Monitor();
  31.   void update(double now, char *result, int len);
  32.   inline Monitor *next() const { return next_; }  
  33.   void next(Monitor *next) { next_=next; }
  34.   Animation *anim() const { return anim_; }
  35.   void anim(Animation *a) { anim_=a;}
  36.   void draw (View *nv, float x, float y);
  37.   void size(double size);
  38.   void draw_monitor(View *nv, float ymin, float ymax) const;
  39.   int monitor_number() const {return mon_num_;}
  40.   void delete_monitor_object(Animation *m);
  41.   struct MonState *mon_state_;
  42. protected:
  43.   Monitor* next_;
  44.   int mon_num_;
  45.   Animation *anim_;
  46.   int paint_;
  47.   float x_;
  48.   float y_;
  49.   double size_;
  50.   char label_[20];
  51. };
  52. #endif