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