Go to the documentation of this file.
29 #ifndef vtkContextDevice2D_h
30 #define vtkContextDevice2D_h
32 #include "vtkRenderingContext2DModule.h"
69 unsigned char *colors =
nullptr,
int nc_comps = 0) = 0;
77 virtual void DrawLines(
float *f,
int n,
unsigned char *colors =
nullptr,
78 int nc_comps = 0) = 0;
85 int nc_comps = 0) = 0;
95 unsigned char *colors =
nullptr,
int nc_comps = 0) = 0;
109 unsigned char *colors =
nullptr,
int nc_comps = 0);
125 virtual void DrawPolygon(
float *p,
int n) { this->DrawColoredPolygon(p, n); }
127 unsigned char *colors =
nullptr,
168 float bounds[4]) = 0;
183 float bounds[4]) = 0;
317 virtual int GetWidth() {
return this->Geometry[0]; }
402 this->ViewportSize =
size;
408 this->ViewportRect = rect;
443 #endif //vtkContextDevice2D_h
provides a brush that fills shapes drawn by vtkContext2D.
represent and manipulate 2D points
virtual void DrawMarkers(int shape, bool highlight, float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)
Draw a series of markers centered at the points supplied.
virtual void ComputeStringBounds(const vtkStdString &string, float bounds[4])=0
Compute the bounds of the supplied string.
virtual void DrawQuadStrip(float *, int)
Draw a quad using the specified number of points.
static vtkContextDevice2D * New()
virtual void PopMatrix()=0
Pop the current matrix off of the stack.
virtual void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId)
Start BufferId creation Mode.
virtual int GetHeight()
Get the width of the device in pixels.
virtual void ComputeStringBounds(const vtkUnicodeString &string, float bounds[4])=0
Compute the bounds of the supplied string.
virtual void DrawPolyData(float p[2], float scale, vtkPolyData *polyData, vtkUnsignedCharArray *colors, int scalarMode)
Draw the supplied PolyData at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1....
virtual void End()
End drawing, clean up the view.
virtual void DrawQuad(float *, int)
Draw a quad using the specified number of points.
virtual void MultiplyMatrix(vtkMatrix3x3 *m)=0
Multiply the current model view matrix by the supplied one.
virtual void SetMatrix(vtkMatrix3x3 *m)=0
Set the model view matrix for the display.
virtual void DrawString(float *point, const vtkStdString &string)=0
Draw some text to the screen.
dynamic, self-adjusting array of unsigned char
virtual void SetColor4(unsigned char color[4])=0
Set the color for the device using unsigned char of length 4, RGBA.
virtual void SetViewportSize(const vtkVector2i &size)
abstract base class for most VTK objects
virtual bool GetBufferIdMode() const
Tell if the device context is in BufferId creation mode.
vtkRecti ViewportRect
Store our origin and size in the total viewport.
virtual void SetClipping(int *x)=0
Supply an int array of length 4 with x1, y1, width, height specifying clipping region for the device ...
virtual void DrawColoredPolygon(float *points, int numPoints, unsigned char *colors=nullptr, int nc_comps=0)
Draw a polygon using the specified number of points.
virtual void PushMatrix()=0
Push the current matrix onto the stack.
represent and manipulate 3x3 transformation matrices
virtual void ComputeJustifiedStringBounds(const char *string, float bounds[4])=0
Compute the bounds of the supplied string while taking into account the justification of the currentl...
vtkAbstractContextBufferId * BufferId
window superclass for vtkRenderWindow
virtual int GetWidth()
Get the width of the device in pixels.
virtual void DrawPolygon(float *p, int n)
Draw a polygon using the specified number of points.
virtual void DrawImage(float p[2], float scale, vtkImageData *image)=0
Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1....
2D array of ids, used for picking.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void ApplyPen(vtkPen *pen)
Apply the supplied pen which controls the outlines of shapes, as well as lines, points and related pr...
virtual void DrawEllipticArc(float x, float y, float rX, float rY, float startAngle, float stopAngle)=0
Draw an elliptic arc with center at x,y with radii rX and rY between angles startAngle and stopAngle ...
virtual void SetLineType(int type)=0
Set the line type type (using anonymous enum in vtkPen).
virtual void SetPointSize(float size)=0
Set the point size for glyphs/sprites.
virtual void DisableClipping()
Disable clipping of the display.
virtual bool MathTextIsSupported()
Return true if MathText rendering available on this device.
vtkVector2i ViewportSize
Store the size of the total viewport.
topologically and geometrically regular array of data
a simple class to control print indentation
String class that stores Unicode text.
virtual void DrawImage(const vtkRectf &pos, vtkImageData *image)=0
Draw the supplied image at the given position.
virtual void ApplyBrush(vtkBrush *brush)
Apply the supplied brush which controls the outlines of shapes, as well as lines, points and related ...
virtual void ApplyTextProp(vtkTextProperty *prop)
Apply the supplied text property which controls how text is rendered.
virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw a series of point sprites, images centred at the points supplied.
virtual void BufferIdModeEnd()
Finalize BufferId creation Mode.
~vtkContextDevice2D() override
virtual void DrawPoly(float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw a poly line using the points - fastest code path due to memory layout of the coordinates.
virtual void GetMatrix(vtkMatrix3x3 *m)=0
Set the model view matrix for the display.
abstract specification for Viewports
vtkTextProperty * TextProp
Abstract class for drawing 2D primitives.
represent text properties.
virtual void DrawLines(float *f, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw lines using the points - memory layout is as follows: l1p1,l1p2,l2p1,l2p2...
virtual void SetTexture(vtkImageData *image, int properties)=0
Set the texture for the device, it is used to fill the polygons.
virtual void DrawString(float *point, const vtkUnicodeString &string)=0
Draw some text to the screen.
virtual void DrawMathTextString(float *point, const vtkStdString &string)=0
Draw text using MathText markup for mathematical equations.
concrete dataset represents vertices, lines, polygons, and triangle strips
virtual void Begin(vtkViewport *)
Begin drawing, pass in the viewport to set up the view.
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Some derived classes for the different vectors commonly used.
Wrapper around std::string to keep symbols short.
virtual void DrawEllipseWedge(float x, float y, float outRx, float outRy, float inRx, float inRy, float startAngle, float stopAngle)=0
Draw an elliptic wedge with center at x, y, outer radii outRx, outRy, inner radii inRx,...
virtual void SetLineWidth(float width)=0
Set the line width.
virtual void EnableClipping(bool enable)=0
Enable or disable the clipping of the scene.
virtual void DrawPoints(float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw a series of points - fastest code path due to memory layout of the coordinates.