unit ACTIVEXLib_TLB;

// ************************************************************************ //
// AVERTISSEMENT                                                                 
// -------                                                                    
// Les types déclarés dans ce fichier ont été générés à partir de données lues 
// depuis la bibliothèque de types. Si cette dernière (via une autre bibliothèque de types 
// s'y référant) est explicitement ou indirectement ré-importée, ou la commande "Rafraîchir"  
// de l'éditeur de bibliothèque de types est activée lors de la modification de la bibliothèque 
// de types, le contenu de ce fichier sera régénéré et toutes les modifications      
// manuellement apportées seront perdues.                                     
// ************************************************************************ //

// PASTLWTR : $Revision:   1.130  $
// Fichier généré le 05/11/2002 16:46:45 depuis la bibliothèque de types ci-dessous.

// ************************************************************************  //
// Type Lib: C:\localdev\Applications\ActiveXFull\ActiveX.tlb (1)
// LIBID: {EB62A634-348A-47DF-A87D-8AD98969E1C9}
// LCID: 0
// Helpfile: 
// DepndLst: 
//   (1) v2.0 stdole, (C:\WINDOWS\System32\stdole2.tlb)
//   (2) v4.0 StdVCL, (C:\WINDOWS\System32\stdvcl40.dll)
// Erreurs :
//   Remarque : paramètre 'type' dans ICantocheLivingActor.SetCustomParameter changé en 'type_'
//   Remarque : paramètre 'type' dans ICantocheLivingActor.GetCustomParameter changé en 'type_'
// ************************************************************************ //
// *************************************************************************//
// REMARQUE :                                                                      
// Les éléments gardés par $IFDEF_LIVE_SERVER_AT_DESIGN_TIME sont  utilisés 
// par des propriétés qui renvoient des objets pouvant nécessiter d'être  
// explicitement créés par un appel de fonction avant tout accès via la   
// propriété. Ces éléments ont été désactivés afin de prévenir une utilisation  
// accidentelle depuis l'inspecteur d'objets. Vous pouvez les activer en définissant  
// LIVE_SERVER_AT_DESIGN_TIME ou en les retirant sélectivement des blocs 
//  $IFDEF. Cependant, ces éléments doivent toujours être créés par programmation
//  via une méthode de la CoClasse appropriée avant d'être utilisés.                          
{$TYPEDADDRESS OFF} // L'unité doit être compilée sans pointeur à type contrôlé. 
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}

interface

uses ActiveX, Classes, Graphics, OleServer, StdVCL, Variants, Windows;
  


// *********************************************************************//
// GUIDS déclarés dans la bibliothèque de types. Préfixes utilisés :    
//   Bibliothèques de types : LIBID_xxxx                                      
//   CoClasses              : CLASS_xxxx                                      
//   DISPInterfaces         : DIID_xxxx                                       
//   Non-DISP interfaces    : IID_xxxx                                        
// *********************************************************************//
const
  // Versions majeure et mineure de la bibliothèque de types
  ACTIVEXLibMajorVersion = 1;
  ACTIVEXLibMinorVersion = 0;

  LIBID_ACTIVEXLib: TGUID = '{EB62A634-348A-47DF-A87D-8AD98969E1C9}';

  DIID_ICantocheActorEvents: TGUID = '{CCF115DD-FBA9-452F-AEA6-62DD09136C61}';
  IID_ICantocheLivingActor: TGUID = '{FA11308B-8A43-4165-87F4-29F230DACC17}';
  CLASS_CantocheLivingActor: TGUID = '{B8A23E08-0B26-4348-AA96-33395A51DDD9}';
  IID_ICantocheActor: TGUID = '{EF0C28B8-CE98-4AEC-9B3E-70337E1D1D5B}';
  CLASS_CantocheActor: TGUID = '{05075450-8A7A-40EC-8D30-7839F47796DA}';
type

// *********************************************************************//
// Déclaration Forward des types définis dans la bibliothèque de types    
// *********************************************************************//
  ICantocheActorEvents = dispinterface;
  ICantocheLivingActor = interface;
  ICantocheLivingActorDisp = dispinterface;
  ICantocheActor = interface;
  ICantocheActorDisp = dispinterface;

// *********************************************************************//
// Déclaration de CoClasses définies dans la bibliothèque de types 
// (REMARQUE: On affecte chaque CoClasse à son Interface par défaut)              
// *********************************************************************//
  CantocheLivingActor = ICantocheLivingActor;
  CantocheActor = ICantocheActor;


// *********************************************************************//
// DispIntf :  ICantocheActorEvents
// Flags :     (4096) Dispatchable
// GUID :      {CCF115DD-FBA9-452F-AEA6-62DD09136C61}
// *********************************************************************//
  ICantocheActorEvents = dispinterface
    ['{CCF115DD-FBA9-452F-AEA6-62DD09136C61}']
    procedure OnSelect(const Material: WideString; const Bone: WideString); dispid 1;
    procedure OnDragStart; dispid 2;
    procedure OnDragEnd(x: Smallint; y: Smallint); dispid 3;
    procedure OnDialogID(const id: WideString); dispid 4;
  end;

// *********************************************************************//
// Interface   : ICantocheLivingActor
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {FA11308B-8A43-4165-87F4-29F230DACC17}
// *********************************************************************//
  ICantocheLivingActor = interface(IDispatch)
    ['{FA11308B-8A43-4165-87F4-29F230DACC17}']
    procedure LoadActor(const anURL: WideString); safecall;
    function  Get_Actor(index: SYSINT): ICantocheActor; safecall;
    procedure LoadLocalActor(const anURL: WideString); safecall;
    procedure SetCameraPosition(x: Single; y: Single; z: Single); safecall;
    procedure SetTTSInfos(const gender: WideString; const language: WideString); safecall;
    procedure SetDefaultLightColor(r: Single; g: Single; b: Single); safecall;
    procedure SetDefaultLightDeltaPosition(x: Single; y: Single; z: Single); safecall;
    procedure SetTTSID(const anID: WideString); safecall;
    procedure UnloadActor(ActorID: SYSINT); safecall;
    procedure SetAntialiasing(val: Integer); safecall;
    function  Get_NumError: Integer; safecall;
    function  Get_Error(index: SYSINT): WideString; safecall;
    function  Get_Execute(const command: WideString): WideString; safecall;
    procedure DisableSound; safecall;
    procedure EnableSound; safecall;
    procedure SetCustomParameter(const type_: WideString; const Name: WideString; 
                                 const value: WideString); safecall;
    procedure ClearCustomParameter; safecall;
    procedure SaveCustomParameter; safecall;
    procedure SetIconHidden; safecall;
    procedure Quit; safecall;
    function  Get_LoadActor2(const url: WideString): ICantocheActor; safecall;
    procedure BeExclusive(value: Integer); safecall;
    function  Get_Version: Integer; safecall;
    function  Get_GetCustomParameter(const type_: WideString; const Name: WideString): WideString; safecall;
    property Actor[index: SYSINT]: ICantocheActor read Get_Actor;
    property NumError: Integer read Get_NumError;
    property Error[index: SYSINT]: WideString read Get_Error;
    property Execute[const command: WideString]: WideString read Get_Execute;
    property LoadActor2[const url: WideString]: ICantocheActor read Get_LoadActor2;
    property Version: Integer read Get_Version;
    property GetCustomParameter[const type_: WideString; const Name: WideString]: WideString read Get_GetCustomParameter;
  end;

