35 if ( plsc->level < 1 )
37 plabort(
"pladv: Please call plinit first" );
41 if ( page > 0 && page <= plsc->nsubx * plsc->nsuby )
46 if ( plsc->cursub >= plsc->nsubx * plsc->nsuby )
57 plabort(
"pladv: Invalid subpage number" );
71 if ( plsc->level < 1 )
73 plabort(
"plclear: Please call plinit first" );
77 if ( plsc->dev_clear )
83 int ocolor = plsc->icol0;
85 x[0] = x[3] = x[4] = (short) plsc->sppxmi;
86 x[1] = x[2] = (
short) plsc->sppxma;
87 y[0] = y[1] = y[4] = (short) plsc->sppymi;
88 y[2] = y[3] = (
short) plsc->sppyma;
101 if ( plsc->level < 1 )
103 plabort(
"pleop: Please call plinit first" );
107 plsc->cursub = plsc->nsubx * plsc->nsuby;
117 if ( plsc->level < 1 )
119 plabort(
"plbop: Please call plinit first" );
133 PLFLT scale, size_chr, size_sym, size_maj, size_min, theta, rat;
137 if ( plsc->nsubx <= 0 )
139 if ( plsc->nsuby <= 0 )
154 ( ( plsc->phyxma - plsc->phyxmi ) / plsc->xpmm +
155 ( plsc->phyyma - plsc->phyymi ) / plsc->ypmm ) / 200.0;
160 theta = 0.5 *
M_PI * plsc->diorot;
161 rat = ( ( plsc->phyxma - plsc->phyxmi ) / plsc->xpmm ) /
162 ( ( plsc->phyyma - plsc->phyymi ) / plsc->ypmm );
163 rat =
MAX( rat, 1.0 / rat );
164 rat = fabs( cos( theta ) ) + rat * fabs( sin( theta ) );
168 if ( plsc->nsuby > 1 )
169 scale /= sqrt( (
double) plsc->nsuby );
176 plschr( size_chr * scale, 1.0 );
177 plssym( size_sym * scale, 1.0 );
178 plsmaj( size_maj * scale, 1.0 );
179 plsmin( size_min * scale, 1.0 );
190 ix = ( plsc->cursub - 1 ) % plsc->nsubx;
191 iy = plsc->nsuby - ( plsc->cursub - 1 ) / plsc->nsubx;
193 plsc->spdxmi = (
PLFLT) ( ix ) / (
PLFLT) ( plsc->nsubx );
194 plsc->spdxma = (
PLFLT) ( ix + 1 ) / (
PLFLT) ( plsc->nsubx );
195 plsc->spdymi = (
PLFLT) ( iy - 1 ) / (
PLFLT) ( plsc->nsuby );
196 plsc->spdyma = (
PLFLT) ( iy ) / (
PLFLT) ( plsc->nsuby );
198 plsc->sppxmi =
plP_dcpcx( plsc->spdxmi );
199 plsc->sppxma =
plP_dcpcx( plsc->spdxma );
200 plsc->sppymi =
plP_dcpcy( plsc->spdymi );
201 plsc->sppyma =
plP_dcpcy( plsc->spdyma );
203 plP_sclp( plsc->sppxmi, plsc->sppxma, plsc->sppymi, plsc->sppyma );
218 if ( plsc->level < 1 )
220 plabort(
"plgspa: Please call plinit first" );
286 int lastwin = plsc->nplwin - 1;
290 for ( i = lastwin; i >= firstwin; i-- )
293 if ( ( rx >= w->
dxmi ) &&