Skip to main content

How to detect another application's Canvas rendering events?

2 replies [Last post]
kittyscalgary
Offline
Joined: 2006-05-05
Points: 0

The question is actually about Canvas3D image rendering in Java3D, but since Canvas3D is a child of Canvas, I am wondering if there are any solutions on Java2D layer.

Let's say we have two applications: X and Y. Application Y is a deamon which listens to events occurring in application X. Application Y does not have any coding relationship with X .

Now, an image will be rendered in application X. I want to use the deamon -- application Y to detect the time point right after the image rendering is finished and do some stuff.

Currently, we can find the frame and Canvas3D on the frame when application X is loaded, but there seems no way to use any listeners to detect such events in Canvas3D as image rendering.

Does anybody have a clue of how to do?

Thanks!
Beth

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Dmitri Trembovetski

Here's a weird suggestion: app Y can take screenshots of
the canvas in app Y using java.awt.Robot api every N
seconds and see if anything changed since last time by
diffing the screenshot images (coarsely).

Of course, this may give false positives if something
obscured the canvas, as well as false negatives if app X
keeps re-rendered the same thing, not to mention
that it won't be very performant. In short, an excellent
solution!

Thanks,
Dmitri

On Mon, Nov 06, 2006 at 05:26:07PM -0800, java2d@javadesktop.org wrote:
> The question is actually about Canvas3D image rendering in Java3D, but since Canvas3D is a child of Canvas, I am wondering if there are any solutions on Java2D layer.
>
> Let's say we have two applications: X and Y. Application Y is a deamon which listens to events occurring in application X. Application Y does not have any coding relationship with X .
>
> Now, an image will be rendered in application X. I want to use the deamon -- application Y to detect the time point right after the image rendering is finished and do some stuff.
>
> Currently, we can find the frame and Canvas3D on the frame when application X is loaded, but there seems no way to use any listeners to detect such events in Canvas3D as image rendering.
>
> Does anybody have a clue of how to do?
>
> Thanks!
> Beth
> [Message sent by forum member 'kittyscalgary' (kittyscalgary)]
>
> http://forums.java.net/jive/thread.jspa?messageID=170944
>
> ===========================================================================
> To unsubscribe, send email to listserv@java.sun.com and include in the body
> of the message "signoff JAVA2D-INTEREST". For general help, send email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

kittyscalgary
Offline
Joined: 2006-05-05
Points: 0

Thanks, Dmitri. I will have a try.

Beth