This file is indexed.

/usr/include/vtk-7.1/vtkLabelRenderStrategy.h is in libvtk7-dev 7.1.1+dfsg1-2.

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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/*=========================================================================

  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.

=========================================================================*/
/**
 * @class   vtkLabelRenderStrategy
 * @brief   Superclass for label rendering implementations.
 *
 *
 * These methods should only be called within a mapper.
*/

#ifndef vtkLabelRenderStrategy_h
#define vtkLabelRenderStrategy_h

#include "vtkRenderingLabelModule.h" // For export macro
#include "vtkObject.h"

#include "vtkStdString.h" // For string support
#include "vtkUnicodeString.h" // For unicode string support

class vtkRenderer;
class vtkWindow;
class vtkTextProperty;

class VTKRENDERINGLABEL_EXPORT vtkLabelRenderStrategy : public vtkObject
{
 public:
  void PrintSelf(ostream& os, vtkIndent indent);
  vtkTypeMacro(vtkLabelRenderStrategy, vtkObject);

  /**
   * 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; }

  /**
   * 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; }

  //@{
  /**
   * Set the renderer associated with this strategy.
   */
  virtual void SetRenderer(vtkRenderer* ren);
  vtkGetObjectMacro(Renderer, vtkRenderer);
  //@}

  //@{
  /**
   * Set the default text property for the strategy.
   */
  virtual void SetDefaultTextProperty(vtkTextProperty* tprop);
  vtkGetObjectMacro(DefaultTextProperty, vtkTextProperty);
  //@}

  /**
   * 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;

  /**
   * 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); }

  /**
   * Start a rendering frame. Renderer must be set.
   */
  virtual void StartFrame() { }

  /**
   * End a rendering frame.
   */
  virtual void EndFrame() { }

  /**
   * 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&) VTK_DELETE_FUNCTION;
  void operator=(const vtkLabelRenderStrategy&) VTK_DELETE_FUNCTION;
};

#endif