wxwidgets/interface/wx/init.h
Vadim Zeitlin 4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00

110 lines
2.8 KiB
Objective-C

/////////////////////////////////////////////////////////////////////////////
// Name: init.h
// Purpose: interface of global functions
// Author: wxWidgets team
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
@class wxInitializer
Create an object of this class on the stack to initialize/cleanup the library
automatically.
@library{wxbase}
@category{appmanagement}
@see wxGLContext
*/
class wxInitializer
{
public:
/**
Initializes the library.
Calls wxInitialize().
*/
wxInitializer(int argc = 0, wxChar **argv = nullptr);
/**
Has the initialization been successful? (explicit test)
*/
bool IsOk() const;
/**
This dtor only does clean up if we initialized the library properly.
Calls wxUninitialize().
*/
~wxInitializer();
};
/** @addtogroup group_funcmacro_appinitterm */
///@{
/**
This function can be used to perform the initialization of wxWidgets if you
can't use the default initialization code for any reason.
If the function returns true, the initialization was successful and the
global wxApp object ::wxTheApp has been created. Moreover, wxEntryCleanup()
must be called afterwards. If the function returns false, a catastrophic
initialization error occurred and (at least the GUI part of) the library
can't be used at all.
Notice that parameters @c argc and @c argv may be modified by this
function.
@header{wx/init.h}
*/
bool wxEntryStart(int& argc, wxChar** argv);
/**
See wxEntryStart(int&,wxChar**) for more info about this function.
This is an additional overload of wxEntryStart() provided under MSW only.
It is meant to be called with the parameters passed to WinMain().
@note The type of @a pCmdLine is @c char *, even in Unicode build.
@onlyfor{wxmsw}
@header{wx/init.h}
*/
bool wxEntryStart(HINSTANCE hInstance,
HINSTANCE hPrevInstance = nullptr,
char* pCmdLine = nullptr,
int nCmdShow = SW_SHOWNORMAL);
/**
Free resources allocated by a successful call to wxEntryStart().
@header{wx/init.h}
*/
void wxEntryCleanup();
/**
Initialize the library (may be called as many times as needed, but each
call to wxInitialize() must be matched by wxUninitialize()).
With this function you may avoid wxDECLARE_APP() and wxIMPLEMENT_APP() macros
and use wxInitialize() and wxUninitialize() dynamically in the
program startup and termination.
@header{wx/init.h}
*/
bool wxInitialize(int argc = 0, wxChar **argv = nullptr);
/**
Clean up; the library can't be used any more after the last call to
wxUninitialize().
See wxInitialize() for more info.
@header{wx/init.h}
*/
void wxUninitialize();
///@}