private void btnCredits_Click(object sender, RoutedEventArgs e) { StackPanel panelCredits = new StackPanel(); Image imgCredits = new Image(); imgCredits.Source = new BitmapImage(new Uri(AppSettings.getDataPath() + "\\graphics\\credits.png", UriKind.RelativeOrAbsolute)); imgCredits.Height = GraphicsHelpers.GetContentHeight() - 50; RenderOptions.SetBitmapScalingMode(imgCredits, BitmapScalingMode.HighQuality); panelCredits.Children.Add(imgCredits); Button btnOk = new Button(); btnOk.Uid = "100"; btnOk.SetResourceReference(Button.StyleProperty, "RoundedButton"); btnOk.Height = Double.NaN; btnOk.Width = 100; btnOk.Content = Translator.GetInstance().GetString("General", btnOk.Uid); btnOk.SetResourceReference(Button.BackgroundProperty, "ButtonBrush"); btnOk.HorizontalAlignment = System.Windows.HorizontalAlignment.Center; btnOk.Margin = new Thickness(0, 10, 0, 0); btnOk.Click += btnOk_Click; panelCredits.Children.Add(btnOk); base.setContent(panelCredits); }
//creates the panel for restrictions private StackPanel createRestrictionsPanel() { StackPanel panelRestrictions = new StackPanel(); panelRestrictions.Margin = new Thickness(0, 10, 0, 0); TextBlock txtHeader = new TextBlock(); txtHeader.Uid = "1002"; txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PageRoutes", txtHeader.Uid); panelRestrictions.Children.Add(txtHeader); ListBox lbRestrictions = new ListBox(); lbRestrictions.MaxHeight = GraphicsHelpers.GetContentHeight() / 5; lbRestrictions.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbRestrictions.ItemTemplate = this.Resources["RestrictionItem"] as DataTemplate; lbRestrictions.ItemsSource = FlightRestrictions.GetRestrictions().FindAll(r => r.StartDate <GameObject.GetInstance().GameTime&& r.EndDate> GameObject.GetInstance().GameTime); panelRestrictions.Children.Add(lbRestrictions); return(panelRestrictions); }
//creates the training aircrafts panel private StackPanel createTrainingAircraftsPanel() { StackPanel panelAircrafts = new StackPanel(); panelAircrafts.Margin = new Thickness(0, 5, 0, 0); TextBlock txtHeader = new TextBlock(); txtHeader.Uid = "1009"; txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PanelFlightSchool", txtHeader.Uid); panelAircrafts.Children.Add(txtHeader); lbTrainingAircrafts = new ListBox(); lbTrainingAircrafts.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbTrainingAircrafts.ItemTemplate = this.Resources["TrainingAircraftItem"] as DataTemplate; lbTrainingAircrafts.MaxHeight = (GraphicsHelpers.GetContentHeight() - 100) / 6; panelAircrafts.Children.Add(lbTrainingAircrafts); return(panelAircrafts); }
private void btnPlay_Click(object sender, RoutedEventArgs e) { Size s = PageNavigator.MainWindow.RenderSize; GraphicsHelpers.SetContentHeight(s.Height / 2); GraphicsHelpers.SetContentWidth(s.Width / 2); ScenarioHelpers.SetupScenario(this.Scenario); }
public PageAirlineFacilityMaintenance(AirlineFacility facility) { this.AirlinersToMaintain = new List <FleetAirliner>(); this.AirlineFacility = facility; this.Classes = new List <AirlinerClass>(); InitializeComponent(); StackPanel facilityPanel = new StackPanel(); facilityPanel.Margin = new Thickness(10, 0, 10, 0); TextBlock txtHeader = new TextBlock(); txtHeader.Uid = "1001"; txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PageAirlineFacilityMaintenance", txtHeader.Uid); facilityPanel.Children.Add(txtHeader); ContentControl ccHeader = new ContentControl(); ccHeader.ContentTemplate = this.Resources["FleetHeader"] as DataTemplate; ccHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; facilityPanel.Children.Add(ccHeader); ListBox lbAirliners = new ListBox(); lbAirliners.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbAirliners.ItemTemplate = this.Resources["AirlinerItem"] as DataTemplate; lbAirliners.MaxHeight = GraphicsHelpers.GetContentHeight() / 2; foreach (FleetAirliner airliner in GameObject.GetInstance().HumanAirline.DeliveredFleet) { lbAirliners.Items.Add(airliner); } facilityPanel.Children.Add(lbAirliners); facilityPanel.Children.Add(createClassesPanel()); facilityPanel.Children.Add(createButtonsPanel()); StandardContentPanel panelContent = new StandardContentPanel(); panelContent.setContentPage(facilityPanel, StandardContentPanel.ContentLocation.Left); base.setContent(panelContent); base.setHeaderContent(this.AirlineFacility.Name); showPage(this); }
//shows an airport private void showAirport(Airport airport, Panel panelMap, int zoom, Point margin) { Point pos = GraphicsHelpers.WorldToTilePos(airport.Profile.Coordinates, zoom); Point p = new Point(pos.X * ImageSize - margin.X * ImageSize, pos.Y * ImageSize - margin.Y * ImageSize); if (p.X < panelMap.Width) { panelMap.Children.Add(createPin(p, airport)); } }
//creates the panel for arrivals private ScrollViewer createArrivalsPanel() { ScrollViewer svArrivals = new ScrollViewer(); svArrivals.Margin = new Thickness(0, 10, 0, 0); svArrivals.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; svArrivals.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; svArrivals.MaxHeight = GraphicsHelpers.GetContentHeight() / 3; StackPanel panelArrivals = new StackPanel(); panelArrivals.Margin = new Thickness(0, 10, 0, 0); Grid grdType = UICreator.CreateGrid(2); grdType.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; panelArrivals.Children.Add(grdType); Image imgLogo = new Image(); imgLogo.Source = new BitmapImage(new Uri(@"/Data/images/Arrivals.png", UriKind.RelativeOrAbsolute)); imgLogo.Height = 20; RenderOptions.SetBitmapScalingMode(imgLogo, BitmapScalingMode.HighQuality); Grid.SetColumn(imgLogo, 0); grdType.Children.Add(imgLogo); TextBlock txtType = UICreator.CreateTextBlock(Translator.GetInstance().GetString("PageAirport", "1002")); txtType.FontStyle = FontStyles.Oblique; txtType.FontSize = 16; Grid.SetColumn(txtType, 1); grdType.Children.Add(txtType); ContentControl txtHeader = new ContentControl(); txtHeader.Uid = "1003"; txtHeader.ContentTemplate = this.Resources["FlightHeader"] as DataTemplate; txtHeader.Content = Translator.GetInstance().GetString("PageAirport", txtHeader.Uid); txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; panelArrivals.Children.Add(txtHeader); lbArrivals = new ListBox(); lbArrivals.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbArrivals.ItemTemplate = this.Resources["FlightItem"] as DataTemplate; panelArrivals.Children.Add(lbArrivals); svArrivals.Content = panelArrivals; return(svArrivals); }
private void DataToControls(ALotOrALittle data) { switch (data.Category) { case ALotOrAlittleElements.EducationalValue: lbSectionTitle.Text = "Educational Value"; pbCategory.Image = Properties.Resources.educational_value; break; case ALotOrAlittleElements.PositiveMessages: lbSectionTitle.Text = "Positive Messages"; pbCategory.Image = Properties.Resources.positive_messages; break; case ALotOrAlittleElements.PositiveRoleModelsAndRepresentations: lbSectionTitle.Text = "Positive Role Models && Representations"; pbCategory.Image = Properties.Resources.positive_role_models; break; case ALotOrAlittleElements.ViolenceAndScariness: lbSectionTitle.Text = "Violence && Scariness"; pbCategory.Image = Properties.Resources.violence; break; case ALotOrAlittleElements.SexyStuff: lbSectionTitle.Text = "Sexy Stuff"; pbCategory.Image = Properties.Resources.sexy_stuff; break; case ALotOrAlittleElements.Language: lbSectionTitle.Text = "Language"; pbCategory.Image = Properties.Resources.language; break; case ALotOrAlittleElements.Consumerism: lbSectionTitle.Text = "Consumerism"; pbCategory.Image = Properties.Resources.consumerism; break; case ALotOrAlittleElements.DrinkingDrugsAndSmoking: lbSectionTitle.Text = "Drinking, Drugs && Smoking"; pbCategory.Image = Properties.Resources.drinking_druge_smoking; break; } if (data.Rating > 0) { pbRating.Visible = true; GraphicsHelpers.DrawRating(data.Rating, pbRating, new Font("Microsoft Sans Serif", 20, FontStyle.Regular), "●"); } lbExplanation.Text = data.Description; }
//creates the panel for leased airliner private ScrollViewer createLeasedAirlinerPanel() { ScrollViewer scroller = new ScrollViewer(); scroller.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scroller.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; scroller.MaxHeight = GraphicsHelpers.GetContentHeight() / 5; panelLeasedAirliner = new StackPanel(); panelLeasedAirliner.Margin = new Thickness(0, 10, 0, 0); TextBlock txtHeader = new TextBlock(); txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush"); txtHeader.TextAlignment = TextAlignment.Left; txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PageFleetAirliner", "1029"); panelLeasedAirliner.Children.Add(txtHeader); ListBox lbQuickInfo = new ListBox(); lbQuickInfo.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbQuickInfo.SetResourceReference(ListBox.ItemTemplateProperty, "QuickInfoItem"); lbQuickInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PageFleetAirliner", "1025"), UICreator.CreateTextBlock(this.Airliner.PurchasedDate.ToShortDateString()))); // lbQuickInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PageFleetAirliner", "1026"), UICreator.CreateTextBlock(string.Format("{0:C}", this.Airliner.Airliner.getPrice())))); lbQuickInfo.Items.Add(new QuickInfoValue(Translator.GetInstance().GetString("PageFleetAirliner", "1026"), UICreator.CreateTextBlock(new ValueCurrencyConverter().Convert(this.Airliner.Airliner.getPrice()).ToString()))); panelLeasedAirliner.Children.Add(lbQuickInfo); Button btnBuy = new Button(); btnBuy.Uid = "200"; btnBuy.SetResourceReference(Button.StyleProperty, "RoundedButton"); btnBuy.Height = Double.NaN; btnBuy.Width = Double.NaN; btnBuy.Margin = new Thickness(0, 5, 0, 0); btnBuy.Content = Translator.GetInstance().GetString("PageFleetAirliner", btnBuy.Uid); btnBuy.SetResourceReference(Button.BackgroundProperty, "ButtonBrush"); btnBuy.HorizontalAlignment = System.Windows.HorizontalAlignment.Left; btnBuy.Click += new System.Windows.RoutedEventHandler(btnBuy_Click); panelLeasedAirliner.Children.Add(btnBuy); scroller.Content = panelLeasedAirliner; return(scroller); }
public PanelAirliner(PageAirliners parent) { this.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; this.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; this.Height = GraphicsHelpers.GetContentHeight() - 100; panelAirliner = new StackPanel(); panelAirliner.Orientation = Orientation.Vertical; this.Content = panelAirliner; this.ParentPage = parent; this.Margin = new Thickness(0, 0, 50, 0); }
//creates the panel for the routes private StackPanel createRoutesPanel() { StackPanel routesPanel = new StackPanel(); lbRoutes = new ListBox(); lbRoutes.MaxHeight = GraphicsHelpers.GetContentHeight() / 2; lbRoutes.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbRoutes.ItemTemplate = this.Resources["RouteItem"] as DataTemplate; lbRoutes.ItemsSource = GameObject.GetInstance().HumanAirline.Routes; routesPanel.Children.Add(lbRoutes); return(routesPanel); }
//creates the panel for the passengers private StackPanel createPassengersPanel() { StackPanel panelPassengers = new StackPanel(); panelPassengers.Margin = new Thickness(0, 10, 0, 0); TextBlock txtHeader = new TextBlock(); txtHeader.Uid = "1020"; txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush"); txtHeader.TextAlignment = TextAlignment.Left; txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PageAirport", txtHeader.Uid); panelPassengers.Children.Add(txtHeader); WrapPanel panelButtons = new WrapPanel(); ucSelectButton sbDomestic = new ucSelectButton(); sbDomestic.Uid = "1025"; sbDomestic.Content = Translator.GetInstance().GetString("PageAirport", sbDomestic.Uid); sbDomestic.IsSelected = true; sbDomestic.Click += sbDomestic_Click; panelButtons.Children.Add(sbDomestic); ucSelectButton sbInternational = new ucSelectButton(); sbInternational.Uid = "1026"; sbInternational.Content = Translator.GetInstance().GetString("PageAirport", sbInternational.Uid); sbInternational.Click += sbInternational_Click; panelButtons.Children.Add(sbInternational); panelPassengers.Children.Add(panelButtons); lbPassengers = new ListBox(); lbPassengers.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbPassengers.ItemTemplate = this.Resources["DemandItem"] as DataTemplate; lbPassengers.MaxHeight = (GraphicsHelpers.GetContentHeight() - 100) / 3; panelPassengers.Children.Add(lbPassengers); domesticDemand = true; showDemand(); return(panelPassengers); }
public PageAirlinesExtendedStatistics(ViewType view) { this.View = view; InitializeComponent(); ScrollViewer scroller = new ScrollViewer(); scroller.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; scroller.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; scroller.MaxHeight = GraphicsHelpers.GetContentHeight() - 50; scroller.Margin = new Thickness(0, 10, 50, 0); StackPanel panelStatistics = new StackPanel(); panelStatistics.Orientation = Orientation.Vertical; TextBlock txtHeader = new TextBlock(); txtHeader.Margin = new Thickness(0, 0, 0, 0); txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = string.Format(Translator.GetInstance().GetString("PanelAirlinesExtendedStatistics", ((int)this.View).ToString())); panelStatistics.Children.Add(txtHeader); panelStats = new StackPanel(); panelStatistics.Children.Add(panelStats); GameTimer.GetInstance().OnTimeChanged += new GameTimer.TimeChanged(PageAirlinesStatistics_OnTimeChanged); this.Unloaded += new RoutedEventHandler(PageAirlinesExtendedStatistics_Unloaded); scroller.Content = panelStatistics; this.Content = scroller; showStats(); }
public PageAirportStatistics(Airport airport) { InitializeComponent(); this.Airport = airport; ScrollViewer svStatistics = new ScrollViewer(); svStatistics.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; svStatistics.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; svStatistics.MaxHeight = GraphicsHelpers.GetContentHeight() - 50; StackPanel panelStatistics = new StackPanel(); panelStatistics.Margin = new Thickness(0, 10, 50, 0); TextBlock txtHeader = new TextBlock(); txtHeader.Uid = "1001"; txtHeader.Margin = new Thickness(0, 0, 0, 0); txtHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; txtHeader.SetResourceReference(TextBlock.BackgroundProperty, "HeaderBackgroundBrush2"); txtHeader.FontWeight = FontWeights.Bold; txtHeader.Text = Translator.GetInstance().GetString("PageAirportStatistics", txtHeader.Uid); panelStatistics.Children.Add(txtHeader); panelStats = new StackPanel(); panelStatistics.Children.Add(panelStats); //GameTimer.GetInstance().OnTimeChanged+=new GameTimer.TimeChanged(PageAirportStatistics_OnTimeChanged); //this.Unloaded += new RoutedEventHandler(PageAirportStatistics_Unloaded); svStatistics.Content = panelStatistics; this.Content = svStatistics; showStats(); }
protected override void OnResize(EventArgs e) { base.OnResize(e); // NOTE: This Bitmap and Region work is done to workaround // the performance issues causes by using BackColor = Color.Transparent, // which would allow the exact functionality we want, but which is very // slow when the window is big or maximized. int width = Width, height = Height; if (width > 0 && height > 0) { // Update the boundaries of the control so we only draw within our own area int arcSize = (int)(width / 14.5); if (Region != null) { Region.Dispose(); Region = null; } using (GraphicsPath path = GraphicsHelpers.CreateRoundedRectangle(width, height, arcSize)) { Region = new Region(path); } // Update the background underlying image to be rendered under // the sprites if (_underImage != null) { _underImage.Dispose(); } _underImage = new Bitmap(width, height, PixelFormat.Format32bppPArgb); using (Graphics g = Graphics.FromImage(_underImage)) { _grid.DrawToGraphics(g, _grid.ClientRectangle); using (SolidBrush b = new SolidBrush(Color.FromArgb(128, Color.SlateGray))) { g.FillRectangle(b, ClientRectangle); } } } }
//creates the panel for flights private StackPanel createFlightsPanel() { StackPanel panelFlights = new StackPanel(); panelFlights.Margin = new Thickness(0, 20, 0, 0); WrapPanel panelButtons = new WrapPanel(); ucSelectButton sbArrivals = new ucSelectButton(); sbArrivals.Uid = "1029"; sbArrivals.Content = Translator.GetInstance().GetString("PageAirport", sbArrivals.Uid); sbArrivals.IsSelected = true; sbArrivals.Click += sbArrivals_Click; panelButtons.Children.Add(sbArrivals); ucSelectButton sbDepartures = new ucSelectButton(); sbDepartures.Uid = "1030"; sbDepartures.Content = Translator.GetInstance().GetString("PageAirport", sbDepartures.Uid); sbDepartures.Click += sbDepartures_Click; panelButtons.Children.Add(sbDepartures); panelFlights.Children.Add(panelButtons); ContentControl ccHeader = new ContentControl(); ccHeader.ContentTemplate = this.Resources["FlightHeader"] as DataTemplate; panelFlights.Children.Add(ccHeader); lbFlights = new ListBox(); lbFlights.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbFlights.ItemTemplate = this.Resources["FlightItem"] as DataTemplate; lbFlights.MaxHeight = (GraphicsHelpers.GetContentHeight() - 100) / 2; panelFlights.Children.Add(lbFlights); showFlights(true); return(panelFlights); }
//creates the fleet panel private StackPanel createFleetPanel() { StackPanel panelFleet = new StackPanel(); panelFleet.Margin = new Thickness(0, 10, 0, 0); ContentControl txtFleetHeader = new ContentControl(); txtFleetHeader.ContentTemplate = this.Resources["FleetHeader"] as DataTemplate; txtFleetHeader.HorizontalAlignment = System.Windows.HorizontalAlignment.Stretch; panelFleet.Children.Add(txtFleetHeader); lbFleet = new ListBox(); lbFleet.MaxHeight = GraphicsHelpers.GetContentHeight() / 5; lbFleet.ItemContainerStyleSelector = new ListBoxItemStyleSelector(); lbFleet.ItemTemplate = this.Resources["FleetItem"] as DataTemplate; panelFleet.Children.Add(lbFleet); return(panelFleet); }
private void btnCreateGame_Click(object sender, RoutedEventArgs e) { this.StartData.Airline = (Airline)cbAirline.SelectedItem; this.StartData.Airport = (Airport)cbAirport.SelectedItem; this.StartData.CEO = (string)txtCEO.Text; this.StartData.HomeCountry = (Country)cbCountry.SelectedItem; this.StartData.TimeZone = (GameTimeZone)cbTimeZone.SelectedItem; this.StartData.LocalCurrency = cbLocalCurrency.IsChecked.Value && this.StartData.HomeCountry.HasLocalCurrency; Size s = PageNavigator.MainWindow.RenderSize; GraphicsHelpers.SetContentHeight(s.Height / 2); GraphicsHelpers.SetContentWidth(s.Width / 2); if (!this.StartData.RandomOpponents) { PageNavigator.NavigateTo(new PageSelectOpponents(this.StartData)); } else { SplashControl scCreating = UIHelpers.FindChild <SplashControl>(this, "scCreating"); scCreating.Visibility = System.Windows.Visibility.Visible; BackgroundWorker bgWorker = new BackgroundWorker(); bgWorker.DoWork += (y, x) => { GameObjectHelpers.CreateGame(this.StartData); }; bgWorker.RunWorkerCompleted += (y, x) => { scCreating.Visibility = System.Windows.Visibility.Collapsed; PageNavigator.NavigateTo(new PageAirline(GameObject.GetInstance().HumanAirline)); PageNavigator.ClearNavigator(); }; bgWorker.RunWorkerAsync(); } }
public PageAirportFacilities(Airport airport) { InitializeComponent(); this.Language = XmlLanguage.GetLanguage(new CultureInfo(AppSettings.GetInstance().getLanguage().CultureInfo, true).IetfLanguageTag); this.Airport = airport; ScrollViewer svFacilities = new ScrollViewer(); svFacilities.Margin = new Thickness(0, 10, 50, 0); svFacilities.MaxHeight = GraphicsHelpers.GetContentHeight() - 50; svFacilities.HorizontalScrollBarVisibility = ScrollBarVisibility.Auto; svFacilities.VerticalScrollBarVisibility = ScrollBarVisibility.Auto; panelFacilities = new StackPanel(); svFacilities.Content = panelFacilities; showFacilitiesInformation(); this.Content = svFacilities; }
//shows a route private void showRoute(Route route, Panel panelMap, int zoom, Point margin, Boolean isStopoverRoute = false, Airline airline = null) { if (route.HasStopovers) { foreach (Route leg in route.Stopovers.SelectMany(s => s.Legs)) { showRoute(leg, panelMap, zoom, margin, true, route.Airline); } } else { Point pos = GraphicsHelpers.WorldToTilePos(route.Destination1.Profile.Coordinates, zoom); Point p = new Point(pos.X * ImageSize - margin.X * ImageSize, pos.Y * ImageSize - margin.Y * ImageSize); if (p.X < panelMap.Width) { panelMap.Children.Add(createPin(p, route.Destination1)); } pos = GraphicsHelpers.WorldToTilePos(route.Destination2.Profile.Coordinates, zoom); p = new Point(pos.X * ImageSize - margin.X * ImageSize, pos.Y * ImageSize - margin.Y * ImageSize); if (p.X < panelMap.Width) { panelMap.Children.Add(createPin(p, route.Destination2)); } if (airline == null) { airline = route.Airline; } createRouteLine(route.Destination1, route.Destination2, panelMap, zoom, margin, airline, isStopoverRoute); } }
/// <summary>Raises the Paint event.</summary> /// <param name="pe">A PaintEventArgs that contains the event data.</param> protected override void OnPaint(PaintEventArgs pe) { // Do base painting base.OnPaint(pe); // Draw the base underlying image if (_underImage != null) { pe.Graphics.DrawImage(_underImage, 0, 0); } // Render all of the sprites if (_sprites != null && _sprites.Count > 0) { for (int i = _sprites.Count - 1; i >= 0; --i) { ImageSprite s = _sprites[i]; s.Paint(pe.Graphics); } } // Show the congratulatory text string text = ResourceHelper.PuzzleSolvedCongratulations; if (_sf != null && text != null && text.Length > 0) { float emSize = GraphicsHelpers.GetMaximumEMSize(text, pe.Graphics, Font.FontFamily, Font.Style, ClientRectangle.Width, ClientRectangle.Height); using (Font f = new Font(Font.FontFamily, emSize)) { pe.Graphics.DrawString(text, f, Brushes.Black, new RectangleF(2, 2, ClientRectangle.Width, ClientRectangle.Height), _sf); pe.Graphics.DrawString(text, f, Brushes.Gray, new RectangleF(-1, -1, ClientRectangle.Width, ClientRectangle.Height), _sf); pe.Graphics.DrawString(text, f, Brushes.Yellow, new RectangleF(0, 0, ClientRectangle.Width, ClientRectangle.Height), _sf); } } }