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
-~----------~----~----~----~------~----~------~--~---

Reply via email to