jDSGI - Java2D DATA Step Graphics Interface
  Back - Next   [ 22 of 27 ]
image  
by Richard A. DeVenezia, Copyright 2004  HOME
/*
 * Richard A. DeVenezia
 * June 11, 2004
 *
 * jDSGI test 22
 * Adapted from http://www.dickbaldwin.com/java/Java318-fig16.htm
 */

data _null_;

  if symexist('goutpath') then goutpath=symget('goutpath'); else goutpath=pathname('WORK');
  if symexist ('gsftype') then gsftype=symget('gsftype'); else gsftype='png';

  gsf = cats(goutPath,"\","test22");

  width  = 500;
  height = 500;

  %canvas (_g, width, height, 0ffffffx)

  %tsetWindow (1,-2,-2,2,2);

  %tline (-1.5,0,1.5,0);
  %tline (0,1.5,0,-1.5);

  *-----;

  %setPenWidth (20);
  %setPenEndCap (&CAP_BUTT);
  %setColor ('Color.red');
  %tline (-1.5, -1.5, -.5,-1.5);

  %setPenEndCap (&CAP_ROUND);
  %setColor ('Color.green');
  %tline (-1.5,-1,-.5,-1);

  %setPenEndCap (&CAP_SQUARE);
  %setColor ('Color.blue');
  %tline (-1.5,-.5,-.5,-.5);

  *-----;

  %setPenEndCap (&CAP_SQUARE);
  %setColor ('Color.red');
  %tline (-1.75,1.5,-1.5,.5);
  %tline (-1.5,.5,-1.25,1.5);

  %setPenEndCap (&CAP_BUTT);
  %setColor ('Color.green');
  %tline (-.75,1.5,-.5,.5);
  %tline (-.5,.5,-.25,1.5);

  *-----;

  array px[3] _temporary_ ( .25, .50, .75 );
  array py[3] _temporary_ ( -1.25, -.25, -1.25 );

  %setPenEndCap (&CAP_SQUARE);
  %setPenLineJoin (&JOIN_BEVEL);
  %setColor ('Color.blue');
  %tpolyline (px,py);

  px[1] =  .75 ;  py[1] = - .25;
  px[2] = 1    ;  py[2] = -1.25;
  px[3] = 1.25 ;  py[3] = - .25;

  %setPenEndCap (&CAP_ROUND);
  %setPenLineJoin (&JOIN_MITER);
  %setColor ('Color.green');
  %tpolyline (px,py);

  px[1] = 1.25 ;  py[1] = -1.25;
  px[2] = 1.5  ;  py[2] = - .25;
  px[3] = 1.75 ;  py[3] = -1.25;

  %setPenEndCap (&CAP_BUTT);
  %setPenLineJoin (&JOIN_ROUND);
  %setColor ('Color.red');
  %tpolyline (px,py);

  *-----;

  px[1] =  .25 ;  py[1] =  1.25;
  px[2] =  .5  ;  py[2] =   .25;
  px[3] =  .75 ;  py[3] =  1.25;

  array dash [2] _temporary_ ( 19,30 );

  %setPenEndCap (&CAP_SQUARE);
  %setPenLineJoin (&JOIN_BEVEL);
  %setPenDash (dash);
  %setColor ('Color.blue');
  %tpolyline (px,py);

  %setPenEndCap (&CAP_BUTT);
  %setPenLineJoin (&JOIN_BEVEL);

  %setColor ('Color.green');
  %tpolyline (px,py);

  px[1] =  .75 ;  py[1] =   .25;
  px[2] = 1.   ;  py[2] =  1.25;
  px[3] = 1.25 ;  py[3] =   .25;

  %resetPenDash ();
  %setPenEndCap (&CAP_ROUND);
  %setPenLineJoin (&JOIN_MITER);
  %setColor ('Color.green');
  %tpolyline (px,py);

  %setPenMiterLimit (2);
  %setColor ('Color.blue');
  %tpolyline (px,py);

  px[1] = 1.25 ;  py[1] =  1.25;
  px[2] = 1.5  ;  py[2] =   .25;
  px[3] = 1.75 ;  py[3] =  1.25;

  %setPenEndCap (&CAP_BUTT);
  %setPenLineJoin (&JOIN_ROUND);
  %setPenDash (dash);

  %setColor ('Color.red');
  %tpolyline (px,py);

  *-----;

  %canvas_saveAs (gsf, gsftype, savedAs);

  %canvas_delete();

  if savedAs ne '' then rc = system ("start " || savedAs);
run;