/[xforms]/xforms/demos/canvas.c
ViewVC logotype

Diff of /xforms/demos/canvas.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by leeming, Thu Apr 24 09:35:33 2003 UTC revision 1.4 by leeming, Tue Sep 9 00:28:25 2003 UTC
# Line 20  Line 20 
20   */   */
21    
22    
23  /*  /*
24   * Demo showing the interaction with a canvas object.     * Demo showing the interaction with a canvas object.
25   *   *
26   *  This file is part of xforms package   *  This file is part of xforms package
27   *  T.C. Zhao and M. Overmars  (1997)   *  T.C. Zhao and M. Overmars  (1997)
# Line 58  extern FD_canvasform * create_form_canva Line 58  extern FD_canvasform * create_form_canva
58    
59  static GC canvasGC;  static GC canvasGC;
60    
61  int  int
62  canvas_expose(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)  canvas_expose(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)
63  {  {
64      FD_canvasform *ui = (FD_canvasform *)d;      FD_canvasform *ui = (FD_canvasform *)d;
# Line 67  canvas_expose(FL_OBJECT *ob, Window win, Line 67  canvas_expose(FL_OBJECT *ob, Window win,
67      return 0;      return 0;
68  }  }
69    
70  int  int
71  canvas_key(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)  canvas_key(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)
72  {  {
73      FD_canvasform *ui = (FD_canvasform *)d;      FD_canvasform *ui = (FD_canvasform *)d;
74      char buf[128];      char buf[128];
75      sprintf(buf, "KeyPress: keysym=%ld",      sprintf(buf, "KeyPress: keysym=%ld",
76             XKeycodeToKeysym(fl_display,ev->xkey.keycode, 0));             XKeycodeToKeysym(fl_display,ev->xkey.keycode, 0));
77      fl_addto_browser(ui->br, buf);      fl_addto_browser(ui->br, buf);
78      return 0;      return 0;
79  }  }
80    
81  int  int
82  canvas_but(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)  canvas_but(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)
83  {  {
84      FD_canvasform *ui = (FD_canvasform *)d;      FD_canvasform *ui = (FD_canvasform *)d;
# Line 89  canvas_but(FL_OBJECT *ob, Window win, in Line 89  canvas_but(FL_OBJECT *ob, Window win, in
89      return 0;      return 0;
90  }  }
91    
92  int  int
93  canvas_misc(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)  canvas_misc(FL_OBJECT *ob, Window win, int w, int h, XEvent *ev, void *d)
94  {  {
95      FD_canvasform *ui = (FD_canvasform *)d;      FD_canvasform *ui = (FD_canvasform *)d;
96      fl_addto_browser(ui->br,      fl_addto_browser(ui->br,
97           ev->xcrossing.type == EnterNotify ? "Enter canvas":"Leave canvas");           ev->xcrossing.type == EnterNotify ? "Enter canvas":"Leave canvas");
98      return 0;      return 0;
99  }  }
# Line 158  void hide_it(FL_OBJECT *ob, long all) Line 158  void hide_it(FL_OBJECT *ob, long all)
158  }  }
159    
160  void misc_cb(FL_OBJECT *ob, long data)  void misc_cb(FL_OBJECT *ob, long data)
161  {  {
162      if(fl_get_button(ob))      if(fl_get_button(ob))
163      {      {
164         fl_add_canvas_handler(fd_canvasform->canvas, EnterNotify,         fl_add_canvas_handler(fd_canvasform->canvas, EnterNotify,
165                               canvas_misc, fd_canvasform);                               canvas_misc, fd_canvasform);
166         fl_add_canvas_handler(fd_canvasform->canvas, LeaveNotify,         fl_add_canvas_handler(fd_canvasform->canvas, LeaveNotify,
167                               canvas_misc, fd_canvasform);                               canvas_misc, fd_canvasform);
168      }      }
169      else      else
170      {      {
171         fl_remove_canvas_handler(fd_canvasform->canvas,         fl_remove_canvas_handler(fd_canvasform->canvas,
172                                  EnterNotify, canvas_misc);                                  EnterNotify, canvas_misc);
173         fl_remove_canvas_handler(fd_canvasform->canvas,         fl_remove_canvas_handler(fd_canvasform->canvas,
174                                  LeaveNotify, canvas_misc);                                  LeaveNotify, canvas_misc);
175      }      }
176  }  }
# Line 197  int main(int argc, char *argv[]) Line 197  int main(int argc, char *argv[])
197              OwnerGrabButtonMask);              OwnerGrabButtonMask);
198  #endif  #endif
199    
200     while (fl_do_forms() != fd_canvasform->done)     while (fl_do_forms() != fd_canvasform->done)
201        ;        ;
202    
203     return 0;     return 0;

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26