Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!usc!rutgers!bpa!cbmvax!peter From: peter@cbmvax.commodore.com (Peter Cherna) Newsgroups: comp.sys.amiga.tech Subject: Re: Clipping? Questions and recommendations. Message-ID: <10056@cbmvax.commodore.com> Date: 8 Mar 90 17:34:48 GMT References: <27831.AA27831@slaka.sirius.se> Reply-To: peter@cbmvax (Peter Cherna) Organization: Commodore, West Chester, PA Lines: 30 In article <27831.AA27831@slaka.sirius.se> micke@slaka.sirius.se (Mikael Karlsson) writes: >I want to write a program with one user interface task and one drawer >task. The UI task sends drawing commands to the drawer task. >The UI task opens a window and initializes the drawer task by giving >it a copy of the window's RastPort. > >Now for the question: >Is it possible to have two tasks draw into the same window (RastPort) >where each task uses different clipping regions? The graphics library call InstallClipRegion() operates on a per-layer basis. Since your two tasks share a layer, they would share a clip region. So to have them use different clipping regions, there would have to be some kind of locking protocol between them, say a semaphore, which each of your tasks would have to obtain before installing its clipping region and hold through its rendering operations, then remove the clipping region and release the semaphore. >-- > > \_/ Mikael Karlsson, Lovsattersvagen 10, S-585 98 LINKOPING, SWEDEN > V | micke@slaka.sirius.se > | Absolut Software | micke@slaka.UUCP > ~~~ | {mcvax,seismo}!sunic!liuida!slaka!micke Peter -- Peter Cherna, Software Engineer, Commodore-Amiga, Inc. {uunet|rutgers}!cbmvax!peter peter@cbmvax.cbm.commodore.com My opinions do not necessarily represent the opinions of my employer.