picture: Set overflow to be hidden

The new content-fit property was wrongly suggesting to manually set
widgets' overflow property, but that property is not really intended to
be set by external code. This commit removes those suggestions and
directly set picture's overflow to be hidden.
This commit is contained in:
Marco Melorio 2022-07-16 01:31:19 +02:00
parent a08bc46936
commit f1faa71d6d
3 changed files with 5 additions and 10 deletions

View File

@ -1266,7 +1266,6 @@ Suspendisse feugiat quam quis dolor accumsan cursus.</property>
<object class="GtkPicture"> <object class="GtkPicture">
<property name="file">resource:///org/gtk/WidgetFactory4/sunset.jpg</property> <property name="file">resource:///org/gtk/WidgetFactory4/sunset.jpg</property>
<property name="content-fit">cover</property> <property name="content-fit">cover</property>
<property name="overflow">hidden</property>
<child> <child>
<object class="GtkDragSource"> <object class="GtkDragSource">
<signal name="prepare" handler="on_picture_drag_prepare" swapped="no"/> <signal name="prepare" handler="on_picture_drag_prepare" swapped="no"/>

View File

@ -121,10 +121,9 @@ typedef enum
* content will appear as letterboxed if its aspect ratio is different * content will appear as letterboxed if its aspect ratio is different
* from the allocation aspect ratio. * from the allocation aspect ratio.
* @GTK_CONTENT_FIT_COVER: Cover the entire allocation, while taking * @GTK_CONTENT_FIT_COVER: Cover the entire allocation, while taking
* the content aspect ratio in consideration. This can result in an overflow * the content aspect ratio in consideration. The resulting content
* if the content aspect ratio is different from the allocation aspect ratio. * will appear as clipped if its aspect ratio is different from the
* For this reason, you may also want to set [property@Gtk.Widget:overflow] * allocation aspect ratio.
* to %GTK_OVERFLOW_HIDDEN.
* @GTK_CONTENT_FIT_SCALE_DOWN: The content is scaled down to fit the * @GTK_CONTENT_FIT_SCALE_DOWN: The content is scaled down to fit the
* allocation, if needed, otherwise its original size is used. * allocation, if needed, otherwise its original size is used.
* *

View File

@ -474,6 +474,8 @@ gtk_picture_init (GtkPicture *self)
{ {
self->can_shrink = TRUE; self->can_shrink = TRUE;
self->content_fit = GTK_CONTENT_FIT_CONTAIN; self->content_fit = GTK_CONTENT_FIT_CONTAIN;
gtk_widget_set_overflow (GTK_WIDGET (self), GTK_OVERFLOW_HIDDEN);
} }
/** /**
@ -972,11 +974,6 @@ gtk_picture_get_can_shrink (GtkPicture *self)
* Sets how the content should be resized to fit the `GtkPicture`. * Sets how the content should be resized to fit the `GtkPicture`.
* *
* See [enum@Gtk.ContentFit] for details. * See [enum@Gtk.ContentFit] for details.
*
* If you use `GTK_CONTENT_FIT_COVER`, you may also want to set the
* [property@Gtk.Widget:overflow] to `GTK_OVERFLOW_HIDDEN`, otherwise the
* paintable will overflow the widget allocation if the aspect ratio of the
* paintable is different from the one of the `GtkPicture` allocation.
*/ */
void void
gtk_picture_set_content_fit (GtkPicture *self, gtk_picture_set_content_fit (GtkPicture *self,