with GNATCOM.Dispinterface;

package MSHTML.IHTMLStyle2_Interface is

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

   procedure Initialize (This : in out IHTMLStyle2_Type);

   function Pointer (This : IHTMLStyle2_Type)
     return Pointer_To_IHTMLStyle2;

   procedure Attach (This    : in out IHTMLStyle2_Type;
                     Pointer : in     Pointer_To_IHTMLStyle2);

   procedure Put_tableLayout
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_tableLayout
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderCollapse
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderCollapse
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_direction
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_direction
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_behavior
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_behavior
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure setExpression
     (This       : IHTMLStyle2_Type;
      propname   : GNATCOM.Types.BSTR;
      expression : GNATCOM.Types.BSTR;
      language   : GNATCOM.Types.BSTR;
      Free       : Boolean := True);

   function getExpression
     (This       : IHTMLStyle2_Type;
      propname   : GNATCOM.Types.BSTR;
      Free       : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeExpression
     (This      : IHTMLStyle2_Type;
      propname  : GNATCOM.Types.BSTR;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_position
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_position
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_unicodeBidi
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_unicodeBidi
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_bottom
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_bottom
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_right
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_right
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_pixelBottom
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.long);

   function Get_pixelBottom
     (This : IHTMLStyle2_Type)
     return Interfaces.C.long;

   procedure Put_pixelRight
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.long);

   function Get_pixelRight
     (This : IHTMLStyle2_Type)
     return Interfaces.C.long;

   procedure Put_posBottom
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.C_float);

   function Get_posBottom
     (This : IHTMLStyle2_Type)
     return Interfaces.C.C_float;

   procedure Put_posRight
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.C_float);

   function Get_posRight
     (This : IHTMLStyle2_Type)
     return Interfaces.C.C_float;

   procedure Put_imeMode
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_imeMode
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_rubyAlign
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_rubyAlign
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_rubyPosition
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_rubyPosition
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_rubyOverhang
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_rubyOverhang
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_layoutGridChar
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_layoutGridChar
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_layoutGridLine
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_layoutGridLine
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_layoutGridMode
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_layoutGridMode
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_layoutGridType
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_layoutGridType
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_layoutGrid
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_layoutGrid
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_wordBreak
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_wordBreak
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_lineBreak
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_lineBreak
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_textJustify
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_textJustify
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_textJustifyTrim
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_textJustifyTrim
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_textKashida
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_textKashida
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_textAutospace
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_textAutospace
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_overflowX
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_overflowX
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_overflowY
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_overflowY
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_accelerator
     (This : IHTMLStyle2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_accelerator
     (This : IHTMLStyle2_Type)
     return GNATCOM.Types.BSTR;

end MSHTML.IHTMLStyle2_Interface;

