| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
| |
* src/image.c (svg_load_image): Reverse the R and B bytes in the
Windows colors before using them to generate the SVG.
|
|
|
|
|
|
|
| |
* src/image.c (image_create_bitmap_from_data)
(image_create_bitmap_from_file): Specify a Window or a Pixmap
describing the screen, not a back buffer drawable which may not exist.
Otherwise, Emacs crashes on startup when a bitmap icon is in use.
|
| |
|
|
|
|
|
|
|
|
| |
Fix SVG scaling with librsvg>2.52 and SVG file with only one known
dimension.
* src/image.c (svg_load_image): Compute a percentage dimension with
the other known dimension.
|
|
|
|
|
| |
* src/image.c (image_create_pix_container): Remove unused
frame parameter. Update callers.
|
|
|
|
| |
Author:
|
|
|
|
|
| |
* src/image.c (syms_of_image): Add Qsvg image type if SVG is
also supported by native image APIs.
|
|
|
|
|
|
|
|
| |
* src/image.c (image_clear_image, lookup_image): Fix coding
style.
(x_destroy_x_image): Remove unnecessary assertion. Call
XDestroyImage, since otherwise only the image data is freed.
(image_from_emacs_colors): Rename variables to make more sense.
|
|
|
|
|
| |
* lisp/simple.el (imagep): Remove.
* src/image.c (Fimagep): Always define.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* src/image.c (svg_load_image): Don't call Lisp to remove trailing
whitespace from librsvg error messages, do it in C instead; this
reduces consing and is much cleaner. Don't display empty error
reason if librsvg happens to return an empty message text.
(syms_of_image): Don't DEFSYM string-trim-right. (Bug#57755)
|
|
|
|
|
|
|
|
|
| |
* src/image.c (svg_load_image): Use g_error_free directly instead
of the helder g_clear_error (since we're only calling it with
non-nil values).
(svg_load_image): Avoid segfault and double reporting errors.
* test/manual/image-tests.el (image-tests-load-image/svg-too-big)
(image-tests-load-image/svg-invalid): Test it (bug#57755).
|
|
|
|
|
|
|
| |
* src/image.c (svg_load_image): Display the error message from librsvg
when parsing a bad SVG image file.
* test/manual/image-tests.el
(image-tests-load-image/svg-invalid): New test.
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/image.el (image-animate-timeout): Eject cached animated
images that are no longer reachable (bug#56546).
* src/image.c (Fclear_image_cache): Allow specifying a cached
animated image to eject.
(gif_load, webp_load): Adjust what to use as the caching key --
the identity of the list itself is apparently changed by some
callers.
|
|
|
|
|
|
|
| |
* src/image.c (struct anim_cache, anim_create_cache): Store approx
cache size.
(gif_load, webp_load): Ditto.
(Fimage_cache_size): Also report animation cache size (bug#56546).
|
|
|
|
| |
* src/image.c (IMAGE_TYPE_INIT): Make conditional on image support.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/dispextern.h: Declare image_prune_animation_caches for use
in gc.
* src/image.c (Fclear_image_cache): Clear animation cache.
(anim_prune_animation_cache, anim_get_animation_cache): Allow
clearing in addition to pruning.
(imagemagick_prune_animation_cache)
(imagemagick_get_animation_cache): Ditto.
(image_prune_animation_caches): New function (bug#56546).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/lispref/lists.texi (Plist Access): Document it.
* lisp/filesets.el (filesets-reset-fileset)
(filesets-ingroup-cache-get):
(filesets-ingroup-cache-put):
(filesets-build-menu-now): Don't use lax-plist functions.
* lisp/simple.el (lax-plist-put, lax-plist-get): Moved here from
fns.c and make obsolete.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Don't mark
plist functions as side-effect-free or pure.
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Adjust type.
* lisp/emacs-lisp/shortdoc.el (list): Don't document deprecated
functions.
* src/xdisp.c (build_desired_tool_bar_string):
(display_mode_element):
(store_mode_line_string):
(display_string):
(produce_stretch_glyph):
(note_mode_line_or_margin_highlight):
(note_mouse_highlight):
* src/w32.c (serial_configure):
* src/sysdep.c (serial_configure):
* src/sound.c (parse_sound):
* src/process.c (Fset_process_buffer):
(Fset_process_sentinel):
(Fprocess_contact):
(Fmake_process):
(Fmake_pipe_process):
(Fset_network_process_option):
(Fserial_process_configure):
(Fmake_serial_process):
(set_network_socket_coding_system):
(finish_after_tls_connection):
(connect_network_socket):
(Fmake_network_process):
(server_accept_connection):
* src/lread.c (ADDPARAM):
(hash_table_from_plist):
* src/keyboard.c (make_lispy_position):
* src/indent.c (check_display_width):
* src/image.c (postprocess_image):
* src/gnutls.c (gnutls_verify_boot):
(Fgnutls_boot):
(gnutls_symmetric):
(Fgnutls_hash_mac):
(Fgnutls_hash_digest):
* src/dired.c (filter):
* src/data.c (add_to_function_history):
* src/coding.c (Fcoding_system_put): Adjust callers from
Fplist_put (etc) to plist_put.
* src/fns.c (plist_get):
(plist_put):
(plist_member): New functions (without optional third parameter)
to be used in C code.
* src/fns.c (Fplist_get, Fplist_put, Fplist_member): Take an
optional predicate parameter (bug#47425).
* src/lisp.h: Declare new plist_put, plist_get and plist_member
functions.
* test/lisp/json-tests.el (test-json-add-to-plist): Use plist-get.
* test/src/fns-tests.el (test-cycle-lax-plist-get):
(test-cycle-lax-plist-put):
(lax-plist-get/odd-number-of-elements):
(test-plist): Remove lax-plist tests, since semantics have changed
(they no longer error out on cycles).
|
|
|
|
|
|
|
|
|
| |
* src/dispextern.h (struct image): New field
`use_bilinear_filtering'.
* src/haiku_draw_support.cc (BView_DrawBitmap): Accept it.
* src/haiku_support.h: Update prototypes.
* src/haikuterm.c (haiku_draw_image_glyph_string):
* src/image.c (image_set_transform): Set it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/dispextern.h (struct image): New field `transform',
`original_width' and `original_height'.
* src/haiku_draw_support.cc (BView_DrawMask): Rename to
`be_draw_image_mask' and fix coding style.
(rotate_bitmap_270, BBitmap_transform_bitmap, rotate_bitmap_90):
Delete functions.
(be_apply_affine_transform): New function.
(be_apply_inverse_transform): New function.
* src/haiku_support.h: Update prototypes.
* src/haikuterm.c (haiku_translate_transform): New function.
(haiku_draw_image_glyph_string): Use affine transforms to
implement images.
* src/image.c (image_set_transform): Implement using affine
transforms on Haiku too.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* lisp/image.el (image-map): Keybindings for flipping functions.
(image-flip-horizontally): New function that toggles image flipping
property.
(image-flip-vertically): New function that toggles image flipping
property and rotates image 180 degrees.
* src/image.c (syms_of_image): Add property.
(image_set_transform): Modify image rotation code to also horizontally
flip the image when the property is set.
* etc/NEWS: Add description.
* doc/lispref/display.texi (Image Descriptors): Document :flip
(bug#47095).
|
|
|
|
|
|
|
|
|
| |
* doc/lispref/display.texi (XBM Images): Adjust the documentation.
* src/image.c (enum xbm_keyword_index): Add :data-width and
:data-height.
(xbm_format): Ditto.
(xbm_image_p): Allow passing in :width/:height for display.
(xbm_load): Use :data-width/:data-height.
|
|
|
|
|
|
|
|
|
|
| |
* src/haiku_draw_support.cc (be_draw_cross_on_pixmap_1)
(be_draw_cross_on_pixmap): New functions.
* src/haiku_support.h: Update prototypes.
* src/image.c (image_pixmap_draw_cross, image_disable_image):
Implement drawing cross on Haiku.
|
| |
|
|
|
|
|
| |
* src/image.c (image_create_bitmap_from_file): [HAVE_HAIKU]:
Look for the bitmap inside `x-bitmap-file-path' as well.
|
|
|
|
|
| |
* src/image.c (image_create_bitmap_from_file): Set file name on
the bitmap rec on Haiku.
|
|
|
|
|
| |
* src/image.c (image_create_bitmap_from_file) [HAVE_NS]: Fix
loading XBM data from file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/haikufont.c (haikufont_draw): Use
`haiku_draw_background_rect' instead.
* src/haikuterm.c (haiku_draw_plain_background): Change
arguments to accept rect manually.
(haiku_get_bitmap): Delete function.
(haiku_get_bitmap_rec): New function.
(haiku_draw_stipple_background): Accept rect instead of box
sizes.
(haiku_draw_background_rect): New function.
(haiku_maybe_draw_background): Use that instead.
(haiku_draw_image_glyph_string): Add notice.
(haiku_draw_glyph_string): Set `stippled_p' correctly.
* src/haikuterm.h (struct haiku_bitmap_record): New fields for
keeping track of stipple state.
* src/image.c (image_create_bitmap_from_data)
(image_create_bitmap_from_file, free_bitmap_record): Free and
set them accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Stipples don't completely work yet.
* lisp/faces.el (face-valid-attribute-values): Enable `:stipple'
on Haiku.
* src/haiku_draw_support.cc (BView_DrawBitmap)
(BView_DrawBitmapWithEraseOp, BView_DrawMask): Don't push and
pop states.
(BView_DrawBitmapTiled): New function.
* src/haiku_support.cc (BBitmap_import_mono_bits): Delete
function.
* src/haiku_support.h: Update prototypes.
* src/haikuterm.c (get_string_resource): Fix coding style.
(haiku_get_bitmap, haiku_draw_stipple_background): Implement
partially.
(haiku_set_scroll_bar_default_width)
(haiku_set_scroll_bar_default_height, haiku_scroll_bar_create)
(haiku_set_horizontal_scroll_bar, haiku_set_vertical_scroll_bar)
(haiku_create_terminal, haiku_scroll_bar_remove): Fix coding
style.
* src/image.c (image_create_bitmap_from_data)
(image_create_bitmap_from_file): Implement on Haiku.
|
|
|
|
|
|
| |
* src/image.c (svg_load_image): Don't include the spec in the
error message, because this is commonly the entire SVG string, and
this will fill up the *Messages* buffer quickly.
|
|
|
|
|
| |
* src/image.c (gif_load): Tweak how DISPOSE_PREVIOUS is handled.
It's still not right, but it's less glaringly wrong.
|
|
|
|
|
| |
* src/image.c (webp_load): Take care of lifetime issues of the
image data we're iterating over for animated images.
|
|
|
|
| |
* src/image.c (gif_load): Really check all frames that they fit.
|
|
|
|
|
| |
* src/image.c (gif_load): Only start a cache if we're have an
:index entry (which means that we're trying to animate something).
|
|
|
|
|
| |
* src/image.c (webp_load): Clean up code slightly.
(gif_load): Really release resources on GIF parsing errors.
|
|
|
|
|
| |
* src/image.c (gif_load): Use the default delay for GIF images
that don't explicitly state a delay.
|
|
|
|
|
|
| |
* src/image.c (gif_load): Fix resetting the cache when we're out
of sync.
(anim_create_cache): Start from zero, not 1.
|
|
|
|
|
|
|
| |
* src/image.c (filter_image_spec): New function.
(uncache_image): Use it.
(lookup_image): Ditto.
(syms_of_image): Define some keywords.
|
| |
|
|
|
|
|
|
|
| |
* src/image.c (gif_load): Invert the way animated pixmaps are
created: Work on the cached computed-so-far pixmap, and then copy
the entire thing to the ximg with PUT_PIXEL at the end. This
should work across platforms, which the previous version didn't.
|
|
|
|
|
|
| |
This reverts commit a715f2fbe70bb4cbb961e82af95e2965030b4513.
This is fixed in a different way in a subsequent commit.
|
| |
|
|
|
|
|
| |
* src/image.c (struct anim_cache): Move earlier.
(mark_image_cache): Mark the Lisp_Object in the anim cache.
|
|
|
|
| |
* src/image.c: Enable the cache functions when HAVE_GIF, too
|
|
|
|
|
|
|
|
|
|
| |
* src/image.c (anim_prune_animation_cache): Tweak the destructor
API.
(gif_destroy): New function.
(gif_load): Use a cache to avoid quadratic CPU usage for animated
images (bug#45224).
(webp_destroy): New function.
(webp_load): Use it.
|
|
|
|
|
|
|
|
| |
* src/image.c (struct anim_cache, anim_create_cache)
(anim_prune_animation_cache, anim_get_animation_cache): Rename
from webp_cache (etc) to prepare for usage in the gif animation
implementation, too.
(webp_load): Adjust cache usage.
|
|
|
|
| |
* src/image.c (gif_load): Improve error reporting (bug#54848).
|