mirror of
https://github.com/labwc/labwc.git
synced 2025-11-19 07:00:04 -05:00
Add buffer_adopt_cairo_surface(), which allows wrapping an existing cairo image surface in a struct lab_data_buffer. This is useful when loading PNGs since most will be loaded as ARGB32 already. Fix a memory leak in the non-ARGB32 PNG case, where we do still need to paint to a new image surface -- we were leaking the original surface. Eliminate an unnecessary temporary image surface in SVG loading and just render the SVG to the image surface held by the lab_data_buffer. I also cleaned up and clarified the buffer API a bit: - Add a pointer to the held cairo_surface_t (so we can still access it if there is no cairo_t). - Remove the free_on_destroy bool (it was always true). - Rename unscaled_width/height to logical_width/height and add an explanatory comment. It was unclear what "unscaled" meant. - Rename buffer_create_wrap() to buffer_create_from_data(). This is laying groundwork for some more icon fixes I am working on (making sure icons are loaded and rendered at the correct scale). |
||
|---|---|---|
| .. | ||
| box.c | ||
| buf.c | ||
| dir.c | ||
| direction.c | ||
| fd-util.c | ||
| file-helpers.c | ||
| font.c | ||
| grab-file.c | ||
| graphic-helpers.c | ||
| match.c | ||
| mem.c | ||
| meson.build | ||
| nodename.c | ||
| parse-bool.c | ||
| parse-double.c | ||
| scaled-font-buffer.c | ||
| scaled-scene-buffer.c | ||
| scene-helpers.c | ||
| spawn.c | ||
| string-helpers.c | ||
| surface-helpers.c | ||