1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379
|
unit gks;
interface
{$linklib GKS}
type
Pdouble = ^double;
Plongint = ^longint;
const
{ default connection identifier }
GKS_K_CONID_DEFAULT = '';
{ default workstation type }
GKS_K_WSTYPE_DEFAULT = 0;
{ aspect source flag }
GKS_K_ASF_BUNDLED = 0;
GKS_K_ASF_INDIVIDUAL = 1;
{ clear control flag }
GKS_K_CLEAR_CONDITIONALLY = 0;
GKS_K_CLEAR_ALWAYS = 1;
{ clipping indicator }
GKS_K_NOCLIP = 0;
GKS_K_CLIP = 1;
{ coordinate switch }
GKS_K_COORDINATES_WC = 0;
GKS_K_COORDINATES_NDC = 1;
{ device coordinate units }
GKS_K_METERS = 0;
GKS_K_OTHER_UNITS = 1;
{ fill area interior style }
GKS_K_INTSTYLE_HOLLOW = 0;
GKS_K_INTSTYLE_SOLID = 1;
GKS_K_INTSTYLE_PATTERN = 2;
GKS_K_INTSTYLE_HATCH = 3;
GKS_K_INTSTYLE_SOLID_WITH_BORDER = 4;
{ input device status }
GKS_K_STATUS_NONE = 0;
GKS_K_STATUS_OK = 1;
{ level of GKS }
GKS_K_LEVEL_0A = 0;
GKS_K_LEVEL_0B = 1;
GKS_K_LEVEL_0C = 2;
GKS_K_LEVEL_1A = 3;
GKS_K_LEVEL_1B = 4;
GKS_K_LEVEL_1C = 5;
GKS_K_LEVEL_2A = 6;
GKS_K_LEVEL_2B = 7;
GKS_K_LEVEL_2C = 8;
{ operating state value }
GKS_K_GKCL = 0;
GKS_K_GKOP = 1;
GKS_K_WSOP = 2;
GKS_K_WSAC = 3;
GKS_K_SGOP = 4;
{ regeneration flag }
GKS_K_POSTPONE_FLAG = 0;
GKS_K_PERFORM_FLAG = 1;
{ text alignment horizontal }
GKS_K_TEXT_HALIGN_NORMAL = 0;
GKS_K_TEXT_HALIGN_LEFT = 1;
GKS_K_TEXT_HALIGN_CENTER = 2;
GKS_K_TEXT_HALIGN_RIGHT = 3;
{ text alignment vertical }
GKS_K_TEXT_VALIGN_NORMAL = 0;
GKS_K_TEXT_VALIGN_TOP = 1;
GKS_K_TEXT_VALIGN_CAP = 2;
GKS_K_TEXT_VALIGN_HALF = 3;
GKS_K_TEXT_VALIGN_BASE = 4;
GKS_K_TEXT_VALIGN_BOTTOM = 5;
{ text path }
GKS_K_TEXT_PATH_RIGHT = 0;
GKS_K_TEXT_PATH_LEFT = 1;
GKS_K_TEXT_PATH_UP = 2;
GKS_K_TEXT_PATH_DOWN = 3;
{ text precision }
GKS_K_TEXT_PRECISION_STRING = 0;
GKS_K_TEXT_PRECISION_CHAR = 1;
GKS_K_TEXT_PRECISION_STROKE = 2;
{ workstation category }
GKS_K_WSCAT_OUTPUT = 0;
GKS_K_WSCAT_INPUT = 1;
GKS_K_WSCAT_OUTIN = 2;
GKS_K_WSCAT_WISS = 3;
GKS_K_WSCAT_MO = 4;
GKS_K_WSCAT_MI = 5;
{ workstation state }
GKS_K_WS_INACTIVE = 0;
GKS_K_WS_ACTIVE = 1;
{ standard linetypes }
GKS_K_LINETYPE_SOLID = 1;
GKS_K_LINETYPE_DASHED = 2;
GKS_K_LINETYPE_DOTTED = 3;
GKS_K_LINETYPE_DASHED_DOTTED = 4;
{ GKS specific linetypes }
GKS_K_LINETYPE_DASH_2_DOT = -(1);
GKS_K_LINETYPE_DASH_3_DOT = -(2);
GKS_K_LINETYPE_LONG_DASH = -(3);
GKS_K_LINETYPE_LONG_SHORT_DASH = -(4);
GKS_K_LINETYPE_SPACED_DASH = -(5);
GKS_K_LINETYPE_SPACED_DOT = -(6);
GKS_K_LINETYPE_DOUBLE_DOT = -(7);
GKS_K_LINETYPE_TRIPLE_DOT = -(8);
{ standard markertypes }
GKS_K_MARKERTYPE_DOT = 1;
GKS_K_MARKERTYPE_PLUS = 2;
GKS_K_MARKERTYPE_ASTERISK = 3;
GKS_K_MARKERTYPE_CIRCLE = 4;
GKS_K_MARKERTYPE_DIAGONAL_CROSS = 5;
{ GKS specific markertypes }
GKS_K_MARKERTYPE_SOLID_CIRCLE = -(1);
GKS_K_MARKERTYPE_TRIANGLE_UP = -(2);
GKS_K_MARKERTYPE_SOLID_TRI_UP = -(3);
GKS_K_MARKERTYPE_TRIANGLE_DOWN = -(4);
GKS_K_MARKERTYPE_SOLID_TRI_DOWN = -(5);
GKS_K_MARKERTYPE_SQUARE = -(6);
GKS_K_MARKERTYPE_SOLID_SQUARE = -(7);
GKS_K_MARKERTYPE_BOWTIE = -(8);
GKS_K_MARKERTYPE_SOLID_BOWTIE = -(9);
GKS_K_MARKERTYPE_HOURGLASS = -(10);
GKS_K_MARKERTYPE_SOLID_HGLASS = -(11);
GKS_K_MARKERTYPE_DIAMOND = -(12);
GKS_K_MARKERTYPE_SOLID_DIAMOND = -(13);
GKS_K_MARKERTYPE_STAR = -(14);
GKS_K_MARKERTYPE_SOLID_STAR = -(15);
GKS_K_MARKERTYPE_TRI_UP_DOWN = -(16);
GKS_K_MARKERTYPE_SOLID_TRI_RIGHT = -(17);
GKS_K_MARKERTYPE_SOLID_TRI_LEFT = -(18);
GKS_K_MARKERTYPE_HOLLOW_PLUS = -(19);
GKS_K_MARKERTYPE_SOLID_PLUS = -(20);
GKS_K_MARKERTYPE_PENTAGON = -(21);
GKS_K_MARKERTYPE_HEXAGON = -(22);
GKS_K_MARKERTYPE_HEPTAGON = -(23);
GKS_K_MARKERTYPE_OCTAGON = -(24);
GKS_K_MARKERTYPE_STAR_4 = -(25);
GKS_K_MARKERTYPE_STAR_5 = -(26);
GKS_K_MARKERTYPE_STAR_6 = -(27);
GKS_K_MARKERTYPE_STAR_7 = -(28);
GKS_K_MARKERTYPE_STAR_8 = -(29);
GKS_K_MARKERTYPE_VLINE = -(30);
GKS_K_MARKERTYPE_HLINE = -(31);
GKS_K_MARKERTYPE_OMARK = -(32);
{ GKS error codes }
GKS_K_NO_ERROR = 0;
GKS_K_ERROR = 1;
{ GKS function prototypes }
procedure gks_init_gks; cdecl; external 'GKS';
procedure gks_open_gks(errfil : longint); cdecl; external 'GKS';
procedure gks_close_gks; cdecl; external 'GKS';
procedure gks_open_ws(
wkid : longint; conid : ansistring; wtype : longint); cdecl; external 'GKS';
procedure gks_close_ws(wkid : longint); cdecl; external 'GKS';
procedure gks_activate_ws(wkid : longint); cdecl; external 'GKS';
procedure gks_deactivate_ws(wkid : longint); cdecl; external 'GKS';
procedure gks_clear_ws(wkid : longint; cofl : longint); cdecl; external 'GKS';
procedure gks_redraw_seg_on_ws(wkid : longint); cdecl; external 'GKS';
procedure gks_update_ws(
wkid : longint; regfl : longint); cdecl; external 'GKS';
procedure gks_set_deferral_state(
wkid : longint; defmo : longint; regmo : longint); cdecl; external 'GKS';
procedure gks_escape(
funid : longint; dimidr : longint; idr : Plongint; maxodr : longint;
lenodr : Plongint; odr : Plongint); cdecl; external 'GKS';
procedure gks_message(
wkid : longint; message : ansistring); cdecl; external 'GKS';
procedure gks_polyline(
n : longint; pxa, pya : array of double); cdecl; external 'GKS';
procedure gks_polymarker(
n : longint; pxa, pya : array of double); cdecl; external 'GKS';
procedure gks_text(
px : double; py : double; str : ansistring); cdecl; external 'GKS';
procedure gks_fillarea(
n : longint; pxa, pya : array of double); cdecl; external 'GKS';
procedure gks_cellarray(
xmin, xmax, ymin, ymax : double;
dimx : longint; dimy : longint; scol : longint; srow : longint;
ncol : longint; nrow : longint; colia : array of longint);
cdecl; external 'GKS';
procedure gks_gdp(
n : longint; pxa, pya : array of double; primid : longint;
ldr : longint; datrec : array of longint); cdecl; external 'GKS';
procedure gks_set_pline_index(index : longint); cdecl; external 'GKS';
procedure gks_set_pline_linetype(ltype : longint); cdecl; external 'GKS';
procedure gks_set_pline_linewidth(lwidth : double); cdecl; external 'GKS';
procedure gks_set_pline_color_index(coli : longint); cdecl; external 'GKS';
procedure gks_set_pmark_index(index : longint); cdecl; external 'GKS';
procedure gks_set_pmark_type(mtype : longint); cdecl; external 'GKS';
procedure gks_set_pmark_size(mszsc : double); cdecl; external 'GKS';
procedure gks_set_pmark_color_index(coli : longint); cdecl; external 'GKS';
procedure gks_set_text_index(index : longint); cdecl; external 'GKS';
procedure gks_set_text_fontprec(font : longint; prec : longint);
cdecl; external 'GKS';
procedure gks_set_text_expfac(chxp : double); cdecl; external 'GKS';
procedure gks_set_text_spacing(chsp : double); cdecl; external 'GKS';
procedure gks_set_text_color_index(coli : longint); cdecl; external 'GKS';
procedure gks_set_text_height(chh : double); cdecl; external 'GKS';
procedure gks_set_text_upvec(chux : double; chuy : double);
cdecl; external 'GKS';
procedure gks_set_text_path(txp : longint); cdecl; external 'GKS';
procedure gks_set_text_align(txalh : longint; txalv : longint);
cdecl; external 'GKS';
procedure gks_set_fill_index(index : longint); cdecl; external 'GKS';
procedure gks_set_fill_int_style(ints : longint); cdecl; external 'GKS';
procedure gks_set_fill_style_index(styli : longint); cdecl; external 'GKS';
procedure gks_set_fill_color_index(coli : longint); cdecl; external 'GKS';
procedure gks_set_asf(flag : array of longint); cdecl; external 'GKS';
procedure gks_set_color_rep(
wkid : longint; index : longint; red, green, blue : double);
cdecl; external 'GKS';
procedure gks_set_window(tnr : longint; xmin, xmax, ymin, ymax : double);
cdecl; external 'GKS';
procedure gks_set_viewport(tnr : longint; xmin, xmax, ymin, ymax : double);
cdecl; external 'GKS';
procedure gks_select_xform(tnr : longint); cdecl; external 'GKS';
procedure gks_set_clipping(clsw : longint); cdecl; external 'GKS';
procedure gks_set_ws_window(wkid : longint; xmin, xmax, ymin, ymax : double);
cdecl; external 'GKS';
procedure gks_set_ws_viewport(
wkid : longint; xmin, xmax, ymin, ymax : double); cdecl; external 'GKS';
procedure gks_create_seg(segn : longint); cdecl; external 'GKS';
procedure gks_close_seg; cdecl; external 'GKS';
procedure gks_delete_seg(segn : longint); cdecl; external 'GKS';
procedure gks_assoc_seg_with_ws(
wkid : longint; segn : longint); cdecl; external 'GKS';
procedure gks_copy_seg_to_ws(
wkid : longint; segn : longint); cdecl; external 'GKS';
procedure gks_set_seg_xform(
segn : longint; mat : Pdouble); cdecl; external 'GKS';
procedure gks_initialize_locator(
wkid : longint; lcdnr : longint; tnr : longint; px, py : double;
pet : longint; xmin, xmax, ymin, ymax : double; ldr : longint;
datrec : ansistring); cdecl; external 'GKS';
procedure gks_request_locator(
wkid : longint; lcdnr : longint; var stat, tnr : longint;
var px, py : double); cdecl; external 'GKS';
procedure gks_request_stroke(
wkid : longint; skdnr : longint; n : longint; stat : Plongint;
tnr : Plongint; np : Plongint; pxa, pya : array of double);
cdecl; external 'GKS';
procedure gks_request_choice(
wkid : longint; chdnr : longint; stat : Plongint; chnr : Plongint);
cdecl; external 'GKS';
procedure gks_request_string(
wkid : longint; stdnr : longint; stat : Plongint;
lostr : Plongint; str : ansistring); cdecl; external 'GKS';
procedure gks_read_item(
wkid : longint; lenidr : longint; maxodr : longint; odr : ansistring);
cdecl; external 'GKS';
procedure gks_get_item(wkid : longint; _type : Plongint; lenodr : Plongint);
cdecl; external 'GKS';
procedure gks_interpret_item(
_type : longint; lenidr : longint; dimidr : longint; idr : ansistring);
cdecl; external 'GKS';
procedure gks_eval_xform_matrix(
fx, fy : double; transx, transy : double; phi : double;
scalex, scaley : double; coord : longint; tran : Pdouble);
cdecl; external 'GKS';
procedure gks_inq_operating_state(opsta : Plongint); cdecl; external 'GKS';
procedure gks_inq_level(var errind, lev : longint); cdecl; external 'GKS';
procedure gks_inq_wstype(
n : longint; var errind, number, wtype : longint) cdecl; external 'GKS';
procedure gks_inq_max_xform(var errind, maxtnr : longint);
cdecl; external 'GKS';
procedure gks_inq_open_ws(
n : longint; var errind, ol, wkid : longint); cdecl; external 'GKS';
procedure gks_inq_active_ws(
n : longint; var errind, ol, wkid : longint); cdecl; external 'GKS';
procedure gks_inq_segn_ws(
wkid : longint; n : longint; var errind, ol, segn : longint);
cdecl; external 'GKS';
procedure gks_inq_pline_linetype(var errind, ltype : longint);
cdecl; external 'GKS';
procedure gks_inq_pline_linewidth(var errind : longint; var lwidth : double);
cdecl; external 'GKS';
procedure gks_inq_pline_color_index(var errind, coli : longint);
cdecl; external 'GKS';
procedure gks_inq_pmark_type(var errind, mtype : longint);
cdecl; external 'GKS';
procedure gks_inq_pmark_size(var errind : longint; var mszsc : double);
cdecl; external 'GKS';
procedure gks_inq_pmark_color_index(var errind, coli : longint);
cdecl; external 'GKS';
procedure gks_inq_text_fontprec(var errind, font, prec : longint);
cdecl; external 'GKS';
procedure gks_inq_text_expfac(var errind : longint; var chxp : double);
cdecl; external 'GKS';
procedure gks_inq_text_spacing(var errind : longint; var chsp : double);
cdecl; external 'GKS';
procedure gks_inq_text_color_index(var errind, coli : longint);
cdecl; external 'GKS';
procedure gks_inq_text_height(var errind : longint; var chh : double);
cdecl; external 'GKS';
procedure gks_inq_text_upvec(var errind : longint; var chux, chuy : double);
cdecl; external 'GKS';
procedure gks_inq_text_path(var errind, txp : longint); cdecl; external 'GKS';
procedure gks_inq_text_align(var errind, txalh, txalv : longint);
cdecl; external 'GKS';
procedure gks_inq_fill_int_style(var errind, ints : longint);
cdecl; external 'GKS';
procedure gks_inq_fill_style_index(var errind, styli : longint);
cdecl; external 'GKS';
procedure gks_inq_fill_color_index(var errind, coli : longint);
cdecl; external 'GKS';
procedure gks_inq_open_segn(var errind, segn : longint);
cdecl; external 'GKS';
procedure gks_inq_current_xformno(var errind, tnr : longint);
cdecl; external 'GKS';
procedure gks_inq_xform(
tnr : longint; var errind : longint; var wn, vp : array of double);
cdecl; external 'GKS';
procedure gks_inq_clip(
var errind, clsw : longint; var clrt : array of double);
cdecl; external 'GKS';
procedure gks_inq_ws_conntype(
wkid : longint; var errind, conid, wtype : longint); cdecl; external 'GKS';
procedure gks_inq_ws_category(
wkid : longint; var errind, wscat : longint); cdecl; external 'GKS';
procedure gks_inq_text_extent(
wkid : longint; px, py : double; str : ansistring; var errind : longint;
var cpx, cpy : double; var tx, ty : array of double); cdecl; external 'GKS';
procedure gks_inq_max_ds_size(
wtype : longint; var errind, dcunit : longint; var rx, ry : double;
var lx, ly : longint); cdecl; external 'GKS';
procedure gks_emergency_close; cdecl; external 'GKS';
procedure gks_set_text_slant(slant : double); cdecl; external 'GKS';
procedure gks_draw_image(
x, y, scalex, scaley : double; width, height : longint; data : Plongint);
cdecl; external 'GKS';
procedure gks_set_shadow(offsetx, offsety, blur : double);
cdecl; external 'GKS';
procedure gks_set_transparency(alpha : double); cdecl; external 'GKS';
procedure gks_set_coord_xform(mat : Pdouble); cdecl; external 'GKS';
procedure gks_begin_selection(index, kind : longint); cdecl; external 'GKS';
procedure gks_end_selection; cdecl; external 'GKS';
procedure gks_move_selection(x : double; y : double); cdecl; external 'GKS';
procedure gks_resize_selection(
kind : longint; x : double; y : double); cdecl; external 'GKS';
procedure gks_inq_text_slant(var errind : longint; var slant : double); cdecl;
external 'GKS';
implementation
end.
|