Exemplo n.º 1
0
static void
set_dashlength(DiaRenderer *self, real length)
{  /* dot = 20% of len */
  DiaSvgRenderer *renderer = DIA_SVG_RENDERER (self);

  if (length<0.001)
    length = 0.001;
  
  renderer->dash_length = length;
  renderer->dot_length = length*0.2;
  
  set_linestyle(self, renderer->saved_line_style);
}
Exemplo n.º 2
0
static void
set_dashlength(DiaRenderer *self, real length)
{  
  DiaCairoRenderer *renderer = DIA_CAIRO_RENDERER (self);

  DIAG_NOTE(g_message("set_dashlength %f", length));

  /* this call does not make sense, the value is certainly bigger
   * than one device unit. But the side-effect seems to end the endless loop */
  ensure_minimum_one_device_unit(renderer, &length);
  renderer->dash_length = length;
  /* updating the line style (potentially once more) make the real
   * style and it's length indepndent of the calling sequence */
  set_linestyle(self, renderer->line_style);
}
Exemplo n.º 3
0
static void 
set_dashlength (DiaRenderer *object, real length)
{
  DiaGdkRenderer *renderer = DIA_GDK_RENDERER (object);
  /* dot = 10% of len */
  real ddisp_len;

  ddisp_len =
    dia_transform_length(renderer->transform, length);
  
  renderer->dash_length = (int)floor(ddisp_len+0.5);
  renderer->dot_length = (int)floor(ddisp_len*0.1+0.5);
  
  if (renderer->dash_length<=0)
    renderer->dash_length = 1;
  if (renderer->dash_length>255)
    renderer->dash_length = 255;
  if (renderer->dot_length<=0)
    renderer->dot_length = 1;
  if (renderer->dot_length>255)
    renderer->dot_length = 255;
  set_linestyle(object, renderer->saved_line_style);
}
Exemplo n.º 4
0
void do_range_clines()
{
  static char *n[]={"*2Range parameter","Steps","Low","High"};
  char values[4][MAX_LEN_SBOX];
  int status,i;
  double z,dz,zold;
  float xmin,xmax,y_tp,y_bot;
  int col1=XNullColor,col2=YNullColor;
  int course=NMESH;
  /* if(PaperWhite){
    col1=1;
    col2=9;
    } */
  sprintf(values[0],"%s",ncrange.rv);
  sprintf(values[1],"%d",ncrange.nstep);
  sprintf(values[2],"%g",ncrange.xlo);
  sprintf(values[3],"%g",ncrange.xhi);
  status=do_string_box(4,4,1,"Range Clines",n,values,45);
  if(status!=0){
    strcpy(ncrange.rv,values[0]);
    ncrange.nstep=atoi(values[1]);
    ncrange.xlo=atof(values[2]);
    ncrange.xhi=atof(values[3]);
    if(ncrange.nstep<=0)return;
    dz=(ncrange.xhi-ncrange.xlo)/(double)ncrange.nstep;
    if(dz<=0.0)return;
    get_val(ncrange.rv,&zold);
    
    for(i=NODE;i<NODE+NMarkov;i++)set_ivar(i+1+FIX_VAR,last_ic[i]);
    xmin=(float)MyGraph->xmin;
    xmax=(float)MyGraph->xmax;
    y_tp=(float)MyGraph->ymax;
    y_bot=(float)MyGraph->ymin;
    null_ix=MyGraph->xv[0];
    null_iy=MyGraph->yv[0];
    
    
    for(i=0;i<=ncrange.nstep;i++){
      z=(double)i*dz+ncrange.xlo;
      set_val(ncrange.rv,z);
      if(NULL_HERE==0)
	{
	  if((X_n=(float *)malloc(4*MAX_NULL*sizeof(float)))!=NULL
	     && (Y_n=(float *)malloc(4*MAX_NULL*sizeof(float)))!=NULL)
	    
	    
	    NULL_HERE=1;
	  NTop=(float *)malloc((course+1)*sizeof(float));
	  NBot=(float *)malloc((course+1)*sizeof(float));
	  if(NTop==NULL||NBot==NULL)NULL_HERE=0;
	}
      else {
	free(NTop);
	free(NBot);
	NTop=(float *)malloc((course+1)*sizeof(float));
	NBot=(float *)malloc((course+1)*sizeof(float));
	if(NTop==NULL||NBot==NULL){NULL_HERE=0;
	return;}
      }
      
      WHICH_CRV=null_ix;
      set_linestyle(col1);
      new_nullcline(course,xmin,y_bot,xmax,y_tp,X_n,&num_x_n);
      
      
      WHICH_CRV=null_iy;
      set_linestyle(col2);
      new_nullcline(course,xmin,y_bot,xmax,y_tp,Y_n,&num_y_n);
      add_froz_cline(X_n,num_x_n,null_ix,Y_n,num_y_n,null_iy);
    }
    set_val(ncrange.rv,zold);
  }
  
}