gtk3/docs/reference/gtk/html/ch32s05.html
2022-11-23 15:09:27 +00:00

76 lines
4.1 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Changes in GTK+ 3.10: GTK+ 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
<link rel="up" href="gtk-migrating-3-x-to-y.html" title="Migrating from one GTK+ 3 release to another">
<link rel="prev" href="ch32s04.html" title="Changes in GTK+ 3.8">
<link rel="next" href="ch32s06.html" title="Changes in GTK+ 3.12">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gtk-migrating-3-x-to-y.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch32s04.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="ch32s06.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="section">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id-1.6.9.8"></a>Changes in GTK+ 3.10</h2></div></div></div>
<p>
GDK has been changed to allow only a single screen per display.
Only the X11 backend had multiple screens before, and multi-screen
setups (not multi-monitor!) are very rare nowadays. If you really
need multiple X screens, open them as separate displays.
</p>
<p>
The behavior of GtkBox::expand has been changed to never propagate
up. Previously, this was happening inconsistently. If you want the
expand to propagate, use the GtkWidget h/v expand properties.
If you experience sizing problems with widgets in ported code,
carefully check the expand and fill flags of your boxes.
</p>
<p>
GtkBin no longer provides default implementations for
get_height_for_width, subclasses now have to provide their own
implementation if they need height-for-width functionality.
</p>
<p>
Widget state propagation has been changed. Historically, all of
active, prelight, selected, insensitive, inconsistent and backdrop
have been propagated to children. This has now been restricted
to just the insensitive and backdrop states. This mostly affects
theming.
</p>
<p>
The way widget drawing happens has changed. Earlier versions handled
one expose event per GdkWindow, each with a separate cairo_t. Now we
only handle the expose event on the toplevel and reuse the same
cairo_t (with the right translation and clipping) for the entire
widget hierarchy, recursing down via the GtkWidget::draw signal.
Having all rendering in the same call tree allows effects like
opacity and offscreen rendering of entire widget sub-hierarchies.
Generally this should not require any changes in widgets, but
code looking at e.g. the current expose event may see different
behavior than before.
</p>
<p>
The Gtk+ scrolling implementation has changed. <code class="function">gdk_window_scroll()</code>
and <code class="function">gdk_window_move_region()</code> no longer copy the region on the
window, but rather invalidate the entire scrolled region. This is
slightly slower, but allowed us to implement a offscreen surface
scrolling method which better fits modern hardware. Most scrolling
widgets in Gtk+ have been converted to use this model for scrolling,
but external widgets implementing scrolling using GdkWindow may see
some slowdown.
</p>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>