Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/widget/cocoa/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 4 kB image not shown  

Quelle  nsPrintSettingsX.h   Sprache: 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 nsPrintSettingsX_h_
#define nsPrintSettingsX_h_

#include "nsPrintSettingsImpl.h"
#import <Cocoa/Cocoa.h>

// clang-format off
#define NS_PRINTSETTINGSX_IID                        \
  {                                                  \
    0x0DF2FDBD, 0x906D, 0x4726, {                    \
      0x9E, 0x4D, 0xCF, 0xE0, 0x87, 0x8D, 0x70, 0x7C \
    }                                                \
  }
// clang-format on

class nsPrintSettingsX : public nsPrintSettings {
 public:
  NS_DECLARE_STATIC_IID_ACCESSOR(NS_PRINTSETTINGSX_IID)
  NS_DECL_ISUPPORTS_INHERITED

  nsPrintSettingsX();
  explicit nsPrintSettingsX(const PrintSettingsInitializer& aSettings);

  nsresult Init() { return NS_OK; }

  void SetDestination(uint16_t aDestination) { mDestination = aDestination; }
  void GetDestination(uint16_t* aDestination) { *aDestination = mDestination; }

  void SetDisposition(const nsString& aDisposition) {
    mDisposition = aDisposition;
  }
  void GetDisposition(nsString& aDisposition) { aDisposition = mDisposition; }

  // Get a Cocoa NSPrintInfo that is configured with our current settings.
  // This follows Create semantics, so the caller is responsible to release
  // the returned object when no longer required.
  //
  // Pass true for aWithScaling to have the print scaling factor included in
  // the returned printInfo. Normally we pass false, as scaling is handled
  // by Gecko and we don't want the Cocoa print system to impose scaling again
  // on the output, but if we're retrieving the info in order to populate the
  // system print UI, then we do want to know about it.
  NSPrintInfo* CreateOrCopyPrintInfo(bool aWithScaling = false);

  // Update our internal settings to reflect the properties of the given
  // NSPrintInfo.
  //
  // If aAdoptPrintInfo is set, the given NSPrintInfo will be retained and
  // returned by subsequent CreateOrCopyPrintInfo calls, which is required
  // for custom settings from the OS print dialog to be passed through to
  // print jobs. However, this means that subsequent changes to print settings
  // via the generic nsPrintSettings methods will NOT be reflected in the
  // resulting NSPrintInfo.
  void SetFromPrintInfo(NSPrintInfo* aPrintInfo, bool aAdoptPrintInfo);

 protected:
  virtual ~nsPrintSettingsX() {
    if (mSystemPrintInfo) {
      [mSystemPrintInfo release];
    }
  };

  nsPrintSettingsX& operator=(const nsPrintSettingsX& rhs);

  nsresult _Clone(nsIPrintSettings** _retval) override;
  nsresult _Assign(nsIPrintSettings* aPS) override;

  int GetCocoaUnit(int16_t aGeckoUnit);

  double PaperSizeFromCocoaPoints(double aPointsValue) {
    return aPointsValue *
           (mPaperSizeUnit == kPaperSizeInches ? 1.0 / 72.0 : 25.4 / 72.0);
  }

  double CocoaPointsFromPaperSize(double aSizeUnitValue) {
    return aSizeUnitValue *
           (mPaperSizeUnit == kPaperSizeInches ? 72.0 : 72.0 / 25.4);
  }

  // Needed to correctly track the various job dispositions (spool, preview,
  // save to file) that the user can choose via the system print dialog.
  // Unfortunately it seems to be necessary to set both the Cocoa "job
  // disposition" and the PrintManager "destination type" in order for all the
  // various workflows such as "Save to Web Receipts" to work.
  nsString mDisposition;
  uint16_t mDestination;

  // If the user has used the system print UI, we retain a reference to its
  // printInfo because it may contain settings that we don't know how to handle
  // and that will be lost if we round-trip through nsPrintSettings fields.
  // We'll use this printInfo if asked to run a print job.
  //
  // This "wrapped" printInfo is NOT serialized or copied when printSettings
  // objects are passed around; it is used only by the settings object to which
  // it was originally passed.
  NSPrintInfo* mSystemPrintInfo = nullptr;
};

NS_DEFINE_STATIC_IID_ACCESSOR(nsPrintSettingsX, NS_PRINTSETTINGSX_IID)

#endif  // nsPrintSettingsX_h_

Messung V0.5
C=92 H=95 G=93

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.