with GNATCOM.Dispinterface;

package MSHTML.IHTMLRuleStyle_Interface is

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

   procedure Initialize (This : in out IHTMLRuleStyle_Type);

   function Pointer (This : IHTMLRuleStyle_Type)
     return Pointer_To_IHTMLRuleStyle;

   procedure Attach (This    : in out IHTMLRuleStyle_Type;
                     Pointer : in     Pointer_To_IHTMLRuleStyle);

   procedure Put_fontFamily
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_fontFamily
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_fontStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_fontStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_fontVariant
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_fontVariant
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_fontWeight
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_fontWeight
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_fontSize
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_fontSize
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_font
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_font
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_color
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_color
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

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

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

   procedure Put_backgroundColor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_backgroundColor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_backgroundImage
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_backgroundImage
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_backgroundRepeat
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_backgroundRepeat
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_backgroundAttachment
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_backgroundAttachment
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_backgroundPosition
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_backgroundPosition
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_backgroundPositionX
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_backgroundPositionX
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_backgroundPositionY
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_backgroundPositionY
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_wordSpacing
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_wordSpacing
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_letterSpacing
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_letterSpacing
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_textDecoration
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_textDecoration
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_textDecorationNone
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_textDecorationNone
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_textDecorationUnderline
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_textDecorationUnderline
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_textDecorationOverline
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_textDecorationOverline
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_textDecorationLineThrough
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_textDecorationLineThrough
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_textDecorationBlink
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_textDecorationBlink
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_verticalAlign
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_verticalAlign
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_textTransform
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_textTransform
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_textAlign
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_textAlign
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_textIndent
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_textIndent
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_lineHeight
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_lineHeight
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_marginTop
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_marginTop
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_marginRight
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_marginRight
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_marginBottom
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_marginBottom
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_marginLeft
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_marginLeft
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_margin
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_margin
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_paddingTop
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_paddingTop
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_paddingRight
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_paddingRight
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_paddingBottom
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_paddingBottom
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_paddingLeft
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_paddingLeft
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_padding
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_padding
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_border
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_border
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderTop
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderTop
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderRight
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderRight
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderBottom
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderBottom
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderLeft
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderLeft
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderColor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderColor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderTopColor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderTopColor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderRightColor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderRightColor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderBottomColor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderBottomColor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderLeftColor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderLeftColor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderWidth
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderWidth
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderTopWidth
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderTopWidth
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderRightWidth
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderRightWidth
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderBottomWidth
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderBottomWidth
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderLeftWidth
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_borderLeftWidth
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_borderStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderTopStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderTopStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderRightStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderRightStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderBottomStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderBottomStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_borderLeftStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_borderLeftStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_width
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_width
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_height
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_height
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_styleFloat
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_styleFloat
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_clear
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_clear
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_display
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_display
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_visibility
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_visibility
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_listStyleType
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_listStyleType
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_listStylePosition
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_listStylePosition
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_listStyleImage
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_listStyleImage
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_listStyle
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_listStyle
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_whiteSpace
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_whiteSpace
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_top
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_top
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_left
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_left
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

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

   procedure Put_zIndex
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_zIndex
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_overflow
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_overflow
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_pageBreakBefore
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_pageBreakBefore
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_pageBreakAfter
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_pageBreakAfter
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_cssText
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_cssText
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_cursor
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_cursor
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_clip
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_clip
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_filter
     (This : IHTMLRuleStyle_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_filter
     (This : IHTMLRuleStyle_Type)
     return GNATCOM.Types.BSTR;

   procedure setAttribute
     (This             : IHTMLRuleStyle_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      AttributeValue   : GNATCOM.Types.VARIANT;
      lFlags           : Interfaces.C.long;
      Free             : Boolean := True);

   function getAttribute
     (This             : IHTMLRuleStyle_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      lFlags           : Interfaces.C.long;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeAttribute
     (This             : IHTMLRuleStyle_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      lFlags           : Interfaces.C.long;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

end MSHTML.IHTMLRuleStyle_Interface;

