with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLDocument8_Interface is

   procedure Initialize (This : in out IHTMLDocument8_Type) is
   begin
      Set_IID (This, IID_IHTMLDocument8);
   end Initialize;

   function Pointer (This : IHTMLDocument8_Type)
     return Pointer_To_IHTMLDocument8
   is
   begin
      return To_Pointer_To_IHTMLDocument8 (Address (This));
   end Pointer;

   procedure Attach (This    : in out IHTMLDocument8_Type;
                     Pointer : in     Pointer_To_IHTMLDocument8)
   is
   begin
      Attach (This, GNATCOM.IInterface.To_Pointer_To_IUnknown
              (Pointer.all'Address));
   end Attach;

   procedure Put_onmscontentzoom
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmscontentzoom
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmscontentzoom;

   function Get_onmscontentzoom
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmscontentzoom
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmscontentzoom;

   procedure Put_onmspointerdown
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointerdown
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointerdown;

   function Get_onmspointerdown
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointerdown
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointerdown;

   procedure Put_onmspointermove
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointermove
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointermove;

   function Get_onmspointermove
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointermove
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointermove;

   procedure Put_onmspointerup
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointerup
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointerup;

   function Get_onmspointerup
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointerup
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointerup;

   procedure Put_onmspointerover
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointerover
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointerover;

   function Get_onmspointerover
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointerover
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointerover;

   procedure Put_onmspointerout
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointerout
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointerout;

   function Get_onmspointerout
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointerout
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointerout;

   procedure Put_onmspointercancel
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointercancel
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointercancel;

   function Get_onmspointercancel
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointercancel
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointercancel;

   procedure Put_onmspointerhover
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmspointerhover
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmspointerhover;

   function Get_onmspointerhover
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmspointerhover
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmspointerhover;

   procedure Put_onmsgesturestart
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsgesturestart
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsgesturestart;

   function Get_onmsgesturestart
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsgesturestart
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsgesturestart;

   procedure Put_onmsgesturechange
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsgesturechange
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsgesturechange;

   function Get_onmsgesturechange
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsgesturechange
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsgesturechange;

   procedure Put_onmsgestureend
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsgestureend
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsgestureend;

   function Get_onmsgestureend
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsgestureend
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsgestureend;

   procedure Put_onmsgesturehold
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsgesturehold
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsgesturehold;

   function Get_onmsgesturehold
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsgesturehold
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsgesturehold;

   procedure Put_onmsgesturetap
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsgesturetap
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsgesturetap;

   function Get_onmsgesturetap
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsgesturetap
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsgesturetap;

   procedure Put_onmsgesturedoubletap
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsgesturedoubletap
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsgesturedoubletap;

   function Get_onmsgesturedoubletap
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsgesturedoubletap
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsgesturedoubletap;

   procedure Put_onmsinertiastart
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsinertiastart
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsinertiastart;

   function Get_onmsinertiastart
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsinertiastart
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsinertiastart;

   function elementsFromPoint
     (This        : IHTMLDocument8_Type;
      x           : Interfaces.C.C_float;
      y           : Interfaces.C.C_float)
     return Pointer_To_IHTMLDOMChildrenCollection
   is
       RetVal : aliased Pointer_To_IHTMLDOMChildrenCollection;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.elementsFromPoint
         (Pointer (This),
          x,
          y,
          RetVal'Unchecked_Access));

      return RetVal;
   end elementsFromPoint;

   function elementsFromRect
     (This        : IHTMLDocument8_Type;
      left        : Interfaces.C.C_float;
      top         : Interfaces.C.C_float;
      width       : Interfaces.C.C_float;
      height      : Interfaces.C.C_float)
     return Pointer_To_IHTMLDOMChildrenCollection
   is
       RetVal : aliased Pointer_To_IHTMLDOMChildrenCollection;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.elementsFromRect
         (Pointer (This),
          left,
          top,
          width,
          height,
          RetVal'Unchecked_Access));

      return RetVal;
   end elementsFromRect;

   procedure Put_onmsmanipulationstatechanged
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onmsmanipulationstatechanged
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onmsmanipulationstatechanged;

   function Get_onmsmanipulationstatechanged
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onmsmanipulationstatechanged
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onmsmanipulationstatechanged;

   procedure Put_msCapsLockWarningOff
     (This : IHTMLDocument8_Type;
      p    : GNATCOM.Types.VARIANT_BOOL)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_msCapsLockWarningOff
         (Pointer (This),
          p));

   end Put_msCapsLockWarningOff;

   function Get_msCapsLockWarningOff
     (This : IHTMLDocument8_Type)
     return GNATCOM.Types.VARIANT_BOOL
   is
       RetVal : aliased GNATCOM.Types.VARIANT_BOOL;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_msCapsLockWarningOff
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_msCapsLockWarningOff;

end MSHTML.IHTMLDocument8_Interface;

