Re: problem with TView zoom (fwd)

From: G.Mavromanolakis <gmavroma_at_mail.cern.ch>
Date: Fri, 17 Feb 2006 19:15:29 +0100 (CET)


Hi Jan and Olivier,
thanks for the hint.
Regards,
George

On Fri, 17 Feb 2006, Olivier Couet wrote:

>
> In fact it is enough to put gPad->Update(); just after the 2nd
> BuildLayout()->Draw(); the you will get the small picture. Sorry to not
> have seen that faster.
> Here is the modifed test() main program:
>
> void test()
> {
> TCanvas *c1 = new TCanvas("c1","The ... canvas",200,10,700,700);
> c1->cd();
>
> BuildLayout()->Draw();
> //ShowAxis(-15,-15,-20,4);
> ShowView(1.);
>
>
> TCanvas* c2 = new TCanvas("c2","The ... canvas",200,10,700,700);
> c2->cd();
>
> BuildLayout()->Draw();
> gPad->Update();
>
> ShowView(0.5);
>
> }
>
> Olivier
>
>
> > ---------- Forwarded message ----------
> > Date: Thu, 16 Feb 2006 11:33:01 +0100 (CET)
> > From: G.Mavromanolakis <gmavroma_at_mail.cern.ch>
> > To: roottalk_at_pcroot.cern.ch
> > Cc: gmavroma_at_mail.cern.ch
> > Subject: [ROOT] problem with TView zoom
> >
> > Hello ROOTers,
> >
> > I am developing a 3d event display for a monitor application.
> > I used ROOTv4.02.00 under ScientificLinux3 and I tried to switched
> > recently to a newer version. I experience some strange behavior from
> > the zoom methods in TView class. They work as expected
> > when invoked within the CINT or by clicking a TView object on a
> > pad. But when they are put in a macro or source code they produce
> > no effect.
> > For example something like
> >
> > void test()
> > {
> > TCanvas *c1 = new TCanvas("c1","The ... canvas",200,10,700,700);
> > c1->cd();
> >
> > BuildLayout()->Draw();
> > //ShowAxis(-15,-15,-20,4);
> > ShowView(1.);
> >
> >
> > TCanvas* c2 = new TCanvas("c2","The ... canvas",200,10,700,700);
> > c2->cd();
> >
> > BuildLayout()->Draw();
> > //ShowAxis(-15,-15,-20,4);
> > ShowView(0.5);
> >
> > }
> >
> > with
> >
> > void ShowView(float zoomfactor)
> > {
> > gPad->GetView()->ZoomView(0,zoomfactor);
> > gPad->SetFillColor(17);//light grey
> > gPad->Modified();
> > gPad->Update();
> > }
> >
> > should produce 2 canvases with one normal and one small view.
> > This is the case for v4.02.00 or older. When trying with a newer version
> > (4.04.02g, 5.08.00) there is no zoom, the example above
> > gives 2 identical canvases!
> >
> > Also the TView::Zoom, ZoomIn, ZoomOut methods behave similarly
> > strange, ie they give no effect.
> >
> > Any hints??? Am I doing something wrong???
> >
> > Thanks and regards,
> > George
> >
> > PS. I attach a small example macro
> > (run it from root with
> > .L test.C
> > test()
> > )
>
Received on Fri Feb 17 2006 - 19:15:35 MET

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:57 MET