Actual source code: zdrawregf.c
1: #include <petsc/private/fortranimpl.h>
2: #include <petscdraw.h>
4: #if defined(PETSC_HAVE_FORTRAN_CAPS)
5: #define petscdrawsettype_ PETSCDRAWSETTYPE
6: #define petscdrawcreate_ PETSCDRAWCREATE
7: #define petscdrawsetoptionsprefix_ PETSCDRAWSETOPTIONSPREFIX
8: #define petscdrawviewfromoptions_ PETSCDRAWVIEWFROMOPTIONS
9: #elif !defined(PETSC_HAVE_FORTRAN_UNDERSCORE)
10: #define petscdrawsettype_ petscdrawsettype
11: #define petscdrawcreate_ petscdrawcreate
12: #define petscdrawsetoptionsprefix_ petscdrawsetoptionsprefix
13: #define petscdrawviewfromoptions_ petscdrawviewfromoptions
14: #endif
16: PETSC_EXTERN void petscdrawsettype_(PetscDraw *ctx, char *text, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
17: {
18: char *t;
19: FIXCHAR(text, len, t);
20: *ierr = PetscDrawSetType(*ctx, t);
21: if (*ierr) return;
22: FREECHAR(text, t);
23: }
25: PETSC_EXTERN void petscdrawcreate_(MPI_Comm *comm, char *display, char *title, int *x, int *y, int *w, int *h, PetscDraw *inctx, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len1, PETSC_FORTRAN_CHARLEN_T len2)
26: {
27: char *t1, *t2;
29: FIXCHAR(display, len1, t1);
30: FIXCHAR(title, len2, t2);
31: *ierr = PetscDrawCreate(MPI_Comm_f2c(*(MPI_Fint *)&*comm), t1, t2, *x, *y, *w, *h, inctx);
32: if (*ierr) return;
33: FREECHAR(display, t1);
34: FREECHAR(title, t2);
35: }
37: PETSC_EXTERN void petscdrawsetoptionsprefix_(PetscDraw *ctx, char *text, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
38: {
39: char *t;
40: FIXCHAR(text, len, t);
41: *ierr = PetscDrawSetOptionsPrefix(*ctx, t);
42: if (*ierr) return;
43: FREECHAR(text, t);
44: }
46: PETSC_EXTERN void petscdrawviewfromoptions_(PetscDraw *draw, PetscObject obj, char *type, PetscErrorCode *ierr, PETSC_FORTRAN_CHARLEN_T len)
47: {
48: char *t;
50: FIXCHAR(type, len, t);
51: CHKFORTRANNULLOBJECT(obj);
52: *ierr = PetscDrawViewFromOptions(*draw, obj, t);
53: if (*ierr) return;
54: FREECHAR(type, t);
55: }