15c6c1daeSBarry Smith #include <petsc-private/fortranimpl.h> 25c6c1daeSBarry Smith #include <petscdraw.h> 3665c2dedSJed Brown #include <petscviewer.h> 45c6c1daeSBarry Smith 55c6c1daeSBarry Smith #if defined(PETSC_HAVE_FORTRAN_CAPS) 65c6c1daeSBarry Smith #define petscviewerdrawgetdraw_ PETSCVIEWERDRAWGETDRAW 75c6c1daeSBarry Smith #define petscviewerdrawgetdrawlg_ PETSCVIEWERDRAWGETDRAWLG 85c6c1daeSBarry Smith #define petscviewerdrawopen_ PETSCVIEWERDRAWOPEN 95c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 105c6c1daeSBarry Smith #define petscviewerdrawgetdraw_ petscviewerdrawgetdraw 115c6c1daeSBarry Smith #define petscviewerdrawgetdrawlg_ petscviewerdrawgetdrawlg 125c6c1daeSBarry Smith #define petscviewerdrawopen_ petscviewerdrawopen 135c6c1daeSBarry Smith #endif 145c6c1daeSBarry Smith 15*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL petscviewerdrawgetdraw_(PetscViewer *vin,int *win,PetscDraw *draw,PetscErrorCode *ierr) 165c6c1daeSBarry Smith { 175c6c1daeSBarry Smith PetscViewer v; 185c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 195c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDraw(v,*win,draw); 205c6c1daeSBarry Smith } 215c6c1daeSBarry Smith 22*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL petscviewerdrawgetdrawlg_(PetscViewer *vin,int *win,PetscDrawLG *drawlg,PetscErrorCode *ierr) 235c6c1daeSBarry Smith { 245c6c1daeSBarry Smith PetscViewer v; 255c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 265c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDrawLG(v,*win,drawlg); 275c6c1daeSBarry Smith } 285c6c1daeSBarry Smith 29*8cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL petscviewerdrawopen_(MPI_Comm *comm,CHAR display PETSC_MIXED_LEN(len1), 305c6c1daeSBarry Smith CHAR title PETSC_MIXED_LEN(len2),int *x,int*y,int*w,int*h,PetscViewer *v, 315c6c1daeSBarry Smith PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 325c6c1daeSBarry Smith { 335c6c1daeSBarry Smith char *c1,*c2; 345c6c1daeSBarry Smith 355c6c1daeSBarry Smith FIXCHAR(display,len1,c1); 365c6c1daeSBarry Smith FIXCHAR(title,len2,c2); 375c6c1daeSBarry Smith *ierr = PetscViewerDrawOpen(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,c2,*x,*y,*w,*h,v); 385c6c1daeSBarry Smith FREECHAR(display,c1); 395c6c1daeSBarry Smith FREECHAR(title,c2); 405c6c1daeSBarry Smith } 415c6c1daeSBarry Smith 42