How to know when a window is drawn ?
How to know when a window is drawn ?
- Subject: How to know when a window is drawn ?
- From: John Walter <email@hidden>
- Date: Fri, 25 Nov 2005 10:16:17 +0100
[Already posted in the Quartz ML, sorry for the crosspost]
I'd like to develop a very (very) light Citrix-like application for
Mac. For those who don't know what Citrix is, I'll try to explain
briefly. The purpose is to run an applicaton (let's call it the
"target application") on a server and delegate it's display
(the graphical UI) and (partially) the management of its inputs (mouse
and keyboard) to a client (there are actually crossplatform
clients). An end user would think he's runing the target app locally,
but in fact it's transparently runing on a server. Of course nobody
needs to be physically logged on the server to run the target app.
Currently there is no Citrix server for Mac, only clients that run
target apps on Windows or UNIX servers.
I'm quite new to Mac development, but I think I've identified almost
all the technologies and APIs I'll have to use. I haven't figured out
one critical thing about the server part though.
Firstly my application needs to know when the target app will redraw
its windows, and what areas of these windows are concerned (ie which
are invalidated). I assumed I could do this with a kind of event API,
but I found nothing helpful.
Secondly, once my application has been informed that changes have
occurred, it must obtain the data for the invalidated regions of the
windows. What I have done so far doesn't fit my needs. I've used the
Quartz remote operations to register for changes on a
CGDirectDisplayID and get the data of the framebuffer. This is bad
because, as I said before, nobody will be physically logged on the
server, so the framebuffer will contain the login screen and nothing
else. For now, my application works like VNC, which is NOT what I
want.
I thought about creating some kind of virtual displays for each target
application but I don't kown how to do that nor if it's event
possible.
One more thing... My app would ideally be able to work with both Cocoa
and Carbon target applications...
Thanks for any idea you might have
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden