// mapDisplay is a MapDisplay that contains the correct map. All other features of the map display need to be customized. public CoursePrinting(EventDB eventDB, SymbolDB symbolDB, Controller controller, MapDisplay mapDisplay, CoursePrintSettings coursePrintSettings, CourseAppearance appearance) : base(QueryEvent.GetEventTitle(eventDB, " "), controller, coursePrintSettings.PageSettings, coursePrintSettings.PrintingColorModel) { this.eventDB = eventDB; this.symbolDB = symbolDB; this.controller = controller; this.mapDisplay = mapDisplay; this.coursePrintSettings = coursePrintSettings; this.appearance = appearance; // Set default features for printing. mapDisplay.MapIntensity = 1.0F; mapDisplay.AntiAlias = false; mapDisplay.Printing = true; mapDisplay.ColorModel = base.colorModel; }
private void printCoursesMenu_Click(object sender, EventArgs e) { if (!CheckForNonRenderableObjects(false, true)) return; // Initialize dialog // CONSIDER: shouldn't have GetEventDB here! Do something different. PrintCourses printCoursesDialog = new PrintCourses(controller.GetEventDB(), controller.AnyMultipart()); printCoursesDialog.controller = controller; printCoursesDialog.PrintSettings = coursePrintSettings; if (controller.MustRasterizePrinting) { // Force rasterization. coursePrintSettings.UseXpsPrinting = false; printCoursesDialog.PrintSettings = coursePrintSettings; printCoursesDialog.EnableRasterizeChoice = false; } printCoursesDialog.PrintSettings.Count = 1; // show the dialog, on success, print. if (printCoursesDialog.ShowDialog(this) == DialogResult.OK) { // Save the settings for the next invocation of the dialog. coursePrintSettings = printCoursesDialog.PrintSettings; controller.PrintCourses(coursePrintSettings, false); } // And the dialog is done. printCoursesDialog.Dispose(); }