{ "nograbs", GDK_DEBUG_NOGRABS, "Disable pointer and keyboard grabs (X11)", TRUE },
{ "portals", GDK_DEBUG_PORTALS, "Force the use of portals", TRUE },
{ "gl-disable", GDK_DEBUG_GL_DISABLE, "Disable OpenGL support", TRUE },
- { "gl-software", GDK_DEBUG_GL_SOFTWARE, "Force OpenGL software rendering" },
{ "gl-texture-rect", GDK_DEBUG_GL_TEXTURE_RECT, "Use OpenGL texture rectangle extension" },
{ "gl-legacy", GDK_DEBUG_GL_LEGACY, "Use a legacy OpenGL context" },
{ "gl-gles", GDK_DEBUG_GL_GLES, "Only allow OpenGL GLES API" },
GtkWidget *misc_box;
GtkWidget *touchscreen_switch;
- GtkWidget *software_gl_switch;
GtkInspectorOverlay *fps_overlay;
GtkInspectorOverlay *updates_overlay;
GtkSwitch *sw = GTK_SWITCH (vis->touchscreen_switch);
gtk_switch_set_active (sw, !gtk_switch_get_active (sw));
}
- else if (gtk_widget_is_ancestor (vis->software_gl_switch, GTK_WIDGET (row)))
- {
- GtkSwitch *sw = GTK_SWITCH (vis->software_gl_switch);
- gtk_switch_set_active (sw, !gtk_switch_get_active (sw));
- }
}
static void
init_gl (GtkInspectorVisual *vis)
{
- GdkDebugFlags flags = gdk_display_get_debug_flags (vis->display);
-
- gtk_switch_set_active (GTK_SWITCH (vis->software_gl_switch), flags & GDK_DEBUG_GL_SOFTWARE);
-
- if (flags & GDK_DEBUG_GL_DISABLE)
- {
- GtkWidget *row;
-
- gtk_widget_set_sensitive (vis->software_gl_switch, FALSE);
- row = gtk_widget_get_ancestor (vis->software_gl_switch, GTK_TYPE_LIST_BOX_ROW);
- gtk_widget_set_tooltip_text (row, _("GL rendering is disabled"));
- }
-}
-
-static void
-update_gl_flag (GtkSwitch *sw,
- GdkDebugFlags flag,
- GtkInspectorVisual *vis)
-{
- GdkDebugFlags flags = gdk_display_get_debug_flags (vis->display);
-
- if (gtk_switch_get_active (sw))
- flags |= flag;
- else
- flags &= ~flag;
-
- gdk_display_set_debug_flags (vis->display, flags);
-}
-
-static void
-software_gl_activate (GtkSwitch *sw,
- GParamSpec *pspec,
- GtkInspectorVisual *vis)
-{
- update_gl_flag (sw, GDK_DEBUG_GL_SOFTWARE, vis);
}
static void
gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, debug_box);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, font_button);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, misc_box);
- gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, software_gl_switch);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, font_scale_entry);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, font_scale_adjustment);
gtk_widget_class_bind_template_child (widget_class, GtkInspectorVisual, fps_switch);
gtk_widget_class_bind_template_callback (widget_class, baselines_activate);
gtk_widget_class_bind_template_callback (widget_class, layout_activate);
gtk_widget_class_bind_template_callback (widget_class, focus_activate);
- gtk_widget_class_bind_template_callback (widget_class, software_gl_activate);
gtk_widget_class_bind_template_callback (widget_class, inspect_inspector);
gtk_widget_class_set_layout_manager_type (widget_class, GTK_TYPE_BIN_LAYOUT);
</child>
</object>
</child>
- <child>
- <object class="GtkListBoxRow">
- <child>
- <object class="GtkBox">
- <property name="spacing">40</property>
- <child>
- <object class="GtkLabel" id="software_gl_label">
- <property name="label" translatable="yes">Software GL</property>
- <property name="halign">start</property>
- <property name="valign">baseline</property>
- <property name="xalign">0.0</property>
- </object>
- </child>
- <child>
- <object class="GtkSwitch" id="software_gl_switch">
- <property name="halign">end</property>
- <property name="valign">center</property>
- <property name="hexpand">1</property>
- <signal name="notify::active" handler="software_gl_activate"/>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
</object>
</child>
</object>
<widget name="layout_label_box"/>
<widget name="focus_label"/>
<widget name="touchscreen_label"/>
- <widget name="software_gl_label"/>
</widgets>
</object>
<object class="GtkSizeGroup">