Lines Matching defs:window
32 /// a default renderbackend or OS window and input handling but instead provides a very modular
193 /// // fixed widget window ratio width
517 /// They are used for window, memory, input, style, stack, commands and time management and need
543 /// __nk_init_custom__ | Initializes context from two buffers. One for draw commands the other for window/panel/table allocations
678 /// It is worth noting that no direct OS or window handling is done in nuklear.
1311 /// controlled by simply "retouching" (i.e. calling) each window each frame.
1316 /// Each window holds frame persistent state like position, size, flags, state tables,
1317 /// and some garbage collected internal persistent widget state. Each window
1318 /// is linked into a window stack list which determines the drawing and overlapping
1319 /// order. The topmost window thereby is the currently active window.<br /><br />
1321 /// To change window position inside the stack occurs either automatically by
1325 /// `NK_WINDOW_CLOSABLE` or if a window was explicitly hidden by calling
1326 /// `nk_window_show`. To explicitly close and destroy a window call `nk_window_close`.<br /><br />
1329 /// To create and keep a window you have to call one of the two `nk_begin_xxx`
1330 /// functions to start window declarations and `nk_end` at the end. Furthermore it
1332 /// widgets inside the window if the value is not 0. Either way you have to call
1333 /// `nk_end` at the end of window declarations. Furthermore, do not attempt to
1344 /// In the grand concept window and widget declarations need to occur after input
1390 /// nk_begin | Starts a new window; needs to be called every frame for every window (unless hidden) or otherwise the window gets removed
1391 /// nk_begin_titled | Extended window start with separated title and identifier to allow multiple windows with same name but not title
1392 /// nk_end | Needs to be called at the end of the window building process to process scaling, scrollbars and general cleanup
1394 /// nk_window_find | Finds and returns the window with give name
1395 /// nk_window_get_bounds | Returns a rectangle with screen position and size of the currently processed window.
1396 /// nk_window_get_position | Returns the position of the currently processed window
1397 /// nk_window_get_size | Returns the size with width and height of the currently processed window
1398 /// nk_window_get_width | Returns the width of the currently processed window
1399 /// nk_window_get_height | Returns the height of the currently processed window
1400 /// nk_window_get_panel | Returns the underlying panel which contains all processing state of the current window
1401 /// nk_window_get_content_region | Returns the position and size of the currently visible and non-clipped space inside the currently processed window
1402 /// nk_window_get_content_region_min | Returns the upper rectangle position of the currently visible and non-clipped space inside the currently processed window
1403 /// nk_window_get_content_region_max | Returns the upper rectangle position of the currently visible and non-clipped space inside the currently processed window
1404 /// nk_window_get_content_region_size | Returns the size of the currently visible and non-clipped space inside the currently processed window
1406 /// nk_window_get_scroll | Gets the scroll offset of the current window
1407 /// nk_window_has_focus | Returns if the currently processed window is currently active
1408 /// nk_window_is_collapsed | Returns if the window with given name is currently minimized/collapsed
1409 /// nk_window_is_closed | Returns if the currently processed window was closed
1410 /// nk_window_is_hidden | Returns if the currently processed window was hidden
1412 /// nk_window_is_hovered | Returns if the currently processed window is currently being hovered by mouse
1413 /// nk_window_is_any_hovered | Return if any window currently hovered
1414 /// nk_item_is_any_active | Returns if any window or widgets is currently hovered or active
1416 /// nk_window_set_bounds | Updates position and size of the currently processed window
1417 /// nk_window_set_position | Updates position of the currently process window
1418 /// nk_window_set_size | Updates the size of the currently processed window
1419 /// nk_window_set_focus | Set the currently processed window as active window
1420 /// nk_window_set_scroll | Sets the scroll offset of the current window
1422 /// nk_window_close | Closes the window with given window name which deletes the window at the end of the frame
1423 /// nk_window_collapse | Collapses the window with given window name
1424 /// nk_window_collapse_if | Collapses the window with given window name if the given condition was met
1425 /// nk_window_show | Hides a visible or reshows a hidden window
1426 /// nk_window_show_if | Hides/shows a window depending on condition
1432 /// NK_WINDOW_BORDER | Draws a border around the window to visually separate window from the background
1433 /// NK_WINDOW_MOVABLE | The movable flag indicates that a window can be moved by user input or by dragging the window header
1434 /// NK_WINDOW_SCALABLE | The scalable flag indicates that a window can be scaled by user input by dragging a scaler icon at the button of the window
1437 /// NK_WINDOW_NO_SCROLLBAR | Removes the scrollbar from the window
1438 /// NK_WINDOW_TITLE | Forces a header at the top at the window showing the title
1439 /// NK_WINDOW_SCROLL_AUTO_HIDE | Automatically hides the window scrollbar if no user interaction: also requires delta time in `nk_context` to be set each frame
1440 /// NK_WINDOW_BACKGROUND | Always keep window in the background
1441 /// NK_WINDOW_SCALE_LEFT | Puts window scaler in the left-bottom corner instead right-bottom
1442 /// NK_WINDOW_NO_INPUT | Prevents window of scaling, moving or getting focus
1465 /// Starts a new window; needs to be called every frame for every
1466 /// window (unless hidden) or otherwise the window gets removed
1475 /// __title__ | Window title and identifier. Needs to be persistent over frames to identify the window
1476 /// __bounds__ | Initial position and window size. However if you do not define `NK_WINDOW_SCALABLE` or `NK_WINDOW_MOVABLE` you can set window position and size every frame
1477 /// __flags__ | Window flags defined in the nk_panel_flags section with a number of different window behaviors
1479 /// Returns `true(1)` if the window can be filled up with widgets from this point
1484 /// Extended window start with separated title and identifier to allow multiple
1494 /// __name__ | Window identifier. Needs to be persistent over frames to identify the window
1496 /// __bounds__ | Initial position and window size. However if you do not define `NK_WINDOW_SCALABLE` or `NK_WINDOW_MOVABLE` you can set window position and size every frame
1497 /// __flags__ | Window flags defined in the nk_panel_flags section with a number of different window behaviors
1499 /// Returns `true(1)` if the window can be filled up with widgets from this point
1504 /// Needs to be called at the end of the window building process to process scaling, scrollbars and general cleanup.
1517 /// Finds and returns a window from passed name
1528 /// Returns a `nk_window` struct pointing to the identified window or NULL if
1529 /// no window with the given name was found
1533 /// Returns a rectangle with screen position and size of the currently processed window
1545 /// Returns a `nk_rect` struct with window upper left window position and size
1549 /// Returns the position of the currently processed window.
1561 /// Returns a `nk_vec2` struct with window upper left position
1565 /// Returns the size with width and height of the currently processed window.
1577 /// Returns a `nk_vec2` struct with window width and height
1581 /// Returns the width of the currently processed window.
1593 /// Returns the current window width
1597 /// Returns the height of the currently processed window.
1609 /// Returns the current window height
1613 /// Returns the underlying panel which contains all processing state of the current window.
1627 /// Returns a pointer to window internal `nk_panel` state.
1632 /// inside the currently processed window.
1646 /// of the visible space inside the current window
1651 /// space inside the currently processed window.
1665 /// of the visible space inside the current window
1670 /// non-clipped space inside the currently processed window.
1684 /// of the visible space inside the current window
1689 /// currently processed window
1702 /// Returns `nk_vec2` struct with size the visible space inside the current window
1720 /// Returns a pointer to window internal `nk_command_buffer` struct used as
1725 /// Gets the scroll offset for the current window
1741 /// Returns if the currently processed window is currently active
1752 /// Returns `false(0)` if current window is not active or `true(1)` if it is
1756 /// Return if the current window is being hovered
1767 /// Returns `true(1)` if current window is hovered or `false(0)` otherwise
1771 /// Returns if the window with given name is currently minimized/collapsed
1779 /// __name__ | Identifier of window you want to check if it is collapsed
1781 /// Returns `true(1)` if current window is minimized and `false(0)` if window not
1786 /// Returns if the window with given name was closed by calling `nk_close`
1794 /// __name__ | Identifier of window you want to check if it is closed
1796 /// Returns `true(1)` if current window was closed or `false(0)` window not found or not closed
1800 /// Returns if the window with given name is hidden
1808 /// __name__ | Identifier of window you want to check if it is hidden
1810 /// Returns `true(1)` if current window is hidden or `false(0)` window not found or visible
1822 /// __name__ | Identifier of window you want to check if it is active
1824 /// Returns `true(1)` if current window is active or `false(0)` window not found or not active
1828 /// Returns if the any window is being hovered
1837 /// Returns `true(1)` if any window is hovered or `false(0)` otherwise
1841 /// Returns if the any window is being hovered or any widget is currently active.
1852 /// Returns `true(1)` if any window is hovered or any item is active or `false(0)` otherwise
1856 /// Updates position and size of window with passed in name
1864 /// __name__ | Identifier of the window to modify both position and size
1869 /// Updates position of window with passed name
1877 /// __name__ | Identifier of the window to modify both position
1882 /// Updates size of window with passed in name
1890 /// __name__ | Identifier of the window to modify both window size
1891 /// __size__ | Must point to a `nk_vec2` struct with new window size
1895 /// Sets the window with given name as active
1903 /// __name__ | Identifier of the window to set focus on
1907 /// Sets the scroll offset for the current window
1923 /// Closes a window and marks it for being freed at the end of the frame
1931 /// __name__ | Identifier of the window to close
1935 /// Updates collapse state of a window with given name
1943 /// __name__ | Identifier of the window to close
1948 /// Updates collapse state of a window with given name if given condition is met
1956 /// __name__ | Identifier of the window to either collapse or maximize
1957 /// __state__ | value out of nk_collapse_states section the window should be put into
1962 /// updates visibility state of a window with given name
1970 /// __name__ | Identifier of the window to either collapse or maximize
1971 /// __state__ | state with either visible or hidden to modify the window with
1975 /// Updates visibility state of a window with given name if a given condition is met
1983 /// __name__ | Identifier of the window to either hide or show
1984 /// __state__ | state with either visible or hidden to modify the window with
1994 /// Layouting in general describes placing widget inside a window with position and size.
1999 /// A row has a height the window content grows by and a number of columns and each
2036 /// if the owning window grows in width. So the number of columns dictates
2069 /// if the owning window scales smaller or bigger.
2093 /// specify each column pixel or window ratio in a row. It supports either
2094 /// directly setting per column pixel width or widget window ratio but not
2109 /// // second row with height: 25 composed of two widgets with window ratio 0.25 and 0.75
2117 /// // third row with auto generated height: composed of two widgets with window ratio 0.25 and 0.75
2130 /// functions. Instead of pushing either pixel or window ratio for every widget
2145 /// // two rows with height: 30 composed of two widgets with window ratio 0.25 and 0.75
2153 /// // two rows with auto generated height composed of two widgets with window ratio 0.25 and 0.75
2203 /// window. The space layout API is an immediate mode API which does not support
2235 /// nk_layout_widget_bounds | Calculates current width a static layout row can fit inside a window
2236 /// nk_layout_ratio_from_pixel | Utility functions to calculate window ratio from pixel size
2241 /// nk_layout_row_push | Pushes another column with given size or window ratio
2243 /// nk_layout_row | Specifies row columns in array as either window ratio or size
2302 /// Utility functions to calculate window ratio from pixel size
2310 /// __pixel__ | Pixel_width to convert to window ratio
2355 /// __fmt__ | either `NK_DYNAMIC` for window ratio or `NK_STATIC` for fixed size columns
2361 /// Specifies either window ratio or width of a single column
2369 /// __value__ | either a window ratio or fixed width depending on @fmt in previous `nk_layout_row_begin` call
2384 /// Specifies row columns in array as either window ratio or size
2392 /// __fmt__ | Either `NK_DYNAMIC` for window ratio or `NK_STATIC` for fixed size columns
2465 /// __fmt__ | Either `NK_DYNAMIC` for window ratio or `NK_STATIC` for fixed size columns
2569 /// in a window to layout widgets as a group. Almost all more complex widget
2579 /// widgets inside the window if the value is not 0.
2591 /// In the grand concept groups can be called after starting a window
3044 NK_WIDGET_VALID, /* The widget is completely inside the window and can be updated and drawn */
4342 command buffer of each window by calling `nk_window_get_canvas` after
5236 struct nk_style_window window;
5356 /* special window type growing up in height while being filled to a certain maximum height */
5358 /* sets window widgets into a read only mode and does not allow input changes */
5360 /* prevents all interaction caused by input to either window or widgets inside */
5362 /* Hides window and stops any window interaction and drawing */
5364 /* Directly closes and frees the window at the end of the frame */
5366 /* marks the window as minimized */
5368 /* Removes read only mode at the end of the window */
5430 /* window list hooks */
5592 * each window for temporary use cases, so I only provide *one* instance
5862 /* window */
5864 NK_INSERT_BACK, /* inserts window into the back of list (front of screen) */
5865 NK_INSERT_FRONT /* inserts window into the front of list (back of screen) */
14726 /* window header */
14727 win = &style->window;
14742 /* window header close button */
14743 button = &style->window.header.close_button;
14762 /* window header minimize button */
14763 button = &style->window.header.minimize_button;
14782 /* window */
15110 /* remove unused window state tables */
15122 /* window itself is not used anymore so free */
15228 /* build one big draw command list out of all window buffers */
15559 case NK_PANEL_WINDOW: return style->window.padding;
15560 case NK_PANEL_GROUP: return style->window.group_padding;
15561 case NK_PANEL_POPUP: return style->window.popup_padding;
15562 case NK_PANEL_CONTEXTUAL: return style->window.contextual_padding;
15563 case NK_PANEL_COMBO: return style->window.combo_padding;
15564 case NK_PANEL_MENU: return style->window.menu_padding;
15565 case NK_PANEL_TOOLTIP: return style->window.menu_padding;}
15574 case NK_PANEL_WINDOW: return style->window.border;
15575 case NK_PANEL_GROUP: return style->window.group_border;
15576 case NK_PANEL_POPUP: return style->window.popup_border;
15577 case NK_PANEL_CONTEXTUAL: return style->window.contextual_border;
15578 case NK_PANEL_COMBO: return style->window.combo_border;
15579 case NK_PANEL_MENU: return style->window.menu_border;
15580 case NK_PANEL_TOOLTIP: return style->window.menu_border;
15588 case NK_PANEL_WINDOW: return style->window.border_color;
15589 case NK_PANEL_GROUP: return style->window.group_border_color;
15590 case NK_PANEL_POPUP: return style->window.popup_border_color;
15591 case NK_PANEL_CONTEXTUAL: return style->window.contextual_border_color;
15592 case NK_PANEL_COMBO: return style->window.combo_border_color;
15593 case NK_PANEL_MENU: return style->window.menu_border_color;
15594 case NK_PANEL_TOOLTIP: return style->window.menu_border_color;}
15640 scrollbar_size = style->window.scrollbar_size;
15643 /* window movement */
15649 /* calculate draggable window space */
15655 header.h = font->height + 2.0f * style->window.header.padding.y;
15656 header.h += 2.0f * style->window.header.label_padding.y;
15659 /* window movement by dragging */
15716 header.h = font->height + 2.0f * style->window.header.padding.y;
15717 header.h += (2.0f * style->window.header.label_padding.y);
15727 background = &style->window.header.active;
15728 text.text = style->window.header.label_active;
15730 background = &style->window.header.hover;
15731 text.text = style->window.header.label_hover;
15733 background = &style->window.header.normal;
15734 text.text = style->window.header.label_normal;
15747 /* window close button */
15749 button.y = header.y + style->window.header.padding.y;
15750 button.h = header.h - 2 * style->window.header.padding.y;
15754 if (style->window.header.align == NK_HEADER_RIGHT) {
15755 button.x = (header.w + header.x) - (button.w + style->window.header.padding.x);
15756 header.w -= button.w + style->window.header.spacing.x + style->window.header.padding.x;
15758 button.x = header.x + style->window.header.padding.x;
15759 header.x += button.w + style->window.header.spacing.x + style->window.header.padding.x;
15763 style->window.header.close_symbol, NK_BUTTON_DEFAULT,
15764 &style->window.header.close_button, in, style->font) && !(win->flags & NK_WINDOW_ROM))
15771 /* window minimize button */
15774 if (style->window.header.align == NK_HEADER_RIGHT) {
15777 button.x -= style->window.header.padding.x;
15778 header.w -= style->window.header.padding.x;
15780 header.w -= button.w + style->window.header.spacing.x;
15783 header.x += button.w + style->window.header.spacing.x + style->window.header.padding.x;
15786 style->window.header.maximize_symbol: style->window.header.minimize_symbol,
15787 NK_BUTTON_DEFAULT, &style->window.header.minimize_button, in, style->font) && !(win->flags & NK_WINDOW_ROM))
15793 {/* window header title */
15799 label.x = header.x + style->window.header.padding.x;
15800 label.x += style->window.header.label_padding.x;
15801 label.y = header.y + style->window.header.label_padding.y;
15802 label.h = font->height + 2 * style->window.header.label_padding.y;
15803 label.w = t + 2 * style->window.header.spacing.x;
15808 /* draw window background */
15815 if (style->window.fixed_background.type == NK_STYLE_ITEM_IMAGE)
15816 nk_draw_image(out, body, &style->window.fixed_background.data.image, nk_white);
15817 else nk_fill_rect(out, body, 0, style->window.fixed_background.data.color);
15833 struct nk_window *window;
15847 window = ctx->current;
15848 layout = window->layout;
15850 out = &window->buffer;
15856 scrollbar_size = style->window.scrollbar_size;
15871 empty_space.x = window->bounds.x;
15874 empty_space.w = window->bounds.w;
15875 nk_fill_rect(out, empty_space, 0, style->window.background);
15878 empty_space.x = window->bounds.x;
15882 nk_fill_rect(out, empty_space, 0, style->window.background);
15891 nk_fill_rect(out, empty_space, 0, style->window.background);
15895 empty_space.x = window->bounds.x;
15897 empty_space.w = window->bounds.w;
15899 nk_fill_rect(out, empty_space, 0, style->window.background);
15906 window->scrollbar_hiding_timer < NK_SCROLLBAR_HIDING_TIMEOUT)
15918 /* sub-window mouse wheel scrolling */
15919 struct nk_window *root_window = window;
15920 struct nk_panel *root_panel = window->layout;
15926 /* only allow scrolling if parent window is active */
15935 root_panel = window->layout;
15945 /* window mouse wheel scrolling */
15946 scroll_has_scrolling = (window == ctx->active) && layout->has_scrolling;
15948 window->scrolled = nk_true;
15949 else window->scrolled = nk_false;
15991 if (window->flags & NK_WINDOW_SCROLL_AUTO_HIDE) {
15996 window->scrollbar_hiding_timer += ctx->delta_time_seconds;
15997 else window->scrollbar_hiding_timer = 0;
15998 } else window->scrollbar_hiding_timer = 0;
16000 /* window border */
16005 ? (style->window.border + window->bounds.y + layout->header_height)
16008 : (window->bounds.y + window->bounds.h));
16009 struct nk_rect b = window->bounds;
16010 b.h = padding_y - window->bounds.y;
16029 {const struct nk_style_item *item = &style->window.scaler;
16043 /* do window scaling */
16044 if (!(window->flags & NK_WINDOW_ROM)) {
16045 struct nk_vec2 window_size = style->window.min_size;
16054 window->bounds.x += in->mouse.delta.x;
16057 if (window->bounds.w + delta_x >= window_size.x) {
16059 window->bounds.w = window->bounds.w + delta_x;
16063 /* dragging in y-direction (only possible if static window) */
16065 if (window_size.y < window->bounds.h + in->mouse.delta.y) {
16067 window->bounds.h = window->bounds.h + in->mouse.delta.y;
16079 /* window is hidden so clear command buffer */
16081 nk_command_buffer_reset(&window->buffer);
16082 /* window is visible and not tab */
16083 else nk_finish(ctx, window);
16091 window->flags = layout->flags;
16094 if (window->property.active && window->property.old != window->property.seq &&
16095 window->property.active == window->property.prev) {
16096 nk_zero(&window->property, sizeof(window->property));
16098 window->property.old = window->property.seq;
16099 window->property.prev = window->property.active;
16100 window->property.seq = 0;
16103 if (window->edit.active && window->edit.old != window->edit.seq &&
16104 window->edit.active == window->edit.prev) {
16105 nk_zero(&window->edit, sizeof(window->edit));
16107 window->edit.old = window->edit.seq;
16108 window->edit.prev = window->edit.active;
16109 window->edit.seq = 0;
16112 if (window->popup.active_con && window->popup.con_old != window->popup.con_count) {
16113 window->popup.con_count = 0;
16114 window->popup.con_old = 0;
16115 window->popup.active_con = 0;
16117 window->popup.con_old = window->popup.con_count;
16118 window->popup.con_count = 0;
16120 window->popup.combo_count = 0;
16156 /*free window state tables */
16284 /* find or create window */
16290 /* create new window */
16311 /* update window */
16318 * I.) Have more than one window with the same name or
16319 * II.) You forgot to actually draw the window.
16336 /* window overlapping */
16341 float h = ctx->style.font->height + 2.0f * style->window.header.padding.y +
16342 (2.0f * style->window.header.label_padding.y);
16346 /* activate window if hovered and no other window is overlapping this window */
16369 /* activate window if clicked */
16393 /* current window is active in that position so transfer to top
16401 /* current window is active in that position so transfer to top
16572 /* check if window is being hovered */
16574 /* check if window popup is being hovered */
16580 header.h = ctx->style.font->height + 2 * ctx->style.window.header.padding.y;
16675 NK_ASSERT(ctx->current != win && "You cannot close a currently active window");
16689 NK_ASSERT(ctx->current != win && "You cannot update a currently in procecss window");
16846 /* popup position is local to window */
16920 /* create window for nonblocking popup */
17344 layout->bounds.y += layout->menu.h + ctx->style.window.spacing.y + layout->row.height;
17345 layout->bounds.h -= layout->menu.h + ctx->style.window.spacing.y + layout->row.height;
17615 layout->row.min_height += ctx->style.window.min_row_height_padding*2;
17628 spacing = style->window.spacing;
17658 color = style->window.background;
17659 item_spacing = style->window.spacing;
17662 a window, group, popup, combobox or contextual menu `begin` and `end` block.
18147 struct nk_vec2 spacing = ctx->style.window.spacing;
18177 spacing = style->window.spacing;
18381 item_spacing = style->window.spacing;
18401 } else text.background = style->window.background;
18452 layout->bounds.w -= (style->tab.indent + style->window.padding.x);
18505 layout->at_x -= ctx->style.tab.indent + ctx->style.window.padding.x;
18506 layout->bounds.w += ctx->style.tab.indent + ctx->style.window.padding.x;
18566 item_spacing = style->window.spacing;
18587 } else text.background = style->window.background;
18635 layout->bounds.w -= (style->tab.indent + style->window.padding.x);
18709 /* initialize a fake window to create the panel from */
18764 /* dummy window */
18778 pan.bounds.w += ctx->style.window.scrollbar_size.x;
18779 pan.bounds.h += ctx->style.window.scrollbar_size.y;
18950 item_spacing = style->window.spacing;
19158 a window, group, popup, combobox or contextual menu `begin` and `end` block.
19365 text.background = style->window.background;
19392 text.background = style->window.background;
24571 body.y = header.y + header.h-ctx->style.window.combo_border;
25177 item_spacing = ctx->style.window.spacing;
25209 /* calculate popup window */
25210 item_spacing = ctx->style.window.spacing;
25262 /* calculate popup window */
25263 item_spacing = ctx->style.window.spacing;
25384 padding = style->window.padding;
25493 /// - 2018/01/28 (3.00.3) - Fixed panel window border drawing bug.
25506 /// - 2017/11/18 (2.00.5) - Fixed window becoming hidden with flag `NK_WINDOW_NO_INPUT`.
25508 /// - 2017/11/07 (2.00.3) - Fixed window size and position modifier functions.
25510 /// - 2017/09/14 (2.00.1) - Fixed window closing behavior.
25511 /// - 2017/09/14 (2.00.0) - BREAKING CHANGE: Modifing window position and size funtions now
25512 /// require the name of the window and must happen outside the window
25514 /// - 2017/09/11 (1.40.9) - Fixed window background flag if background window is declared last.
25516 /// - 2017/08/27 (1.40.7) - Fixed window background flag.
25524 /// window instead of directly in table.
25535 /// - 2017/06/08 (1.39.0) - Added function to retrieve window space without calling a `nk_layout_xxx` function.
25538 /// - 2017/05/10 (1.38.3) - Fixed wrong min window size mouse scaling over boundries.
25540 /// - 2017/05/09 (1.38.1) - Fixed scaler dragging behavior if window size hits minimum size.
25546 /// - 2017/04/09 (1.36.0) - Added window `NK_WINDOW_NO_INPUT` and `NK_WINDOW_NOT_INTERACTIVE` flags.
25551 /// - 2017/03/18 (1.34.3) - Fixed long window header titles.
25563 /// - 2016/12/31 (1.29.2) - Fixed closing window bug of minimized windows.
25566 /// - 2016/11/22 (1.28.6) - Fixed window minimized closing bug.
25621 /// - 2016/09/13 (1.20.1) - Internal change to divide window/panel flags into panel flags and types.
25655 /// window was in Read Only Mode.
25659 /// it is bugged and causes issues in window selection.
25663 /// - 2016/08/30 (1.11.1) - Fixed overlapping minimized window selection.
25669 /// - 2016/08/26 (1.10.0) - Added window name string prepresentation to account for
25684 /// window only as selected by hovering and not by clicking.
25687 /// - 2016/08/12 (1.09.1) - Added additional function to check if window is currently
25703 /// becomming tagged as not inside window and cannot be accessed.
25704 /// - 2016/08/08 (1.07.0) - Nuklear now differentiates between hiding a window (NK_WINDOW_HIDDEN) and
25705 /// closing a window (NK_WINDOW_CLOSED). A window can be hidden/shown
25707 /// icon in a window or by calling `nk_window_close`. Only closed
25721 /// - 2016/08/04 (1.04.4) - Fixed fast window scaling behavior.
25722 /// - 2016/08/04 (1.04.3) - Fixed window scaling, movement bug which appears if you
25723 /// move/scale a window and another window is behind it.
25724 /// If you are fast enough then the window behind gets activated
25730 /// - 2016/08/03 (1.04.0) - Added additional window padding style attributes for
25733 /// - 2016/08/03 (1.04.0) - Added `NK_WINDOW_BACKGROUND` flag to force a window
25737 /// - 2016/07/29 (1.03.0) - Moved the window/table pool into the header part to
25740 /// - 2016/07/29 (1.02.0) - Added auto scrollbar hiding window flag which if enabled
25741 /// will hide the window scrollbar after NK_SCROLLBAR_HIDING_TIMEOUT
25742 /// seconds without window interaction. To make it work