The R Project SVN R

Rev

Rev 6191 | Rev 6252 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6191 Rev 6222
Line 401... Line 401...
401
	case 'y':
401
	case 'y':
402
	    dd->dp.ylog = dd->gp.ylog = 1;
402
	    dd->dp.ylog = dd->gp.ylog = 1;
403
	    logscale = 1;
403
	    logscale = 1;
404
	    break;
404
	    break;
405
	default:
405
	default:
406
	    errorcall(call,"invalid \"log=%s\" specification",*p);
406
	    errorcall(call,"invalid \"log=%s\" specification",p);
407
	}
407
	}
408
	p++;
408
	p++;
409
    }
409
    }
410
    args = CDR(args);
410
    args = CDR(args);
411
 
411
 
Line 1806... Line 1806...
1806
SEXP do_mtext(SEXP call, SEXP op, SEXP args, SEXP env)
1806
SEXP do_mtext(SEXP call, SEXP op, SEXP args, SEXP env)
1807
{
1807
{
1808
    SEXP text, side, line, outer, at, adj, cex, col, font;
1808
    SEXP text, side, line, outer, at, adj, cex, col, font;
1809
    int ntext, nside, nline, nouter, nat, nadj, ncex, ncol, nfont;
1809
    int ntext, nside, nline, nouter, nat, nadj, ncex, ncol, nfont;
1810
    int dirtyplot = 0, gpnewsave = 0, dpnewsave = 0;
1810
    int dirtyplot = 0, gpnewsave = 0, dpnewsave = 0;
1811
    int i, n, fontsave;
1811
    int i, n, fontsave, colsave;
1812
    double cexsave;
1812
    double cexsave;
1813
    SEXP originalArgs = args;
1813
    SEXP originalArgs = args;
1814
    DevDesc *dd = CurrentDevice();
1814
    DevDesc *dd = CurrentDevice();
1815
 
1815
 
1816
    GCheckState(dd);
1816
    GCheckState(dd);
Line 1892... Line 1892...
1892
    dirtyplot = 0;
1892
    dirtyplot = 0;
1893
    gpnewsave = dd->gp.new;
1893
    gpnewsave = dd->gp.new;
1894
    dpnewsave = dd->dp.new;
1894
    dpnewsave = dd->dp.new;
1895
    cexsave = dd->gp.cex;
1895
    cexsave = dd->gp.cex;
1896
    fontsave = dd->gp.font;
1896
    fontsave = dd->gp.font;
-
 
1897
    colsave = dd->gp.col;
1897
 
1898
 
1898
    /* override par("xpd") and force clipping to figure region */
1899
    /* override par("xpd") and force clipping to figure region */
1899
    /* NOTE: don't override to _reduce_ clipping region */
1900
    /* NOTE: don't override to _reduce_ clipping region */
1900
    if (dd->gp.xpd < 1)
1901
    if (dd->gp.xpd < 1)
1901
	dd->gp.xpd = 1;
1902
	dd->gp.xpd = 1;
Line 1914... Line 1915...
1914
	double cexval = REAL(cex)[i%ncex];
1915
	double cexval = REAL(cex)[i%ncex];
1915
	double lineval = REAL(line)[i%nline];
1916
	double lineval = REAL(line)[i%nline];
1916
	int outerval = INTEGER(outer)[i%nouter];
1917
	int outerval = INTEGER(outer)[i%nouter];
1917
	int sideval = INTEGER(side)[i%nside];
1918
	int sideval = INTEGER(side)[i%nside];
1918
	int fontval = INTEGER(font)[i%nfont];
1919
	int fontval = INTEGER(font)[i%nfont];
-
 
1920
	int colval = INTEGER(col)[i%ncol];
1919
 
1921
 
1920
	if (outerval == NA_INTEGER) outerval = 0;
1922
	if (outerval == NA_INTEGER) outerval = 0;
1921
	/* Note : we ignore any shrinking produced */
1923
	/* Note : we ignore any shrinking produced */
1922
	/* by mfrow / mfcol specs here.  I.e. don't */
1924
	/* by mfrow / mfcol specs here.  I.e. don't */
1923
	/* dd->gp.cexbase. */
1925
	/* dd->gp.cexbase. */
1924
	if (R_FINITE(cexval)) dd->gp.cex = cexval;
1926
	if (R_FINITE(cexval)) dd->gp.cex = cexval;
1925
	else cexval = cexsave;
1927
	else cexval = cexsave;
1926
	dd->gp.font = (fontval == NA_INTEGER) ? fontsave : fontval;
1928
	dd->gp.font = (fontval == NA_INTEGER) ? fontsave : fontval;
-
 
1929
	dd->gp.col = (colval == NA_INTEGER) ? colsave : colval;
1927
	dd->gp.adj = ComputeAdjValue(adjval, sideval, dd->gp.las);
1930
	dd->gp.adj = ComputeAdjValue(adjval, sideval, dd->gp.las);
1928
	atval = ComputeAtValue(atval, dd->gp.adj, sideval, outerval, dd);
1931
	atval = ComputeAtValue(atval, dd->gp.adj, sideval, outerval, dd);
1929
	if (isExpression(text))
1932
	if (isExpression(text))
1930
	    GMMathText(VECTOR(text)[i%ntext],
1933
	    GMMathText(VECTOR(text)[i%ntext],
1931
		       sideval, lineval, outerval, atval, dd->gp.las, dd);
1934
		       sideval, lineval, outerval, atval, dd->gp.las, dd);