示例#1
0
        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();
        }
示例#2
0
        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);
                }
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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();
        }
示例#5
0
        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);
            }
        }