Class: Gtk::Overlay
- Defined in:
- (unknown)
Overview
GtkOverlay is a container which contains a single main child, on top
of which it can place “overlay” widgets.

The position of each overlay widget is determined by its
[propertyGtk.Widget:halign] and [propertyGtk.Widget:valign]
properties. E.g. a widget with both alignments set to %GTK_ALIGN_START
will be placed at the top left corner of the GtkOverlay container,
whereas an overlay with halign set to %GTK_ALIGN_CENTER and valign set
to %GTK_ALIGN_END will be placed a the bottom edge of the GtkOverlay,
horizontally centered. The position can be adjusted by setting the margin
properties of the child to non-zero values.
More complicated placement of overlays is possible by connecting to the [signalGtk.Overlay::get-child-position] signal.
An overlay’s minimum and natural sizes are those of its main child. The sizes of overlay children are not considered when measuring these preferred sizes.
GtkOverlay as GtkBuildable
The GtkOverlay implementation of the GtkBuildable interface
supports placing a child as an overlay by specifying “overlay” as
the “type” attribute of a <child> element.
CSS nodes
GtkOverlay has a single CSS node with the name “overlay”. Overlay children
whose alignments cause them to be positioned at an edge get the style classes
“.left”, “.right”, “.top”, and/or “.bottom” according to their position.
Instance Method Summary collapse
-
#add_overlay(widget) ⇒ nil
Adds widget to overlay.
-
#child ⇒ Gtk::Widget
The main child widget.
-
#child=(child) ⇒ Gtk::Widget
The main child widget.
-
#get_clip_overlay(widget) ⇒ Boolean
Gets whether widget should be clipped within the parent.
-
#get_measure_overlay(widget) ⇒ Boolean
Gets whether widget's size is included in the measurement of overlay.
-
#initialize ⇒ Gtk::Widget
constructor
Creates a new
GtkOverlay. -
#remove_overlay(widget) ⇒ nil
Removes an overlay that was added with gtk_overlay_add_overlay().
-
#set_clip_overlay(widget, clip_overlay) ⇒ nil
Sets whether widget should be clipped within the parent.
-
#set_measure_overlay(widget, measure) ⇒ nil
Sets whether widget is included in the measured size of overlay.
Methods inherited from Widget
#accessible_role, #accessible_role=, #action_set_enabled, #activate, #activate_action, #activate_action_variant, #activate_default, #activate_signal, #activate_signal=, #activate_signal_from_name=, #add_binding, #add_binding_action, #add_binding_signal, #add_controller, #add_css_class, #add_mnemonic_label, #add_shortcut, #add_tick_callback, #allocate, #allocated_baseline, #allocated_height, #allocated_width, #baseline, #bind_template_callback_full, #bind_template_child, #bind_template_child_full, #can_focus, #can_focus=, #can_focus?, #can_target, #can_target=, #can_target?, #child_focus, #child_visible, #child_visible=, #children, #clipboard, #compute_bounds, #compute_expand, #compute_point, #compute_transform, #contains, #create_pango_context, #create_pango_layout, #css_classes, #css_classes=, #css_name, #css_name=, #cursor, #cursor=, #cursor_from_name=, default_direction, default_direction=, #direction, #direction=, #display, #dispose_template, #drag_check_threshold, #error_bell, #first_child, #focus_child, #focus_child=, #focus_on_click, #focus_on_click=, #focus_on_click?, #focusable, #focusable=, #focusable?, #font_map, #font_map=, #font_options, #font_options=, #frame_clock, #get_allocation, #get_ancestor, #get_color, #get_preferred_size, #get_size, #get_size_request, #get_template_child, #grab_focus, #halign, #halign=, #has_css_class, #has_default, #has_default=, #has_default?, #has_focus, #has_focus=, #has_focus?, #has_tooltip, #has_tooltip=, #has_tooltip?, #has_visible_focus, have_template?, #height, #height_request, #height_request=, #hexpand, #hexpand=, #hexpand?, #hexpand_set, #hexpand_set=, #hexpand_set?, #hide, #in_destruction, #init_template, #insert_action_group, #insert_action_group_raw, #insert_after, #insert_before, #install_action, #install_property_action, #is_ancestor, #is_drawable, #is_focus, #is_sensitive, #is_visible, #keynav_failed, #last_child, #layout_manager, #layout_manager=, #layout_manager_type, #layout_manager_type=, #list_mnemonic_labels, #map, #mapped, #margin_bottom, #margin_bottom=, #margin_end, #margin_end=, #margin_start, #margin_start=, #margin_top, #margin_top=, #measure, #mnemonic_activate, #name, #name=, #native, #next_sibling, #observe_children, #observe_controllers, #opacity, #opacity=, #overflow, #overflow=, #pango_context, #parent, #parent=, #pick, #prev_sibling, #primary_clipboard, #query_action, #queue_allocate, #queue_draw, #queue_resize, #realize, #realized, #receives_default, #receives_default=, #receives_default?, #remove_controller, #remove_css_class, #remove_mnemonic_label, #remove_tick_callback, #request_mode, #root, #root=, #scale_factor, #scale_factor=, #sensitive, #sensitive=, #sensitive?, #set_size_request, #set_size_request_raw, #set_state_flags, #set_template, #set_template_raw, #settings, #should_layout, #show, #size_allocate, #snapshot_child, #state_flags, #style_context, #style_context_raw, #template=, template_children, #template_from_resource=, #template_scope=, #tooltip_markup, #tooltip_markup=, #tooltip_text, #tooltip_text=, #translate_coordinates, #translate_coordinates_raw, #trigger_tooltip_query, #unmap, #unparent, #unrealize, #unset_state_flags, #valign, #valign=, #vexpand, #vexpand=, #vexpand?, #vexpand_set, #vexpand_set=, #vexpand_set?, #visible, #visible=, #visible?, #width, #width_request, #width_request=
Constructor Details
#initialize ⇒ Gtk::Widget
Creates a new GtkOverlay.
Instance Method Details
#add_overlay(widget) ⇒ nil
Adds widget to overlay.
The widget will be stacked on top of the main widget added with [methodGtk.Overlay.set_child].
The position at which widget is placed is determined from its [propertyGtk.Widget:halign] and [propertyGtk.Widget:valign] properties.
#child ⇒ Gtk::Widget
The main child widget.
#child=(child) ⇒ Gtk::Widget
The main child widget.
#get_clip_overlay(widget) ⇒ Boolean
Gets whether widget should be clipped within the parent.
#get_measure_overlay(widget) ⇒ Boolean
Gets whether widget's size is included in the measurement of overlay.
#remove_overlay(widget) ⇒ nil
Removes an overlay that was added with gtk_overlay_add_overlay().
#set_clip_overlay(widget, clip_overlay) ⇒ nil
Sets whether widget should be clipped within the parent.
#set_measure_overlay(widget, measure) ⇒ nil
Sets whether widget is included in the measured size of overlay.
The overlay will request the size of the largest child that has this property set to true. Children who are not included may be drawn outside of overlay's allocation if they are too large.