xboard.git
6 years agoFall back on built-in pixmaps if png pieces unreadable
H.G. Muller [Sat, 6 Oct 2012 14:19:41 +0000 (16:19 +0200)]
Fall back on built-in pixmaps if png pieces unreadable

6 years agoDo coordinate text alignment with cairo
H.G. Muller [Sat, 6 Oct 2012 12:21:11 +0000 (14:21 +0200)]
Do coordinate text alignment with cairo

6 years agoSome cleanup
H.G. Muller [Sat, 6 Oct 2012 11:40:12 +0000 (13:40 +0200)]
Some cleanup

6 years agoClean up drawing code
H.G. Muller [Sat, 6 Oct 2012 10:14:16 +0000 (12:14 +0200)]
Clean up drawing code

Now all routines only draw through cairo, the destination surface can
be passed to them, making it possible to do the duplicate drawing
to the memory board image in a cleaner way.

6 years agoCheck in draw.c, draw.h
H.G. Muller [Sat, 6 Oct 2012 09:37:20 +0000 (11:37 +0200)]
Check in draw.c, draw.h

6 years agoRemove all bitmap & pixmap drawing
H.G. Muller [Sat, 6 Oct 2012 09:26:24 +0000 (11:26 +0200)]
Remove all bitmap & pixmap drawing

All Xt code for drawing the board is now removed, as are the
-pixmapDirectory and -bitmapdirectory option. This version is now
completely dependent on cairo for handling of all graphics anywhere.
(The build-in pixmaps are still left, though, for later use as an
alterative cairo source when no png files are found.)

6 years agoSeparate off drawing routines from xboard.c
H.G. Muller [Sat, 6 Oct 2012 08:29:06 +0000 (10:29 +0200)]
Separate off drawing routines from xboard.c

A new source file draw.c is created to hold all code associated with
board drawing. The routines for loading bitmaps and creating colors
were left in xboard.c, though, as they are also used for handling
icons and colors of widgets.

6 years agoFix erasing dots in seek graph
H.G. Muller [Fri, 5 Oct 2012 17:53:04 +0000 (19:53 +0200)]
Fix erasing dots in seek graph

The cairo dots were just a little bit bigger than the old ones, so they
were not properly erased, but left a remnant.

6 years agoCleanup CairoOverlayPiece
H.G. Muller [Fri, 5 Oct 2012 17:25:58 +0000 (19:25 +0200)]
Cleanup CairoOverlayPiece

6 years agoDraw arrow also on backup image
H.G. Muller [Fri, 5 Oct 2012 17:22:34 +0000 (19:22 +0200)]
Draw arrow also on backup image

6 years agoFix highlight clearing
H.G. Muller [Fri, 5 Oct 2012 17:16:30 +0000 (19:16 +0200)]
Fix highlight clearing

6 years agoRemove acceleration trick
H.G. Muller [Fri, 5 Oct 2012 16:59:30 +0000 (18:59 +0200)]
Remove acceleration trick

6 years agoImplement variant-dependent png piece symbols
H.G. Muller [Fri, 5 Oct 2012 16:54:01 +0000 (18:54 +0200)]
Implement variant-dependent png piece symbols

6 years agoFix clearing of markers dots with promo popup
H.G. Muller [Fri, 5 Oct 2012 16:42:51 +0000 (18:42 +0200)]
Fix clearing of markers dots with promo popup

6 years agoAlso render coordinates to backup board
H.G. Muller [Fri, 5 Oct 2012 16:32:24 +0000 (18:32 +0200)]
Also render coordinates to backup board

6 years agoRemove debug print
H.G. Muller [Fri, 5 Oct 2012 16:30:35 +0000 (18:30 +0200)]
Remove debug print

6 years agoLet cairo also do evenly colored squares.
H.G. Muller [Fri, 5 Oct 2012 16:29:13 +0000 (18:29 +0200)]
Let cairo also do evenly colored squares.

