xref: /petsc/src/sys/classes/draw/interface/dcoor.c (revision 8f69470a7058bcc0cf21d9492705f60bbdfc5aa4)
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 #undef __FUNCT__
85c6c1daeSBarry Smith #define __FUNCT__ "PetscDrawSetCoordinates"
95c6c1daeSBarry Smith /*@
105c6c1daeSBarry Smith    PetscDrawSetCoordinates - Sets the application coordinates of the corners of
115c6c1daeSBarry Smith    the window (or page).
125c6c1daeSBarry Smith 
135c6c1daeSBarry Smith    Not collective
145c6c1daeSBarry Smith 
155c6c1daeSBarry Smith    Input Parameters:
165c6c1daeSBarry Smith +  draw - the drawing object
175c6c1daeSBarry Smith -  xl,yl,xr,yr - the coordinates of the lower left corner and upper
185c6c1daeSBarry Smith                  right corner of the drawing region.
195c6c1daeSBarry Smith 
205c6c1daeSBarry Smith    Level: advanced
215c6c1daeSBarry Smith 
225c6c1daeSBarry Smith    Concepts: drawing^coordinates
235c6c1daeSBarry Smith    Concepts: graphics^coordinates
245c6c1daeSBarry Smith 
255c6c1daeSBarry Smith .seealso: PetscDrawGetCoordinates()
265c6c1daeSBarry Smith 
275c6c1daeSBarry Smith @*/
285c6c1daeSBarry Smith PetscErrorCode  PetscDrawSetCoordinates(PetscDraw draw,PetscReal xl,PetscReal yl,PetscReal xr,PetscReal yr)
295c6c1daeSBarry Smith {
305c6c1daeSBarry Smith   PetscErrorCode ierr;
315c6c1daeSBarry Smith 
325c6c1daeSBarry Smith   PetscFunctionBegin;
335c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
345c6c1daeSBarry Smith   draw->coor_xl = xl; draw->coor_yl = yl;
355c6c1daeSBarry Smith   draw->coor_xr = xr; draw->coor_yr = yr;
365c6c1daeSBarry Smith   if (draw->ops->setcoordinates) {
375c6c1daeSBarry Smith     ierr = (*draw->ops->setcoordinates)(draw,xl,yl,xr,yr);CHKERRQ(ierr);
385c6c1daeSBarry Smith   }
395c6c1daeSBarry Smith   PetscFunctionReturn(0);
405c6c1daeSBarry Smith }
415c6c1daeSBarry Smith 
42*8f69470aSLisandro Dalcin #undef __FUNCT__
43*8f69470aSLisandro Dalcin #define __FUNCT__ "PetscDrawGetCoordinates"
44*8f69470aSLisandro Dalcin /*@
45*8f69470aSLisandro Dalcin    PetscDrawGetCoordinates - Gets the application coordinates of the corners of
46*8f69470aSLisandro Dalcin    the window (or page).
47*8f69470aSLisandro Dalcin 
48*8f69470aSLisandro Dalcin    Not Collective
49*8f69470aSLisandro Dalcin 
50*8f69470aSLisandro Dalcin    Input Parameter:
51*8f69470aSLisandro Dalcin .  draw - the drawing object
52*8f69470aSLisandro Dalcin 
53*8f69470aSLisandro Dalcin    Level: advanced
54*8f69470aSLisandro Dalcin 
55*8f69470aSLisandro Dalcin    Ouput Parameters:
56*8f69470aSLisandro Dalcin .  xl,yl,xr,yr - the coordinates of the lower left corner and upper
57*8f69470aSLisandro Dalcin                  right corner of the drawing region.
58*8f69470aSLisandro Dalcin 
59*8f69470aSLisandro Dalcin    Concepts: drawing^coordinates
60*8f69470aSLisandro Dalcin    Concepts: graphics^coordinates
61*8f69470aSLisandro Dalcin 
62*8f69470aSLisandro Dalcin .seealso: PetscDrawSetCoordinates()
63*8f69470aSLisandro Dalcin 
64*8f69470aSLisandro Dalcin @*/
65*8f69470aSLisandro Dalcin PetscErrorCode  PetscDrawGetCoordinates(PetscDraw draw,PetscReal *xl,PetscReal *yl,PetscReal *xr,PetscReal *yr)
66*8f69470aSLisandro Dalcin {
67*8f69470aSLisandro Dalcin   PetscFunctionBegin;
68*8f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw,PETSC_DRAW_CLASSID,1);
69*8f69470aSLisandro Dalcin   PetscValidRealPointer(xl,2);
70*8f69470aSLisandro Dalcin   PetscValidRealPointer(yl,3);
71*8f69470aSLisandro Dalcin   PetscValidRealPointer(xr,4);
72*8f69470aSLisandro Dalcin   PetscValidRealPointer(yr,5);
73*8f69470aSLisandro Dalcin   *xl = draw->coor_xl; *yl = draw->coor_yl;
74*8f69470aSLisandro Dalcin   *xr = draw->coor_xr; *yr = draw->coor_yr;
75*8f69470aSLisandro Dalcin   PetscFunctionReturn(0);
76*8f69470aSLisandro Dalcin }
77