xref: /petsc/src/sys/classes/draw/interface/dpoint.c (revision 20f4b53cbb5e9bd9ef12b76a8697d60d197cda17)
15c6c1daeSBarry Smith 
2af0996ceSBarry Smith #include <petsc/private/drawimpl.h> /*I "petscdraw.h" I*/
35c6c1daeSBarry Smith 
45c6c1daeSBarry Smith /*@
5811af0c4SBarry Smith    PetscDrawPoint - draws a point onto a drawable.
65c6c1daeSBarry Smith 
7*20f4b53cSBarry Smith    Not Collective
85c6c1daeSBarry Smith 
95c6c1daeSBarry Smith    Input Parameters:
105c6c1daeSBarry Smith +  draw - the drawing context
115c6c1daeSBarry Smith .  xl,yl - the coordinates of the point
125c6c1daeSBarry Smith -  cl - the color of the point
135c6c1daeSBarry Smith 
145c6c1daeSBarry Smith    Level: beginner
155c6c1daeSBarry Smith 
16811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPointPixel()`, `PetscDrawPointSetSize()`, `PetscDrawLine()`, `PetscDrawRectangle()`, `PetscDrawTriangle()`, `PetscDrawEllipse()`,
17db781477SPatrick Sanan           `PetscDrawMarker()`, `PetscDrawString()`, `PetscDrawArrow()`
185c6c1daeSBarry Smith @*/
19d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPoint(PetscDraw draw, PetscReal xl, PetscReal yl, int cl)
20d71ae5a4SJacob Faibussowitsch {
215c6c1daeSBarry Smith   PetscFunctionBegin;
225c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
23dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, point, xl, yl, cl);
243ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
255c6c1daeSBarry Smith }
265c6c1daeSBarry Smith 
275c6c1daeSBarry Smith /*@
28811af0c4SBarry Smith    PetscDrawPointPixel - draws a point onto a drawable, in pixel coordinates
295c6c1daeSBarry Smith 
30*20f4b53cSBarry Smith    Not Collective
315c6c1daeSBarry Smith 
325c6c1daeSBarry Smith    Input Parameters:
335c6c1daeSBarry Smith +  draw - the drawing context
34a7e8706aSLisandro Dalcin .  x,y - the pixel coordinates of the point
35a7e8706aSLisandro Dalcin -  c - the color of the point
365c6c1daeSBarry Smith 
375c6c1daeSBarry Smith    Level: beginner
385c6c1daeSBarry Smith 
39811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawPointSetSize()`
405c6c1daeSBarry Smith @*/
41d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointPixel(PetscDraw draw, int x, int y, int c)
42d71ae5a4SJacob Faibussowitsch {
435c6c1daeSBarry Smith   PetscFunctionBegin;
445c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
45dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, pointpixel, x, y, c);
463ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
475c6c1daeSBarry Smith }
488f69470aSLisandro Dalcin 
498f69470aSLisandro Dalcin /*@
508f69470aSLisandro Dalcin    PetscDrawPointSetSize - Sets the point size for future draws.  The size is
518f69470aSLisandro Dalcin    relative to the user coordinates of the window; 0.0 denotes the natural
528f69470aSLisandro Dalcin    width, 1.0 denotes the entire viewport.
538f69470aSLisandro Dalcin 
54*20f4b53cSBarry Smith    Not Collective
558f69470aSLisandro Dalcin 
568f69470aSLisandro Dalcin    Input Parameters:
578f69470aSLisandro Dalcin +  draw - the drawing context
588f69470aSLisandro Dalcin -  width - the width in user coordinates
598f69470aSLisandro Dalcin 
608f69470aSLisandro Dalcin    Level: advanced
618f69470aSLisandro Dalcin 
628f69470aSLisandro Dalcin    Note:
638f69470aSLisandro Dalcin    Even a size of zero insures that a single pixel is colored.
648f69470aSLisandro Dalcin 
65811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawMarker()`
668f69470aSLisandro Dalcin @*/
67d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointSetSize(PetscDraw draw, PetscReal width)
68d71ae5a4SJacob Faibussowitsch {
698f69470aSLisandro Dalcin   PetscFunctionBegin;
708f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
71cc73adaaSBarry Smith   PetscCheck(width >= 0.0 && width <= 1.0, PETSC_COMM_SELF, PETSC_ERR_ARG_OUTOFRANGE, "Bad size %g, should be between 0 and 1", (double)width);
72dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, pointsetsize, width);
733ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
748f69470aSLisandro Dalcin }
75