6 years agoMake dragged piece for excluding moves transparent
H.G. Muller [Fri, 5 Oct 2012 15:56:43 +0000 (17:56 +0200)]
Make dragged piece for excluding moves transparent

6 years agoFix DrawSeekText
H.G. Muller [Fri, 5 Oct 2012 15:42:18 +0000 (17:42 +0200)]
Fix DrawSeekText

6 years agoRedo coordinate / piece-count printing ith cairo
H.G. Muller [Fri, 5 Oct 2012 15:40:55 +0000 (17:40 +0200)]
Redo coordinate / piece-count printing ith cairo

6 years agoAlso use cairo on slave board
H.G. Muller [Fri, 5 Oct 2012 13:40:14 +0000 (15:40 +0200)]
Also use cairo on slave board

With dual-board observing the drawing should be redirected to the
slave board, so SwitchWindow should also switch the xlib-surface to
one for the slave window.

6 years agoCure flashing of piece on from-square
H.G. Muller [Fri, 5 Oct 2012 13:12:41 +0000 (15:12 +0200)]
Cure flashing of piece on from-square

In a drag-drop move the piece was flashed on the from square after the
user dropped it on the to-square, because highlights were set before the
move had updated the board. And highlighting with arrow can cause a redraw
of the last board. Same with setting or clearing marker dots.

6 years agoSpecify proper condition for using cairo animation
H.G. Muller [Fri, 5 Oct 2012 12:20:12 +0000 (14:20 +0200)]
Specify proper condition for using cairo animation

6 years agoAllow resizing of board window
H.G. Muller [Fri, 5 Oct 2012 12:07:53 +0000 (14:07 +0200)]
Allow resizing of board window

In full png mode the size of the board window is no longer locked.
After resizing, the square size is calculated as the largest one that
would fit the window, and the window is then shrunk around it. To prevent
excessive redrawing during sizing, the redraw is delayed by putting it
in DragProc.

6 years agoSwitch to using 64x64 png images
H.G. Muller [Fri, 5 Oct 2012 08:41:02 +0000 (10:41 +0200)]
Switch to using 64x64 png images

The bitmap scaling works better when the needed factors are not too large,
as the svg rendering's anti-aliasing did not blur more than 1 pixel.
So after shrinking too much the images are not effectively anti-aliased
anymore.

6 years agoMaintain in-memory copy of the board image
H.G. Muller [Fri, 5 Oct 2012 08:16:47 +0000 (10:16 +0200)]
Maintain in-memory copy of the board image

As reading back from the xlib-surface proves incredibly slow (cairo probably
converts the entire image from Xt format to cairo format when we set it
as a source, even though we only want to read a few dozen pixels), we now
keep an exact copy of the board image as a cairo bitmap in memory. This
restores the speed of the animation, but unfortunately leads to awful code.

6 years agoDo animation with cairo
H.G. Muller [Thu, 4 Oct 2012 20:15:05 +0000 (22:15 +0200)]
Do animation with cairo

Unfortunately this is incredibly slow.

6 years agoAllow back-texture files to be PNG, (drawn with cairo)
H.G. Muller [Thu, 4 Oct 2012 16:36:08 +0000 (18:36 +0200)]
Allow back-texture files to be PNG, (drawn with cairo)

6 years agoAdd png pieces
H.G. Muller [Thu, 4 Oct 2012 13:10:37 +0000 (15:10 +0200)]
Add png pieces

A new directory with 256x256 png piece images is added to the source tree.

6 years agoAdd mode to draw PNG piece images through cairo
H.G. Muller [Thu, 4 Oct 2012 13:01:05 +0000 (15:01 +0200)]
Add mode to draw PNG piece images through cairo

The PNG images have to be supplied as files in a -pngDirectory (a new
option) with a 256x256 bitmap. They are then scaled by cairo to the
desired square size. This does not work very well for the smaller sizes.

