xref: /petsc/src/sys/classes/draw/interface/dcoor.c (revision 20f4b53cbb5e9bd9ef12b76a8697d60d197cda17)
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 
11*20f4b53cSBarry Smith    Not Collective
125c6c1daeSBarry Smith 
135c6c1daeSBarry Smith    Input Parameters:
145c6c1daeSBarry Smith +  draw - the drawing object
155c6c1daeSBarry Smith -  xl,yl,xr,yr - the coordinates of the lower left corner and upper
165c6c1daeSBarry Smith                  right corner of the drawing region.
175c6c1daeSBarry Smith 
185c6c1daeSBarry Smith    Level: advanced
195c6c1daeSBarry Smith 
20811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawGetCoordinates()`
215c6c1daeSBarry Smith @*/
22d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawSetCoordinates(PetscDraw draw, PetscReal xl, PetscReal yl, PetscReal xr, PetscReal yr)
23d71ae5a4SJacob Faibussowitsch {
245c6c1daeSBarry Smith   PetscFunctionBegin;
255c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
269371c9d4SSatish Balay   draw->coor_xl = xl;
279371c9d4SSatish Balay   draw->coor_yl = yl;
289371c9d4SSatish Balay   draw->coor_xr = xr;
299371c9d4SSatish Balay   draw->coor_yr = yr;
30dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, setcoordinates, xl, yl, xr, yr);
313ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
325c6c1daeSBarry Smith }
335c6c1daeSBarry Smith 
348f69470aSLisandro Dalcin /*@
358f69470aSLisandro Dalcin    PetscDrawGetCoordinates - Gets the application coordinates of the corners of
368f69470aSLisandro Dalcin    the window (or page).
378f69470aSLisandro Dalcin 
388f69470aSLisandro Dalcin    Not Collective
398f69470aSLisandro Dalcin 
408f69470aSLisandro Dalcin    Input Parameter:
418f69470aSLisandro Dalcin .  draw - the drawing object
428f69470aSLisandro Dalcin 
4301d2d390SJose E. Roman    Output Parameters:
446b867d5aSJose E. Roman +  xl - the horizontal coordinate of the lower left corner of the drawing region.
456b867d5aSJose E. Roman .  yl - the vertical coordinate of the lower left corner of the drawing region.
466b867d5aSJose E. Roman .  xr - the horizontal coordinate of the upper right corner of the drawing region.
476b867d5aSJose E. Roman -  yr - the vertical coordinate of the upper right corner of the drawing region.
488f69470aSLisandro Dalcin 
49*20f4b53cSBarry Smith    Level: advanced
50*20f4b53cSBarry Smith 
51811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawSetCoordinates()`
528f69470aSLisandro Dalcin @*/
53d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawGetCoordinates(PetscDraw draw, PetscReal *xl, PetscReal *yl, PetscReal *xr, PetscReal *yr)
54d71ae5a4SJacob Faibussowitsch {
558f69470aSLisandro Dalcin   PetscFunctionBegin;
568f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
578f69470aSLisandro Dalcin   PetscValidRealPointer(xl, 2);
588f69470aSLisandro Dalcin   PetscValidRealPointer(yl, 3);
598f69470aSLisandro Dalcin   PetscValidRealPointer(xr, 4);
608f69470aSLisandro Dalcin   PetscValidRealPointer(yr, 5);
619371c9d4SSatish Balay   *xl = draw->coor_xl;
629371c9d4SSatish Balay   *yl = draw->coor_yl;
639371c9d4SSatish Balay   *xr = draw->coor_xr;
649371c9d4SSatish Balay   *yr = draw->coor_yr;
653ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
668f69470aSLisandro Dalcin }
67