with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLStyle3_Interface is

   procedure Initialize (This : in out IHTMLStyle3_Type) is
   begin
      Set_IID (This, IID_IHTMLStyle3);
   end Initialize;

   function Pointer (This : IHTMLStyle3_Type)
     return Pointer_To_IHTMLStyle3
   is
   begin
      return To_Pointer_To_IHTMLStyle3 (Address (This));
   end Pointer;

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

   procedure Put_layoutFlow
     (This : IHTMLStyle3_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_layoutFlow
         (Pointer (This),
          p));

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

   end Put_layoutFlow;

   function Get_layoutFlow
     (This : IHTMLStyle3_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_layoutFlow
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_layoutFlow;

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

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

   end Put_zoom;

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

      return RetVal;
   end Get_zoom;

   procedure Put_wordWrap
     (This : IHTMLStyle3_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_wordWrap
         (Pointer (This),
          p));

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

   end Put_wordWrap;

   function Get_wordWrap
     (This : IHTMLStyle3_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_wordWrap
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_wordWrap;

   procedure Put_textUnderlinePosition
     (This : IHTMLStyle3_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_textUnderlinePosition
         (Pointer (This),
          p));

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

   end Put_textUnderlinePosition;

   function Get_textUnderlinePosition
     (This : IHTMLStyle3_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_textUnderlinePosition
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_textUnderlinePosition;

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

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

   end Put_scrollbarBaseColor;

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

      return RetVal;
   end Get_scrollbarBaseColor;

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

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

   end Put_scrollbarFaceColor;

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

      return RetVal;
   end Get_scrollbarFaceColor;

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

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

   end Put_scrollbar3dLightColor;

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

      return RetVal;
   end Get_scrollbar3dLightColor;

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

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

   end Put_scrollbarShadowColor;

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

      return RetVal;
   end Get_scrollbarShadowColor;

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

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

   end Put_scrollbarHighlightColor;

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

      return RetVal;
   end Get_scrollbarHighlightColor;

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

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

   end Put_scrollbarDarkShadowColor;

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

      return RetVal;
   end Get_scrollbarDarkShadowColor;

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

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

   end Put_scrollbarArrowColor;

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

      return RetVal;
   end Get_scrollbarArrowColor;

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

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

   end Put_scrollbarTrackColor;

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

      return RetVal;
   end Get_scrollbarTrackColor;

   procedure Put_writingMode
     (This : IHTMLStyle3_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_writingMode
         (Pointer (This),
          p));

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

   end Put_writingMode;

   function Get_writingMode
     (This : IHTMLStyle3_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_writingMode
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_writingMode;

   procedure Put_textAlignLast
     (This : IHTMLStyle3_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_textAlignLast
         (Pointer (This),
          p));

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

   end Put_textAlignLast;

   function Get_textAlignLast
     (This : IHTMLStyle3_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_textAlignLast
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_textAlignLast;

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

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

   end Put_textKashidaSpace;

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

      return RetVal;
   end Get_textKashidaSpace;

end MSHTML.IHTMLStyle3_Interface;

