Lines Matching refs:widget
49 _calculate_par (GtkGstBaseWidget * widget, GstVideoInfo * info) in _calculate_par() argument
62 if (widget->video_par_n != 0 && widget->video_par_d != 0) { in _calculate_par()
63 par_n = widget->video_par_n; in _calculate_par()
64 par_d = widget->video_par_d; in _calculate_par()
74 if (widget->par_n != 0 && widget->par_d != 0) { in _calculate_par()
75 display_par_n = widget->par_n; in _calculate_par()
76 display_par_d = widget->par_d; in _calculate_par()
83 ok = gst_video_calculate_display_ratio (&widget->display_ratio_num, in _calculate_par()
84 &widget->display_ratio_den, width, height, par_n, par_d, display_par_n, in _calculate_par()
97 _apply_par (GtkGstBaseWidget * widget) in _apply_par() argument
102 width = GST_VIDEO_INFO_WIDTH (&widget->v_info); in _apply_par()
103 height = GST_VIDEO_INFO_HEIGHT (&widget->v_info); in _apply_par()
108 display_ratio_num = widget->display_ratio_num; in _apply_par()
109 display_ratio_den = widget->display_ratio_den; in _apply_par()
113 widget->display_width = (guint) in _apply_par()
116 widget->display_height = height; in _apply_par()
119 widget->display_width = width; in _apply_par()
120 widget->display_height = (guint) in _apply_par()
124 widget->display_width = (guint) in _apply_par()
127 widget->display_height = height; in _apply_par()
130 GST_DEBUG ("scaling to %dx%d", widget->display_width, widget->display_height); in _apply_par()
134 _queue_draw (GtkGstBaseWidget * widget) in _queue_draw() argument
136 GTK_GST_BASE_WIDGET_LOCK (widget); in _queue_draw()
137 widget->draw_id = 0; in _queue_draw()
139 if (widget->pending_resize) { in _queue_draw()
140 widget->pending_resize = FALSE; in _queue_draw()
142 widget->v_info = widget->pending_v_info; in _queue_draw()
143 widget->negotiated = TRUE; in _queue_draw()
145 _apply_par (widget); in _queue_draw()
147 gtk_widget_queue_resize (GTK_WIDGET (widget)); in _queue_draw()
149 gtk_widget_queue_draw (GTK_WIDGET (widget)); in _queue_draw()
152 GTK_GST_BASE_WIDGET_UNLOCK (widget); in _queue_draw()
158 _update_par (GtkGstBaseWidget * widget) in _update_par() argument
160 GTK_GST_BASE_WIDGET_LOCK (widget); in _update_par()
161 if (widget->pending_resize) { in _update_par()
162 GTK_GST_BASE_WIDGET_UNLOCK (widget); in _update_par()
166 if (!_calculate_par (widget, &widget->v_info)) { in _update_par()
167 GTK_GST_BASE_WIDGET_UNLOCK (widget); in _update_par()
171 widget->pending_resize = TRUE; in _update_par()
172 if (!widget->draw_id) { in _update_par()
173 widget->draw_id = g_idle_add_full (G_PRIORITY_HIGH_IDLE + 10, in _update_par()
174 (GSourceFunc) _queue_draw, widget, NULL); in _update_par()
176 GTK_GST_BASE_WIDGET_UNLOCK (widget); in _update_par()
180 gtk_gst_base_widget_get_preferred_width (GtkWidget * widget, gint * min, in gtk_gst_base_widget_get_preferred_width() argument
183 GtkGstBaseWidget *gst_widget = (GtkGstBaseWidget *) widget; in gtk_gst_base_widget_get_preferred_width()
196 gtk_gst_base_widget_get_preferred_height (GtkWidget * widget, gint * min, in gtk_gst_base_widget_get_preferred_height() argument
199 GtkGstBaseWidget *gst_widget = (GtkGstBaseWidget *) widget; in gtk_gst_base_widget_get_preferred_height()
285 gtk_gst_base_widget_key_event (GtkWidget * widget, GdkEventKey * event) in gtk_gst_base_widget_key_event() argument
287 GtkGstBaseWidget *base_widget = GTK_GST_BASE_WIDGET (widget); in gtk_gst_base_widget_key_event()
374 gtk_gst_base_widget_button_event (GtkWidget * widget, GdkEventButton * event) in gtk_gst_base_widget_button_event() argument
376 GtkGstBaseWidget *base_widget = GTK_GST_BASE_WIDGET (widget); in gtk_gst_base_widget_button_event()
394 gtk_gst_base_widget_motion_event (GtkWidget * widget, GdkEventMotion * event) in gtk_gst_base_widget_motion_event() argument
396 GtkGstBaseWidget *base_widget = GTK_GST_BASE_WIDGET (widget); in gtk_gst_base_widget_motion_event()
411 gtk_gst_base_widget_scroll_event (GtkWidget * widget, GdkEventScroll * event) in gtk_gst_base_widget_scroll_event() argument
413 GtkGstBaseWidget *base_widget = GTK_GST_BASE_WIDGET (widget); in gtk_gst_base_widget_scroll_event()
507 gtk_gst_base_widget_init (GtkGstBaseWidget * widget) in gtk_gst_base_widget_init() argument
511 widget->force_aspect_ratio = DEFAULT_FORCE_ASPECT_RATIO; in gtk_gst_base_widget_init()
512 widget->par_n = DEFAULT_DISPLAY_PAR_N; in gtk_gst_base_widget_init()
513 widget->par_d = DEFAULT_DISPLAY_PAR_D; in gtk_gst_base_widget_init()
514 widget->video_par_n = DEFAULT_VIDEO_PAR_N; in gtk_gst_base_widget_init()
515 widget->video_par_d = DEFAULT_VIDEO_PAR_D; in gtk_gst_base_widget_init()
516 widget->ignore_alpha = DEFAULT_IGNORE_ALPHA; in gtk_gst_base_widget_init()
518 gst_video_info_init (&widget->v_info); in gtk_gst_base_widget_init()
519 gst_video_info_init (&widget->pending_v_info); in gtk_gst_base_widget_init()
521 g_weak_ref_init (&widget->element, NULL); in gtk_gst_base_widget_init()
522 g_mutex_init (&widget->lock); in gtk_gst_base_widget_init()
524 gtk_widget_set_can_focus (GTK_WIDGET (widget), TRUE); in gtk_gst_base_widget_init()
525 event_mask = gtk_widget_get_events (GTK_WIDGET (widget)); in gtk_gst_base_widget_init()
531 gtk_widget_set_events (GTK_WIDGET (widget), event_mask); in gtk_gst_base_widget_init()
537 GtkGstBaseWidget *widget = GTK_GST_BASE_WIDGET (object); in gtk_gst_base_widget_finalize() local
539 gst_buffer_replace (&widget->pending_buffer, NULL); in gtk_gst_base_widget_finalize()
540 gst_buffer_replace (&widget->buffer, NULL); in gtk_gst_base_widget_finalize()
541 g_mutex_clear (&widget->lock); in gtk_gst_base_widget_finalize()
542 g_weak_ref_clear (&widget->element); in gtk_gst_base_widget_finalize()
544 if (widget->draw_id) in gtk_gst_base_widget_finalize()
545 g_source_remove (widget->draw_id); in gtk_gst_base_widget_finalize()
549 gtk_gst_base_widget_set_element (GtkGstBaseWidget * widget, in gtk_gst_base_widget_set_element() argument
552 g_weak_ref_set (&widget->element, element); in gtk_gst_base_widget_set_element()
556 gtk_gst_base_widget_set_format (GtkGstBaseWidget * widget, in gtk_gst_base_widget_set_format() argument
559 GTK_GST_BASE_WIDGET_LOCK (widget); in gtk_gst_base_widget_set_format()
561 if (gst_video_info_is_equal (&widget->pending_v_info, v_info)) { in gtk_gst_base_widget_set_format()
562 GTK_GST_BASE_WIDGET_UNLOCK (widget); in gtk_gst_base_widget_set_format()
566 if (!_calculate_par (widget, v_info)) { in gtk_gst_base_widget_set_format()
567 GTK_GST_BASE_WIDGET_UNLOCK (widget); in gtk_gst_base_widget_set_format()
571 widget->pending_resize = TRUE; in gtk_gst_base_widget_set_format()
572 widget->pending_v_info = *v_info; in gtk_gst_base_widget_set_format()
574 GTK_GST_BASE_WIDGET_UNLOCK (widget); in gtk_gst_base_widget_set_format()
580 gtk_gst_base_widget_set_buffer (GtkGstBaseWidget * widget, GstBuffer * buffer) in gtk_gst_base_widget_set_buffer() argument
583 g_return_if_fail (GTK_IS_WIDGET (widget)); in gtk_gst_base_widget_set_buffer()
585 GTK_GST_BASE_WIDGET_LOCK (widget); in gtk_gst_base_widget_set_buffer()
587 gst_buffer_replace (&widget->pending_buffer, buffer); in gtk_gst_base_widget_set_buffer()
589 if (!widget->draw_id) { in gtk_gst_base_widget_set_buffer()
590 widget->draw_id = g_idle_add_full (G_PRIORITY_DEFAULT, in gtk_gst_base_widget_set_buffer()
591 (GSourceFunc) _queue_draw, widget, NULL); in gtk_gst_base_widget_set_buffer()
594 GTK_GST_BASE_WIDGET_UNLOCK (widget); in gtk_gst_base_widget_set_buffer()
598 gtk_gst_base_widget_queue_draw (GtkGstBaseWidget * widget) in gtk_gst_base_widget_queue_draw() argument
601 g_return_if_fail (GTK_IS_WIDGET (widget)); in gtk_gst_base_widget_queue_draw()
603 GTK_GST_BASE_WIDGET_LOCK (widget); in gtk_gst_base_widget_queue_draw()
605 if (!widget->draw_id) { in gtk_gst_base_widget_queue_draw()
606 widget->draw_id = g_idle_add_full (G_PRIORITY_DEFAULT, in gtk_gst_base_widget_queue_draw()
607 (GSourceFunc) _queue_draw, widget, NULL); in gtk_gst_base_widget_queue_draw()
610 GTK_GST_BASE_WIDGET_UNLOCK (widget); in gtk_gst_base_widget_queue_draw()