From mint-bounce@lists.fishpool.fi Fri Dec 9 23:12:37 2005 X-Original-To: fnaumann@mail.boerde.de Delivered-To: fnaumann@mail.boerde.de Subject: Re: [MiNT] WM_REPOSED implementation From: Odd Skancke To: MiNT List In-Reply-To: References: Content-Type: text/plain Date: Fri, 09 Dec 2005 23:08:24 +0100 Message-Id: <1134166104.29437.93.camel@linuxbox> Mime-Version: 1.0 X-Mailer: Evolution 2.0.4 (2.0.4-7) Content-Transfer-Encoding: 7bit X-ecartis-version: Ecartis v1.0.0 Sender: mint-bounce@lists.fishpool.fi Errors-To: mint-bounce@lists.fishpool.fi X-original-sender: ozk@atari.org Precedence: bulk List-help: List-unsubscribe: List-Id: X-List-ID: X-Virus-Scanned: by amavisd-new at relay.boerde.de X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on relay.boerde.de X-Spam-Status: No, hits=1.6 tagged_above=-50.5 required=7.0 tests=AWL, BAYES_00, RCVD_IN_SORBS X-Spam-Level: * fre, 09,.12.2005 kl. 22.08 +0100, skrev Jo Even Skarstein: > > -----Original Message----- > > From: mint-bounce@lists.fishpool.fi > > [mailto:mint-bounce@lists.fishpool.fi]On Behalf Of Odd Skancke > > Sent: Friday, December 09, 2005 12:30 PM > > > > WM_SIZED - The window has been resized. Only its W/H coordinates have > > changed. No extra checks to see if window moved because per definition > > it didnt move with this message, (if you need to know) or no extra need > > to check if it changed size, because if it didnt you would not receive > > this message. > > I have browsed all docs available to me, and can't find any statements that > backs up your assumptions here. All references to WM_SIZED that I've found Sorry to hear that you didnt find anything about it. I know I have read it somewhere, but this was long ago. May even have been I read it in the ATari docs that a friend of mine had ancient ago. > today says something like "Sent when a window resize is requested. msg[4-7] > hold the new window rectangle". The difference between WM_SIZED and WM_MOVED > is that with WM_MOVED the width and height of the window is not changed. > This doesn't mean that WM_SIZED exclusively changes the width and height! Since there has been no way to size a window in a way that affects both coordinate pairs, this is what applications are actually expecting. I didnt add sending a pair of WM_MOVED/WM_SIZED just for the fun of it. I did this because almost every app I tried needed this. Thing was one of the few exceptions. Even if I am wrong about this, keeping the 3 different messages wont hurt, will it? XaAES will at least follow these rules until someone can convince me it is a bad thing to do. And comments wont work, I want evidence :) > > I'd say that the obvious solution is to just send a correct WM_SIZED message > when a window is resized with the top and/or left border, and I suspect that > this will work correctly with most applications. In those cases that it This is just not correct. Try to uncomment the ... if (move) send_moved(lock, wind, AMQ_NORM, &r); ... part in size_window() in widgets.c and see how it works. > doesn't work (because the application ignores part of the message sent it by > the AES) the window will still be resized, but not moved. You can still move > and resize these apps the "old" way, and the application will still work as > intended. Nothing is lost - but all applications that interpret WM_SIZED > correctly will work perfectly. No need to send both SIZED and > MOVED-messages, no new mode/message to support. This would make it necessary for EVERY application in the system to contain code to detect which coordinate pair actually changed, in which case we could replace all three window size/position messages with only one. I dont think this is a good tradeoff. Two messages are already defined. Together with the possibility to resize windows by upper/left or left borders comes a new message that indicates both coordinate pairs changed. XaAES will still send WM_MOVED/WM_SIZED when only one of the coordinate pairs changes. WM_REPOSED is sent only in the circumstances where both coordinate pair changes. And then the message names actually makes sense to newbies, jsut as they did when I was a newbie. This wont change, so lets drop this now, unless there are concrete examples of this being a bad, bad implementation :) > > You can always add the option to tell the AES to send first MOVED and then > SIZED to specific applications, but that will only work if XaAES can be > externally configured on per-application basis (like Geneva can). I don't > know if this is possible, as I can't get XaAES to run on my Milan yet. most things can be configured on a perapp basis in XaAES :) Best Regards, Odd Skancke