/////////////////////////////////////////////////////////////////////////////
+// ----------------------------------------------------------------------------
+// enumerations
+// ----------------------------------------------------------------------------
+
/**
Generic flags.
*/
wxCENTER = wxCENTRE
};
-
/**
A generic orientation value.
*/
};
/**
- Virtual keycodes
+ Virtual keycodes used by wxKeyEvent and some other wxWidgets functions.
+
+ Note that the range @c 33 - @c 126 is reserved for the standard ASCII
+ characters and that the range @c 128 - @c 255 is reserved for the
+ extended ASCII characters (which are not really standard and thus should
+ be avoid in portable apps!).
*/
enum wxKeyCode
{
- WXK_BACK = 8,
+ WXK_BACK = 8, //!< Backspace.
WXK_TAB = 9,
WXK_RETURN = 13,
WXK_ESCAPE = 27,
WXK_SPACE = 32,
+
WXK_DELETE = 127,
/**
+// ----------------------------------------------------------------------------
+// types
+// ----------------------------------------------------------------------------
+
+/** The type for screen and DC coordinates. */
+typedef int wxCoord;
+
+/** A special value meaning "use default coordinate". */
+wxCoord wxDefaultCoord = -1;
+
+//@{
+/** 8 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
+typedef signed char wxInt8;
+typedef unsigned char wxUint8;
+typedef wxUint8 wxByte;
+//@}
+
+//@{
+/** 16 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
+typedef signed short wxInt16;
+typedef unsigned short wxUint16;
+typedef wxUint16 wxWord;
+typedef wxUint16 wxChar16;
+//@}
+
+//@{
+/** 32 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
+typedef int wxInt32;
+typedef unsigned int wxUint32;
+typedef wxUint32 wxDword;
+typedef wxUint32 wxChar32;
+//@}
+
+//@{
+/** 64 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
+typedef wxLongLong_t wxInt64;
+typedef wxULongLong_t wxUint64;
+//@}
+
+//@{
+/**
+ Signed and unsigned integral types big enough to contain all of @c long,
+ @c size_t and @c void*.
+ (The mapping is more complex than a simple @c typedef and is not shown here).
+*/
+typedef ssize_t wxIntPtr;
+typedef size_t wxUIntPtr;
+//@}
+
+
+/**
+ 32 bit IEEE float ( 1 sign, 8 exponent bits, 23 fraction bits ).
+ (The mapping is more complex than a simple @c typedef and is not shown here).
+*/
+typedef float wxFloat32;
+
+
+/**
+ 64 bit IEEE float ( 1 sign, 11 exponent bits, 52 fraction bits ).
+ (The mapping is more complex than a simple @c typedef and is not shown here).
+*/
+typedef double wxFloat64;
+
+/**
+ Native fastest representation that has at least wxFloat64 precision, so use
+ the IEEE types for storage, and this for calculations.
+ (The mapping is more complex than a simple @c typedef and is not shown here).
+*/
+typedef double wxDouble;
+
+
+
+// ----------------------------------------------------------------------------
+// macros
+// ----------------------------------------------------------------------------
+
/** @addtogroup group_funcmacro_byteorder */
//@{
In such case, this macro can be used to disable the automatic assignment
operator generation.
- @see DECLARE_NO_COPY_CLASS()
+ @see wxDECLARE_NO_COPY_CLASS()
*/
-#define DECLARE_NO_ASSIGN_CLASS(classname)
+#define wxDECLARE_NO_ASSIGN_CLASS(classname)
/**
This macro can be used in a class declaration to disable the generation of
private:
// widgets can't be copied
- DECLARE_NO_COPY_CLASS(FooWidget)
+ wxDECLARE_NO_COPY_CLASS(FooWidget);
};
@endcode
- Notice that a semicolon should not be used after this macro and that it
- changes the access specifier to private internally so it is better to use
- it at the end of the class declaration.
+ Notice that a semicolon must be used after this macro and that it changes
+ the access specifier to private internally so it is better to use it at the
+ end of the class declaration.
+
+ @see wxDECLARE_NO_ASSIGN_CLASS(), wxDECLARE_NO_COPY_TEMPLATE_CLASS()
*/
-#define DECLARE_NO_COPY_CLASS(classname)
+#define wxDECLARE_NO_COPY_CLASS(classname)
/**
- Equivalent of DECLARE_NO_COPY_CLASS() for template classes.
+ Analog of wxDECLARE_NO_COPY_CLASS() for template classes.
This macro can be used for template classes (with a single template
- parameter) for the same purpose as DECLARE_NO_COPY_CLASS() is used with the
+ parameter) for the same purpose as wxDECLARE_NO_COPY_CLASS() is used with the
non-template classes.
@param classname The name of the template class.
@param arg The name of the template parameter.
+
+ @see wxDECLARE_NO_COPY_TEMPLATE_CLASS_2
*/
-#define DECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg)
+#define wxDECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg)
+
+/**
+ Analog of wxDECLARE_NO_COPY_TEMPLATE_CLASS() for templates with 2
+ parameters.
+
+ This macro can be used for template classes with two template
+ parameters for the same purpose as wxDECLARE_NO_COPY_CLASS() is used with
+ the non-template classes.
+
+ @param classname The name of the template class.
+ @param arg1 The name of the first template parameter.
+ @param arg2 The name of the second template parameter.
+
+ @see wxDECLARE_NO_COPY_TEMPLATE_CLASS
+ */
+#define wxDECLARE_NO_COPY_TEMPLATE_CLASS_2(classname, arg1, arg2)
/**
A function which deletes and nulls the pointer.
public:
// OldMethod() is deprecated, use NewMethod() instead
void NewMethod();
- wxDEPRECATED_INLINE( void OldMethod(), NewMethod() );
+ wxDEPRECATED_INLINE( void OldMethod(), NewMethod(); )
};
@endcode
*/
#define wxDEPRECATED_INLINE(func, body)
+/**
+ Combination of wxDEPRECATED_BUT_USED_INTERNALLY() and wxDEPRECATED_INLINE().
+
+ This macro should be used for deprecated functions called by the library
+ itself (usually for backwards compatibility reasons) and which are defined
+ inline.
+
+ @header{wx/defs.h}
+*/
+#define wxDEPRECATED_BUT_USED_INTERNALLY_INLINE(func, body)
+
/**
@c wxEXPLICIT is a macro which expands to the C++ @c explicit keyword if
the compiler supports it or nothing otherwise. Thus, it can be used even in