1*5c6c1daeSBarry Smith #include <petsc-private/fortranimpl.h> 2*5c6c1daeSBarry Smith #include <petscdraw.h> 3*5c6c1daeSBarry Smith 4*5c6c1daeSBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS) 5*5c6c1daeSBarry Smith #define petscviewerdrawgetdraw_ PETSCVIEWERDRAWGETDRAW 6*5c6c1daeSBarry Smith #define petscviewerdrawgetdrawlg_ PETSCVIEWERDRAWGETDRAWLG 7*5c6c1daeSBarry Smith #define petscviewerdrawopen_ PETSCVIEWERDRAWOPEN 8*5c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 9*5c6c1daeSBarry Smith #define petscviewerdrawgetdraw_ petscviewerdrawgetdraw 10*5c6c1daeSBarry Smith #define petscviewerdrawgetdrawlg_ petscviewerdrawgetdrawlg 11*5c6c1daeSBarry Smith #define petscviewerdrawopen_ petscviewerdrawopen 12*5c6c1daeSBarry Smith #endif 13*5c6c1daeSBarry Smith 14*5c6c1daeSBarry Smith EXTERN_C_BEGIN 15*5c6c1daeSBarry Smith 16*5c6c1daeSBarry Smith void PETSC_STDCALL petscviewerdrawgetdraw_(PetscViewer *vin,int *win,PetscDraw *draw,PetscErrorCode *ierr) 17*5c6c1daeSBarry Smith { 18*5c6c1daeSBarry Smith PetscViewer v; 19*5c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 20*5c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDraw(v,*win,draw); 21*5c6c1daeSBarry Smith } 22*5c6c1daeSBarry Smith 23*5c6c1daeSBarry Smith void PETSC_STDCALL petscviewerdrawgetdrawlg_(PetscViewer *vin,int *win,PetscDrawLG *drawlg,PetscErrorCode *ierr) 24*5c6c1daeSBarry Smith { 25*5c6c1daeSBarry Smith PetscViewer v; 26*5c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 27*5c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDrawLG(v,*win,drawlg); 28*5c6c1daeSBarry Smith } 29*5c6c1daeSBarry Smith 30*5c6c1daeSBarry Smith void PETSC_STDCALL petscviewerdrawopen_(MPI_Comm *comm,CHAR display PETSC_MIXED_LEN(len1), 31*5c6c1daeSBarry Smith CHAR title PETSC_MIXED_LEN(len2),int *x,int*y,int*w,int*h,PetscViewer *v, 32*5c6c1daeSBarry Smith PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 33*5c6c1daeSBarry Smith { 34*5c6c1daeSBarry Smith char *c1,*c2; 35*5c6c1daeSBarry Smith 36*5c6c1daeSBarry Smith FIXCHAR(display,len1,c1); 37*5c6c1daeSBarry Smith FIXCHAR(title,len2,c2); 38*5c6c1daeSBarry Smith *ierr = PetscViewerDrawOpen(MPI_Comm_f2c(*(MPI_Fint *)&*comm),c1,c2,*x,*y,*w,*h,v); 39*5c6c1daeSBarry Smith FREECHAR(display,c1); 40*5c6c1daeSBarry Smith FREECHAR(title,c2); 41*5c6c1daeSBarry Smith } 42*5c6c1daeSBarry Smith 43*5c6c1daeSBarry Smith EXTERN_C_END 44