6 years agoRedo marker dots with cairo
H.G. Muller [Wed, 3 Oct 2012 12:45:07 +0000 (14:45 +0200)]
Redo marker dots with cairo

6 years agoRedo highlights with cairo
H.G. Muller [Wed, 3 Oct 2012 12:27:14 +0000 (14:27 +0200)]
Redo highlights with cairo

6 years agoMake convenience routine SetPen globally available
H.G. Muller [Wed, 3 Oct 2012 12:07:37 +0000 (14:07 +0200)]
Make convenience routine SetPen globally available

The routine to set a pen as specified by  a color string that was used
in xevalgraph is moved to xboard.c, where there also is lots of demand
for it. The arrow drawing now uses it for setting the highlightSquareColor.

6 years agoRedo grid with cairo
H.G. Muller [Wed, 3 Oct 2012 10:28:30 +0000 (12:28 +0200)]
Redo grid with cairo

6 years agoRedo arrow highlighting with cairo
H.G. Muller [Wed, 3 Oct 2012 10:00:07 +0000 (12:00 +0200)]
Redo arrow highlighting with cairo

6 years agoRedo seek graph with cairo
H.G. Muller [Wed, 3 Oct 2012 09:20:12 +0000 (11:20 +0200)]
Redo seek graph with cairo

New front-end services DrawSeekOpen() and DrawSeekClose() have been
added, and are called from the back-end to enclose any drawing activity.
In WinBoard these had to be defined as dummies.

6 years agoRedo logos with cairo
H.G. Muller [Tue, 2 Oct 2012 13:31:26 +0000 (15:31 +0200)]
Redo logos with cairo

The logos must now be .png files, and are internally handled as their
filenames. (So no preparation of a drawable from it at startup.)
Cairo allows them to be scaled to the requested logoSize.

6 years agoFix Eval Graph resolution problems
H.G. Muller [Tue, 2 Oct 2012 12:02:23 +0000 (14:02 +0200)]
Fix Eval Graph resolution problems

Anti-aliasing had to be switched off to get a crisp graph. A second problem
was that the dashed lines were drawn in both directions, with interfering
dashes.

6 years agoRedo Eval Graph drawing with cairo
H.G. Muller [Tue, 2 Oct 2012 08:54:48 +0000 (10:54 +0200)]
Redo Eval Graph drawing with cairo

6 years agoFix button-border-width bug in monoMode
H.G. Muller [Sun, 21 Oct 2012 08:21:33 +0000 (10:21 +0200)]
Fix button-border-width bug in monoMode

The kludge of signalling we are dealing wih a button rather than a label
was wrongly implemented in case of momoMode.

6 years agoReserve more space for button bar
H.G. Muller [Sun, 21 Oct 2012 08:14:24 +0000 (10:14 +0200)]
Reserve more space for button bar

In some board sizes the button bar was wider than the code guessed,
so the window width would be determined by the message + buttons row rather
than the board.

6 years agoFix WinBoard compile errors
H.G. Muller [Sun, 21 Oct 2012 09:24:18 +0000 (11:24 +0200)]
Fix WinBoard compile errors

6 years agoFix non-NLS compile error for XFontStruct
H.G. Muller [Sat, 13 Oct 2012 07:33:39 +0000 (09:33 +0200)]
Fix non-NLS compile error for XFontStruct

6 years agoFix browsing for path
H.G. Muller [Fri, 12 Oct 2012 10:04:17 +0000 (12:04 +0200)]
Fix browsing for path

A pathname was still prefixed with the cuurent directory.

6 years agoUse Pause state in AnalyzeMode to imply move exclusion
H.G. Muller [Sun, 7 Oct 2012 19:00:10 +0000 (21:00 +0200)]
Use Pause state in AnalyzeMode to imply move exclusion

The pause state was not used in AnalyzeMode so far. Now it is used to
imply all entered moves are for exclusion/inclusion.

