xref: /petsc/src/sys/classes/draw/interface/drawregall.c (revision e8e8640d1cb9a3a2f50c0c0d7b26e5c4d521e2e4)
1af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/
25c6c1daeSBarry Smith 
32b8d69caSLisandro Dalcin PETSC_EXTERN PetscErrorCode PetscDrawCreate_Image(PetscDraw);
48cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PetscDrawCreate_TikZ(PetscDraw);
55c6c1daeSBarry Smith #if defined(PETSC_HAVE_X)
68cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PetscDrawCreate_X(PetscDraw);
75c6c1daeSBarry Smith #endif
88cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PetscDrawCreate_Null(PetscDraw);
95c6c1daeSBarry Smith #if defined(PETSC_USE_WINDOWS_GRAPHICS)
108cc058d9SJed Brown PETSC_EXTERN PetscErrorCode PetscDrawCreate_Win32(PetscDraw);
115c6c1daeSBarry Smith #endif
125c6c1daeSBarry Smith 
13e118a51fSLisandro Dalcin PetscBool PetscDrawRegisterAllCalled = PETSC_FALSE;
140f51fdf8SToby Isaac 
155c6c1daeSBarry Smith /*@C
16811af0c4SBarry Smith   PetscDrawRegisterAll - Registers all of the graphics methods in the `PetscDraw` package.
175c6c1daeSBarry Smith 
185c6c1daeSBarry Smith   Not Collective
195c6c1daeSBarry Smith 
205c6c1daeSBarry Smith   Level: developer
215c6c1daeSBarry Smith 
22811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawType`, `PetscDrawRegisterDestroy()`
235c6c1daeSBarry Smith @*/
PetscDrawRegisterAll(void)24d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawRegisterAll(void)
25d71ae5a4SJacob Faibussowitsch {
265c6c1daeSBarry Smith   PetscFunctionBegin;
27*3ba16761SJacob Faibussowitsch   if (PetscDrawRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS);
280f51fdf8SToby Isaac   PetscDrawRegisterAllCalled = PETSC_TRUE;
290f51fdf8SToby Isaac 
309566063dSJacob Faibussowitsch   PetscCall(PetscDrawRegister(PETSC_DRAW_IMAGE, PetscDrawCreate_Image));
319566063dSJacob Faibussowitsch   PetscCall(PetscDrawRegister(PETSC_DRAW_TIKZ, PetscDrawCreate_TikZ));
325c6c1daeSBarry Smith #if defined(PETSC_HAVE_X)
339566063dSJacob Faibussowitsch   PetscCall(PetscDrawRegister(PETSC_DRAW_X, PetscDrawCreate_X));
345c6c1daeSBarry Smith #elif defined(PETSC_USE_WINDOWS_GRAPHICS)
359566063dSJacob Faibussowitsch   PetscCall(PetscDrawRegister(PETSC_DRAW_WIN32, PetscDrawCreate_Win32));
365c6c1daeSBarry Smith #endif
379566063dSJacob Faibussowitsch   PetscCall(PetscDrawRegister(PETSC_DRAW_NULL, PetscDrawCreate_Null));
38*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
395c6c1daeSBarry Smith }
40