xref: /petsc/src/sys/classes/draw/interface/dpoint.c (revision 2fe279fdf3e687a416e4eadb7d3c7a82d60442c6)
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 
720f4b53cSBarry Smith    Not Collective
85c6c1daeSBarry Smith 
95c6c1daeSBarry Smith    Input Parameters:
105c6c1daeSBarry Smith +  draw - the drawing context
11*2fe279fdSBarry Smith .  xl - horizatonal coordinate of the point
12*2fe279fdSBarry Smith .  yl - vertical coordinate of the point
135c6c1daeSBarry Smith -  cl - the color of the point
145c6c1daeSBarry Smith 
155c6c1daeSBarry Smith    Level: beginner
165c6c1daeSBarry Smith 
17811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPointPixel()`, `PetscDrawPointSetSize()`, `PetscDrawLine()`, `PetscDrawRectangle()`, `PetscDrawTriangle()`, `PetscDrawEllipse()`,
18db781477SPatrick Sanan           `PetscDrawMarker()`, `PetscDrawString()`, `PetscDrawArrow()`
195c6c1daeSBarry Smith @*/
20d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPoint(PetscDraw draw, PetscReal xl, PetscReal yl, int cl)
21d71ae5a4SJacob Faibussowitsch {
225c6c1daeSBarry Smith   PetscFunctionBegin;
235c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
24dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, point, xl, yl, cl);
253ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
265c6c1daeSBarry Smith }
275c6c1daeSBarry Smith 
285c6c1daeSBarry Smith /*@
29811af0c4SBarry Smith    PetscDrawPointPixel - draws a point onto a drawable, in pixel coordinates
305c6c1daeSBarry Smith 
3120f4b53cSBarry Smith    Not Collective
325c6c1daeSBarry Smith 
335c6c1daeSBarry Smith    Input Parameters:
345c6c1daeSBarry Smith +  draw - the drawing context
35*2fe279fdSBarry Smith .  x - horizontal pixel coordinates of the point
36*2fe279fdSBarry Smith .  y - vertical pixel coordinates of the point
37a7e8706aSLisandro Dalcin -  c - the color of the point
385c6c1daeSBarry Smith 
395c6c1daeSBarry Smith    Level: beginner
405c6c1daeSBarry Smith 
41811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawPointSetSize()`
425c6c1daeSBarry Smith @*/
43d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointPixel(PetscDraw draw, int x, int y, int c)
44d71ae5a4SJacob Faibussowitsch {
455c6c1daeSBarry Smith   PetscFunctionBegin;
465c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
47dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, pointpixel, x, y, c);
483ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
495c6c1daeSBarry Smith }
508f69470aSLisandro Dalcin 
518f69470aSLisandro Dalcin /*@
528f69470aSLisandro Dalcin    PetscDrawPointSetSize - Sets the point size for future draws.  The size is
538f69470aSLisandro Dalcin    relative to the user coordinates of the window; 0.0 denotes the natural
548f69470aSLisandro Dalcin    width, 1.0 denotes the entire viewport.
558f69470aSLisandro Dalcin 
5620f4b53cSBarry Smith    Not Collective
578f69470aSLisandro Dalcin 
588f69470aSLisandro Dalcin    Input Parameters:
598f69470aSLisandro Dalcin +  draw - the drawing context
608f69470aSLisandro Dalcin -  width - the width in user coordinates
618f69470aSLisandro Dalcin 
628f69470aSLisandro Dalcin    Level: advanced
638f69470aSLisandro Dalcin 
648f69470aSLisandro Dalcin    Note:
658f69470aSLisandro Dalcin    Even a size of zero insures that a single pixel is colored.
668f69470aSLisandro Dalcin 
67811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawMarker()`
688f69470aSLisandro Dalcin @*/
69d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointSetSize(PetscDraw draw, PetscReal width)
70d71ae5a4SJacob Faibussowitsch {
718f69470aSLisandro Dalcin   PetscFunctionBegin;
728f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
73cc73adaaSBarry 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);
74dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, pointsetsize, width);
753ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
768f69470aSLisandro Dalcin }
77