mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
377e7ae977
WindowsEMF could be initialized with the path of a file where the EMF data should be stored. If pass null point to the constructor that means the EMF data are store in memory. Consumers can call GetDC() to get a HDC. It can be drawn to generate the EMF output. After finishing with the HDC, call FinishDocument() to finish writing the EMF output. Then consumers can call Playback() to play the EMF's drawing commands onto the given DC. Once consumers don't use WindowsEMF anymore, call ReleaseEMFHandle() to release object's handle. If the EMF output is in memory, it is deleted. If it is on disk, it is not. Consumers also can initialize WindowsEMF with an existing EMF file. They can only use Playback(). MozReview-Commit-ID: 8hUsx8b2CXz --HG-- extra : rebase_source : 99e38e61a00bfae45ec9102b3b23a095a7f3af1e
128 lines
2.8 KiB
Python
128 lines
2.8 KiB
Python
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
|
|
# vim: set filetype=python:
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
with Files("**"):
|
|
BUG_COMPONENT = ("Core", "Widget: Win32")
|
|
|
|
TEST_DIRS += ['tests']
|
|
|
|
EXPORTS += [
|
|
'nsdefs.h',
|
|
'WindowHook.h',
|
|
'WinUtils.h',
|
|
]
|
|
|
|
EXPORTS.mozilla.widget += [
|
|
'AudioSession.h',
|
|
'CompositorWidgetChild.h',
|
|
'CompositorWidgetParent.h',
|
|
'InProcessWinCompositorWidget.h',
|
|
'WinCompositorWidget.h',
|
|
'WinMessages.h',
|
|
'WinModifierKeyState.h',
|
|
'WinNativeEventData.h',
|
|
]
|
|
|
|
UNIFIED_SOURCES += [
|
|
'AudioSession.cpp',
|
|
'CompositorWidgetChild.cpp',
|
|
'CompositorWidgetParent.cpp',
|
|
'GfxInfo.cpp',
|
|
'IEnumFE.cpp',
|
|
'IMMHandler.cpp',
|
|
'InkCollector.cpp',
|
|
'InProcessWinCompositorWidget.cpp',
|
|
'JumpListItem.cpp',
|
|
'KeyboardLayout.cpp',
|
|
'nsAppShell.cpp',
|
|
'nsClipboard.cpp',
|
|
'nsColorPicker.cpp',
|
|
'nsDataObj.cpp',
|
|
'nsDataObjCollection.cpp',
|
|
'nsDragService.cpp',
|
|
'nsIdleServiceWin.cpp',
|
|
'nsImageClipboard.cpp',
|
|
'nsLookAndFeel.cpp',
|
|
'nsNativeDragSource.cpp',
|
|
'nsNativeDragTarget.cpp',
|
|
'nsNativeThemeWin.cpp',
|
|
'nsSound.cpp',
|
|
'nsToolkit.cpp',
|
|
'nsUXThemeData.cpp',
|
|
'nsWindow.cpp',
|
|
'nsWindowBase.cpp',
|
|
'nsWindowDbg.cpp',
|
|
'nsWindowGfx.cpp',
|
|
'nsWinGesture.cpp',
|
|
'ScreenHelperWin.cpp',
|
|
'TaskbarPreview.cpp',
|
|
'TaskbarPreviewButton.cpp',
|
|
'TaskbarTabPreview.cpp',
|
|
'TaskbarWindowPreview.cpp',
|
|
'WidgetTraceEvent.cpp',
|
|
'WindowHook.cpp',
|
|
'WinIMEHandler.cpp',
|
|
'WinPointerEvents.cpp',
|
|
'WinTaskbar.cpp',
|
|
'WinTextEventDispatcherListener.cpp',
|
|
'WinUtils.cpp',
|
|
]
|
|
|
|
# The following files cannot be built in unified mode because of name clashes.
|
|
SOURCES += [
|
|
'JumpListBuilder.cpp',
|
|
'nsBidiKeyboard.cpp',
|
|
'nsFilePicker.cpp',
|
|
'nsWidgetFactory.cpp',
|
|
'WinCompositorWidget.cpp',
|
|
'WindowsUIUtils.cpp',
|
|
'WinMouseScrollHandler.cpp',
|
|
]
|
|
|
|
if CONFIG['MOZ_CRASHREPORTER']:
|
|
UNIFIED_SOURCES += [
|
|
'LSPAnnotator.cpp',
|
|
]
|
|
|
|
if CONFIG['NS_PRINTING']:
|
|
UNIFIED_SOURCES += [
|
|
'nsDeviceContextSpecWin.cpp',
|
|
'nsPrintOptionsWin.cpp',
|
|
'nsPrintSettingsWin.cpp',
|
|
'WindowsEMF.cpp',
|
|
]
|
|
|
|
if CONFIG['NS_ENABLE_TSF']:
|
|
SOURCES += [
|
|
'TSFTextStore.cpp',
|
|
]
|
|
|
|
include('/ipc/chromium/chromium-config.mozbuild')
|
|
|
|
FINAL_LIBRARY = 'xul'
|
|
|
|
LOCAL_INCLUDES += [
|
|
'/layout/generic',
|
|
'/layout/xul',
|
|
'/toolkit/xre',
|
|
'/widget',
|
|
'/xpcom/base',
|
|
]
|
|
|
|
DEFINES['MOZ_UNICODE'] = True
|
|
|
|
for var in ('MOZ_ENABLE_D3D10_LAYER'):
|
|
if CONFIG[var]:
|
|
DEFINES[var] = True
|
|
|
|
RESFILE = 'widget.res'
|
|
|
|
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
|
|
|
|
OS_LIBS += [
|
|
'rpcrt4',
|
|
]
|