home · contact · privacy
Pass height=0 to init_win() to make window as wide as the terminal screen. Also did...
[plomrogue] / src / windows.h
index 38bb72949d8cacd392570b84d483a34fdf518810..8cb5ec1267f4fd37da004cc5e78f3074b57172d1 100644 (file)
@@ -9,7 +9,8 @@
  *
  * Windows can be almost any width (number has to fit into 16 bits); the virtual
  * screen grows with them as needed -- but only horizontally and only up to 2^16
- * cells. Their height is limited by the height of the terminal screen.
+ * cells. Their height is limited by the height of the terminal screen, which
+ * must also fit into 2^16 cells.
  *
  * Positioning of windows can only indirectly be influenced: by resizing them,
  * and by shifting their relative position inside the (currently invisible)
@@ -22,7 +23,9 @@
  * Functions that return uint8_t return these error codes:
  * 0 - success
  * 1 - memory allocation error (of ncurses' pads/windows, or scroll hint texts)
- * 2 - activity forces virtual screen to grow beyond width of 2^16 cells
+ * 2 - would force virtual screen to grow beyond width or height of 2^16 cells
+ *
+ * TODO: Expose less internals to the API.
  *
  * TODO: Think up a more intuitive window positioning algorithm or at least make
  * the chain that windows are positioned by visible.
@@ -100,10 +103,9 @@ extern uint8_t init_win_meta(WINDOW * screen, struct WinMeta * wmeta);
  * and appointing "func"() to interpret and draw the content stored at "data"
  * if the window is visible.
  *
- * A value for "width" <1 will trigger a fallback to width=1. A "height" < 1 or
- * larger than the maximum window height possible within the virtual screen will
- * trigger a fallback to the maximum height possible (i.e. pass a "height" of 0
- * to initialize the window to its largest possible height).
+ * Pass 0 for "width" to make the window as wide as the terminal screen. Pass
+ * for "height" 0 or a value larger than the maximum window height possible
+ * within the virtual screen to attain that maximum window height.
  *
  * Other members of the Win struct are initialized to 0. The window will stay
  * invisible until appended to the chain of visible windows via append_win().