pierrest@cl.bull.fr (Frederic Pierresteguy) (04/12/91)
Anyone can help me about my problem? I have drawn pictures inside a drawing area widget and also put several drawn button widgets. I use "XCopyArea" to copy the pictures (done with the Xlib functions) from a pixmap to the drawing area. Then, my drawn buttons become hidden by the pictures. If there any possibility to tell the drawing area: "Now, redraw your children (the drawn buttons) to get them visible". Thanks for any help. frederic. ------- Frederic Pierresteguy ----- Bull S.A France --------------------- Software Dev. Methodology ! e-mail: Frederic.Pierresteguy@frcl.bull.fr Rue Jean-Jaures F30D01, BP 53 ! tel:(33-1) 3080 6393 78340 Les Clayes-Sous-Bois ! Fax:(33-1) 3080 7078
chuck@Morgan.COM (Chuck Ocheret) (04/17/91)
> I have drawn pictures inside a drawing area widget and also > put several drawn button widgets. > > I use "XCopyArea" to copy the pictures (done with the Xlib functions) > from a pixmap to the drawing area. Then, my drawn buttons become hidden > by the pictures. > If there any possibility to tell the drawing area: "Now, redraw your > children (the drawn buttons) to get them visible". If the children of the drawing area are not gadget's then they have their own windows. Therefore as long as the GC you feed to XCopyArea has its Subwindow Mode set to ClipByChildren then you should never even draw over you children. If, however, your children are gadgets, they don't get their own windows and therefore there is no way to avoid drawing over them without setting a clip mask in your GC (not necessarily too bad a solution). To cause your gadgets to redraw themselves you can either use XClearArea for the appropriate rectangles in the drawing area (sending expose events) or you must somehow trick the gadget into redrawing itself (not too difficult with Motif) by resetting some odd resource or other. ~chuck -- +--------------------+ Chuck Ocheret +---------------+ |chuck@fid.Morgan.COM| Morgan Stanley & Co., Inc. |(212) 703-4474 | | Duty now ... |19th Floor, 1251 Avenue of the Americas|for the future.| +--------------------+ New York, N.Y. 10020 USA +---------------+