This file is indexed.

/usr/src/castle-game-engine-4.1.1/x3d/x3dnodes_eventsengine.inc is in castle-game-engine-src 4.1.1-1.

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
{
  Copyright 2003-2013 Michalis Kamburelis.

  This file is part of "Castle Game Engine".

  "Castle Game Engine" is free software; see the file COPYING.txt,
  included in this distribution, for details about the copyright.

  "Castle Game Engine" is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  ----------------------------------------------------------------------------
}

{ TX3DEventsEngine (ancestor of TCastleSceneCore, with which the nodes
  implementations interact) and related types. }

{$ifdef read_interface}

  { }
  TX3DBindableStackBasic = class(TX3DNodeList)
  public
    { Handle set_bind event send to given Node.
      This always generates appropriate events. }
    procedure Set_Bind(Node: TAbstractBindableNode; const Value: boolean); virtual; abstract;
  end;

  { Abstract 3D object handling VRML/X3D events.
    Is also notified about changes to VRML/X3D nodes/fields. }
  TX3DEventsEngine = class(T3D)
  protected
    procedure ExecuteCompiledScript(const HandlerName: string;  ReceivedValue: TX3DField); virtual; abstract;
  public
    function GetTime: TX3DTime; virtual; abstract;
    function GetBackgroundStack: TX3DBindableStackBasic; virtual; abstract;
    function GetFogStack: TX3DBindableStackBasic; virtual; abstract;
    function GetNavigationInfoStack: TX3DBindableStackBasic; virtual; abstract;
    function GetViewpointStack: TX3DBindableStackBasic; virtual; abstract;

    procedure ChangedAll; virtual; abstract;
    procedure BeforeNodesFree(const InternalChangedAll: boolean = false); virtual; abstract;
    procedure ChangedField(Field: TX3DField); virtual; abstract;
    procedure IncreaseTimeTick; virtual; abstract;
  end;

  TX3DEventsEngineList = class(specialize TFPGObjectList<TX3DEventsEngine>)
  public
    { Notify listeners about a field value change.
      See TCastleSceneCore.ChangedField for exact specification. }
    procedure ChangedField(Field: TX3DField);
  end;
{$endif read_interface}

{$ifdef read_implementation}

procedure TX3DEventsEngineList.ChangedField(Field: TX3DField);
var
  I: Integer;
begin
  for I := 0 to Count - 1 do
    Items[I].ChangedField(Field);
end;

{$endif read_implementation}