diff options
-rw-r--r-- | xgui/README.txt | 2 | ||||
-rw-r--r-- | xgui/netserver/help-netserver.pd | 48 | ||||
-rw-r--r-- | xgui/xgui-lib/seg.c | 186 |
3 files changed, 97 insertions, 139 deletions
diff --git a/xgui/README.txt b/xgui/README.txt index 8dc77575..95398b53 100644 --- a/xgui/README.txt +++ b/xgui/README.txt @@ -1,4 +1,4 @@ -This is the README file for Xgui_0.10, an experimental GUI (Graphical User Interface) server for pure data. +This is the README file for Xgui_0.10b, an experimental GUI (Graphical User Interface) server for pure data. The goal of Xgui is not to replace the existing GUI, but to add some graphicals functionality to pd. diff --git a/xgui/netserver/help-netserver.pd b/xgui/netserver/help-netserver.pd deleted file mode 100644 index 10688163..00000000 --- a/xgui/netserver/help-netserver.pd +++ /dev/null @@ -1,48 +0,0 @@ -#N canvas 106 97 754 476 12;
-#X floatatom 49 333 5 0 0;
-#X floatatom 87 298 5 0 0;
-#X symbolatom 164 251 10 0 0;
-#X text 102 332 received data;
-#X text 140 298 number of connections;
-#X msg 49 54 print;
-#X floatatom 125 272 5 0 0;
-#X text 183 276 socket number;
-#X msg 103 179 broadcast hallo world!;
-#X text 288 179 send to all clients;
-#X text 144 33 written by Olaf Matthes <olaf.matthes@gmx.de>;
-#X obj 49 223 netserver 3000;
-#X text 137 120 send message to client no. 1;
-#X text 256 251 client's IP address;
-#X msg 498 116 connect localhost 3000;
-#X msg 511 143 disconnect;
-#X msg 477 84 send 23;
-#X floatatom 544 218 5 0 0;
-#X msg 83 91 send 380 17.3;
-#X floatatom 477 296 5 0 0;
-#X obj 600 281 print anything;
-#X obj 538 309 print list;
-#X obj 477 245 route float list;
-#X msg 98 142 client 1 23;
-#X text 204 91 "send <socketnumber> <data>";
-#X text 110 70 send message on specified socket;
-#X text 200 143 "client <clientnumber> <data>";
-#X text 48 379 This example demonstrates how to set up a client/server
-connection. Data sent by the client get's received and displayed by
-the server imediately. Or just try it the other way round...;
-#X text 38 15 netclient :: simple client that connects to netserver
-;
-#X obj 480 189 netsend;
-#X connect 5 0 11 0;
-#X connect 8 0 11 0;
-#X connect 11 0 0 0;
-#X connect 11 1 1 0;
-#X connect 11 2 6 0;
-#X connect 11 3 2 0;
-#X connect 14 0 29 0;
-#X connect 16 0 29 0;
-#X connect 18 0 11 0;
-#X connect 22 0 19 0;
-#X connect 22 1 21 0;
-#X connect 22 2 20 0;
-#X connect 23 0 11 0;
-#X connect 29 0 22 0;
diff --git a/xgui/xgui-lib/seg.c b/xgui/xgui-lib/seg.c index a7a0566e..2f1a9bed 100644 --- a/xgui/xgui-lib/seg.c +++ b/xgui/xgui-lib/seg.c @@ -1,90 +1,96 @@ -/* Copyright (c) 2002 Damien HENRY.
-* For information on usage and redistribution, and for a DISCLAIMER OF ALL
-* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
-
-/* code for seg pd class NOT WORKING YET*/
-
-#include "m_pd.h"
-#include "g_canvas.h"
-#include "t_tk.h"
-
-typedef struct s_pd_obj_seg
-{
- t_object t_ob;
- t_symbol *seg_name;
- t_float *posx;
- t_float *posy;
- t_float *x1;
- t_float *y1;
- t_float *x2;
- t_float *y2;
- t_float *width;
- t_symbol *color;
-} t_seg;
-
-typedef struct s_seg
-{
- t_object t_ob;
- t_symbol* seg_name;
- t_float posx;
- t_float posy;
- t_float x1;
- t_float y1;
- t_float x2;
- t_float y2;
- t_float width;
- t_symbol color;
-} t_seg;
-
-void seg_help(t_seg *x)
-{
- post(" ");
- post("seg v001");
- post("+ symbol list :");
- post("++ help : this help !!!");
- post(" ");
-}
-
-void seg_width(t_seg *x, t_floatarg f)
-{
- post("seg: width %f",f);
- t_atom my_atom ;
- t_atom *my_pointer = &my_atom;
- SETFLOAT(my_pointer, *f);
- outlet_anything(x->x_obj.ob_outlet, gensym("!width"), 1,my_pointer);
-}
-
-
-void seg_pos(t_seg *x, t_floatarg f1, t_floatarg f2)
-{
- outlet_float(x->x_outlet1, (t_float)f1+(t_float)f2);
-}
-
-void seg_free(void)
-{
- post("seg_free");
-}
-
-t_class *seg_class;
-
-void *seg_new(void)
-{
- t_seg *x = (t_seg *)pd_new(seg_class);
- post("seg created");
- x->posx = 0; x->posy = 0;
- x->x1 = 10; x->y1 = 10;
- x->x1 = 20; x->y1 = 20;
- x->x_outlet1 = outlet_new(&x->t_ob, &s_float);
- return (void *)x;
-}
-
-void seg_setup(void)
-{
- post("seg_setup");
- seg_class = class_new(gensym("seg"), (t_newmethod)seg_new,(t_method)seg_free, sizeof(t_seg), 0, A_GIMME, 0);
- class_addmethod(seg_class, (t_method)seg_width, gensym("width"),A_FLOAT, 0);
- class_addmethod(seg_class, (t_method)seg_pos, gensym("pos"),A_FLOAT,A_FLOAT, 0);
- class_addmethod(seg_class, (t_method)seg_help, gensym("help"), 0);
- class_sethelpsymbol(seg_class, gensym("xgui/help_seg"));
-}
-
+/* Copyright (c) 2002 Damien HENRY. +* For information on usage and redistribution, and for a DISCLAIMER OF ALL +* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ + +/* code for seg pd class NOT WORKING YET*/ + +#include "m_pd.h" +#include "g_canvas.h" +#include "t_tk.h" + +typedef struct s_pd_obj_seg +{ + t_object t_ob; + t_symbol *seg_name; + t_float *posx; + t_float *posy; + t_float *x1; + t_float *y1; + t_float *x2; + t_float *y2; + t_float *width; + t_symbol *color; +} t_seg; + +typedef struct s_seg +{ + t_object t_ob; + t_symbol* seg_name; + t_float posx; + t_float posy; + t_float x1; + t_float y1; + t_float x2; + t_float y2; + t_float width; + t_symbol color; +} t_seg; + +void seg_help(t_seg *x) +{ + post(" "); + post("seg v001"); + post("+ symbol list :"); + post("++ help : this help !!!"); + post(" "); +} + +void seg_width(t_seg *x, t_floatarg f) +{ + post("seg: width %f",f); + t_atom my_atom ; + t_atom *my_pointer = &my_atom; + SETFLOAT(my_pointer, *f); + outlet_anything(x->x_obj.ob_outlet, gensym("!width"), 1,my_pointer); +} + + +void seg_pos(t_seg *x, t_floatarg f1, t_floatarg f2) +{ + outlet_float(x->x_outlet1, (t_float)f1+(t_float)f2); +} + +void seg_free(void) +{ + post("seg_free"); +} + +t_class *seg_class; + +void *seg_new(void) +{ + t_seg *x = (t_seg *)pd_new(seg_class); + post("seg created"); + + sys_vgui(".x%x.c create oval 10 10 20 20\n",glist_getcanvas(glist), + x->x_obj.te_xpos+1,x->x_obj.te_ypos+1, + x->x_obj.te_xpos + x->x_width -1, + x->x_obj.te_ypos + x->x_height -1,x->x_color->s_name,x); + x->posx = 0; x->posy = 0; + x->x1 = 10; x->y1 = 10; + x->x1 = 20; x->y1 = 20; + x->x_outlet1 = outlet_new(&x->t_ob, &s_float); + + return (void *)x; +} + +void seg_setup(void) +{ + post("seg_setup"); + seg_class = class_new(gensym("seg"), (t_newmethod)seg_new,(t_method)seg_free, sizeof(t_seg), 0, A_GIMME, 0); + class_addmethod(seg_class, (t_method)seg_width, gensym("width"),A_FLOAT, 0); + class_addmethod(seg_class, (t_method)seg_pos, gensym("pos"),A_FLOAT,A_FLOAT, 0); + class_addmethod(seg_class, (t_method)seg_help, gensym("help"), 0); + class_sethelpsymbol(seg_class, gensym("xgui/help_seg")); +} + |