71a9fd9d83 
					 
					
						
						
							
							stylecontext: Move background_is_opaque() function  
						
						... 
						
						
						
						The new way, it no longer depends on the style context, but on the
CssStyle. This will become relevant in the next commit. 
						
						
					 
					
						2016-02-25 16:52:58 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c5369356e8 
					 
					
						
						
							
							Various documentation fixes  
						
						... 
						
						
						
						Always have Since: annotations at the very bottom, use the correct
ClassName::signal-name/ClassName:property-name syntax, fix a few typos
in type names, wrong function names, non-existing type names, etc. 
						
						
					 
					
						2016-02-08 22:56:52 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bbe48d0624 
					 
					
						
						
							
							Throw an error when a display is missing  
						
						... 
						
						
						
						Creating style context won't work without a display, so
give a clear error message and abort instead of segfaulting
later on.
https://bugzilla.gnome.org/show_bug.cgi?id=761332  
						
						
					 
					
						2016-01-30 16:06:59 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a7387e2641 
					 
					
						
						
							
							Document restrictions on gtk_style_context_get  
						
						... 
						
						
						
						This makes it official that passing a different state
is not generally supported in the getters for CSS properties. 
						
						
					 
					
						2016-01-17 15:31:37 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						67c6d24bb2 
					 
					
						
						
							
							Fix a small mistake in stylecontext docs  
						
						... 
						
						
						
						Fix the "will be also be" to become "will also be". 
						
						
					 
					
						2016-01-11 12:05:27 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cffe2e2c93 
					 
					
						
						
							
							Improve GtkStyleContext docs  
						
						... 
						
						
						
						Refer to the foreign drawing example in gtk3-demo, refer to
the widget documentation for style properties, remove
no-longer-used treeview regions. 
						
						
					 
					
						2016-01-10 17:05:53 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b86d6da2c 
					 
					
						
						
							
							Use the caret-color properties for drawing carets  
						
						... 
						
						
						
						Replace the cursor-color and secondary-cursor-color style
