Diff
Modified: trunk/Source/WebCore/ChangeLog (153765 => 153766)
--- trunk/Source/WebCore/ChangeLog 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/ChangeLog 2013-08-06 21:55:42 UTC (rev 153766)
@@ -1,3 +1,20 @@
+2013-08-06 Alex Christensen <[email protected]>
+
+ Moved GraphicsContext3DPrivate out of cairo directory to be used by the AppleWin port.
+ https://bugs.webkit.org/show_bug.cgi?id=119525
+
+ Reviewed by Dean Jackson.
+
+ * GNUmakefile.list.am:
+ * PlatformGTK.cmake:
+ * WebCore.vcxproj/WebCore.vcxproj:
+ * WebCore.vcxproj/WebCore.vcxproj.filters:
+ Changed location of GraphicsContext3DPrivate.cpp and GraphicsContext3DPrivate.h.
+ * platform/graphics/GraphicsContext3DPrivate.cpp: Copied from WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp.
+ * platform/graphics/GraphicsContext3DPrivate.h: Copied from WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h.
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Removed.
+ * platform/graphics/cairo/GraphicsContext3DPrivate.h: Removed.
+
2013-08-06 Brent Fulgham <[email protected]>
[Windows] Unreviewed build correction after r153754 and r153757.
Modified: trunk/Source/WebCore/GNUmakefile.list.am (153765 => 153766)
--- trunk/Source/WebCore/GNUmakefile.list.am 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2013-08-06 21:55:42 UTC (rev 153766)
@@ -5681,8 +5681,8 @@
Source/WebCore/platform/graphics/cairo/FontCustomPlatformData.h \
Source/WebCore/platform/graphics/cairo/GradientCairo.cpp \
Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp \
- Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp \
- Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h \
+ Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp \
+ Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h \
Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp \
Source/WebCore/platform/graphics/cairo/ImageBufferDataCairo.h \
Source/WebCore/platform/graphics/cairo/ImageCairo.cpp \
Modified: trunk/Source/WebCore/PlatformGTK.cmake (153765 => 153766)
--- trunk/Source/WebCore/PlatformGTK.cmake 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/PlatformGTK.cmake 2013-08-06 21:55:42 UTC (rev 153766)
@@ -122,7 +122,7 @@
platform/graphics/GLContext.cpp
platform/graphics/cairo/GradientCairo.cpp
platform/graphics/cairo/GraphicsContext3DCairo.cpp
- platform/graphics/cairo/GraphicsContext3DPrivate.cpp
+ platform/graphics/GraphicsContext3DPrivate.cpp
platform/graphics/cairo/GraphicsContextCairo.cpp
platform/graphics/cairo/ImageBufferCairo.cpp
platform/graphics/cairo/ImageCairo.cpp
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (153765 => 153766)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj 2013-08-06 21:55:42 UTC (rev 153766)
@@ -7398,7 +7398,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
</ClCompile>
- <ClCompile Include="..\platform\graphics\cairo\GraphicsContext3DPrivate.cpp">
+ <ClCompile Include="..\platform\graphics\GraphicsContext3DPrivate.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Production|Win32'">true</ExcludedFromBuild>
@@ -19248,7 +19248,7 @@
<ClInclude Include="..\platform\graphics\avfoundation\cf\InbandTextTrackPrivateLegacyAVCF.h" />
<ClInclude Include="..\platform\graphics\avfoundation\InbandTextTrackPrivateAVF.h" />
<ClInclude Include="..\platform\graphics\GLContext.h" />
- <ClInclude Include="..\platform\graphics\cairo\GraphicsContext3DPrivate.h" />
+ <ClInclude Include="..\platform\graphics\GraphicsContext3DPrivate.h" />
<ClInclude Include="..\platform\graphics\cg\SubimageCacheWithTimer.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'">true</ExcludedFromBuild>
Modified: trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (153765 => 153766)
--- trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters 2013-08-06 21:55:42 UTC (rev 153766)
@@ -7054,7 +7054,7 @@
<ClCompile Include="..\platform\graphics\cairo\GraphicsContext3DCairo.cpp">
<Filter>platform\graphics\cairo</Filter>
</ClCompile>
- <ClCompile Include="..\platform\graphics\cairo\GraphicsContext3DPrivate.cpp">
+ <ClCompile Include="..\platform\graphics\GraphicsContext3DPrivate.cpp">
<Filter>platform\graphics\cairo</Filter>
</ClCompile>
<ClCompile Include="..\html\canvas\CanvasContextAttributes.cpp">
@@ -14823,7 +14823,7 @@
<ClInclude Include="..\page\CaptionUserPreferencesMediaAF.h">
<Filter>page</Filter>
</ClInclude>
- <ClInclude Include="..\platform\graphics\cairo\GraphicsContext3DPrivate.h">
+ <ClInclude Include="..\platform\graphics\GraphicsContext3DPrivate.h">
<Filter>platform\graphics\cairo</Filter>
</ClInclude>
<ClInclude Include="..\html\canvas\CanvasContextAttributes.h">
Copied: trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp (from rev 153765, trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp) (0 => 153766)
--- trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp (rev 0)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp 2013-08-06 21:55:42 UTC (rev 153766)
@@ -0,0 +1,152 @@
+/*
+ * Copyright (C) 2011, 2012 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+#include "GraphicsContext3DPrivate.h"
+
+#if USE(3D_GRAPHICS)
+
+#include "HostWindow.h"
+#include "NotImplemented.h"
+#include "PlatformContextCairo.h"
+#include <wtf/OwnArrayPtr.h>
+
+#if USE(OPENGL_ES_2)
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#else
+#include "OpenGLShims.h"
+#endif
+
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER) && USE(TEXTURE_MAPPER_GL)
+#include <texmap/TextureMapperGL.h>
+#endif
+
+using namespace std;
+
+namespace WebCore {
+
+PassOwnPtr<GraphicsContext3DPrivate> GraphicsContext3DPrivate::create(GraphicsContext3D* context, GraphicsContext3D::RenderStyle renderStyle)
+{
+ return adoptPtr(new GraphicsContext3DPrivate(context, renderStyle));
+}
+
+GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, GraphicsContext3D::RenderStyle renderStyle)
+ : m_context(context)
+ , m_renderStyle(renderStyle)
+{
+ switch (renderStyle) {
+ case GraphicsContext3D::RenderOffscreen:
+ m_glContext = GLContext::createOffscreenContext(GLContext::sharingContext());
+ break;
+ case GraphicsContext3D::RenderToCurrentGLContext:
+ break;
+ case GraphicsContext3D::RenderDirectlyToHostWindow:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+}
+
+GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
+{
+}
+
+bool GraphicsContext3DPrivate::makeContextCurrent()
+{
+ return m_glContext ? m_glContext->makeContextCurrent() : false;
+}
+
+PlatformGraphicsContext3D GraphicsContext3DPrivate::platformContext()
+{
+ return m_glContext ? m_glContext->platformContext() : GLContext::getCurrent()->platformContext();
+}
+
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+void GraphicsContext3DPrivate::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& matrix, float opacity)
+{
+ if (!m_glContext)
+ return;
+
+ ASSERT(m_renderStyle == GraphicsContext3D::RenderOffscreen);
+
+ m_context->markLayerComposited();
+
+ // FIXME: We do not support mask for the moment with TextureMapperImageBuffer.
+ if (textureMapper->accelerationMode() != TextureMapper::OpenGLMode) {
+ GraphicsContext* context = textureMapper->graphicsContext();
+ context->save();
+ context->platformContext()->setGlobalAlpha(opacity);
+
+ const int height = m_context->m_currentHeight;
+ const int width = m_context->m_currentWidth;
+ int totalBytes = width * height * 4;
+
+ OwnArrayPtr<unsigned char> pixels = adoptArrayPtr(new unsigned char[totalBytes]);
+ if (!pixels)
+ return;
+
+ // OpenGL keeps the pixels stored bottom up, so we need to flip the image here.
+ context->translate(0, height);
+ context->scale(FloatSize(1, -1));
+
+ context->concatCTM(matrix.toAffineTransform());
+
+ m_context->readRenderingResults(pixels.get(), totalBytes);
+
+ // Premultiply alpha.
+ for (int i = 0; i < totalBytes; i += 4)
+ if (pixels[i + 3] != 255) {
+ pixels[i + 0] = min(255, pixels[i + 0] * pixels[i + 3] / 255);
+ pixels[i + 1] = min(255, pixels[i + 1] * pixels[i + 3] / 255);
+ pixels[i + 2] = min(255, pixels[i + 2] * pixels[i + 3] / 255);
+ }
+
+ RefPtr<cairo_surface_t> imageSurface = adoptRef(cairo_image_surface_create_for_data(
+ const_cast<unsigned char*>(pixels.get()), CAIRO_FORMAT_ARGB32, width, height, width * 4));
+
+ context->platformContext()->drawSurfaceToContext(imageSurface.get(), targetRect, IntRect(0, 0, width, height), context);
+
+ context->restore();
+ return;
+ }
+
+#if USE(TEXTURE_MAPPER_GL)
+ if (m_context->m_attrs.antialias && m_context->m_state.boundFBO == m_context->m_multisampleFBO) {
+ GLContext* previousActiveContext = GLContext::getCurrent();
+ if (previousActiveContext != m_glContext)
+ m_context->makeContextCurrent();
+
+ m_context->resolveMultisamplingIfNecessary();
+ ::glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_context->m_state.boundFBO);
+
+ if (previousActiveContext && previousActiveContext != m_glContext)
+ previousActiveContext->makeContextCurrent();
+ }
+
+ TextureMapperGL* texmapGL = static_cast<TextureMapperGL*>(textureMapper);
+ TextureMapperGL::Flags flags = TextureMapperGL::ShouldFlipTexture | (m_context->m_attrs.alpha ? TextureMapperGL::ShouldBlend : 0);
+ IntSize textureSize(m_context->m_currentWidth, m_context->m_currentHeight);
+ texmapGL->drawTexture(m_context->m_texture, flags, textureSize, targetRect, matrix, opacity);
+#endif // USE(ACCELERATED_COMPOSITING_GL)
+}
+#endif // USE(ACCELERATED_COMPOSITING)
+
+} // namespace WebCore
+
+#endif // USE(3D_GRAPHICS)
Copied: trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h (from rev 153765, trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h) (0 => 153766)
--- trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h (rev 0)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h 2013-08-06 21:55:42 UTC (rev 153766)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2011 Igalia S.L.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GraphicsContext3DPrivate_h
+#define GraphicsContext3DPrivate_h
+
+#include "GLContext.h"
+#include "GraphicsContext3D.h"
+#include <wtf/PassOwnPtr.h>
+
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+#include "TextureMapperPlatformLayer.h"
+#endif
+
+namespace WebCore {
+
+class GraphicsContext3DPrivate
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ : public TextureMapperPlatformLayer
+#endif
+{
+public:
+ static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
+ ~GraphicsContext3DPrivate();
+ bool makeContextCurrent();
+ PlatformGraphicsContext3D platformContext();
+
+ GraphicsContext3D::RenderStyle renderStyle() { return m_renderStyle; }
+
+#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
+ virtual void paintToTextureMapper(TextureMapper*, const FloatRect& target, const TransformationMatrix&, float opacity);
+#endif
+
+private:
+ GraphicsContext3DPrivate(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
+
+ GraphicsContext3D* m_context;
+ OwnPtr<GLContext> m_glContext;
+ GraphicsContext3D::RenderStyle m_renderStyle;
+};
+
+}
+
+#endif // GraphicsContext3DPrivate_h
Deleted: trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp (153765 => 153766)
--- trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp 2013-08-06 21:55:42 UTC (rev 153766)
@@ -1,152 +0,0 @@
-/*
- * Copyright (C) 2011, 2012 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#include "config.h"
-#include "GraphicsContext3DPrivate.h"
-
-#if USE(3D_GRAPHICS)
-
-#include "HostWindow.h"
-#include "NotImplemented.h"
-#include "PlatformContextCairo.h"
-#include <wtf/OwnArrayPtr.h>
-
-#if USE(OPENGL_ES_2)
-#include <GLES2/gl2.h>
-#include <GLES2/gl2ext.h>
-#else
-#include "OpenGLShims.h"
-#endif
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER) && USE(TEXTURE_MAPPER_GL)
-#include <texmap/TextureMapperGL.h>
-#endif
-
-using namespace std;
-
-namespace WebCore {
-
-PassOwnPtr<GraphicsContext3DPrivate> GraphicsContext3DPrivate::create(GraphicsContext3D* context, GraphicsContext3D::RenderStyle renderStyle)
-{
- return adoptPtr(new GraphicsContext3DPrivate(context, renderStyle));
-}
-
-GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, GraphicsContext3D::RenderStyle renderStyle)
- : m_context(context)
- , m_renderStyle(renderStyle)
-{
- switch (renderStyle) {
- case GraphicsContext3D::RenderOffscreen:
- m_glContext = GLContext::createOffscreenContext(GLContext::sharingContext());
- break;
- case GraphicsContext3D::RenderToCurrentGLContext:
- break;
- case GraphicsContext3D::RenderDirectlyToHostWindow:
- ASSERT_NOT_REACHED();
- break;
- }
-}
-
-GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
-{
-}
-
-bool GraphicsContext3DPrivate::makeContextCurrent()
-{
- return m_glContext ? m_glContext->makeContextCurrent() : false;
-}
-
-PlatformGraphicsContext3D GraphicsContext3DPrivate::platformContext()
-{
- return m_glContext ? m_glContext->platformContext() : GLContext::getCurrent()->platformContext();
-}
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
-void GraphicsContext3DPrivate::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& matrix, float opacity)
-{
- if (!m_glContext)
- return;
-
- ASSERT(m_renderStyle == GraphicsContext3D::RenderOffscreen);
-
- m_context->markLayerComposited();
-
- // FIXME: We do not support mask for the moment with TextureMapperImageBuffer.
- if (textureMapper->accelerationMode() != TextureMapper::OpenGLMode) {
- GraphicsContext* context = textureMapper->graphicsContext();
- context->save();
- context->platformContext()->setGlobalAlpha(opacity);
-
- const int height = m_context->m_currentHeight;
- const int width = m_context->m_currentWidth;
- int totalBytes = width * height * 4;
-
- OwnArrayPtr<unsigned char> pixels = adoptArrayPtr(new unsigned char[totalBytes]);
- if (!pixels)
- return;
-
- // OpenGL keeps the pixels stored bottom up, so we need to flip the image here.
- context->translate(0, height);
- context->scale(FloatSize(1, -1));
-
- context->concatCTM(matrix.toAffineTransform());
-
- m_context->readRenderingResults(pixels.get(), totalBytes);
-
- // Premultiply alpha.
- for (int i = 0; i < totalBytes; i += 4)
- if (pixels[i + 3] != 255) {
- pixels[i + 0] = min(255, pixels[i + 0] * pixels[i + 3] / 255);
- pixels[i + 1] = min(255, pixels[i + 1] * pixels[i + 3] / 255);
- pixels[i + 2] = min(255, pixels[i + 2] * pixels[i + 3] / 255);
- }
-
- RefPtr<cairo_surface_t> imageSurface = adoptRef(cairo_image_surface_create_for_data(
- const_cast<unsigned char*>(pixels.get()), CAIRO_FORMAT_ARGB32, width, height, width * 4));
-
- context->platformContext()->drawSurfaceToContext(imageSurface.get(), targetRect, IntRect(0, 0, width, height), context);
-
- context->restore();
- return;
- }
-
-#if USE(TEXTURE_MAPPER_GL)
- if (m_context->m_attrs.antialias && m_context->m_state.boundFBO == m_context->m_multisampleFBO) {
- GLContext* previousActiveContext = GLContext::getCurrent();
- if (previousActiveContext != m_glContext)
- m_context->makeContextCurrent();
-
- m_context->resolveMultisamplingIfNecessary();
- ::glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_context->m_state.boundFBO);
-
- if (previousActiveContext && previousActiveContext != m_glContext)
- previousActiveContext->makeContextCurrent();
- }
-
- TextureMapperGL* texmapGL = static_cast<TextureMapperGL*>(textureMapper);
- TextureMapperGL::Flags flags = TextureMapperGL::ShouldFlipTexture | (m_context->m_attrs.alpha ? TextureMapperGL::ShouldBlend : 0);
- IntSize textureSize(m_context->m_currentWidth, m_context->m_currentHeight);
- texmapGL->drawTexture(m_context->m_texture, flags, textureSize, targetRect, matrix, opacity);
-#endif // USE(ACCELERATED_COMPOSITING_GL)
-}
-#endif // USE(ACCELERATED_COMPOSITING)
-
-} // namespace WebCore
-
-#endif // USE(3D_GRAPHICS)
Deleted: trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h (153765 => 153766)
--- trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h 2013-08-06 21:38:26 UTC (rev 153765)
+++ trunk/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h 2013-08-06 21:55:42 UTC (rev 153766)
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2011 Igalia S.L.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301 USA
- */
-
-#ifndef GraphicsContext3DPrivate_h
-#define GraphicsContext3DPrivate_h
-
-#include "GLContext.h"
-#include "GraphicsContext3D.h"
-#include <wtf/PassOwnPtr.h>
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
-#include "TextureMapperPlatformLayer.h"
-#endif
-
-namespace WebCore {
-
-class GraphicsContext3DPrivate
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
- : public TextureMapperPlatformLayer
-#endif
-{
-public:
- static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
- ~GraphicsContext3DPrivate();
- bool makeContextCurrent();
- PlatformGraphicsContext3D platformContext();
-
- GraphicsContext3D::RenderStyle renderStyle() { return m_renderStyle; }
-
-#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
- virtual void paintToTextureMapper(TextureMapper*, const FloatRect& target, const TransformationMatrix&, float opacity);
-#endif
-
-private:
- GraphicsContext3DPrivate(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
-
- GraphicsContext3D* m_context;
- OwnPtr<GLContext> m_glContext;
- GraphicsContext3D::RenderStyle m_renderStyle;
-};
-
-}
-
-#endif // GraphicsContext3DPrivate_h