1af0996ceSBarry 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) 6*34e9cff2SSatish Balay #define petsc_viewer_draw__ PETSC_VIEWER_DRAW_BROKEN 75c6c1daeSBarry Smith #define petscviewerdrawgetdraw_ PETSCVIEWERDRAWGETDRAW 85c6c1daeSBarry Smith #define petscviewerdrawgetdrawlg_ PETSCVIEWERDRAWGETDRAWLG 95c6c1daeSBarry Smith #define petscviewerdrawopen_ PETSCVIEWERDRAWOPEN 105c6c1daeSBarry Smith #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE) 11*34e9cff2SSatish Balay #define petsc_viewer_draw__ petsc_viewer_draw_ 125c6c1daeSBarry Smith #define petscviewerdrawgetdraw_ petscviewerdrawgetdraw 135c6c1daeSBarry Smith #define petscviewerdrawgetdrawlg_ petscviewerdrawgetdrawlg 145c6c1daeSBarry Smith #define petscviewerdrawopen_ petscviewerdrawopen 155c6c1daeSBarry Smith #endif 165c6c1daeSBarry Smith 17*34e9cff2SSatish Balay #if defined(PETSC_HAVE_FORTRAN_UNDERSCORE_UNDERSCORE) 18*34e9cff2SSatish Balay #define petsc_viewer_draw__ petsc_viewer_draw___ 19*34e9cff2SSatish Balay #endif 20*34e9cff2SSatish Balay 21*34e9cff2SSatish Balay PETSC_EXTERN PetscViewer PETSC_STDCALL petsc_viewer_draw__(MPI_Comm *comm) 22*34e9cff2SSatish Balay { 23*34e9cff2SSatish Balay return PETSC_VIEWER_DRAW_(MPI_Comm_f2c(*(MPI_Fint*)&*comm)); 24*34e9cff2SSatish Balay } 25*34e9cff2SSatish Balay 268cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL petscviewerdrawgetdraw_(PetscViewer *vin,int *win,PetscDraw *draw,PetscErrorCode *ierr) 275c6c1daeSBarry Smith { 285c6c1daeSBarry Smith PetscViewer v; 295c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 305c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDraw(v,*win,draw); 315c6c1daeSBarry Smith } 325c6c1daeSBarry Smith 338cc058d9SJed Brown PETSC_EXTERN void PETSC_STDCALL petscviewerdrawgetdrawlg_(PetscViewer *vin,int *win,PetscDrawLG *drawlg,PetscErrorCode *ierr) 345c6c1daeSBarry Smith { 355c6c1daeSBarry Smith PetscViewer v; 365c6c1daeSBarry Smith PetscPatchDefaultViewers_Fortran(vin,v); 375c6c1daeSBarry Smith *ierr = PetscViewerDrawGetDrawLG(v,*win,drawlg); 385c6c1daeSBarry Smith } 395c6c1daeSBarry Smith 40390e1bf2SBarry Smith PETSC_EXTERN void PETSC_STDCALL petscviewerdrawopen_(MPI_Comm *comm,char* display PETSC_MIXED_LEN(len1), 41390e1bf2SBarry Smith char* title PETSC_MIXED_LEN(len2),int *x,int*y,int*w,int*h,PetscViewer *v, 425c6c1daeSBarry Smith PetscErrorCode *ierr PETSC_END_LEN(len1) PETSC_END_LEN(len2)) 435c6c1daeSBarry Smith { 445c6c1daeSBarry Smith char *c1,*c2; 455c6c1daeSBarry Smith 465c6c1daeSBarry Smith FIXCHAR(display,len1,c1); 475c6c1daeSBarry Smith FIXCHAR(title,len2,c2); 485c6c1daeSBarry Smith *ierr = PetscViewerDrawOpen(MPI_Comm_f2c(*(MPI_Fint*)&*comm),c1,c2,*x,*y,*w,*h,v); 495c6c1daeSBarry Smith FREECHAR(display,c1); 505c6c1daeSBarry Smith FREECHAR(title,c2); 515c6c1daeSBarry Smith } 525c6c1daeSBarry Smith 53