diff options
Diffstat (limited to 'src/paddle.c')
-rw-r--r-- | src/paddle.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/paddle.c b/src/paddle.c index 57cdbb5..49f03c3 100644 --- a/src/paddle.c +++ b/src/paddle.c @@ -1,3 +1,5 @@ +#include <curses.h> + #include "paddle.h" void @@ -14,3 +16,33 @@ update_paddle(struct paddle *pad) if (pad->pos < pad->size / 2 + 2) pad->pos = pad->size / 2 + 2; if (pad->pos > max - pad->size / 2) pad->pos = max - pad->size / 2; } + +void +draw_paddle(struct paddle *pad) +{ + int off; + int pos; + + off = pad->pos; + off -= pad->size / 2; + + if (pad->type == PADDLE_TYPE_H) { + for (pos = 0; pos < 79; ++pos) { + mvprintw(pad->track, pos, " "); + } + for (pos = 0; pos < pad->size; ++pos) { + attr_on(WA_REVERSE, NULL); + mvprintw(pad->track, off + pos, " "); + attr_off(WA_REVERSE, NULL); + } + } else { + for (pos = 0; pos < 24; ++pos) { + mvprintw(pos, pad->track, " "); + } + for (pos = 0; pos < pad->size; ++pos) { + attr_on(WA_REVERSE, NULL); + mvprintw(off + pos, pad->track, " "); + attr_off(WA_REVERSE, NULL); + } + } +} |