/usr/include/vtk-5.10/vtkLabelRenderStrategy.h is in libvtk5-dev 5.10.1+dfsg-2.1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkLabelRenderStrategy.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkLabelRenderStrategy - Superclass for label rendering implementations.
//
// .SECTION Description
// These methods should only be called within a mapper.
#ifndef __vtkLabelRenderStrategy_h
#define __vtkLabelRenderStrategy_h
#include "vtkObject.h"
#include "vtkStdString.h" // For string support
#include "vtkUnicodeString.h" // For unicode string support
class vtkRenderer;
class vtkWindow;
class vtkTextProperty;
class VTK_RENDERING_EXPORT vtkLabelRenderStrategy : public vtkObject
{
public:
void PrintSelf(ostream& os, vtkIndent indent);
vtkTypeMacro(vtkLabelRenderStrategy, vtkObject);
// Description:
// Whether the text rendering strategy supports rotation.
// The superclass returns true. Subclasses should override this to
// return the appropriate value.
virtual bool SupportsRotation()
{ return true; }
// Description:
// Whether the text rendering strategy supports bounded size.
// The superclass returns true. Subclasses should override this to
// return the appropriate value. Subclasses that return true
// from this method should implement the version of RenderLabel()
// that takes a maximum size (see RenderLabel()).
virtual bool SupportsBoundedSize()
{ return true; }
// Description:
// Set the renderer associated with this strategy.
virtual void SetRenderer(vtkRenderer* ren);
vtkGetObjectMacro(Renderer, vtkRenderer);
// Description:
// Set the default text property for the strategy.
virtual void SetDefaultTextProperty(vtkTextProperty* tprop);
vtkGetObjectMacro(DefaultTextProperty, vtkTextProperty);
// Description:
// Compute the bounds of a label. Must be performed after the renderer is set.
// Only the unicode string version must be implemented in subclasses.
virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label,
double bds[4])
{ this->ComputeLabelBounds(tprop, vtkUnicodeString::from_utf8(label.c_str()),
bds); }
virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label,
double bds[4]) = 0;
// Description:
// Render a label at a location in display coordinates.
// Must be performed between StartFrame() and EndFrame() calls.
// Only the unicode string version must be implemented in subclasses.
// The optional final parameter maxWidth specifies a maximum width for the label.
// Longer labels can be shorted with an ellipsis (...). Only renderer strategies
// that return true from SupportsBoundedSize must implement this version of th
// method.
virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label)
{ this->RenderLabel(x, tprop, vtkUnicodeString::from_utf8(label)); }
virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label,
int maxWidth)
{ this->RenderLabel(x, tprop, vtkUnicodeString::from_utf8(label), maxWidth); }
virtual void RenderLabel(int x[2], vtkTextProperty* tprop,
vtkUnicodeString label) = 0;
virtual void RenderLabel(int x[2], vtkTextProperty* tprop,
vtkUnicodeString label, int vtkNotUsed(maxWidth))
{ this->RenderLabel(x, tprop, label); }
// Description:
// Start a rendering frame. Renderer must be set.
virtual void StartFrame() { }
// Description:
// End a rendering frame.
virtual void EndFrame() { }
// Description:
// Release any graphics resources that are being consumed by this strategy.
// The parameter window could be used to determine which graphic
// resources to release.
virtual void ReleaseGraphicsResources(vtkWindow *) { }
protected:
vtkLabelRenderStrategy();
~vtkLabelRenderStrategy();
vtkRenderer* Renderer;
vtkTextProperty* DefaultTextProperty;
private:
vtkLabelRenderStrategy(const vtkLabelRenderStrategy&); // Not implemented.
void operator=(const vtkLabelRenderStrategy&); // Not implemented.
};
#endif
|