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()
)
This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:31:57 MET