![]() |
![]() |
![]() |
GtkImageView Reference Manual | ![]() |
---|
Release historyRelease history — Major changes between versions of GtkImageView. |
This chapter lists all major changes that has occured in GtkImageView. Each version is sorted in reverse chronological order.
gtk_image_view_get_draw_rect()
and gtk_image_view_get_viewport()
returns when the view is not allocated.
TRUE
if they handled the event
themselves.
gtk_image_view_image_to_widget_rect()
ceils the size of the output rectangle. See ticket24.
gtk_image_view_image_to_widget_rect()
was added to GtkImageView
. It is a
utility function useful determining where on the widget a
certain part of the image is.
gtk_image_view_damage_pixels()
was added. It is supposed to be used instead
of gtk_image_view_set_pixbuf
to mark an
area as damaged.
gtk_iimage_tool_pixbuf_changed()
got a
third argument which is a pointer either to the changed
rectangle in the pixbuf or NULL
. This
was needed to accomodate for the new pixel damage system.
ImageViewDrawer
was renamed
to GdkPixbufDrawCache
and placed in
the file gdkpixbufdrawcache.c
. It is
now part of the public interface. See its documentation page
for more information.
gtk_image_view_library_version()
was added to find out the runtime version of GtkImageView.
gtk_image_nav_get_pixbuf()
was added
to GtkImageNav
. It returns the
downsampled pixbuf the navigator is showing
or NULL
. The function is mostly useful
for testing.
GtkImageNav
aquired a flag variable
that controls that the downsampled pixbuf is not created
unless necessary. It makes
the GtkImageScrollWin
faster to
instantiate, but may break ABI.
gtk_image_view_get_draw_rect()
was added. It is a useful function used by both of the
tools.
GtkImageScrollWin
now has a cute
tooltip and the same prelight effect that gnome-panel
has.
gtk_image_view_set_offset_invalidating()
function.
Instead, gtk_image_view_set_offset()
has a boolean flag which indicates whether to do an
invalidating redraw or a fast scroll. This change breaks API
and maybe also ABI.
gtk_image_view_set_fit_mode()
and gtk_image_view_get_fit_mode()
.
Since there were only two items in the enum (fit or not
fit), it was much cleaner to just pass a gboolean. The
accessor functions has also been renamed
to gtk_image_view_set_fitting()
and gtk_image_view_get_fit_mode()
to
reflect this new and simpler interface. This change also
breaks API and perhaps even ABI.
The GtkImageView
widget has
undergone major internal reconstruction work. I wanted to
support making rectangular selections on the view
area. Selections are useful for many reasons -- selecting,
cutting, cropping etc. I want to support exactly the kind
of selection tool that gThumb's image crop dialog has.
To implement this feature GtkImageView has been made
extensible via aggregation. It now uses an interface
called GtkIImageTool
which
encapsulats certain behaviour. This means that it will be
possible to extend GtkImageView with other tools too, such
as drawing tools.
The feature isn't completed yet, but I'm checking it in anyway to avoid having to check in a super-large changeset at an even later date. See this blog post for even more details.
There is currently two tools implemented,
GtkImageToolDragger
and
GtkImageToolSelector
. See their
respective manual pages.
gtk_image_view_set_offset_invalidating()
was added. The function has the same purpose as
gtk_image_view_set_offset()
, but queues
the redraw by invalidating the whole widget instead of
immediately repainting. The effect is that superfluous
redraws can sometimes be avoided at the expense of more cpu
usage.
gtk_image_view_get_check_colors()
and gtk_image_view_set_transp()
was
added. These additions enable users to define how
GtkImageView should render transparent parts of images with
an alpha
channel. See ./tests/interactive.c
for
an example.
gtk_image_view_set_pixbuf()
was
changed to accept three parameters. The third parameter is
a gboolean that defines whether to reset fit
mode or not. It should almost always be TRUE.
This change replaces the old (and
undocumented) gtk_image_view_set_pixbuf_no_repaint()
function.