| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More background drawing speedups - this time mainly for
the non-aa case.
* libnautilus-extensions/nautilus-background-canvas-group.c:
(nautilus_background_canvas_group_initialize_class),
(nautilus_background_canvas_group_update),
(nautilus_background_canvas_group_draw),
(nautilus_background_canvas_group_render):
* libnautilus-extensions/nautilus-background.c:
(canvas_gradient_helper_v), (canvas_gradient_helper_h),
(fill_canvas_from_gradient_buffer), (drawable_gradient_helper_v),
(drawable_gradient_helper_h), (fill_drawable_from_gradient_buffer),
(draw_pixbuf_tiled), (canvas_buf_from_pixbuf),
(ensure_image_scaled), (nautilus_background_pre_draw),
(nautilus_background_draw), (nautilus_background_draw_to_drawable),
(draw_pixbuf_tiled_aa), (nautilus_background_draw_aa),
(nautilus_background_draw_to_canvas),
(nautilus_background_draw_flat_box):
* libnautilus-extensions/nautilus-background.h:
* libnautilus-extensions/nautilus-buffered-widget.c:
(create_background_pixbuf_from_ancestor):
* libnautilus-extensions/nautilus-directory-background.c:
(image_loading_done_callback), (saved_settings_changed_callback):
* libnautilus-extensions/nautilus-gdk-extensions.c:
(nautilus_rgb16_to_rgb), (nautilus_rgb8_to_rgb),
(nautilus_gdk_color_to_rgb):
* libnautilus-extensions/nautilus-gdk-extensions.h:
* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.c:
* libnautilus-extensions/nautilus-gdk-pixbuf-extensions.h:
* libnautilus-extensions/nautilus-gnome-extensions.c:
(nautilus_gnome_canvas_draw_pixbuf_helper),
(nautilus_gnome_canvas_draw_pixbuf_helper_alpha),
(nautilus_gnome_canvas_draw_pixbuf):
* libnautilus-extensions/nautilus-gnome-extensions.h:
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(create_background_pixbuf_from_ancestor):
Remove an assertion that is not needed.
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
* libnautilus-extensions/nautilus-label.h:
* libnautilus-extensions/nautilus-scalable-font.h:
Dumb documentation typos.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(nautilus_buffered_widget_initialize),
(nautilus_buffered_widget_destroy),
(buffered_widget_update_pixbuf),
(create_background_pixbuf_from_none),
(create_background_pixbuf_from_solid),
(create_background_pixbuf_from_ancestor),
(create_background_pixbuf),
(nautilus_buffered_widget_get_vertical_offset),
(nautilus_buffered_widget_set_background_type),
(nautilus_buffered_widget_get_background_type),
(nautilus_buffered_widget_set_background_color),
(nautilus_buffered_widget_get_background_color):
* libnautilus-extensions/nautilus-buffered-widget.h:
* libnautilus-extensions/nautilus-gdk-extensions.c:
(nautilus_gdk_gc_ref_if_not_null),
(nautilus_gdk_gc_unref_if_not_null):
* libnautilus-extensions/nautilus-gdk-extensions.h:
Add unref/ref functions for gcs that take NULL.
* libnautilus-extensions/nautilus-label.c: (nautilus_label_new):
* libnautilus-extensions/nautilus-label.h:
Make the constructor work just like GtkLabel by accepting a string.
* components/music/nautilus-music-view.c:
(nautilus_music_view_initialize), (add_play_controls):
Use the new NautilusLabel constructor.
* components/services/nautilus-dependent-shared/shared-service-widg
ets.c: (create_label_widget):
Use the new NautilusLabel constructor.
* src/nautilus-first-time-druid.c: (make_anti_aliased_label),
(set_up_update_feedback_page):
Use the new NautilusLabel constructor.
* src/nautilus-property-browser.c:
(nautilus_property_browser_initialize),
(make_properties_from_directory_path),
(make_properties_from_xml_node), (make_category_link):
Use the new NautilusLabel constructor.
Fix the tile names to be antialises by using the new buffered
widget SOLID background mode.
* src/nautilus-sidebar-title.c:
(sidebar_create_smooth_components_if_needed):
Use the new NautilusLabel constructor.
* src/nautilus-theme-selector.c:
(nautilus_theme_selector_initialize):
Use the new NautilusLabel constructor.
* test/test-nautilus-image.c: (main):
* test/test-nautilus-label.c: (main):
Use the new NautilusLabel constructor.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(nautilus_buffered_widget_initialize),
(nautilus_buffered_widget_realize),
(nautilus_buffered_widget_draw),
(background_appearance_changed_callback),
(connect_to_background_if_needed):
Delay the connection to the NautilusBackground until its time to
redraw the widget. Only make this connection if an ancestor
widget with an attatched NautilusBackground exists.
This allows subclasses to be used on both widgets with and without
NautilusBackgrounds attatched.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(nautilus_buffered_widget_initialize_class),
(nautilus_buffered_widget_realize),
(nautilus_buffered_widget_draw),
(nautilus_buffered_widget_size_allocate),
(nautilus_buffered_widget_expose_event):
Some dumb renamings and superfluous assertion removal.
* libnautilus-extensions/nautilus-image.c:
(nautilus_image_initialize_class), (nautilus_image_draw),
(nautilus_image_expose_event), (nautilus_image_paint),
(nautilus_image_set_alpha_mode):
Add support for two alpha rendering modes: 1) FULL, the pixbuf is
composited on top of the widget's background - expensive. 2)
THRESHOLD, the pixbuf is drawn with an alpha threshold without any
compositing - fast but not as smooth.
* libnautilus-extensions/nautilus-label.c: (render_buffer_pixbuf):
Remove a dumb printf i left in before.
* src/nautilus-sidebar-title.c:
(nautilus_sidebar_title_initialize), (update_icon),
(nautilus_sidebar_title_hit_test_icon),
(sidebar_create_smooth_components_if_needed),
(sidebar_create_normal_components_if_needed),
(smooth_graphics_mode_changed_callback):
Use the new dual alpha support in the image class to simplify
things. Create only one icon and change the alpha mode on that
when the smooth graphics preference changes. Ill do the same for
emblems later.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(nautilus_buffered_widget_initialize),
(buffered_widget_update_pixbuf),
(nautilus_buffered_widget_set_tile_pixbuf),
(nautilus_buffered_get_tile_pixbuf_size),
(nautilus_buffered_widget_set_horizontal_offset),
(nautilus_buffered_widget_get_horizontal_offset),
(nautilus_buffered_widget_set_vertical_offset),
(nautilus_buffered_widget_get_vertical_offset):
* libnautilus-extensions/nautilus-buffered-widget.h:
Add suport for a vertical and horizontal offset. Pass these on to
the pixbuf render function so that the subclasses can do stuff
with them.
* libnautilus-extensions/nautilus-image.c:
(nautilus_image_initialize), (nautilus_image_size_request),
(render_buffer_pixbuf), (nautilus_image_set_overall_alpha),
(nautilus_image_set_alpha_mode), (nautilus_image_get_alpha_mode):
* libnautilus-extensions/nautilus-image.h:
Use the GtkMisc xpad/ypad into account when computing the
requested geometry.
Add preliminary support an alpha mode so that the image widget can
server as a regular thresholded pixbuf display without doing the
full and expensive compositing on the background. Not hooked up yet.
Update for vertical/horizontal offset support.
* libnautilus-extensions/nautilus-label.c:
(nautilus_label_size_request), (render_buffer_pixbuf):
Use the GtkMisc xpad/ypad into account when computing the
requested geometry.
Update for vertical/horizontal offset support.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(nautilus_buffered_widget_expose),
(buffered_widget_create_pixbuf_from_background),
(nautilus_buffered_widget_get_tile_pixbuf),
(nautilus_buffered_get_tile_pixbuf_size):
* libnautilus-extensions/nautilus-buffered-widget.h:
New function to access the tile_height.
* libnautilus-extensions/nautilus-label.c:
(nautilus_label_size_request):
Take the tile height into account when computing the requested
label height.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libnautilus-extensions/nautilus-buffered-widget.c:
(nautilus_buffered_widget_realize):
Add a evil hack to keep track of background changes. I have a
better fix for this that I will commit soon.
* src/nautilus-sidebar-title.c:
(nautilus_sidebar_title_initialize),
(nautilus_sidebar_title_destroy),
(nautilus_sidebar_title_select_text_color),
(nautilus_sidebar_title_theme_changed), (update_icon),
(update_font), (update_title), (update_more_info), (update_all),
(nautilus_sidebar_title_hit_test_icon),
(sidebar_create_smooth_components_if_needed),
(sidebar_create_normal_components_if_needed),
(anti_aliased_mode_changed_callback):
* src/nautilus-sidebar-title.h:
* src/nautilus-sidebar.c: (background_appearance_changed_callback):
Add support for smoother graphics. Use new NautilusLabel and
NautilusImage widgets to render alpha composited pixbufs and anti
aliases text.
The old non-smooth widgets are still supported and should continue
to work as expected whenever the smooth graphics preference is
toggled.
|
|
* libnautilus-extensions/nautilus-scalable-font.c:
* libnautilus-extensions/nautilus-scalable-font.h:
New GtkObject subclass that provdes a simple interface to raph's
librsvg FreeType2 bases anti aliased text rendering.
* libnautilus-extensions/nautilus-font-picker.c:
* libnautilus-extensions/nautilus-font-picker.h:
New font picker class. I will soon use it in the preferences
dialog instead of the current one.
* libnautilus-extensions/nautilus-buffered-widget.c:
* libnautilus-extensions/nautilus-buffered-widget.h:
New virtual widget class that encapsulates the details of finding
a suitable background for compositing pixbufs.
* libnautilus-extensions/nautilus-image.c:
* libnautilus-extensions/nautilus-image.h:
Rewritten NautilusImage class. Took out all the label stuff,
which lives in its own class. Now subclassed from
NautilusBufferedWidget so that background the image gets
composited on is always correct and groks NautilusBackground.
* libnautilus-extensions/nautilus-label.c:
* libnautilus-extensions/nautilus-label.h:
New NautilusLabel widget class. A label widget that is capable of
displaying anti aliased text composited over a complex background.
The background can be installed as NautilusBackground on a
NautilusLabel widget or any of its ancestors. The best background
will automatically be found and used by the widget.
* services/nautilus-dependant-shared/shared-service-widgets.c,
* services/nautilus-dependant-shared/shared-service-widgets.h,
* services/startup/nautilus-view/nautilus-service-startup-view.c:
Update for changes in the NautilusImage api. Unfortunately, these
components are slightly broken now cause of the NautilusImage
changes. I will fix them shortly.
* libnautilus-extensions/nautilus-string-map.c:
* libnautilus-extensions/nautilus-string-map.h:
New simple class to map an arbitrary number of strings to a single
string.
* libnautilus-extensions/nautilus-lib-self-check-functions.h:
Add tests for the new string map class.
* libnautilus-extensions/Makefile.am:
Build the new widgets. Also add some depedencies on the static
libraries we link into this beast. This way,
libnautilus-extensions will rebuild of one if its dependency
static libs is touched.
* test/.cvsignore,
* test/Makefile.am,
* test/test-nautilus-font-picker.c,
* test/test-nautilus-font.c,
* test/test-nautilus-image.c,
* test/test-nautilus-label.c:
Update test programs for new widgets.
|