unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
blob 3b977e531a5ee8c64972b4b450b7c2f478ec589a 4232 bytes (raw)
name: src/nsgui.h 	 # note: path name is non-authoritative(*)

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
 
/* Definitions and headers for communication on the NeXT/Open/GNUstep API.
   Copyright (C) 1995, 2005, 2008-2023 Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */

#ifndef __NSGUI_H__
#define __NSGUI_H__

/* This gets included from a couple of the plain (non-NS) .c files.  */
#ifdef __OBJC__

#ifdef NS_IMPL_COCOA
#ifdef Z
#warning "Z is defined.  If you get a later parse error in a header, check that buffer.h or other files #define-ing Z are not included."
#endif  /* Z */
#define Cursor FooFoo
#endif  /* NS_IMPL_COCOA */

#undef verify

#ifdef NS_IMPL_GNUSTEP
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wexpansion-to-defined"
#pragma GCC diagnostic ignored "-Wold-style-definition"
#pragma GCC diagnostic ignored "-Wstrict-prototypes"
#pragma GCC diagnostic ignored "-Wredundant-decls"
#endif

#import <AppKit/AppKit.h>

#ifdef NS_IMPL_GNUSTEP
#pragma GCC diagnostic pop
#endif

#ifdef NS_IMPL_COCOA
#undef Cursor
#endif /* NS_IMPL_COCOA */
#import <Foundation/NSDistantObject.h>

#ifdef NS_IMPL_COCOA
#include <AvailabilityMacros.h>
#endif /* NS_IMPL_COCOA */

#endif /* __OBJC__ */

#undef verify
#undef _GL_VERIFY_H
#include <verify.h>

/* Emulate XCharStruct.  */
typedef struct _XCharStruct
{
  int rbearing;
  int lbearing;
  int width;
  int ascent;
  int descent;
} XCharStruct;

#ifdef __OBJC__
typedef id Emacs_Pixmap;
#else
typedef void *Emacs_Pixmap;
#endif

#ifdef __OBJC__
typedef NSCursor *Emacs_Cursor;
#else
typedef void *Emacs_Cursor;
#endif

typedef int Window;

#ifndef __OBJC__
#if defined (__LP64__) && __LP64__
typedef double CGFloat;
#else
typedef float CGFloat;
#endif
typedef struct _NSPoint { CGFloat x, y; } NSPoint;
typedef struct _NSSize  { CGFloat width, height; } NSSize;
typedef struct _NSRect  { NSPoint origin; NSSize size; } NSRect;
#endif  /* NOT OBJC */

#define NativeRectangle NSRect

#define CONVERT_TO_EMACS_RECT(xr, nr)		\
  ((xr).x     = (nr).origin.x,			\
   (xr).y     = (nr).origin.y,			\
   (xr).width = (nr).size.width,		\
   (xr).height = (nr).size.height)

#define CONVERT_FROM_EMACS_RECT(xr, nr)		\
  ((nr).origin.x    = (xr).x,			\
   (nr).origin.y    = (xr).y,			\
   (nr).size.width  = (xr).width,		\
   (nr).size.height = (xr).height)

#define STORE_NATIVE_RECT(nr, px, py, pwidth, pheight)	\
  ((nr).origin.x    = (px),			\
   (nr).origin.y    = (py),			\
   (nr).size.width  = (pwidth),			\
   (nr).size.height = (pheight))




/* This stuff needed by frame.c.  */
#define ForgetGravity		0
#define NorthWestGravity	1
#define NorthGravity		2
#define NorthEastGravity	3
#define WestGravity		4
#define CenterGravity		5
#define EastGravity		6
#define SouthWestGravity	7
#define SouthGravity		8
#define SouthEastGravity	9
#define StaticGravity		10

#define NoValue		0x0000
#define XValue  	0x0001
#define YValue		0x0002
#define WidthValue  	0x0004
#define HeightValue  	0x0008
#define AllValues 	0x000F
#define XNegative 	0x0010
#define YNegative 	0x0020

#define USPosition	(1L << 0) /* user specified x, y */
#define USSize		(1L << 1) /* user specified width, height */

#define PPosition	(1L << 2) /* program specified position */
#define PSize		(1L << 3) /* program specified size */
#define PMinSize	(1L << 4) /* program specified minimum size */
#define PMaxSize	(1L << 5) /* program specified maximum size */
#define PResizeInc	(1L << 6) /* program specified resize increments */
#define PAspect		(1L << 7) /* program specified min, max aspect ratios */
#define PBaseSize	(1L << 8) /* program specified base for incrementing */
#define PWinGravity	(1L << 9) /* program specified window gravity */

#endif  /* __NSGUI_H__ */

debug log:

solving 3b977e531a5 ...
found 3b977e531a5 in https://yhetil.org/emacs-bugs/87bkk3j0tx.fsf@gmail.com/
found 469aef13070 in https://git.savannah.gnu.org/cgit/emacs.git
preparing index
index prepared:
100644 469aef13070f7a16248764cf555e02b273236a98	src/nsgui.h

applying [1/1] https://yhetil.org/emacs-bugs/87bkk3j0tx.fsf@gmail.com/
diff --git a/src/nsgui.h b/src/nsgui.h
index 469aef13070..3b977e531a5 100644

Checking patch src/nsgui.h...
Applied patch src/nsgui.h cleanly.

index at:
100644 3b977e531a5ee8c64972b4b450b7c2f478ec589a	src/nsgui.h

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).