Actual source code: drawregall.c


  2: #include <petsc/private/drawimpl.h>

  4: PETSC_EXTERN PetscErrorCode PetscDrawCreate_Image(PetscDraw);
  5: PETSC_EXTERN PetscErrorCode PetscDrawCreate_TikZ(PetscDraw);
  6: #if defined(PETSC_HAVE_X)
  7: PETSC_EXTERN PetscErrorCode PetscDrawCreate_X(PetscDraw);
  8: #endif
  9: PETSC_EXTERN PetscErrorCode PetscDrawCreate_Null(PetscDraw);
 10: #if defined(PETSC_USE_WINDOWS_GRAPHICS)
 11: PETSC_EXTERN PetscErrorCode PetscDrawCreate_Win32(PetscDraw);
 12: #endif

 14: PetscBool PetscDrawRegisterAllCalled = PETSC_FALSE;

 16: /*@C
 17:   PetscDrawRegisterAll - Registers all of the graphics methods in the `PetscDraw` package.

 19:   Not Collective

 21:   Level: developer

 23: .seealso: `PetscDraw`, `PetscDrawType`, `PetscDrawRegisterDestroy()`
 24: @*/
 25: PetscErrorCode PetscDrawRegisterAll(void)
 26: {
 27:   PetscFunctionBegin;
 28:   if (PetscDrawRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
 29:   PetscDrawRegisterAllCalled = PETSC_TRUE;

 31:   PetscCall(PetscDrawRegister(PETSC_DRAW_IMAGE, PetscDrawCreate_Image));
 32:   PetscCall(PetscDrawRegister(PETSC_DRAW_TIKZ, PetscDrawCreate_TikZ));
 33: #if defined(PETSC_HAVE_X)
 34:   PetscCall(PetscDrawRegister(PETSC_DRAW_X, PetscDrawCreate_X));
 35: #elif defined(PETSC_USE_WINDOWS_GRAPHICS)
 36:   PetscCall(PetscDrawRegister(PETSC_DRAW_WIN32, PetscDrawCreate_Win32));
 37: #endif
 38:   PetscCall(PetscDrawRegister(PETSC_DRAW_NULL, PetscDrawCreate_Null));
 39:   PetscFunctionReturn(PETSC_SUCCESS);
 40: }