LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context);
TimeInterval time_span = tsc->time_span;
GtkAdjustment *adjustment = gtk_range_get_adjustment(GTK_RANGE(tab->scrollbar));
+ LttTime upper = ltt_time_sub(time_span.end_time, time_span.start_time);
g_object_set(G_OBJECT(adjustment),
"lower",
- ltt_time_to_double(time_span.start_time)
- * NANOSECONDS_PER_SECOND, /* lower */
+ 0.0, /* lower */
"upper",
- ltt_time_to_double(time_span.end_time)
+ ltt_time_to_double(upper)
* NANOSECONDS_PER_SECOND, /* upper */
"step_increment",
ltt_time_to_double(tab->time_window.time_width)
g_object_set(G_OBJECT(adjustment),
"value",
- ltt_time_to_double(tab->time_window.start_time)
- * NANOSECONDS_PER_SECOND, /* value */
+ ltt_time_to_double(
+ ltt_time_sub(tab->time_window.start_time, time_span.start_time))
+ * NANOSECONDS_PER_SECOND, /* value */
NULL);
gtk_adjustment_value_changed(adjustment);
//
//
+ LttTime rel_time =
+ ltt_time_sub(new_time_window.start_time, time_span.start_time);
if( ltt_time_to_double(new_time_window.time_width)
* NANOSECONDS_PER_SECOND
/ SCROLL_STEP_PER_PAGE/* step increment */
+
- ltt_time_to_double(new_time_window.start_time)
- * NANOSECONDS_PER_SECOND /* page size */
+ ltt_time_to_double(rel_time) * NANOSECONDS_PER_SECOND /* page size */
==
- ltt_time_to_double(new_time_window.start_time)
- * NANOSECONDS_PER_SECOND /* page size */
+ ltt_time_to_double(rel_time) * NANOSECONDS_PER_SECOND /* page size */
) {
g_warning("Can not zoom that far due to scrollbar precision");
} else if(
//ltt_time_to_double(new_time_window.start_time)
// * NANOSECONDS_PER_SECOND, /* value */
"lower",
- ltt_time_to_double(time_span.start_time)
- * NANOSECONDS_PER_SECOND, /* lower */
+ 0.0, /* lower */
"upper",
- ltt_time_to_double(time_span.end_time)
+ ltt_time_to_double(
+ ltt_time_sub(time_span.end_time, time_span.start_time))
* NANOSECONDS_PER_SECOND, /* upper */
"step_increment",
ltt_time_to_double(new_time_window.time_width)
//gtk_adjustment_value_changed(adjustment);
g_object_set(G_OBJECT(adjustment),
"value",
- ltt_time_to_double(new_time_window.start_time)
+ ltt_time_to_double(
+ ltt_time_sub(new_time_window.start_time, time_span.start_time))
* NANOSECONDS_PER_SECOND, /* value */
NULL);
gtk_adjustment_value_changed(adjustment);
{
Tab *tab = (Tab *)user_data;
TimeWindow time_window;
- TimeInterval *time_span;
LttTime time;
GtkAdjustment *adjust = gtk_range_get_adjustment(GTK_RANGE(scrollbar));
gdouble value = gtk_adjustment_get_value(adjust);
gdouble upper, lower, ratio, page_size;
LttvTracesetContext * tsc =
LTTV_TRACESET_CONTEXT(tab->traceset_info->traceset_context);
+ TimeInterval time_span = tsc->time_span;
//time_window = tab->time_window;
- time_span = &tsc->time_span ;
lower = adjust->lower;
upper = adjust->upper;
ratio = (value - lower) / (upper - lower);
//time = ltt_time_sub(time_span->end_time, time_span->start_time);
//time = ltt_time_mul(time, (float)ratio);
//time = ltt_time_add(time_span->start_time, time);
- time = ltt_time_from_double(value/NANOSECONDS_PER_SECOND);
+ time = ltt_time_add(ltt_time_from_double(value/NANOSECONDS_PER_SECOND),
+ time_span.start_time);
time_window.start_time = time;
time_window.time_width =
ltt_time_from_double(page_size/NANOSECONDS_PER_SECOND);
- //time = ltt_time_sub(time_span->end_time, time);
+ //time = ltt_time_sub(time_span.end_time, time);
//if(ltt_time_compare(time,time_window.time_width) < 0){
// time_window.time_width = time;
//}