octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: more graphics changes.


From: Daniel J Sebald
Subject: Re: more graphics changes.
Date: Tue, 20 Mar 2007 12:47:19 -0600
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041020

John W. Eaton wrote:

I removed the call to drawnow in clf.  That change should also improve
compatibility with you know what.

I wonder if the follow hunk of code is necessary inside figure:

  ## Check to see if we already have a figure on the screen.  If we do,
  ## then update it if it is different from the figure we are creating
  ## or switching to.
  cf = get (0, "currentfigure");
  if (! isempty (cf) && cf != 0)
    if (isnan (f) || cf != f)
      drawnow ();
    endif
  endif

If any changes where made to the current figure they are automatically updated unless "visible" is "off". Seems redundant. I'd think that the following would be the only reason to update:

  ## Check to see if we already have a figure on the screen.  If we do,
  ## then update it if it is different from the figure we are creating
  ## or switching to and current figure is not in automatic redraw mode.
  cf = get (0, "currentfigure");
  if (! isempty (cf) && cf != 0 && strcmp (get (cf, "visible"), "off"))
    if (isnan (f) || cf != f)
      set (cf, "visible", "on");
      drawnow ();
      set (cf, "visible", "off");
    endif
  endif

and even then it is questionable because if the user turned off visibility for the figure, perhaps they don't want it updated automatically.


Also, there may be a bug in the following:

figure(1)
image
set(1,"visible","off")
figure(2)
plot([0:30])
set(1,"visible","on")

Note that it is figure 2 that is redrawn when figure 1's visibility is turned back on.

Dan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]