OSDN Git Service

Add facility for control of child window placement.
[mingw/wtklite.git] / wtkdefs.h
1 #ifndef WTKDEFS_H
2 /*
3  * wtkdefs.h
4  *
5  * ---------------------------------------------------------------------------
6  *
7  * Implementation of a minimal C++ class framework for use with the
8  * Microsoft Windows Application Programming Interface.
9  *
10  * $Id$
11  *
12  * This header file provides a set of utility macro definitions, which
13  * may be required by other more user visible header files.
14  *
15  * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
16  * Copyright (C) 2013, MinGW.org Project.
17  *
18  * ---------------------------------------------------------------------------
19  *
20  * Permission is hereby granted, free of charge, to any person obtaining a
21  * copy of this software and associated documentation files (the "Software"),
22  * to deal in the Software without restriction, including without limitation
23  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
24  * and/or sell copies of the Software, and to permit persons to whom the
25  * Software is furnished to do so, subject to the following conditions:
26  *
27  * The above copyright notice, this permission notice, and the following
28  * disclaimer shall be included in all copies or substantial portions of
29  * the Software.
30  *
31  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
32  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
34  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
36  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
37  * DEALINGS IN THE SOFTWARE.
38  *
39  * ---------------------------------------------------------------------------
40  *
41  */
42 #define WTKDEFS_H  1
43
44 /* Some functions expose an extern "C" interface, (some may even be written
45  * in C), but within C++ clients we subsume them into the WTK namespace; we
46  * provide a set of macros to facilitate this...
47  */
48 #ifdef __cplusplus
49 /*
50  * ...for the (normal) C++ case...
51  */
52 # define EXTERN_C               extern "C"
53 # define BEGIN_NAMESPACE(NAME)  namespace NAME {
54 # define END_NAMESPACE(NAME)    }
55
56 #else
57 /* ...while also providing an interface which exposes them globally,
58  * so that they may also be called from C code.
59  */
60 # define EXTERN_C               extern
61 # define BEGIN_NAMESPACE(NAME)
62 # define END_NAMESPACE(NAME)
63 #endif
64
65 #endif /* WTKDEFS_H: $RCSfile$: end of file */