RE: [ROOT] Problems with windows version

From: Valeri Fine (fine@bnl.gov)
Date: Tue Jun 15 2004 - 16:52:35 MEST


> 
> Hi Valeri,
> 
> Could we than not imagine either writing the file entirely to some
buffer
> or even just make a temporary copy of it?
> I will be looking at QtRoot this afternoon, yet I use the Root widget
> librairy extensively: is that supported?
> 


ROOT applies so-called double buffered technique for TCanvas client
areas.
This means all "TCanvas/TPad" images first are stored with some "pixmap"
array and then the filled "pixmap" is painted to the screen.
In fact that "pixmap" is the "off-screen buffer" you are speaking about.

TVirtualX class provides a method to create and copy such pixmaps
http://root.cern.ch/root/htmldoc/TVirtualX.html#TVirtualX:CopyPixmap 

and write it to the file later

http://root.cern.ch/root/htmldoc/TVirtualX.html#TVirtualX:WritePixmap

That may be sufficient for your task I don't know.

So far so good. But the problem is the format of the "pixmap" is
platform depended.
This means under X11 ROOT does X-pixmap, under Win32 it is "Windows
pixmap",
with the Qt layer you can get the pointer to QPixmap object etc.

At this point you have several ways to go, namely,

  1. You don't care about that cross-platform features and want to stick
some particular one (for example X11).
  2. You can use TImage class that is a ROOT interface to the various
"image" objects
  3. You opt for Qt layer to use QPixmap class (that is available for
all platforms the Trolltech supports
   see: http://root.bnl.gov/QtRoot/QtRoot.html#cross 

The xform.CC macro that comes with Qt layer distribution does show how
to do what you want, namely, how to pick the QPixmap filled with TPad
image and customize it elsewhere. One can easily try this version but
installing it to some Windows machine (Just click
http://root.bnl.gov/QtRoot/downloads/root.3.10.02.exe. 
That should take about 2-3 min of your time. If it takes more then send
me a bug report :-)

See: 
http://doc.trolltech.com/3.3/qpixmap.html#save 
http://root.bnl.gov/QtRoot/QtRoot.html#signal 
http://root.bnl.gov/QtRoot/QtRoot.html#embed 
http://root.bnl.gov/QtRoot/QtRoot.html#qt 

also

             Hope this helps, Valeri

 
> Thanks to all,
> 
> Martijn
> 
> At 16:17 14/06/2004 -0400, Valeri Fine wrote:
> > >
> > > Hi Rooters,
> > >
> > > I forgot about just another annoying feature I encoutered with the
> >windows
> > > version. Once a script is loaded and at some point the execution
> >failed,
> > > root does not leave the script so it becomes impossible to access
that
> > > script for writing purpose anymore.
> >
> >
> >It is not ROOT feature. It is a feature of Windows file system. If
some
> >file is OPEN somewhere it can NOT be re-open again to WRITE unless it
is
> >closed.
> >
> >I am afraid to do what you want ROOT will have to open and close the
> >file after each line it reads in.
> >
> >Just my 2 cents :-(
> >
> >                        Valeri
> >
> > > This makes the user having to quit his
> > > root session before he can correct his mistake. I did not have
such
> > > problems with the Linux versions.
> > >
> > > Thanks a lot,
> > >
> > > Martijn
> > >
> > > >Date: Mon, 14 Jun 2004 18:44:10 +0200
> > > >To: roottalk@cern.ch
> > > >From: Martijn Schellekens <Martijn.Schellekens@iota.u-psud.fr>
> > > >Subject: [ROOT] Problems with windows version
> > > >
> > > >Hi Rooters,
> > > >
> > > >I'm experiencing difficulties with the gSystem->SetBuildDir()
> >function
> > > >under windows 2000.
> > > >Versions tried have been both 4.00/06a and 3.10/02. My files
simply
> >dont
> > > >compile as root can not find its own created header files back.
> > > >(command used was an absolute path:
> >gSystem->SetBuildDir("c:/Root/Mlib") )
> > > >
> > > >In terms of other annoying features in the windows version:
sometimes
> > > >something goes wrong with the displaying of the compiler messages
> >inside
> > > >the terminal. Those become simply unreadable. Windows version is
the
> > > >french version of 2000.
> > > >I have by that way a question for the windows users: are there
any
> >better
> > > >windows terminal emulators than those provided by the base
operating
> >system?
> > > >
> > > >Last and also the least: Xinerama doesn't seem to be supported in
the
> >gdk
> > > >librairy for windows (I only checked this for the windows
version).
> >Hence
> > > >if I open a ComboBox on a second screen, it will open this
combobox
> >on my
> > > >main screen. I dont really care about this but I just wanted to
> >notify it.
> > > >
> > > >Thanks a lot anyway for the job done,
> > > >
> > > >Martijn Schellekens
> > > >
> > > >PS: Rene, I did get your reply to my question on recursive fits
from
> >your
> > > >website. I filled in the request form with a wrong adress.
> > > >I thank you very much.



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET