Blame docs/widget_geometry.txt

Packit Service fb6fa5
This file is some notes about how different widgets are drawn.
Packit Service fb6fa5
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
GtkMenu
Packit Service fb6fa5
Packit Service fb6fa5
=============
Packit Service fb6fa5
+----------------------------------------------------------------------------+
Packit Service fb6fa5
|                                A                                           |
Packit Service fb6fa5
| +------------------------------------------------------------------------+ |
Packit Service fb6fa5
| |############################# C ########################################| |
Packit Service fb6fa5
| |#                             D                                        #| |
Packit Service fb6fa5
| |# +-------------------------------------------------------------------+#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                      Item 1                                       |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# +-------------------------------------------------------------------+#| |
Packit Service fb6fa5
| |# +-------------------------------------------------------------------+#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
|A|B |                                                                   |B|A|
Packit Service fb6fa5
| |# |                      Item 2                                       |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# +-------------------------------------------------------------------+#| |
Packit Service fb6fa5
| |#                        [...]                                         #| |
Packit Service fb6fa5
| |# +-------------------------------------------------------------------+#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                      Item n                                       |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# |                                                                   |#| |
Packit Service fb6fa5
| |# +-------------------------------------------------------------------+#| |
Packit Service fb6fa5
| |#                             D                                        #| |
Packit Service fb6fa5
| |############################# C ########################################| |
Packit Service fb6fa5
| +------------------------------------------------------------------------| |
Packit Service fb6fa5
|                                A                                           |
Packit Service fb6fa5
+----------------------------------------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: GtkContainer::border_width
Packit Service fb6fa5
B: xthickness
Packit Service fb6fa5
C: ythickness
Packit Service fb6fa5
D: vertical_padding
Packit Service fb6fa5
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
GtkMenuItem
Packit Service fb6fa5
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
+----------------------------------------------------------------------------+
Packit Service fb6fa5
|                                A                                           |
Packit Service fb6fa5
| +------------------------------------------------------------------------+ |
Packit Service fb6fa5
| |############################# C ########################################| |
Packit Service fb6fa5
| |#+-+------------+--+-------------------------------+--+-------------+-+#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                  /|\          |**|             | |#| |
Packit Service fb6fa5
| |#| |<------E------>|                   |           |**|      G      | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|             | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|   >>        | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|   >>>>      | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|   >>>>>>    | |#| |
Packit Service fb6fa5
|A|B|D|\\\\\\\\\\\\| F|      Child        G           |*H|   >>>>>>>>  |D|B|A|
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|   >>>>>>    | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|   >>>>      | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|   >>        | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|             | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                   |           |**|             | |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\|  |                  \|/          |**|             | |#| |
Packit Service fb6fa5
| |#+-+------------+--+-------------------------------+--+-------------+-+#| |
Packit Service fb6fa5
| |############################# C ########################################| |
Packit Service fb6fa5
| +------------------------------------------------------------------------+ |
Packit Service fb6fa5
|                                A                                           |
Packit Service fb6fa5
+----------------------------------------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: GtkContainer:border_width
Packit Service fb6fa5
B: xthickness
Packit Service fb6fa5
C: ythickness
Packit Service fb6fa5
D: horizontal_padding
Packit Service fb6fa5
E: toggle_size
Packit Service fb6fa5
F: toggle_spacing
Packit Service fb6fa5
G: Requested height of child (also used for width of arrow
Packit Service fb6fa5
H: arrow_spacing spacing (when the item has a non-vertical submenu)
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
GtkOptionMenu:
Packit Service fb6fa5
Packit Service fb6fa5
=============
Packit Service fb6fa5
Packit Service fb6fa5
Geometry parameters
Packit Service fb6fa5
Packit Service fb6fa5
 Style properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkWidget::interior_focus = TRUE
Packit Service fb6fa5
   GtkWidget::focus_width = 1
Packit Service fb6fa5
   GtkWidget::focus_padding = 0
Packit Service fb6fa5
   GtkOptionMenu::indicator_size = { 7, 13 }
Packit Service fb6fa5
   GtkOptionMenu::indicator_spacing = { 7, 5, 2, 2 }
Packit Service fb6fa5
Packit Service fb6fa5
 Properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkContainer::border_width = 0
Packit Service fb6fa5
Packit Service fb6fa5
 #defines
Packit Service fb6fa5
Packit Service fb6fa5
   CHILD_LEFT_SPACING = 5
Packit Service fb6fa5
   CHILD_RIGHT_SPACING = 1
Packit Service fb6fa5
   CHILD_TOP_SPACING = 1
Packit Service fb6fa5
   CHILD_BOTTOM_SPACING = 1
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
I) interior_focus = TRUE
Packit Service fb6fa5
Packit Service fb6fa5
+--------------------------------------------------+
Packit Service fb6fa5
+                       A                          |
Packit Service fb6fa5
| +----------------------------------------------+ |
Packit Service fb6fa5
| |\\\\\\\\\\\\\\\\\\\\ H ///////////////////////| |
Packit Service fb6fa5
| |\+------------------------------------------+/| |
Packit Service fb6fa5
| |\|                   C                      |/| |
Packit Service fb6fa5
| |\| +------------------------------+         |/| |
Packit Service fb6fa5
| |\| |################ D ###########|    L    |/| |
Packit Service fb6fa5
| |\| |#+--------------------------+#|         |/| |
Packit Service fb6fa5
| |\| |#|         K                |#|         |/| |
Packit Service fb6fa5
| |\| |#| +----------------------+ |#| +-----+ |/| |
Packit Service fb6fa5
| |\| |#| |                      | |#| | /#\ | |/| |
Packit Service fb6fa5
| |\| |#| |                      | |#| | === | |/| |
Packit Service fb6fa5
|A|B|C|D|E|    	 Child        	 |F|D|G| IxJ |O|B|A|
Packit Service fb6fa5
| |/| |#| |                      | |#| | === | |\| |
Packit Service fb6fa5
| |/| |#| |                      | |#| | \#/ | |\| |
Packit Service fb6fa5
| |/| |#| +----------------------+ |#| +-----+ |\| |
Packit Service fb6fa5
| |/| |#|         M                |#|         |\| |
Packit Service fb6fa5
| |/| |#+---------------------------#|         |\| |
Packit Service fb6fa5
| |/| |################ D ###########|    N    |\| |
Packit Service fb6fa5
| |/| +------------------------------+         |\| |
Packit Service fb6fa5
| |/|                   C                      |\| |
Packit Service fb6fa5
| |/+------------------------------------------+\| |
Packit Service fb6fa5
| |////////////////////	H \\\\\\\\\\\\\\\\\\\\\\\| |
Packit Service fb6fa5
| +----------------------------------------------+ |
Packit Service fb6fa5
|                      	A 		      	   |
Packit Service fb6fa5
+--------------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
  A: GtkContainer::border_width
