15c6c1daeSBarry Smith #include <petsc-private/fortranimpl.h> 25c6c1daeSBarry Smith #include <petscdraw.h> 3*665c2dedSJed 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 155c6c1daeSBarry Smith EXTERN_C_BEGIN 165c6c1daeSBarry Smith 175c6c1daeSBarry Smith void PETSC_STDCALL petscviewerdrawgetdraw_(PetscViewer *vin,int *win,PetscDraw *draw,PetscErrorCode *ierr) 185c6c1daeSBarry Smith { 195c6c1daeSBarry Smith PetscViewer v; 205c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 215c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDraw(v,*win,draw); 225c6c1daeSBarry Smith } 235c6c1daeSBarry Smith 245c6c1daeSBarry Smith void PETSC_STDCALL petscviewerdrawgetdrawlg_(PetscViewer *vin,int *win,PetscDrawLG *drawlg,PetscErrorCode *ierr) 255c6c1daeSBarry Smith { 265c6c1daeSBarry Smith PetscViewer v; 275c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 285c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDrawLG(v,*win,drawlg); 295c6c1daeSBarry Smith } 305c6c1daeSBarry Smith 315c6c1daeSBarry Smith void PETSC_STDCALL petscviewerdrawopen_(MPI_Comm *comm,CHAR display PETSC_MIXED_LEN(len1), 325c6c1daeSBarry Smith CHAR title PETSC_MIXED_LEN(len2),int *x,int*y,int*w,int*h,PetscViewer *v, 335c6c1daeSBarry Smith PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 345c6c1daeSBarry Smith { 355c6c1daeSBarry Smith char *c1,*c2; 365c6c1daeSBarry Smith 375c6c1daeSBarry Smith FIXCHAR(display,len1,c1); 385c6c1daeSBarry Smith FIXCHAR(title,len2,c2); 395c6c1daeSBarry Smith *ierr = PetscViewerDrawOpen(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,c2,*x,*y,*w,*h,v); 405c6c1daeSBarry Smith FREECHAR(display,c1); 415c6c1daeSBarry Smith FREECHAR(title,c2); 425c6c1daeSBarry Smith } 435c6c1daeSBarry Smith 445c6c1daeSBarry Smith EXTERN_C_END 45