package body MSHTML.IPrintManagerTemplatePrinter_Object is

   procedure startPrint
     (This : IPrintManagerTemplatePrinter_Type)
   is
   begin
      Invoke (This, IPrintManagerTemplatePrinter_startPrint);
   end startPrint;

   procedure drawPreviewPage
     (This      : IPrintManagerTemplatePrinter_Type;
      pElemDisp : GNATCOM.Types.VARIANT;
      nPage     : GNATCOM.Types.VARIANT;
      Free      : Boolean := True)
   is
   begin
      Invoke
        (This,
         IPrintManagerTemplatePrinter_drawPreviewPage,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => nPage,
          2 => pElemDisp),
         Free);
   end drawPreviewPage;

   procedure setPageCount
     (This  : IPrintManagerTemplatePrinter_Type;
      nPage : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
   is
   begin
      Invoke
        (This,
         IPrintManagerTemplatePrinter_setPageCount,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => nPage),
         Free);
   end setPageCount;

   procedure invalidatePreview
     (This : IPrintManagerTemplatePrinter_Type)
   is
   begin
      Invoke (This, IPrintManagerTemplatePrinter_invalidatePreview);
   end invalidatePreview;

   function getPrintTaskOptionValue
     (This    : IPrintManagerTemplatePrinter_Type;
      bstrKey : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IPrintManagerTemplatePrinter_getPrintTaskOptionValue,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrKey),
         Free);
   end getPrintTaskOptionValue;

   procedure endPrint
     (This : IPrintManagerTemplatePrinter_Type)
   is
   begin
      Invoke (This, IPrintManagerTemplatePrinter_endPrint);
   end endPrint;

end MSHTML.IPrintManagerTemplatePrinter_Object;

