[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 9609db9: Minor tweaks to HAVE_NATIVE_SCALING code
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master 9609db9: Minor tweaks to HAVE_NATIVE_SCALING code |
Date: |
Thu, 10 Jan 2019 18:30:18 -0500 (EST) |
branch: master
commit 9609db9d98babfe8782a03aebe46176e57905c63
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
Minor tweaks to HAVE_NATIVE_SCALING code
This mostly just reindents.
* src/image.c (x_set_image_size): Always define, but to a no-op
if !HAVE_NATIVE_SCALING, to avoid an #ifdef elsewhere.
(x_create_x_image_and_pixmap): Move decl to avoid an #ifdef.
(image_create_x_image_and_pixmap): Move #ifdef outside of call.
* src/xterm.c (x_composite_image): Avoid ‘else #endif’.
---
src/dispextern.h | 13 +++++-----
src/image.c | 78 +++++++++++++++++++++++++++-----------------------------
src/xterm.c | 14 +++++-----
3 files changed, 51 insertions(+), 54 deletions(-)
diff --git a/src/dispextern.h b/src/dispextern.h
index b064875..9cea321 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -32,7 +32,7 @@ along with GNU Emacs. If not, see
<https://www.gnu.org/licenses/>. */
#endif /* USE_X_TOOLKIT */
#ifdef HAVE_XRENDER
-#include <X11/extensions/Xrender.h>
+# include <X11/extensions/Xrender.h>
#endif
#else /* !HAVE_X_WINDOWS */
@@ -2938,10 +2938,9 @@ struct redisplay_interface
#ifdef HAVE_WINDOW_SYSTEM
-#if defined (HAVE_X_WINDOWS) && defined (HAVE_XRENDER) \
- || defined (HAVE_NS)
-#define HAVE_NATIVE_SCALING
-#endif
+# if defined HAVE_XRENDER || defined HAVE_NS
+# define HAVE_NATIVE_SCALING
+# endif
/* Structure describing an image. Specific image formats like XBM are
converted into this form, so that display only has to deal with
@@ -2967,10 +2966,10 @@ struct image
synchronized to Pixmap. */
XImagePtr ximg, mask_img;
-#ifdef HAVE_NATIVE_SCALING
+# ifdef HAVE_NATIVE_SCALING
/* Picture versions of pixmap and mask for compositing. */
Picture picture, mask_picture;
-#endif
+# endif
#endif
/* Colors allocated for this image, if any. Allocated via xmalloc. */
diff --git a/src/image.c b/src/image.c
index 84c31dc..2fae105 100644
--- a/src/image.c
+++ b/src/image.c
@@ -1859,47 +1859,48 @@ compute_image_size (size_t width, size_t height,
*d_width = desired_width;
*d_height = desired_height;
}
+#endif /* HAVE_IMAGEMAGICK || HAVE_NATIVE_SCALING */
-#ifdef HAVE_NATIVE_SCALING
static void
x_set_image_size (struct frame *f, struct image *img)
{
-#ifdef HAVE_IMAGEMAGICK
+#ifdef HAVE_NATIVE_SCALING
+# ifdef HAVE_IMAGEMAGICK
/* ImageMagick images are already the correct size. */
- if (!EQ (image_spec_value (img->spec, QCtype, NULL), Qimagemagick))
-#endif
- {
- int width, height;
+ if (EQ (image_spec_value (img->spec, QCtype, NULL), Qimagemagick))
+ return;
+# endif
- compute_image_size (img->width, img->height, img->spec, &width, &height);
+ int width, height;
+ compute_image_size (img->width, img->height, img->spec, &width, &height);
-#ifdef HAVE_NS
- ns_image_set_size (img->pixmap, width, height);
- img->width = width;
- img->height = height;
-#endif
+# ifdef HAVE_NS
+ ns_image_set_size (img->pixmap, width, height);
+ img->width = width;
+ img->height = height;
+# endif
-#ifdef HAVE_XRENDER
- if (img->picture)
- {
- double xscale = (double) img->width/width;
- double yscale = (double) img->height/height;
+# ifdef HAVE_XRENDER
+ if (img->picture)
+ {
+ double xscale = img->width / (double) width;
+ double yscale = img->height / (double) height;
- XTransform tmat = {{{XDoubleToFixed (xscale), XDoubleToFixed (0),
XDoubleToFixed (0)},
- {XDoubleToFixed (0), XDoubleToFixed (yscale),
XDoubleToFixed (0)},
- {XDoubleToFixed (0), XDoubleToFixed (0),
XDoubleToFixed (1)}}};
+ XTransform tmat
+ = {{{XDoubleToFixed (xscale), XDoubleToFixed (0), XDoubleToFixed (0)},
+ {XDoubleToFixed (0), XDoubleToFixed (yscale), XDoubleToFixed (0)},
+ {XDoubleToFixed (0), XDoubleToFixed (0), XDoubleToFixed (1)}}};
- XRenderSetPictureFilter (FRAME_X_DISPLAY (f), img->picture,
FilterBest, 0, 0);
- XRenderSetPictureTransform (FRAME_X_DISPLAY (f), img->picture, &tmat);
+ XRenderSetPictureFilter (FRAME_X_DISPLAY (f), img->picture, FilterBest,
+ 0, 0);
+ XRenderSetPictureTransform (FRAME_X_DISPLAY (f), img->picture, &tmat);
- img->width = width;
- img->height = height;
- }
-#endif
+ img->width = width;
+ img->height = height;
}
-}
+# endif
#endif
-#endif /* HAVE_IMAGEMAGICK || HAVE_XRENDER || HAVE_NS */
+}
/* Return the id of image with Lisp specification SPEC on frame F.
@@ -1956,9 +1957,7 @@ lookup_image (struct frame *f, Lisp_Object spec)
`:background COLOR'. */
Lisp_Object ascent, margin, relief, bg;
int relief_bound;
-#ifdef HAVE_NATIVE_SCALING
x_set_image_size (f, img);
-#endif
ascent = image_spec_value (spec, QCascent, NULL);
if (FIXNUMP (ascent))
@@ -2139,9 +2138,6 @@ x_create_x_image_and_pixmap (struct frame *f, int width,
int height, int depth,
Display *display = FRAME_X_DISPLAY (f);
Drawable drawable = FRAME_X_DRAWABLE (f);
Screen *screen = FRAME_X_SCREEN (f);
-#ifdef HAVE_XRENDER
- int event_basep, error_basep;
-#endif
eassert (input_blocked_p ());
@@ -2178,7 +2174,8 @@ x_create_x_image_and_pixmap (struct frame *f, int width,
int height, int depth,
return 0;
}
-#ifdef HAVE_XRENDER
+# ifdef HAVE_XRENDER
+ int event_basep, error_basep;
if (picture && XRenderQueryExtension (display, &event_basep, &error_basep))
{
XRenderPictFormat *format;
@@ -2191,7 +2188,7 @@ x_create_x_image_and_pixmap (struct frame *f, int width,
int height, int depth,
: PictStandardA8);
*picture = XRenderCreatePicture (display, *pixmap, format, 0, &attr);
}
-#endif
+# endif
return 1;
#endif /* HAVE_X_WINDOWS */
@@ -2367,14 +2364,13 @@ image_create_x_image_and_pixmap (struct frame *f,
struct image *img,
{
eassert ((!mask_p ? img->pixmap : img->mask) == NO_PIXMAP);
- return x_create_x_image_and_pixmap (f, width, height, depth, ximg,
- !mask_p ? &img->pixmap : &img->mask,
+ Picture *picture = NULL;
#ifdef HAVE_XRENDER
- !mask_p ? &img->picture :
&img->mask_picture
-#else
- NULL
+ picture = !mask_p ? &img->picture : &img->mask_picture;
#endif
- );
+ return x_create_x_image_and_pixmap (f, width, height, depth, ximg,
+ !mask_p ? &img->pixmap : &img->mask,
+ picture);
}
/* Put X image XIMG into image IMG on frame F, as a mask if and only
diff --git a/src/xterm.c b/src/xterm.c
index fbbf61d..6327038 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -3001,13 +3001,14 @@ x_composite_image (struct glyph_string *s, Pixmap dest,
width, height);
XRenderFreePicture (s->display, destination);
+ return;
}
- else
#endif
- XCopyArea (s->display, s->img->pixmap,
- dest, s->gc,
- srcX, srcY,
- width, height, dstX, dstY);
+
+ XCopyArea (s->display, s->img->pixmap,
+ dest, s->gc,
+ srcX, srcY,
+ width, height, dstX, dstY);
}
@@ -3060,7 +3061,8 @@ x_draw_image_foreground (struct glyph_string *s)
image_rect.width = s->slice.width;
image_rect.height = s->slice.height;
if (x_intersect_rectangles (&clip_rect, &image_rect, &r))
- x_composite_image (s, FRAME_X_DRAWABLE (s->f), s->slice.x + r.x -
x, s->slice.y + r.y - y,
+ x_composite_image (s, FRAME_X_DRAWABLE (s->f),
+ s->slice.x + r.x - x, s->slice.y + r.y - y,
r.x, r.y, r.width, r.height);
}
else
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 9609db9: Minor tweaks to HAVE_NATIVE_SCALING code,
Paul Eggert <=