6 years agonew version number for developer release
Arun Persaud [Mon, 1 Oct 2012 01:55:13 +0000 (18:55 -0700)]
new version number for developer release

6 years agoFix broken -ics and -cp options
H.G. Muller [Sun, 30 Sep 2012 20:16:14 +0000 (22:16 +0200)]
Fix broken -ics and -cp options

The patch to specify engines and ICS by nickame broke the use of the
regular options to do this, because they could also reset them. Now
this is fixed by only setting them (through |= in stead of =).

6 years agoUpdate texi file
H.G. Muller [Sun, 30 Sep 2012 20:01:52 +0000 (22:01 +0200)]
Update texi file

The description of exclude-moves, multi-game ananalysis and duo-analysis
is added.

6 years agoResolve conflict between -mps and -inc options
H.G. Muller [Sun, 30 Sep 2012 08:07:58 +0000 (10:07 +0200)]
Resolve conflict between -mps and -inc options

The age-old problem that a persistent valid -inc value will cause -mps
to be ignored is solved by the kludge of storing these two as a single
option (-mps) in the settings file, and declaring the other (-inc) volatile.
The range of negative numbers (invalid as -mps value) was available for
that, and now is used to store the negated value of -inc in msec.
For backward compatibility, specification of -inc causes interpretation
of -mps in the old way. The forcing of -inc to -1 in the master settings file
could be safely removed because of this change, so that the time increment
now is a persistent option.

6 years agoAllow entry of fractional increment in WB time-control dialog
H.G. Muller [Sat, 29 Sep 2012 21:13:04 +0000 (23:13 +0200)]
Allow entry of fractional increment in WB time-control dialog

The numeric edit is changed to a general text edit, and code is added
to convert the text it contains to and from float, with proper error check.

6 years agoPreconfigure -icsNames in xboard.conf
H.G. Muller [Sat, 29 Sep 2012 21:05:33 +0000 (23:05 +0200)]
Preconfigure -icsNames in xboard.conf

Although XBoard has no startup dialog with an ICS combobox, the -icsNames
option is now used to select lines from with the -is option, and in
interpretation of positional arguments. The most common ICS are configured
together with a short nickname, so that commands like "xboard fics" will work.

6 years agoAllow ICS nickname as positional argument
H.G. Muller [Sat, 29 Sep 2012 20:58:12 +0000 (22:58 +0200)]
Allow ICS nickname as positional argument

If an argument is encountered that is not preceded by an option name,
it is now first checked if it corresponds to the nickname of an ICS
in -icsNames. If so, it is assumed to be the value of an -is option,
selecting -ics mode with that ICS and all the options installed with it.

6 years agoCure some sick behavior in XBoard Engine Output right-clicks
H.G. Muller [Fri, 28 Sep 2012 18:28:05 +0000 (20:28 +0200)]
Cure some sick behavior in XBoard Engine Output right-clicks

When a PV-walk is in progress, the PV is highlighted by selecting it,
and this focuses the attention of the scroll bar on it, so it remains in
view. But after release, that line was kept in view, rather than scrolling
back to the top of the window (where the header line bust be available
for clicking)

6 years agoAllow Analyze Game to auto-step through entire game file
H.G. Muller [Fri, 28 Sep 2012 11:28:17 +0000 (13:28 +0200)]
Allow Analyze Game to auto-step through entire game file

If the game index is set to auto-increment (-lgi -1), the Analyze Game
function will automatically load the next game of the current game file
(starting to auto-play/annotate that) when the end of the current game is
reached. This flushes the annotated game if auto-saving was set,
so that eventually all games in the file will be annotatd and saved.
  The game index is automatically set to auto-increment when we load
a file while in Analyze Game mode, but switching this mode on while a game
is already loaded will stop at the end of that game, as usual (if -lgi was
not explicitly set).

