xref: /petsc/src/sys/classes/viewer/impls/draw/ftn-custom/zdrawvf.c (revision 665c2ded495bb9782a7454dcfef3abf1536c3670)
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