/* Sets up the device "dev" for plotting, dividing the page into "nx" */
/* by "ny" subpages. */

#include "plplot.h"
#include <math.h>

void plbeg(dev,nx,ny)
int dev, nx, ny;
{
   double scale, def, ht;

   if ((nx <= 0) || (ny <= 0 ))
      plexit("Cannot have negative number of subpages in plstar.");

   scale = 1.0/sqrt((double)ny);
   slev(1);
   /* Use only the PostScript driver on the NeXT. */
#ifdef NeXT
   dev = 1;
#endif
   grbeg(dev);
   ssub(nx,ny,0);

   /* Set up character, symbol and tick sizes for requested number of */
   /* subpages */

   gchr(&def,&ht);
   schr((def*scale),(def*scale));
   gsym(&def,&ht);
   ssym((def*scale),(def*scale));
   gmaj(&def,&ht);
   smaj((def*scale),(def*scale));
   gmin(&def,&ht);
   smin((def*scale),(def*scale));
}