properties with the caret-color and -gtk-secondary-caret-color
CSS properties.
For the 'auto' value of these properties, we keep the same
behavior that we used to have when the style properties are
not explicitly set. 
						
						
					 
					
						2016-01-08 07:33:20 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						496f0892fc 
					 
					
						
						
							
							introspection: This patch fixes nullable return values fixes for the following symbols in gtk  
						
						... 
						
						
						
						gtk_accel_group_query
  gtk_accel_group_from_accel_closure
  gtk_accel_label_get_accel_widget
  gtk_accessible_get_widget
  gtk_actionable_get_action_name
  gtk_app_chooser_get_app_info
  gtk_app_chooser_button_get_heading
  gtk_app_chooser_dialog_get_heading
  gtk_application_get_window_by_id
  gtk_assistant_get_nth_page
  gtk_binding_set_find
  gtk_builder_get_object
  gtk_builder_lookup_callback_symbol
  gtk_builder_get_application
  gtk_button_get_image
  gtk_cell_area_get_focus_from_sibling
  gtk_cell_renderer_start_editing
  gtk_cell_view_get_model
  gtk_cell_view_get_displayed_row
  gtk_clipboard_get_owner
  gtk_container_get_focus_child
  gtk_container_get_focus_vadjustment
  gtk_container_get_focus_hadjustment
  gtk_dialog_get_widget_for_response
  gtk_drag_get_source_widget
  gtk_drag_dest_get_target_list
  gtk_drag_source_get_target_list
  gtk_entry_completion_get_model
  gtk_entry_completion_compute_prefix
  gtk_expander_get_label_widget
  gtk_file_chooser_get_filename
  gtk_file_chooser_get_current_folder
  gtk_file_chooser_get_uri
  gtk_file_chooser_get_current_folder_uri
  gtk_file_chooser_get_preview_widget
  gtk_file_chooser_get_preview_file
  gtk_file_chooser_get_preview_filename
  gtk_file_chooser_get_preview_uri
  gtk_file_chooser_get_extra_widget
  gtk_file_chooser_get_filter
  gtk_file_chooser_native_get_accept_label
  gtk_file_chooser_native_get_cancel_label
  gtk_file_filter_get_name
  gtk_font_chooser_get_font_family
  gtk_font_chooser_get_font_face
  gtk_font_chooser_get_font
  gtk_font_chooser_get_font_desc
  gtk_font_chooser_get_font_map
  gtk_frame_get_label
  gtk_gesture_get_device
  gtk_gesture_get_window
  gtk_gl_area_get_error
  gtk_header_bar_get_title
  gtk_header_bar_get_subtitle
  gtk_header_bar_get_custom_title
  gtk_icon_info_get_filename
  gtk_icon_view_get_path_at_pos
  gtk_icon_view_get_model
  gtk_image_get_pixbuf
  gtk_image_get_animation
  gtk_label_get_mnemonic_widget
  gtk_label_get_attributes
  gtk_check_version
  gtk_menu_button_get_popup
  gtk_menu_button_get_menu_model
  gtk_menu_button_get_align_widget
  gtk_menu_button_get_popover
  gtk_menu_item_get_submenu
  gtk_menu_item_get_accel_path
  gtk_native_dialog_get_title
  gtk_native_dialog_get_transient_for
  gtk_notebook_get_nth_page
  gtk_notebook_get_tab_label_text
  gtk_notebook_get_menu_label
  gtk_notebook_get_menu_label_text
  gtk_notebook_get_group_name
  gtk_notebook_get_action_widget
  gtk_offscreen_window_get_surface
  gtk_offscreen_window_get_pixbuf
  gtk_paned_get_child1
  gtk_paned_get_child2
  gtk_places_sidebar_get_location
  gtk_places_sidebar_get_nth_bookmark
  gtk_plug_get_socket_window
  gtk_popover_get_default_widget
  gtk_progress_bar_get_text
  gtk_recent_filter_get_name
  gtk_recent_manager_lookup_item
  gtk_settings_get_default
  gtk_socket_get_plug_window
  gtk_stack_sidebar_get_stack
  gtk_stack_switcher_get_stack
  gtk_style_context_get_section
  gtk_style_context_get_parent
  gtk_style_context_get_frame_clock
  gtk_test_find_widget
  gtk_text_buffer_get_mark
  gtk_text_tag_table_lookup
  gtk_text_view_get_tabs
  gtk_text_view_toggle_cursor_visible
  gtk_text_view_get_window
  gtk_toolbar_get_nth_item
  gtk_tool_button_get_label
  gtk_tool_button_get_icon_name
  gtk_tool_button_get_label_widget
  gtk_tool_button_get_icon_widget
  gtk_tool_palette_get_drop_item
  gtk_tool_palette_get_drop_group
  gtk_tree_model_filter_convert_child_path_to_path
  gtk_tree_model_filter_convert_path_to_child_path
  gtk_tree_model_sort_convert_child_path_to_path
  gtk_tree_model_sort_convert_path_to_child_path
  gtk_tree_view_get_column
  gtk_tree_view_get_bin_window
  gtk_tree_view_column_get_widget
  gtk_tree_view_column_get_tree_view
  gtk_widget_get_frame_clock
  gtk_window_group_get_current_device_grab
  GtkTextBufferSerializeFunc 
						
						
					 
					
						2016-01-08 12:18:23 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c4996873dc 
					 
					
						
						
							
							docs: try to clarify widget_get_state_flags vs context_get_state  
						
						
						
						
					 
					
						2016-01-05 18:46:56 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2e921691d9 
					 
					
						
						
							
							Redo CSS style printing  
						
						... 
						
						
						
						Drop the custom style printing implementation in gtkcssnode.c and