6 years agoLet second engine move in lockstep during dual analysis
H.G. Muller [Fri, 28 Sep 2012 11:24:33 +0000 (13:24 +0200)]
Let second engine move in lockstep during dual analysis

When the second engine is also analysing (as indicated by its stat variable
second.analyzing), we send all moves / undos / positions /  in&excludes that
go to the first engine also to second.

6 years agoAllow second engine to analyze too
H.G. Muller [Thu, 27 Sep 2012 17:07:58 +0000 (19:07 +0200)]
Allow second engine to analyze too

Clicking the Analysis menu when analysis is already in progress will
now toggle the secon engine to analyze the same position. For now,
this lasts only until the position changes (or you leave analyze mode),
after which the second engine is always switched off, and the Engine
Output window returns to single pane. Each pane now has its own header
line; the exclude header is suppressed in the second pane.

6 years agoAdd options -fe, -se, -is to load installed engines/ics from list
H.G. Muller [Thu, 27 Sep 2012 16:11:23 +0000 (18:11 +0200)]
Add options -fe, -se, -is to load installed engines/ics from list

The volatile string options -fe, -se ('first/second engine') load the first
and second engine of the given nickname in the -firstChessProgramNames list,
including all options that were installed with it (similar to when in
WinBoard the that engine line had been selected through the Startup Dialog's
combobox). The option -is is similarly used to retrieve the line for an
ICS in the -icsNames list.

6 years agoAdd check on validity of tourney participants
H.G. Muller [Thu, 27 Sep 2012 16:02:24 +0000 (18:02 +0200)]
Add check on validity of tourney participants

Before allowing OK of the Tournament Options dialog, it is now checked
whether all participants (which are given as nicknames) can be found
in the list of installed engines, so that no problems will occurr with
non-existing engines during the tourney (if typos crept in after hand-
editing the list).

6 years agoImplement --help option
H.G. Muller [Tue, 25 Sep 2012 14:21:42 +0000 (16:21 +0200)]
Implement --help option

The list of options is printed before exiting. Some attempt is made
to do it in a nice way.

6 years agoImplement variant seirawan in -serverMoves option
H.G. Muller [Sun, 23 Sep 2012 18:10:58 +0000 (20:10 +0200)]
Implement variant seirawan in -serverMoves option

Write the gating moves such that the ChessLive! viewer will understand them.

6 years agoWorkaround for FICS bug
H.G. Muller [Sun, 23 Sep 2012 18:05:07 +0000 (20:05 +0200)]
Workaround for FICS bug

FICS does not properly understand SAN, and thinks bxc3 can be a Bishop move.
This broke 'Upload to examine', because that uploaded in SAN. In case the
SAN starts with Bx or bx, it now uses long algebraic (with = before the
promo char).

7 years agoDefine XOP mime type for XBoard
H.G. Muller [Thu, 20 Sep 2012 16:17:55 +0000 (18:17 +0200)]
Define XOP mime type for XBoard

Supply a white-knight icon for this mime type, called application/x-xboard-opt,
and a sesktop file to associate it with running XBoard with this settings file.

7 years agoPay attention to extension of 'positional' arguments
H.G. Muller [Thu, 20 Sep 2012 15:24:29 +0000 (17:24 +0200)]
Pay attention to extension of 'positional' arguments

An argument without preceding option name was assumed to be an -lgf argument.
This patch still does that by default, but if the argument ends in .fen, .epd,
.trn, .ini or .xop it is considered an -lpf, -tf or -opt argument.
  In addition, an implied -lpf or -lgf argument also imply the option -viewer,
which inserts the -viewerOptions string into the command line, and proesses it
as options. A new option -tourneyOptions is similarly inserted for an implied
-tf argument. These strings should contain all options needed to start XBoard
fully configured as game viewer or tourney playing agent on the mentioned file.

7 years agoLet windows stick to right display edge (WB)
H.G. Muller [Thu, 20 Sep 2012 13:29:42 +0000 (15:29 +0200)]
Let windows stick to right display edge (WB)

Auxiliary windows docked to the board window from below or to the right, which are
pushed out of view when the board window resizes, will be trimmed to just touch the
diplay edge (if sufficient width or height remains). When the board window shrinks,
auxiliary windows touching the edge will be resized so they remain touching it.

7 years agoRound board size to one where piece images available (WB)
H.G. Muller [Thu, 20 Sep 2012 13:20:36 +0000 (15:20 +0200)]
Round board size to one where piece images available (WB)

When using built-in bitmaps, in sizes where unorthodox pieces are needed, but not
available, the size is temporarily rounded to one of the sizes where they are.

7 years agoFix bug in Edit Position
H.G. Muller [Tue, 3 Jul 2012 15:21:53 +0000 (17:21 +0200)]
Fix bug in Edit Position

Due to = in stead of == the variant was always set to S-Chess in
EditPositionDone().

7 years agobug #37210: Mishandling of X11 -I flags (tiny change)
Daniel Macks [Wed, 29 Aug 2012 04:24:51 +0000 (21:24 -0700)]
bug #37210: Mishandling of X11 -I flags (tiny change)

AP: applied patch from bugtracker and added one missing 'save_cppflags="$CPPFLAGS"'

7 years agobug #36229: changed ICS_* from define to enum
Arun Persaud [Sat, 2 Jun 2012 21:31:18 +0000 (14:31 -0700)]
bug #36229: changed ICS_* from define to enum

7 years agobug #36229: changed STATE_* from define to enum
Arun Persaud [Mon, 28 May 2012 20:58:00 +0000 (13:58 -0700)]
bug #36229: changed STATE_* from define to enum

enabling better compiler checks

7 years agobug #36229: changed PEN_* from define to enum
Arun Persaud [Mon, 28 May 2012 20:50:50 +0000 (13:50 -0700)]
bug #36229: changed PEN_* from define to enum

This should allow better checks by the compiler

7 years agofix bug #36228: reserved identifier violation
Arun Persaud [Mon, 28 May 2012 20:01:15 +0000 (13:01 -0700)]
fix bug #36228: reserved identifier violation

variables and macro names beginning with _ are renamed to XB_. More consistent naming of include guards.
See link in bug report.

7 years agoUpdated German translation
Arun Persaud [Mon, 28 May 2012 19:36:37 +0000 (12:36 -0700)]
Updated German translation

7 years agonew version number for developer release
Arun Persaud [Tue, 1 May 2012 03:06:00 +0000 (20:06 -0700)]
new version number for developer release

7 years agoDecapitalize promoChar in move parser
H.G. Muller [Tue, 24 Apr 2012 09:23:04 +0000 (11:23 +0200)]
Decapitalize promoChar in move parser

7 years agoKeep track of virginity of back-rank pieces in variant seirawan
H.G. Muller [Mon, 23 Apr 2012 12:12:10 +0000 (14:12 +0200)]
Keep track of virginity of back-rank pieces in variant seirawan

The forelast rank of the Board array is now used in VariantSChess to
contain flags that indicate virginity of the back-rank pieces, one bit
for white, the other for black. Legality checking of gatings now makes
use of this info. FENs mention all virgin pieces not implied by castling
rights in the castling field, by printing the corresponding file IDs,
as long as holdings are non-empty. The FEN reader now also understands
this format. EditPositionDone fakes virginity for all pieces that are
on their starting square.

7 years agoSuppress clear-board message after pasting FEN
H.G. Muller [Tue, 17 Apr 2012 17:49:24 +0000 (19:49 +0200)]
Suppress clear-board message after pasting FEN

The message field is now always cleared when you leave EditPosition mode.

7 years agoFix faking of castling rights after editing position with holdings
H.G. Muller [Tue, 17 Apr 2012 17:45:33 +0000 (19:45 +0200)]
Fix faking of castling rights after editing position with holdings

The queen-side rook was always imagined at X=0, which is in the holdings
when these exist, so that Q-side castling in such games was never allowed
after EditPosition.

7 years agoFix WB Engine Settings window
H.G. Muller [Fri, 20 Apr 2012 08:29:36 +0000 (10:29 +0200)]
Fix WB Engine Settings window

The listbox patch has broken this window, by making it only list the
first option of the engine, by switching to the next column based on a >=
test rather than == test. Fixed by using 1000 as invalid value for the
break point, rather than -1.

7 years agoFix key binding of DebugProc
H.G. Muller [Thu, 19 Apr 2012 22:01:08 +0000 (00:01 +0200)]
Fix key binding of DebugProc

The name used for binding was DebugProc, while the ite was named Debug.

7 years agoFix ICS Text Menu popup
H.G. Muller [Mon, 16 Apr 2012 18:51:50 +0000 (20:51 +0200)]
Fix ICS Text Menu popup

The space for the option names needed to be allocated.

7 years agoFix disabling of Load Engine menu
H.G. Muller [Mon, 16 Apr 2012 18:37:06 +0000 (20:37 +0200)]
Fix disabling of Load Engine menu

7 years agoPort chat boxes to XBoard
H.G. Muller [Sun, 15 Apr 2012 20:53:24 +0000 (22:53 +0200)]
Port chat boxes to XBoard

A new menu item Open Chat Window is added to the View menu. It opens a
window that can handle 5 chats. A row of buttons on top selects which is
the foreground chat partner, to which we type, and whose incoming messages
will be displayed in the memo. The leftmost 'button' is not really a button,
but a text edit, and the active partner is displayed there (so it can be
altered). Selecting another chat partner through a button, moves that partner
to the text-edit, and reshuffles the buttons. Incoming messages in a chat
that is not foreground make the corresponding button color orange.

7 years agoAllow chaining of single-line text-edits to top
H.G. Muller [Mon, 16 Apr 2012 18:27:08 +0000 (20:27 +0200)]
Allow chaining of single-line text-edits to top

For the benefit of the chat window, a text-edit plus leading description
can now also be chained to the top edge of a dialog. The chaining of the
(degenerate) multi-line ICS Input Box and Move Type-In was entirely to the
bottom, which has now been corrected.

7 years agoAdd logo widgets in main board window
H.G. Muller [Thu, 12 Apr 2012 07:30:24 +0000 (09:30 +0200)]
Add logo widgets in main board window

New options -logoSize and -logoDir are added. The former enables logo display,
when non-zero and not too big. The latter is used by -autoLogo. The options
 -firstLogo and -secondLogo also work. Problem is that the clock height
is larger than the logo height, and for now a nasty trick in GenericPopUp
is used to position the next element (message field) w.r.t. the clocks,
rather than the last element of the row above (the logo): in case of a
SAME_ROW Graph element, 'last' is kept at the previous element.

7 years agoFix crash on time forfeit with -st option
H.G. Muller [Thu, 19 Apr 2012 08:48:41 +0000 (10:48 +0200)]
Fix crash on time forfeit with -st option

When fixed time per move was set from the command line, the time-control
strings were not set. This let to a crash when an engine forfeited.
The GetTimeQuota function is now made resistant to a NULL pointer here.

7 years agoSolve WinBoard name clashes, fix zippy-analyze menu graying
H.G. Muller [Thu, 19 Apr 2012 08:39:12 +0000 (10:39 +0200)]
Solve WinBoard name clashes, fix zippy-analyze menu graying

Some of the function names used in the refactored X11 front-end collided
with Windows system names from winboard.h, or with names of internal routines
in WinBoard front-end files (so they could not be declared in frontend.h).
These were renamed. Some prototypes in engineoutput.h contained X11 types,
and they were moved to xboard.h.
  In addition, two menu-item names were corrected to two-part names.

