コード例 #1
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportTransform(SEXP vp) {
    return VECTOR_ELT(vp, PVP_TRANS);
}
コード例 #2
0
ファイル: viewport.c プロジェクト: SensePlatform/R
const char* viewportFontFamily(SEXP vp) {
    return CHAR(STRING_ELT(VECTOR_ELT(VECTOR_ELT(vp, PVP_GPAR), GP_FONTFAMILY),
			   0));
}
コード例 #3
0
ファイル: viewport.c プロジェクト: SensePlatform/R
double viewportFontSize(SEXP vp) {
    return REAL(VECTOR_ELT(VECTOR_ELT(vp, PVP_GPAR), GP_FONTSIZE))[0];
}
コード例 #4
0
ファイル: viewport.c プロジェクト: SensePlatform/R
double viewportVJust(SEXP vp) {
    return REAL(VECTOR_ELT(vp, VP_VALIDJUST))[1];
}
コード例 #5
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportLayoutPosCol(SEXP vp) {
    return VECTOR_ELT(vp, VP_VALIDLPOSCOL);
}
コード例 #6
0
ファイル: viewport.c プロジェクト: SensePlatform/R
double viewportXScaleMin(SEXP vp) {
    return numeric(VECTOR_ELT(vp, VP_XSCALE), 0);
}
コード例 #7
0
ファイル: viewport.c プロジェクト: SensePlatform/R
double viewportAngle(SEXP vp) {
    return numeric(VECTOR_ELT(vp, VP_ANGLE), 0);
}
コード例 #8
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportClipRect(SEXP vp) {
    return VECTOR_ELT(vp, PVP_CLIPRECT);
}
コード例 #9
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportParent(SEXP vp) {
    return VECTOR_ELT(vp, PVP_PARENT);
}
コード例 #10
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportHeightCM(SEXP vp) {
    return VECTOR_ELT(vp, PVP_HEIGHTCM);
}
コード例 #11
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportRotation(SEXP vp) {
    return VECTOR_ELT(vp, PVP_ROTATION);
}
コード例 #12
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportWidthCM(SEXP vp) {
    return VECTOR_ELT(vp, PVP_WIDTHCM);
}
コード例 #13
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportLayoutHeights(SEXP vp) {
    return VECTOR_ELT(vp, PVP_HEIGHTS);
}
コード例 #14
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportLayoutWidths(SEXP vp) {
    return VECTOR_ELT(vp, PVP_WIDTHS);
}
コード例 #15
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportHeight(SEXP vp) {
    return VECTOR_ELT(vp, VP_HEIGHT);
}
コード例 #16
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportChildren(SEXP vp) {
    return VECTOR_ELT(vp, PVP_CHILDREN);
}
コード例 #17
0
ファイル: viewport.c プロジェクト: SensePlatform/R
Rboolean viewportClip(SEXP vp) {
    return LOGICAL(VECTOR_ELT(vp, VP_CLIP))[0];
}
コード例 #18
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportDevWidthCM(SEXP vp) {
    return VECTOR_ELT(vp, PVP_DEVWIDTHCM);
}
コード例 #19
0
ファイル: viewport.c プロジェクト: SensePlatform/R
double viewportYScaleMax(SEXP vp) {
    return numeric(VECTOR_ELT(vp, VP_YSCALE), 1);
}
コード例 #20
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportDevHeightCM(SEXP vp) {
    return VECTOR_ELT(vp, PVP_DEVHEIGHTCM);
}
コード例 #21
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportLayout(SEXP vp) {
    return VECTOR_ELT(vp, VP_LAYOUT);
}
コード例 #22
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportParentGPar(SEXP vp) {
    return VECTOR_ELT(vp, PVP_PARENTGPAR);
}
コード例 #23
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportLayoutPosRow(SEXP vp) {
    return VECTOR_ELT(vp, VP_VALIDLPOSROW);
}
コード例 #24
0
ファイル: viewport.c プロジェクト: SensePlatform/R
/* Some access methods for viewports */
SEXP viewportX(SEXP vp) {
    return VECTOR_ELT(vp, VP_X);
}
コード例 #25
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportgpar(SEXP vp) {
    return VECTOR_ELT(vp, PVP_GPAR);
}
コード例 #26
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportY(SEXP vp) {
    return VECTOR_ELT(vp, VP_Y);
}
コード例 #27
0
ファイル: viewport.c プロジェクト: SensePlatform/R
int viewportFont(SEXP vp) {
    return INTEGER(VECTOR_ELT(VECTOR_ELT(vp, PVP_GPAR), GP_FONT))[0];
}
コード例 #28
0
ファイル: viewport.c プロジェクト: SensePlatform/R
SEXP viewportWidth(SEXP vp) {
    return VECTOR_ELT(vp, VP_WIDTH);
}
コード例 #29
0
SEXP readChunkPorStream(SEXP porStream, SEXP what,
		       SEXP s_vars, SEXP s_ncases, SEXP s_types){
  porStreamBuf *b = get_porStreamBuf(porStream);
  PROTECT(s_vars = coerceVector(s_vars,LGLSXP));
  PROTECT(s_ncases = coerceVector(s_ncases,INTSXP));
  PROTECT(s_types = coerceVector(s_types,INTSXP));
  int nvar = length(s_types);
  int ncases = INTEGER(s_ncases)[0];
  int *types = INTEGER(s_types);
  // if(LENGTH(s_vars)!=nvar) error("\'s_vars\' argument has wrong length");

  int ii,i,j,k, m=0;
  for(j = 0; j < nvar; j++) m+=LOGICAL(s_vars)[j];

  SEXP x, y, data;
  char *charbuf;
  int charbuflen = 0;
  PROTECT(data = allocVector(VECSXP,m));
  k = 0;
  for(j = 0; j < nvar; j++){
    if(types[j] > charbuflen) charbuflen = types[j];
    if(LOGICAL(s_vars)[j]){
      if(types[j]==0)
        SET_VECTOR_ELT(data,k,allocVector(REALSXP,ncases));
      else {
        SET_VECTOR_ELT(data,k,allocVector(STRSXP,ncases));
        }
      k++;
    }
  }
  charbuf = R_alloc(charbuflen+1,sizeof(char));
  ii = 0;
  for(i = 0; i < ncases; i++){
    if(atEndPorStream(b) || (b->pos < 80 && b->buf[b->pos] == 'Z')){
      int new_length = ii;
      for(j = 0; j < m; j++){
        x = VECTOR_ELT(data,j);
        SET_VECTOR_ELT(data,j,lengthgets(x,new_length));
      }
      break;
    }
    k = 0;
    for(j = 0; j < nvar; j++){
      if(atEndPorStream(b)) {
	printPorStreamBuf(b);
	warning("\nPremature end of data");
      }
      if(types[j]==0){
	if(LOGICAL(s_vars)[j]){
	  REAL(VECTOR_ELT(data,k))[ii] = readDoublePorStream1(b);
	  k++;
	}
	else {
	  readDoublePorStream1(b);
	}
      }
      else {
	if(LOGICAL(s_vars)[j]){
	  SET_STRING_ELT(VECTOR_ELT(data,k), ii,
			 mkChar(readCHARPorStream(b,charbuf,types[j])));
	  k++;
	}
	else {
	  readCHARPorStream(b,charbuf,types[j]);
	}
      }
    }
    ii++;
  }
  k = 0;
  for(j = 0; j < nvar; j++){
    if(LOGICAL(s_vars)[j]){
      x = VECTOR_ELT(what,j);
      y = VECTOR_ELT(data,k);
      copyMostAttrib(x,y);
      k++;
    }
  }

  UNPROTECT(4);
  return data;
}
コード例 #30
0
ファイル: viewport.c プロジェクト: SensePlatform/R
double viewportCex(SEXP vp) {
    return numeric(VECTOR_ELT(VECTOR_ELT(vp, PVP_GPAR), GP_CEX), 0);
}