From e4f66787efe43bc4431ca704fce026edbca0b2c7 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 12 Oct 2014 19:30:09 +0000 Subject: add numChannel --- Display.c | 8 ++++++-- Display.h | 3 +++ DisplayP.h | 1 + spectrogram.c | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/Display.c b/Display.c index 88e1785..b401e4f 100644 --- a/Display.c +++ b/Display.c @@ -18,6 +18,8 @@ static Boolean SetValues(Widget, Widget, Widget, ArgList, Cardinal *); #define Offset(field) XtOffsetOf(DisplayRec, display.field) static XtResource resources[] = { + { XtNnumChannel, XtCNumChannel, XtRInt, sizeof(int), + Offset(num_channel), XtRInt, 2 }, { XtNdata, XtCData, XtRPointer, sizeof(int **), Offset(data), XtRPointer, NULL }, }; @@ -85,7 +87,9 @@ WidgetClass displayWidgetClass = (WidgetClass) & displayClassRec; static void Initialize(Widget req, Widget new, ArgList args, Cardinal *num_args) { + DisplayWidget dw = (DisplayWidget)new; Trace(new); + dw->display.data = (int **)XtMalloc(dw->display.num_channel * sizeof(int)); } static void @@ -103,8 +107,8 @@ ChangeManaged(Widget w) width = w->core.width; height = w->core.height; - data = (int **)XtRealloc((char *)dw->display.data, dw->composite.num_children * sizeof(int *)); - dw->display.data = data; + //data = (int **)XtRealloc((char *)dw->display.data, dw->composite.num_children * sizeof(int *)); + //dw->display.data = data; for (i = 0; i < dw->composite.num_children; i++) { child = dw->composite.children[i]; diff --git a/Display.h b/Display.h index 93c01d8..83860dd 100644 --- a/Display.h +++ b/Display.h @@ -6,6 +6,9 @@ #define XtNdata "data" #define XtCData "Data" +#define XtNnumChannel "numChannel" +#define XtCNumChannel "NumChannel" + #define XtNround "round" #define XtCRound "Round" diff --git a/DisplayP.h b/DisplayP.h index 668843e..6c92c0d 100644 --- a/DisplayP.h +++ b/DisplayP.h @@ -6,6 +6,7 @@ #include "Display.h" typedef struct { + int num_channel; int **data; } DisplayPart; diff --git a/spectrogram.c b/spectrogram.c index 1e05ad3..c3eed91 100644 --- a/spectrogram.c +++ b/spectrogram.c @@ -128,6 +128,7 @@ main(int argc, char **argv) n = 0; XtSetArg(args[n], XtNorientation, "horizontal"); n++; XtSetArg(args[n], XtNaccelerators, acs); n++; + XtSetArg(args[n], XtNnumChannel, 2); n++; display = XtCreateManagedWidget("Display", displayWidgetClass, toplevel, args, n); -- cgit v1.2.3