with GNATCOM.Errors;

package body MSHTML.IHTMLPaintSite_Interface is

   procedure Initialize (This : in out IHTMLPaintSite_Type) is
   begin
      Set_IID (This, IID_IHTMLPaintSite);
   end Initialize;

   function Pointer (This : IHTMLPaintSite_Type)
     return Pointer_To_IHTMLPaintSite
   is
   begin
      return To_Pointer_To_IHTMLPaintSite (Address (This));
   end Pointer;

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

   procedure InvalidatePainterInfo
     (This : IHTMLPaintSite_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.InvalidatePainterInfo
         (Pointer (This)));

   end InvalidatePainterInfo;

   procedure InvalidateRect
     (This       : IHTMLPaintSite_Type;
      prcInvalid : Pointer_To_tagRECT)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.InvalidateRect
         (Pointer (This),
          prcInvalid));

   end InvalidateRect;

   procedure InvalidateRegion
     (This       : IHTMLPaintSite_Type;
      rgnInvalid : wireHRGN)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.InvalidateRegion
         (Pointer (This),
          rgnInvalid));

   end InvalidateRegion;

   procedure GetDrawInfo
     (This      : IHTMLPaintSite_Type;
      lFlags    : Interfaces.C.long;
      pDrawInfo : Pointer_To_uHTML_PAINT_DRAW_INFO)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetDrawInfo
         (Pointer (This),
          lFlags,
          pDrawInfo));

   end GetDrawInfo;

   procedure TransformGlobalToLocal
     (This     : IHTMLPaintSite_Type;
      ptGlobal : tagPOINT;
      pptLocal : Pointer_To_tagPOINT)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.TransformGlobalToLocal
         (Pointer (This),
          ptGlobal,
          pptLocal));

   end TransformGlobalToLocal;

   procedure TransformLocalToGlobal
     (This      : IHTMLPaintSite_Type;
      ptLocal   : tagPOINT;
      pptGlobal : Pointer_To_tagPOINT)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.TransformLocalToGlobal
         (Pointer (This),
          ptLocal,
          pptGlobal));

   end TransformLocalToGlobal;

   procedure GetHitTestCookie
     (This     : IHTMLPaintSite_Type;
      plCookie : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetHitTestCookie
         (Pointer (This),
          plCookie));

   end GetHitTestCookie;

end MSHTML.IHTMLPaintSite_Interface;

