Dharma wrote: > Hi, > I saw the code . I thought the same way. I have one more doubt . > Suppose say we have a DFBTERM of whose x,y,width,height is 0,0,100,100 > And we have another DFBTERM whose x,y,width,height is 0,0,100,100 and the > Screen width,screen height is 600,480. > > When I click in some place in the screen, it calls > dfb_input_dispatcher() which calls fusion_reactor_dispatch(). > I think the Reactor is for calling process functions. Here it calls > _dfb_windowstack_inputdevice_listener(), > > Is it passing events(mouse click) to DFBTERM1 > _dfb_windowstack_inputdevice_listener and to > DFBTERM2_dfb_windowstack_inputdevice_listener ?
No, the _dfb_windowstack_inputdevice_listener is a global reaction which means that it can run globally and is executed synchronously by the caller of fusion_reactor_dispatch, no matter which Fusionee attached the reaction. So this function still runs in the master only and calls the WM which decides which window the event should go to. It creates a window event and dispatches it to the window via its reactor. Input Driver => (InputReactor) -> windowstack input listener -> WM process input => (WindowReactor) Via the window reactor the event will be dispatched to the corresponding process which has local reactions, e.g. to store the event in a local event queue (DirectFBEventBuffer). -- Best regards, Denis Oliver Kropp .------------------------------------------. | DirectFB - Hardware accelerated graphics | | http://www.directfb.org/ | "------------------------------------------" _______________________________________________ directfb-users mailing list [email protected] http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users
