internal HitListEntry(PagePolygon pp, float x, float y, PageDrawing pd)
 {
     pi = pp;
     poly = new PointF[pp.Points.Length];
     for (int i = 0; i < pp.Points.Length; i++)
     {
         poly[i].X = pd.PixelsX(pp.Points[i].X + x);
         poly[i].Y = pd.PixelsY(pp.Points[i].Y + y);
     }
     rect = RectangleF.Empty;
 }
Example #2
0
        public Viewer()
        {
            _SourceFileName=null;
            _SourceRdl=null;
            _Parameters=null;				// parameters to run the report
            _pgs=null;						// the pages of the report to view
            _loadFailed=false;
            _PageWidth=0;
            _PageHeight=0;
            _ReportDescription=null;
            _ReportAuthor=null;
            _ReportName=null;
            _zoom=-1;						// force zoom to be calculated

            // Get our graphics DPI
            Graphics g = null;
            try
            {
                g = this.CreateGraphics();
                DpiX = g.DpiX;
                DpiY = g.DpiY;
            }
            catch
            {
                DpiX = DpiY = 96;
            }
            finally
            {
                if (g != null)
                    g.Dispose();
            }

            _ScrollMode = ScrollModeEnum.Continuous;

            // Handle the controls
            _vScroll = new VScrollBar();
            _vScroll.Scroll += new ScrollEventHandler(this.VerticalScroll);
            _vScroll.Enabled = false;

            // tooltip
            _vScrollToolTip = new ToolTip();
            _vScrollToolTip.AutomaticDelay = 100;	// .1 seconds
            _vScrollToolTip.AutoPopDelay = 1000;	// 1 second
            _vScrollToolTip.ReshowDelay = 100;		// .1 seconds
            _vScrollToolTip.InitialDelay = 10;		// .01 seconds
            _vScrollToolTip.ShowAlways = false;
            _vScrollToolTip.SetToolTip(_vScroll, "");

            _hScroll = new HScrollBar();
            _hScroll.Scroll += new ScrollEventHandler(this.HorizontalScroll);
            _hScroll.Enabled = false;

            _DrawPanel = new PageDrawing(null);
            _DrawPanel.Parent = this;
            _DrawPanel.Paint += new PaintEventHandler(this.DrawPanelPaint);
            _DrawPanel.Resize += new EventHandler(this.DrawPanelResize);
            _DrawPanel.MouseWheel +=new MouseEventHandler(DrawPanelMouseWheel);
            _DrawPanel.KeyDown += new KeyEventHandler(DrawPanelKeyDown);

            _RunButton = new Button();
            _RunButton.Parent = this;
            _RunButton.Text = "Run Report";
            _RunButton.Width = 90;
            _RunButton.FlatStyle = FlatStyle.Flat;
            _RunButton.Click += new System.EventHandler(ParametersViewClick);

            _WarningButton = new PictureBox();
            _WarningButton.Parent = this;
            _WarningButton.Width = 15;
            _WarningButton.Height = 15;
            _WarningButton.Paint +=new PaintEventHandler(_WarningButton_Paint);
            _WarningButton.Click += new System.EventHandler(WarningClick);
            ToolTip tip = new ToolTip();
            tip.AutomaticDelay = 500;
            tip.ShowAlways = true;
            tip.SetToolTip(_WarningButton, "Click to see Report Warnings");

            _ParameterPanel = new ScrollableControl();

            _FindCtl = new ViewerFind();
            _FindCtl.Height = 27;
            _FindCtl.Parent = this;
            _FindCtl.Viewer = this;
            _FindCtl.Visible = false;

            this.Layout +=new LayoutEventHandler(RdlViewer_Layout);
            this.SuspendLayout();

            // Must be added in this order for DockStyle to work correctly
            this.Controls.Add(_FindCtl);
            this.Controls.Add(_DrawPanel);
            this.Controls.Add(_vScroll);
            this.Controls.Add(_hScroll);
            this.Controls.Add(_ParameterPanel);

            this.ResumeLayout(false);
        }