Reviving old thread.
So, I've looked at WebWidget::paint, and it gets its drawing canvas by doing

chrome/renderer/render_widget.cc:440:
      RenderProcess::current()->GetDrawingCanvas(&current_scroll_buf_,
                                                 damaged_rect);

I don't fully undestand the relation between GraphicsContext,
 PlatformContext, and PlatformCanvas.  Does a PlatformContext contain a
PlatformCanvas or vice versa?

Is there only one "canvas" per process?  If I found a way to do something
similar to above (ask RenderProcess::current() to crate a drawing convas),
would I be safe in passing that to the webmedia player paint function?  Or
am I completely not making sense here.

Sorry for the basic questions...still trying to orient to the webkit
codebase.

Thanks,
Albert


On Thu, May 7, 2009 at 2:16 PM, Darin Fisher <da...@chromium.org> wrote:

> We have exactly the same issue with WebWidget::paint.  That uses WebCanvas.
>  I think that WebMediaPlayer::paint should be the same.
> -Darin
>
>
> On Thu, May 7, 2009 at 1:50 PM, Andrew Scherkus <scher...@chromium.org>wrote:
>
>> On Wed, May 6, 2009 at 10:44 AM, Darin Fisher <da...@chromium.org> wrote:
>>
>>> We could either use skia/ext/platform_canvas_mac.h or we could define it
>>> to be a CG type.  I'm not sure I fully understand the hybridization of CG
>>> and Skia in our Chromium Mac port.
>>
>>
>> I am equally (or even more so) clueless on CG.  Anyway with hclam
>> upstreaming our code an #ifdef solution might be the easiest way to get it
>> working for now.
>>
>> I talked to Eric Carlson about the MediaPlayer interface and he had an
>> idea about exposing which painting methods a MediaPlayer prefers
>> (GraphicsContext or exposing an RGB surface) and having WebKit decide.  We
>> sort of have this today with the media engine and mime type supports, so it
>> might not be a big stretch.
>>
>> Andrew
>>
>>
>>> -darin
>>>
>>>
>>> On Wed, May 6, 2009 at 10:41 AM, Darin Fisher <da...@chromium.org>wrote:
>>>
>>>> We just need to figure out what the correct typedef is for the Mac
>>>> platform.
>>>> -Darin
>>>>
>>>>
>>>> On Wed, May 6, 2009 at 10:40 AM, Darin Fisher <da...@chromium.org>wrote:
>>>>
>>>>> Please see WebCanvas in the WebKit API.  It was designed for this.
>>>>> -Darin
>>>>>
>>>>>
>>>>> On Tue, May 5, 2009 at 5:40 PM, Andrew Scherkus <scher...@chromium.org
>>>>> > wrote:
>>>>>
>>>>>> WebKit's MediaPlayerPrivate interface is a bit backwards where they
>>>>>> pass in a GraphicsContext:
>>>>>>
>>>>>> http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/WebKit/WebCore/platform/graphics/MediaPlayer.h?view=markup
>>>>>>
>>>>>> We currently forward the MediaPlayerPrivate::paint(GraphicsContext* p,
>>>>>> const IntRect& r) call into Chrome, converting the GraphicsContext to
>>>>>> a PlatformContextSkia in the process.  We realized today this doesn't 
>>>>>> work
>>>>>> on Mac since it's actually a CGContext.
>>>>>>
>>>>>> Without resorting to #ifdefs everywhere, what's the best way to pass
>>>>>> a PlatformGraphicsContext back to Chrome?
>>>>>>
>>>>>> Andrew
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: chromium-dev@googlegroups.com 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to