public void DrawDebug(Agg.Graphics2D graphics2D) { if (validResponsesBotomToTopList.Count < 1) { return; } if (graphics2D.DestImage == null) { throw new Exception("Your graphics2D must be for a buffered Image."); } if (lowestCorrner != null) { lowestCorrner.Render(graphics2D); } int width = allResponsesGrid.Width; int height = allResponsesGrid.Height; IImageByte imageBuffer = graphics2D.DestImage; ValidResponseData prevValidResponse = validResponsesBotomToTopList[0]; foreach (ValidResponseData validResponse in validResponsesBotomToTopList) { if (validResponse.totalResponse > 0) { Vector2 start = new Vector2(10, 0); start.Rotate(validResponse.orientation * MathHelper.DegreesToRadians(22.5)); graphics2D.Line(validResponse.position + start, validResponse.position - start, RGBA_Bytes.Green); graphics2D.Circle(validResponse.position, 2, RGBA_Bytes.Red); if (validResponse.has4ChessboardNeighbors) { Ellipse elipse = new Ellipse(validResponse.position, 10); graphics2D.Render(new Stroke(elipse, 1), RGBA_Bytes.Red); } //graphics2D.Line(validResponse.position, prevValidResponse.position, RGBA_Bytes.Red); prevValidResponse = validResponse; } } #if SHOW_SUB_PIXEL_LOGIC graphics2D.Render(gray, 0, 0); #endif }
public override void OnDraw(Agg.Graphics2D graphics2D) { RectangleDouble Bounds = LocalBounds; RoundedRect rectBorder = new RoundedRect(Bounds, this.borderRadius); graphics2D.Render(rectBorder, borderColor); RectangleDouble insideBounds = Bounds; insideBounds.Inflate(-this.borderWidth); RoundedRect rectInside = new RoundedRect(insideBounds, Math.Max(this.borderRadius - this.borderWidth, 0)); graphics2D.Render(rectInside, this.fillColor); if (this.isUnderlined) { //Printer.TypeFaceStyle.DoUnderline = true; RectangleDouble underline = new RectangleDouble(LocalBounds.Left, LocalBounds.Bottom, LocalBounds.Right, LocalBounds.Bottom); graphics2D.Rectangle(underline, buttonText.TextColor); } base.OnDraw(graphics2D); }