// *********************************************************************//
// DispIntf :  ICantocheLivingActorDisp
// Flags :     (4416) Dual OleAutomation Dispatchable
// GUID :      {FA11308B-8A43-4165-87F4-29F230DACC17}
// *********************************************************************//
  ICantocheLivingActorDisp = dispinterface
    ['{FA11308B-8A43-4165-87F4-29F230DACC17}']
    procedure LoadActor(const anURL: WideString); dispid 1;
    property Actor[index: SYSINT]: ICantocheActor readonly dispid 2;
    procedure LoadLocalActor(const anURL: WideString); dispid 3;
    procedure SetCameraPosition(x: Single; y: Single; z: Single); dispid 4;
    procedure SetTTSInfos(const gender: WideString; const language: WideString); dispid 5;
    procedure SetDefaultLightColor(r: Single; g: Single; b: Single); dispid 6;
    procedure SetDefaultLightDeltaPosition(x: Single; y: Single; z: Single); dispid 7;
    procedure SetTTSID(const anID: WideString); dispid 8;
    procedure UnloadActor(ActorID: SYSINT); dispid 9;
    procedure SetAntialiasing(val: Integer); dispid 10;
    property NumError: Integer readonly dispid 11;
    property Error[index: SYSINT]: WideString readonly dispid 12;
    property Execute[const command: WideString]: WideString readonly dispid 13;
    procedure DisableSound; dispid 14;
    procedure EnableSound; dispid 15;
    procedure SetCustomParameter(const type_: WideString; const Name: WideString; 
                                 const value: WideString); dispid 16;
    procedure ClearCustomParameter; dispid 17;
    procedure SaveCustomParameter; dispid 18;
    procedure SetIconHidden; dispid 19;
    procedure Quit; dispid 20;
    property LoadActor2[const url: WideString]: ICantocheActor readonly dispid 21;
    procedure BeExclusive(value: Integer); dispid 22;
    property Version: Integer readonly dispid 23;
    property GetCustomParameter[const type_: WideString; const Name: WideString]: WideString readonly dispid 24;
  end;

// *********************************************************************//
// Interface   : ICantocheActor
// Indicateurs : (4416) Dual OleAutomation Dispatchable
// GUID        : {EF0C28B8-CE98-4AEC-9B3E-70337E1D1D5B}
// *********************************************************************//
  ICantocheActor = interface(IDispatch)
    ['{EF0C28B8-CE98-4AEC-9B3E-70337E1D1D5B}']
    function  Get_Name: WideString; safecall;
    procedure Show; safecall;
    procedure Play(const animationName: WideString); safecall;
    procedure Speak(const aText: WideString); safecall;
    procedure SpeakNow(const aText: WideString); safecall;
    procedure Hide; safecall;
    procedure MoveTo(x: SYSINT; y: SYSINT); safecall;
    procedure ClearScenario; safecall;
    procedure Think(const aText: WideString); safecall;
    procedure ThinkNow(const aText: WideString); safecall;
    procedure SetScale(scaling: Single); safecall;
    function  Get_AnimationCount: Integer; safecall;
    function  Get_Animation(index: SYSINT): WideString; safecall;
    function  Get_DialogID: WideString; safecall;
    function  Get_PositionX: Integer; safecall;
    function  Get_PositionY: Integer; safecall;
    function  Get_Width: Integer; safecall;
    function  Get_Height: Integer; safecall;
    procedure PlaceAt(x: SYSINT; y: SYSINT); safecall;
    procedure SetDefaufltExpression(const anExpression: WideString); safecall;
    procedure SetScaleNow(scaling: Single); safecall;
    function  Get_Loaded: Integer; safecall;
    function  Get_ExpressionCount: Integer; safecall;
    function  Get_Expression(index: SYSINT): WideString; safecall;
    procedure NormalizedMoveTo(x: Single; y: Single); safecall;
    function  Get_RelatedAnimationCount(const animationName: WideString): Integer; safecall;
    function  Get_RelatedAnimation(const Animation: WideString; index: SYSINT): WideString; safecall;
    procedure PlayLoop(const animationName: WideString); safecall;
    function  Get_PlayedEvent: WideString; safecall;
    function  Get_event: WideString; safecall;
    procedure SetBookmark(const bookmark: WideString); safecall;
    function  Get_bookmark: WideString; safecall;
    function  Get_DownloadProgress: Integer; safecall;
    procedure NormalizedPlaceAt(x: Single; y: Single); safecall;
    procedure SetExpression(const anExpression: WideString; transitionTime: Single); safecall;
    procedure ChangeTexture(const oldID: WideString; const newURL: WideString); safecall;
    procedure GestureAt(x: SYSINT; y: SYSINT); safecall;
    procedure NormalizedGestureAt(x: Single; y: Single); safecall;
    procedure LookAt(x: SYSINT; y: SYSINT); safecall;
    procedure NormalizedLookAt(x: Single; y: Single); safecall;
    procedure AcceptScenario; safecall;
    procedure RefuseScenario; safecall;
    procedure AddPopupMenuItem(const Caption: WideString; const id: WideString); safecall;
    procedure RemovePopupMenuItem(const id: WideString); safecall;
    procedure ClearPopupMenu; safecall;
    function  Get_Execute(const script: WideString): WideString; safecall;
    procedure Play2(const Name: WideString; const withsequence: WideString); safecall;
    procedure Show2(const withsequence: WideString); safecall;
    procedure Hide2(const withsequence: WideString); safecall;
    procedure MoveTo2(x: SYSINT; y: SYSINT; const speed: WideString); safecall;
    procedure NormalizedMoveTo2(x: Single; y: Single; const speed: WideString); safecall;
    procedure BeExclusive(value: Integer); safecall;
    function  Get_Exclusive: Integer; safecall;
    function  Get_DialogEditContent(const id: WideString): WideString; safecall;
    procedure PlayLoop2(const animationName: WideString; const withsequence: WideString); safecall;
    property Name: WideString read Get_Name;
    property AnimationCount: Integer read Get_AnimationCount;
    property Animation[index: SYSINT]: WideString read Get_Animation;
    property DialogID: WideString read Get_DialogID;
    property PositionX: Integer read Get_PositionX;
    property PositionY: Integer read Get_PositionY;
    property Width: Integer read Get_Width;
    property Height: Integer read Get_Height;
    property Loaded: Integer read Get_Loaded;
    property ExpressionCount: Integer read Get_ExpressionCount;
    property Expression[index: SYSINT]: WideString read Get_Expression;
    property RelatedAnimationCount[const animationName: WideString]: Integer read Get_RelatedAnimationCount;
    property RelatedAnimation[const Animation: WideString; index: SYSINT]: WideString read Get_RelatedAnimation;
    property PlayedEvent: WideString read Get_PlayedEvent;
    property event: WideString read Get_event;
    property bookmark: WideString read Get_bookmark;
    property DownloadProgress: Integer read Get_DownloadProgress;
    property Execute[const script: WideString]: WideString read Get_Execute;
    property Exclusive: Integer read Get_Exclusive;
    property DialogEditContent[const id: WideString]: WideString read Get_DialogEditContent;
  end;

