This file is indexed.

/usr/include/wx-2.8/wx/ogl/ogldiag.h is in wx2.8-headers 2.8.12.1-6ubuntu2.

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
/////////////////////////////////////////////////////////////////////////////
// Name:        ogldiag.h
// Purpose:     OGL - wxDiagram class
// Author:      Julian Smart
// Modified by:
// Created:     12/07/98
// RCS-ID:      $Id: ogldiag.h 35812 2005-10-06 18:17:23Z ABX $
// Copyright:   (c) Julian Smart
// Licence:     wxWindows licence
/////////////////////////////////////////////////////////////////////////////

#ifndef _OGL_OGLDIAG_H_
#define _OGL_OGLDIAG_H_

#include "wx/ogl/basic.h"

#if wxUSE_PROLOGIO
#include "wx/deprecated/wxexpr.h"
#endif


class WXDLLIMPEXP_OGL wxDiagram: public wxObject
{
 DECLARE_DYNAMIC_CLASS(wxDiagram)

public:

  wxDiagram();
  virtual ~wxDiagram();

  void SetCanvas(wxShapeCanvas *can);

  inline wxShapeCanvas *GetCanvas() const { return m_diagramCanvas; }

  virtual void Redraw(wxDC& dc);
  virtual void Clear(wxDC& dc);
  virtual void DrawOutline(wxDC& dc, double x1, double y1, double x2, double y2);

  // Add object to end of object list (if addAfter is NULL)
  // or just after addAfter.
  virtual void AddShape(wxShape *object, wxShape *addAfter = NULL);

  // Add object to front of object list
  virtual void InsertShape(wxShape *object);

  void SetSnapToGrid(bool snap);
  void SetGridSpacing(double spacing);
  inline double GetGridSpacing() const { return m_gridSpacing; }
  inline bool GetSnapToGrid() const { return m_snapToGrid; }
  void Snap(double *x, double *y);

  inline void SetQuickEditMode(bool qem) { m_quickEditMode = qem; }
  inline bool GetQuickEditMode() const { return m_quickEditMode; }

  virtual void RemoveShape(wxShape *object);
  virtual void RemoveAllShapes();
  virtual void DeleteAllShapes();
  virtual void ShowAll(bool show);

  // Find a shape by its id
  wxShape* FindShape(long id) const;

  inline void SetMouseTolerance(int tol) { m_mouseTolerance = tol; }
  inline int GetMouseTolerance() const { return m_mouseTolerance; }
  inline wxList *GetShapeList() const { return m_shapeList; }
  inline int GetCount() const { return m_shapeList->GetCount(); }

  // Make sure all text that should be centred, is centred.
  void RecentreAll(wxDC& dc);

#if wxUSE_PROLOGIO
  virtual bool SaveFile(const wxString& filename);
  virtual bool LoadFile(const wxString& filename);

  virtual void ReadNodes(wxExprDatabase& database);
  virtual void ReadLines(wxExprDatabase& database);
  virtual void ReadContainerGeometry(wxExprDatabase& database);

  // Allow for modifying file
  virtual bool OnDatabaseLoad(wxExprDatabase& db);
  virtual bool OnDatabaseSave(wxExprDatabase& db);
  virtual bool OnShapeSave(wxExprDatabase& db, wxShape& shape, wxExpr& expr);
  virtual bool OnShapeLoad(wxExprDatabase& db, wxShape& shape, wxExpr& expr);
  virtual bool OnHeaderSave(wxExprDatabase& db, wxExpr& expr);
  virtual bool OnHeaderLoad(wxExprDatabase& db, wxExpr& expr);
#endif

protected:
  wxShapeCanvas*        m_diagramCanvas;
  bool                  m_quickEditMode;
  bool                  m_snapToGrid;
  double                m_gridSpacing;
  int                   m_mouseTolerance;
  wxList*               m_shapeList;
};

class WXDLLIMPEXP_OGL wxLineCrossing: public wxObject
{
public:
    wxLineCrossing() { m_lineShape1 = NULL; m_lineShape2 = NULL; }
    wxRealPoint     m_pt1; // First line
    wxRealPoint     m_pt2;
    wxRealPoint     m_pt3; // Second line
    wxRealPoint     m_pt4;
    wxRealPoint     m_intersect;
    wxLineShape*    m_lineShape1;
    wxLineShape*    m_lineShape2;
};

class WXDLLIMPEXP_OGL wxLineCrossings: public wxObject
{
public:
    wxLineCrossings();
    ~wxLineCrossings();

    void FindCrossings(wxDiagram& diagram);
    void DrawCrossings(wxDiagram& diagram, wxDC& dc);
    void ClearCrossings();

public:
    wxList  m_crossings;
};

#endif
 // _OGL_OGLDIAG_H_