Packit Service fb6fa5
  B: xthickness
Packit Service fb6fa5
  C: GtkWidget::focus_pad
Packit Service fb6fa5
  D: GtkWidget::focus_width
Packit Service fb6fa5
  E: CHILD_LEFT_SPACING
Packit Service fb6fa5
  F: CHILD_RIGHT_SPACING
Packit Service fb6fa5
  G: GtkOptionMenu::indicator_spacing::left
Packit Service fb6fa5
  H: ythickness
Packit Service fb6fa5
  I: GtkOptionMenu::indicator_size::width
Packit Service fb6fa5
  J: GtkOptionMenu::indicator_size::height
Packit Service fb6fa5
  K: CHILD_TOP_SPACING
Packit Service fb6fa5
  L: GtkOptionMenu::indicator_spacing::top + GtkWidget::focus_width + GtkWidget::focus_pad + CHILD_TOP_SPACING
Packit Service fb6fa5
  M: CHILD_BOTTOM_SPACING
Packit Service fb6fa5
  N: GtkOptionMenu::indicator_spacing::bottom + GtkWidget::focus_width + GtkWidget::focus_pad + CHILD_BOTTOM_SPACING
Packit Service fb6fa5
  O: GtkOptionMenu::indicator_spacing::right
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
II) interior_focus = FALSE
Packit Service fb6fa5
Packit Service fb6fa5
+--------------------------------------------------+
Packit Service fb6fa5
+                       A                          |
Packit Service fb6fa5
| +----------------------------------------------+ |
Packit Service fb6fa5
| |#################### B #######################| |
Packit Service fb6fa5
| |#+------------------------------------------+#| |
Packit Service fb6fa5
| |#|                   C                      |#| |
Packit Service fb6fa5
| |#| +--------------------------------------+ |#| |
Packit Service fb6fa5
| |#| |\\\\\\\\\\\\\\\\ H ///////////////////| |#| |
Packit Service fb6fa5
| |#| |\+----------------------------------+/| |#| |
Packit Service fb6fa5
| |#| |\|         K                   L    |/| |#| |
Packit Service fb6fa5
| |#| |\| +----------------------+ +-----+ |/| |#| |
Packit Service fb6fa5
| |#| |\| |                      | | /#\ | |/| |#| |
Packit Service fb6fa5
| |#| |\| |                      | | === | |/| |#| |
Packit Service fb6fa5
|A|B|C|D|E|    	 Child         	 |F| IxJ |G|D|C|B|A|
Packit Service fb6fa5
| |#| |/| |                      | | === | |\| |#| |
Packit Service fb6fa5
| |#| |/| |                      | | \#/ | |\| |#| |
Packit Service fb6fa5
| |#| |/| +----------------------+ +-----+ |\| |#| |
Packit Service fb6fa5
| |#| |/|         M                   N    |\| |#| |
Packit Service fb6fa5
| |#| |/+----------------------------------+\| |#| |
Packit Service fb6fa5
| |#| |////////////////	H \\\\\\\\\\\\\\\\\\\| |#| |
Packit Service fb6fa5
| |#| +--------------------------------------+ |#| |
Packit Service fb6fa5
| |#|                   C                      |#| |
Packit Service fb6fa5
| |#+------------------------------------------+#| |
Packit Service fb6fa5
| |#################### B #######################| |
Packit Service fb6fa5
| +----------------------------------------------+ |
Packit Service fb6fa5
|                      	A 	       	      	   |
Packit Service fb6fa5
+--------------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
 A: GtkContainer::border_width
Packit Service fb6fa5
 B: GtkWidget::focus_width
Packit Service fb6fa5
 C: GtkWidget::focus_padding
Packit Service fb6fa5
 D: xthickness
Packit Service fb6fa5
 E: CHILD_LEFT_SPACING
Packit Service fb6fa5
 F: CHILD_RIGHT_SPACING + GtkOptionMenu::indicator_spacing::left
Packit Service fb6fa5
 G: GtkOptionMenu::indicator_spacing::right
Packit Service fb6fa5
 H: ythickness
Packit Service fb6fa5
 I: GtkOptionMenu::indicator_size::width
Packit Service fb6fa5
 J: GtkOptionMenu::indicator_size::height
Packit Service fb6fa5
 K: CHILD_TOP_SPACING
Packit Service fb6fa5
 L: CHILD_TOP_SPACING + GtkOptionMenu::indicator_spacing::top
Packit Service fb6fa5
 M: CHILD_BOTTOM_SPACING