// *********************************************************************//
// DispIntf :  ICantocheActorDisp
// Flags :     (4416) Dual OleAutomation Dispatchable
// GUID :      {EF0C28B8-CE98-4AEC-9B3E-70337E1D1D5B}
// *********************************************************************//
  ICantocheActorDisp = dispinterface
    ['{EF0C28B8-CE98-4AEC-9B3E-70337E1D1D5B}']
    property Name: WideString readonly dispid 1;
    procedure Show; dispid 2;
    procedure Play(const animationName: WideString); dispid 3;
    procedure Speak(const aText: WideString); dispid 4;
    procedure SpeakNow(const aText: WideString); dispid 5;
    procedure Hide; dispid 6;
    procedure MoveTo(x: SYSINT; y: SYSINT); dispid 7;
    procedure ClearScenario; dispid 8;
    procedure Think(const aText: WideString); dispid 9;
    procedure ThinkNow(const aText: WideString); dispid 10;
    procedure SetScale(scaling: Single); dispid 11;
    property AnimationCount: Integer readonly dispid 12;
    property Animation[index: SYSINT]: WideString readonly dispid 13;
    property DialogID: WideString readonly dispid 14;
    property PositionX: Integer readonly dispid 15;
    property PositionY: Integer readonly dispid 16;
    property Width: Integer readonly dispid 17;
    property Height: Integer readonly dispid 18;
    procedure PlaceAt(x: SYSINT; y: SYSINT); dispid 19;
    procedure SetDefaufltExpression(const anExpression: WideString); dispid 20;
    procedure SetScaleNow(scaling: Single); dispid 21;
    property Loaded: Integer readonly dispid 22;
    property ExpressionCount: Integer readonly dispid 23;
    property Expression[index: SYSINT]: WideString readonly dispid 24;
    procedure NormalizedMoveTo(x: Single; y: Single); dispid 25;
    property RelatedAnimationCount[const animationName: WideString]: Integer readonly dispid 26;
    property RelatedAnimation[const Animation: WideString; index: SYSINT]: WideString readonly dispid 27;
    procedure PlayLoop(const animationName: WideString); dispid 28;
    property PlayedEvent: WideString readonly dispid 29;
    property event: WideString readonly dispid 30;
    procedure SetBookmark(const bookmark: WideString); dispid 31;
    property bookmark: WideString readonly dispid 32;
    property DownloadProgress: Integer readonly dispid 33;
    procedure NormalizedPlaceAt(x: Single; y: Single); dispid 34;
    procedure SetExpression(const anExpression: WideString; transitionTime: Single); dispid 35;
    procedure ChangeTexture(const oldID: WideString; const newURL: WideString); dispid 36;
    procedure GestureAt(x: SYSINT; y: SYSINT); dispid 37;
    procedure NormalizedGestureAt(x: Single; y: Single); dispid 38;
    procedure LookAt(x: SYSINT; y: SYSINT); dispid 39;
    procedure NormalizedLookAt(x: Single; y: Single); dispid 40;
    procedure AcceptScenario; dispid 41;
    procedure RefuseScenario; dispid 42;
    procedure AddPopupMenuItem(const Caption: WideString; const id: WideString); dispid 43;
    procedure RemovePopupMenuItem(const id: WideString); dispid 44;
    procedure ClearPopupMenu; dispid 45;
    property Execute[const script: WideString]: WideString readonly dispid 46;
    procedure Play2(const Name: WideString; const withsequence: WideString); dispid 47;
    procedure Show2(const withsequence: WideString); dispid 48;
    procedure Hide2(const withsequence: WideString); dispid 49;
    procedure MoveTo2(x: SYSINT; y: SYSINT; const speed: WideString); dispid 50;
    procedure NormalizedMoveTo2(x: Single; y: Single; const speed: WideString); dispid 51;
    procedure BeExclusive(value: Integer); dispid 52;
    property Exclusive: Integer readonly dispid 53;
    property DialogEditContent[const id: WideString]: WideString readonly dispid 54;
    procedure PlayLoop2(const animationName: WideString; const withsequence: WideString); dispid 55;
  end;

// *********************************************************************//
// La classe CoCantocheLivingActor fournit une méthode Create et CreateRemote pour          
// créer des instances de l'interface par défaut ICantocheLivingActor exposée             
// par la CoClasse CantocheLivingActor. Les fonctions sont destinées à être utilisées par            
// les clients désirant automatiser les objets CoClasse exposés par       
// le serveur de cette bibliothèque de types.                                            
// *********************************************************************//
  CoCantocheLivingActor = class
    class function Create: ICantocheLivingActor;
    class function CreateRemote(const MachineName: string): ICantocheLivingActor;
  end;

  TCantocheLivingActorOnSelect = procedure(Sender: TObject; var Material: OleVariant;
                                                            var Bone: OleVariant) of object;
  TCantocheLivingActorOnDragEnd = procedure(Sender: TObject; x: Smallint; y: Smallint) of object;
  TCantocheLivingActorOnDialogID = procedure(Sender: TObject; var id: OleVariant) of object;


