with GNATCOM.Dispinterface;

package MSHTML.IHTMLBodyElement_Interface is

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

   procedure Initialize (This : in out IHTMLBodyElement_Type);

   function Pointer (This : IHTMLBodyElement_Type)
     return Pointer_To_IHTMLBodyElement;

   procedure Attach (This    : in out IHTMLBodyElement_Type;
                     Pointer : in     Pointer_To_IHTMLBodyElement);

   procedure Put_background
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_background
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_bgProperties
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_bgProperties
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_leftMargin
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_leftMargin
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_topMargin
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_topMargin
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_rightMargin
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_rightMargin
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_bottomMargin
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_bottomMargin
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_noWrap
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_noWrap
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_bgColor
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_bgColor
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_text
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_text
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_link
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_link
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_vLink
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_vLink
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_aLink
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_aLink
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onload
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onload
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onunload
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onunload
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_scroll
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_scroll
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_onselect
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onselect
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onbeforeunload
     (This : IHTMLBodyElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onbeforeunload
     (This : IHTMLBodyElement_Type)
     return GNATCOM.Types.VARIANT;

   function createTextRange
     (This   : IHTMLBodyElement_Type)
     return Pointer_To_IHTMLTxtRange;

end MSHTML.IHTMLBodyElement_Interface;

