private void displayImage(int imageIndex) { OricFileInfo fileInfo = (OricFileInfo)imageList[imageIndex]; OricProgram oricProgram = fileInfo.LoadFile(); oricScreenImage.m_ui16StartAddress = oricProgram.StartAddress; oricScreenImage.m_ui16DataLength = oricProgram.ProgramLength; oricScreenImage.bScrnData = oricProgram.m_programData; oricScreenImage.m_bFlash = !oricScreenImage.m_bFlash; if (oricProgram.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; } else { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } oricScreenImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_ENLARGED, screenImageFormat); pictureBoxScreenImage.Image = oricScreenImage.screenImageData; displayImageInfo(fileInfo); if (!slideshowRunning) { // Display thumbnail of current image foreach (Control control in flowLayoutPanelThumbnails.Controls) { if (control is Panel) { Panel panel = (Panel)control; panel.BackColor = Color.FromArgb(200, 200, 200); } } Control[] imagePanel = flowLayoutPanelThumbnails.Controls.Find(string.Format("panel_{0}", imageIndex), true); if (imagePanel.Count() == 1) { Panel panel = (Panel)imagePanel[0]; panel.BackColor = Color.FromArgb(150, 150, 150); panel.Focus(); } } enableDisableControls(); }
public void InitialiseView() { oricScreenImage.m_ui16StartAddress = ProgramData.StartAddress; oricScreenImage.m_ui16DataLength = ProgramData.ProgramLength; oricScreenImage.bScrnData = ProgramData.m_programData; if (ProgramData.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; checkBoxAttributeIndicator.Enabled = false; checkBoxAttributeIndicator.Checked = false; } else { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } oricScreenImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_ENLARGED, screenImageFormat); pictureBoxScreenImage.Image = oricScreenImage.screenImageData; // Make a copy of the screen data tmpScreenData = new byte[ProgramData.ProgramLength]; for (int index = 0; index < ProgramData.ProgramLength; index++) { tmpScreenData[index] = ProgramData.m_programData[index]; } if (screenImageFormat == ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT) { if (FlashTimer == null) { FlashTimer = new System.Windows.Forms.Timer(); FlashTimer.Interval = 700; FlashTimer.Start(); FlashTimer.Tick += new EventHandler(Timer_Tick); } } }
public ScreenViewerControl() { InitializeComponent(); _ZoomFactor = 2; oricScreenImage = new ScreenImage(); screenImageSize = ScreenImage.ScreenImageSize.IMAGE_SIZE_ENLARGED; screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_UNKNOWN; FileInformation = new Label(); FileHeadings = new Label(); ProgramInfo = new OricFileInfo(); ProgramData = new OricProgram(); checkBoxPaperAttribute.Checked = true; checkBoxInkAttribute.Checked = true; checkBoxOtherAttributes.Checked = true; this.pictureBoxScreenImage.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.pictureBoxScreenImage_MouseWheel); }
private void displayImage(int imageIndex) { OricProgram oricProgram = imageList[imageIndex].LoadFile(); oricScreenImage.m_ui16StartAddress = oricProgram.StartAddress; oricScreenImage.m_ui16DataLength = oricProgram.ProgramLength; oricScreenImage.bScrnData = oricProgram.m_programData; if (oricProgram.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; } else if (oricProgram.Format == OricProgram.ProgramFormat.TextScreen || oricProgram.Format == OricProgram.ProgramFormat.HelpFile) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } oricScreenImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_ENLARGED, screenImageFormat); pictureBoxScreenImage.Image = oricScreenImage.screenImageData; displayImageInfo(oricProgram); enableDisableControls(); }
private void generateThumbnails() { // Remove any images flowLayoutPanelThumbnails.Controls.Clear(); for (int imageIndex = 0; imageIndex < imageList.Count(); imageIndex++) { Panel imagePanel = new Panel(); imagePanel.Name = string.Format("panel_{0}", imageIndex); imagePanel.Size = new Size(170, 175); imagePanel.BorderStyle = BorderStyle.FixedSingle; imagePanel.BackColor = Color.FromArgb(200, 200, 200); Label imageLabel = new Label(); imageLabel.Name = string.Format("label_{0}", imageIndex); imageLabel.Size = new Size(160, 18); imageLabel.Font = new Font("Segoe UI", 8); imageLabel.TextAlign = ContentAlignment.MiddleCenter; imageLabel.Text = imageList[imageIndex].ProgramName; imageLabel.Left = 5; imageLabel.Top = 154; PictureBox screenImage = new PictureBox(); screenImage.Name = string.Format("{0}", imageIndex); screenImage.Size = new Size(160, 150); screenImage.BackColor = Color.White; screenImage.BorderStyle = BorderStyle.None; screenImage.SizeMode = PictureBoxSizeMode.Zoom; screenImage.Cursor = System.Windows.Forms.Cursors.Hand; screenImage.Top = 5; screenImage.Left = 5; toolTip1 = new ToolTip(); toolTip1.ToolTipTitle = "Image Information"; toolTip1.SetToolTip(screenImage, string.Format("Name : {0}\nFormat : {1}", imageList[imageIndex].ProgramName, imageList[imageIndex].FormatToString())); toolTip1.Popup += toolTip1_Popup; screenImage.Click += new System.EventHandler(screenImage_Click); OricProgram oricProgram = imageList[imageIndex].LoadFile(); ScreenImage thumbnailImage = new ScreenImage(); thumbnailImage.m_ui16StartAddress = oricProgram.StartAddress; thumbnailImage.m_ui16DataLength = oricProgram.ProgramLength; thumbnailImage.bScrnData = oricProgram.m_programData; if (oricProgram.Format == OricProgram.ProgramFormat.HiresScreen) { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_HIRES; } else { screenImageFormat = ScreenImage.ScreenImageFormat.IMAGE_FORMAT_TEXT; } thumbnailImage.DrawScreenImage(ScreenImage.ScreenImageSize.IMAGE_SIZE_NORMAL, screenImageFormat); screenImage.Image = thumbnailImage.screenImageData; imagePanel.Controls.Add(screenImage); imagePanel.Controls.Add(imageLabel); flowLayoutPanelThumbnails.Controls.Add(imagePanel); } }