Re: Gnome2::Canvas --> do I really need to worry about pixels_per_unit?
- From: zentara <zentara1 sbcglobal net>
- To: gtk-perl-list gnome org
- Subject: Re: Gnome2::Canvas --> do I really need to worry about pixels_per_unit?
- Date: Tue, 24 Jun 2008 08:48:43 -0400
On Mon, 23 Jun 2008 11:18:57 -0700
walt <w41ter gmail com> wrote:
zentara wrote:
On Sun, 22 Jun 2008 20:20:33 -0700
walt<w41ter gmail com> wrote:
...
The problem is that the vertical scroll region will just ignore
any height value below some arbitrary limit.
...
Could you post a small example where the data point can't
be scrolled to, and the "arbitrary limit" is hit?
It sounds to me like you have a predefined size set somewhere,
like a set_default_size in your mainwindow, or something.
I just posted a similar question recently, where my coordinates
seemed way off, and I couldn't explain it..... I figured it out as follows
################################
Doh!!! Sorry I see the mistake. If the scrollregion is smaller than the default
canvas size, weird coordinate transforms occur. Maybe a bug?
$scroller->add( $canvas );
$window->add( $scroller );
$window->set_default_size( 500, 500 );
#if scrollregion is smaller than default size, odd
# coordinate problems occur
#$canvas->set_scroll_region( 0, 0, 400, 400 ); #bad
$canvas->set_scroll_region( 0, 0, 700, 700 ); #good and works fine
It would be a good "trick" question to throw at someone. :-)
########################################
See if that is it, otherwise post a minimal example.
My example is very similar to yours, but the numbers are smaller to show
the problem in an exaggerated way:
my $line = Gnome2::Canvas::Item->new
(
$root,
'Gnome2::Canvas::Line',
points=> [0,0,50,50],
width_pixels=> 1,
fill_color => 'black',
line_style => 'solid'
);
$window->set_default_size (500, 500);
$canvas->set_scroll_region(0,0,50,50);
my @region = $canvas->get_scroll_region;
print "@region\n";
Didn't you read the code fragment I sent?
$window->set_default_size( 500, 500 );
#if scrollregion is smaller than default size, odd
# coordinate problems occur
#$canvas->set_scroll_region( 0, 0, 400, 400 ); #bad
$canvas->set_scroll_region( 0, 0, 700, 700 ); #good and works fine
Your scroll region 50,50 is less than 500,500 so a weird
coordinate transform occurs.
Either make sure your scroll_region is greater than the default_size
OR
don't use default_size, try set_size
$window->set_size_request(300,200);
set_default_size is very strong, and usually not wanted.
zentara
--
I'm not really a human, but I play one on earth.
http://zentara.net/CandyGram_for_Mongo.html
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]