Exemple #1
0
void Graph::drawMarkers(Drawable drawable, int under)
{
  for (ChainLink* link = Chain_LastLink(markers_.displayList); link;
       link = Chain_PrevLink(link)) {
    Marker* markerPtr = (Marker*)Chain_GetValue(link);
    MarkerOptions* mops = (MarkerOptions*)markerPtr->ops();

    if ((mops->drawUnder != under) || markerPtr->clipped_ || mops->hide)
      continue;

    if (isElementHidden(markerPtr))
      continue;

    markerPtr->draw(drawable);
  }
}
Exemple #2
0
void Graph::mapMarkers()
{
  for (ChainLink* link = Chain_FirstLink(markers_.displayList); link;
       link = Chain_NextLink(link)) {
    Marker* markerPtr = (Marker*)Chain_GetValue(link);
    MarkerOptions* mops = (MarkerOptions*)markerPtr->ops();

    if (mops->hide)
      continue;

    if ((flags & MAP_MARKERS) || (markerPtr->flags & MAP_ITEM)) {
      markerPtr->map();
      markerPtr->flags &= ~MAP_ITEM;
    }
  }

  flags &= ~MAP_MARKERS;
}
Exemple #3
0
void Graph::printMarkers(PSOutput* psPtr, int under)
{
  for (ChainLink* link = Chain_LastLink(markers_.displayList); link;
       link = Chain_PrevLink(link)) {
    Marker* markerPtr = (Marker*)Chain_GetValue(link);
    MarkerOptions* mops = (MarkerOptions*)markerPtr->ops();
    if (mops->drawUnder != under)
      continue;

    if (mops->hide)
      continue;

    if (isElementHidden(markerPtr))
      continue;

    psPtr->format("%% Marker \"%s\" is a %s.\n", 
		  markerPtr->name_, markerPtr->className());
    markerPtr->print(psPtr);
  }
}
Exemple #4
0
Marker* Graph::nearestMarker(int x, int y, int under)
{
  Point2d point;
  point.x = (double)x;
  point.y = (double)y;
  for (ChainLink* link = Chain_FirstLink(markers_.displayList); link;
       link = Chain_NextLink(link)) {
    Marker* markerPtr = (Marker*)Chain_GetValue(link);
    MarkerOptions* mops = (MarkerOptions*)markerPtr->ops();

    if ((markerPtr->flags & MAP_ITEM) || mops->hide)
      continue;

    if (isElementHidden(markerPtr))
      continue;

    if (mops->drawUnder == under)
      if (markerPtr->pointIn(&point))
	return markerPtr;
  }
  return NULL;
}