package body MSHTML.IDOMMouseEvent_Object is

   function Get_screenX
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_screenX);
   end Get_screenX;

   function Get_screenY
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_screenY);
   end Get_screenY;

   function Get_clientX
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_clientX);
   end Get_clientX;

   function Get_clientY
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_clientY);
   end Get_clientY;

   function Get_ctrlKey
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_ctrlKey);
   end Get_ctrlKey;

   function Get_shiftKey
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_shiftKey);
   end Get_shiftKey;

   function Get_altKey
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_altKey);
   end Get_altKey;

   function Get_metaKey
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_metaKey);
   end Get_metaKey;

   function Get_button
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_button);
   end Get_button;

   function Get_relatedTarget
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_relatedTarget);
   end Get_relatedTarget;

   procedure initMouseEvent
     (This             : IDOMMouseEvent_Type;
      eventType        : GNATCOM.Types.VARIANT;
      canBubble        : GNATCOM.Types.VARIANT;
      cancelable       : GNATCOM.Types.VARIANT;
      viewArg          : GNATCOM.Types.VARIANT;
      detailArg        : GNATCOM.Types.VARIANT;
      screenXArg       : GNATCOM.Types.VARIANT;
      screenYArg       : GNATCOM.Types.VARIANT;
      clientXArg       : GNATCOM.Types.VARIANT;
      clientYArg       : GNATCOM.Types.VARIANT;
      ctrlKeyArg       : GNATCOM.Types.VARIANT;
      altKeyArg        : GNATCOM.Types.VARIANT;
      shiftKeyArg      : GNATCOM.Types.VARIANT;
      metaKeyArg       : GNATCOM.Types.VARIANT;
      buttonArg        : GNATCOM.Types.VARIANT;
      relatedTargetArg : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
   is
   begin
      Invoke
        (This,
         IDOMMouseEvent_initMouseEvent,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => relatedTargetArg,
          2 => buttonArg,
          3 => metaKeyArg,
          4 => shiftKeyArg,
          5 => altKeyArg,
          6 => ctrlKeyArg,
          7 => clientYArg,
          8 => clientXArg,
          9 => screenYArg,
          10 => screenXArg,
          11 => detailArg,
          12 => viewArg,
          13 => cancelable,
          14 => canBubble,
          15 => eventType),
         Free);
   end initMouseEvent;

   function getModifierState
     (This   : IDOMMouseEvent_Type;
      keyArg : GNATCOM.Types.VARIANT;
      Free   : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IDOMMouseEvent_getModifierState,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => keyArg),
         Free);
   end getModifierState;

   function Get_buttons
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_buttons);
   end Get_buttons;

   function Get_fromElement
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_fromElement);
   end Get_fromElement;

   function Get_toElement
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_toElement);
   end Get_toElement;

   function Get_x
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_x);
   end Get_x;

   function Get_y
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_y);
   end Get_y;

   function Get_offsetX
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_offsetX);
   end Get_offsetX;

   function Get_offsetY
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_offsetY);
   end Get_offsetY;

   function Get_pageX
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_pageX);
   end Get_pageX;

   function Get_pageY
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_pageY);
   end Get_pageY;

   function Get_layerX
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_layerX);
   end Get_layerX;

   function Get_layerY
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_layerY);
   end Get_layerY;

   function Get_which
     (This : IDOMMouseEvent_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, IDOMMouseEvent_Get_which);
   end Get_which;

end MSHTML.IDOMMouseEvent_Object;

