Blame docs/widget_geometry.txt

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