Packit Service fb6fa5
 N: CHILD_BOTTOM_SPACING + GtkOptionMenu::indicator_spacing::bottom
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
III) interior_focus = FALSE, !HAVE_FOCUS
Packit Service fb6fa5
Packit Service fb6fa5
+--------------------------------------------------+
Packit Service fb6fa5
+                       A                          |
Packit Service fb6fa5
| +----------------------------------------------+ |
Packit Service fb6fa5
| |\\\\\\\\\\\\\\\\\\\\ H ///////////////////////| |
Packit Service fb6fa5
| |\+------------------------------------------+/| |
Packit Service fb6fa5
| |\|                                          |/| |
Packit Service fb6fa5
| |\|                                          |/| |
Packit Service fb6fa5
| |\|                                          |/| |
Packit Service fb6fa5
| |\|                                          |/| |
Packit Service fb6fa5
| |\|             K                   L        |/| |
Packit Service fb6fa5
| |\|     +----------------------+ +-----+     |/| |
Packit Service fb6fa5
| |\|     |                      | | /#\ |     |/| |
Packit Service fb6fa5
| |\|     |                      | | === |     |/| |
Packit Service fb6fa5
|A|D|    E|    	 Child         	 |F| IxJ |G    |D|A|
Packit Service fb6fa5
| |/|     |                      | | === |     |\| |
Packit Service fb6fa5
| |/|     |                      | | \#/ |     |\| |
Packit Service fb6fa5
| |/|     +----------------------+ +-----+     |\| |
Packit Service fb6fa5
| |/|             M                   N        |\| |
Packit Service fb6fa5
| |/|                                          |\| |
Packit Service fb6fa5
| |/|                                          |\| |
Packit Service fb6fa5
| |/|                                          |\| |
Packit Service fb6fa5
| |/|                                          |\| |
Packit Service fb6fa5
| |/+------------------------------------------+\| |
Packit Service fb6fa5
| |//////////////////// H \\\\\\\\\\\\\\\\\\\\\\\| |
Packit Service fb6fa5
| +----------------------------------------------+ |
Packit Service fb6fa5
|                      	A 	       	      	   |
Packit Service fb6fa5
+--------------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
 A: GtkContainer::border_width
Packit Service fb6fa5
 B: GtkWidget::focus_width
Packit Service fb6fa5
 C: GtkWidget::focus_padding
Packit Service fb6fa5
 D: xthickness
Packit Service fb6fa5
 E: CHILD_LEFT_SPACING + GtkWidget::focus_width + GtkWidget::focus_padding
Packit Service fb6fa5
 F: CHILD_RIGHT_SPACING + GtkOptionMenu::in+icator_spacing::left
Packit Service fb6fa5
 G: GtkOptionMenu::indicator_spacing::right + GtkWidget::focus_width + GtkWidget::focus_padding
Packit Service fb6fa5
 H: ythickness
Packit Service fb6fa5
 I: GtkOptionMenu::indicator_size::width
Packit Service fb6fa5
 J: GtkOptionMenu::indicator_size::height
Packit Service fb6fa5
 K: CHILD_TOP_SPACING + GtkWidget::focus_width + GtkWidget::focus_padding
Packit Service fb6fa5
 L: CHILD_TOP_SPACING + GtkOptionMenu::indicator_spacing::top + GtkWidget::focus_width + GtkWidget::focus_padding
Packit Service fb6fa5
 M: CHILD_BOTTOM_SPACING + GtkWidget::focus_width + GtkWidget::focus_padding
Packit Service fb6fa5
 N: CHILD_BOTTOM_SPACING + GtkOptionMenu::indicator_spacing::bottom + GtkWidget::focus_width + GtkWidget::focus_padding
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
=====================
Packit Service fb6fa5
Packit Service fb6fa5
GtkButton
Packit Service fb6fa5
Packit Service fb6fa5
=====================
Packit Service fb6fa5
Packit Service fb6fa5
NOTE: Due to a bug that is basically unfixable in a sufficiently compatible
Packit Service fb6fa5
NOTE: way, the button gives the space requested for focus_width and 
Packit Service fb6fa5
NOTE: focus_padding to the child (in addition to the space requested by
Packit Service fb6fa5
NOTE: the child), if the button is !CAN_FOCUS.
Packit Service fb6fa5
Packit Service fb6fa5
 Style properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkWidget::interior_focus = TRUE
Packit Service fb6fa5
   GtkWidget::focus_width = 1
Packit Service fb6fa5
   GtkWidget::focus_padding = 0
Packit Service fb6fa5
   GtkButton::default_border = { 1, 1, 1, 1 };
Packit Service fb6fa5
   GtkButton::default_outside_border = { 0, 0, 0, 0 };
Packit Service fb6fa5
   GtkButton::child_displacement_x = 0;
Packit Service fb6fa5
   GtkButton::child_displacement_y = 0;
Packit Service fb6fa5
Packit Service fb6fa5
 Properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkContainer::border_width = 0
Packit Service fb6fa5
Packit Service fb6fa5
 #defines
Packit Service fb6fa5
Packit Service fb6fa5
   CHILD_SPACING 1