instead reuse the existing gtk_css_style_print function, extending
it a bit to suit our needs.
Instead of computing values, just recognize initial values by
having no CSS section. Also do away with the show-initial flag, and
just always filter out initial values. The flag can come back when
it is needed. 
						
						
					 
					
						2016-01-03 15:36:48 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						68edc47f6a 
					 
					
						
						
							
							Add a function to dump CSS nodes and styles  
						
						... 
						
						
						
						Add a gtk_style_context_to_string function that can serialize
a CSS node or tree of nodes, optionally including CSS properties
as well.
This will be useful in writing tests. 
						
						
					 
					
						2016-01-03 09:19:30 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d3cf3fd267 
					 
					
						
						
							
							rendericon: Move a function  
						
						... 
						
						
						
						The function is identical if used for builtin icons and regular icons
(as per iconhelper). So split it out in a way that doesn't assume
either. 
						
						
					 
					
						2015-12-16 04:46:22 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a11de0da6b 
					 
					
						
						
							
							stylecontext: Builtin images can be (and are) transformed  
						
						... 
						
						
						
						So don't special-case them out. 
						
						
					 
					
						2015-12-16 01:50:00 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ad22612ab2 
					 
					
						
						
							
							iconhelper: Require passing a cssnode to the constructor  
						
						... 
						
						
						
						Note that we don't use it yet. 
						
						
					 
					
						2015-12-15 08:41:16 -05:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5cbbc62026 
					 
					
						
						
							
							widget: Pass a GtkCssStyleChange instead of a bitmask  
						
						
						
						
					 
					
						2015-12-13 04:11:58 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b8dd24b4fb 
					 
					
						
						
							
							iconfactory: Drop caching infrastructure  
						
						... 
						
						
						
						- icon sets are essentially unused
- the icon theme does caching
- this code complicates the restructuring I'm about to do
=> Delete it! 
						
						
					 
					
						2015-12-04 17:44:51 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8355ee3053 
					 
					
						
						
							
							stylecontext: Don't emit state warning for transient nodes  
						
						... 
						
						
						
						It's fine to call set_state() on those.
https://bugzilla.gnome.org/show_bug.cgi?id=758930  
						
						
					 
					
						2015-12-02 00:29:36 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4b2ea59dd1 
					 
					
						
						
							
							stylecontext: Treat empty path like no path  
						
						... 
						
						
						
						This way, we don't do weird stuff when an empty path is set. 
						
						
					 
					
						2015-11-21 02:22:22 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6eb89fb6a3 
					 
					
						
						
							
							stylecontext: Copy name when setting widget path  
						
						... 
						
						
						
						Imitate what we do for the type. This way we don't lose the name on
save/restore.
https://bugzilla.gnome.org/show_bug.cgi?id=758442  
						
						
					 
					
						2015-11-21 02:21:12 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a9814fea7d 
					 
					
						
						
							
							stylecontext: Always warn on style mismatch  
						
						... 
						
						
						
						For now, always warn when
gtk_style_context_get()/get_padding()/get_margin()/get_border()
get called with the wrong state.
We used to hide this behind an env var because the warnings were
too frequent, but with the recent refactorings, this warning has become
rather important for detecting bugs.
If it's still problematic, we might want to revert this patch before
3.20. 
						
						
					 
					
						2015-11-06 18:59:15 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c075c14bf4 
					 
					
						
						
							
							stylecontext: Add gtk_style_context_save_to_node()  
						
						... 
						
						
						
						To be used instead of gtk_style_context_save() with persistent nodes. 
						
						
					 
					
						2015-10-22 16:35:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						72615a1b16 
					 
					
						
						
							
							stylecontext: Add gtk_style_context_add_named()  
						
						... 
						
						
						
						This is an intermediate step for cssnode introduction. It gives a name
for the node created by saving the style context. 
						
						
					 
					
						2015-10-22 16:35:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bddc524cd8 
					 
					
						
						
							
							stylecontext: Make sure style is valid when looking up style properties  
						
						... 
						
						
						
						Otherwise, the validation may happen vey automatically some time during
