delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/05/09/19:49:16

Xref: news2.mv.net comp.os.msdos.djgpp:3645
From: Shawn Hargreaves <slh100 AT york DOT ac DOT uk>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Allegro and Dialogues
Date: Thu, 9 May 1996 16:04:40 +0100
Organization: The University of York, UK
Lines: 27
Message-ID: <Pine.SGI.3.91.960509105324.8470C-100000@tower.york.ac.uk>
NNTP-Posting-Host: tower.york.ac.uk
Mime-Version: 1.0
In-Reply-To: <4mrm0s$2qc@frodo.smartlink.net>
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

On Thu, 9 May 1996, Nicholas Marrone wrote:

> I figured this problem out. I've discovered that once Allegro calls
> the do_dialog function, it just keeps on going through the dialogs in
> it's free time. So, if in one of the dialog functions you are
> displaying something, it will re-draw it every time it goes through
> the dialog. I've solved it by only having it draw if a flag is set.

Umm... not exactly :-)

It is true that the Allegro dialog manager calls all the dialog 
procedures pretty often, but you shouldn't be doing any drawing when 
they are called. One of the parameters the dialog manager gives to your 
object is an 'int msg' that tells you what is happenning and what you 
are supposed to do. You should only be drawing stuff if msg==MSG_DRAW, 
and MSG_DRAW is only sent when the dialog starts up, or if some other 
object requests that it get redrawn. When Allegro has nothing better to 
do, it sends a lot of MSG_IDLE's, but you should just ignore these.


/*
 *	Shawn Hargreaves.        Why is 'phonetic' spelt with a ph?
 *	Check out Allegro and FED on http://www.york.ac.uk/~slh100/
 */



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019