* OleDbParameterCollectionTest.cs: Fix compile error in 1.1 profile.
[mono.git] / mcs / class / System.Drawing / System.Drawing.Printing / StandardPrintController.cs
index f78284ef1544c0feb5aa0263df0efae1b76bd41b..fe108a034648fc47f946dd1c1d55345ac817af4f 100644 (file)
@@ -4,6 +4,7 @@
 // Author:
 //   Dennis Hayes (dennish@Raytek.com)
 //   Herve Poussineau (hpoussineau@fr.st)
+//   Jordi Mas i Hernandez (jordimash@gmail.com)
 //
 // (C) 2002 Ximian, Inc
 //
@@ -36,58 +37,32 @@ using System;
 namespace System.Drawing.Printing
 {
        public class StandardPrintController : PrintController
-       {
-               private int page;
-               private Image image;
-               
+       {               
                public StandardPrintController()
                {
                }
-
-               [MonoTODO("StandardPrintController.OnEndPage")]
-               public override void OnEndPage(PrintDocument document, PrintPageEventArgs e)
+               
+               public override void OnEndPage (PrintDocument document, PrintPageEventArgs e)
                {
-                       //TODO: print current page
-                       // - image to print is this.image
-                       // - page settings are in e.PageSettings
-                       // - printer settings are in document.PrinterSettings
-                       // - don't forget to use document.OriginAtMargins (only if .NET 1.1)
-                       
-                       // actually, "print" == "save to a file"
-                       try
-                       {
-                               string fileName = document.DocumentName + " " + page.ToString("D4") + ".jpg";
-                               Console.WriteLine("StandardPrintController: Print page \"{0}\"", fileName);
-                               image.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
-                       }
-                       catch (Exception) {}
-                       
-                       if (e.Graphics != null)
-                               e.Graphics.Dispose();
+                       SysPrn.GlobalService.EndPage (e.GraphicsContext);
                }
-
-               [MonoTODO("StandardPrintController.OnStartPrint")]
-               public override void OnStartPrint(PrintDocument document, PrintEventArgs e){
-                       page = 0;
+               
+               public override void OnStartPrint (PrintDocument document, PrintEventArgs e)
+               {                       
+                       IntPtr dc = SysPrn.GlobalService.CreateGraphicsContext (document.PrinterSettings, document.DefaultPageSettings);
+                       e.GraphicsContext = new GraphicsPrinter (null, dc);
+                       SysPrn.GlobalService.StartDoc (e.GraphicsContext, document.DocumentName, string.Empty);                 
                }
-
-               [MonoTODO("StandardPrintController.OnEndPrint")]
-               public override void OnEndPrint(PrintDocument document, PrintEventArgs e){
-                       return;
+               
+               public override void OnEndPrint (PrintDocument document, PrintEventArgs e)
+               {                       
+                       SysPrn.GlobalService.EndDoc (e.GraphicsContext);
                }
-
-               [MonoTODO("StandardPrintController.OnStartPage")]
-               public override Graphics OnStartPage(PrintDocument document, PrintPageEventArgs e)
-               {
-                       //FIXME: I'm not sure of what I'm doing
-                       // I don't know what size to give to image
-                       // and why I have to clear it
-                       page++;
-                       // returns a new (empty) graphics
-                       image = new Bitmap(e.MarginBounds.Width, e.MarginBounds.Height);
-                       Graphics g = Graphics.FromImage(image);
-                       g.Clear(Color.White);
-                       return g;
+               
+               public override Graphics OnStartPage (PrintDocument document, PrintPageEventArgs e)
+               {                               
+                       SysPrn.GlobalService.StartPage (e.GraphicsContext);
+                       return e.Graphics;
                }
        }
 }