Adi Oanca <adioanca@xxxxxxxxxxxxxx> wrote: > Axel D=F6rfler wrote: > >> What makes GetMouse() "extreme"=3F > > Now that you say it - probably nothing. I always think that it > > needs to > > poll, but instead, it just searches the message queue, or gets the > > information from the app=5Fserver directly. What makes GetMouse() > > need to > > use UpdateIfNecessary() is not GetMouse() itself but the context > > it's > > usually used in (MouseDown()). > I'm not too happy with this method. I think it does not respect > the logic, in general. I just asked for mouse coordinates, not for a > UI > update. The fact is that I can call GetMouse() from everywhere in > window's > context and not actually wanting to update the UI. GetMouse() does not ask for an UI update either, it just makes sure they are processed when there is an =5FUPDATE=5F message in the queue. > IMO, in R2 this method should only return mouse location and > buttons. What do you think=3F Also I think we should remove support for > synchronous controls in R2. Opinions=3F I'm not sure about this. We should investigate this with every application that needs it, and if the same could be achieved in asynchronous mode. What I am sure of, however, is that we should switch to asynchronous mode by default, and only allow synchronous mode if specifically asked for. > >> "I'm still not sure about this method. What I think it should > > > do, > >>is > >>process the =5FUPDATE=5F request that is pending in the message queue, > >>just > >>as GetMouse() does, and above that, it should query the server if > >>there > >>still are invalid regions to be updated (regions that became > > > invalid > >>since the server sent the last =5FUPDATE=5F request) and if there are > > > do, > >>get the data from the reply and do a DispatchMessage(updateMsg, > > > this) > >>again." > > I thought DoUpdate() does that already=3F Or was that only the plan=3F > No, no... DoUpdate() calls Draw() methods for every view that's > inside the invalidated rect. > DoUpdate() must not be modified, instead we should ask > synchronously > the server if it has an invalid region to pass to us, and force a 2nd > update > if one supplied. (DoUpdate() still has to be cleaned up. :-) Will do > that > someday) That would be fine by me, too :-) Bye, Axel.