with GNATCOM.Errors;

package body MSHTML.IMarkupPointer2_Interface is

   procedure Initialize (This : in out IMarkupPointer2_Type) is
   begin
      Set_IID (This, IID_IMarkupPointer2);
   end Initialize;

   function Pointer (This : IMarkupPointer2_Type)
     return Pointer_To_IMarkupPointer2
   is
   begin
      return To_Pointer_To_IMarkupPointer2 (Address (This));
   end Pointer;

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

   procedure OwningDoc
     (This  : IMarkupPointer2_Type;
      ppDoc : Pointer_To_Pointer_To_IHTMLDocument2)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.OwningDoc
         (Pointer (This),
          ppDoc));

   end OwningDoc;

   procedure Gravity
     (This     : IMarkupPointer2_Type;
      pGravity : Pointer_To_uPOINTER_GRAVITY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Gravity
         (Pointer (This),
          pGravity));

   end Gravity;

   procedure SetGravity
     (This    : IMarkupPointer2_Type;
      Gravity : uPOINTER_GRAVITY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.SetGravity
         (Pointer (This),
          Gravity));

   end SetGravity;

   procedure Cling
     (This    : IMarkupPointer2_Type;
      pfCling : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Cling
         (Pointer (This),
          pfCling));

   end Cling;

   procedure SetCling
     (This   : IMarkupPointer2_Type;
      fCLing : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.SetCling
         (Pointer (This),
          fCLing));

   end SetCling;

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

   end Unposition;

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

   end IsPositioned;

   procedure GetContainer
     (This        : IMarkupPointer2_Type;
      ppContainer : Pointer_To_Pointer_To_IMarkupContainer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetContainer
         (Pointer (This),
          ppContainer));

   end GetContainer;

   procedure MoveAdjacentToElement
     (This     : IMarkupPointer2_Type;
      pElement : Pointer_To_IHTMLElement;
      eAdj     : uELEMENT_ADJACENCY)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveAdjacentToElement
         (Pointer (This),
          pElement,
          eAdj));

   end MoveAdjacentToElement;

   procedure MoveToPointer
     (This     : IMarkupPointer2_Type;
      pPointer : Pointer_To_IMarkupPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToPointer
         (Pointer (This),
          pPointer));

   end MoveToPointer;

   procedure MoveToContainer
     (This       : IMarkupPointer2_Type;
      pContainer : Pointer_To_IMarkupContainer;
      fAtStart   : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToContainer
         (Pointer (This),
          pContainer,
          fAtStart));

   end MoveToContainer;

   procedure left
     (This      : IMarkupPointer2_Type;
      fMove     : Interfaces.C.long;
      pContext  : Pointer_To_uMARKUP_CONTEXT_TYPE;
      ppElement : Pointer_To_Pointer_To_IHTMLElement;
      pcch      : GNATCOM.Types.Pointer_To_long;
      pchText   : GNATCOM.Types.Pointer_To_unsigned_short)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.left
         (Pointer (This),
          fMove,
          pContext,
          ppElement,
          pcch,
          pchText));

   end left;

   procedure right
     (This      : IMarkupPointer2_Type;
      fMove     : Interfaces.C.long;
      pContext  : Pointer_To_uMARKUP_CONTEXT_TYPE;
      ppElement : Pointer_To_Pointer_To_IHTMLElement;
      pcch      : GNATCOM.Types.Pointer_To_long;
      pchText   : GNATCOM.Types.Pointer_To_unsigned_short)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.right
         (Pointer (This),
          fMove,
          pContext,
          ppElement,
          pcch,
          pchText));

   end right;

   procedure CurrentScope
     (This          : IMarkupPointer2_Type;
      ppElemCurrent : Pointer_To_Pointer_To_IHTMLElement)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.CurrentScope
         (Pointer (This),
          ppElemCurrent));

   end CurrentScope;

   procedure IsLeftOf
     (This         : IMarkupPointer2_Type;
      pPointerThat : Pointer_To_IMarkupPointer;
      pfResult     : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsLeftOf
         (Pointer (This),
          pPointerThat,
          pfResult));

   end IsLeftOf;

   procedure IsLeftOfOrEqualTo
     (This         : IMarkupPointer2_Type;
      pPointerThat : Pointer_To_IMarkupPointer;
      pfResult     : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsLeftOfOrEqualTo
         (Pointer (This),
          pPointerThat,
          pfResult));

   end IsLeftOfOrEqualTo;

   procedure IsRightOf
     (This         : IMarkupPointer2_Type;
      pPointerThat : Pointer_To_IMarkupPointer;
      pfResult     : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsRightOf
         (Pointer (This),
          pPointerThat,
          pfResult));

   end IsRightOf;

   procedure IsRightOfOrEqualTo
     (This         : IMarkupPointer2_Type;
      pPointerThat : Pointer_To_IMarkupPointer;
      pfResult     : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsRightOfOrEqualTo
         (Pointer (This),
          pPointerThat,
          pfResult));

   end IsRightOfOrEqualTo;

   procedure IsEqualTo
     (This         : IMarkupPointer2_Type;
      pPointerThat : Pointer_To_IMarkupPointer;
      pfAreEqual   : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsEqualTo
         (Pointer (This),
          pPointerThat,
          pfAreEqual));

   end IsEqualTo;

   procedure MoveUnit
     (This     : IMarkupPointer2_Type;
      muAction : uMOVEUNIT_ACTION)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveUnit
         (Pointer (This),
          muAction));

   end MoveUnit;

   procedure findText
     (This        : IMarkupPointer2_Type;
      pchFindText : GNATCOM.Types.LPWSTR;
      dwFlags     : Interfaces.C.unsigned_long;
      pIEndMatch  : Pointer_To_IMarkupPointer;
      pIEndSearch : Pointer_To_IMarkupPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.findText
         (Pointer (This),
          pchFindText,
          dwFlags,
          pIEndMatch,
          pIEndSearch));

   end findText;

   procedure IsAtWordBreak
     (This      : IMarkupPointer2_Type;
      pfAtBreak : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsAtWordBreak
         (Pointer (This),
          pfAtBreak));

   end IsAtWordBreak;

   procedure GetMarkupPosition
     (This : IMarkupPointer2_Type;
      plMP : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.GetMarkupPosition
         (Pointer (This),
          plMP));

   end GetMarkupPosition;

   procedure MoveToMarkupPosition
     (This       : IMarkupPointer2_Type;
      pContainer : Pointer_To_IMarkupContainer;
      lMP        : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToMarkupPosition
         (Pointer (This),
          pContainer,
          lMP));

   end MoveToMarkupPosition;

   procedure MoveUnitBounded
     (This       : IMarkupPointer2_Type;
      muAction   : uMOVEUNIT_ACTION;
      pIBoundary : Pointer_To_IMarkupPointer)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveUnitBounded
         (Pointer (This),
          muAction,
          pIBoundary));

   end MoveUnitBounded;

   procedure IsInsideURL
     (This     : IMarkupPointer2_Type;
      pRight   : Pointer_To_IMarkupPointer;
      pfResult : GNATCOM.Types.Pointer_To_long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.IsInsideURL
         (Pointer (This),
          pRight,
          pfResult));

   end IsInsideURL;

   procedure MoveToContent
     (This      : IMarkupPointer2_Type;
      pIElement : Pointer_To_IHTMLElement;
      fAtStart  : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.MoveToContent
         (Pointer (This),
          pIElement,
          fAtStart));

   end MoveToContent;

end MSHTML.IMarkupPointer2_Interface;

