private void RenderPlus(Graphics g, Rectangle area, SubjectBase subject) { Rectangle sr = new Rectangle(area.Left - (int)(10 * SubjectBase.zoomValue), area.Top - (int)(10 * SubjectBase.zoomValue), area.Width + (int)(20 * SubjectBase.zoomValue), area.Height + (int)(20 * SubjectBase.zoomValue)); g.Clip = new Region(sr); Pen penPlus = new Pen(new SolidBrush(Color.White), 2.0f); int[] plus = subject.GetPlusVisible(); if (plus[0] == 1) { //�������Plus Rectangle pmLeft = new Rectangle(area.Left - (int)(8 * SubjectBase.zoomValue), area.Top + area.Height / 2 - (int)(10 * SubjectBase.zoomValue), (int)(40 * SubjectBase.zoomValue), (int)(20 * SubjectBase.zoomValue)); subject.RectPlusLeft = new Rectangle(pmLeft.Left, pmLeft.Top, (int)(10 * SubjectBase.zoomValue), pmLeft.Height); g.Clip = new Region(subject.RectPlusLeft); //��ֹ�����߽� RenderPlusLeft(g, pmLeft, penPlus, selectPlus == 1 ? Color.LightSteelBlue : Color.SteelBlue); } if (plus[2] == 1) { //�����ұ߱�Plus Rectangle pmRight = new Rectangle(area.Left + area.Width - (int)(((40 - 8) + 1) * SubjectBase.zoomValue), area.Top + area.Height / 2 - (int)(10 * SubjectBase.zoomValue), (int)(40 * SubjectBase.zoomValue), (int)(20 * SubjectBase.zoomValue)); subject.RectPlusRight = new Rectangle(pmRight.Right - (int)(10 * SubjectBase.zoomValue), pmRight.Top, (int)(10 * SubjectBase.zoomValue), pmRight.Height); g.Clip = new Region(subject.RectPlusRight); //��ֹ�����߽� RenderPlusRight(g, pmRight, penPlus, selectPlus == 3 ? Color.LightSteelBlue : Color.SteelBlue); } if (plus[1] == 1) { //�����ϱ�Plus Rectangle pmTop = new Rectangle(area.Left + area.Width / 2 - (int)(10 * SubjectBase.zoomValue), area.Top - (int)(8 * SubjectBase.zoomValue), (int)(20 * SubjectBase.zoomValue), (int)(40 * SubjectBase.zoomValue)); subject.RectPlusTop = new Rectangle(pmTop.Left, pmTop.Top, pmTop.Width, (int)(7 * SubjectBase.zoomValue)); g.Clip = new Region(subject.RectPlusTop); //��ֹ�����߽� RenderPlusTop(g, pmTop, penPlus, selectPlus == 2 ? Color.LightSteelBlue : Color.SteelBlue); } if (plus[3] == 1) { //�����±�Plus Rectangle pmBottom = new Rectangle(area.Left + area.Width / 2 - (int)(10 * SubjectBase.zoomValue), area.Top + area.Height - (int)(((40 - 8) + 1) * SubjectBase.zoomValue), (int)(20 * SubjectBase.zoomValue), (int)(40 * SubjectBase.zoomValue)); subject.RectPlusBottom = new Rectangle(pmBottom.Left, pmBottom.Bottom - (int)(7 * SubjectBase.zoomValue), pmBottom.Width, (int)(7 * SubjectBase.zoomValue)); g.Clip = new Region(subject.RectPlusBottom); //��ֹ�����߽� RenderPlusBottom(g, pmBottom, penPlus, selectPlus == 4 ? Color.LightSteelBlue : Color.SteelBlue); } g.Clip = new Region(sr); }