private void updateTiles(Level currentLevel) { if (lastInk != currentLevel.InkColor || lastPaper != currentLevel.PaperColor) { Utils.updateZXTiles(imageList, currentLevel); } lastInk = currentLevel.InkColor; lastPaper = currentLevel.PaperColor; }
private void removeLevelFromPanel(Level selectedLevel) { PictureBox pBoxToRemove = null; foreach (PictureBox pBox in layoutPanel.Controls) { if (selectedLevel.Equals(pBox.Tag)) { pBoxToRemove = pBox; break; } } if (pBoxToRemove != null) { layoutPanel.Controls.Remove(pBoxToRemove); } }
private void selectFirstLevel() { removeBorders(); if (levels != null && levels.Count > 0) { selectedLevel = levels[0]; selectedPBox = layoutPanel.Controls[0] as PictureBox; selectedPBox.BorderStyle = BorderStyle.Fixed3D; } }
private void addToolStripButton_Click(object sender, EventArgs e) { Level newLevel = new Level(); newLevel.NumPantalla = (byte)this.levels.Count; newLevel.InkColor = ColorZX.Blanco; newLevel.PaperColor = ColorZX.Negro; this.levels.Add(newLevel); removeBorders(); selectedPBox = this.addLevelToPanel(newLevel); this.SelectedLevel = newLevel; UpdateCurrentLevel(); enableToolStripButtons(); }
void levelCell_Click(object sender, EventArgs e) { selectedPBox = sender as PictureBox; removeBorders(); selectedPBox.BorderStyle = BorderStyle.Fixed3D; Level clickedLevel = selectedPBox.Tag as Level; if (clickedLevel != selectedLevel) { selectedLevel = clickedLevel; OnSelectedLevelChanged(EventArgs.Empty); enableToolStripButtons(); } }
private PictureBox addLevelToPanel(Level level) { PictureBox levelCell; levelCell = new PictureBox(); levelCell.Click += new EventHandler(levelCell_Click); levelCell.Tag = level; if (version.CPU == CPUVersion.ZX) { updateTiles(level); } viewer.ImageList = imageList; if (level.Equals(selectedLevel)) { levelCell.BorderStyle = BorderStyle.Fixed3D; } else { levelCell.BorderStyle = BorderStyle.None; } int cellWidth = this.ClientRectangle.Width - layoutPanel.Padding.Left - layoutPanel.Padding.Right - 4 - SystemInformation.VerticalScrollBarWidth; levelCell.Size = new Size(cellWidth, cellWidth); levelCell.SizeMode = PictureBoxSizeMode.StretchImage; viewer.Level = level; levelCell.Image = viewer.GetPreview(); levelCell.Visible = true; layoutPanel.Controls.Add(levelCell); return levelCell; }
private void levelSelector_SelectedLevelChanged(object sender, EventArgs e) { currentLevel = levelSelector.SelectedLevel; initializeView(); }
internal static void updateZXTiles(Dictionary<string, Image> tiles, Level currentLevel) { Color paperColor = Utils.ColorZXToColor(currentLevel.PaperColor); Color inkColor = Utils.ColorZXToColor(currentLevel.InkColor); Console.WriteLine("updateZXTiles"); foreach (string tileName in fileNamesBN) { System.IO.File.AppendAllText(Utils.logPath, string.Format("Fetching tile: {0}{1}", tileName, Environment.NewLine)); Image originalImage = tiles[tileName]; string currentKey = string.Format("ZX{0}", tileName); if (tiles.ContainsKey(currentKey)) tiles[currentKey].Dispose(); System.IO.File.AppendAllText(logPath, string.Format("Storing tile: {0}{1}", currentKey, Environment.NewLine)); tiles[currentKey] = createTile(originalImage, paperColor, inkColor); } }
private void abrirToolStripMenuItem_Click(object sender, EventArgs e) { if (ofd.ShowDialog() == DialogResult.OK) { try { levels = Levels.Load(ofd.FileName); this.levelSelector.Levels = levels; if (levels.Count > 0) currentLevel = levels[0]; initializeView(); } catch (Exception exc) { MessageBox.Show(string.Format("Error:\n{0}", exc.ToString()), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }