Re: [Fractdev] Re: New substantially improved version

Top Page
Delete this message
Reply to this message
Author: Jean-Pierre Demailly
Date:  
To: Fractint developer's list
CC: Jean-Pierre Demailly
Subject: Re: [Fractdev] Re: New substantially improved version
On Tue, Feb 19, 2008 at 02:41:41PM -0600, Jonathan Osuch wrote:
> Jean-Pierre,
>
> > > 1) I left out your popup window (in encoder.c) because I do not want to
> > > check for NCURSES in the common directory. I like the idea and there
> > > may be a way to do this strictly from the code in the unix directory.
> >
> > Don't know if this is doable - but let me think about it !
>
> We can code texttempmsg() and stopmsg() as popup windows in Xfractint,
> and then #ifndef XFRACT out the versions in realdos.c.
>


I have started to look at the fractsvn version. It mostly works as
expected, except for one annoying bug (see below). I'll also look at
the above suggestion. At the moment I have made the following
(small) changes :

* (re)-implemented exit of xfractint when clicking twice in the corner
of the window - this requires adding e.g. an extra global variable
'exitpending'. Also prevents somewhat buggy behaviour that showed up when
clicks were iterated 3 or 4 times.

* MORE SERIOUS BUG !!
One has to replace
if (!ctrl_window && screenctr) ...
by
if (!ctrl_window && screenctr>=0) ...
in unixscr.c, otherwise Expose events are ignored when screenctr==0;

* improved placement of text in 'control window' and 'no control window'
modes (text is now centered). New option -textmargin defines the
minimal value of textmargin (I set default value to 40). This is just
for the sake of getting a better visual appearance (hopefully).

* commented out an instruction by adding
#if defined(XFRACT) && defined(NCURSES)
if (width>=80) width=79; /* Some systems choke in column 80 */
#endif
in 'realdos.c' (otherwise text gets badly indented on top right
corner).
'xfcurses.c' definitely accepts width=80 (or more).

> 2) We need to take a look at intro.c because I inadvertently left the
> checks for NCURSES in it.

These checks are needed in order to call refresh(), and I was led to
put this because of the rather different way xfcurses and ncurses
work. It could be possible to make changes to xfcurses so that this
becomes unnecessary, but I have not been able to do it right now
without slowing down considerably the display of characters (too
many redundant refresh calls occur).

Jean-Pierre