Exemple #1
0
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);
}
Exemple #3
0
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)));
}
Exemple #4
0
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);
}
Exemple #5
0
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);
}
Exemple #6
0
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);
}
Exemple #7
0
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);
}