// *********************************************************************//
// Déclaration de classe proxy de serveur OLE
// Objet serveur        : TCantocheLivingActor
// Chaîne d'aide        : CantocheLivingActor Class
// Interface par défaut : ICantocheLivingActor
// DISP Int. Déf. ?     : No
// Interface événements : ICantocheActorEvents
// TypeFlags            : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TCantocheLivingActorProperties= class;
{$ENDIF}
  TCantocheLivingActor = class(TOleServer)
  private
    FOnSelect: TCantocheLivingActorOnSelect;
    FOnDragStart: TNotifyEvent;
    FOnDragEnd: TCantocheLivingActorOnDragEnd;
    FOnDialogID: TCantocheLivingActorOnDialogID;
    FAutoQuit:    Boolean;
    FIntf:        ICantocheLivingActor;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TCantocheLivingActorProperties;
    function      GetServerProperties: TCantocheLivingActorProperties;
{$ENDIF}
    function      GetDefaultInterface: ICantocheLivingActor;
  protected
    procedure InitServerData; override;
    procedure InvokeEvent(DispID: TDispID; var Params: TVariantArray); override;
    function  Get_Actor(index: SYSINT): ICantocheActor;
    function  Get_NumError: Integer;
    function  Get_Error(index: SYSINT): WideString;
    function  Get_Execute(const command: WideString): WideString;
    function  Get_LoadActor2(const url: WideString): ICantocheActor;
    function  Get_Version: Integer;
    function  Get_GetCustomParameter(const type_: WideString; const Name: WideString): WideString;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: ICantocheLivingActor);
    procedure Disconnect; override;
    procedure LoadActor(const anURL: WideString);
    procedure LoadLocalActor(const anURL: WideString);
    procedure SetCameraPosition(x: Single; y: Single; z: Single);
    procedure SetTTSInfos(const gender: WideString; const language: WideString);
    procedure SetDefaultLightColor(r: Single; g: Single; b: Single);
    procedure SetDefaultLightDeltaPosition(x: Single; y: Single; z: Single);
    procedure SetTTSID(const anID: WideString);
    procedure UnloadActor(ActorID: SYSINT);
    procedure SetAntialiasing(val: Integer);
    procedure DisableSound;
    procedure EnableSound;
    procedure SetCustomParameter(const type_: WideString; const Name: WideString; 
                                 const value: WideString);
    procedure ClearCustomParameter;
    procedure SaveCustomParameter;
    procedure SetIconHidden;
    procedure Quit;
    procedure BeExclusive(value: Integer);
    property  DefaultInterface: ICantocheLivingActor read GetDefaultInterface;
    property Actor[index: SYSINT]: ICantocheActor read Get_Actor;
    property NumError: Integer read Get_NumError;
    property Error[index: SYSINT]: WideString read Get_Error;
    property Execute[const command: WideString]: WideString read Get_Execute;
    property LoadActor2[const url: WideString]: ICantocheActor read Get_LoadActor2;
    property Version: Integer read Get_Version;
    property GetCustomParameter[const type_: WideString; const Name: WideString]: WideString read Get_GetCustomParameter;
  published
    property AutoQuit: Boolean read FAutoQuit write FAutoQuit; 
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TCantocheLivingActorProperties read GetServerProperties;
{$ENDIF}
    property OnSelect: TCantocheLivingActorOnSelect read FOnSelect write FOnSelect;
    property OnDragStart: TNotifyEvent read FOnDragStart write FOnDragStart;
    property OnDragEnd: TCantocheLivingActorOnDragEnd read FOnDragEnd write FOnDragEnd;
    property OnDialogID: TCantocheLivingActorOnDialogID read FOnDialogID write FOnDialogID;
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// Classe proxy Propriétés Serveur OLE
// Objet serveur    : TCantocheLivingActor
// (Cet objet est utilisé pas l'inspecteur de propriété de l'EDI pour la 
//  modification des propriétés de ce serveur)
// *********************************************************************//
 TCantocheLivingActorProperties = class(TPersistent)
  private
    FServer:    TCantocheLivingActor;
    function    GetDefaultInterface: ICantocheLivingActor;
    constructor Create(AServer: TCantocheLivingActor);
  protected
    function  Get_Actor(index: SYSINT): ICantocheActor;
    function  Get_NumError: Integer;
    function  Get_Error(index: SYSINT): WideString;
    function  Get_Execute(const command: WideString): WideString;
    function  Get_LoadActor2(const url: WideString): ICantocheActor;
    function  Get_Version: Integer;
    function  Get_GetCustomParameter(const type_: WideString; const Name: WideString): WideString;
  public
    property DefaultInterface: ICantocheLivingActor read GetDefaultInterface;
  published
  end;
{$ENDIF}


// *********************************************************************//
// La classe CoCantocheActor fournit une méthode Create et CreateRemote pour          
// créer des instances de l'interface par défaut ICantocheActor exposée             
// par la CoClasse CantocheActor. Les fonctions sont destinées à être utilisées par            
// les clients désirant automatiser les objets CoClasse exposés par       
// le serveur de cette bibliothèque de types.                                            
// *********************************************************************//
  CoCantocheActor = class
    class function Create: ICantocheActor;
    class function CreateRemote(const MachineName: string): ICantocheActor;
  end;


