Window.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=11"/>
  6. <meta name="generator" content="Doxygen 1.9.8"/>
  7. <meta name="viewport" content="width=device-width, initial-scale=1"/>
  8. <title>Nuklear: Window</title>
  9. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  10. <script type="text/javascript" src="jquery.js"></script>
  11. <script type="text/javascript" src="dynsections.js"></script>
  12. <link href="navtree.css" rel="stylesheet" type="text/css"/>
  13. <script type="text/javascript" src="resize.js"></script>
  14. <script type="text/javascript" src="navtreedata.js"></script>
  15. <script type="text/javascript" src="navtree.js"></script>
  16. <link href="search/search.css" rel="stylesheet" type="text/css"/>
  17. <script type="text/javascript" src="search/searchdata.js"></script>
  18. <script type="text/javascript" src="search/search.js"></script>
  19. <script type="text/javascript">
  20. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  21. $(document).ready(function() { init_search(); });
  22. /* @license-end */
  23. </script>
  24. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  25. <link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
  26. </head>
  27. <body>
  28. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  29. <div id="titlearea">
  30. <table cellspacing="0" cellpadding="0">
  31. <tbody>
  32. <tr id="projectrow">
  33. <td id="projectalign">
  34. <div id="projectname">Nuklear
  35. </div>
  36. <div id="projectbrief">This is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed as a simple embeddable user interface for application and does not have any dependencies, a default render backend or OS window/input handling but instead provides a highly modular, library-based approach, with simple input state for input and draw commands describing primitive shapes as output. So instead of providing a layered library that tries to abstract over a number of platform and render backends, it focuses only on the actual UI.</div>
  37. </td>
  38. <td> <div id="MSearchBox" class="MSearchBoxInactive">
  39. <span class="left">
  40. <span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()">&#160;</span>
  41. <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
  42. onfocus="searchBox.OnSearchFieldFocus(true)"
  43. onblur="searchBox.OnSearchFieldFocus(false)"
  44. onkeyup="searchBox.OnSearchFieldChange(event)"/>
  45. </span><span class="right">
  46. <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
  47. </span>
  48. </div>
  49. </td>
  50. </tr>
  51. </tbody>
  52. </table>
  53. </div>
  54. <!-- end header part -->
  55. <!-- Generated by Doxygen 1.9.8 -->
  56. <script type="text/javascript">
  57. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  58. var searchBox = new SearchBox("searchBox", "search/",'.html');
  59. /* @license-end */
  60. </script>
  61. </div><!-- top -->
  62. <div id="side-nav" class="ui-resizable side-nav-resizable">
  63. <div id="nav-tree">
  64. <div id="nav-tree-contents">
  65. <div id="nav-sync" class="sync"></div>
  66. </div>
  67. </div>
  68. <div id="splitbar" style="-moz-user-select:none;"
  69. class="ui-resizable-handle">
  70. </div>
  71. </div>
  72. <script type="text/javascript">
  73. /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
  74. $(document).ready(function(){initNavTree('Window.html',''); initResizable(); });
  75. /* @license-end */
  76. </script>
  77. <div id="doc-content">
  78. <!-- window showing the filter options -->
  79. <div id="MSearchSelectWindow"
  80. onmouseover="return searchBox.OnSearchSelectShow()"
  81. onmouseout="return searchBox.OnSearchSelectHide()"
  82. onkeydown="return searchBox.OnSearchSelectKey(event)">
  83. </div>
  84. <!-- iframe showing the search results (closed by default) -->
  85. <div id="MSearchResultsWindow">
  86. <div id="MSearchResults">
  87. <div class="SRPage">
  88. <div id="SRIndex">
  89. <div id="SRResults"></div>
  90. <div class="SRStatus" id="Loading">Loading...</div>
  91. <div class="SRStatus" id="Searching">Searching...</div>
  92. <div class="SRStatus" id="NoMatches">No Matches</div>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <div><div class="header">
  98. <div class="headertitle"><div class="title">Window</div></div>
  99. </div><!--header-->
  100. <div class="contents">
  101. <div class="textblock"><p>=============================================================================</p>
  102. <pre class="fragment"> WINDOW
  103. </pre><p> =============================================================================</p>
  104. <p>Windows are the main persistent state used inside nuklear and are life time controlled by simply "retouching" (i.e. calling) each window each frame. All widgets inside nuklear can only be added inside the function pair <code>nk_begin_xxx</code> and <code>nk_end</code>. Calling any widgets outside these two functions will result in an assert in debug or no state change in release mode.<br />
  105. <br />
  106. </p>
  107. <p>Each window holds frame persistent state like position, size, flags, state tables, and some garbage collected internal persistent widget state. Each window is linked into a window stack list which determines the drawing and overlapping order. The topmost window thereby is the currently active window.<br />
  108. <br />
  109. </p>
  110. <p>To change window position inside the stack occurs either automatically by user input by being clicked on or programmatically by calling <code>nk_window_focus</code>. Windows by default are visible unless explicitly being defined with flag <code>NK_WINDOW_HIDDEN</code>, the user clicked the close button on windows with flag <code>NK_WINDOW_CLOSABLE</code> or if a window was explicitly hidden by calling <code>nk_window_show</code>. To explicitly close and destroy a window call <code>nk_window_close</code>.<br />
  111. <br />
  112. </p>
  113. <h1><a class="anchor" id="autotoc_md19"></a>
  114. Usage</h1>
  115. <p>To create and keep a window you have to call one of the two <code>nk_begin_xxx</code> functions to start window declarations and <code>nk_end</code> at the end. Furthermore it is recommended to check the return value of <code>nk_begin_xxx</code> and only process widgets inside the window if the value is not 0. Either way you have to call <code>nk_end</code> at the end of window declarations. Furthermore, do not attempt to nest <code>nk_begin_xxx</code> calls which will hopefully result in an assert or if not in a segmentation fault.</p>
  116. <div class="fragment"><div class="line"><span class="keywordflow">if</span> (nk_begin_xxx(...) {</div>
  117. <div class="line"> <span class="comment">// [... widgets ...]</span></div>
  118. <div class="line">}</div>
  119. <div class="line"><a class="code hl_function" href="nuklear_8h.html#ae0ade48c4c8df72456b9d97ab3d195e3">nk_end</a>(ctx);</div>
  120. <div class="ttc" id="anuklear_8h_html_ae0ade48c4c8df72456b9d97ab3d195e3"><div class="ttname"><a href="nuklear_8h.html#ae0ade48c4c8df72456b9d97ab3d195e3">nk_end</a></div><div class="ttdeci">NK_API void nk_end(struct nk_context *ctx)</div><div class="ttdef"><b>Definition</b> <a href="nuklear__window_8c_source.html#l00297">nuklear_window.c:297</a></div></div>
  121. </div><!-- fragment --><p>In the grand concept window and widget declarations need to occur after input handling and before drawing to screen. Not doing so can result in higher latency or at worst invalid behavior. Furthermore make sure that <code>nk_clear</code> is called at the end of the frame. While nuklear's default platform backends already call <code>nk_clear</code> for you if you write your own backend not calling <code>nk_clear</code> can cause asserts or even worse undefined behavior.</p>
  122. <div class="fragment"><div class="line"><span class="keyword">struct </span><a class="code hl_struct" href="structnk__context.html">nk_context</a> ctx;</div>
  123. <div class="line">nk_init_xxx(&amp;ctx, ...);</div>
  124. <div class="line"><span class="keywordflow">while</span> (1) {</div>
  125. <div class="line"> Event evt;</div>
  126. <div class="line"> <a class="code hl_function" href="nuklear_8h.html#a1dd51949401094f71d10429d45779d53">nk_input_begin</a>(&amp;ctx);</div>
  127. <div class="line"> <span class="keywordflow">while</span> (GetEvent(&amp;evt)) {</div>
  128. <div class="line"> <span class="keywordflow">if</span> (evt.type == MOUSE_MOVE)</div>
  129. <div class="line"> <a class="code hl_function" href="nuklear_8h.html#acdbdc5795b24d36875281cf3cac671fe">nk_input_motion</a>(&amp;ctx, evt.motion.x, evt.motion.y);</div>
  130. <div class="line"> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (evt.type == [...]) {</div>
  131. <div class="line"> nk_input_xxx(...);</div>
  132. <div class="line"> }</div>
  133. <div class="line"> }</div>
  134. <div class="line"> <a class="code hl_function" href="nuklear_8h.html#a15c0d237b6bb2f5195a09e259fd7b375">nk_input_end</a>(&amp;ctx);</div>
  135. <div class="line"> </div>
  136. <div class="line"> <span class="keywordflow">if</span> (nk_begin_xxx(...) {</div>
  137. <div class="line"> <span class="comment">//[...]</span></div>
  138. <div class="line"> }</div>
  139. <div class="line"> <a class="code hl_function" href="nuklear_8h.html#ae0ade48c4c8df72456b9d97ab3d195e3">nk_end</a>(ctx);</div>
  140. <div class="line"> </div>
  141. <div class="line"> <span class="keyword">const</span> <span class="keyword">struct </span><a class="code hl_struct" href="structnk__command.html">nk_command</a> *cmd = 0;</div>
  142. <div class="line"> <a class="code hl_define" href="nuklear_8h.html#aaca7101364db82c0f03401fafd2c66a6">nk_foreach</a>(cmd, &amp;ctx) {</div>
  143. <div class="line"> <span class="keywordflow">case</span> NK_COMMAND_LINE:</div>
  144. <div class="line"> your_draw_line_function(...)</div>
  145. <div class="line"> break;</div>
  146. <div class="line"> case NK_COMMAND_RECT</div>
  147. <div class="line"> your_draw_rect_function(...)</div>
  148. <div class="line"> break;</div>
  149. <div class="line"> case <span class="comment">//...:</span></div>
  150. <div class="line"> <span class="comment">//[...]</span></div>
  151. <div class="line"> }</div>
  152. <div class="line"> <a class="code hl_function" href="nuklear_8h.html#ade3301f0a92370be1b4beac7eceac279">nk_clear</a>(&amp;ctx);</div>
  153. <div class="line">}</div>
  154. <div class="line"><a class="code hl_function" href="nuklear_8h.html#a06772e194320fa99524681fd32df85e9">nk_free</a>(&amp;ctx);</div>
  155. <div class="ttc" id="anuklear_8h_html_a06772e194320fa99524681fd32df85e9"><div class="ttname"><a href="nuklear_8h.html#a06772e194320fa99524681fd32df85e9">nk_free</a></div><div class="ttdeci">NK_API void nk_free(struct nk_context *)</div><div class="ttdoc">Frees all memory allocated by nuklear; Not needed if context was initialized with nk_init_fixed.</div><div class="ttdef"><b>Definition</b> <a href="nuklear__context_8c_source.html#l00088">nuklear_context.c:88</a></div></div>
  156. <div class="ttc" id="anuklear_8h_html_a15c0d237b6bb2f5195a09e259fd7b375"><div class="ttname"><a href="nuklear_8h.html#a15c0d237b6bb2f5195a09e259fd7b375">nk_input_end</a></div><div class="ttdeci">NK_API void nk_input_end(struct nk_context *)</div><div class="ttdoc">End the input mirroring process by resetting mouse grabbing state to ensure the mouse cursor is not g...</div><div class="ttdef"><b>Definition</b> <a href="nuklear__input_8c_source.html#l00030">nuklear_input.c:30</a></div></div>
  157. <div class="ttc" id="anuklear_8h_html_a1dd51949401094f71d10429d45779d53"><div class="ttname"><a href="nuklear_8h.html#a1dd51949401094f71d10429d45779d53">nk_input_begin</a></div><div class="ttdeci">NK_API void nk_input_begin(struct nk_context *)</div><div class="ttdoc">Begins the input mirroring process by resetting text, scroll mouse, previous mouse position and movem...</div><div class="ttdef"><b>Definition</b> <a href="nuklear__input_8c_source.html#l00010">nuklear_input.c:10</a></div></div>
  158. <div class="ttc" id="anuklear_8h_html_aaca7101364db82c0f03401fafd2c66a6"><div class="ttname"><a href="nuklear_8h.html#aaca7101364db82c0f03401fafd2c66a6">nk_foreach</a></div><div class="ttdeci">#define nk_foreach(c, ctx)</div><div class="ttdoc">Iterates over each draw command inside the context draw command list.</div><div class="ttdef"><b>Definition</b> <a href="nuklear_8h_source.html#l01031">nuklear.h:1031</a></div></div>
  159. <div class="ttc" id="anuklear_8h_html_acdbdc5795b24d36875281cf3cac671fe"><div class="ttname"><a href="nuklear_8h.html#acdbdc5795b24d36875281cf3cac671fe">nk_input_motion</a></div><div class="ttdeci">NK_API void nk_input_motion(struct nk_context *, int x, int y)</div><div class="ttdoc">Mirrors current mouse position to nuklear.</div><div class="ttdef"><b>Definition</b> <a href="nuklear__input_8c_source.html#l00045">nuklear_input.c:45</a></div></div>
  160. <div class="ttc" id="anuklear_8h_html_ade3301f0a92370be1b4beac7eceac279"><div class="ttname"><a href="nuklear_8h.html#ade3301f0a92370be1b4beac7eceac279">nk_clear</a></div><div class="ttdeci">NK_API void nk_clear(struct nk_context *)</div><div class="ttdoc">Resets the context state at the end of the frame.</div><div class="ttdef"><b>Definition</b> <a href="nuklear__context_8c_source.html#l00110">nuklear_context.c:110</a></div></div>
  161. <div class="ttc" id="astructnk__command_html"><div class="ttname"><a href="structnk__command.html">nk_command</a></div><div class="ttdoc">command base and header of every command inside the buffer</div><div class="ttdef"><b>Definition</b> <a href="nuklear_8h_source.html#l04467">nuklear.h:4467</a></div></div>
  162. <div class="ttc" id="astructnk__context_html"><div class="ttname"><a href="structnk__context.html">nk_context</a></div><div class="ttdef"><b>Definition</b> <a href="nuklear_8h_source.html#l05705">nuklear.h:5705</a></div></div>
  163. </div><!-- fragment --><h1><a class="anchor" id="autotoc_md20"></a>
  164. Reference</h1>
  165. <table class="markdownTable">
  166. <tr class="markdownTableHead">
  167. <th class="markdownTableHeadNone">Function </th><th class="markdownTableHeadNone">Description </th></tr>
  168. <tr class="markdownTableRowOdd">
  169. <td class="markdownTableBodyNone"><a class="el" href="nuklear_8h.html#aafe58ef289cad9c8cd7f5419fabe7cdd">nk_begin</a> </td><td class="markdownTableBodyNone">Starts a new window; needs to be called every frame for every window (unless hidden) or otherwise the window gets removed </td></tr>
  170. <tr class="markdownTableRowEven">
  171. <td class="markdownTableBodyNone"><a class="el" href="nuklear_8h.html#aabf02f938d9da8ac02cd0b972f2e0260">nk_begin_titled</a> </td><td class="markdownTableBodyNone">Extended window start with separated title and identifier to allow multiple windows with same name but not title </td></tr>
  172. <tr class="markdownTableRowOdd">
  173. <td class="markdownTableBodyNone"><a class="el" href="nuklear_8h.html#ae0ade48c4c8df72456b9d97ab3d195e3">nk_end</a> </td><td class="markdownTableBodyNone">Needs to be called at the end of the window building process to process scaling, scrollbars and general cleanup </td></tr>
  174. </table>
  175. <p><a class="el" href="nuklear_8h.html#a91122e516882842a71d64b113726d020">nk_window_find</a> | Finds and returns the window with give name <a class="el" href="nuklear_8h.html#a953e4260d75945c20995971ba0454806">nk_window_get_bounds</a> | Returns a rectangle with screen position and size of the currently processed window. <a class="el" href="nuklear_8h.html#aef2af65486366fb8f4a36166b4dc9c41">nk_window_get_position</a> | Returns the position of the currently processed window <a class="el" href="nuklear_8h.html#a45b8d37fe77e0042ebf5b58e1b253217">nk_window_get_size</a> | Returns the size with width and height of the currently processed window <a class="el" href="nuklear_8h.html#abc629faa5b527aea0c5b3f4b6a233883">nk_window_get_width</a> | Returns the width of the currently processed window <a class="el" href="nuklear_8h.html#aa62210de969d101d5d79ba600fe9ff33">nk_window_get_height</a> | Returns the height of the currently processed window <a class="el" href="nuklear_8h.html#a6a11cd83c17abe2404c386632b88c88f">nk_window_get_panel</a> | Returns the underlying panel which contains all processing state of the current window <a class="el" href="nuklear_8h.html#ad32015c0b7b53e4df428d7b8e123e18e">nk_window_get_content_region</a> | Returns the position and size of the currently visible and non-clipped space inside the currently processed window <a class="el" href="nuklear_8h.html#ab9869953c48593e9e85de6bbb3b8e9e5">nk_window_get_content_region_min</a> | Returns the upper rectangle position of the currently visible and non-clipped space inside the currently processed window <a class="el" href="nuklear_8h.html#a0c121dd2f61a58534da0a1c5de756f85">nk_window_get_content_region_max</a> | Returns the upper rectangle position of the currently visible and non-clipped space inside the currently processed window <a class="el" href="nuklear_8h.html#a69e94ee039dd5a69831aaef36a24b520">nk_window_get_content_region_size</a> | Returns the size of the currently visible and non-clipped space inside the currently processed window <a class="el" href="nuklear_8h.html#a3f69488ed64807aac9ba3a699b056a36">nk_window_get_canvas</a> | Returns the draw command buffer. Can be used to draw custom widgets <a class="el" href="nuklear_8h.html#a6aa450a42ad526df04edeedd1db8348a">nk_window_get_scroll</a> | Gets the scroll offset of the current window <a class="el" href="nuklear_8h.html#a87d7636e4f8ad8fff456a7291d63549b">nk_window_has_focus</a> | Returns if the currently processed window is currently active <a class="el" href="nuklear_8h.html#a759513017e5bca51e13be0268d41f510">nk_window_is_collapsed</a> | Returns if the window with given name is currently minimized/collapsed <a class="el" href="nuklear_8h.html#ad8e62bbe0e9db9d84e83f494ab750c26">nk_window_is_closed</a> | Returns if the currently processed window was closed <a class="el" href="nuklear_8h.html#a5ba38e6da74e5a1f82453c1215ccd138">nk_window_is_hidden</a> | Returns if the currently processed window was hidden <a class="el" href="nuklear_8h.html#a4aea66b4db514df19651e03b26eaacee">nk_window_is_active</a> | Same as nk_window_has_focus for some reason <a class="el" href="nuklear_8h.html#a324553b9e3c4450764a208454ac71454">nk_window_is_hovered</a> | Returns if the currently processed window is currently being hovered by mouse <a class="el" href="nuklear_8h.html#a5922a25b765837062d0ded6bb8369041">nk_window_is_any_hovered</a> | Return if any window currently hovered <a class="el" href="nuklear_8h.html#a562be2c0a03cb227be14ea82b4b517d7">nk_item_is_any_active</a> | Returns if any window or widgets is currently hovered or active</p>
  176. <p><a class="el" href="nuklear_8h.html#a953db327dad500d512deee42378816ac">nk_window_set_bounds</a> | Updates position and size of the currently processed window <a class="el" href="nuklear_8h.html#a6de7d1d2c130ab249964b71a4626b1aa">nk_window_set_position</a> | Updates position of the currently process window <a class="el" href="nuklear_8h.html#ab19652cd191237bf2723f235a14385f5">nk_window_set_size</a> | Updates the size of the currently processed window <a class="el" href="nuklear_8h.html#a55f290b12d04ce2b8de2229cf0c9540a">nk_window_set_focus</a> | Set the currently processed window as active window <a class="el" href="nuklear_8h.html#a43344b5de927f1e705cbf6eca17c7314">nk_window_set_scroll</a> | Sets the scroll offset of the current window</p>
  177. <p><a class="el" href="nuklear_8h.html#a17d99544eee290e0d79e5d3eb1cdac03">nk_window_close</a> | Closes the window with given window name which deletes the window at the end of the frame <a class="el" href="nuklear_8h.html#a7fc3d426db189e2e0a4557e80135601e">nk_window_collapse</a> | Collapses the window with given window name <a class="el" href="nuklear_8h.html#a35eb1ef534da74f5b1a6cfd873aad40e">nk_window_collapse_if</a> | Collapses the window with given window name if the given condition was met <a class="el" href="nuklear_8h.html#a73ed9654303545bca9b8e4d6a5454363">nk_window_show</a> | Hides a visible or reshows a hidden window <a class="el" href="nuklear_8h.html#aa1eaa64d0de02f059163fc502386ce1b">nk_window_show_if</a> | Hides/shows a window depending on condition</p>
  178. <h1><a class="anchor" id="autotoc_md21"></a>
  179. nk_panel_flags</h1>
  180. <table class="markdownTable">
  181. <tr class="markdownTableHead">
  182. <th class="markdownTableHeadNone">Flag </th><th class="markdownTableHeadNone">Description </th></tr>
  183. <tr class="markdownTableRowOdd">
  184. <td class="markdownTableBodyNone">NK_WINDOW_BORDER </td><td class="markdownTableBodyNone">Draws a border around the window to visually separate window from the background </td></tr>
  185. <tr class="markdownTableRowEven">
  186. <td class="markdownTableBodyNone">NK_WINDOW_MOVABLE </td><td class="markdownTableBodyNone">The movable flag indicates that a window can be moved by user input or by dragging the window header </td></tr>
  187. <tr class="markdownTableRowOdd">
  188. <td class="markdownTableBodyNone">NK_WINDOW_SCALABLE </td><td class="markdownTableBodyNone">The scalable flag indicates that a window can be scaled by user input by dragging a scaler icon at the button of the window </td></tr>
  189. <tr class="markdownTableRowEven">
  190. <td class="markdownTableBodyNone">NK_WINDOW_CLOSABLE </td><td class="markdownTableBodyNone">Adds a closable icon into the header </td></tr>
  191. <tr class="markdownTableRowOdd">
  192. <td class="markdownTableBodyNone">NK_WINDOW_MINIMIZABLE </td><td class="markdownTableBodyNone">Adds a minimize icon into the header </td></tr>
  193. <tr class="markdownTableRowEven">
  194. <td class="markdownTableBodyNone">NK_WINDOW_NO_SCROLLBAR </td><td class="markdownTableBodyNone">Removes the scrollbar from the window </td></tr>
  195. <tr class="markdownTableRowOdd">
  196. <td class="markdownTableBodyNone">NK_WINDOW_TITLE </td><td class="markdownTableBodyNone">Forces a header at the top at the window showing the title </td></tr>
  197. <tr class="markdownTableRowEven">
  198. <td class="markdownTableBodyNone">NK_WINDOW_SCROLL_AUTO_HIDE </td><td class="markdownTableBodyNone">Automatically hides the window scrollbar if no user interaction: also requires delta time in <code><a class="el" href="structnk__context.html">nk_context</a></code> to be set each frame </td></tr>
  199. <tr class="markdownTableRowOdd">
  200. <td class="markdownTableBodyNone">NK_WINDOW_BACKGROUND </td><td class="markdownTableBodyNone">Always keep window in the background </td></tr>
  201. <tr class="markdownTableRowEven">
  202. <td class="markdownTableBodyNone">NK_WINDOW_SCALE_LEFT </td><td class="markdownTableBodyNone">Puts window scaler in the left-bottom corner instead right-bottom </td></tr>
  203. <tr class="markdownTableRowOdd">
  204. <td class="markdownTableBodyNone">NK_WINDOW_NO_INPUT </td><td class="markdownTableBodyNone">Prevents window of scaling, moving or getting focus </td></tr>
  205. </table>
  206. <h1><a class="anchor" id="autotoc_md22"></a>
  207. nk_collapse_states</h1>
  208. <table class="markdownTable">
  209. <tr class="markdownTableHead">
  210. <th class="markdownTableHeadNone">State </th><th class="markdownTableHeadNone">Description </th></tr>
  211. <tr class="markdownTableRowOdd">
  212. <td class="markdownTableBodyNone">NK_MINIMIZED </td><td class="markdownTableBodyNone">UI section is collapsed and not visible until maximized </td></tr>
  213. <tr class="markdownTableRowEven">
  214. <td class="markdownTableBodyNone">NK_MAXIMIZED </td><td class="markdownTableBodyNone">UI section is extended and visible until minimized </td></tr>
  215. </table>
  216. </div></div><!-- contents -->
  217. </div><!-- PageDoc -->
  218. </div><!-- doc-content -->
  219. <!-- start footer part -->
  220. <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  221. <ul>
  222. <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
  223. </ul>
  224. </div>
  225. </body>
  226. </html>