7 years agoOffer primitive paging in file browser
H.G. Muller [Wed, 18 Apr 2012 10:00:43 +0000 (12:00 +0200)]
Offer primitive paging in file browser

If there are more than 1000 files that would have to be displayed,
the number will be limited to 999, and a 'next page' entry will appear
at the bottom. Clicking that will give you the next group.
 This is an emergency measure only, as it interferes with sorting
(grouping is based on order inside the directory, i.e. kind of arbitrary,
and sorting is only done within a group.) There is no such thing for the
folder list yet. There is no way to go back to a previous page, other
than closing and re-opening the browser, or selecting another file type.

7 years agoAdd pixmap as file type known to browser
H.G. Muller [Wed, 18 Apr 2012 09:16:58 +0000 (11:16 +0200)]
Add pixmap as file type known to browser

Users can browse for a pixmap to set the board texture.

7 years agoFix warning about signedness
H.G. Muller [Tue, 17 Apr 2012 13:45:27 +0000 (15:45 +0200)]
Fix warning about signedness

Note: the promoChar in ExcludeMoves was explicitly defined to make
sure the kludge promoChar = -1 for indicating best move works. But it
should be equivalent to casting the promoChar to (signed char) just
before the comparison.

7 years agoFix warnings about character index
H.G. Muller [Tue, 17 Apr 2012 13:44:15 +0000 (15:44 +0200)]
Fix warnings about character index

7 years agoMove ManProc to xboard.c
H.G. Muller [Tue, 17 Apr 2012 13:37:53 +0000 (15:37 +0200)]
Move ManProc to xboard.c

It calls ManInner, which requires X11 data types, even if the values are NULL.

7 years agoMove FileNamePopUp to dialogs.c
H.G. Muller [Tue, 17 Apr 2012 13:27:21 +0000 (15:27 +0200)]
Move FileNamePopUp to dialogs.c

7 years agoFix readout of numeric combobox
H.G. Muller [Tue, 17 Apr 2012 13:15:03 +0000 (15:15 +0200)]
Fix readout of numeric combobox

As currently no numeric comboboxes are used, this bug was silent.

7 years agoShuffle prototypes to correct header, or add them there
H.G. Muller [Tue, 17 Apr 2012 13:10:54 +0000 (15:10 +0200)]
Shuffle prototypes to correct header, or add them there

7 years agoFix MenuNameToItem
H.G. Muller [Tue, 17 Apr 2012 12:15:15 +0000 (14:15 +0200)]
Fix MenuNameToItem

This function could crash when called with ann argument that did not
contain a period, while the idea was that it should handle this as if the
item is in noMenu (for user-specified key binding to non-menu funtions).

7 years agoFix click-click under-promotion animation save
H.G. Muller [Mon, 16 Apr 2012 17:43:03 +0000 (19:43 +0200)]
Fix click-click under-promotion animation save

7 years agoDefine TOPLEVEL in winboard.c
H.G. Muller [Tue, 17 Apr 2012 09:02:39 +0000 (11:02 +0200)]
Define TOPLEVEL in winboard.c

7 years agoAdd two new strings to WinBoard language file
H.G. Muller [Tue, 17 Apr 2012 08:59:33 +0000 (10:59 +0200)]
Add two new strings to WinBoard language file

7 years agoFix second-engine variant test
H.G. Muller [Tue, 17 Apr 2012 08:51:02 +0000 (10:51 +0200)]
Fix second-engine variant test

The test whether the second engine supports the selected variant took place
before the second engine was loaded, thus always coming to the conclusion
that the variant was not supported, and aborting the TwoMachines command.
The test is now moved to after second-engine loading (but before its
initialization, where non-supporting would become a fatal error).

7 years agoFix clearing of ICS input box after send
H.G. Muller [Mon, 16 Apr 2012 10:11:09 +0000 (12:11 +0200)]
Fix clearing of ICS input box after send