public void Init() { int i = 0; foreach (Direction d in _sprite.Directions) { DirectionLayout layout = new DirectionLayout(_sprite, d, this); layout.OnFrameClick += layout_OnFrameClick; layout.Modified += Modified; layout.Zoom = _zoom; DirectionHolder.Controls.Add(layout); layout.Location = new Point(2, i++ *(layout.Height + 2) + 2); } ((DirectionLayout)DirectionHolder.Controls[0]).Select(0); _selectedFrame = ((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame; SpriteDrawer.Content = (Bitmap)_sprite.GetImage((((DirectionLayout)DirectionHolder.Controls[0]).SelectedFrame.Index)); SpriteDrawer.ZoomIn(); SpriteDrawer.ZoomIn(); _tilesetCtrl = new TilesetControl2 { Tileset = SphereStudio.Vanilla.Tileset.FromSpriteset(_sprite), CanInsert = false }; _tilesetCtrl.ZoomIn(); _tilesetCtrl.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; _tilesetCtrl.TileSelected += _tileset_ctrl_TileSelected; _tilesetCtrl.TileAdded += _tileset_ctrl_TileAdded; _tilesetCtrl.TileRemoved += _tileset_ctrl_TileRemoved; ImageHolder.Controls.Add(_tilesetCtrl); _tilesetCtrl.Width = ImageHolder.Width - 6; DirectionAnim.Sprite = _sprite; DirectionAnim.Direction = _sprite.Directions[0]; FrameBaseEditor.Frame = _sprite.Directions[0].Frames[0]; }
private void mCoordinator_WindowAdded(Frame frame, EventArgs args) { // // windowPanel // FramePanel windowPanel = new FramePanel(frame); windowPanel.Dock = System.Windows.Forms.DockStyle.Fill; windowPanel.Location = new System.Drawing.Point(3, 3); windowPanel.Name = frame.Name + "Panel"; windowPanel.Size = new System.Drawing.Size(401, 233); windowPanel.TabIndex = 0; // // windowTab // TabPage windowTab = new System.Windows.Forms.TabPage(); windowTab.Controls.Add(windowPanel); windowTab.Location = new System.Drawing.Point(4, 22); windowTab.Name = frame.Name + "Tab"; windowTab.Padding = new System.Windows.Forms.Padding(3); windowTab.Size = new System.Drawing.Size(407, 239); windowTab.TabIndex = 0; windowTab.Text = frame.Name; windowTab.UseVisualStyleBackColor = true; windowsTab.Controls.Add(windowTab); frame.Changed += new Action <Frame, EventArgs>(frame_Changed); }
private void OnFrameSizeChagned(object sender, SizeChangedEventArgs e) { var zoom = GetZoom(); var position = GetPosition(); var maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * zoom; var maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * zoom; var newX = position.X; var newY = position.Y; Clip(maxX, maxY, ref newX, ref newY); SetPosition(new Point(newX, newY)); }
private void layout_OnFrameClick(object sender, EventArgs e) { if (_selectedFrame != null) { _selectedFrame.Selected = false; } _selectedDirection = (DirectionLayout)sender; _selectedFrame = _selectedDirection.SelectedFrame; SpriteDrawer.Content = (Bitmap)_sprite.GetImage(_selectedFrame.Index); FrameBaseEditor.Frame = _selectedFrame.Frame; DirectionAnim.Direction = _selectedDirection.Direction; DirectionAnim.Invalidate(true); }
void OnZoomDelta(object sender, C1ZoomDeltaEventArgs e) { var maxZoom = Math.Min(FramePanel.GetActualWidth() / Rectangle.GetActualWidth(), FramePanel.GetActualHeight() / Rectangle.GetActualHeight()) / 2; var newZoom = Math.Min(maxZoom, _initialZoom * e.UniformCumulativeScale); var maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * newZoom; var maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * newZoom; double newX, newY; Zoom(maxZoom, _initialZoom, _initialPosition, _relativePosition, newZoom, out newX, out newY); newX = newX + e.CumulativeTranslation.X; newY = newY + e.CumulativeTranslation.Y; Clip(maxX, maxY, ref newX, ref newY); SetZoom(newZoom, newX, newY, false); }
void OnZoomCompleted(object sender, C1ZoomCompletedEventArgs e) { var maxZoom = Math.Min(FramePanel.GetActualWidth() / Rectangle.GetActualWidth(), FramePanel.GetActualHeight() / Rectangle.GetActualHeight()) / 2; var newZoom = Math.Min(maxZoom, _initialZoom * e.UniformCumulativeScale); var maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * newZoom; var maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * newZoom; double newX, newY; Zoom(maxZoom, _initialZoom, _initialPosition, _relativePosition, newZoom, out newX, out newY); newX = newX + e.CumulativeTranslation.X; newY = newY + e.CumulativeTranslation.Y; Clip(maxX, maxY, ref newX, ref newY); SetZoom(newZoom, newX, newY, true); Rectangle.BorderBrush = new SolidColorBrush(Colors.Transparent); }
void OnDragDelta(object sender, C1DragDeltaEventArgs e) { var zoom = GetZoom(); var maxX = FramePanel.GetActualWidth() - Rectangle.GetActualWidth() * zoom; var maxY = FramePanel.GetActualHeight() - Rectangle.GetActualHeight() * zoom; var newX = _initialX + e.CumulativeTranslation.X; var newY = _initialY + e.CumulativeTranslation.Y; if (e.IsInertial) { Bounce(maxX, maxY, ref newX, ref newY); } else { Clip(maxX, maxY, ref newX, ref newY); } SetPosition(new Point((int)newX, (int)newY)); }
// Start is called before the first frame update void Start() { //Debug.Log("Options Panel Start:"+name); aboutPanelGo = transform.Find("AboutPanel").gameObject; aboutPanel = aboutPanelGo.GetComponent <AboutPanel>(); visualPanelGo = transform.Find("VisualsPanel").gameObject; visualsPanel = visualPanelGo.GetComponent <VisualsPanel>(); mapFitPanelGo = transform.Find("MapFitPanel").gameObject; mapFitPanel = mapFitPanelGo.GetComponent <MapFitPanel>(); framePanelGo = transform.Find("FramePanel").gameObject; framePanel = framePanelGo.GetComponent <FramePanel>(); b19PanelGo = transform.Find("B19Panel").gameObject; b19Panel = b19PanelGo.GetComponent <B19Panel>(); generalPanelGo = transform.Find("GeneralPanel").gameObject; generalPanel = generalPanelGo.GetComponent <GeneralPanel>(); helpPanelGo = transform.Find("HelpPanel").gameObject; helpPanel = helpPanelGo.GetComponent <HelpPanel>(); var vgo = transform.Find("VisualsToggle").gameObject; visualToggle = vgo.GetComponent <Toggle>(); var mgo = transform.Find("MapFitToggle").gameObject; mapfitToggle = mgo.GetComponent <Toggle>(); var fgo = transform.Find("FrameToggle").gameObject; frameToggle = fgo.GetComponent <Toggle>(); var bgo = transform.Find("B19Toggle").gameObject; b19Toggle = bgo.GetComponent <Toggle>(); var ggo = transform.Find("GeneralToggle").gameObject; generalToggle = ggo.GetComponent <Toggle>(); var hgo = transform.Find("HelpToggle").gameObject; helpToggle = hgo.GetComponent <Toggle>(); var ago = transform.Find("AboutToggle").gameObject; aboutToggle = ago.GetComponent <Toggle>(); togGroup = GetComponent <ToggleGroup>(); togGroup.allowSwitchOff = true; // otherwise it does not save state correctly when we turn off the panel SyncState(); }