[Webkit-unassigned] [Bug 62961] [EFL] Add GraphicsContext3DInternal implementation
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Jun 21 22:07:22 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=62961
--- Comment #16 from Hyowon Kim <hw1008.kim at samsung.com> 2011-06-21 22:07:21 PST ---
(In reply to comment #12)
> Informal r- from my side:
>
> > Source/WebCore/platform/graphics/efl/GraphicsContext3DInternal.cpp:57
> > +bool GraphicsContext3DInternal::initialize(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, bool bRenderDirectlyToEvasGLObject)
>
> I'd rather if instead of having a public constructor and this method you could have a static create() method which took care of creating and initializing the object automatically.
>
GraphicsContext3DInternal::initialize() calls many Evas_GL's create functions.
If one of them fails, initialize() returns false, and then the GraphicsContext3DInternal instance will be destroyed.
According to your comment about a static create() function, I made the following codes.
static PassOwnPtr<GraphicsContext3DInternal> GraphicsContext3DInternal::create(a, b, c)
{
OwnPtr<GraphicsContext3DInternal> internal = adoptPtr(new GraphicsContext3DInternal());
if (!internal->initialize(a, b, c))
return 0;
return internal.release();
}
But it couldn't return 0 due to the following compile error.
error: conversion from 'int' to non-scalar type 'WTF::PassOwnPtr<WebCore::GraphicsContext3DInternal>' requested
So creating and initailizing a instance at once in the static GraphicsContext3DInternal::create() function seems to be difficult because of its return type.
GraphicsContext3DInternal instances are created only in GraphicsContext3D::create(), so I think that current implementation might be good.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list