// *********************************************************************//
// Déclaration de classe proxy de serveur OLE
// Objet serveur        : TCantocheActor
// Chaîne d'aide        : CantocheActor Class
// Interface par défaut : ICantocheActor
// DISP Int. Déf. ?     : No
// Interface événements : 
// TypeFlags            : (2) CanCreate
// *********************************************************************//
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  TCantocheActorProperties= class;
{$ENDIF}
  TCantocheActor = class(TOleServer)
  private
    FIntf:        ICantocheActor;
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    FProps:       TCantocheActorProperties;
    function      GetServerProperties: TCantocheActorProperties;
{$ENDIF}
    function      GetDefaultInterface: ICantocheActor;
  protected
    procedure InitServerData; override;
    function  Get_Name: WideString;
    function  Get_AnimationCount: Integer;
    function  Get_Animation(index: SYSINT): WideString;
    function  Get_DialogID: WideString;
    function  Get_PositionX: Integer;
    function  Get_PositionY: Integer;
    function  Get_Width: Integer;
    function  Get_Height: Integer;
    function  Get_Loaded: Integer;
    function  Get_ExpressionCount: Integer;
    function  Get_Expression(index: SYSINT): WideString;
    function  Get_RelatedAnimationCount(const animationName: WideString): Integer;
    function  Get_RelatedAnimation(const Animation: WideString; index: SYSINT): WideString;
    function  Get_PlayedEvent: WideString;
    function  Get_event: WideString;
    function  Get_bookmark: WideString;
    function  Get_DownloadProgress: Integer;
    function  Get_Execute(const script: WideString): WideString;
    function  Get_Exclusive: Integer;
    function  Get_DialogEditContent(const id: WideString): WideString;
  public
    constructor Create(AOwner: TComponent); override;
    destructor  Destroy; override;
    procedure Connect; override;
    procedure ConnectTo(svrIntf: ICantocheActor);
    procedure Disconnect; override;
    procedure Show;
    procedure Play(const animationName: WideString);
    procedure Speak(const aText: WideString);
    procedure SpeakNow(const aText: WideString);
    procedure Hide;
    procedure MoveTo(x: SYSINT; y: SYSINT);
    procedure ClearScenario;
    procedure Think(const aText: WideString);
    procedure ThinkNow(const aText: WideString);
    procedure SetScale(scaling: Single);
    procedure PlaceAt(x: SYSINT; y: SYSINT);
    procedure SetDefaufltExpression(const anExpression: WideString);
    procedure SetScaleNow(scaling: Single);
    procedure NormalizedMoveTo(x: Single; y: Single);
    procedure PlayLoop(const animationName: WideString);
    procedure SetBookmark(const bookmark: WideString);
    procedure NormalizedPlaceAt(x: Single; y: Single);
    procedure SetExpression(const anExpression: WideString; transitionTime: Single);
    procedure ChangeTexture(const oldID: WideString; const newURL: WideString);
    procedure GestureAt(x: SYSINT; y: SYSINT);
    procedure NormalizedGestureAt(x: Single; y: Single);
    procedure LookAt(x: SYSINT; y: SYSINT);
    procedure NormalizedLookAt(x: Single; y: Single);
    procedure AcceptScenario;
    procedure RefuseScenario;
    procedure AddPopupMenuItem(const Caption: WideString; const id: WideString);
    procedure RemovePopupMenuItem(const id: WideString);
    procedure ClearPopupMenu;
    procedure Play2(const Name: WideString; const withsequence: WideString);
    procedure Show2(const withsequence: WideString);
    procedure Hide2(const withsequence: WideString);
    procedure MoveTo2(x: SYSINT; y: SYSINT; const speed: WideString);
    procedure NormalizedMoveTo2(x: Single; y: Single; const speed: WideString);
    procedure BeExclusive(value: Integer);
    procedure PlayLoop2(const animationName: WideString; const withsequence: WideString);
    property  DefaultInterface: ICantocheActor read GetDefaultInterface;
    property Name: WideString read Get_Name;
    property AnimationCount: Integer read Get_AnimationCount;
    property Animation[index: SYSINT]: WideString read Get_Animation;
    property DialogID: WideString read Get_DialogID;
    property PositionX: Integer read Get_PositionX;
    property PositionY: Integer read Get_PositionY;
    property Width: Integer read Get_Width;
    property Height: Integer read Get_Height;
    property Loaded: Integer read Get_Loaded;
    property ExpressionCount: Integer read Get_ExpressionCount;
    property Expression[index: SYSINT]: WideString read Get_Expression;
    property RelatedAnimationCount[const animationName: WideString]: Integer read Get_RelatedAnimationCount;
    property RelatedAnimation[const Animation: WideString; index: SYSINT]: WideString read Get_RelatedAnimation;
    property PlayedEvent: WideString read Get_PlayedEvent;
    property event: WideString read Get_event;
    property bookmark: WideString read Get_bookmark;
    property DownloadProgress: Integer read Get_DownloadProgress;
    property Execute[const script: WideString]: WideString read Get_Execute;
    property Exclusive: Integer read Get_Exclusive;
    property DialogEditContent[const id: WideString]: WideString read Get_DialogEditContent;
  published
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
    property Server: TCantocheActorProperties read GetServerProperties;
{$ENDIF}
  end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
// *********************************************************************//
// Classe proxy Propriétés Serveur OLE
// Objet serveur    : TCantocheActor
// (Cet objet est utilisé pas l'inspecteur de propriété de l'EDI pour la 
//  modification des propriétés de ce serveur)
// *********************************************************************//
 TCantocheActorProperties = class(TPersistent)
  private
    FServer:    TCantocheActor;
    function    GetDefaultInterface: ICantocheActor;
    constructor Create(AServer: TCantocheActor);
  protected
    function  Get_Name: WideString;
    function  Get_AnimationCount: Integer;
    function  Get_Animation(index: SYSINT): WideString;
    function  Get_DialogID: WideString;
    function  Get_PositionX: Integer;
    function  Get_PositionY: Integer;
    function  Get_Width: Integer;
    function  Get_Height: Integer;
    function  Get_Loaded: Integer;
    function  Get_ExpressionCount: Integer;
    function  Get_Expression(index: SYSINT): WideString;
    function  Get_RelatedAnimationCount(const animationName: WideString): Integer;
    function  Get_RelatedAnimation(const Animation: WideString; index: SYSINT): WideString;
    function  Get_PlayedEvent: WideString;
    function  Get_event: WideString;
    function  Get_bookmark: WideString;
    function  Get_DownloadProgress: Integer;
    function  Get_Execute(const script: WideString): WideString;
    function  Get_Exclusive: Integer;
    function  Get_DialogEditContent(const id: WideString): WideString;
  public
    property DefaultInterface: ICantocheActor read GetDefaultInterface;
  published
  end;
{$ENDIF}


procedure Register;

resourcestring
  dtlServerPage = 'ActiveX';

implementation

uses ComObj;

class function CoCantocheLivingActor.Create: ICantocheLivingActor;
begin
  Result := CreateComObject(CLASS_CantocheLivingActor) as ICantocheLivingActor;
end;

class function CoCantocheLivingActor.CreateRemote(const MachineName: string): ICantocheLivingActor;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_CantocheLivingActor) as ICantocheLivingActor;
end;

procedure TCantocheLivingActor.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{B8A23E08-0B26-4348-AA96-33395A51DDD9}';
    IntfIID:   '{FA11308B-8A43-4165-87F4-29F230DACC17}';
    EventIID:  '{CCF115DD-FBA9-452F-AEA6-62DD09136C61}';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TCantocheLivingActor.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    ConnectEvents(punk);
    Fintf:= punk as ICantocheLivingActor;
  end;
