A few thoughts on implementing the resizer: - Windows supports a resizer hit test code return value from WM_NCHITTEST. I think it's something like HTBOTTOMRIGHT (it's actually not HTGROWBOX, that doesn't work). When you return this value for coordinates in the resizer area, Windows will do the resizing for you automatically, just like it does for the window borders. Regardless of how you end up rendering the resizer, I think you should implement it this way for the event handling so that you're consistent with how we do resizing elsewhere. The right place to implement this is to add code to BrowserView::NonClientHitTest. The resizer is always a fixed size and location so that should be easy to add. - From what I understand WebKit supports rendering a a resizer. Apple relies on this API for Safari so I assume it is well supported. It seems like this would be simpler than adding a floating window or anything like that. I am generally suspicious of non-transient floating windows. - The Download Shelf is a special case - and in this case you could probably add code to the shelf's Paint function to render the resizer graphic at its bottom right.
(BTW, thanks for dogfooding my windowing document. It's not finished yet as you can see but it is up to date at least!) -Ben On Fri, Dec 12, 2008 at 1:32 PM, Marc-Andre Decoste <[email protected]> wrote: > Salut, > > I'm working on the resize corner view and am having a little trouble > getting it to work. I tried to use the sample code provided in > http://dev.chromium.org/developers/design-documents/views-windowing, by > doing as follows: > > in BrowserView::Init(), I create a label view and add it as a child of the > contents_container_ > in BrowserView::Layout(), I get the parent of the label, as well as the > preferred size of the label and then do as follows: > label->SetBounds((parent_view->width() - ps.width() )/ 2, > (parent_view->height() - ps.height()) / 2, > ps.width(), ps.height()); > Then I run with a break point in Label::Paint() and it seems to do as it is > told except... > I don't see the Hello World text drawn anywhere... > I also tried my own BrowserResizerView class which also has mouse event > overrides and they never get called, only the Paint override which seems to > be painting on a /dev/nul canvas... > > What am I doing wrong? Do we have more detailed documentation about this, > or is http://dev.chromium.org/developers/design-documents/chromeviews the > only source of info we currently have? > > Thanks! > > BYE > MAD > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Chromium-dev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/chromium-dev?hl=en -~----------~----~----~----~------~----~------~--~---
