00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 PKG = 'rxbag'
00034 import roslib; roslib.load_manifest(PKG)
00035
00036 class TimelineRenderer(object):
00037 """
00038 A custom renderer for interval of time of a topic on the timeline.
00039
00040 @param msg_combine_px: don't draw discrete messages if they're less than this many pixels separated [default: 1.5]
00041 @type msg_combine_px: float
00042 """
00043 def __init__(self, timeline, msg_combine_px=1.5):
00044 self.timeline = timeline
00045 self.msg_combine_px = msg_combine_px
00046
00047 def get_segment_height(self, topic):
00048 """
00049 Get the height of the topic segment on the timeline.
00050
00051 @param topic: topic name to draw
00052 @type topic: str
00053 @return: height in pixels of the topic segment. If none, the timeline default is used.
00054 @rtype: int or None
00055 """
00056 return None
00057
00058 def draw_timeline_segment(self, dc, topic, stamp_start, stamp_end, x, y, width, height):
00059 """
00060 Draw the timeline segment.
00061
00062 @param dc: Cairo context to render into
00063 @param topic: topic name
00064 @param stamp_start: start of the interval on the timeline
00065 @param stamp_end: start of the interval on the timeline
00066 @param x: x coordinate of the timeline interval
00067 @param y: y coordinate of the timeline interval
00068 @param width: width in pixels of the timeline interval
00069 @param height: height in pixels of the timeline interval
00070 @return: whether the interval was renderered
00071 @rtype: bool
00072 """
00073 return False
00074
00075 def close(self):
00076 """
00077 Close the renderer, releasing any resources.
00078 """
00079 pass
00080