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