1 #include <petsc/private/fortranimpl.h> 2 #include <petscdraw.h> 3 #include <petscviewer.h> 4 5 #if defined(PETSC_HAVE_FORTRAN_CAPS) 6 #define petsc_viewer_draw__ PETSC_VIEWER_DRAW_BROKEN 7 #define petscviewerdrawgetdraw_ PETSCVIEWERDRAWGETDRAW 8 #define petscviewerdrawgetdrawlg_ PETSCVIEWERDRAWGETDRAWLG 9 #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 10 #define petsc_viewer_draw__ petsc_viewer_draw_ 11 #define petscviewerdrawgetdraw_ petscviewerdrawgetdraw 12 #define petscviewerdrawgetdrawlg_ petscviewerdrawgetdrawlg 13 #endif 14 15 #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE_UNDERSCORE) 16 #define petsc_viewer_draw__ petsc_viewer_draw___ 17 #endif 18 19 PETSC_EXTERN PetscViewer petsc_viewer_draw__(MPI_Comm *comm) 20 { 21 return PETSC_VIEWER_DRAW_(MPI_Comm_f2c(*(MPI_Fint *)&*comm)); 22 } 23 24 PETSC_EXTERN void petscviewerdrawgetdraw_(PetscViewer *vin, int *win, PetscDraw *draw, PetscErrorCode *ierr) 25 { 26 PetscViewer v; 27 PetscPatchDefaultViewers_Fortran(vin, v); 28 *ierr = PetscViewerDrawGetDraw(v, *win, draw); 29 } 30 31 PETSC_EXTERN void petscviewerdrawgetdrawlg_(PetscViewer *vin, int *win, PetscDrawLG *drawlg, PetscErrorCode *ierr) 32 { 33 PetscViewer v; 34 PetscPatchDefaultViewers_Fortran(vin, v); 35 *ierr = PetscViewerDrawGetDrawLG(v, *win, drawlg); 36 } 37