Revision 694853

Go back to digest for 5th August 2007

Features in Educational

James Bowlin committed changes in /branches/work/kdeedu_kstars_htm/kstars/kstars:

Added planets, comets, and Jupiter's moons to the list of classes using SkyLabeler to prevent label overlap. Cleaned up the SkyLabeler interface by adding drawLabel() and drawOffsetLabel() methods. In addition, added two static methods to SkyLabeler: setZoomFont() and zoomOffset() which allows us to share this code with StarObject and SkyObject so we can adjust the parameters for these routines in just one spot and always stay synced with the drawLabel() routines in those other classes.

Added an intermediate font size between the one used when zoomed out and zoomed in.

AFAIK, all classes in skycomponents that write labels (except LineListComponent) are using the SkyLabeler now.

The only thing left to do with the SkyLabeler is time shifting which will let us set the priority of the labels independently of when the objects themselves get drawn. I think this would be best implemented using addLabel( point, text, LABEL_CATEGORY ) where we have predefined categories for each type of label. This will also make it possible for us to let the users choose the label priorities.

File Changes

Modified 14 files
  • /branches/work/kdeedu_kstars_htm/kstars/kstars
  •   /skyobject.cpp
  •   /starobject.cpp
  •   /skycomponents/asteroidscomponent.cpp
  •   /skycomponents/cometscomponent.cpp
  •   /skycomponents/cometscomponent.h
  •   /skycomponents/constellationnamescomponent.cpp
  •   /skycomponents/jupitermoonscomponent.cpp
  •   /skycomponents/jupitermoonscomponent.h
  •   /skycomponents/skylabeler.cpp
  •   /skycomponents/skylabeler.h
  •   /skycomponents/skymapcomposite.cpp
  •   /skycomponents/solarsystemsinglecomponent.cpp
  •   /skycomponents/solarsystemsinglecomponent.h
  •   /skycomponents/starcomponent.cpp
14 files changed in total