Benjamin Otte
0f5d807cae
iconhelper: Don't render to surface anymore
...
Just go directly to texture.
2017-11-05 06:30:45 +01:00
Benjamin Otte
2d959553e9
image: Add the ability to set textures
...
This also adds it to all other places that use the same infrastructure:
GtkEntry and GtkCellRendererPixbuf
2017-11-05 00:07:17 +01:00
Benjamin Otte
ca3c23662c
GskTexture => GdkTexture
...
We want this thing to replace GdkPixbuf, so it has to live in GDK.
2017-11-04 00:07:13 +01:00
Alexander Larsson
96b04836d8
Drop all uses of GdkPixbufAnimation in the gtk APIs
...
These are basically animated gifs, and don't fit well in how
modern things animate.
2017-10-23 16:56:49 +02:00
Alexander Larsson
0089e4ad58
Drop pixbuf support in IconHelper and ImageDefinition
...
These are no longer used, instead we always covert to surface as
early as possible and drop the pixbuf.
This means we never store both the pixbuf and the surface at
for any longer time, which is wasteful. Also, its one step further
to drop GdkPixbufs from generic use in our APIs.
2017-10-23 15:28:33 +02:00
Timm Bäder
a32725bc9a
iconhelper: Don't inherit from GObject
...
It's not a GtkCssGadget anymore, it doesn't have any properties or
signals either and it's not public. Further, its lifetime is very clear
the way it's being used inside GTK+.
2017-10-01 09:19:09 +02:00
Timm Bäder
7b5c12c7dc
iconhelper: Inherit from GObject
...
Nothing is using any gadget API on iconhelpers anymore.
2017-07-19 21:27:14 -04:00
Timm Bäder
4e141883e8
iconhelper: Remove unused _draw implementation
2017-02-14 16:56:55 +01:00
Timm Bäder
3dac21f20b
entry: Refactor get_icon_pixbuf
...
This way it will only return a pixbuf if the icon helper has a pixbuf.
2016-12-03 13:19:26 +01:00
Benjamin Otte
4b8b06bb08
image: Invalidate icon helper when unrealizing
...
This frees up any cached surfaces and textures in the iconhelper,
ensuring that the renderer can release its texture data.
2016-11-15 17:49:19 +01:00
Benjamin Otte
c0aa065ac1
snapshot: Convert GtkImage and GtkIconHelper
...
Adds a bunch of new APIs to render textures with theming.
FIXME: Cannot draw shadows for textures.
2016-11-15 17:49:19 +01:00
Benjamin Otte
1259a489f2
iconhelper: Add support for GskTexture
...
... and use that in GtkImage.
2016-11-08 20:31:34 +01:00
Timm Bäder
627a824cab
image: Remove GtkIconSet API
2016-10-16 18:17:21 +02:00
Timm Bäder
ad155fb26c
Remove GtkStock API from GtkImage
2016-10-16 18:17:21 +02:00
Timm Bäder
ded745a4b9
Make gtk_icon_helper_invalidate private
2016-02-07 19:16:26 +01:00
Timm Bäder
0bd6c48315
Add and use gtk_icon_helper_invalidate_for_change
2016-02-07 19:16:26 +01:00
Matthias Clasen
f63e8edec6
Make sure icons update on theme change
...
Gadgets don't connect to style-changed for widget nodes, and
GtkImage uses its widget node for the icon helper. The visible
effect of this is that symbolic icons don't change color when
switching to the dark variant of Adwaita.
Fix this by manually invalidating the icon helper.
2016-01-04 21:32:19 -05:00
Benjamin Otte
4586503e93
iconhelper: Finish gadget conversion
...
Implement missing vfuncs
2015-12-15 08:41:16 -05:00
Benjamin Otte
b79a187d47
iconhelper: Handle invalidation
...
When CSS, direction or scale factor change, handle the invalidation
inside the iconhelper.
This way the widgets using them don't have to.
2015-12-15 08:41:16 -05:00
Benjamin Otte
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
Benjamin Otte
25ecd8cd37
iconhelper: Turn into gadget
...
This is just the basic conversion to inheriting from
GTK_TYPE_CSS_GADGET.
2015-12-15 08:41:16 -05:00
Benjamin Otte
ccfc4d3f12
iconhelper: Remove the context argument
...
Instead, use the widget's context.
2015-12-09 13:30:40 +01:00
Benjamin Otte
e95e2d5048
iconhelper: Get rid of _gtk_icon_helper_set_window()
...
Instead use the window of the owner widget.
2015-12-09 13:30:40 +01:00
Benjamin Otte
c9d1a45d30
iconhelper: Require a widget as construction argument
...
Note that the caller needs to ensure the widget lives as long as the
iconhelper as the iconhelper will not ref the widget.
2015-12-09 13:30:40 +01:00
Benjamin Otte
6a4b91d0ed
iconhelper: Remove _gtk_icon_helper_ensure_pixbuf()
...
The code isn't used anymore. Everything uses
gtk_icon_helper_load_surface() now.
2015-12-02 00:29:30 +01:00
Benjamin Otte
e99eba4415
dnd: Rewrite iconhelper code
...
It now uses GtkImageDefinition instead.
2015-12-02 00:29:30 +01:00
Benjamin Otte
482d71d680
iconhelper: Add a scale argument to gtk_icon_helper_load_surface()
...
It will be used in the next patch.
2015-12-02 00:29:30 +01:00
Benjamin Otte
afad393b15
iconhelper: Refactor ensure_surface()
...
Make gtk_icon_helper_ensure_surface() a private function that just
ensures the surface was loaded.
Add gtk_icon_helper_load_surface() that is called by the above function
and the dnd code to actually load the surface.
2015-12-02 00:29:30 +01:00
Benjamin Otte
1c96b703a6
dragsource: Store an itemdefinition, not an iconhelper
...
The icon is never rendered, so there's no need for the extra iconhelper
code.
2015-12-02 00:29:29 +01:00
Benjamin Otte
29cdb2001c
iconhelper: Don't include gtk.h
2015-11-25 16:32:39 +01:00
Benjamin Otte
4843925660
iconhelper: Remove unused function
2015-11-25 16:32:39 +01:00
Matthias Clasen
7e40d74b0b
GtkIconHelper: Change setters to return success
...
This makes it easier to avoid redundant notifications in users.
2014-06-09 13:31:04 -04:00
Alexander Larsson
9bde6b10ef
gtkiconhelper: Add _gtk_icon_helper_ensure_surface to private header
2013-08-07 13:34:10 +02:00
Alexander Larsson
031e1a98a0
GtkIconHelper: Convert to using cairo surfaces as base and support scales
...
We render the source into a cairo_surface_t so that we can render it
with cairo directly, rather than having to convert it from a pixbuf
every time. We also specify the target window when creating the cairo
surface so that rendering can be faster.
Using cairo surfaces also allows us to seamlessly support window scales.
We also add a GTK_IMAGE_SURFACE source type.
2013-07-03 14:39:26 +02:00
Alexander Larsson
5d8fd4ee24
GtkIconHelper: Add set_window()
...
This is a hint on where the icon will be drawn. It
will allow us to pre-allocate cairo surfaces for the right
target.
2013-07-03 14:39:25 +02:00
Carlos Garnacho
b5d45a9edc
Add API to force a GtkIconHelper pixbuf rescaling
...
This API is handy in entries and status icons, where the size is
limited and independent of the pixbuf size
2012-07-13 16:56:37 +02:00
Javier Jardón
9d0febc9a6
Change FSF Address
2012-02-27 17:06:11 +00:00
Cosimo Cecchi
b5d8d2c4a8
icon-helper: add GtkIconHelper private object
...
GtkIconHelper is a helper object to easily obtain a pixbuf from
different icon sources (e.g. a GIcon, an icon name, a stock id, ...).
Code is ported from GtkImage, which will be adapted in the next commit.
2011-11-30 16:39:59 -05:00