end;

procedure TCantocheLivingActor.ConnectTo(svrIntf: ICantocheLivingActor);
begin
  Disconnect;
  FIntf := svrIntf;
  ConnectEvents(FIntf);
end;

procedure TCantocheLivingActor.DisConnect;
begin
  if Fintf <> nil then
  begin
    DisconnectEvents(FIntf);
    if FAutoQuit then
      Quit();
    FIntf := nil;
  end;
end;

function TCantocheLivingActor.GetDefaultInterface: ICantocheLivingActor;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface est NULL. Le composant n''est pas connecté au serveur. Vous devez appeler ''Connect'' ou ''ConnectTo'' avant cette opération');
  Result := FIntf;
end;

constructor TCantocheLivingActor.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TCantocheLivingActorProperties.Create(Self);
{$ENDIF}
end;

destructor TCantocheLivingActor.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TCantocheLivingActor.GetServerProperties: TCantocheLivingActorProperties;
begin
  Result := FProps;
end;
{$ENDIF}

procedure TCantocheLivingActor.InvokeEvent(DispID: TDispID; var Params: TVariantArray);
begin
  case DispID of
    -1: Exit;  // DISPID_UNKNOWN
   1: if Assigned(FOnSelect) then
            FOnSelect(Self, Params[1] {const WideString}, Params[0] {const WideString});
   2: if Assigned(FOnDragStart) then
            FOnDragStart(Self);
   3: if Assigned(FOnDragEnd) then
            FOnDragEnd(Self, Params[1] {Smallint}, Params[0] {Smallint});
   4: if Assigned(FOnDialogID) then
            FOnDialogID(Self, Params[0] {const WideString});
  end; {case DispID}
end;

function  TCantocheLivingActor.Get_Actor(index: SYSINT): ICantocheActor;
begin
  Result := DefaultInterface.Actor[index];
end;

function  TCantocheLivingActor.Get_NumError: Integer;
begin
  Result := DefaultInterface.NumError;
end;

function  TCantocheLivingActor.Get_Error(index: SYSINT): WideString;
begin
  Result := DefaultInterface.Error[index];
end;

function  TCantocheLivingActor.Get_Execute(const command: WideString): WideString;
begin
  Result := DefaultInterface.Execute[command];
end;

function  TCantocheLivingActor.Get_LoadActor2(const url: WideString): ICantocheActor;
begin
  Result := DefaultInterface.LoadActor2[url];
end;

function  TCantocheLivingActor.Get_Version: Integer;
begin
  Result := DefaultInterface.Version;
end;

function  TCantocheLivingActor.Get_GetCustomParameter(const type_: WideString; 
                                                      const Name: WideString): WideString;
begin
  Result := DefaultInterface.GetCustomParameter[type_, Name];
end;

procedure TCantocheLivingActor.LoadActor(const anURL: WideString);
begin
  DefaultInterface.LoadActor(anURL);
end;

procedure TCantocheLivingActor.LoadLocalActor(const anURL: WideString);
begin
  DefaultInterface.LoadLocalActor(anURL);
end;

procedure TCantocheLivingActor.SetCameraPosition(x: Single; y: Single; z: Single);
begin
  DefaultInterface.SetCameraPosition(x, y, z);
end;

procedure TCantocheLivingActor.SetTTSInfos(const gender: WideString; const language: WideString);
begin
  DefaultInterface.SetTTSInfos(gender, language);
end;

procedure TCantocheLivingActor.SetDefaultLightColor(r: Single; g: Single; b: Single);
begin
  DefaultInterface.SetDefaultLightColor(r, g, b);
end;

procedure TCantocheLivingActor.SetDefaultLightDeltaPosition(x: Single; y: Single; z: Single);
begin
  DefaultInterface.SetDefaultLightDeltaPosition(x, y, z);
end;

procedure TCantocheLivingActor.SetTTSID(const anID: WideString);
begin
  DefaultInterface.SetTTSID(anID);
end;

procedure TCantocheLivingActor.UnloadActor(ActorID: SYSINT);
begin
  DefaultInterface.UnloadActor(ActorID);
end;

procedure TCantocheLivingActor.SetAntialiasing(val: Integer);
begin
  DefaultInterface.SetAntialiasing(val);
end;

procedure TCantocheLivingActor.DisableSound;
begin
  DefaultInterface.DisableSound;
end;

procedure TCantocheLivingActor.EnableSound;
begin
  DefaultInterface.EnableSound;
end;

procedure TCantocheLivingActor.SetCustomParameter(const type_: WideString; const Name: WideString; 
                                                  const value: WideString);
begin
  DefaultInterface.SetCustomParameter(type_, Name, value);
end;

procedure TCantocheLivingActor.ClearCustomParameter;
begin
  DefaultInterface.ClearCustomParameter;
end;

procedure TCantocheLivingActor.SaveCustomParameter;
begin
  DefaultInterface.SaveCustomParameter;
end;

procedure TCantocheLivingActor.SetIconHidden;
begin
  DefaultInterface.SetIconHidden;
end;

procedure TCantocheLivingActor.Quit;
begin
  DefaultInterface.Quit;
end;

procedure TCantocheLivingActor.BeExclusive(value: Integer);
begin
  DefaultInterface.BeExclusive(value);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TCantocheLivingActorProperties.Create(AServer: TCantocheLivingActor);
begin
  inherited Create;
  FServer := AServer;
end;

function TCantocheLivingActorProperties.GetDefaultInterface: ICantocheLivingActor;
begin
  Result := FServer.DefaultInterface;
end;

function  TCantocheLivingActorProperties.Get_Actor(index: SYSINT): ICantocheActor;
begin
  Result := DefaultInterface.Actor[index];
end;

function  TCantocheLivingActorProperties.Get_NumError: Integer;
begin
  Result := DefaultInterface.NumError;
end;

function  TCantocheLivingActorProperties.Get_Error(index: SYSINT): WideString;
begin
  Result := DefaultInterface.Error[index];
end;

function  TCantocheLivingActorProperties.Get_Execute(const command: WideString): WideString;
begin
  Result := DefaultInterface.Execute[command];
end;

function  TCantocheLivingActorProperties.Get_LoadActor2(const url: WideString): ICantocheActor;
begin
  Result := DefaultInterface.LoadActor2[url];
end;

