Go to the documentation of this file.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 class TimelineRenderer(object):
00034 """
00035 A custom renderer for interval of time of a topic on the timeline.
00036
00037 @param msg_combine_px: don't draw discrete messages if they're less than this many pixels separated [default: 1.5]
00038 @type msg_combine_px: float
00039 """
00040 def __init__(self, timeline, msg_combine_px=1.5):
00041 self.timeline = timeline
00042 self.msg_combine_px = msg_combine_px
00043
00044 def get_segment_height(self, topic):
00045 """
00046 Get the height of the topic segment on the timeline.
00047
00048 @param topic: topic name to draw
00049 @type topic: str
00050 @return: height in pixels of the topic segment. If none, the timeline default is used.
00051 @rtype: int or None
00052 """
00053 return None
00054
00055 def draw_timeline_segment(self, dc, topic, stamp_start, stamp_end, x, y, width, height):
00056 """
00057 Draw the timeline segment.
00058
00059 @param dc: Cairo context to render into
00060 @param topic: topic name
00061 @param stamp_start: start of the interval on the timeline
00062 @param stamp_end: start of the interval on the timeline
00063 @param x: x coordinate of the timeline interval
00064 @param y: y coordinate of the timeline interval
00065 @param width: width in pixels of the timeline interval
00066 @param height: height in pixels of the timeline interval
00067 @return: whether the interval was renderered
00068 @rtype: bool
00069 """
00070 return False
00071
00072 def close(self):
00073 """
00074 Close the renderer, releasing any resources.
00075 """
00076 pass
00077