with GNATCOM.IInterface;

package MSHTML.IViewObjectPresentNotifySite_Interface is

   type IViewObjectPresentNotifySite_Type is
     new GNATCOM.IInterface.Interface_Type with null record;

   procedure Initialize (This : in out IViewObjectPresentNotifySite_Type);

   function Pointer (This : IViewObjectPresentNotifySite_Type)
     return Pointer_To_IViewObjectPresentNotifySite;

   procedure Attach (This    : in out IViewObjectPresentNotifySite_Type;
                     Pointer : in     Pointer_To_IViewObjectPresentNotifySite);

   function CreateSurfacePresenter
     (This            : IViewObjectPresentNotifySite_Type;
      pDevice         : GNATCOM.Types.Pointer_To_IUnknown;
      width           : Interfaces.C.unsigned;
      height          : Interfaces.C.unsigned;
      backBufferCount : Interfaces.C.unsigned;
      format          : DXGI_FORMAT;
      mode            : uVIEW_OBJECT_ALPHA_MODE)
     return Pointer_To_ISurfacePresenter;

   function IsHardwareComposition
     (This                   : IViewObjectPresentNotifySite_Type)
     return Interfaces.C.long;

   procedure SetCompositionMode
     (This : IViewObjectPresentNotifySite_Type;
      mode : uVIEW_OBJECT_COMPOSITION_MODE);

   procedure RequestFrame
     (This : IViewObjectPresentNotifySite_Type);

end MSHTML.IViewObjectPresentNotifySite_Interface;

