with GNATCOM.Dispinterface;

package MSHTML.ISVGTextContentElement_Interface is

   type ISVGTextContentElement_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out ISVGTextContentElement_Type);

   function Pointer (This : ISVGTextContentElement_Type)
     return Pointer_To_ISVGTextContentElement;

   procedure Attach (This    : in out ISVGTextContentElement_Type;
                     Pointer : in     Pointer_To_ISVGTextContentElement);

   procedure PutRef_textLength
     (This : ISVGTextContentElement_Type;
      p    : Pointer_To_ISVGAnimatedLength);

   function Get_textLength
     (This : ISVGTextContentElement_Type)
     return Pointer_To_ISVGAnimatedLength;

   procedure PutRef_lengthAdjust
     (This : ISVGTextContentElement_Type;
      p    : Pointer_To_ISVGAnimatedEnumeration);

   function Get_lengthAdjust
     (This : ISVGTextContentElement_Type)
     return Pointer_To_ISVGAnimatedEnumeration;

   function getNumberOfChars
     (This    : ISVGTextContentElement_Type)
     return Interfaces.C.long;

   function getComputedTextLength
     (This    : ISVGTextContentElement_Type)
     return Interfaces.C.C_float;

   function getSubStringLength
     (This    : ISVGTextContentElement_Type;
      charnum : Interfaces.C.long;
      nchars  : Interfaces.C.long)
     return Interfaces.C.C_float;

   function getStartPositionOfChar
     (This     : ISVGTextContentElement_Type;
      charnum  : Interfaces.C.long)
     return Pointer_To_ISVGPoint;

   function getEndPositionOfChar
     (This     : ISVGTextContentElement_Type;
      charnum  : Interfaces.C.long)
     return Pointer_To_ISVGPoint;

   function getExtentOfChar
     (This     : ISVGTextContentElement_Type;
      charnum  : Interfaces.C.long)
     return Pointer_To_ISVGRect;

   function getRotationOfChar
     (This    : ISVGTextContentElement_Type;
      charnum : Interfaces.C.long)
     return Interfaces.C.C_float;

   function getCharNumAtPosition
     (This    : ISVGTextContentElement_Type;
      point   : Pointer_To_ISVGPoint)
     return Interfaces.C.long;

   procedure selectSubString
     (This    : ISVGTextContentElement_Type;
      charnum : Interfaces.C.long;
      nchars  : Interfaces.C.long);

end MSHTML.ISVGTextContentElement_Interface;

