1 C -*- fortran -*- 2 C 3 C Ygl: Run GL programs with standard X11 and/or OpenGL routines. 4 C (C) Fred Hucht 1993-2006 5 C EMail: fred<at>thp.Uni-Duisburg.de 6 C 7 C $Id: Yfgl.h,v 4.3 2005-02-08 16:31:04+01 fred Exp fred $ 8 9 C FORTRAN includes for every routine 10 C #ifndef _YFGL_INCLUDED_ 11 C #define _YFGL_INCLUDED_ 12 13 C The colors 14 integer*4 BLACK 15 parameter( BLACK = 0 ) 16 integer*4 WHITE 17 parameter( WHITE = 1 ) 18 integer*4 GREEN 19 parameter( GREEN = 2 ) 20 integer*4 YELLOW 21 parameter( YELLOW = 3 ) 22 integer*4 BLUE 23 parameter( BLUE = 4 ) 24 integer*4 MAGENT 25 parameter( MAGENT = 5 ) 26 integer*4 CYAN 27 parameter( CYAN = 6 ) 28 integer*4 RED 29 parameter( RED = 7 ) 30 31 C The Keys 32 integer*4 BREAKK 33 parameter( BREAKK = 1 ) 34 integer*4 SETUPK 35 parameter( SETUPK = 2 ) 36 integer*4 LEFTCT 37 parameter( LEFTCT = 3 ) 38 integer*4 CAPSLO 39 parameter( CAPSLO = 4 ) 40 integer*4 RIGHTS 41 parameter( RIGHTS = 5 ) 42 integer*4 LEFTSH 43 parameter( LEFTSH = 6 ) 44 integer*4 ESCKEY 45 parameter( ESCKEY = 7 ) 46 integer*4 ONEKEY 47 parameter( ONEKEY = 8 ) 48 integer*4 TABKEY 49 parameter( TABKEY = 9 ) 50 integer*4 QKEY 51 parameter( QKEY = 10 ) 52 integer*4 AKEY 53 parameter( AKEY = 11 ) 54 integer*4 SKEY 55 parameter( SKEY = 12 ) 56 integer*4 NOSCRL 57 parameter( NOSCRL = 13 ) 58 integer*4 TWOKEY 59 parameter( TWOKEY = 14 ) 60 integer*4 THREEK 61 parameter( THREEK = 15 ) 62 integer*4 WKEY 63 parameter( WKEY = 16 ) 64 integer*4 EKEY 65 parameter( EKEY = 17 ) 66 integer*4 DKEY 67 parameter( DKEY = 18 ) 68 integer*4 FKEY 69 parameter( FKEY = 19 ) 70 integer*4 ZKEY 71 parameter( ZKEY = 20 ) 72 integer*4 XKEY 73 parameter( XKEY = 21 ) 74 integer*4 FOURKE 75 parameter( FOURKE = 22 ) 76 integer*4 FIVEKE 77 parameter( FIVEKE = 23 ) 78 integer*4 RKEY 79 parameter( RKEY = 24 ) 80 integer*4 TKEY 81 parameter( TKEY = 25 ) 82 integer*4 GKEY 83 parameter( GKEY = 26 ) 84 integer*4 HKEY 85 parameter( HKEY = 27 ) 86 integer*4 CKEY 87 parameter( CKEY = 28 ) 88 integer*4 VKEY 89 parameter( VKEY = 29 ) 90 integer*4 SIXKEY 91 parameter( SIXKEY = 30 ) 92 integer*4 SEVENK 93 parameter( SEVENK = 31 ) 94 integer*4 YKEY 95 parameter( YKEY = 32 ) 96 integer*4 UKEY 97 parameter( UKEY = 33 ) 98 integer*4 JKEY 99 parameter( JKEY = 34 ) 100 integer*4 KKEY 101 parameter( KKEY = 35 ) 102 integer*4 BKEY 103 parameter( BKEY = 36 ) 104 integer*4 NKEY 105 parameter( NKEY = 37 ) 106 integer*4 EIGHTK 107 parameter( EIGHTK = 38 ) 108 integer*4 NINEKE 109 parameter( NINEKE = 39 ) 110 integer*4 IKEY 111 parameter( IKEY = 40 ) 112 integer*4 OKEY 113 parameter( OKEY = 41 ) 114 integer*4 LKEY 115 parameter( LKEY = 42 ) 116 integer*4 SEMICO 117 parameter( SEMICO = 43 ) 118 integer*4 MKEY 119 parameter( MKEY = 44 ) 120 integer*4 COMMAK 121 parameter( COMMAK = 45 ) 122 integer*4 ZEROKE 123 parameter( ZEROKE = 46 ) 124 integer*4 MINUSK 125 parameter( MINUSK = 47 ) 126 integer*4 PKEY 127 parameter( PKEY = 48 ) 128 integer*4 LEFTBR 129 parameter( LEFTBR = 49 ) 130 integer*4 QUOTEK 131 parameter( QUOTEK = 50 ) 132 integer*4 RETKEY 133 parameter( RETKEY = 51 ) 134 integer*4 PERIOD 135 parameter( PERIOD = 52 ) 136 integer*4 VIRGUL 137 parameter( VIRGUL = 53 ) 138 integer*4 EQUALK 139 parameter( EQUALK = 54 ) 140 integer*4 ACCENT 141 parameter( ACCENT = 55 ) 142 integer*4 RIGHTB 143 parameter( RIGHTB = 56 ) 144 integer*4 BACKSL 145 parameter( BACKSL = 57 ) 146 integer*4 PAD1 147 parameter( PAD1 = 58 ) 148 integer*4 PAD0 149 parameter( PAD0 = 59 ) 150 integer*4 LINEFE 151 parameter( LINEFE = 60 ) 152 integer*4 BACKSP 153 parameter( BACKSP = 61 ) 154 integer*4 DELKEY 155 parameter( DELKEY = 62 ) 156 integer*4 PAD4 157 parameter( PAD4 = 63 ) 158 integer*4 PAD2 159 parameter( PAD2 = 64 ) 160 integer*4 PAD3 161 parameter( PAD3 = 65 ) 162 integer*4 PADPER 163 parameter( PADPER = 66 ) 164 integer*4 PAD7 165 parameter( PAD7 = 67 ) 166 integer*4 PAD8 167 parameter( PAD8 = 68 ) 168 integer*4 PAD5 169 parameter( PAD5 = 69 ) 170 integer*4 PAD6 171 parameter( PAD6 = 70 ) 172 integer*4 PADPF2 173 parameter( PADPF2 = 71 ) 174 integer*4 PADPF1 175 parameter( PADPF1 = 72 ) 176 integer*4 LEFTAR 177 parameter( LEFTAR = 73 ) 178 integer*4 DOWNAR 179 parameter( DOWNAR = 74 ) 180 integer*4 PAD9 181 parameter( PAD9 = 75 ) 182 integer*4 PADMIN 183 parameter( PADMIN = 76 ) 184 integer*4 PADCOM 185 parameter( PADCOM = 77 ) 186 integer*4 PADPF4 187 parameter( PADPF4 = 78 ) 188 integer*4 PADPF3 189 parameter( PADPF3 = 79 ) 190 integer*4 RIGHTA 191 parameter( RIGHTA = 80 ) 192 integer*4 UPARRO 193 parameter( UPARRO = 81 ) 194 integer*4 PADENT 195 parameter( PADENT = 82 ) 196 integer*4 SPACEK 197 parameter( SPACEK = 83 ) 198 integer*4 LEFTAL 199 parameter( LEFTAL = 143 ) 200 integer*4 RGHTAL 201 parameter( RGHTAL = 144 ) 202 integer*4 RIGHTC 203 parameter( RIGHTC = 145 ) 204 integer*4 F1KEY 205 parameter( F1KEY = 146 ) 206 integer*4 F2KEY 207 parameter( F2KEY = 147 ) 208 integer*4 F3KEY 209 parameter( F3KEY = 148 ) 210 integer*4 F4KEY 211 parameter( F4KEY = 149 ) 212 integer*4 F5KEY 213 parameter( F5KEY = 150 ) 214 integer*4 F6KEY 215 parameter( F6KEY = 151 ) 216 integer*4 F7KEY 217 parameter( F7KEY = 152 ) 218 integer*4 F8KEY 219 parameter( F8KEY = 153 ) 220 integer*4 F9KEY 221 parameter( F9KEY = 154 ) 222 integer*4 F10KEY 223 parameter( F10KEY = 155 ) 224 integer*4 F11KEY 225 parameter( F11KEY = 156 ) 226 integer*4 F12KEY 227 parameter( F12KEY = 157 ) 228 integer*4 PRINTS 229 parameter( PRINTS = 158 ) 230 integer*4 SCROLL 231 parameter( SCROLL = 159 ) 232 integer*4 PAUSEK 233 parameter( PAUSEK = 160 ) 234 integer*4 INSERT 235 parameter( INSERT = 161 ) 236 integer*4 HOMEKE 237 parameter( HOMEKE = 162 ) 238 integer*4 PAGEUP 239 parameter( PAGEUP = 163 ) 240 integer*4 ENDKEY 241 parameter( ENDKEY = 164 ) 242 integer*4 PAGEDO 243 parameter( PAGEDO = 165 ) 244 integer*4 NUMLOC 245 parameter( NUMLOC = 166 ) 246 integer*4 PADVIR 247 parameter( PADVIR = 167 ) 248 integer*4 PADAST 249 parameter( PADAST = 168 ) 250 integer*4 PADPLU 251 parameter( PADPLU = 169 ) 252 253 C The Mouse stuff 254 integer*4 MOUSE1 255 parameter( MOUSE1 = 101 ) 256 integer*4 MOUSE2 257 parameter( MOUSE2 = 102 ) 258 integer*4 MOUSE3 259 parameter( MOUSE3 = 103 ) 260 integer*4 LEFTMO 261 parameter( LEFTMO = 103 ) 262 integer*4 MIDDLE 263 parameter( MIDDLE = 102 ) 264 integer*4 RIGHTM 265 parameter( RIGHTM = 101 ) 266 integer*4 MENUBU 267 parameter( MENUBU = 101 ) 268 269 integer*4 WHEELU 270 parameter( WHEELU = 200 ) 271 integer*4 WHEELD 272 parameter( WHEELD = 201 ) 273 274 integer*4 MOUSEX 275 parameter( MOUSEX = 266 ) 276 integer*4 MOUSEY 277 parameter( MOUSEY = 267 ) 278 279 C Other Devices 280 integer*4 KEYBD 281 parameter( KEYBD = 513 ) 282 integer*4 REDRAW 283 parameter( REDRAW = 528 ) 284 integer*4 INPUTC 285 parameter( INPUTC = 534 ) 286 C Device WINCLO conflict with routine winclo() 287 integer*4 WINCLOSE 288 parameter( WINCLOSE = 537 ) 289 integer*4 WINFRE 290 parameter( WINFRE = 539 ) 291 integer*4 WINTHA 292 parameter( WINTHA = 540 ) 293 integer*4 WINQUI 294 parameter( WINQUI = 542 ) 295 integer*4 DEPTHC 296 parameter( DEPTHC = 543 ) 297 integer*4 SRCAUT 298 parameter( SRCAUT = 0 ) 299 integer*4 SRCFRO 300 parameter( SRCFRO = 1 ) 301 integer*4 SRCBAC 302 parameter( SRCBAC = 2 ) 303 integer*4 DMRGB 304 parameter( DMRGB = 0 ) 305 integer*4 DMSING 306 parameter( DMSING = 1 ) 307 integer*4 DMDOUB 308 parameter( DMDOUB = 2 ) 309 integer*4 DMRGBD 310 parameter( DMRGBD = 5 ) 311 integer*4 GDXPMA 312 parameter( GDXPMA = 1 ) 313 integer*4 GDYPMA 314 parameter( GDYPMA = 2 ) 315 integer*4 PUPNON 316 parameter( PUPNON = 0 ) 317 integer*4 PUPGRE 318 parameter( PUPGRE = 1 ) 319 integer*4 XMAXSC 320 parameter( XMAXSC = 1279 ) 321 integer*4 YMAXSC 322 parameter( YMAXSC = 1023 ) 323 324 C The logicops 325 integer*4 LOZERO 326 parameter( LOZERO = 0 ) 327 integer*4 LOAND 328 parameter( LOAND = 1 ) 329 integer*4 LOANDR 330 parameter( LOANDR = 2 ) 331 integer*4 LOSRC 332 parameter( LOSRC = 3 ) 333 integer*4 LOANDI 334 parameter( LOANDI = 4 ) 335 integer*4 LODST 336 parameter( LODST = 5 ) 337 integer*4 LOXOR 338 parameter( LOXOR = 6 ) 339 integer*4 LOOR 340 parameter( LOOR = 7 ) 341 integer*4 LONOR 342 parameter( LONOR = 8 ) 343 integer*4 LOXNOR 344 parameter( LOXNOR = 9 ) 345 integer*4 LONDST 346 parameter( LONDST = 10 ) 347 integer*4 LOORR 348 parameter( LOORR = 11 ) 349 integer*4 LONSRC 350 parameter( LONSRC = 12 ) 351 integer*4 LOORI 352 parameter( LOORI = 13 ) 353 integer*4 LONAND 354 parameter( LONAND = 14 ) 355 integer*4 LOONE 356 parameter( LOONE = 15 ) 357 integer*4 LOMIN 358 parameter( LOMIN = 16 ) 359 integer*4 LOMAX 360 parameter( LOMAX = 17 ) 361 integer*4 LOAVG 362 parameter( LOAVG = 18 ) 363 integer*4 LODMS 364 parameter( LODMS = 19 ) 365 integer*4 LOSMD 366 parameter( LOSMD = 20 ) 367 integer*4 LOSUM 368 parameter( LOSUM = 21 ) 369 370 C The matrix modes 371 integer*4 MSINGL 372 parameter ( MSINGL = 0 ) 373 integer*4 MPROJE 374 parameter ( MPROJE = 1 ) 375 integer*4 MVIEWI 376 parameter ( MVIEWI = 2 ) 377 378 C The blend functions 379 integer*4 BFZERO 380 parameter ( BFZERO = 0 ) 381 integer*4 BFON 382 parameter ( BFONE = 1 ) 383 integer*4 BFDC 384 parameter ( BFDC = 2 ) 385 integer*4 BFSC 386 parameter ( BFSC = 2 ) 387 integer*4 BFMDC 388 parameter ( BFMDC = 3 ) 389 integer*4 BFMSC 390 parameter ( BFMSC = 3 ) 391 integer*4 BFSA 392 parameter ( BFSA = 4 ) 393 integer*4 BFMSA 394 parameter ( BFMSA = 5 ) 395 integer*4 BFDA 396 parameter ( BFDA = 6 ) 397 integer*4 BFMDA 398 parameter ( BFMDA = 7 ) 399 400 C The z functions 401 integer*4 ZFNEVE 402 parameter ( ZFNEVE = 0 ) 403 integer*4 ZFLESS 404 parameter ( ZFLESS = 1 ) 405 integer*4 ZFEQUA 406 parameter ( ZFEQUA = 2 ) 407 integer*4 ZFLEQU 408 parameter ( ZFLEQU = 3 ) 409 integer*4 ZFGREA 410 parameter ( ZFGREA = 4 ) 411 integer*4 ZFNOTE 412 parameter ( ZFNOTE = 5 ) 413 integer*4 ZFGEQU 414 parameter ( ZFGEQU = 6 ) 415 integer*4 ZFALWA 416 parameter ( ZFALWA = 7 ) 417 418 C The lighting stuff 419 real*4 LMNULL 420 parameter ( LMNULL = 0.0 ) 421 integer*4 MAXLIG 422 parameter ( MAXLIG = 8 ) 423 integer*4 MAXRES 424 parameter ( MAXRES = 4 ) 425 426 integer*4 DEFMAT 427 parameter ( DEFMAT = 0 ) 428 integer*4 EMISSI 429 parameter ( EMISSI = 1 ) 430 integer*4 AMBIEN 431 parameter ( AMBIEN = 2 ) 432 integer*4 DIFFUS 433 parameter ( DIFFUS = 3 ) 434 integer*4 SPECUL 435 parameter ( SPECUL = 4 ) 436 integer*4 SHININ 437 parameter ( SHININ = 5 ) 438 integer*4 COLORI 439 parameter ( COLORI = 6 ) 440 integer*4 ALPHA 441 parameter ( ALPHA = 7 ) 442 443 integer*4 DEFLIG 444 parameter ( DEFLIG = 100 ) 445 integer*4 LCOLOR 446 parameter ( LCOLOR = 101 ) 447 integer*4 POSITI 448 parameter ( POSITI = 102 ) 449 integer*4 SPOTDI 450 parameter ( SPOTDI = 103 ) 451 integer*4 SPOTLI 452 parameter ( SPOTLI = 104 ) 453 454 integer*4 DEFLMO 455 parameter ( DEFLMO = 200 ) 456 integer*4 LOCALV 457 parameter ( LOCALV = 201 ) 458 integer*4 ATTENU 459 parameter ( ATTENU = 202 ) 460 integer*4 ATTEN2 461 parameter ( ATTEN2 = 203 ) 462 integer*4 TWOSID 463 parameter ( TWOSID = 204 ) 464 465 integer*4 MATERI 466 parameter ( MATERI = 1000 ) 467 integer*4 LIGHT0 468 parameter ( LIGHT0 = 1100 ) 469 integer*4 LIGHT1 470 parameter ( LIGHT1 = 1101 ) 471 integer*4 LIGHT2 472 parameter ( LIGHT2 = 1102 ) 473 integer*4 LIGHT3 474 parameter ( LIGHT3 = 1103 ) 475 integer*4 LIGHT4 476 parameter ( LIGHT4 = 1104 ) 477 integer*4 LIGHT5 478 parameter ( LIGHT5 = 1105 ) 479 integer*4 LIGHT6 480 parameter ( LIGHT6 = 1106 ) 481 integer*4 LIGHT7 482 parameter ( LIGHT7 = 1107 ) 483 integer*4 LMODEL 484 parameter ( LMODEL = 1200 ) 485 486 integer*4 LMCCOL 487 parameter ( LMCCOL = 0 ) 488 integer*4 LMCEMI 489 parameter ( LMCEMI = 1 ) 490 integer*4 LMCAMB 491 parameter ( LMCAMB = 2 ) 492 integer*4 LMCDIF 493 parameter ( LMCDIF = 3 ) 494 integer*4 LMCSPE 495 parameter ( LMCSPE = 4 ) 496 integer*4 LMCAD 497 parameter ( LMCAD = 5 ) 498 integer*4 LMCNUL 499 parameter ( LMCNUL = 6 ) 500 501 C The routines 502 integer*4 isqueu 503 external isqueu 504 integer*4 qtest 505 external qtest 506 integer*4 qread 507 external qread 508 C getXdpy and getXwid are >6 chars long 509 C integer*4 getxdpy 510 external getxdpy 511 integer*4 getxwid 512 external getxwid 513 integer*4 getxdid 514 external getxdid 515 C integer*4 getxgc 516 external getxgc 517 integer*4 winget 518 external winget 519 integer*4 getpla 520 external getpla 521 integer*4 getval 522 external getval 523 integer*4 getbut 524 external getbut 525 integer*4 gversi 526 external gversi 527 integer*4 windep 528 external windep 529 integer*4 getlwi 530 external getlwi 531 integer*4 getlst 532 external getlst 533 integer*4 getlsr 534 external getlsr 535 integer*4 getdis 536 external getdis 537 integer*4 getgde 538 external getgde 539 integer*4 getfon 540 external getfon 541 integer*4 gethei 542 external gethei 543 integer*4 getdes 544 external getdes 545 integer*4 strwid 546 external strwid 547 integer*4 getcol 548 external getcol 549 integer*4 crectr 550 external crectr 551 integer*4 rectre 552 external rectre 553 integer*4 lrectr 554 external lrectr 555 integer*4 readpi 556 external readpi 557 integer*4 readrg 558 external readrg 559 integer*4 dopup 560 external dopup 561 integer*4 newpup 562 external newpup 563 integer*4 winope 564 external winope 565 integer*4 swinop 566 external swinop 567 integer*4 winx 568 external winx 569 integer*4 gl2ppm 570 external gl2ppm 571 integer*4 getmmo 572 external getmmo 573 integer*4 genobj 574 external genobj 575 integer*4 isobj 576 external isobj 577 integer*4 getope 578 external getope 579 integer*4 endpic 580 external endpic 581 C 582 C Not implemented (yet) 583 C 584 C integer*4 blkqre 585 C external blkqre 586 C integer*4 endsel 587 C external endsel 588 C integer*4 gentag 589 C external gentag 590 C integer*4 getbac 591 C external getbac 592 C integer*4 getbuf 593 C external getbuf 594 C integer*4 getcmm 595 C external getcmm 596 C integer*4 getdcm 597 C external getdcm 598 C integer*4 getdra 599 C external getdra 600 C integer*4 getmap 601 C external getmap 602 C integer*4 getpat 603 C external getpat 604 C integer*4 getsha 605 C external getsha 606 C integer*4 getsm 607 C external getsm 608 C integer*4 getwri 609 C external getwri 610 C integer*4 getzbu 611 C external getzbu 612 C integer*4 istag 613 C external istag 614 615 C #endif /* _YFGL_INCLUDED_ */