Exemple #1
0
/* ---------------------------------------------------------------------------
 * output of cursor position
 */
void
ghid_set_cursor_position_labels (void)
{
  gchar text[128];

  if (Marked.status)
    {double scale, dx, dy, r, a;
      scale = Settings.grid_units_mm ? COOR_TO_MM: 1. / 100;
      dx = (Crosshair.X - Marked.X) * scale;
      dy = (Marked.Y - Crosshair.Y) * scale;
      r = sqrt( dx * dx + dy * dy);
      a = atan2(dy, dx) * 180 / M_PI;
      if (Settings.grid_units_mm)
	snprintf (text, sizeof (text), "r %-.4f; phi %-.1f; %-.4f %-.4f",
		  r, a, dx, dy);

      else
	snprintf (text, sizeof (text), "r %-.2f; phi %-.1f; %-.2f %-.2f",
		  r, a, dx, dy);
      ghid_cursor_position_relative_label_set_text (text);
    }
  else
    ghid_cursor_position_relative_label_set_text ("r __.__; phi __._; __.__ __.__");

  if (Settings.grid_units_mm)
    snprintf (text, sizeof (text), "%-.4f %-.4f",
	      COOR_TO_MM * Crosshair.X, COOR_TO_MM * Crosshair.Y);
  else
    snprintf (text, sizeof (text), "%-.2f %-.2f",
	      Crosshair.X / 100.,  Crosshair.Y / 100.);

  ghid_cursor_position_label_set_text (text);
}
Exemple #2
0
/* ---------------------------------------------------------------------------
 * output of cursor position
 */
void
ghid_set_cursor_position_labels (void)
{
  gchar *text;

  if (Marked.status)
    {
      Coord dx = Crosshair.X - Marked.X;
      Coord dy = Crosshair.Y - Marked.Y;
      Coord r  = Distance (Crosshair.X, Crosshair.Y, Marked.X, Marked.Y);
      double a = atan2 (dy, dx) * RAD_TO_DEG;

      text = pcb_g_strdup_printf (_("%m+r %-mS;\nphi %-.1f;\n%-mS %-mS"),
                                  Settings.grid_unit->allow,
                                  r, a, dx, dy);
      ghid_cursor_position_relative_label_set_text (text);
      g_free (text);
    }
  else
    ghid_cursor_position_relative_label_set_text (_("r __.__;\nphi __._;\n__.__ __.__"));


  text = pcb_g_strdup_printf (_("%m+%-mS %-mS"),
                              Settings.grid_unit->allow,
                              Crosshair.X, Crosshair.Y);
  ghid_cursor_position_label_set_text (text);
  g_free (text);
}