The R Project SVN R

Rev

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

Rev 30832 Rev 30925
Line 133... Line 133...
133
     * Used by graphics systems to store system state per device.
133
     * Used by graphics systems to store system state per device.
134
     */
134
     */
135
    GESystemDesc *gesd[MAX_GRAPHICS_SYSTEMS];
135
    GESystemDesc *gesd[MAX_GRAPHICS_SYSTEMS];
136
};
136
};
137
 
137
 
-
 
138
/*
-
 
139
 *  Some line end/join constants
-
 
140
 */
-
 
141
typedef enum {
-
 
142
  GE_ROUND_CAP  = 1,
-
 
143
  GE_BUTT_CAP   = 2,
-
 
144
  GE_SQUARE_CAP = 3
-
 
145
} R_GE_lineend;
-
 
146
 
-
 
147
typedef enum {
-
 
148
  GE_ROUND_JOIN = 1,
-
 
149
  GE_MITRE_JOIN = 2,
-
 
150
  GE_BEVEL_JOIN = 3
-
 
151
} R_GE_linejoin;
-
 
152
 
138
/* 
153
/* 
139
 * A structure containing graphical parameters 
154
 * A structure containing graphical parameters 
140
 *
155
 *
141
 * This is how graphical parameters are passed from graphics systems
156
 * This is how graphical parameters are passed from graphics systems
142
 * to the graphics engine AND from the graphics engine to graphics
157
 * to the graphics engine AND from the graphics engine to graphics
Line 157... Line 172...
157
    /* 
172
    /* 
158
     * Line characteristics
173
     * Line characteristics
159
     */
174
     */
160
    double lwd;          /* Line width (roughly number of pixels) */
175
    double lwd;          /* Line width (roughly number of pixels) */
161
    int lty;             /* Line type (solid, dashed, dotted, ...) */
176
    int lty;             /* Line type (solid, dashed, dotted, ...) */
-
 
177
    R_GE_lineend lend;   /* Line end */
-
 
178
    R_GE_linejoin ljoin; /* line join */
162
                         /* FIXME: need to add line end/joins */
179
    double lmitre;       /* line mitre */
163
    /*
180
    /*
164
     * Text characteristics
181
     * Text characteristics
165
     */
182
     */
166
    double cex;          /* Character expansion (font size = fontsize*cex) */
183
    double cex;          /* Character expansion (font size = fontsize*cex) */
167
    double ps;           /* Font size in points */
184
    double ps;           /* Font size in points */
Line 228... Line 245...
228
#define LTY_DOTTED	1 + (3<<4)
245
#define LTY_DOTTED	1 + (3<<4)
229
#define LTY_DOTDASH	1 + (3<<4) + (4<<8) + (3<<12)
246
#define LTY_DOTDASH	1 + (3<<4) + (4<<8) + (3<<12)
230
#define LTY_LONGDASH	7 + (3<<4)
247
#define LTY_LONGDASH	7 + (3<<4)
231
#define LTY_TWODASH	2 + (2<<4) + (6<<8) + (2<<12)
248
#define LTY_TWODASH	2 + (2<<4) + (6<<8) + (2<<12)
232
 
249
 
-
 
250
R_GE_lineend LENDpar(SEXP value, int ind);
-
 
251
R_GE_linejoin LJOINpar(SEXP value, int ind);
-
 
252
 
233
void GESetClip(double x1, double y1, double x2, double y2, GEDevDesc *dd);
253
void GESetClip(double x1, double y1, double x2, double y2, GEDevDesc *dd);
234
void GENewPage(R_GE_gcontext *gc, GEDevDesc *dd);
254
void GENewPage(R_GE_gcontext *gc, GEDevDesc *dd);
235
void GELine(double x1, double y1, double x2, double y2, 
255
void GELine(double x1, double y1, double x2, double y2, 
236
	    R_GE_gcontext *gc, GEDevDesc *dd);
256
	    R_GE_gcontext *gc, GEDevDesc *dd);
237
void GEPolyline(int n, double *x, double *y, 
257
void GEPolyline(int n, double *x, double *y,