the style property and that will most likely cause a crash.
https://bugzilla.gnome.org/show_bug.cgi?id=756338  
						
						
					 
					
						2015-10-10 23:23:34 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						d930ea7c1f 
					 
					
						
						
							
							style context: Avoid a compiler warning  
						
						
						
						
					 
					
						2015-10-03 22:42:12 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						598e17018c 
					 
					
						
						
							
							style context: Formatting fixes  
						
						
						
						
					 
					
						2015-10-03 21:38:20 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						506fe61938 
					 
					
						
						
							
							Fix gtk_style_context_list_classes  
						
						... 
						
						
						
						The function was always returning NULL. 
						
						
					 
					
						2015-10-03 17:37:34 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3c54fbd3ac 
					 
					
						
						
							
							Use stupid quotes instead of dumb quotes  
						
						... 
						
						
						
						Following a similar change in GLib a while ago.
'bla' may by stupid, but it looks less dumb than `bla'. 
						
						
					 
					
						2015-09-23 07:01:16 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5dcbbc6736 
					 
					
						
						
							
							style context: Trivial refactor  
						
						... 
						
						
						
						Use g_set_object for setting the frame clock. 
						
						
					 
					
						2015-09-23 07:01:14 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c1691a4964 
					 
					
						
						
							
							stylecontext: add opaque background helper  
						
						... 
						
						
						
						This new private API, _gtk_style_context_is_background_opaque(), is meant to
be used by internal Gtk+ wigets to optimize fast paths for cases where
applicable. One such use would be to use a CAIRO_CONTENT_COLOR surface
instead of CAIRO_CONTENT_COLOR_ALPHA.
https://bugzilla.gnome.org/show_bug.cgi?id=754658  
						
						
					 
					
						2015-09-13 13:41:19 -07:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6118893a4e 
					 
					
						
						
							
							stylecontext: Fix list_classes() after optimization  
						
						... 
						
						
						
						Otherwise a junk value is returned. 
						
						
					 
					
						2015-09-11 09:48:38 -07:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						41b386cd6a 
					 
					
						
						
							
							cssnode: Optimize listing of classes  
						
						... 
						
						
						
						Avoid creating the GList of strings when the GQuarks
will just be determined again. Instead have
gtk_style_context_list_classes() do it specifically. 
						
						
					 
					
						2015-09-11 18:26:11 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9020b5bd17 
					 
					
						
						
							
							stylecontext: Remove line that is a no-op  
						
						... 
						
						
						
						Creating the transient node will already copy the widget type. So
copying again will not do anything. 
						
						
					 
					
						2015-09-07 14:33:35 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4c376d1a9c 
					 
					
						
						
							
							style context: Convert to g_object_notify_by_pspec  
						
						... 
						
						
						
						This avoids pspec lookup overhead in g_object_notify. 
						
						
					 
					
						2015-09-06 17:11:36 -04:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1eb1481bdf 
					 
					
						
						
							
							css: support text-decoration-style  
						
						... 
						
						
						
						The support is limited to underline single, double and wavy, which
is what pango has today. 
						
						
					 
					
						2015-07-06 20:06:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a57e6731c4 
					 
					
						
						
							
							css: support text-decoration-color  
						
						
						
						
					 
					
						2015-07-06 00:04:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						384df61c90 
					 
					
						
						
							
							css: add support for text-decoration-line  
						
						
						
						
					 
					
						2015-07-06 00:04:06 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a19331f231 
					 
					
						
						
							
							label: add support for CSS letter-spacing property  
						
						... 
						
						
						
						Support letter-spacing CSS property on GtkLabel.
Reftest is included. 
						
						
					 
					
						2015-07-06 00:04:05 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a1e80d99d2 
					 
					
						
						
							
							stylecontext: deprecate gtk_style_context_set_background()  
						
						... 
						
						
						
						Nothing in GTK calls it anymore. 
						
						
					 
					
						2015-07-01 16:09:23 -07:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fe51ac273c 
					 
					
						
						
							
							stylecontext: Change fallback behavior on state mismatch  
						
						... 
						
						
						
						For functions that take state flags as an argument we need to special
case the situation where the passed in flags don't match the current
state.
Previously we would create a copy of the style info, change its state
and do the lookup from there.
Now that GtkCssNode has replaced style infos, this doesn't work as well
anymore as copying a GtkCssNode is not possible.
However, unike style infos, GtkCssNodes are instant-apply, so we don't
need to copy anymore, we can just change the state of the node.
This causes some invalidations to be queued, but we can take that
performance hit as this is fallback code.
https://bugzilla.redhat.com/show_bug.cgi?id=1228852  
						
						
					 
					
						2015-06-15 04:36:47 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3e5280ae4d 
					 
					
						
						
							
							stylecontext: Clear style property more frequently  
						
						... 
						
						
						
						We want to clear the style property cache whenever things change in the
tree, not as we previously did only when those changes actually lead to
a different CSS style. 
						
						
					 
					
						2015-04-27 19:17:03 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ec57c6c10b 
					 
					
						
						
							
							csspathnode: Handle context going away  
						
						... 
						
						
						
						Sometimes path nodes can survive longer than the style context that
created them. Don't crash in those cases.
Fixes startup of mutter.
Testcase included.
https://bugzilla.gnome.org/show_bug.cgi?id=746407  
						
						
					 
					
						2015-03-18 18:24:45 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						776d99ac51 
					 
					
						
						
							
							stylecontext: Call get_style(), not create_style()  
						
						... 
						
						
						
						We want to ensure that the style is created properly.
This also allows making the create_Style() function private. 
						
						
					 
					
						2015-03-18 15:23:32 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						399df06d19 
					 
					
						
						
							
							stylecontext: Refactor gtk_style_context_invalidate()  
						
						... 
						
						
						
						There's no need anymore to recreate styles, nodes do that automagically
now.
This allows making gtk_css_node_set_style() private. 
						
						
					 
					
						2015-03-18 15:23:32 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2ec26cd9b5 
					 
					
						
						
							
							cssnode: Move style context function to only user  
						
						
						
						
					 
					
						2015-03-18 15:23:32 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cadf6a9d3c 
					 
					
						
						
							
							cssnode: Add gtk_css_node_invalidate_style_provider()  
						
						... 
						
						
						
						This function not just invalidates the current node, but also all
children. 
						
						
					 
					
						2015-03-18 15:23:32 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						da25771e58 
					 
					
						
						
							
							cssvalue: Remove GtkCssDependencies  
						
						... 
						
						
						
						They are not used anymore. 
						
						
					 
					
						2015-03-18 15:23:31 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b92fe2fa85 
					 
					
						
						
							
							widget: Add gtk_widget_get_css_node()  
						
						... 
						
						
						
						and replace gtk_style_context_get_root() with it. 
						
						
					 
					
						2015-03-18 15:23:31 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ffb410f11e 
					 
					
						
						
							
							widget: Create the CssNode  
						
						... 
						
						
						
						... and pass it to the style context instead of having the style context
create it for us. 
						
						
					 
					
						2015-03-18 15:23:30 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						efda30c495 
					 
					
						
						
							
							stylecontext: Don't queue animate tick callbacks anymore  
						
						... 
						
						
						
						Instead, just mark nodes permanently as invalid. 
						
						
					 
					
						2015-03-18 15:23:30 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						219e52f7e1 
					 
					
						
						
							
							cssnode: Automatically recreate style on get_style() call  
						
						... 
						
						
						
						When the style is invalid, redo it.
Make this a vfunc, so the widget nodes can opt out. 
						
						
					 
					
						2015-03-18 15:23:30 +01:00