<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.1"/> <title>GLFW: Initialization and version information</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <script type="text/javascript"> $(document).ready(function() { searchBox.OnSelectItem(0); }); </script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">GLFW  <span id="projectnumber">3.0.2</span> </div> <div id="projectbrief">A multi-platform library for OpenGL, window and input</div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <script type="text/javascript"> var searchBox = new SearchBox("searchBox", "search",false,'Search'); </script> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> </div><!-- top --> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Pages</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Initialization and version information</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:ga317aac130a235ab08c6db0834907d85e"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> (void)</td></tr> <tr class="memdesc:ga317aac130a235ab08c6db0834907d85e"><td class="mdescLeft"> </td><td class="mdescRight">Initializes the GLFW library. <a href="#ga317aac130a235ab08c6db0834907d85e">More...</a><br/></td></tr> <tr class="separator:ga317aac130a235ab08c6db0834907d85e"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaaae48c0a18607ea4a4ba951d939f0901"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> (void)</td></tr> <tr class="memdesc:gaaae48c0a18607ea4a4ba951d939f0901"><td class="mdescLeft"> </td><td class="mdescRight">Terminates the GLFW library. <a href="#gaaae48c0a18607ea4a4ba951d939f0901">More...</a><br/></td></tr> <tr class="separator:gaaae48c0a18607ea4a4ba951d939f0901"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197">glfwGetVersion</a> (int *major, int *minor, int *rev)</td></tr> <tr class="memdesc:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="mdescLeft"> </td><td class="mdescRight">Retrieves the version of the GLFW library. <a href="#ga9f8ffaacf3c269cc48eafbf8b9b71197">More...</a><br/></td></tr> <tr class="separator:ga9f8ffaacf3c269cc48eafbf8b9b71197"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga23d47dc013fce2bf58036da66079a657"><td class="memItemLeft" align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga23d47dc013fce2bf58036da66079a657">glfwGetVersionString</a> (void)</td></tr> <tr class="memdesc:ga23d47dc013fce2bf58036da66079a657"><td class="mdescLeft"> </td><td class="mdescRight">Returns a string describing the compile-time configuration. <a href="#ga23d47dc013fce2bf58036da66079a657">More...</a><br/></td></tr> <tr class="separator:ga23d47dc013fce2bf58036da66079a657"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a> GLFW version macros</h2></td></tr> <tr class="memitem:ga6337d9ea43b22fc529b2bba066b4a576"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#ga6337d9ea43b22fc529b2bba066b4a576">GLFW_VERSION_MAJOR</a>   3</td></tr> <tr class="memdesc:ga6337d9ea43b22fc529b2bba066b4a576"><td class="mdescLeft"> </td><td class="mdescRight">The major version number of the GLFW library. <a href="#ga6337d9ea43b22fc529b2bba066b4a576">More...</a><br/></td></tr> <tr class="separator:ga6337d9ea43b22fc529b2bba066b4a576"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaf80d40f0aea7088ff337606e9c48f7a3"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gaf80d40f0aea7088ff337606e9c48f7a3">GLFW_VERSION_MINOR</a>   0</td></tr> <tr class="memdesc:gaf80d40f0aea7088ff337606e9c48f7a3"><td class="mdescLeft"> </td><td class="mdescRight">The minor version number of the GLFW library. <a href="#gaf80d40f0aea7088ff337606e9c48f7a3">More...</a><br/></td></tr> <tr class="separator:gaf80d40f0aea7088ff337606e9c48f7a3"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab72ae2e2035d9ea461abc3495eac0502"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__init.html#gab72ae2e2035d9ea461abc3495eac0502">GLFW_VERSION_REVISION</a>   2</td></tr> <tr class="memdesc:gab72ae2e2035d9ea461abc3495eac0502"><td class="mdescLeft"> </td><td class="mdescRight">The revision number of the GLFW library. <a href="#gab72ae2e2035d9ea461abc3495eac0502">More...</a><br/></td></tr> <tr class="separator:gab72ae2e2035d9ea461abc3495eac0502"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <h2 class="groupheader">Macro Definition Documentation</h2> <a class="anchor" id="ga6337d9ea43b22fc529b2bba066b4a576"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GLFW_VERSION_MAJOR   3</td> </tr> </table> </div><div class="memdoc"> <p>This is incremented when the API is changed in non-compatible ways. </p> </div> </div> <a class="anchor" id="gaf80d40f0aea7088ff337606e9c48f7a3"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GLFW_VERSION_MINOR   0</td> </tr> </table> </div><div class="memdoc"> <p>This is incremented when features are added to the API but it remains backward-compatible. </p> </div> </div> <a class="anchor" id="gab72ae2e2035d9ea461abc3495eac0502"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define GLFW_VERSION_REVISION   2</td> </tr> </table> </div><div class="memdoc"> <p>This is incremented when a bug fix release is made that does not contain any API changes. </p> </div> </div> <h2 class="groupheader">Function Documentation</h2> <a class="anchor" id="ga9f8ffaacf3c269cc48eafbf8b9b71197"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void glfwGetVersion </td> <td>(</td> <td class="paramtype">int * </td> <td class="paramname"><em>major</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>minor</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int * </td> <td class="paramname"><em>rev</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div><div class="memdoc"> <p>This function retrieves the major, minor and revision numbers of the GLFW library. It is intended for when you are using GLFW as a shared library and want to ensure that you are using the minimum required version.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramdir">[out]</td><td class="paramname">major</td><td>Where to store the major version number, or <code>NULL</code>. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">minor</td><td>Where to store the minor version number, or <code>NULL</code>. </td></tr> <tr><td class="paramdir">[out]</td><td class="paramname">rev</td><td>Where to store the revision number, or <code>NULL</code>.</td></tr> </table> </dd> </dl> <dl class="section remark"><dt>Remarks</dt><dd>This function may be called before <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>.</dd> <dd> This function may be called from any thread.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__init.html#ga23d47dc013fce2bf58036da66079a657" title="Returns a string describing the compile-time configuration.">glfwGetVersionString</a> </dd></dl> </div> </div> <a class="anchor" id="ga23d47dc013fce2bf58036da66079a657"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* glfwGetVersionString </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function returns a static string generated at compile-time according to which configuration macros were defined. This is intended for use when submitting bug reports, to allow developers to see which code paths are enabled in a binary.</p> <p>The format of the string is as follows:</p> <ul> <li>The version of GLFW</li> <li>The name of the window system API</li> <li>The name of the context creation API</li> <li>Any additional options or APIs</li> </ul> <p>For example, when compiling GLFW 3.0 with MinGW using the Win32 and WGL back ends, the version string may look something like this: </p> <pre class="fragment">3.0.0 Win32 WGL MinGW </pre><dl class="section return"><dt>Returns</dt><dd>The GLFW version string.</dd></dl> <dl class="section remark"><dt>Remarks</dt><dd>This function may be called before <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>.</dd> <dd> This function may be called from any thread.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__init.html#ga9f8ffaacf3c269cc48eafbf8b9b71197" title="Retrieves the version of the GLFW library.">glfwGetVersion</a> </dd></dl> </div> </div> <a class="anchor" id="ga317aac130a235ab08c6db0834907d85e"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int glfwInit </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function initializes the GLFW library. Before most GLFW functions can be used, GLFW must be initialized, and before a program terminates GLFW should be terminated in order to free any resources allocated during or after initialization.</p> <p>If this function fails, it calls <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> before returning. If it succeeds, you should call <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> before the program exits.</p> <p>Additional calls to this function after successful initialization but before termination will succeed but will do nothing.</p> <dl class="section return"><dt>Returns</dt><dd><code>GL_TRUE</code> if successful, or <code>GL_FALSE</code> if an error occurred.</dd></dl> <dl class="section user"><dt>New in GLFW 3</dt><dd>This function no longer registers <a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901">glfwTerminate</a> with <code>atexit</code>.</dd></dl> <dl class="section note"><dt>Note</dt><dd>This function may only be called from the main thread.</dd> <dd> This function may take several seconds to complete on some systems, while on other systems it may take only a fraction of a second to complete.</dd> <dd> <b>Mac OS X:</b> This function will change the current directory of the application to the <code>Contents/Resources</code> subdirectory of the application's bundle, if present.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__init.html#gaaae48c0a18607ea4a4ba951d939f0901" title="Terminates the GLFW library.">glfwTerminate</a> </dd></dl> </div> </div> <a class="anchor" id="gaaae48c0a18607ea4a4ba951d939f0901"></a> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void glfwTerminate </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </div><div class="memdoc"> <p>This function destroys all remaining windows, frees any allocated resources and sets the library to an uninitialized state. Once this is called, you must again call <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> successfully before you will be able to use most GLFW functions.</p> <p>If GLFW has been successfully initialized, this function should be called before the program exits. If initialization fails, there is no need to call this function, as it is called by <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a> before it returns failure.</p> <dl class="section remark"><dt>Remarks</dt><dd>This function may be called before <a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e">glfwInit</a>.</dd></dl> <dl class="section note"><dt>Note</dt><dd>This function may only be called from the main thread.</dd></dl> <dl class="section warning"><dt>Warning</dt><dd>No window's context may be current on another thread when this function is called.</dd></dl> <dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__init.html#ga317aac130a235ab08c6db0834907d85e" title="Initializes the GLFW library.">glfwInit</a> </dd></dl> </div> </div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Sun Aug 25 2013 21:45:13 for GLFW by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> </body> </html>