private void draw_crosshairs(DisplayModulo display, int x, int y, bool selected) { float[] CROSSHAIR_COLOR = { 0.4f, 0.4f, 0.4f, 1.0f };// # Gray float[] DOT_COLOR_DESELECTED = { 0.4f, 0.4f, 0.4f, 1.0f };// # Gray float[] DOT_COLOR_SELECTED = { 1, 0, 0, 1 };// # Red float[] TEXT_COLOR = { 0, 0.7f, 0, 1 };// # Green int DOT_SIZE_SELECTED = 8; int DOT_SIZE_DESELECTED = 4; float[] dot_color; int dot_size; //# Draw crosshairs display.Clear(); display.SetLineColor(CROSSHAIR_COLOR); //# Horizontal crosshair display.DrawRect(0, (byte)y, display.Width, 1); // # Vertical crosshair display.DrawRect((byte)x, 0, 1, display.Height); // # Dot if (selected) { dot_color = DOT_COLOR_SELECTED; dot_size = DOT_SIZE_SELECTED; } else { dot_color = DOT_COLOR_DESELECTED; dot_size = DOT_SIZE_DESELECTED; } display.SetFillColor(dot_color); display.DrawCircle((sbyte)x, (sbyte)y, (byte)dot_size); //# Coordinate value display display.SetTextColor(TEXT_COLOR); display.SetCursor(0, 0); display.Write(String.Format("x={0,2}\ny={1,2}", x, y)); // # Update the display! display.Refresh(); }