with GNATCOM.Errors;

package body MSHTML.IDisplayPointer_Interface is

   procedure Initialize (This : in out IDisplayPointer_Type) is
   begin
      Set_IID (This, IID_IDisplayPointer);
   end Initialize;

   function Pointer (This : IDisplayPointer_Type)
     return Pointer_To_IDisplayPointer
   is
   begin
      return To_Pointer_To_IDisplayPointer (Address (This));
   end Pointer;

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

   procedure moveToPoint
     (This              : IDisplayPointer_Type;
      ptPoint           : tagPOINT;
      eCoordSystem      : uCOORD_SYSTEM;
      pElementContext   : Pointer_To_IHTMLElement;
      dwHitTestOptions  : Interfaces.C.unsigned_long;
      pdwHitTestResults : GNATCOM.Types.Pointer_To_unsigned_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.moveToPoint
         (Pointer (This),
          ptPoint,
          eCoordSystem,
          pElementContext,
          dwHitTestOptions,
          pdwHitTestResults));

   end moveToPoint;

   procedure MoveUnit
     (This      : IDisplayPointer_Type;
      eMoveUnit : uDISPLAY_MOVEUNIT;
      lXPos     : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveUnit
         (Pointer (This),
          eMoveUnit,
          lXPos));

   end MoveUnit;

   procedure PositionMarkupPointer
     (This           : IDisplayPointer_Type;
      pMarkupPointer : Pointer_To_IMarkupPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.PositionMarkupPointer
         (Pointer (This),
          pMarkupPointer));

   end PositionMarkupPointer;

   procedure MoveToPointer
     (This         : IDisplayPointer_Type;
      pDispPointer : Pointer_To_IDisplayPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToPointer
         (Pointer (This),
          pDispPointer));

   end MoveToPointer;

   procedure SetPointerGravity
     (This     : IDisplayPointer_Type;
      eGravity : uPOINTER_GRAVITY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.SetPointerGravity
         (Pointer (This),
          eGravity));

   end SetPointerGravity;

   procedure GetPointerGravity
     (This      : IDisplayPointer_Type;
      peGravity : Pointer_To_uPOINTER_GRAVITY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetPointerGravity
         (Pointer (This),
          peGravity));

   end GetPointerGravity;

   procedure SetDisplayGravity
     (This     : IDisplayPointer_Type;
      eGravity : uDISPLAY_GRAVITY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.SetDisplayGravity
         (Pointer (This),
          eGravity));

   end SetDisplayGravity;

   procedure GetDisplayGravity
     (This      : IDisplayPointer_Type;
      peGravity : Pointer_To_uDISPLAY_GRAVITY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetDisplayGravity
         (Pointer (This),
          peGravity));

   end GetDisplayGravity;

   procedure IsPositioned
     (This         : IDisplayPointer_Type;
      pfPositioned : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsPositioned
         (Pointer (This),
          pfPositioned));

   end IsPositioned;

   procedure Unposition
     (This : IDisplayPointer_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Unposition
         (Pointer (This)));

   end Unposition;

   procedure IsEqualTo
     (This         : IDisplayPointer_Type;
      pDispPointer : Pointer_To_IDisplayPointer;
      pfIsEqual    : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsEqualTo
         (Pointer (This),
          pDispPointer,
          pfIsEqual));

   end IsEqualTo;

   procedure IsLeftOf
     (This         : IDisplayPointer_Type;
      pDispPointer : Pointer_To_IDisplayPointer;
      pfIsLeftOf   : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsLeftOf
         (Pointer (This),
          pDispPointer,
          pfIsLeftOf));

   end IsLeftOf;

   procedure IsRightOf
     (This         : IDisplayPointer_Type;
      pDispPointer : Pointer_To_IDisplayPointer;
      pfIsRightOf  : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsRightOf
         (Pointer (This),
          pDispPointer,
          pfIsRightOf));

   end IsRightOf;

   procedure IsAtBOL
     (This  : IDisplayPointer_Type;
      pfBOL : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsAtBOL
         (Pointer (This),
          pfBOL));

   end IsAtBOL;

   procedure MoveToMarkupPointer
     (This             : IDisplayPointer_Type;
      pPointer         : Pointer_To_IMarkupPointer;
      pDispLineContext : Pointer_To_IDisplayPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToMarkupPointer
         (Pointer (This),
          pPointer,
          pDispLineContext));

   end MoveToMarkupPointer;

   procedure scrollIntoView
     (This : IDisplayPointer_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.scrollIntoView
         (Pointer (This)));

   end scrollIntoView;

   procedure GetLineInfo
     (This       : IDisplayPointer_Type;
      ppLineInfo : Pointer_To_Pointer_To_ILineInfo)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetLineInfo
         (Pointer (This),
          ppLineInfo));

   end GetLineInfo;

   procedure GetFlowElement
     (This            : IDisplayPointer_Type;
      ppLayoutElement : Pointer_To_Pointer_To_IHTMLElement)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetFlowElement
         (Pointer (This),
          ppLayoutElement));

   end GetFlowElement;

   procedure QueryBreaks
     (This      : IDisplayPointer_Type;
      pdwBreaks : GNATCOM.Types.Pointer_To_unsigned_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.QueryBreaks
         (Pointer (This),
          pdwBreaks));

   end QueryBreaks;

end MSHTML.IDisplayPointer_Interface;

