Skip to content

Commit 4886e40

Browse files
authored
Merge pull request #35 from schwicke/main
add Fortran bindings to manage back color index and style
2 parents 151abc9 + c6e89c1 commit 4886e40

3 files changed

Lines changed: 41 additions & 11 deletions

File tree

src/libphigs/f_binding/fb_el.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -257,7 +257,7 @@ FTN_SUBROUTINE(psvwi)(
257257
/*******************************************************************************
258258
* psici
259259
*
260-
* DESCR: set interior colour index
260+
* DESCR: set interior colour index for front face
261261
* RETURNS: N/A
262262
*/
263263
FTN_SUBROUTINE(psici)(

src/libphigs/f_binding/fb_extel.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -902,6 +902,23 @@ FTN_SUBROUTINE(psbici)(
902902
pset_back_int_colr_ind(colr_ind);
903903
}
904904

905+
/*******************************************************************************
906+
* pbsi
907+
*
908+
* DESCR: set back interior style
909+
* RETURNS: N/A
910+
*/
911+
FTN_SUBROUTINE(pbsi)(
912+
FTN_INTEGER(ints)
913+
)
914+
{
915+
Pint_style interior_style = (Pint_style) FTN_INTEGER_GET(ints);
916+
#ifdef DEBUG
917+
printf("DEBUG: PSBIS back interior style called to %d\n", (int)interior_style);
918+
#endif
919+
pset_back_int_style(interior_style);
920+
}
921+
905922
/*******************************************************************************
906923
* psbisi
907924
*

src/test_f/test_f3.f

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ SUBROUTINE VFILL(IX, NUM, IWHAT)
2929

3030
SUBROUTINE INITCOLS(IWK1)
3131
COMMON /KXCCOL/ NCOL, IBLACK, IWHIT, IRED, IGREEN, IBLUE, IYEL,
32-
, IMAG, ICYAN, IORAN, ICOL(7),
32+
, IGREY, IMAG, ICYAN, IORAN, ICOL(7),
3333
, COLR(16), COLG(16), COLB(16)
3434
INTEGER NCOL, IBLACK, IWHIT, IRED, IGREEN, IBLUE, IYEL,
35-
, IMAG, ICYAN, IORAN, ICOL, ICLTB(16)
35+
, IGREY, IMAG, ICYAN, IORAN, ICOL, ICLTB(16)
3636
REAL COLR ,COLG ,COLB
3737
EQUIVALENCE (IBLACK, ICLTB)
3838
REAL FCOLR(3)
3939
INTEGER IWK1
40-
NCOL = 6
40+
NCOL = 7
4141
IBLACK = 1
4242
COLR(1) = 0.0
4343
COLG(1) = 0.0
@@ -56,7 +56,7 @@ SUBROUTINE INITCOLS(IWK1)
5656
IGREEN = 4
5757
COLR(4) = 0.0
5858
COLG(4) = 1.0
59-
COLB(4) = 1.0
59+
COLB(4) = 0.0
6060

6161
IBLUE = 5
6262
COLR(5) = 0.0
@@ -68,6 +68,11 @@ SUBROUTINE INITCOLS(IWK1)
6868
COLG(6) = 1.0
6969
COLB(6) = 0.0
7070

71+
IGREY = 7
72+
COLR(7) = 0.7
73+
COLG(7) = 0.7
74+
COLB(7) = 0.7
75+
7176
DO I=1, NCOL
7277
FCOLR(1) = COLR(I)
7378
FCOLR(2) = COLG(I)
@@ -136,10 +141,10 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
136141
* COLOR LOOK UP TABLE DEFINITION
137142
*
138143
COMMON /KXCCOL/ NCOL, IBLACK, IWHIT, IRED, IGREEN, IBLUE, IYEL,
139-
, IMAG, ICYAN, IORAN, ICOL(7),
144+
, IGREY,IMAG, ICYAN, IORAN, ICOL(7),
140145
, COLR(16), COLG(16), COLB(16)
141146
INTEGER NCOL, IBLACK, IWHIT, IRED, IGREEN, IBLUE, IYEL,
142-
, IMAG, ICYAN, IORAN, ICOL, ICLTB(16)
147+
, IGREY,IMAG, ICYAN, IORAN, ICOL, ICLTB(16)
143148
REAL COLR ,COLG ,COLB
144149
EQUIVALENCE (IBLACK, ICLTB)
145150
*
@@ -359,6 +364,7 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
359364
IF ( NKPRT ) THEN
360365
CALL PSLWSC (1.0)
361366
CALL PSIS (PSOLID)
367+
CALL PSBIS (PSOLID)
362368
CALL PSEWSC (1.0)
363369
CALL PSEDFG (1)
364370
*
@@ -404,6 +410,7 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
404410
END DO
405411
CALL PSEDCI (IGREEN)
406412
CALL PSICI (IGREEN)
413+
CALL PSBICI (IGREEN)
407414
CALL PFASD (PFNO, PEVF, PCD, 0, 0, IGREEN, 0., 0., 0., 0., 0,
408415
, 0., 1, NPT11, EDATA, XG, YG, VCOLI, 0., VNXY, VNXY,
409416
, VNXY, 0, 0.)
@@ -433,8 +440,9 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
433440
*
434441
* Draw the Dolphin
435442
CALL PSIS(PSOLID)
436-
CALL PSEDCI (IBLUE)
437-
CALL PSICI (153)
443+
CALL PSEDCI(IBLUE)
444+
CALL PSICI(153)
445+
CALL PSBICI(153)
438446
CALL VFILL (VCOLI, NPT1, IBLUE)
439447
DO I = 1, NPT1
440448
XG(I) = ((FLOAT (X1 (I))+OFFSET)*NORM - X0)*SCALE + XORG
@@ -447,6 +455,7 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
447455
* Dolphin tong
448456
CALL PSEDCI (IRED)
449457
CALL PSICI (IRED)
458+
CALL PSBICI (IRED)
450459
CALL VFILL (VCOLI, NPT2, IRED)
451460
DO I = 1, NPT2
452461
XG(I) = ((FLOAT (X2 (I))+OFFSET)*NORM - X0)*SCALE + XORG
@@ -459,7 +468,8 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
459468
* Dolphin eye
460469
CALL PSEDCI (IBLACK)
461470
CALL PSICI (IBLACK)
462-
CALL PSIS(PISEMP)
471+
CALL PSBICI (IBLACK)
472+
* CALL PSIS(PISEMP)
463473
CALL VFILL (VCOLI, MAX (NPT3, NPT4), 0)
464474
DO I = 1, NPT3
465475
XG(I) = ((FLOAT (X3 (I))+OFFSET)*NORM - X0)*SCALE + XORG
@@ -477,8 +487,11 @@ SUBROUTINE KYDELP (XORG, YORG, SCAL)
477487
, 0, 0.)
478488
*
479489
* Dolphin Z
480-
CALL PSEDCI (IRED)
490+
CALL PSEDCI (IBLACK)
491+
CALL PSIS(PSOLID)
492+
CALL PSBIS(PSOLID)
481493
CALL PSICI (IRED)
494+
CALL PSBICI (IRED)
482495
CALL VFILL (VCOLI, NPT5, IRED)
483496
DO I = 1, NPT5
484497
XG(I) = ((FLOAT (X5 (I))+OFFSET)*NORM - X0)*SCALE + XORG

0 commit comments

Comments
 (0)