github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/X11/Xwindows.h (about)

     1  /*
     2  
     3  Copyright 1996, 1998  The Open Group
     4  
     5  Permission to use, copy, modify, distribute, and sell this software and its
     6  documentation for any purpose is hereby granted without fee, provided that
     7  the above copyright notice appear in all copies and that both that
     8  copyright notice and this permission notice appear in supporting
     9  documentation.
    10  
    11  The above copyright notice and this permission notice shall be included
    12  in all copies or substantial portions of the Software.
    13  
    14  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
    15  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
    16  ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT
    17  SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABIL-
    18  ITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    19  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
    20  IN THE SOFTWARE.
    21  
    22  Except as contained in this notice, the name of The Open Group shall
    23  not be used in advertising or otherwise to promote the sale, use or
    24  other dealings in this Software without prior written authorization from
    25  The Open Group.
    26  
    27  */
    28  
    29  /*
    30   * This header file has the sole purpose of allowing the inclusion of
    31   * windows.h without getting any name conflicts with X headers code, by
    32   * renaming or disabling the conflicting definitions from windows.h
    33   */
    34  
    35  /*
    36   * Mingw.org versions of the Windows API headers actually avoid
    37   * making the conflicting definitions if XFree86Server is defined, so we
    38   * need to remember if that was defined and undefine it during including
    39   * windows.h (so the conflicting definitions get wrapped correctly), and
    40   * then redefine it afterwards. (This was never the correct thing to
    41   * do as it's no help at all to X11 clients which also need to use the
    42   * Win32 API)
    43   */
    44  #undef _XFree86Server
    45  #ifdef XFree86Server
    46  # define _XFree86Server
    47  # undef XFree86Server
    48  #endif
    49  
    50  /*
    51   * There doesn't seem to be a good way to wrap the min/max macros from
    52   * windows.h, so we simply avoid defining them completely, allowing any
    53   * pre-existing definition to stand.
    54   *
    55   */
    56  #define NOMINMAX
    57  
    58  /*
    59   * mingw-w64 headers define BOOL as a typedef, protecting against macros
    60   * mingw.org headers define BOOL in terms of WINBOOL
    61   * ... so try to come up with something which works with both :-)
    62   */
    63  #define _NO_BOOL_TYPEDEF
    64  #define BOOL WINBOOL
    65  #define INT32 wINT32
    66  #ifdef __x86_64__
    67  #define INT64 wINT64
    68  #define LONG64 wLONG64
    69  #endif
    70  #undef Status
    71  #define Status wStatus
    72  #define ATOM wATOM
    73  #define BYTE wBYTE
    74  #define FreeResource wFreeResource
    75  #include <windows.h>
    76  #undef NOMINMAX
    77  #undef Status
    78  #define Status int
    79  #undef BYTE
    80  #undef BOOL
    81  #undef INT32
    82  #undef INT64
    83  #undef LONG64
    84  #undef ATOM
    85  #undef FreeResource
    86  #undef CreateWindowA
    87  
    88  /*
    89   * Older version of this header used to name the windows API bool type wBOOL,
    90   * rather than more standard name WINBOOL
    91   */
    92  #define wBOOL WINBOOL
    93  
    94  #ifdef RESOURCE_H
    95  # undef RT_FONT
    96  # undef RT_CURSOR
    97  # define RT_FONT         ((RESTYPE)4)
    98  # define RT_CURSOR       ((RESTYPE)5)
    99  #endif
   100  
   101  #ifndef __CYGWIN__
   102  #define sleep(x) Sleep((x) * 1000)
   103  #endif
   104  
   105  #if defined(WIN32) && (!defined(PATH_MAX) || PATH_MAX < 1024)
   106  # undef PATH_MAX
   107  # define PATH_MAX 1024
   108  #endif
   109  
   110  #ifdef _XFree86Server
   111  # define XFree86Server
   112  # undef _XFree86Server
   113  #endif
   114