xref: /petsc/include/petscdrawtypes.h (revision 6d8694c4fbab79f9439f1ad13c0386ba7ee1ca4b)
1a4963045SJacob Faibussowitsch #pragma once
253450cbbSJed Brown 
3*ce78bad3SBarry Smith /* MANSEC = Sys */
4ac09b921SBarry Smith /* SUBMANSEC = Draw */
5ac09b921SBarry Smith 
6d1da0b69SBarry Smith /*J
716a05f60SBarry Smith    PetscDrawType - String with the name of a `PetscDraw` implementation, for example `PETSC_DRAW_X` is for X Windows.
8d1da0b69SBarry Smith 
9d1da0b69SBarry Smith    Level: beginner
10d1da0b69SBarry Smith 
1187497f52SBarry Smith .seealso: `PetscDrawSetType()`, `PetscDraw`, `PetscViewer`, `PetscDrawCreate()`, `PetscDrawRegister()`
12d1da0b69SBarry Smith J*/
13d1da0b69SBarry Smith typedef const char *PetscDrawType;
14d1da0b69SBarry Smith #define PETSC_DRAW_X     "x"
15d1da0b69SBarry Smith #define PETSC_DRAW_NULL  "null"
16d1da0b69SBarry Smith #define PETSC_DRAW_WIN32 "win32"
17d1da0b69SBarry Smith #define PETSC_DRAW_TIKZ  "tikz"
182b8d69caSLisandro Dalcin #define PETSC_DRAW_IMAGE "image"
19d1da0b69SBarry Smith 
2053450cbbSJed Brown /*S
2187497f52SBarry Smith    PetscDraw - Abstract PETSc object for graphics, often represents a window on the screen
2253450cbbSJed Brown 
2353450cbbSJed Brown    Level: beginner
2453450cbbSJed Brown 
25db781477SPatrick Sanan .seealso: `PetscDrawCreate()`, `PetscDrawSetType()`, `PetscDrawType`
2653450cbbSJed Brown S*/
2753450cbbSJed Brown typedef struct _p_PetscDraw *PetscDraw;
2853450cbbSJed Brown 
2953450cbbSJed Brown /*S
3016a05f60SBarry Smith    PetscDrawAxis - An object that manages X-Y axis for a `PetscDraw`
3153450cbbSJed Brown 
3253450cbbSJed Brown    Level: advanced
3353450cbbSJed Brown 
3416a05f60SBarry Smith .seealso: `PetscDraw`, `PetscDrawAxisCreate()`, `PetscDrawAxisSetLimits()`, `PetscDrawAxisSetColors()`, `PetscDrawAxisSetLabels()`
3553450cbbSJed Brown S*/
3653450cbbSJed Brown typedef struct _p_PetscDrawAxis *PetscDrawAxis;
3753450cbbSJed Brown 
3853450cbbSJed Brown /*S
3916a05f60SBarry Smith    PetscDrawLG - An object that manages drawing simple x-y plots
4053450cbbSJed Brown 
4153450cbbSJed Brown    Level: advanced
4253450cbbSJed Brown 
4316a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawAxisCreate()`, `PetscDrawLGCreate()`, `PetscDrawLGAddPoint()`
4453450cbbSJed Brown S*/
4553450cbbSJed Brown typedef struct _p_PetscDrawLG *PetscDrawLG;
4653450cbbSJed Brown 
4753450cbbSJed Brown /*S
4816a05f60SBarry Smith    PetscDrawSP - An object that manages drawing scatter plots
4953450cbbSJed Brown 
5053450cbbSJed Brown    Level: advanced
5153450cbbSJed Brown 
5216a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawHG`, `PetscDrawSPCreate()`
5353450cbbSJed Brown S*/
5453450cbbSJed Brown typedef struct _p_PetscDrawSP *PetscDrawSP;
5553450cbbSJed Brown 
5653450cbbSJed Brown /*S
5716a05f60SBarry Smith    PetscDrawHG - An object that manages drawing histograms
5853450cbbSJed Brown 
5953450cbbSJed Brown    Level: advanced
6053450cbbSJed Brown 
61cddde00dSMatthew G. Knepley    Note:
62cddde00dSMatthew G. Knepley    Use a series of calls to `PetscDrawHGAddValue()` to create a standard histogram <https://en.wikipedia.org/wiki/Histogram>, where the bins have integer counts.  Use calls to `PetscDrawHGAddWeightedValue()` to create a histogram with non-integer bin heights, such as the following <https://mathematica.stackexchange.com/questions/103928/histogram-from-relative-frequency-data>
63cddde00dSMatthew G. Knepley 
64cddde00dSMatthew G. Knepley .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawBar`, `PetscDrawSP`, `PetscDrawHGCreate()`, `PetscDrawHGAddValue()`, `PetscDrawHGAddWeightedValue()`
6553450cbbSJed Brown S*/
6653450cbbSJed Brown typedef struct _p_PetscDrawHG *PetscDrawHG;
6753450cbbSJed Brown 
6851fa3d41SBarry Smith /*S
6916a05f60SBarry Smith    PetscDrawBar - An object that manages drawing bar graphs
7051fa3d41SBarry Smith 
7151fa3d41SBarry Smith    Level: advanced
7251fa3d41SBarry Smith 
7316a05f60SBarry Smith .seealso: `PetscDrawAxis`, `PetscDraw`, `PetscDrawLG`, `PetscDrawHG`, `PetscDrawSP`, `PetscDrawBarCreate()`
7451fa3d41SBarry Smith S*/
7551fa3d41SBarry Smith typedef struct _p_PetscDrawBar *PetscDrawBar;
76