LVAL iview_transformation(V) { IVIEW_WINDOW w; LVAL m = NULL, object; int set = FALSE; int vars; object = xlgaobject(); w = (IVIEW_WINDOW) get_iview_address(object); if (moreargs()) { set = TRUE; m = xlgetarg(); } vars = IViewNumVariables(w); if (set) { if (m == NIL) IViewSetIdentityTransformation(w); else { set_internal_transformation(vars, m, NIL); IViewSetTransformation(w, transform); } check_redraw(object, TRUE, TRUE); } else m = (IViewIsTransformed(w)) ? make_transformation(IViewTransformation(w), vars) : NIL; return(m); }
LVAL iview_scaled_range() { LVAL object = xlgaobject(), result; int set = (xlargc > 1) ? TRUE : FALSE, draw; wind = get_iview_address(object); draw = draw_key_arg(TRUE); range_type = 'S'; result = range(); if (set) check_redraw(object, draw, FALSE); return(result); }
LVAL iview_hist_num_bins(V) { LVAL object, hdata; IVIEW_WINDOW w; int bins; gethistargs(&w, &object, &hdata); if (moreargs()) { bins = getfixnum(xlgafixnum()); IViewHistSetNumBins(object, hdata, bins); check_redraw(object, TRUE, TRUE); } return(cvfixnum((FIXTYPE) IViewHistNumBins(hdata))); }
LVAL iview_hist_clear_points(V) { IVIEW_WINDOW w; LVAL object, hdata; gethistargs(&w, &object, &hdata); if (! IVIEW_WINDOW_NULL(w)) { IViewClearPoints(w); clear_bins(hdata); clear_internal_points(object); check_redraw(object, TRUE, TRUE); } return(NIL); }
LVAL iview_rotate_2(V) { IVIEW_WINDOW w; int var1, var2; double alpha; LVAL object; object = xlgaobject(); w = (IVIEW_WINDOW) get_iview_address(object); var1 = getfixnum(xlgafixnum()); var2 = getfixnum(xlgafixnum()); alpha = makefloat(xlgetarg()); IViewRotate2(w, var1, var2, alpha); check_redraw(object, TRUE, TRUE); return(NIL); }
LVAL iview_apply_transformation(V) { IVIEW_WINDOW w; LVAL m, b, object; int vars; object = xlgaobject(); w = (IVIEW_WINDOW) get_iview_address(object); m = xlgamatrix(); if (! xlgetkeyarg(sk_basis, &b)) b = NIL; vars = IViewNumVariables(w); set_internal_transformation(vars, m, b); IViewApplyTransformation(w, transform, inbasis); check_redraw(object, TRUE, TRUE); return(NIL); }
LVAL iview_range(V) { LVAL object = xlgaobject(), result, *oldargv = NULL; int set = (xlargc > 1) ? TRUE : FALSE, draw, oldargc = 0; wind = (IVIEW_WINDOW) get_iview_address(object); draw = draw_key_arg(TRUE); range_type = 'N'; if (set) { oldargc = xlargc; oldargv = xlargv; } result = range(); if (set) { xlargc = oldargc - 3; xlargv = oldargv + 3; check_redraw(object, draw, FALSE); } return(result); }