View extent limit?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

View extent limit?

Christopher J. Demers
I am working on a tool to assist me with photo classification.  Basically it
displays a contact sheet in a scroll view.  I have been able to add a fair
amount of sophisticated functionality quite easily by using a Flow layout
manager and drag and drop.  The problem I noticed after I got the program
done and started to use it on a set of 400+ photos is that I can't set a
view height (using extent:) beyond 32767, I need almost twice that.  After
looking at the API I see the reason (signed int) for this limitation.  Is
anyone aware of an easy way to get around this limitation?  Is this a
Windows (I am using 2000) limitation?  I suppose the way I was doing it was
too good to be true. :(

If I can't get the extent any bigger my plan would be to "virtualize" the
thing, do some slight of hand and reuse controls.  I have done that before,
and it works, it is just a bit more effort.

Chris


Reply | Threaded
Open this post in threaded view
|

Re: View extent limit?

Blair McGlashan
"Christopher J. Demers" <[hidden email]> wrote in
message news:al0m8j$1mkvta$[hidden email]...
> I am working on a tool to assist me with photo classification.  Basically
it
> displays a contact sheet in a scroll view.  I have been able to add a fair
> amount of sophisticated functionality quite easily by using a Flow layout
> manager and drag and drop.  The problem I noticed after I got the program
> done and started to use it on a set of 400+ photos is that I can't set a
> view height (using extent:) beyond 32767, I need almost twice that.  After
> looking at the API I see the reason (signed int) for this limitation.  Is
> anyone aware of an easy way to get around this limitation?  Is this a
> Windows (I am using 2000) limitation?  I suppose the way I was doing it
was
> too good to be true. :(

I have come across this limitation before, and it surprised me that such a
limitation should exist in the NT family. Win9X still uses a lot of old
16-bit code for window management and graphics, so the limitation would be
expected there. Older versions of Dolphin had some 16-bit limitations in the
handling of scroll bar events which effectively limited the scrollable range
to 16-bits, but this was addressed in D5 (#309 in the release notes). I
could find no obvious reason that Dolphin would be causing a limitation on
window extent - the API calls used have 32-bit parameters for co-ordinates
(e.g. SetWindowPos()). Signed 32-bit ints should allow windows to be up to
2147483647 in size.

I could only conclude that this was either a little (or un) documented
limitation in Windows, or that it is some default maximum that I just
haven't been able to work out how to override. If anyone knows any more
information I'd be interested to hear it.

Regards

Blair