Now you know I'm not really a Windows GUI expert. I'm going to look
now at updating my applications in the same manner as Laurent updated
the sample code.
But I've recently noticed something in the sample bitmap scrolling code,
which I am gratefully using in a couple of my applications, which is
more obvious when displaying Black & White line art that extends to the
very edge of the BMP, rather than full-color images, although once you
know to look for it, it can be seen with full-color images also.
When scrolling to the complete right/bottom of a bitmap in a smaller
window, especially when scrolling via "pages" by clicking on the empty
area of the scroll bar, it becomes clear that the right-/bottom-most
column/row of pixels in the window does not get redrawn at the very end.
It is like there is an off-by-one error somewhere in the code.
Now I notice the scrolling limits are based on Win32::GUI::Width, and
that Win32::GUI::Width calculates width as Right-Left. Now I don't know
the Windows spec well enough to know if it should be Right-Left+1 -- in
other words, in Right the last drawable pixel, or the first non-drawable
pixel? Of course, maybe the off-by-one error is somewhere else instead;
this possible source of the off-by-one is just speculation on my part
that I haven't yet confirmed or discarded by reading the Windows
documentation. But the scrolling bug exists, regardless of where the
off-by-one error creeps in.
On approximately 9/30/2004 12:01 AM, came the following characters from
the keyboard of Jez White:
Hi,
I've just tested the changes to the -onpaint event and it looks good:)
Cheers,
jez.
----- Original Message -----
*From:* Laurent ROCHER <mailto:[EMAIL PROTECTED]>
*To:* perl-win32-gui-hackers@lists.sourceforge.net
<mailto:perl-win32-gui-hackers@lists.sourceforge.net>
*Sent:* Wednesday, September 29, 2004 10:22 PM
*Subject:* [perl-win32-gui-hackers] Main Commit
Hi,
Changelog
- MakeFile.pl, MakeFile_m.pl
+ Use tab as space in rule for use with dmake
- GUI.pm, GUI.xs
+ Add -brush option for Win32::GUI::Class.
- GUI_Helper.cpp
+ classname_From and handle_From : Replace strlen as static
string length.
- Window.xs, GUI_MessageLoops.cpp, Samples\BitmpaScroll.pl :
+ Move Paint event in Window_onEvent.
+ Use DoEvent_Paint function like Graphic
- ToolTip.xs :
+ Add -balloon option
Laurent.
--
Glenn -- http://nevcal.com/
===========================
The best part about procrastination is that you are never bored,
because you have all kinds of things that you should be doing.