Re: [ROOT] Paint

From: jiangyong jia (jjia@rcf.rhic.bnl.gov)
Date: Thu May 25 2000 - 23:48:50 MEST


Dear Brun,
I will give you a more detailed explanation on the Xlib problem I have 
Posted on the Root digest(message:Xlib or root?), thanks for
quick responding

now stuff related to this mail:
For example, I have a list of thousands of tracks and 10 times more of
hits on a canvas(As is the case for Phenix detector). I would like to have
the ability to press and highlight the track under mouse point...
But let the Canvas to do a update will be inefficient(redraw
everything takes too much time)I want the canvas act as an accumulation buffer 
which I can continusly modify it.I thought I could use paint.

I run into this question also because I want to debug why my application
freezes and sleeps in xlib call... as you already see in my yestoday's
mail. I want to know a little more about the interaction between root and
xlib

So, Repeat my problem:

Under root prompt:
type:
TCanvas * c1= new TCanvas("c1","c1",100,100);
TLine *a = TLine(0,0,1,1) ;
a->Paint();
c1->Flush()[or gVirtualX->Update()]

Nothing have been drawn! But paint called from TPad will do the job!
this also will not work even call from  shared library..  

I can't Paint directly onto the canvas, faint......


thanks,
Jiangyong

On Thu, 25 May 2000, Rene Brun wrote:

> You can call the Paint functions only during the Paint process.
> See http://root.cern.ch/root/HowtoDraw.html
> When the pad must be drawn/redrawn, the Paint function for all
> objects in the list of primitives is called. In turn the Paint
> functions call gVirtualX drawing functions to draw in the current
> pixmap in memory. When the drawing is complete, the pixmap
> in memory is copied to the screen memory.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 which command?? XFulsh()??
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> Could you explain what is the problem you try to solve
> and where the current tools are not sufficient?
> 
> Rene Brun
> 
> On Thu, 25 May 2000,
> jiangyong jia wrote:
> 
> > 
> > Hi,Rooters,
> > 
> > Is there a way to use paint function directly from root prompt??
> > I mean instead of Use Draw function and Append the TObject onto 
> > Primitive list of Current pad, I want to call Paint() function directly
> > But I find out it is not working!!!, also gVirtualX will not work also.
> > example:
> > type gVirtualX->DrawLine(0,1,1,0) from root prompt will draw you nothing.
> > cheers.
> > Jiangyong
> > 
> > 
> > 
> > ************************************************
> > 	jjia@rcf.rhic.bnl.gov
> >         Jiangyong Jia
> >       	Department of Physics
> >        	State University New York at Stony Brook
> >        	Stony Brook, New York 11794-3800
> >         Tel.631-344-5455
> > *********************************************
> > 
> > 
> > 
> > 
> > 
> 
> 



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:26 MET