ehouse
72457bf28c
add ability to scroll the board by dragging it. add new method
...
util_altKeyDown to allow user to choose between scrolling board and
dragging the hint rect when both are possible. add adjustYOffset;
make it and board_setYOffset more tolerant of out-of-bounds inputs and
use that to simplify calling code.
2008-04-08 03:55:53 +00:00
ehouse
f1c8dd6190
Implement scrolling during drag via timer rather than by counting on
...
getting notified when pen is dragged off the board. The latter won't
happen if the board is up against the edge of the screen.
2008-03-29 20:23:27 +00:00
ehouse
ffd7dffd27
When scrolling in response to a drag, invalidate under the tile both
...
before and after the scroll. Otherwise on platforms where scrolling
is via a bitmove the old position gets scrolled away and never redrawn
leaving ghost tile parts lying around.
2008-03-15 14:00:05 +00:00
ehouse
ddafe8b97a
Indicate empty cell with CELL_ISEMPTY rather than an empty string; fix
...
palm to not draw star on top of placed tile.
2008-03-14 09:36:42 +00:00
ehouse
88ef41af15
rewrite invalCellsUnderRect to be less stupid: start from rect passed
...
in rather than whole board.
2008-03-14 09:20:26 +00:00
ehouse
3dbf026372
fold hint-region-drag into dragdrpp, saving a bunch of code and
...
gaining scrolling during drag on small screens.
2008-03-13 12:23:22 +00:00
ehouse
0f18efb925
Make function static
2008-03-11 12:28:57 +00:00
ehouse
1eb2933d49
Don't return tile to tray on a simple tap when drag-drop is available; move
...
function between files.
2008-03-11 12:22:10 +00:00
ehouse
0988159795
add owner param to drawTileMidDrag so can color tiles correctly
2008-03-11 11:48:53 +00:00
ehouse
c26eed3462
merge with drag_n_drop branch: apply patch generated with this command on that branch: svn diff -r 2080:2087
2008-03-08 23:16:21 +00:00
ehouse
93f95588d8
add and call util_turnChanged
2008-02-26 13:46:33 +00:00
ehouse
ff457236ef
Don't hide tray if there's only one player.
2008-02-16 15:53:00 +00:00
ehouse
df4c9fe442
Don't cast char array to long and write to it! Newer arm compilers
...
don't like this -- or maybe I was just lucky until now.
2008-02-04 06:13:11 +00:00
ehouse
f70bdb54ae
Remove excessive focus logging; fix timer bug for BT by posting event so EvtGetEvent can exit
2007-12-06 05:26:44 +00:00
ehouse
b527110379
replace all __FUNCTION__ with __func__
2007-12-02 19:13:25 +00:00
ehouse
4aa1f8188b
reset in/out var before each call to util_askPassword
2007-06-10 14:54:47 +00:00
ehouse
92f3f87543
Fix so compiles curses-only, and so curses cell can be 2x1 (for square board)
2007-06-01 02:08:04 +00:00
ehouse
41b81f463e
Hide tray on turn transitions when more than one non-robot local player present in game.
2007-05-20 20:46:29 +00:00
ehouse
7795068a40
Fix bug where arrow gets placed in wrong cell when tapping on tentative tiles to remove them while board is flipped.
2007-05-18 04:09:10 +00:00
ehouse
69912147de
When showing cell values, also show tile values if the don't-show tile values preference is set.
2007-04-06 01:41:16 +00:00
ehouse
ef4d986a45
fix bug where arrow replaces tile at edge of board by returning false
...
from figureNextLoc unless an empty space found.
2007-04-03 03:36:14 +00:00
ehouse
80efa73a50
Cleanup: compile warning and to make logging easier.
2007-02-08 15:17:23 +00:00
ehouse
2fe75a19a2
add const to a bunch of char* decls in APIs and variables; no code change
2007-02-03 17:54:20 +00:00
ehouse
24a885918d
cleanup: only one return per function.
2007-02-02 08:11:14 +00:00
ehouse
5349598984
forward declaration stops compiler warning
2007-01-27 15:04:19 +00:00
ehouse
b9e31acf6e
check and flip before hiliting cells. Fixes bug with feedback on hint
...
search on flipped board.
2007-01-23 04:09:26 +00:00
ehouse
17993fea06
Tweak scroll-of-focussed-board inval code so we don't inval the whole
...
board, which looks crappy. Instead inval only what was previously a
border row, and pass a new param to draw_vertScrollBoard so the
platform can choose not to scroll cells that will just get overwritten
with different bits.
2007-01-21 22:59:29 +00:00
ehouse
73bc1925fd
When scrolling a focussed board, inval everything. Otherwise border
...
cells scroll into the center drawn as border.
2007-01-21 18:05:25 +00:00
ehouse
3d318b679c
Change how flip works, keeping board data like invalFlags and limits
...
in sync with the board rather than the model and flipping coordinates
only in time to access the model or pass to engine. With that done,
drawing can skip any rows scrolled off-screen, and the board's
perimeter focus rect can be drawn and invalidated correctly on a
flipped, scrolled screen: zodiac, eventually.
2007-01-21 06:21:12 +00:00
ehouse
c5fe2a7589
Get rid of draw_eraseMiniWindow: just inval what's under it; make use
...
of CELL_ISCURSOR consistent: when focus not dived all elements have it
set (or only perimeter for board, settable at compile time); get rid
of draw_drawCursor since CELL_ISCURSOR is all that's needed;
2007-01-19 08:20:11 +00:00
ehouse
40832e6ea5
reintroduce board_handleKey
2007-01-18 02:42:37 +00:00
ehouse
313dad4357
Set focusHasDived before invalidating so newly focussed object drawn correctly.
2007-01-16 02:42:58 +00:00
ehouse
c1affa34d1
Fix bugs in recent focus/key changes.
2007-01-12 03:37:30 +00:00
ehouse
6df629c445
on keyDown, look at what keyUp will do and, if nothing, don't handle
...
the event. This lets focus transfer work as before there was keyDown.
2007-01-12 03:28:20 +00:00
ehouse
f3feef27f7
fix problems created by key-nav changes: don't drop hardware scroll
...
keys, and redraw after key-repeat if either up or down handled.
2007-01-07 05:25:28 +00:00
ehouse
0a4f1d3f7b
add board_handleKeyRepeat, and call it from palm and gtk. This lets a
...
held nav key walk the cursor across the board.
2007-01-07 04:32:29 +00:00
ehouse
4646ac5711
Clean up for non-keyboard and non-keyboard-nav cases. Wince is the
...
latter: make it compile again.
2007-01-07 01:01:20 +00:00
ehouse
bce76a3d34
Break key handling into keyUp and keyDown, and treat keyDown the same
...
as penDown. Idea is to be able to set timers to get bonus square
hints etc. without stylus. Works, but transitions are rough because
keyDown doesn't know whether keyUp will result in a focus change.
2007-01-06 17:32:08 +00:00
ehouse
0da7234190
bug fix: clear focusHasDived on pen event along with other focus state
2006-12-20 04:11:17 +00:00
ehouse
0bf123115f
Unfocus any board object whenever pen touches board
2006-11-27 01:13:48 +00:00
ehouse
c754d73770
When alt key pressed cursor can move onto occupied squares it normally skips.
2006-11-22 13:49:14 +00:00
ehouse
74ccc0ed34
When "dived" focus reaches and crosses border of object, return as if
...
not handled. This causes the platform to handle the key event itself,
typically by moving the focus to the next top-level object.
2006-11-17 13:41:13 +00:00
ehouse
0d013a0599
Two big changes. Pass focus bit into all or and players when focus
...
not dived and tray or scoreboard focussed. This lets platform decide
to display top-level focus via mods to all elements. Second, when
moving focus to top level from dived, claim not to have handled the
key event (but return true if needs redraw). This allows platform to
handle shifting focus without requiring callback (which removed.)
2006-11-14 06:46:04 +00:00
ehouse
f1148754ba
Exit trade mode silently if user clicks 'D' when it's not his turn.
...
(Better than refusing because "not your turn".)
2006-11-13 02:01:54 +00:00
ehouse
fefa84abc1
bug: need to OR in inval value rather than replace.
2006-11-12 21:03:15 +00:00
ehouse
a84b519ab7
Break scoreboard code out into a new module. board.o was getting too
...
big on palm.
2006-11-12 20:09:00 +00:00
ehouse
f7aefbe075
new UNUSED macro for keynav
2006-11-12 15:20:36 +00:00
ehouse
f9dcd1820a
Add to draw APIs of individual elements (e.g. board cells) whether
...
they're focussed so that they can draw that during rather than after
everything else. On palm, use this to draw focus using the system
selected color rather than with the blue nav rect. Since a new param
was too much, add new enum type CellFlags and pass as bitvector to
draw APIs.
2006-11-12 14:36:15 +00:00
ehouse
c91847f56f
When moving focus through tray, skip empty space; when through board,
...
skip cells with tiles permanently played. Space char raises focus but does
not move it laterally.
2006-11-09 06:05:40 +00:00
ehouse
80adc9fb6b
If no arrow visible, use cursor loc as destination when moving tile to tray.
2006-11-08 13:44:34 +00:00