function  TCantocheLivingActorProperties.Get_Version: Integer;
begin
  Result := DefaultInterface.Version;
end;

function  TCantocheLivingActorProperties.Get_GetCustomParameter(const type_: WideString; 
                                                                const Name: WideString): WideString;
begin
  Result := DefaultInterface.GetCustomParameter[type_, Name];
end;

{$ENDIF}

class function CoCantocheActor.Create: ICantocheActor;
begin
  Result := CreateComObject(CLASS_CantocheActor) as ICantocheActor;
end;

class function CoCantocheActor.CreateRemote(const MachineName: string): ICantocheActor;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_CantocheActor) as ICantocheActor;
end;

procedure TCantocheActor.InitServerData;
const
  CServerData: TServerData = (
    ClassID:   '{05075450-8A7A-40EC-8D30-7839F47796DA}';
    IntfIID:   '{EF0C28B8-CE98-4AEC-9B3E-70337E1D1D5B}';
    EventIID:  '';
    LicenseKey: nil;
    Version: 500);
begin
  ServerData := @CServerData;
end;

procedure TCantocheActor.Connect;
var
  punk: IUnknown;
begin
  if FIntf = nil then
  begin
    punk := GetServer;
    Fintf:= punk as ICantocheActor;
  end;
end;

procedure TCantocheActor.ConnectTo(svrIntf: ICantocheActor);
begin
  Disconnect;
  FIntf := svrIntf;
end;

procedure TCantocheActor.DisConnect;
begin
  if Fintf <> nil then
  begin
    FIntf := nil;
  end;
end;

function TCantocheActor.GetDefaultInterface: ICantocheActor;
begin
  if FIntf = nil then
    Connect;
  Assert(FIntf <> nil, 'DefaultInterface est NULL. Le composant n''est pas connecté au serveur. Vous devez appeler ''Connect'' ou ''ConnectTo'' avant cette opération');
  Result := FIntf;
end;

constructor TCantocheActor.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TCantocheActorProperties.Create(Self);
{$ENDIF}
end;

destructor TCantocheActor.Destroy;
begin
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps.Free;
{$ENDIF}
  inherited Destroy;
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
function TCantocheActor.GetServerProperties: TCantocheActorProperties;
begin
  Result := FProps;
end;
{$ENDIF}

function  TCantocheActor.Get_Name: WideString;
begin
  Result := DefaultInterface.Name;
end;

function  TCantocheActor.Get_AnimationCount: Integer;
begin
  Result := DefaultInterface.AnimationCount;
end;

function  TCantocheActor.Get_Animation(index: SYSINT): WideString;
begin
  Result := DefaultInterface.Animation[index];
end;

function  TCantocheActor.Get_DialogID: WideString;
begin
  Result := DefaultInterface.DialogID;
end;

function  TCantocheActor.Get_PositionX: Integer;
begin
  Result := DefaultInterface.PositionX;
end;

function  TCantocheActor.Get_PositionY: Integer;
begin
  Result := DefaultInterface.PositionY;
end;

function  TCantocheActor.Get_Width: Integer;
begin
  Result := DefaultInterface.Width;
end;

function  TCantocheActor.Get_Height: Integer;
begin
  Result := DefaultInterface.Height;
end;

function  TCantocheActor.Get_Loaded: Integer;
begin
  Result := DefaultInterface.Loaded;
end;

function  TCantocheActor.Get_ExpressionCount: Integer;
begin
  Result := DefaultInterface.ExpressionCount;
end;

function  TCantocheActor.Get_Expression(index: SYSINT): WideString;
begin
  Result := DefaultInterface.Expression[index];
end;

function  TCantocheActor.Get_RelatedAnimationCount(const animationName: WideString): Integer;
begin
  Result := DefaultInterface.RelatedAnimationCount[animationName];
end;

function  TCantocheActor.Get_RelatedAnimation(const Animation: WideString; index: SYSINT): WideString;
begin
  Result := DefaultInterface.RelatedAnimation[Animation, index];
end;

function  TCantocheActor.Get_PlayedEvent: WideString;
begin
  Result := DefaultInterface.PlayedEvent;
end;

function  TCantocheActor.Get_event: WideString;
begin
  Result := DefaultInterface.event;
end;

function  TCantocheActor.Get_bookmark: WideString;
begin
  Result := DefaultInterface.bookmark;
end;

function  TCantocheActor.Get_DownloadProgress: Integer;
begin
  Result := DefaultInterface.DownloadProgress;
end;

function  TCantocheActor.Get_Execute(const script: WideString): WideString;
begin
  Result := DefaultInterface.Execute[script];
end;

function  TCantocheActor.Get_Exclusive: Integer;
begin
  Result := DefaultInterface.Exclusive;
end;

function  TCantocheActor.Get_DialogEditContent(const id: WideString): WideString;
begin
  Result := DefaultInterface.DialogEditContent[id];
end;

procedure TCantocheActor.Show;
begin
  DefaultInterface.Show;
end;

procedure TCantocheActor.Play(const animationName: WideString);
begin
  DefaultInterface.Play(animationName);
end;

procedure TCantocheActor.Speak(const aText: WideString);
begin
  DefaultInterface.Speak(aText);
end;

procedure TCantocheActor.SpeakNow(const aText: WideString);
begin
  DefaultInterface.SpeakNow(aText);
end;

procedure TCantocheActor.Hide;
begin
  DefaultInterface.Hide;
end;

procedure TCantocheActor.MoveTo(x: SYSINT; y: SYSINT);
begin
  DefaultInterface.MoveTo(x, y);
end;

procedure TCantocheActor.ClearScenario;
begin
  DefaultInterface.ClearScenario;
end;

procedure TCantocheActor.Think(const aText: WideString);
begin
  DefaultInterface.Think(aText);
end;

procedure TCantocheActor.ThinkNow(const aText: WideString);
begin
  DefaultInterface.ThinkNow(aText);
end;

procedure TCantocheActor.SetScale(scaling: Single);
begin
  DefaultInterface.SetScale(scaling);
end;

procedure TCantocheActor.PlaceAt(x: SYSINT; y: SYSINT);
begin
  DefaultInterface.PlaceAt(x, y);
end;

procedure TCantocheActor.SetDefaufltExpression(const anExpression: WideString);
begin
  DefaultInterface.SetDefaufltExpression(anExpression);
end;

procedure TCantocheActor.SetScaleNow(scaling: Single);
begin
  DefaultInterface.SetScaleNow(scaling);
end;

