All of FOX's API is now enclosed in the FX namespace. This change was made to avoid potential identifier clashes. At the same time, the following constants that were previously defined using the C preprocessor's #define directive have been replaced with enumerated values (since they are subject to namespace scoping rules while #defines are not):
DEFAULT_MARGIN, DEFAULT_PAD, DEFAULT_SPACING, MINKEY, MAXKEY, MINTYPE and MAXTYPE are now enums.
All of the key symbol definitions from fxkeys.h are now enums.
In order to make this transition as smooth as possible, the standard FOX include files fx.h and fx3d.h each end with the lines:
#ifndef FX_NO_GLOBAL_NAMESPACE using namespace FX; #endif |
In other words, unless you define the FX_NO_GLOBAL_NAMESPACE symbol in your compiler flags when compiling your application, all of the FOX API will still be "imported" into the global namespace, as before. As a result, this change may not have any noticeable affect on your application code.