1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-05 03:20:39 -08:00

Move back the XChar2b definition to w32gui.h and nsgui.h

Fix the last change.  XChar2b still needs to be defined platform dependently,
to match with the argument types of drawing functions.
This commit is contained in:
Daiki Ueno 2014-07-16 13:31:31 +09:00
parent 1c6fefc955
commit 7ec2c0effc
4 changed files with 14 additions and 6 deletions

View file

@ -3,10 +3,10 @@
Consolidate XChar2b macros for the X, W32, and NS
Suggested by Jan Djärv in:
https://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00203.html
* w32gui.h (XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
Move the fallback definitions to dispextern.h.
* nsgui.h (XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
Likewise. Share the same definition with W32.
* w32gui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): Move the
fallback definitions to dispextern.h.
* nsgui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): Likewise.
Share the same definition with W32.
* xterm.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): Move to ...
* dispextern.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2):
... here for the consistency with W32 and NS.

View file

@ -51,8 +51,6 @@ typedef struct {
char pad;
} XColor;
typedef unsigned short XChar2b;
#define STORE_XCHAR2B(chp, b1, b2) \
(*(chp) = ((XChar2b)((((b1) & 0x00ff) << 8) | ((b2) & 0x00ff))))

View file

@ -58,6 +58,14 @@ typedef struct _XCharStruct
int descent;
} XCharStruct;
/* Fake structure from Xlib.h to represent two-byte characters. */
#ifdef HAVE_NS
#ifndef __OBJC__
typedef unsigned short unichar;
#endif
typedef unichar XChar2b;
#endif
/* XXX: xfaces requires these structures, but the question is are we
forced to use them? */

View file

@ -52,6 +52,8 @@ typedef HCURSOR Cursor;
#define No_Cursor (0)
#define XChar2b wchar_t
/* Windows equivalent of XImage. */
typedef struct _XImage