1 /* $NetBSD: ttyscrn.cc,v 1.3 2005/08/09 02:38:32 christos Exp $ */
4 * Copyright (c) 2003 The NetBSD Foundation, Inc.
7 * This code is derived from software contributed to The NetBSD Foundation
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
19 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 * POSSIBILITY OF SUCH DAMAGE.
33 * ttyscrn.C: Curses screen implementation for dots
37 RCSID("$NetBSD: ttyscrn.cc,v 1.3 2005/08/09 02:38:32 christos Exp $")
41 #include <sys/ioctl.h>
46 void TTYSCRN::clean(void)
51 void TTYSCRN::moveto(size_t y
, size_t x
)
53 move(y
+ TTYSCRN::offsy
, x
+ TTYSCRN::offsx
);
56 void TTYSCRN::addsym(const int sym
)
61 void TTYSCRN::addedge(const int sym
)
106 attron(A_ALTCHARSET
);
108 attroff(A_ALTCHARSET
);
155 void TTYSCRN::redraw(void)
161 void TTYSCRN::bell(void)
163 putc('\007', stdout
);
166 int TTYSCRN::getinput(void)
171 void TTYSCRN::score(size_t s
, const PLAYER
& p
)
173 mvwprintw(stdscr
, _sy
+ s
+ TTYSCRN::offsscore
, _sx
, "S %c:%5zd", p
.getWho(),
177 void TTYSCRN::total(size_t s
, const PLAYER
& p
)
179 mvwprintw(stdscr
, _sy
+ s
+ TTYSCRN::offstotal
, _sx
, "T %c:%5zd", p
.getWho(),
183 void TTYSCRN::games(size_t s
, const PLAYER
& p
)
185 mvwprintw(stdscr
, _sy
+ s
+ TTYSCRN::offsgames
, _sx
, "G %c:%5zd", p
.getWho(),
189 void TTYSCRN::ties(const PLAYER
& p
)
191 mvwprintw(stdscr
, _sy
+ TTYSCRN::offsties
, _sx
, "G =:%5zd", p
.getTies());
194 TTYSCRN
* TTYSCRN::create(int acs
, size_t y
, size_t x
)
200 tx
= getmaxx(stdscr
);
201 ty
= getmaxy(stdscr
);
203 if (tx
== ERR
|| ty
== ERR
204 || static_cast<size_t>(tx
) < x
* 2 + TTYSCRN::offsx
+ 12
205 || static_cast<size_t>(ty
) < y
* 2 + TTYSCRN::offsy
) {
213 TTYSCRN
* that
= new TTYSCRN
;
218 that
->_sy
= TTYSCRN::offsy
;
224 TTYSCRN::~TTYSCRN(void)