comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: How to use backing store while using object graphics?
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: How to use backing store while using object graphics? [message #54423] Sun, 10 June 2007 08:07
rkombiyil is currently offline  rkombiyil
Messages: 59
Registered: March 2006
Member
On Jun 10, 11:00 am, Robert Chuang <zhuang...@gmail.com> wrote:
> I don't know how to let IDL back store the display, note that I've
> written "device, retain=2" in the IDL_startup.pro file, and it works
> fine while using direct graphics.
>
> Here is an example,
>
> PRO test_gui
> COMPILE_OPT, IDL2
> mywindow = OBJ_NEW('IDLgrWindow') ;;retain=2
> myview = OBJ_NEW('IDLgrView', VIEWPLANE_RECT=[0, 0, 19, 19])
> mymodel = OBJ_NEW('IDLgrModel')
> data = DIST(20)
> mycontour = OBJ_NEW('IDLgrContour', data, COLOR=[100, 150, 200], $
> C_LINESTYLE=[0, 2, 4], /PLANAR, GEOMZ=0, C_VALUE=INDGEN(20))
> myview->Add, mymodel
> mymodel->Add, mycontour ;how to set backup storage?
> mywindow->Draw, myview
> END
>
> The display will disappear while overlay, minimize and maximize the
> window, the "device, retain=2" command doesn't work any more. How to
> fix it?
>
> Thanks

Robert,
It works for me..If I understand the problem correctly - i.e., while
overlaying or minimizing or maximizing the window, the contours don't
disappear :P I was going to attach 2 screenshots for your viewing
pleasure (one of them advertises David's ebook - which I bought
recently- too ;-) ), but I guess I can't abuse usenet :)

I usually do this backing store thingy within my xconfig. Within the /
etc/X11/xorg.conf (Section "Device"), I add the following above the
'EndSection' instead of .idlrc...
----------------------------------------------
Option "BACKING STORE" "TRUE"
----------------------------------------------
Hth,
/metachronist
Re: How to use backing store while using object graphics? [message #54424 is a reply to message #54423] Sat, 09 June 2007 20:49 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Robert Chuang writes:

> It didn't work on my ubuntu 6.10,too.
> I am afraid there is no method to solve this.
> Could you give me an example of rewriting this code using widget_draw?

Well, I explained a method to solve it. You can look
at any object graphics program on my web page to see
it solved in action! I'd start with something like XPLOT
for something easy:

http://www.dfanning.com/programs/xplot.pro

Look at the XPLOT_DRAW_WIDGET_EVENTS module.

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to use backing store while using object graphics? [message #54425 is a reply to message #54424] Sat, 09 June 2007 20:41 Go to previous message
zhuangbao@gmail.com is currently offline  zhuangbao@gmail.com
Messages: 12
Registered: January 2007
Junior Member
On Jun 10, 10:41 am, David Fanning <n...@dfanning.com> wrote:
> Robbie writes:
>> I would recommend using either
>> mywindow = OBJ_NEW('IDLgrWindow',RETAIN=2)
>
> This didn't work for me when I maximized or
> minimized my window on Windows XP with IDL 6.4.
> Nor did DEVICE, RETAIN=2. I don't know why. :-(
>
> Cheers,
>
> David
> --
> David Fanning, Ph.D.
> Fanning Software Consulting, Inc.
> Coyote's Guide to IDL Programming:http://www.dfanning.com/
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")

It didn't work on my ubuntu 6.10,too.
I am afraid there is no method to solve this.
Could you give me an example of rewriting this code using widget_draw?
Re: How to use backing store while using object graphics? [message #54426 is a reply to message #54425] Sat, 09 June 2007 19:41 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Robbie writes:

> I would recommend using either
> mywindow = OBJ_NEW('IDLgrWindow',RETAIN=2)

This didn't work for me when I maximized or
minimized my window on Windows XP with IDL 6.4.
Nor did DEVICE, RETAIN=2. I don't know why. :-(

Cheers,

David
--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to use backing store while using object graphics? [message #54427 is a reply to message #54426] Sat, 09 June 2007 19:36 Go to previous message
David Fanning is currently offline  David Fanning
Messages: 11724
Registered: August 2001
Senior Member
Robert Chuang writes:

> I don't know how to let IDL back store the display, note that I've
> written "device, retain=2" in the IDL_startup.pro file, and it works
> fine while using direct graphics.
>
> Here is an example,
>
> PRO test_gui
> COMPILE_OPT, IDL2
> mywindow = OBJ_NEW('IDLgrWindow') ;;retain=2
> myview = OBJ_NEW('IDLgrView', VIEWPLANE_RECT=[0, 0, 19, 19])
> mymodel = OBJ_NEW('IDLgrModel')
> data = DIST(20)
> mycontour = OBJ_NEW('IDLgrContour', data, COLOR=[100, 150, 200], $
> C_LINESTYLE=[0, 2, 4], /PLANAR, GEOMZ=0, C_VALUE=INDGEN(20))
> myview->Add, mymodel
> mymodel->Add, mycontour ;how to set backup storage?
> mywindow->Draw, myview
> END
>
> The display will disappear while overlay, minimize and maximize the
> window, the "device, retain=2" command doesn't work any more. How to
> fix it?

It is exceedingly rare (this is the only program I've
ever seen that did it!) to see an object graphics program
that doesn't draw into a draw widget window. So, normally,
this problem is solved by turning EXPOSE events on for
the draw widget and then just drawing the view in the
draw widget event handler when the window is "exposed".

Cheers,

David

--
David Fanning, Ph.D.
Fanning Software Consulting, Inc.
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
Re: How to use backing store while using object graphics? [message #54428 is a reply to message #54427] Sat, 09 June 2007 19:25 Go to previous message
Robbie is currently offline  Robbie
Messages: 165
Registered: February 2006
Senior Member
I would recommend using either
mywindow = OBJ_NEW('IDLgrWindow',RETAIN=2)
or
PREF_SET, 'IDL_GR_WIN_RETAIN', 2


Robbie
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: How to use backing store while using object graphics?
Next Topic: fast for loop

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:44:14 PDT 2025

Total time taken to generate the page: 0.00704 seconds