haikuwebkit/Source/WebCore/platform/win/DragImageDirect2D.cpp

106 lines
3.2 KiB
C++
Raw Permalink Normal View History

[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
/*
* Copyright (C) 2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "config.h"
#include "DragImage.h"
#if USE(DIRECT2D)
#include "BitmapInfo.h"
#include "CachedImage.h"
#include "GraphicsContext.h"
#include "HWndDC.h"
#include "Image.h"
#include "NotImplemented.h"
[FTW] Refactor Direct2D code to follow Cairo's model to support modern WebKit https://bugs.webkit.org/show_bug.cgi?id=200270 Reviewed by Dean Jackson. Refactor the Direct2D code in WebCore so that the core routines can be shared between GraphicsContext and GraphicsContextImpl. Implement PlatformContext, BackingStoreBackend, and GraphicsContextImpl for the Direct2D engine. This patch effectively just moves code around. * PlatformFTW.cmake: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextImpl.h: * platform/graphics/ImageSource.cpp: * platform/graphics/Pattern.h: * platform/graphics/displaylists/DisplayListRecorder.cpp: * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/win/BackingStoreBackendDirect2D.h: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.cpp: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.h: Added. * platform/graphics/win/Direct2DOperations.cpp: Added. * platform/graphics/win/Direct2DOperations.h: Added. * platform/graphics/win/Direct2DUtilities.cpp: Added. * platform/graphics/win/Direct2DUtilities.h: Added. * platform/graphics/win/FontCascadeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/GraphicsContextDirect2D.cpp: * platform/graphics/win/GraphicsContextImplDirect2D.cpp: Added. * platform/graphics/win/GraphicsContextImplDirect2D.h: Added. * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: * platform/graphics/win/ImageBufferDataDirect2D.h: * platform/graphics/win/ImageBufferDirect2D.cpp: * platform/graphics/win/NativeImageDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: * platform/graphics/win/PatternDirect2D.cpp: * platform/graphics/win/PlatformContextDirect2D.cpp: Added. * platform/graphics/win/PlatformContextDirect2D.h: Added. * platform/win/DragImageWin.cpp: * svg/graphics/SVGImage.cpp: Canonical link: https://commits.webkit.org/214068@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-30 22:36:14 +00:00
#include "PlatformContextDirect2D.h"
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
#include <d2d1.h>
#include <windows.h>
#include <wtf/RetainPtr.h>
#include <wtf/win/GDIObject.h>
namespace WebCore {
[FTW] Refactor Direct2D code to follow Cairo's model to support modern WebKit https://bugs.webkit.org/show_bug.cgi?id=200270 Reviewed by Dean Jackson. Refactor the Direct2D code in WebCore so that the core routines can be shared between GraphicsContext and GraphicsContextImpl. Implement PlatformContext, BackingStoreBackend, and GraphicsContextImpl for the Direct2D engine. This patch effectively just moves code around. * PlatformFTW.cmake: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextImpl.h: * platform/graphics/ImageSource.cpp: * platform/graphics/Pattern.h: * platform/graphics/displaylists/DisplayListRecorder.cpp: * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/win/BackingStoreBackendDirect2D.h: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.cpp: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.h: Added. * platform/graphics/win/Direct2DOperations.cpp: Added. * platform/graphics/win/Direct2DOperations.h: Added. * platform/graphics/win/Direct2DUtilities.cpp: Added. * platform/graphics/win/Direct2DUtilities.h: Added. * platform/graphics/win/FontCascadeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/GraphicsContextDirect2D.cpp: * platform/graphics/win/GraphicsContextImplDirect2D.cpp: Added. * platform/graphics/win/GraphicsContextImplDirect2D.h: Added. * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: * platform/graphics/win/ImageBufferDataDirect2D.h: * platform/graphics/win/ImageBufferDirect2D.cpp: * platform/graphics/win/NativeImageDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: * platform/graphics/win/PatternDirect2D.cpp: * platform/graphics/win/PlatformContextDirect2D.cpp: Added. * platform/graphics/win/PlatformContextDirect2D.h: Added. * platform/win/DragImageWin.cpp: * svg/graphics/SVGImage.cpp: Canonical link: https://commits.webkit.org/214068@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-30 22:36:14 +00:00
void deallocContext(PlatformContextDirect2D* platformContext)
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
{
[FTW] Refactor Direct2D code to follow Cairo's model to support modern WebKit https://bugs.webkit.org/show_bug.cgi?id=200270 Reviewed by Dean Jackson. Refactor the Direct2D code in WebCore so that the core routines can be shared between GraphicsContext and GraphicsContextImpl. Implement PlatformContext, BackingStoreBackend, and GraphicsContextImpl for the Direct2D engine. This patch effectively just moves code around. * PlatformFTW.cmake: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextImpl.h: * platform/graphics/ImageSource.cpp: * platform/graphics/Pattern.h: * platform/graphics/displaylists/DisplayListRecorder.cpp: * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/win/BackingStoreBackendDirect2D.h: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.cpp: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.h: Added. * platform/graphics/win/Direct2DOperations.cpp: Added. * platform/graphics/win/Direct2DOperations.h: Added. * platform/graphics/win/Direct2DUtilities.cpp: Added. * platform/graphics/win/Direct2DUtilities.h: Added. * platform/graphics/win/FontCascadeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/GraphicsContextDirect2D.cpp: * platform/graphics/win/GraphicsContextImplDirect2D.cpp: Added. * platform/graphics/win/GraphicsContextImplDirect2D.h: Added. * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: * platform/graphics/win/ImageBufferDataDirect2D.h: * platform/graphics/win/ImageBufferDirect2D.cpp: * platform/graphics/win/NativeImageDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: * platform/graphics/win/PatternDirect2D.cpp: * platform/graphics/win/PlatformContextDirect2D.cpp: Added. * platform/graphics/win/PlatformContextDirect2D.h: Added. * platform/win/DragImageWin.cpp: * svg/graphics/SVGImage.cpp: Canonical link: https://commits.webkit.org/214068@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-30 22:36:14 +00:00
if (platformContext) {
if (auto* renderTarget = platformContext->renderTarget())
renderTarget->Release();
}
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
}
[FTW] Refactor Direct2D code to follow Cairo's model to support modern WebKit https://bugs.webkit.org/show_bug.cgi?id=200270 Reviewed by Dean Jackson. Refactor the Direct2D code in WebCore so that the core routines can be shared between GraphicsContext and GraphicsContextImpl. Implement PlatformContext, BackingStoreBackend, and GraphicsContextImpl for the Direct2D engine. This patch effectively just moves code around. * PlatformFTW.cmake: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextImpl.h: * platform/graphics/ImageSource.cpp: * platform/graphics/Pattern.h: * platform/graphics/displaylists/DisplayListRecorder.cpp: * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/win/BackingStoreBackendDirect2D.h: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.cpp: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.h: Added. * platform/graphics/win/Direct2DOperations.cpp: Added. * platform/graphics/win/Direct2DOperations.h: Added. * platform/graphics/win/Direct2DUtilities.cpp: Added. * platform/graphics/win/Direct2DUtilities.h: Added. * platform/graphics/win/FontCascadeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/GraphicsContextDirect2D.cpp: * platform/graphics/win/GraphicsContextImplDirect2D.cpp: Added. * platform/graphics/win/GraphicsContextImplDirect2D.h: Added. * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: * platform/graphics/win/ImageBufferDataDirect2D.h: * platform/graphics/win/ImageBufferDirect2D.cpp: * platform/graphics/win/NativeImageDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: * platform/graphics/win/PatternDirect2D.cpp: * platform/graphics/win/PlatformContextDirect2D.cpp: Added. * platform/graphics/win/PlatformContextDirect2D.h: Added. * platform/win/DragImageWin.cpp: * svg/graphics/SVGImage.cpp: Canonical link: https://commits.webkit.org/214068@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-30 22:36:14 +00:00
GDIObject<HBITMAP> allocImage(HDC dc, IntSize size, PlatformContextDirect2D** platformContext)
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
{
BitmapInfo bmpInfo = BitmapInfo::create(size);
LPVOID bits = nullptr;
auto hbmp = adoptGDIObject(::CreateDIBSection(dc, &bmpInfo, DIB_RGB_COLORS, &bits, 0, 0));
[FTW] Refactor Direct2D code to follow Cairo's model to support modern WebKit https://bugs.webkit.org/show_bug.cgi?id=200270 Reviewed by Dean Jackson. Refactor the Direct2D code in WebCore so that the core routines can be shared between GraphicsContext and GraphicsContextImpl. Implement PlatformContext, BackingStoreBackend, and GraphicsContextImpl for the Direct2D engine. This patch effectively just moves code around. * PlatformFTW.cmake: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContextImpl.h: * platform/graphics/ImageSource.cpp: * platform/graphics/Pattern.h: * platform/graphics/displaylists/DisplayListRecorder.cpp: * platform/graphics/displaylists/DisplayListRecorder.h: * platform/graphics/win/BackingStoreBackendDirect2D.h: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.cpp: Added. * platform/graphics/win/BackingStoreBackendDirect2DImpl.h: Added. * platform/graphics/win/Direct2DOperations.cpp: Added. * platform/graphics/win/Direct2DOperations.h: Added. * platform/graphics/win/Direct2DUtilities.cpp: Added. * platform/graphics/win/Direct2DUtilities.h: Added. * platform/graphics/win/FontCascadeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/GraphicsContextDirect2D.cpp: * platform/graphics/win/GraphicsContextImplDirect2D.cpp: Added. * platform/graphics/win/GraphicsContextImplDirect2D.h: Added. * platform/graphics/win/GraphicsContextPlatformPrivateDirect2D.h: * platform/graphics/win/ImageBufferDataDirect2D.h: * platform/graphics/win/ImageBufferDirect2D.cpp: * platform/graphics/win/NativeImageDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: * platform/graphics/win/PatternDirect2D.cpp: * platform/graphics/win/PlatformContextDirect2D.cpp: Added. * platform/graphics/win/PlatformContextDirect2D.h: Added. * platform/win/DragImageWin.cpp: * svg/graphics/SVGImage.cpp: Canonical link: https://commits.webkit.org/214068@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248020 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-07-30 22:36:14 +00:00
if (!platformContext || !hbmp)
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
return hbmp;
// FIXME: Use GDI Interop layer to create HBITMAP from D2D Bitmap
notImplemented();
return hbmp;
}
DragImageRef scaleDragImage(DragImageRef imageRef, FloatSize scale)
{
// FIXME: due to the way drag images are done on windows we need
// to preprocess the alpha channel <rdar://problem/5015946>
if (!imageRef)
return nullptr;
GDIObject<HBITMAP> hbmp;
auto image = adoptGDIObject(imageRef);
IntSize srcSize = dragImageSize(image.get());
IntSize dstSize(static_cast<int>(srcSize.width() * scale.width()), static_cast<int>(srcSize.height() * scale.height()));
HWndDC dc(nullptr);
auto dstDC = adoptGDIObject(::CreateCompatibleDC(dc));
if (dstDC)
notImplemented();
if (!hbmp)
hbmp.swap(image);
return hbmp.leak();
}
shouldRespectImageOrientation should be a value in ImageOrientation https://bugs.webkit.org/show_bug.cgi?id=200553 Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-08-13 Reviewed by Simon Fraser. Source/WebCore: This patch is a step towards implementing the css image-orientation. Instead of having ImageOrientationEnum, ImageOrientationDescription, ImageOrientation and RespectImageOrientationEnum we are going to have a single structure named 'ImageOrientation' which is a wrapper for the enum type "Orientation". This structure will have a constructor and casting operator such that assigning an enum value and comparing with an enum value will be done implicitly. RespectImageOrientation is represented as a new enum value 'FromImage'. * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): (WebCore::CSSPrimitiveValue::operator ImageOrientation const): (WebCore::CSSPrimitiveValue::operator ImageOrientationEnum const): Deleted. * dom/DataTransfer.cpp: (WebCore::DataTransfer::createDragImage const): * html/HTMLCanvasElement.cpp: (WebCore::HTMLCanvasElement::paint): * loader/cache/CachedImage.cpp: (WebCore::CachedImage::imageSizeForRenderer const): * page/DragController.cpp: (WebCore::DragController::doImageDrag): * platform/DragImage.cpp: (WebCore::createDragImageFromSnapshot): (WebCore::createDragImageFromImage): * platform/DragImage.h: * platform/graphics/BitmapImage.cpp: (WebCore::BitmapImage::draw): (WebCore::BitmapImage::drawPattern): * platform/graphics/BitmapImage.h: * platform/graphics/CrossfadeGeneratedImage.cpp: (WebCore::CrossfadeGeneratedImage::draw): * platform/graphics/CrossfadeGeneratedImage.h: * platform/graphics/CustomPaintImage.cpp: (WebCore::CustomPaintImage::draw): * platform/graphics/CustomPaintImage.h: * platform/graphics/GeneratedImage.h: * platform/graphics/GradientImage.cpp: (WebCore::GradientImage::draw): * platform/graphics/GradientImage.h: * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage): (WebCore::GraphicsContext::drawTiledImage): * platform/graphics/GraphicsContext.h: (WebCore::ImagePaintingOptions::ImagePaintingOptions): * platform/graphics/GraphicsContextImpl.cpp: (WebCore::GraphicsContextImpl::drawImageImpl): (WebCore::GraphicsContextImpl::drawTiledImageImpl): * platform/graphics/Image.cpp: (WebCore::Image::drawTiled): * platform/graphics/Image.h: * platform/graphics/ImageFrame.h: * platform/graphics/ImageOrientation.cpp: Removed. * platform/graphics/ImageOrientation.h: (WebCore::ImageOrientation::ImageOrientation): (WebCore::ImageOrientation::fromEXIFValue): (WebCore::ImageOrientation::operator Orientation const): (WebCore::ImageOrientation::usesWidthAsHeight const): (WebCore::ImageOrientation::transformFromDefault const): (WebCore::ImageOrientation::isValidOrientation): (WebCore::ImageOrientation::isValidEXIFOrientation): (WebCore::ImageOrientationDescription::ImageOrientationDescription): Deleted. (WebCore::ImageOrientationDescription::setRespectImageOrientation): Deleted. (WebCore::ImageOrientationDescription::respectImageOrientation): Deleted. (WebCore::ImageOrientationDescription::setImageOrientationEnum): Deleted. (WebCore::ImageOrientationDescription::imageOrientation): Deleted. (WebCore::ImageOrientation::operator ImageOrientationEnum const): Deleted. (WebCore::ImageOrientation::operator== const): Deleted. (WebCore::ImageOrientation::operator!= const): Deleted. * platform/graphics/ImageSource.cpp: (WebCore::ImageSource::dump): * platform/graphics/NamedImageGeneratedImage.cpp: (WebCore::NamedImageGeneratedImage::draw): * platform/graphics/NamedImageGeneratedImage.h: * platform/graphics/NativeImage.h: * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm: (WebCore::ImageDecoderAVFObjC::frameOrientationAtIndex const): * platform/graphics/cairo/CairoOperations.cpp: (WebCore::Cairo::drawShadowLayerBuffer): (WebCore::Cairo::drawShadowImage): (WebCore::Cairo::drawNativeImage): * platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::draw): * platform/graphics/cairo/NativeImageCairo.cpp: (WebCore::drawNativeImage): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::drawNativeImage): * platform/graphics/cg/ImageDecoderCG.cpp: (WebCore::orientationFromProperties): (WebCore::ImageDecoderCG::frameOrientationAtIndex const): * platform/graphics/cg/NativeImageCG.cpp: (WebCore::drawNativeImage): * platform/graphics/cg/PDFDocumentImage.cpp: (WebCore::PDFDocumentImage::draw): * platform/graphics/cg/PDFDocumentImage.h: * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivateGStreamer::handleMessage): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp: (WebCore::MediaPlayerPrivateGStreamerBase::paint): (WebCore::MediaPlayerPrivateGStreamerBase::setVideoSourceOrientation): (WebCore::MediaPlayerPrivateGStreamerBase::updateTextureMapperFlags): * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: * platform/graphics/gstreamer/VideoTextureCopierGStreamer.cpp: (WebCore::VideoTextureCopierGStreamer::updateTextureSpaceMatrix): (WebCore::VideoTextureCopierGStreamer::copyVideoTextureToPlatformTexture): * platform/graphics/gstreamer/VideoTextureCopierGStreamer.h: * platform/graphics/win/Direct2DOperations.cpp: (WebCore::Direct2D::drawNativeImage): * platform/graphics/win/ImageCGWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): (WebCore::BitmapImage::drawFrameMatchingSourceSize): * platform/graphics/win/ImageCairoWin.cpp: (WebCore::BitmapImage::getHBITMAPOfSize): (WebCore::BitmapImage::drawFrameMatchingSourceSize): * platform/graphics/win/ImageDecoderDirect2D.cpp: (WebCore::ImageDecoderDirect2D::frameOrientationAtIndex const): * platform/graphics/win/ImageDirect2D.cpp: (WebCore::BitmapImage::drawFrameMatchingSourceSize): * platform/graphics/win/NativeImageDirect2D.cpp: (WebCore::drawNativeImage): * platform/gtk/DragImageGtk.cpp: (WebCore::createDragImageFromImage): * platform/image-decoders/ScalableImageDecoderFrame.h: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: (WebCore::readImageOrientation): * platform/ios/DragImageIOS.mm: (WebCore::createDragImageFromImage): * platform/mac/DragImageMac.mm: (WebCore::createDragImageFromImage): * platform/win/DragImageCGWin.cpp: (WebCore::createDragImageFromImage): * platform/win/DragImageCairoWin.cpp: (WebCore::createDragImageFromImage): * platform/win/DragImageDirect2D.cpp: (WebCore::createDragImageFromImage): * rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended): * rendering/RenderElement.cpp: (WebCore::RenderElement::imageOrientation const): (WebCore::RenderElement::shouldRespectImageOrientation const): Deleted. * rendering/RenderElement.h: * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::paintSnapshotImage): * rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): (WebCore::RenderImage::paintIntoRect): * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::isDirectlyCompositedImage const): * rendering/RenderSnapshottedPlugIn.cpp: (WebCore::RenderSnapshottedPlugIn::paintSnapshot): * rendering/style/RenderStyle.h: (WebCore::RenderStyle::setImageOrientation): (WebCore::RenderStyle::initialImageOrientation): (WebCore::RenderStyle::imageOrientation const): * rendering/style/StyleRareInheritedData.h: * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::drawForContainer): (WebCore::SVGImage::nativeImageForCurrentFrame): (WebCore::SVGImage::nativeImage): (WebCore::SVGImage::draw): * svg/graphics/SVGImage.h: * svg/graphics/SVGImageForContainer.cpp: (WebCore::SVGImageForContainer::draw): * svg/graphics/SVGImageForContainer.h: Source/WebKit: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::imagePositionInformation): Canonical link: https://commits.webkit.org/214443@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-08-14 01:58:53 +00:00
DragImageRef createDragImageFromImage(Image* img, ImageOrientation)
[Win][Direct2D] Disable some CoreGraphics and CoreAnimation-based logic when building for D2D https://bugs.webkit.org/show_bug.cgi?id=162977 Reviewed by Alex Christensen. Currently the Direct2D implementation does not support some of the accelerated compositing features that require CoreAnimation. During this bring-up, we want to disable these routines so that we can build and run in (mostly) unaccelerated drawing. This patch mostly consists of adding "#if USE(CG)" and "#if USE(CA)" to files that are specific to those implementations. This change should have no impact on non-Direct2D ports. No change in behavior for active ports. * config.h: Turn of CG when building in Direct2D. * css/CSSFontFaceSource.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedSVGFont.cpp: * page/CaptionUserPreferencesMediaAF.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameDirect2D.cpp: Added. * platform/graphics/Font.cpp: * platform/graphics/FontCache.cpp: * platform/graphics/FontPlatformData.cpp: * platform/graphics/GraphicsContext.h: * platform/graphics/Image.cpp: * platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/TileController.cpp: * platform/graphics/ca/TileGrid.cpp: * platform/graphics/ca/TileGrid.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAAnimationWin.h: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/SubimageCacheWithTimer.cpp: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontPlatformDataCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeDirect2D.cpp: * platform/graphics/win/GradientDirect2D.cpp: * platform/graphics/win/PathDirect2D.cpp: Fix a few build problems I didn't notice while building without Direct2D active. * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageDirect2D.cpp: Added. * rendering/RenderMediaControls.cpp: Canonical link: https://commits.webkit.org/180884@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206830 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2016-10-05 21:16:27 +00:00
{
HWndDC dc(nullptr);
auto workingDC = adoptGDIObject(::CreateCompatibleDC(dc));
if (!workingDC)
return nullptr;
notImplemented();
return nullptr;
}
}
#endif