private void NavigationButtonClickHandler(object sender, EventArgs e) { PanelButton panelButton = (PanelButton)sender; MapCore mapCore = base.GetMapCore(); if (mapCore != null) { switch (panelButton.Type) { case (PanelButtonType)35: break; case PanelButtonType.NavigationButton: mapCore.Scroll(ScrollDirection.North, this.ScrollStep); break; case PanelButtonType.NaviagateSouth: mapCore.Scroll(ScrollDirection.South, this.ScrollStep); break; case PanelButtonType.NaviagateEast: mapCore.Scroll(ScrollDirection.East, this.ScrollStep); break; case PanelButtonType.NaviagateWest: mapCore.Scroll(ScrollDirection.West, this.ScrollStep); break; } } }
private void RenderButton(MapGraphics g, PanelButton button) { float num = (float)(g.GetAbsoluteDimension(100f) - 1.0); SizeF absoluteSize = g.GetAbsoluteSize(new SizeF(100f, 100f)); absoluteSize.Width -= 1f; absoluteSize.Height -= 1f; SizeF sizeF = new SizeF((float)((absoluteSize.Width - num) / 2.0), (float)((absoluteSize.Height - num) / 2.0)); float num2 = (float)(num / 3.0); PointF pointF = PointF.Empty; switch (button.Type) { case PanelButtonType.NavigationButton: pointF = new PointF((float)(num / 2.0), (float)(num2 / 2.0)); if (!this.CenterButtonVisible) { pointF.Y += 2f; } break; case PanelButtonType.NaviagateSouth: pointF = new PointF((float)(num / 2.0), (float)(num - num2 / 2.0)); if (!this.CenterButtonVisible) { pointF.Y -= 2f; } break; case PanelButtonType.NaviagateEast: pointF = new PointF((float)(num - num2 / 2.0), (float)(num / 2.0)); if (!this.CenterButtonVisible) { pointF.X -= 2f; } break; case PanelButtonType.NaviagateWest: pointF = new PointF((float)(num2 / 2.0), (float)(num / 2.0)); if (!this.CenterButtonVisible) { pointF.X += 2f; } break; case PanelButtonType.NaviagateCenter: pointF = new PointF((float)(num / 2.0), (float)(num / 2.0)); break; default: throw new ArgumentException(SR.invalid_button_type); } num2 = (float)(num2 - 4.0); RectangleF absolute = new RectangleF((float)(sizeF.Width + pointF.X - num2 / 2.0), (float)(sizeF.Height + pointF.Y - num2 / 2.0), num2, num2); button.Bounds = g.GetRelativeRectangle(absolute); button.Render(g); }
public NavigationPanel(CommonElements common) : base(common) { this.Name = "NavigationPanel"; this.buttonNorth = new PanelButton(this, PanelButtonType.NavigationButton, this.NavigationButtonClickHandler); this.buttonSouth = new PanelButton(this, PanelButtonType.NaviagateSouth, this.NavigationButtonClickHandler); this.buttonEast = new PanelButton(this, PanelButtonType.NaviagateEast, this.NavigationButtonClickHandler); this.buttonWest = new PanelButton(this, PanelButtonType.NaviagateWest, this.NavigationButtonClickHandler); this.buttonCenter = new PanelButton(this, PanelButtonType.NaviagateCenter, this.NavigationButtonClickHandler); this.ApplyStyle(); this.ApplyColors(); }
public ZoomPanel(CommonElements common) : base(common) { this.Name = "ZoomPanel"; this.scale = new LinearScale(this); this.pointer = new LinearPointer(this); MapCore mapCore = base.GetMapCore(); this.Scale.LabelStyle.Visible = false; this.Scale.MajorTickMark.Visible = false; this.Scale.MinorTickMark.Length = 30f; this.Scale.MinorTickMark.Width = 10f; this.Scale.MinorTickMark.EnableGradient = false; this.Scale.FillGradientType = GradientType.None; this.Scale.FillHatchStyle = MapHatchStyle.None; this.Scale.ShadowOffset = 0f; this.Scale.BorderWidth = 1; this.Scale.Width = 15f; this.Scale.Minimum = 0.0; this.Scale.Maximum = 100.00000000001; double tickMarksInterval = this.GetTickMarksInterval(this.TickCount); this.Scale.MinorTickMark.Interval = tickMarksInterval; this.Pointer.Placement = Placement.Cross; if (mapCore != null && mapCore.Viewport != null) { this.Pointer.Position = (double)mapCore.Viewport.Zoom; } this.Pointer.SnappingEnabled = true; this.Pointer.SnappingInterval = tickMarksInterval; this.Pointer.FillGradientType = GradientType.None; this.Pointer.FillHatchStyle = MapHatchStyle.None; this.Pointer.ShadowOffset = 0f; if (mapCore != null && mapCore.Viewport != null) { this.ZoomLevel = (double)mapCore.Viewport.Zoom; } this.zoomInButton = new PanelButton(this, PanelButtonType.ZoomButton, PanelButtonStyle.RoundedRectangle, this.zoomButtonClickHandler); this.zoomOutButton = new PanelButton(this, PanelButtonType.ZoomOut, PanelButtonStyle.RoundedRectangle, this.zoomButtonClickHandler); this.ApplyStyle(); this.ApplyColors(); }
private void RenderButton(MapGraphics g, PanelButton button) { float markerLength = this.Pointer.MarkerLength; markerLength = (float)(markerLength + 5.0); float num = 0f; float num2 = 0f; float relativeY; float num3; PointF relative; float relativeX; if (this.GetOrientation() == Orientation.Horizontal) { relativeY = (float)((100.0 - markerLength) / 2.0); relativeY = g.GetRelativeX(g.GetAbsoluteY(relativeY)); markerLength = g.GetRelativeX(g.GetAbsoluteY(markerLength)); num3 = g.GetAbsoluteX(markerLength); relative = new PointF((float)(markerLength / 2.0 + relativeY), 50f); if (button.Type == PanelButtonType.ZoomOut && this.GetReversed()) { goto IL_00a1; } if (button.Type == PanelButtonType.ZoomButton && !this.GetReversed()) { goto IL_00a1; } } else { relativeX = (float)((100.0 - markerLength) / 2.0); relativeX = g.GetRelativeY(g.GetAbsoluteX(relativeX)); markerLength = g.GetRelativeY(g.GetAbsoluteX(markerLength)); num3 = g.GetAbsoluteY(markerLength); relative = new PointF(50f, (float)(markerLength / 2.0 + relativeX)); if (button.Type == PanelButtonType.ZoomOut && !this.GetReversed()) { goto IL_0126; } if (button.Type == PanelButtonType.ZoomButton && this.GetReversed()) { goto IL_0126; } } goto IL_0138; IL_00a1: num = (float)(100.0 - markerLength - 2.0 * relativeY); goto IL_0138; IL_0126: num2 = (float)(100.0 - markerLength - 2.0 * relativeX); goto IL_0138; IL_0138: relative.X += num; relative.Y += num2; relative = g.GetAbsolutePoint(relative); RectangleF absolute = new RectangleF(relative.X, relative.Y, 0f, 0f); absolute.Inflate((float)(num3 / 2.0), (float)(num3 / 2.0)); button.Bounds = g.GetRelativeRectangle(absolute); button.Render(g); }