xref: /petsc/src/sys/classes/draw/interface/dcoor.c (revision 10450e9e44b354a0a3da7bbd573407bdf051df10)
15c6c1daeSBarry Smith 
25c6c1daeSBarry Smith /*
35c6c1daeSBarry Smith        Provides the calling sequences for all the basic PetscDraw routines.
45c6c1daeSBarry Smith */
5af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/
65c6c1daeSBarry Smith 
75c6c1daeSBarry Smith /*@
85c6c1daeSBarry Smith   PetscDrawSetCoordinates - Sets the application coordinates of the corners of
95c6c1daeSBarry Smith   the window (or page).
105c6c1daeSBarry Smith 
1120f4b53cSBarry Smith   Not Collective
125c6c1daeSBarry Smith 
135c6c1daeSBarry Smith   Input Parameters:
145c6c1daeSBarry Smith + draw - the drawing object
15*10450e9eSJacob Faibussowitsch . xl   - the lower left x coordinate
16*10450e9eSJacob Faibussowitsch . yl   - the lower left y coordinate
17*10450e9eSJacob Faibussowitsch . xr   - the upper right x coordinate
18*10450e9eSJacob Faibussowitsch - yr   - the upper right y coordinate
195c6c1daeSBarry Smith 
205c6c1daeSBarry Smith   Level: advanced
215c6c1daeSBarry Smith 
22811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawGetCoordinates()`
235c6c1daeSBarry Smith @*/
24d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawSetCoordinates(PetscDraw draw, PetscReal xl, PetscReal yl, PetscReal xr, PetscReal yr)
25d71ae5a4SJacob Faibussowitsch {
265c6c1daeSBarry Smith   PetscFunctionBegin;
275c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
289371c9d4SSatish Balay   draw->coor_xl = xl;
299371c9d4SSatish Balay   draw->coor_yl = yl;
309371c9d4SSatish Balay   draw->coor_xr = xr;
319371c9d4SSatish Balay   draw->coor_yr = yr;
32dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, setcoordinates, xl, yl, xr, yr);
333ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
345c6c1daeSBarry Smith }
355c6c1daeSBarry Smith 
368f69470aSLisandro Dalcin /*@
378f69470aSLisandro Dalcin   PetscDrawGetCoordinates - Gets the application coordinates of the corners of
388f69470aSLisandro Dalcin   the window (or page).
398f69470aSLisandro Dalcin 
408f69470aSLisandro Dalcin   Not Collective
418f69470aSLisandro Dalcin 
428f69470aSLisandro Dalcin   Input Parameter:
438f69470aSLisandro Dalcin . draw - the drawing object
448f69470aSLisandro Dalcin 
4501d2d390SJose E. Roman   Output Parameters:
466b867d5aSJose E. Roman + xl - the horizontal coordinate of the lower left corner of the drawing region.
476b867d5aSJose E. Roman . yl - the vertical coordinate of the lower left corner of the drawing region.
486b867d5aSJose E. Roman . xr - the horizontal coordinate of the upper right corner of the drawing region.
496b867d5aSJose E. Roman - yr - the vertical coordinate of the upper right corner of the drawing region.
508f69470aSLisandro Dalcin 
5120f4b53cSBarry Smith   Level: advanced
5220f4b53cSBarry Smith 
53811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetCoordinates()`
548f69470aSLisandro Dalcin @*/
55d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawGetCoordinates(PetscDraw draw, PetscReal *xl, PetscReal *yl, PetscReal *xr, PetscReal *yr)
56d71ae5a4SJacob Faibussowitsch {
578f69470aSLisandro Dalcin   PetscFunctionBegin;
588f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
598f69470aSLisandro Dalcin   PetscValidRealPointer(xl, 2);
608f69470aSLisandro Dalcin   PetscValidRealPointer(yl, 3);
618f69470aSLisandro Dalcin   PetscValidRealPointer(xr, 4);
628f69470aSLisandro Dalcin   PetscValidRealPointer(yr, 5);
639371c9d4SSatish Balay   *xl = draw->coor_xl;
649371c9d4SSatish Balay   *yl = draw->coor_yl;
659371c9d4SSatish Balay   *xr = draw->coor_xr;
669371c9d4SSatish Balay   *yr = draw->coor_yr;
673ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
688f69470aSLisandro Dalcin }
69