HWin MakeAWindow(char *name,int x, int y, int w, int h, int n) { HWin win; int xx,yy; char buf[100]; win = MakeHWin(name,x,y,w,h,1); strcpy(buf,"Window: "); strcat(buf,name); xx = CentreX(win,w/2,buf); yy = CentreY(win,h/2,buf); HSetColour(win,RED+n); HDrawLine(win,0,0,w,h); HPrintf(win,xx,yy,"%s",buf); return win; }
/* EXPORT-> HPlotVector: plot vector v in given rectangle */ void HPlotVector(int x0, int y0, int x1, int y1, Vector v, int st, int en, float ymax, float ymin) { float yScale, yOffset, xInc, x; int xOld, yOld, ix, iy, i; if (st >= en || st < 1 || en > VectorSize(v)) HError(6815, "HPlotVector: Plot indices %d -> %d out of range", st, en); x = (x1 - x0 - 1); xInc = x/(en - st); yScale = (y1 - y0)/(ymin - ymax); yOffset = y0 - ymax*yScale; x = x0; xOld = x; yOld = v[st]*yScale + yOffset; for (i = st+1; i <= en; i++){ x += xInc; ix = x; iy = v[i]*yScale + yOffset; HDrawLine(xOld,yOld,ix,iy); xOld = ix; yOld = iy; } }