Пример #1
0
 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();
 }