mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 02:05:42 +00:00
5dc21d568c
The inclusions were removed with the following very crude script and the resulting breakage was fixed up by hand. The manual fixups did either revert the changes done by the script, replace a generic header with a more specific one or replace a header with a forward declaration. find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2) if [ -n "$interfaces" ]; then if [[ "$interfaces" == *$'\n'* ]]; then regexp="\(" for i in $interfaces; do regexp="$regexp$i\|"; done regexp="${regexp%%\\\|}\)" else regexp="$interfaces" fi interface=$(basename "$path") rg -l "#include.*${interface%%.idl}.h" . | while read path2; do hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" ) if [ $hits -eq 0 ]; then echo "Removing ${interface} from ${path2}" grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp mv -f "$path2".tmp "$path2" fi done fi done Differential Revision: https://phabricator.services.mozilla.com/D55444 --HG-- extra : moz-landing-system : lando
96 lines
2.9 KiB
C++
96 lines
2.9 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* 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/. */
|
|
|
|
#ifndef nsDeviceContextSpecWin_h___
|
|
#define nsDeviceContextSpecWin_h___
|
|
|
|
#include "nsCOMPtr.h"
|
|
#include "nsIDeviceContextSpec.h"
|
|
#include "nsIPrinterEnumerator.h"
|
|
#include "nsIPrintSettings.h"
|
|
#include <windows.h>
|
|
#include "mozilla/Attributes.h"
|
|
#include "mozilla/RefPtr.h"
|
|
|
|
class nsIWidget;
|
|
|
|
class nsDeviceContextSpecWin : public nsIDeviceContextSpec {
|
|
public:
|
|
nsDeviceContextSpecWin();
|
|
|
|
NS_DECL_ISUPPORTS
|
|
|
|
already_AddRefed<PrintTarget> MakePrintTarget() final;
|
|
NS_IMETHOD BeginDocument(const nsAString& aTitle,
|
|
const nsAString& aPrintToFileName,
|
|
int32_t aStartPage, int32_t aEndPage) override {
|
|
return NS_OK;
|
|
}
|
|
NS_IMETHOD EndDocument() override { return NS_OK; }
|
|
NS_IMETHOD BeginPage() override { return NS_OK; }
|
|
NS_IMETHOD EndPage() override { return NS_OK; }
|
|
|
|
NS_IMETHOD Init(nsIWidget* aWidget, nsIPrintSettings* aPS,
|
|
bool aIsPrintPreview) override;
|
|
|
|
float GetDPI() final;
|
|
|
|
float GetPrintingScale() final;
|
|
gfxPoint GetPrintingTranslate() final;
|
|
|
|
void GetDriverName(nsAString& aDriverName) const {
|
|
aDriverName = mDriverName;
|
|
}
|
|
void GetDeviceName(nsAString& aDeviceName) const {
|
|
aDeviceName = mDeviceName;
|
|
}
|
|
|
|
// The GetDevMode will return a pointer to a DevMode
|
|
// whether it is from the Global memory handle or just the DevMode
|
|
// To get the DevMode from the Global memory Handle it must lock it
|
|
// So this call must be paired with a call to UnlockGlobalHandle
|
|
void GetDevMode(LPDEVMODEW& aDevMode);
|
|
|
|
// helper functions
|
|
nsresult GetDataFromPrinter(const nsAString& aName,
|
|
nsIPrintSettings* aPS = nullptr);
|
|
|
|
protected:
|
|
void SetDeviceName(const nsAString& aDeviceName);
|
|
void SetDriverName(const nsAString& aDriverName);
|
|
void SetDevMode(LPDEVMODEW aDevMode);
|
|
|
|
virtual ~nsDeviceContextSpecWin();
|
|
|
|
nsString mDriverName;
|
|
nsString mDeviceName;
|
|
LPDEVMODEW mDevMode;
|
|
|
|
nsCOMPtr<nsIPrintSettings> mPrintSettings;
|
|
int16_t mOutputFormat = nsIPrintSettings::kOutputFormatNative;
|
|
|
|
#ifdef MOZ_ENABLE_SKIA_PDF
|
|
|
|
// This variable is independant of nsIPrintSettings::kOutputFormatPDF.
|
|
// It controls both whether normal printing is done via PDF using Skia and
|
|
// whether print-to-PDF uses Skia.
|
|
bool mPrintViaSkPDF;
|
|
#endif
|
|
};
|
|
|
|
//-------------------------------------------------------------------------
|
|
// Printer Enumerator
|
|
//-------------------------------------------------------------------------
|
|
class nsPrinterEnumeratorWin final : public nsIPrinterEnumerator {
|
|
~nsPrinterEnumeratorWin();
|
|
|
|
public:
|
|
nsPrinterEnumeratorWin();
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIPRINTERENUMERATOR
|
|
};
|
|
|
|
#endif
|