[lazarus] Size issues in win32

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Aug 23 07:55:38 EDT 2003


On Fri, 22 Aug 2003 09:25:24 -0300
Karl Brandt <pascalive at bol.com.br> wrote:

> Mattias Gaertner wrote:
> 
> > On Wed, 20 Aug 2003 21:10:32 -0300
> > Karl Brandt <pascalive at bol.com.br> wrote:
> (...)
> >>I must warn that this patch doesn't fixes the problems introduced after 
> >>the recent changes and that were reported by Micha.

I found one bug. The recent changes just made the bug more visible. It was
in win32listl.inc SetComboHeight. Fixed.


> > He reports that some of the complex forms of the IDE do not look good.
> > This can have many reasons. Can you send us a small example, where the
> > groupboxes are too small?
> > 
> The only place i saw the problem is at EnviromentOptions form.

The reason, why the changes made this complex form looks worse than before,
was that two bugs negated each other. Fixing one, lets the other appear.
As I said: don't test with complex forms.


> I'll try to reproduce it and send a example.

I spotted some more resizing bugs, but I think fixing the background drawing
bug is more important. Karl/Micha can you have a look at it?


Mattias



> 
> > 
> >>Mattias, please take a closer look at LM_SETSIZE. The previous 
> >>implementation does the same as the current with a cleaner/faster
> >>approach:
> >>
> >>if we assume that
> >>NewRect.Right:=NewRect.Left+(R.Right-R.Left);
> >>Then
> >>NewRect.Right - NewRect.Left =
> >>NewRect.Left+(R.Right-R.Left) - NewRect.Left =
> >>R.Right-R.Left -> the previous value
> > 
> > 
> > Of course it is mathematically the same. And there was no bug in the
> > former code.
> > 
> > The former code did the following:
> > It used part of the rectangle of the LM_SETSIZE message and the noname
> > var R for the size. And in the end it used the position of the message
> > rect and the size of R for the resulting rect. No problem. 
> > And it used a "with" for the message rect to get rid of the ugly
> > PRect(Data)^.
> > 
> > As I debugged and added code, I changed it to use only one rect
> > (NewRect) for the bounds and use the nameless R only as a temporary
> > rect. As I deleted the debugging code, this was left. A "with" would of
> > course clean up a bit.
> > 
> > The speed decrease is not measurable, so it is simply a matter of taste.
> > We can return to the former code (copy&paste). But I suggest to rename R
> > to SizeRect to make it more readable.
> > 
> 
> In the next change i'll  do it.
> 
> karl
> 
> _________________________________________________________________
>      To unsubscribe: mail lazarus-request at miraclec.com with
>                 "unsubscribe" as the Subject
>    archives at http://www.lazarus.freepascal.org/mailarchives


-- 






More information about the Lazarus mailing list