mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-06 16:50:11 +00:00
iconview: Add documentation abour different sizes
Did I mention I hate code that has different kinds of "boxes" or coordinate systems but no clear way to distinguish them? It's all ints here... https://bugzilla.gnome.org/show_bug.cgi?id=677809
This commit is contained in:
parent
c32a5a80b7
commit
4b83be0e26
@ -1393,6 +1393,31 @@ adjust_wrap_width (GtkIconView *icon_view)
|
||||
}
|
||||
}
|
||||
|
||||
/* General notes about layout
|
||||
*
|
||||
* The icon view is layouted like this:
|
||||
*
|
||||
* +----------+ s +----------+
|
||||
* | padding | p | padding |
|
||||
* | +------+ | a | +------+ |
|
||||
* | | cell | | c | | cell | |
|
||||
* | +------+ | i | +------+ |
|
||||
* | | n | |
|
||||
* +----------+ g +----------+
|
||||
*
|
||||
* In size request and allocation code, there are 3 sizes that are used:
|
||||
* * cell size
|
||||
* This is the size returned by gtk_cell_area_get_preferred_foo(). In places
|
||||
* where code is interacting with the cell area and renderers this is useful.
|
||||
* * padded size
|
||||
* This is the cell size plus the item padding on each side.
|
||||
* * spaced size
|
||||
* This is the padded size plus the spacing. This is what's used for most
|
||||
* calculations because it can (ab)use the following formula:
|
||||
* iconview_size = 2 * margin + n_items * spaced_size - spacing
|
||||
* So when reading this code and fixing my bugs where I confuse these two, be
|
||||
* aware of this distinction.
|
||||
*/
|
||||
static void
|
||||
cell_area_get_preferred_size (GtkIconView *icon_view,
|
||||
GtkCellAreaContext *context,
|
||||
|
Loading…
Reference in New Issue
Block a user