xref: /petsc/src/sys/classes/draw/interface/dpoint.c (revision 3ba1676111f5c958fe6c2729b46ca4d523958bb3)
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 /*@
8811af0c4SBarry Smith    PetscDrawPoint - draws a point onto a drawable.
95c6c1daeSBarry Smith 
105c6c1daeSBarry Smith    Not collective
115c6c1daeSBarry Smith 
125c6c1daeSBarry Smith    Input Parameters:
135c6c1daeSBarry Smith +  draw - the drawing context
145c6c1daeSBarry Smith .  xl,yl - the coordinates of the point
155c6c1daeSBarry Smith -  cl - the color of the point
165c6c1daeSBarry Smith 
175c6c1daeSBarry Smith    Level: beginner
185c6c1daeSBarry Smith 
19811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPointPixel()`, `PetscDrawPointSetSize()`, `PetscDrawLine()`, `PetscDrawRectangle()`, `PetscDrawTriangle()`, `PetscDrawEllipse()`,
20db781477SPatrick Sanan           `PetscDrawMarker()`, `PetscDrawString()`, `PetscDrawArrow()`
215c6c1daeSBarry Smith @*/
22d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPoint(PetscDraw draw, PetscReal xl, PetscReal yl, int cl)
23d71ae5a4SJacob Faibussowitsch {
245c6c1daeSBarry Smith   PetscFunctionBegin;
255c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
26dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, point, xl, yl, cl);
27*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
285c6c1daeSBarry Smith }
295c6c1daeSBarry Smith 
305c6c1daeSBarry Smith /*@
31811af0c4SBarry Smith    PetscDrawPointPixel - draws a point onto a drawable, in pixel coordinates
325c6c1daeSBarry Smith 
335c6c1daeSBarry Smith    Not collective
345c6c1daeSBarry Smith 
355c6c1daeSBarry Smith    Input Parameters:
365c6c1daeSBarry Smith +  draw - the drawing context
37a7e8706aSLisandro Dalcin .  x,y - the pixel coordinates of the point
38a7e8706aSLisandro Dalcin -  c - the color of the point
395c6c1daeSBarry Smith 
405c6c1daeSBarry Smith    Level: beginner
415c6c1daeSBarry Smith 
42811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawPointSetSize()`
435c6c1daeSBarry Smith @*/
44d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointPixel(PetscDraw draw, int x, int y, int c)
45d71ae5a4SJacob Faibussowitsch {
465c6c1daeSBarry Smith   PetscFunctionBegin;
475c6c1daeSBarry Smith   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
48dbbe0bcdSBarry Smith   PetscUseTypeMethod(draw, pointpixel, x, y, c);
49*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
505c6c1daeSBarry Smith }
518f69470aSLisandro Dalcin 
528f69470aSLisandro Dalcin /*@
538f69470aSLisandro Dalcin    PetscDrawPointSetSize - Sets the point size for future draws.  The size is
548f69470aSLisandro Dalcin    relative to the user coordinates of the window; 0.0 denotes the natural
558f69470aSLisandro Dalcin    width, 1.0 denotes the entire viewport.
568f69470aSLisandro Dalcin 
578f69470aSLisandro Dalcin    Not collective
588f69470aSLisandro Dalcin 
598f69470aSLisandro Dalcin    Input Parameters:
608f69470aSLisandro Dalcin +  draw - the drawing context
618f69470aSLisandro Dalcin -  width - the width in user coordinates
628f69470aSLisandro Dalcin 
638f69470aSLisandro Dalcin    Level: advanced
648f69470aSLisandro Dalcin 
658f69470aSLisandro Dalcin    Note:
668f69470aSLisandro Dalcin    Even a size of zero insures that a single pixel is colored.
678f69470aSLisandro Dalcin 
68811af0c4SBarry Smith .seealso: `PetscDraw`, `PetscDrawPoint()`, `PetscDrawMarker()`
698f69470aSLisandro Dalcin @*/
70d71ae5a4SJacob Faibussowitsch PetscErrorCode PetscDrawPointSetSize(PetscDraw draw, PetscReal width)
71d71ae5a4SJacob Faibussowitsch {
728f69470aSLisandro Dalcin   PetscFunctionBegin;
738f69470aSLisandro Dalcin   PetscValidHeaderSpecific(draw, PETSC_DRAW_CLASSID, 1);
74cc73adaaSBarry 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);
75dbbe0bcdSBarry Smith   PetscTryTypeMethod(draw, pointsetsize, width);
76*3ba16761SJacob Faibussowitsch   PetscFunctionReturn(PETSC_SUCCESS);
778f69470aSLisandro Dalcin }
78