mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-23 07:19:15 +00:00
* macfont.m: Include termchar.h.
(CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND) (CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND) (CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modified from *_WITH_GC_* to take face and f as parameters. (macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly. Use *_WITH_FACE_*, and pass face as parameter. Fixes: debbugs:16425
This commit is contained in:
parent
3c0c4562d1
commit
6c21e306f2
@ -1,3 +1,13 @@
|
||||
2014-01-13 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* macfont.m: Include termchar.h.
|
||||
(CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND)
|
||||
(CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND)
|
||||
(CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND): Modified from
|
||||
*_WITH_GC_* to take face and f as parameters.
|
||||
(macfont_draw): Check for DRAW_MOUSE_FACE and set face accordingly.
|
||||
Use *_WITH_FACE_*, and pass face as parameter (Bug#16425).
|
||||
|
||||
2014-01-13 Daniel Colascione <dancol@dancol.org>
|
||||
|
||||
Fix menu item updating in the presence of the Unity global menu
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "composite.h"
|
||||
#include "fontset.h"
|
||||
#include "font.h"
|
||||
#include "termchar.h"
|
||||
#include "nsgui.h"
|
||||
#include "nsterm.h"
|
||||
#include "macfont.h"
|
||||
@ -630,24 +631,21 @@ static void mac_font_get_glyphs_for_variants (CFDataRef, UTF32Char,
|
||||
return cgColor;
|
||||
}
|
||||
|
||||
#define CG_SET_FILL_COLOR_WITH_GC_FOREGROUND(context, s) \
|
||||
#define CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND(context, face, f) \
|
||||
do { \
|
||||
CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (s->face), \
|
||||
s->f); \
|
||||
CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (face), f); \
|
||||
CGContextSetFillColorWithColor (context, refcol_) ; \
|
||||
CGColorRelease (refcol_); \
|
||||
} while (0)
|
||||
#define CG_SET_FILL_COLOR_WITH_GC_BACKGROUND(context, s) \
|
||||
#define CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND(context, face, f) \
|
||||
do { \
|
||||
CGColorRef refcol_ = get_cgcolor (NS_FACE_BACKGROUND (s->face),\
|
||||
s->f); \
|
||||
CGColorRef refcol_ = get_cgcolor (NS_FACE_BACKGROUND (face), f); \
|
||||
CGContextSetFillColorWithColor (context, refcol_); \
|
||||
CGColorRelease (refcol_); \
|
||||
} while (0)
|
||||
#define CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND(context, s) \
|
||||
#define CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND(context, face, f) \
|
||||
do { \
|
||||
CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (s->face),\
|
||||
s->f); \
|
||||
CGColorRef refcol_ = get_cgcolor (NS_FACE_FOREGROUND (face), f); \
|
||||
CGContextSetStrokeColorWithColor (context, refcol_); \
|
||||
CGColorRelease (refcol_); \
|
||||
} while (0)
|
||||
@ -2719,6 +2717,7 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no
|
||||
BOOL isComposite = s->first_glyph->type == COMPOSITE_GLYPH;
|
||||
int end = isComposite ? s->cmp_to : s->nchars;
|
||||
int len = end - s->cmp_from;
|
||||
struct face *face = s->face;
|
||||
int i;
|
||||
|
||||
block_input ();
|
||||
@ -2741,7 +2740,14 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no
|
||||
|
||||
if (with_background)
|
||||
{
|
||||
CG_SET_FILL_COLOR_WITH_GC_BACKGROUND (context, s);
|
||||
if (s->hl == DRAW_MOUSE_FACE)
|
||||
{
|
||||
face = FACE_FROM_ID (s->f, MOUSE_HL_INFO (s->f)->mouse_face_face_id);
|
||||
if (!face)
|
||||
face = FACE_FROM_ID (s->f, MOUSE_FACE_ID);
|
||||
}
|
||||
|
||||
CG_SET_FILL_COLOR_WITH_FACE_BACKGROUND (context, face, f);
|
||||
CGContextFillRect (context,
|
||||
CGRectMake (x, y,
|
||||
s->width, FONT_HEIGHT (s->font)));
|
||||
@ -2776,7 +2782,7 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no
|
||||
}
|
||||
|
||||
CGContextScaleCTM (context, 1, -1);
|
||||
CG_SET_FILL_COLOR_WITH_GC_FOREGROUND (context, s);
|
||||
CG_SET_FILL_COLOR_WITH_FACE_FOREGROUND (context, face, s->f);
|
||||
if (macfont_info->synthetic_italic_p)
|
||||
atfm = synthetic_italic_atfm;
|
||||
else
|
||||
@ -2785,7 +2791,7 @@ So we use CTFontDescriptorCreateMatchingFontDescriptor (no
|
||||
{
|
||||
CGContextSetTextDrawingMode (context, kCGTextFillStroke);
|
||||
CGContextSetLineWidth (context, synthetic_bold_factor * font_size);
|
||||
CG_SET_STROKE_COLOR_WITH_GC_FOREGROUND (context, s);
|
||||
CG_SET_STROKE_COLOR_WITH_FACE_FOREGROUND (context, face, f);
|
||||
}
|
||||
if (no_antialias_p)
|
||||
CGContextSetShouldAntialias (context, false);
|
||||
|
Loading…
Reference in New Issue
Block a user