#include <curses.h>
#include "core.h"
+/** @file
+ *
+ * MuCurses core functions
+ *
+ */
+
WINDOW _stdscr = {
.attrs = A_DEFAULT,
.ori_y = 0,
.scr = curscr,
};
-struct _softlabelkeys *slks;
-
/*
* Primitives
*/
win->scr->movetoyx( win->scr, win->ori_y + win->curs_y,
win->ori_x + win->curs_x );
win->scr->putc(win->scr, ch);
- if ( ++(win->curs_x) == win->width ) {
+ if ( ++(win->curs_x) - win->width == 0 ) {
if ( wrap == WRAP ) {
win->curs_x = 0;
/* specification says we should really scroll,
but we have no buffer to scroll with, so we
can only overwrite back at the beginning of
the window */
- if ( ++(win->curs_y) == win->height )
+ if ( ++(win->curs_y) - win->height == 0 )
win->curs_y = 0;
} else {
(win->curs_x)--;
*/
int wmove ( WINDOW *win, int y, int x ) {
/* chech for out-of-bounds errors */
- if ( ( ( (unsigned)x - win->ori_x ) > win->width ) ||
- ( ( (unsigned)y - win->ori_y ) > win->height ) ) {
+ if ( ( (unsigned)y >= win->height ) ||
+ ( (unsigned)x >= win->width ) ) {
return ERR;
}
#ifndef CORE_H
#define CORE_H
+/** @file
+ *
+ * MuCurses core implementation specific header file
+ *
+ */
+
#define WRAP 0
#define NOWRAP 1
pointer and malloc the array into being
... */
-struct _softlabel {
- // label string
- char *label;
- /* Format of soft label
- 0: left justify
- 1: centre justify
- 2: right justify
- */
- unsigned short fmt;
-};
-
-struct _softlabelkeys {
- struct _softlabel fkeys[12];
- attr_t attrs;
- unsigned short fmt;
- unsigned short maxlablen;
-};
-
void _wputch ( WINDOW *win, chtype ch, int wrap );
void _wputchstr ( WINDOW *win, const chtype *chstr, int wrap, int n );
void _wputstr ( WINDOW *win, const char *str, int wrap, int n );