with GNATCOM.Dispinterface;

package MSHTML.ISVGTransform_Interface is

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

   procedure Initialize (This : in out ISVGTransform_Type);

   function Pointer (This : ISVGTransform_Type)
     return Pointer_To_ISVGTransform;

   procedure Attach (This    : in out ISVGTransform_Type;
                     Pointer : in     Pointer_To_ISVGTransform);

   procedure Put_type
     (This : ISVGTransform_Type;
      p    : Interfaces.C.short);

   function Get_type
     (This : ISVGTransform_Type)
     return Interfaces.C.short;

   procedure PutRef_matrix
     (This : ISVGTransform_Type;
      p    : Pointer_To_ISVGMatrix);

   function Get_matrix
     (This : ISVGTransform_Type)
     return Pointer_To_ISVGMatrix;

   procedure Put_angle
     (This : ISVGTransform_Type;
      p    : Interfaces.C.C_float);

   function Get_angle
     (This : ISVGTransform_Type)
     return Interfaces.C.C_float;

   procedure setMatrix
     (This   : ISVGTransform_Type;
      matrix : Pointer_To_ISVGMatrix);

   procedure setTranslate
     (This : ISVGTransform_Type;
      tx   : Interfaces.C.C_float;
      ty   : Interfaces.C.C_float);

   procedure setScale
     (This : ISVGTransform_Type;
      sx   : Interfaces.C.C_float;
      sy   : Interfaces.C.C_float);

   procedure setRotate
     (This  : ISVGTransform_Type;
      angle : Interfaces.C.C_float;
      cx    : Interfaces.C.C_float;
      cy    : Interfaces.C.C_float);

   procedure setSkewX
     (This  : ISVGTransform_Type;
      angle : Interfaces.C.C_float);

   procedure setSkewY
     (This  : ISVGTransform_Type;
      angle : Interfaces.C.C_float);

end MSHTML.ISVGTransform_Interface;