Packit Service fb6fa5
Packit Service fb6fa5
I) HAS_DEFAULT && (!GtkWidget::interior-focus || !HAVE_FOCUS)
Packit Service fb6fa5
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
|    		       A 		       |
Packit Service fb6fa5
| +------------------------------------------+ |
Packit Service fb6fa5
| |@@@@@@@@@@@@@@@@@@@ I @@@@@@@@@@@@@@@@@@@@| |
Packit Service fb6fa5
| |@+--------------------------------------+@| |
Packit Service fb6fa5
| |@|\\\\\\\\\\\\\\\\\ J //////////////////|@| |
Packit Service fb6fa5
| |@|\+----------------------------------+/|@| |
Packit Service fb6fa5
| |@|\|                E                 |/|@| |
Packit Service fb6fa5
| |@|\| +------------------------------+ |/|@| |
Packit Service fb6fa5
| |@|\| |############# F ##############| |/|@| |
Packit Service fb6fa5
| |@|\| |#+--------------------------+#| |/|@| |
Packit Service fb6fa5
| |@|\| |#|            L             |#| |/|@| |
Packit Service fb6fa5
| |@|\| |#| +----------------------+ |#| |/|@| |
Packit Service fb6fa5
| |@|\| |#| |                      | |#| |/|@| |
Packit Service fb6fa5
| |@|\| |#| |                      | |#| |/|@| |
Packit Service fb6fa5
|A|B|D|E|F|G|        Child         |M|F|E|D|C|A|
Packit Service fb6fa5
| |@|/| |#| |                      | |#| |\|@| |
Packit Service fb6fa5
| |@|/| |#| |                      | |#| |\|@| |
Packit Service fb6fa5
| |@|/| |#| +----------------------+ |#| |\|@| |
Packit Service fb6fa5
| |@|/| |#|            N             |#| |\|@| |
Packit Service fb6fa5
| |@|/| |#+--------------------------+#| |\|@| |
Packit Service fb6fa5
| |@|/| |############# F ##############| |\|@| |
Packit Service fb6fa5
| |@|/| +------------------------------+ |\|@| |
Packit Service fb6fa5
| |@|/|                E                 |\|@| |
Packit Service fb6fa5
| |@|/+----------------------------------+\|@| |
Packit Service fb6fa5
| |@|///////////////// J \\\\\\\\\\\\\\\\\\|@| |
Packit Service fb6fa5
| |@+--------------------------------------+@| |
Packit Service fb6fa5
| |@@@@@@@@@@@@@@@@@@@ K @@@@@@@@@@@@@@@@@@@@| |
Packit Service fb6fa5
| +------------------------------------------+ |
Packit Service fb6fa5
|                      A                       |
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: GtkContainer::border-width
Packit Service fb6fa5
B: GtkButton::default-border::left
Packit Service fb6fa5
C: GtkButton::default-border::right
Packit Service fb6fa5
D: xthickness
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-line-width
Packit Service fb6fa5
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
I: GtkButton::default-border::top
Packit Service fb6fa5
J: ythickness
Packit Service fb6fa5
K: GtkButton::default-border::bottom
Packit Service fb6fa5
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
II) !HAS_DEFAULT && (!GtkWidget::interior-focus || !HAVE_FOCUS)
Packit Service fb6fa5
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
|    		         		       |
Packit Service fb6fa5
|                      I                       |
Packit Service fb6fa5
|                                              |
Packit Service fb6fa5
|   +--------------------------------------+   |
Packit Service fb6fa5
|   |\\\\\\\\\\\\\\\\\ J //////////////////|   |
Packit Service fb6fa5
|   |\+----------------------------------+/|   |
Packit Service fb6fa5
|   |\|                E                 |/|   |
Packit Service fb6fa5
|   |\| +------------------------------+ |/|   |
Packit Service fb6fa5
|   |\| |############# F ##############| |/|   |
Packit Service fb6fa5
|   |\| |#+--------------------------+#| |/|   |
Packit Service fb6fa5
|   |\| |#|            L             |#| |/|   |
Packit Service fb6fa5
|   |\| |#| +----------------------+ |#| |/|   |
Packit Service fb6fa5
|   |\| |#| |                      | |#| |/|   |
Packit Service fb6fa5
|   |\| |#| |                      | |#| |/|   |
Packit Service fb6fa5
| B |D|E|F|G|        Child         |M|F|E|D| C |
Packit Service fb6fa5
|   |/| |#| |                      | |#| |\|   |
Packit Service fb6fa5
|   |/| |#| |                      | |#| |\|   |
Packit Service fb6fa5
|   |/| |#| +----------------------+ |#| |\|   |
Packit Service fb6fa5
|   |/| |#|            N             |#| |\|   |
Packit Service fb6fa5
|   |/| |#+--------------------------+#| |\|   |
Packit Service fb6fa5
|   |/| |############# F ##############| |\|   |
Packit Service fb6fa5
|   |/| +------------------------------+ |\|   |
Packit Service fb6fa5
|   |/|                E                 |\|   |
Packit Service fb6fa5
|   |/+----------------------------------+\|   |
Packit Service fb6fa5
|   |///////////////// J \\\\\\\\\\\\\\\\\\|   |
Packit Service fb6fa5
|   +--------------------------------------+   |
Packit Service fb6fa5
|                                              |
Packit Service fb6fa5
|                      K                       |
Packit Service fb6fa5
|                                              |
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
a) CAN_DEFAULT
Packit Service fb6fa5
Packit Service fb6fa5
B: GtkContainer::border-width + GtkButton::default-outside-border::left
Packit Service fb6fa5
C: GtkContainer::border-width + GtkButton::default-outside-border::right
Packit Service fb6fa5
D: xthickness
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-line-width
Packit Service fb6fa5
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::left
Packit Service fb6fa5
I: GtkContainer::border-width + GtkButton::default-outside-border::top
Packit Service fb6fa5
J: ythickness
Packit Service fb6fa5
K: GtkContainer::border-width + GtkButton::default-outside-border::bottom
Packit Service fb6fa5
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::top
Packit Service fb6fa5
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::right
Packit Service fb6fa5
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::bottom
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
b) !CAN_DEFAULT
Packit Service fb6fa5
Packit Service fb6fa5
B: GtkContainer::border-width
Packit Service fb6fa5
C: GtkContainer::border-width
Packit Service fb6fa5
D: xthickness
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-line-width
Packit Service fb6fa5
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
I: GtkContainer::border-width
Packit Service fb6fa5
J: ythickness
Packit Service fb6fa5
K: GtkContainer::border-width
Packit Service fb6fa5
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
III) HAS_DEFAULT && (GtkWidget::interior-focus && HAVE_FOCUS)
Packit Service fb6fa5
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
|    		       A 		       |
Packit Service fb6fa5
| +------------------------------------------+ |
Packit Service fb6fa5
| |@@@@@@@@@@@@@@@@@@@ I @@@@@@@@@@@@@@@@@@@@| |
Packit Service fb6fa5
| |@+--------------------------------------+@| |
Packit Service fb6fa5
| |@|################# F ##################|@| |
Packit Service fb6fa5
| |@|#+----------------------------------+#|@| |
Packit Service fb6fa5
| |@|#|                E                 |#|@| |
Packit Service fb6fa5
| |@|#| +------------------------------+ |#|@| |
Packit Service fb6fa5
| |@|#| |\\\\\\\\\\\\\ J //////////////| |#|@| |
Packit Service fb6fa5
| |@|#| |\+--------------------------+/| |#|@| |
Packit Service fb6fa5
| |@|#| |\|            L             |/| |#|@| |
Packit Service fb6fa5
| |@|#| |\| +----------------------+ |/| |#|@| |
Packit Service fb6fa5
| |@|#| |\| |                      | |/| |#|@| |
Packit Service fb6fa5
| |@|#| |\| |                      | |/| |#|@| |
Packit Service fb6fa5
|A|B|F|E|D|G|        Child         |M|D|E|F|C|A|
Packit Service fb6fa5
| |@|#| |/| |                      | |\| |#|@| |
Packit Service fb6fa5
| |@|#| |/| |                      | |\| |#|@| |
Packit Service fb6fa5
| |@|#| |/| +----------------------+ |\| |#|@| |
Packit Service fb6fa5
| |@|#| |/|            N             |\| |#|@| |
Packit Service fb6fa5
| |@|#| |/+--------------------------+\| |#|@| |
Packit Service fb6fa5
| |@|#| |///////////// J \\\\\\\\\\\\\\| |#|@| |
Packit Service fb6fa5
| |@|#| +------------------------------+ |#|@| |
Packit Service fb6fa5
| |@|#|                E                 |#|@| |
Packit Service fb6fa5
| |@|#+----------------------------------+#|@| |
Packit Service fb6fa5
| |@|################# F ##################|@| |
Packit Service fb6fa5
| |@+--------------------------------------+@| |
Packit Service fb6fa5
| |@@@@@@@@@@@@@@@@@@@ K @@@@@@@@@@@@@@@@@@@@| |
Packit Service fb6fa5
| +------------------------------------------+ |
Packit Service fb6fa5
|                      A                       |
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: GtkContainer::border-width
Packit Service fb6fa5
B: GtkButton::default-border::left
Packit Service fb6fa5
C: GtkButton::default-border::right
Packit Service fb6fa5
D: xthickness
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-line-width
Packit Service fb6fa5
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
I: GtkButton::default-border::top
Packit Service fb6fa5
J: ythickness
Packit Service fb6fa5
K: GtkButton::default-border::bottom
Packit Service fb6fa5
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
IV) !HAS_DEFAULT && (GtkWidget::interior-focus && HAVE_FOCUS)
Packit Service fb6fa5
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
|    		         		       |
Packit Service fb6fa5
|                      I                       |
Packit Service fb6fa5
|                                              |
Packit Service fb6fa5
|   +--------------------------------------+   |
Packit Service fb6fa5
|   |################# J ##################|   |
Packit Service fb6fa5
|   |#+----------------------------------+#|   |
Packit Service fb6fa5
|   |#|                E                 |#|   |
Packit Service fb6fa5
|   |#| +------------------------------+ |#|   |
Packit Service fb6fa5
|   |#| |\\\\\\\\\\\\\ F //////////////| |#|   |
Packit Service fb6fa5
|   |#| |\+--------------------------+/| |#|   |
Packit Service fb6fa5
|   |#| |\|            L             |/| |#|   |
Packit Service fb6fa5
|   |#| |\| +----------------------+ |/| |#|   |
Packit Service fb6fa5
|   |#| |\| |                      | |/| |#|   |
Packit Service fb6fa5
|   |#| |\| |                      | |/| |#|   |
Packit Service fb6fa5
| B |D|E|F|G|        Child         |M|F|E|D| C |
Packit Service fb6fa5
|   |#| |/| |                      | |\| |#|   |
Packit Service fb6fa5
|   |#| |/| |                      | |\| |#|   |
Packit Service fb6fa5
|   |#| |/| +----------------------+ |\| |#|   |
Packit Service fb6fa5
|   |#| |/|            N             |\| |#|   |
Packit Service fb6fa5
|   |#| |/+--------------------------+\| |#|   |
Packit Service fb6fa5
|   |#| |///////////// F \\\\\\\\\\\\\\| |#|   |
Packit Service fb6fa5
|   |#| +------------------------------+ |#|   |
Packit Service fb6fa5
|   |#|                E                 |#|   |
Packit Service fb6fa5
|   |#+----------------------------------+#|   |
Packit Service fb6fa5
|   |################# J ##################|   |
Packit Service fb6fa5
|   +--------------------------------------+   |
Packit Service fb6fa5
|                                              |
Packit Service fb6fa5
|                      K                       |
Packit Service fb6fa5
|                                              |
Packit Service fb6fa5
+----------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
a) CAN_DEFAULT
Packit Service fb6fa5
Packit Service fb6fa5
B: GtkContainer::border-width + GtkButton::default-outside-border::left
Packit Service fb6fa5
C: GtkContainer::border-width + GtkButton::default-outside-border::right
Packit Service fb6fa5
D: xthickness
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-line-width
Packit Service fb6fa5
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::left
Packit Service fb6fa5
I: GtkContainer::border-width + GtkButton::default-outside-border::top
Packit Service fb6fa5
J: ythickness
Packit Service fb6fa5
K: GtkContainer::border-width + GtkButton::default-outside-border::bottom
Packit Service fb6fa5
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::top
Packit Service fb6fa5
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::right
Packit Service fb6fa5
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0) +
Packit Service fb6fa5
   (GtkButton::default-outside-border - GtkButton::default-outside-border)::bottom
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
b) !CAN_DEFAULT
Packit Service fb6fa5
Packit Service fb6fa5
B: GtkContainer::border-width
Packit Service fb6fa5
C: GtkContainer::border-width
Packit Service fb6fa5
D: xthickness
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-line-width
Packit Service fb6fa5
G: CHILD_SPACING + (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
I: GtkContainer::border-width
Packit Service fb6fa5
J: ythickness
Packit Service fb6fa5
K: GtkContainer::border-width
Packit Service fb6fa5
L: CHILD_SPACING + (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
M: CHILD_SPACING - (depressed ? GtkButton::child-displacement-x : 0)
Packit Service fb6fa5
N: CHILD_SPACING - (depressed ? GtkButton::child-displacement-y : 0)
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
======================
Packit Service fb6fa5
Packit Service fb6fa5
GtkCheckButton
Packit Service fb6fa5
Packit Service fb6fa5
======================
Packit Service fb6fa5
Packit Service fb6fa5
Note: This is the draw_indicator=TRUE case; draw_indicator=FALSE
Packit Service fb6fa5
      is like GtkButton)
Packit Service fb6fa5
Packit Service fb6fa5
 Style properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkWidget::interior_focus = TRUE
Packit Service fb6fa5
   GtkWidget::focus_width = 1
Packit Service fb6fa5
   GtkWidget::focus_padding = 0
Packit Service fb6fa5
   GtkButton::indicator-size = 13
Packit Service fb6fa5
   GtkButton::indicator-spacing = 2
Packit Service fb6fa5
Packit Service fb6fa5
 Properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkContainer::border_width = 0
Packit Service fb6fa5
Packit Service fb6fa5
 #defines
Packit Service fb6fa5
Packit Service fb6fa5
   CHILD_SPACING 1
Packit Service fb6fa5
Packit Service fb6fa5
interior_focus
Packit Service fb6fa5
Packit Service fb6fa5
 +-------------------------------------------+
Packit Service fb6fa5
 |		               F             |
Packit Service fb6fa5
 |	 G	  +------------------------+ |
Packit Service fb6fa5
 |		  |########### D ##########| |
Packit Service fb6fa5
 | +------------+ |#+--------------------+#| |
Packit Service fb6fa5
 | |            | |#|	       E	 |#| |
Packit Service fb6fa5
 | |            | |#| +----------------+ |#| |
Packit Service fb6fa5
 | |            | |#| |		       | |#| |
Packit Service fb6fa5
 |A|    BxB     |C|D|E|      Child     |E|#|F|
Packit Service fb6fa5
 | |            | |#| |		       | |#| |
Packit Service fb6fa5
 | |            | |#| +----------------+ |#| |
Packit Service fb6fa5
 | |            | |#|	       E       	 |#| |
Packit Service fb6fa5
 | +------------+ |#+--------------------+#| |
Packit Service fb6fa5
 |		  |########### D ##########| |
Packit Service fb6fa5
 |	G	  +------------------------+ |
Packit Service fb6fa5
 |		               F             |
Packit Service fb6fa5
 +-------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: GtkContainer::border-width + GtkCheckButton::indicator-spacing
Packit Service fb6fa5
B: GtkCheckButton::indicator-size
Packit Service fb6fa5
C: 2 * GtkCheckButton::indicator-spacing
Packit Service fb6fa5
D: GtkWidget::focus-line-width
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkContainer::border-width
Packit Service fb6fa5
G: GtkConainer::border-width + GtkCheckButton::indicator-spacing
Packit Service fb6fa5
Packit Service fb6fa5
!interior_focus
Packit Service fb6fa5
Packit Service fb6fa5
 +-------------------------------------------+
Packit Service fb6fa5
 |		     A                       |
Packit Service fb6fa5
 | +---------------------------------------+ |
Packit Service fb6fa5
 | |################ D ####################| |
Packit Service fb6fa5
 | |#+-----------------------------------+#| |
Packit Service fb6fa5
 | |#|       G                E          |#| |
Packit Service fb6fa5
 | |#| +------------+  +---------------+ |#| |
Packit Service fb6fa5
 | |#| |            |  |               | |#| |
Packit Service fb6fa5
 | |#| |            |  |	       | |#| |
Packit Service fb6fa5
 |A|D|F|    BxB     |C |      Child    |E|D|A|
Packit Service fb6fa5
 | |#| |            |  |	       | |#| |
Packit Service fb6fa5
 | |#| |            |  |               | |#| |
Packit Service fb6fa5
 | |#| +------------+  +---------------+ |#| |
Packit Service fb6fa5
 | |#|       G                E          |#| |
Packit Service fb6fa5
 | |#+-----------------------------------+#| |
Packit Service fb6fa5
 | |################ D ####################| |
Packit Service fb6fa5
 | +---------------------------------------+ |
Packit Service fb6fa5
 |		     A                       |
Packit Service fb6fa5
 +-------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: GtkContainer::border-width
Packit Service fb6fa5
B: GtkCheckButton::indicator-size
Packit Service fb6fa5
C: 2 * GtkCheckButton::indicator-spacing
Packit Service fb6fa5
D: GtkWidget::focus-line-width
Packit Service fb6fa5
E: GtkWidget::focus-padding
Packit Service fb6fa5
F: GtkWidget::focus-padding + GtkCheckButton::indicator-spacing
Packit Service fb6fa5
G: GtkWidget::focus-padding + GtkCheckButton::indicator-spacing
Packit Service fb6fa5
Packit Service fb6fa5
===============
Packit Service fb6fa5
Packit Service fb6fa5
GtkEntry
Packit Service fb6fa5
Packit Service fb6fa5
===============
Packit Service fb6fa5
Packit Service fb6fa5
 Style properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkWidget::interior_focus = TRUE
Packit Service fb6fa5
   GtkWidget::focus_width = 1
Packit Service fb6fa5
   GtkWidget::focus_padding = 0
Packit Service fb6fa5
Packit Service fb6fa5
 Properties
Packit Service fb6fa5
Packit Service fb6fa5
   GtkContainer::border_width = 0
Packit Service fb6fa5
Packit Service fb6fa5
 #defines
Packit Service fb6fa5
Packit Service fb6fa5
   INNER_BORDER 2
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
interior_focus
Packit Service fb6fa5
Packit Service fb6fa5
+--------------------------------------+
Packit Service fb6fa5
|\\\\\\\\\\\\\\\\\ B //////////////////|
Packit Service fb6fa5
|\+----------------------------------+/|
Packit Service fb6fa5
|\|		   D 	       	     |/|
Packit Service fb6fa5
|\| +------------------------------+ |/|
Packit Service fb6fa5
|\| |		    	       	   | |/|
Packit Service fb6fa5
|\| |  	       	       	       	   | |/|
Packit Service fb6fa5
|A|D|  	       	    	       	   |D|A|
Packit Service fb6fa5
|\| |		    		   | |/|
Packit Service fb6fa5
|\| |		    		   | |/|
Packit Service fb6fa5
|\| +------------------------------+ |/|
Packit Service fb6fa5
|\| 		   D   		     |/|
Packit Service fb6fa5
|\+----------------------------------+/|
Packit Service fb6fa5
|///////////////// B \\\\\\\\\\\\\\\\\/|
Packit Service fb6fa5
+--------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: xthickness
Packit Service fb6fa5
B: ythickness
Packit Service fb6fa5
D: INNER_BORDER
Packit Service fb6fa5
Packit Service fb6fa5
!interior_focus
Packit Service fb6fa5
Packit Service fb6fa5
+------------------------------------------+
Packit Service fb6fa5
|####################C#####################|
Packit Service fb6fa5
|#+--------------------------------------+#|
Packit Service fb6fa5
|#|\\\\\\\\\\\\\\\\\ B //////////////////|#|
Packit Service fb6fa5
|#|\+----------------------------------+/|#|
Packit Service fb6fa5
|#|\|  	       	     D	       	       |/|#|
Packit Service fb6fa5
|#|\| +------------------------------+ |/|#|
Packit Service fb6fa5
|#|\| |		     	       	     | |/|#|
Packit Service fb6fa5
|#|\| |  	       	       	     | |/|#|
Packit Service fb6fa5
|C|A|D|  	       	    	     |D|A|C|
Packit Service fb6fa5
|#|\| |		     		     | |/|#|
Packit Service fb6fa5
|#|\| |		     		     | |/|#|
Packit Service fb6fa5
|#|\| +------------------------------+ |/|#|
Packit Service fb6fa5
|#|\| 		     D 	       	       |/|#|
Packit Service fb6fa5
|#|\+----------------------------------+/|#|
Packit Service fb6fa5
|#|///////////////// B \\\\\\\\\\\\\\\\\/|#|
Packit Service fb6fa5
|#+--------------------------------------+#|
Packit Service fb6fa5
|####################C#####################|
Packit Service fb6fa5
+------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
A: xthickness
Packit Service fb6fa5
B: ythickness
Packit Service fb6fa5
C: GtkWidget::focus-line-width
Packit Service fb6fa5
D: INNER_BORDER + (HAVE_FOCUS ? 0 : GtkWidget::focus-line-width
Packit Service fb6fa5
Packit Service fb6fa5
Note - effect here for !interior_focus is that bevel moves in
Packit Service fb6fa5
by focus-line-width when entry gains focus
Packit Service fb6fa5
Packit Service fb6fa5
===============
Packit Service fb6fa5
Packit Service fb6fa5
GtkExpander
Packit Service fb6fa5
Packit Service fb6fa5
===============
Packit Service fb6fa5
Packit Service fb6fa5
 Style properties
Packit Service fb6fa5
  GtkWidget::focus_line_width
Packit Service fb6fa5
  GtkWidget::focus_padding
Packit Service fb6fa5
  GtkExpander::expander_size
Packit Service fb6fa5
  GtkExpander::expander_spacing
Packit Service fb6fa5
Packit Service fb6fa5
 Properties
Packit Service fb6fa5
  GtkContainer::border_width
Packit Service fb6fa5
  GtkExpander::spacing
Packit Service fb6fa5
Packit Service fb6fa5
if (GTK_WIDGET_VISIBLE (bin->child) && interior_focus)
Packit Service fb6fa5
Packit Service fb6fa5
+-------------------------------------+
Packit Service fb6fa5
|                  A                  |
Packit Service fb6fa5
| +---------+-----------------------+ |
Packit Service fb6fa5
| |    C    |##########E############| |
Packit Service fb6fa5
| | +-----+ |#+-------------------+#| |
Packit Service fb6fa5
| | |     | |#|        F          |#| |
Packit Service fb6fa5
| | |     | |#| +---------------+ |#| |
Packit Service fb6fa5
|A|C| BxB |C|E|F| label_widget  |F|E|A|
Packit Service fb6fa5
| | |     | |#| +---------------+ |#| |
Packit Service fb6fa5
| | |     | |#|        F          |#| |
Packit Service fb6fa5
| | +-----+ |#+-------------------+#| |
Packit Service fb6fa5
| |    C    |##########E############| |
Packit Service fb6fa5
| +---------+-----------------------+ |
Packit Service fb6fa5
| |                D                | |
Packit Service fb6fa5
| +---------------------------------+ |
Packit Service fb6fa5
| |                                 | |
Packit Service fb6fa5
| |                                 | |
Packit Service fb6fa5
| |                                 | |
Packit Service fb6fa5
|A|             bin->child          |A|
Packit Service fb6fa5
| |                                 | |
Packit Service fb6fa5
| |                                 | |
Packit Service fb6fa5
| |                                 | |
Packit Service fb6fa5
| +---------------------------------+ |
Packit Service fb6fa5
|                  A                  |
Packit Service fb6fa5
+-------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
 A: GtkContainer::border_width
Packit Service fb6fa5
 B: GtkExpander::expander_size
Packit Service fb6fa5
 C: GtkExpander::expander_spacing
Packit Service fb6fa5
 D: GtkExpander::spacing
Packit Service fb6fa5
 E: GtkWidget::focus_line_width
Packit Service fb6fa5
 F: GtkWidget::focus_padding
Packit Service fb6fa5
Packit Service fb6fa5
if (GTK_WIDGET_VISIBLE (bin->child) && !interior_focus)
Packit Service fb6fa5
Packit Service fb6fa5
+-------------------------------------------+
Packit Service fb6fa5
|                    A                      |
Packit Service fb6fa5
| +---------------------------------------+ |
Packit Service fb6fa5
| |##################E####################| |
Packit Service fb6fa5
| |#+-----------------------------------+#| |
Packit Service fb6fa5
| |#|                F                  |#| |
Packit Service fb6fa5
| |#| +---------+---------------------+ |#| |
Packit Service fb6fa5
| |#| |    C    |                     | |#| |
Packit Service fb6fa5
| |#| | +-----+ |                     | |#| |
Packit Service fb6fa5
|A|E|F|C| BxB |C|    label_widget     |F|E|A|
Packit Service fb6fa5
| |#| | +-----+ |                     | |#| |
Packit Service fb6fa5
| |#| |    C    |                     | |#| |
Packit Service fb6fa5
| |#| +---------+---------------------+ |#| |
Packit Service fb6fa5
| |#|                F                  |#| |
Packit Service fb6fa5
| |#+-----------------------------------+#| |
Packit Service fb6fa5
| |##################E####################| |
Packit Service fb6fa5
| +---------------------------------------+ |
Packit Service fb6fa5
| |                  D                    | |
Packit Service fb6fa5
| +---------------------------------------+ |
Packit Service fb6fa5
| |                                       | |
Packit Service fb6fa5
| |                                       | |
Packit Service fb6fa5
| |                                       | |
Packit Service fb6fa5
|A|               bin->child              |A|
Packit Service fb6fa5
| |                                       | |
Packit Service fb6fa5
| |                                       | |
Packit Service fb6fa5
| |                                       | |
Packit Service fb6fa5
| +---------------------------------------+ |
Packit Service fb6fa5
|                     A                     |
Packit Service fb6fa5
+-------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
 A: GtkContainer::border_width
Packit Service fb6fa5
 B: GtkExpander::expander_size
Packit Service fb6fa5
 C: GtkExpander::expander_spacing
Packit Service fb6fa5
 D: GtkExpander::spacing
Packit Service fb6fa5
 E: GtkWidget::focus_line_width
Packit Service fb6fa5
 F: GtkWidget::focus_padding
Packit Service fb6fa5
Packit Service fb6fa5
if (!GTK_WIDGET_VISIBLE (bin->child) && interior_focus)
Packit Service fb6fa5
Packit Service fb6fa5
+-------------------------------------+
Packit Service fb6fa5
|                  A                  |
Packit Service fb6fa5
| +---------+-----------------------+ |
Packit Service fb6fa5
| |    C    |##########E############| |
Packit Service fb6fa5
| | +-----+ |#+-------------------+#| |
Packit Service fb6fa5
| | |     | |#|        F          |#| |
Packit Service fb6fa5
| | |     | |#| +---------------+ |#| |
Packit Service fb6fa5
|A|C| BxB |C|E|F| label_widget  |F|E|A|
Packit Service fb6fa5
| | |     | |#| +---------------+ |#| |
Packit Service fb6fa5
| | |     | |#|        F          |#| |
Packit Service fb6fa5
| | +-----+ |#+-------------------+#| |
Packit Service fb6fa5
| |    C    |##########E############| |
Packit Service fb6fa5
| +---------+-----------------------+ |
Packit Service fb6fa5
|                  A                  |
Packit Service fb6fa5
+-------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
 A: GtkContainer::border_width
Packit Service fb6fa5
 B: GtkExpander::expander_size
Packit Service fb6fa5
 C: GtkExpander::expander_spacing
Packit Service fb6fa5
 E: GtkWidget::focus_line_width
Packit Service fb6fa5
 F: GtkWidget::focus_padding
Packit Service fb6fa5
Packit Service fb6fa5
if (!GTK_WIDGET_VISIBLE (bin->child) && !interior_focus)
Packit Service fb6fa5
Packit Service fb6fa5
+-------------------------------------------+
Packit Service fb6fa5
|                    A                      |
Packit Service fb6fa5
| +---------------------------------------+ |
Packit Service fb6fa5
| |##################E####################| |
Packit Service fb6fa5
| |#+-----------------------------------+#| |
Packit Service fb6fa5
| |#|                F                  |#| |
Packit Service fb6fa5
| |#| +---------+---------------------+ |#| |
Packit Service fb6fa5
| |#| |    C    |                     | |#| |
Packit Service fb6fa5
| |#| | +-----+ |                     | |#| |
Packit Service fb6fa5
|A|E|F|C| BxB |C|     label_widget    |F|E|A|
Packit Service fb6fa5
| |#| | +-----+ |                     | |#| |
Packit Service fb6fa5
| |#| |    C    |                     | |#| |
Packit Service fb6fa5
| |#| +---------+---------------------+ |#| |
Packit Service fb6fa5
| |#|                F                  |#| |
Packit Service fb6fa5
| |#+-----------------------------------+#| |
Packit Service fb6fa5
| |##################E####################| |
Packit Service fb6fa5
| +---------------------------------------+ |
Packit Service fb6fa5
|                    A                      |
Packit Service fb6fa5
+-------------------------------------------+
Packit Service fb6fa5
Packit Service fb6fa5
 A: GtkContainer::border_width
Packit Service fb6fa5
 B: GtkExpander::expander_size
Packit Service fb6fa5
 C: GtkExpander::expander_spacing
Packit Service fb6fa5
 E: GtkWidget::focus_line_width
Packit Service fb6fa5
 F: GtkWidget::focus_padding