procedure TCantocheActor.NormalizedMoveTo(x: Single; y: Single);
begin
  DefaultInterface.NormalizedMoveTo(x, y);
end;

procedure TCantocheActor.PlayLoop(const animationName: WideString);
begin
  DefaultInterface.PlayLoop(animationName);
end;

procedure TCantocheActor.SetBookmark(const bookmark: WideString);
begin
  DefaultInterface.SetBookmark(bookmark);
end;

procedure TCantocheActor.NormalizedPlaceAt(x: Single; y: Single);
begin
  DefaultInterface.NormalizedPlaceAt(x, y);
end;

procedure TCantocheActor.SetExpression(const anExpression: WideString; transitionTime: Single);
begin
  DefaultInterface.SetExpression(anExpression, transitionTime);
end;

procedure TCantocheActor.ChangeTexture(const oldID: WideString; const newURL: WideString);
begin
  DefaultInterface.ChangeTexture(oldID, newURL);
end;

procedure TCantocheActor.GestureAt(x: SYSINT; y: SYSINT);
begin
  DefaultInterface.GestureAt(x, y);
end;

procedure TCantocheActor.NormalizedGestureAt(x: Single; y: Single);
begin
  DefaultInterface.NormalizedGestureAt(x, y);
end;

procedure TCantocheActor.LookAt(x: SYSINT; y: SYSINT);
begin
  DefaultInterface.LookAt(x, y);
end;

procedure TCantocheActor.NormalizedLookAt(x: Single; y: Single);
begin
  DefaultInterface.NormalizedLookAt(x, y);
end;

procedure TCantocheActor.AcceptScenario;
begin
  DefaultInterface.AcceptScenario;
end;

procedure TCantocheActor.RefuseScenario;
begin
  DefaultInterface.RefuseScenario;
end;

procedure TCantocheActor.AddPopupMenuItem(const Caption: WideString; const id: WideString);
begin
  DefaultInterface.AddPopupMenuItem(Caption, id);
end;

procedure TCantocheActor.RemovePopupMenuItem(const id: WideString);
begin
  DefaultInterface.RemovePopupMenuItem(id);
end;

procedure TCantocheActor.ClearPopupMenu;
begin
  DefaultInterface.ClearPopupMenu;
end;

procedure TCantocheActor.Play2(const Name: WideString; const withsequence: WideString);
begin
  DefaultInterface.Play2(Name, withsequence);
end;

procedure TCantocheActor.Show2(const withsequence: WideString);
begin
  DefaultInterface.Show2(withsequence);
end;

procedure TCantocheActor.Hide2(const withsequence: WideString);
begin
  DefaultInterface.Hide2(withsequence);
end;

procedure TCantocheActor.MoveTo2(x: SYSINT; y: SYSINT; const speed: WideString);
begin
  DefaultInterface.MoveTo2(x, y, speed);
end;

procedure TCantocheActor.NormalizedMoveTo2(x: Single; y: Single; const speed: WideString);
begin
  DefaultInterface.NormalizedMoveTo2(x, y, speed);
end;

procedure TCantocheActor.BeExclusive(value: Integer);
begin
  DefaultInterface.BeExclusive(value);
end;

procedure TCantocheActor.PlayLoop2(const animationName: WideString; const withsequence: WideString);
begin
  DefaultInterface.PlayLoop2(animationName, withsequence);
end;

{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
constructor TCantocheActorProperties.Create(AServer: TCantocheActor);
begin
  inherited Create;
  FServer := AServer;
end;

function TCantocheActorProperties.GetDefaultInterface: ICantocheActor;
begin
  Result := FServer.DefaultInterface;
end;

function  TCantocheActorProperties.Get_Name: WideString;
begin
  Result := DefaultInterface.Name;
end;

function  TCantocheActorProperties.Get_AnimationCount: Integer;
begin
  Result := DefaultInterface.AnimationCount;
end;

function  TCantocheActorProperties.Get_Animation(index: SYSINT): WideString;
begin
  Result := DefaultInterface.Animation[index];
end;

function  TCantocheActorProperties.Get_DialogID: WideString;
begin
  Result := DefaultInterface.DialogID;
end;

function  TCantocheActorProperties.Get_PositionX: Integer;
begin
  Result := DefaultInterface.PositionX;
end;

function  TCantocheActorProperties.Get_PositionY: Integer;
begin
  Result := DefaultInterface.PositionY;
end;

function  TCantocheActorProperties.Get_Width: Integer;
begin
  Result := DefaultInterface.Width;
end;

function  TCantocheActorProperties.Get_Height: Integer;
begin
  Result := DefaultInterface.Height;
end;

function  TCantocheActorProperties.Get_Loaded: Integer;
begin
  Result := DefaultInterface.Loaded;
end;

function  TCantocheActorProperties.Get_ExpressionCount: Integer;
begin
  Result := DefaultInterface.ExpressionCount;
end;

function  TCantocheActorProperties.Get_Expression(index: SYSINT): WideString;
begin
  Result := DefaultInterface.Expression[index];
end;

function  TCantocheActorProperties.Get_RelatedAnimationCount(const animationName: WideString): Integer;
begin
  Result := DefaultInterface.RelatedAnimationCount[animationName];
end;

function  TCantocheActorProperties.Get_RelatedAnimation(const Animation: WideString; index: SYSINT): WideString;
begin
  Result := DefaultInterface.RelatedAnimation[Animation, index];
end;

function  TCantocheActorProperties.Get_PlayedEvent: WideString;
begin
  Result := DefaultInterface.PlayedEvent;
end;

function  TCantocheActorProperties.Get_event: WideString;
begin
  Result := DefaultInterface.event;
end;

function  TCantocheActorProperties.Get_bookmark: WideString;
begin
  Result := DefaultInterface.bookmark;
end;

function  TCantocheActorProperties.Get_DownloadProgress: Integer;
begin
  Result := DefaultInterface.DownloadProgress;
end;

function  TCantocheActorProperties.Get_Execute(const script: WideString): WideString;
begin
  Result := DefaultInterface.Execute[script];
end;

function  TCantocheActorProperties.Get_Exclusive: Integer;
begin
  Result := DefaultInterface.Exclusive;
end;

function  TCantocheActorProperties.Get_DialogEditContent(const id: WideString): WideString;
begin
  Result := DefaultInterface.DialogEditContent[id];
end;

{$ENDIF}

procedure Register;
begin
  RegisterComponents(dtlServerPage, [TCantocheLivingActor, TCantocheActor]);
end;

end.
