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: }