示例#1
0
        public void CreateScreenFilterWithIdShouldSucceed()
        {
            // Act
            var result = new ScreenFilter(id, workOrderAttribute, workOrderValue);

            // Assert
            result.Should().NotBeNull();
        }
示例#2
0
        private void SetScreenFilter(ScreenFilter newScreenFilter)
        {
            screenFilter = newScreenFilter;
            UpdateResizedScreenFilter();

            viewScreenFilterNoneMenuItem.Checked   = screenFilter == ScreenFilter.None;
            viewScreenFilterRasterMenuItem.Checked = screenFilter == ScreenFilter.Raster;
            viewScreenFilterLcdMenuItem.Checked    = screenFilter == ScreenFilter.Lcd;
        }
示例#3
0
        public void CreateScreenFilterShouldFailWhenIdIsGuidEmpty()
        {
            // Arrange
            var id = Guid.Empty;

            // Act
            var result = new ScreenFilter(id, workOrderAttribute, workOrderValue);

            // Assert
            result.Should().NotBeNull();
        }
示例#4
0
        public FilterForm(Screen screen, ScreenFilter filter)
        {
            Init(screen);

            m_pen   = new Pen(new SolidBrush(Color.Black), filter.LineThickness);
            Opacity = filter.Opacity;
            Rectangle rect = screen.Bounds;

            if (filter.Type == ScreenFilterType.Ellipse)
            {
                InitEllipse(filter, rect);
            }
            else
            {
                InitScanline(filter, rect);
            }
        }
示例#5
0
        private void InitScanline(ScreenFilter filter, Rectangle rect)
        {
            if (filter.VerticalScanlines)
            {
                for (float x = rect.Left; x < rect.Right; x += filter.ScanlineSpacing)
                {
                    m_lines.Add(new Tuple <PointF, PointF>(new PointF(x, rect.Top), new PointF(x, rect.Bottom)));
                }
            }

            if (filter.HorizontalScanlines)
            {
                for (float y = rect.Top; y < rect.Height; y += filter.ScanlineSpacing)
                {
                    m_lines.Add(new Tuple <PointF, PointF>(new PointF(rect.Left, y), new PointF(rect.Right, y)));
                }
            }
        }
示例#6
0
        public FilterSettingsForm(ScreenFilter settings)
        {
            InitializeComponent();

            pbInfo.Image = DoomLauncher.Properties.Resources.bon2b;

            cmbMode.DropDownStyle = ComboBoxStyle.DropDownList;
            numOpacity.Value      = Convert.ToDecimal(settings.Opacity);
            numThickness.Value    = Convert.ToDecimal(settings.LineThickness);
            cmbMode.SelectedIndex = (int)settings.Type;
            numBlockSize.Value    = settings.BlockSize;
            numSpacingX.Value     = Convert.ToDecimal(settings.SpacingX);
            numSpacingY.Value     = Convert.ToDecimal(settings.SpacingY);
            chkStagger.Checked    = settings.Stagger;
            numScanlineSize.Value = Convert.ToDecimal(settings.ScanlineSpacing);
            chkVertical.Checked   = settings.VerticalScanlines;
            chkHorizontal.Checked = settings.HorizontalScanlines;
        }
示例#7
0
        private void InitEllipse(ScreenFilter filter, Rectangle rect)
        {
            int   count = 0;
            float add   = 0.0f;

            for (float x = rect.Left; x < rect.Right; x += filter.BlockSize + filter.SpacingX)
            {
                if (filter.Stagger)
                {
                    add = count % 2 == 0 ? 0 : filter.BlockSize / 2;
                }

                for (float y = rect.Top - filter.BlockSize; y < rect.Height + filter.BlockSize; y += filter.BlockSize + filter.SpacingY)
                {
                    m_rects.Add(new RectangleF(new PointF(x, y + add), new SizeF(filter.BlockSize, filter.BlockSize)));
                }

                count++;
            }
        }
示例#8
0
 public void ActivateFilter(ScreenFilter filter)
 {
     screenFilter = filter;
     filterActive = true;
 }
示例#9
0
 private ScreenFilter()
 {
     instance = this;
 }