From 6abfeaada311a61a9590f076ae100531cff42666 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Sat, 24 Nov 2007 04:07:23 +0000 Subject: moved inlet/outlet counts to tkwidgets.h svn path=/trunk/externals/tkwidgets/; revision=9030 --- shared/tkwidgets.c | 15 +++++++++------ shared/tkwidgets.h | 7 +++++-- 2 files changed, 14 insertions(+), 8 deletions(-) (limited to 'shared') diff --git a/shared/tkwidgets.c b/shared/tkwidgets.c index 65dba8f..d58f643 100644 --- a/shared/tkwidgets.c +++ b/shared/tkwidgets.c @@ -169,28 +169,31 @@ static int calculate_onset(int x_location, int width, * current_iolet / (total_iolets == 1 ? 1 : total_iolets - 1)); } +/* standard method for drawing inlets and outlets. Currently, the number of + * inlets and outlets is set in tkwidgets.h since I think all of the + * objectclasses will have the same ones. If that needs to change, then this + * function can use obj_ninlets() and obj_noutlets() */ void tkwidgets_draw_iolets(t_object *x, t_glist *glist, t_symbol *canvas_id, t_symbol *iolets_tag, t_symbol *all_tag, - int width, int height, - int total_inlets, int total_outlets) + int width, int height) { int i, onset; int x_location = text_xpix(x, glist); int y_location = text_ypix(x, glist); /* TODO: make inlets draw on top of widget */ - for (i = 0; i < total_inlets; i++) /* inlets */ + for (i = 0; i < TOTAL_INLETS; i++) /* inlets */ { - onset = calculate_onset(x_location, width, i, total_inlets); + onset = calculate_onset(x_location, width, i, TOTAL_INLETS); sys_vgui("%s create rectangle %d %d %d %d -tags {%s %s}\n", canvas_id->s_name, onset, y_location - 2, onset + IOWIDTH, y_location, iolets_tag->s_name, all_tag->s_name); sys_vgui("%s raise %s\n", canvas_id->s_name, iolets_tag->s_name); } - for (i = 0; i < total_outlets; i++) /* outlets */ + for (i = 0; i < TOTAL_OUTLETS; i++) /* outlets */ { - onset = calculate_onset(x_location, width, i, total_outlets); + onset = calculate_onset(x_location, width, i, TOTAL_OUTLETS); sys_vgui("%s create rectangle %d %d %d %d -tags {%s %s}\n", canvas_id->s_name, onset, y_location + height, onset + IOWIDTH, y_location + height + 2, diff --git a/shared/tkwidgets.h b/shared/tkwidgets.h index fa444fa..0bc3996 100644 --- a/shared/tkwidgets.h +++ b/shared/tkwidgets.h @@ -33,6 +33,10 @@ #pragma warning( disable : 4305 ) #endif +/* so far, all of the tkwidgets objects have the same inlets/outlets */ +#define TOTAL_INLETS 1 +#define TOTAL_OUTLETS 2 + /* size and offset for the resizing handle */ #define TKW_HANDLE_HEIGHT 15 #define TKW_HANDLE_WIDTH 15 @@ -92,8 +96,7 @@ t_symbol* tkwidgets_gen_all_tag(t_object *x); // TODO perhaps I should try to use glist_drawiofor() from g_text.c void tkwidgets_draw_iolets(t_object *x, t_glist *glist, t_symbol *canvas_id, t_symbol *iolets_tag, t_symbol *all_tag, - int width, int height, - int total_inlets, int total_outlets); + int width, int height); void tkwidgets_erase_iolets(t_symbol* canvas_id, t_symbol* iolets_tag); void tkwidgets_draw_handle(); // TODO draw resize handle when selected in editmode -- cgit v1.2.1