QScreen Class

Die Klasse QScreen wird zur Abfrage von Bildschirmeigenschaften verwendet. Mehr...

Kopfzeile: #include <QScreen>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Vererbt: QObject

Eigenschaften

Öffentliche Funktionen

int angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const
QRect availableGeometry() const
QSize availableSize() const
QRect availableVirtualGeometry() const
QSize availableVirtualSize() const
int depth() const
qreal devicePixelRatio() const
QRect geometry() const
QPixmap grabWindow(WId window = 0, int x = 0, int y = 0, int width = -1, int height = -1)
QPlatformScreen *handle() const
bool isLandscape(Qt::ScreenOrientation o) const
bool isPortrait(Qt::ScreenOrientation o) const
qreal logicalDotsPerInch() const
qreal logicalDotsPerInchX() const
qreal logicalDotsPerInchY() const
QString manufacturer() const
QRect mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const
QString model() const
QString name() const
QNativeInterface *nativeInterface() const
Qt::ScreenOrientation nativeOrientation() const
Qt::ScreenOrientation orientation() const
qreal physicalDotsPerInch() const
qreal physicalDotsPerInchX() const
qreal physicalDotsPerInchY() const
QSizeF physicalSize() const
Qt::ScreenOrientation primaryOrientation() const
qreal refreshRate() const
QString serialNumber() const
QSize size() const
QTransform transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const
QRect virtualGeometry() const
QScreen *virtualSiblingAt(QPoint point)
QList<QScreen *> virtualSiblings() const
QSize virtualSize() const

Signale

void availableGeometryChanged(const QRect &geometry)
void geometryChanged(const QRect &geometry)
void logicalDotsPerInchChanged(qreal dpi)
void orientationChanged(Qt::ScreenOrientation orientation)
void physicalDotsPerInchChanged(qreal dpi)
void physicalSizeChanged(const QSizeF &size)
void primaryOrientationChanged(Qt::ScreenOrientation orientation)
void refreshRateChanged(qreal refreshRate)
void virtualGeometryChanged(const QRect &rect)

Detaillierte Beschreibung

Ein Hinweis zu logischen vs. physischen Punkten pro Zoll: physische DPI basieren auf den tatsächlichen physischen Pixelgrößen, sofern verfügbar, und sind nützlich für die Druckvorschau und andere Fälle, in denen es wünschenswert ist, die genauen physischen Abmessungen des auf dem Bildschirm angezeigten Inhalts zu kennen.

Logische Punkte pro Zoll werden verwendet, um Schriftarten und Elemente der Benutzeroberfläche von Punktgrößen in Pixelgrößen zu konvertieren, und können sich von den physischen Punkten pro Zoll unterscheiden. Die logischen Punkte pro Zoll können manchmal vom Benutzer im Einstellungsfenster der Desktop-Umgebung eingestellt werden, damit der Benutzer die Größe der Benutzeroberfläche und der Schriftarten in verschiedenen Anwendungen global steuern kann.

Hinweis: Sowohl physische als auch logische DPI werden in geräteunabhängigen Punkten ausgedrückt. Multiplizieren Sie mit QScreen::devicePixelRatio(), um die geräteabhängige Dichte zu erhalten.

Dokumentation der Eigenschaft

[read-only] availableGeometry : const QRect

Diese Eigenschaft enthält die verfügbare Geometrie des Bildschirms in Pixeln

Die verfügbare Geometrie ist die Geometrie ohne die vom Fenstermanager reservierten Bereiche wie Taskleisten und Systemmenüs.

Beachten Sie, dass dies unter X11 nur auf Systemen mit einem Monitor und wenn der Fenstermanager das Atom _NET_WORKAREA gesetzt hat, die wahre verfügbare Geometrie zurückgibt. In allen anderen Fällen ist dies gleich geometry(). Dies ist eine Einschränkung in der Spezifikation des X11-Fenstermanagers.

Zugriffsfunktionen:

QRect availableGeometry() const

Notifier-Signal:

void availableGeometryChanged(const QRect &geometry)

[read-only] availableSize : const QSize

Diese Eigenschaft enthält die verfügbare Größe des Bildschirms in Pixeln

Die verfügbare Größe ist die Größe ohne die vom Fenstermanager reservierten Bereiche wie Taskleisten und Systemmenüs.

Zugriffsfunktionen:

QSize availableSize() const

Benachrichtigungssignal:

void availableGeometryChanged(const QRect &geometry)

[read-only] availableVirtualGeometry : const QRect

Diese Eigenschaft enthält die verfügbare Geometrie des virtuellen Desktops, zu dem dieser Bildschirm gehört

Gibt die verfügbare Geometrie des virtuellen Desktops zurück, der diesem Bildschirm entspricht.

Dies ist die Vereinigung der einzelnen verfügbaren Geometrien der virtuellen Geschwister.

Zugriffsfunktionen:

QRect availableVirtualGeometry() const

Benachrichtigungssignal:

void virtualGeometryChanged(const QRect &rect)

Siehe auch availableGeometry() und virtualSiblings().

[read-only] availableVirtualSize : const QSize

Diese Eigenschaft enthält die verfügbare Größe des virtuellen Desktops, zu dem dieser Bildschirm gehört

Gibt die verfügbare Pixelgröße des virtuellen Desktops zurück, der zu diesem Bildschirm gehört.

Dies ist die kombinierte Größe der einzelnen verfügbaren Geometrien der virtuellen Geschwister.

Zugriffsfunktionen:

QSize availableVirtualSize() const

Benachrichtigungssignal:

void virtualGeometryChanged(const QRect &rect)

Siehe auch availableSize() und virtualSiblings().

[read-only] depth : const int

Diese Eigenschaft enthält die Farbtiefe des Bildschirms

Zugriffsfunktionen:

int depth() const

[read-only] devicePixelRatio : const qreal

Diese Eigenschaft enthält das Verhältnis zwischen physischen Pixeln und geräteunabhängigen Pixeln für den Bildschirm

Gibt das Verhältnis zwischen physischen Pixeln und geräteunabhängigen Pixeln für den Bildschirm zurück.

Übliche Werte sind 1,0 bei normalen Bildschirmen und 2,0 bei "Retina"-Bildschirmen. Höhere Werte sind ebenfalls möglich.

Zugriffsfunktionen:

qreal devicePixelRatio() const

Benachrichtigungssignal:

void physicalDotsPerInchChanged(qreal dpi)

Siehe auch QWindow::devicePixelRatio() und QGuiApplication::devicePixelRatio().

[read-only] geometry : const QRect

Diese Eigenschaft enthält die Geometrie des Bildschirms in Pixeln

Als Beispiel könnte dies QRect(0, 0, 1280, 1024) zurückgeben, oder in einer virtuellen Desktop-Einstellung QRect(1280, 0, 1280, 1024).

Zugriffsfunktionen:

QRect geometry() const

Benachrichtigungssignal:

void geometryChanged(const QRect &geometry)

[read-only] logicalDotsPerInch : const qreal

Diese Eigenschaft enthält die Anzahl der logischen Punkte oder Pixel pro Zoll

Dieser Wert kann für die Konvertierung von Schriftpunktgrößen in Pixelgrößen verwendet werden.

Es handelt sich um eine praktische Eigenschaft, die einfach der Durchschnitt der Eigenschaften logicalDotsPerInchX und logicalDotsPerInchY ist.

Zugriffsfunktionen:

qreal logicalDotsPerInch() const

Benachrichtigungssignal:

void logicalDotsPerInchChanged(qreal dpi)

Siehe auch logicalDotsPerInchX() und logicalDotsPerInchY().

[read-only] logicalDotsPerInchX : const qreal

Diese Eigenschaft enthält die Anzahl der logischen Punkte oder Pixel pro Zoll in horizontaler Richtung

Dieser Wert wird für die Konvertierung von Schriftpunktgrößen in Pixelgrößen verwendet.

Zugriffsfunktionen:

qreal logicalDotsPerInchX() const

Benachrichtigungssignal:

void logicalDotsPerInchChanged(qreal dpi)

Siehe auch logicalDotsPerInchY().

[read-only] logicalDotsPerInchY : const qreal

Diese Eigenschaft enthält die Anzahl der logischen Punkte oder Pixel pro Zoll in vertikaler Richtung

Dieser Wert wird für die Konvertierung von Schriftpunktgrößen in Pixelgrößen verwendet.

Zugriffsfunktionen:

qreal logicalDotsPerInchY() const

Benachrichtigungssignal:

void logicalDotsPerInchChanged(qreal dpi)

Siehe auch logicalDotsPerInchX().

[read-only] manufacturer : const QString

Diese Eigenschaft enthält den Hersteller des Bildschirms

Zugriffsfunktionen:

QString manufacturer() const

[read-only] model : const QString

Diese Eigenschaft enthält das Modell des Bildschirms

Zugriffsfunktionen:

QString model() const

[read-only] name : const QString

Diese Eigenschaft enthält eine vom Benutzer darstellbare Zeichenfolge, die den Bildschirm repräsentiert

Unter X11 entspricht dies zum Beispiel den XRandr-Bildschirmnamen, typischerweise "VGA1", "HDMI1" usw.

Hinweis: Es ist nicht garantiert, dass die vom Benutzer darstellbare Zeichenkette mit dem Ergebnis einer nativen API übereinstimmt, und sie sollte nicht zur eindeutigen Identifizierung eines Bildschirms verwendet werden.

Zugriffsfunktionen:

QString name() const

[read-only] nativeOrientation : const Qt::ScreenOrientation

Diese Eigenschaft enthält die native Bildschirmausrichtung

Die native Ausrichtung des Bildschirms ist die Ausrichtung, bei der der Logo-Aufkleber des Geräts richtig herum erscheint, oder Qt::PrimaryOrientation, wenn die Plattform diese Funktion nicht unterstützt.

Die native Ausrichtung ist eine Eigenschaft der Hardware und ändert sich nicht.

Zugriffsfunktionen:

Qt::ScreenOrientation nativeOrientation() const

[read-only] orientation : const Qt::ScreenOrientation

Diese Eigenschaft enthält die Bildschirmausrichtung

Die Eigenschaft orientation gibt die Ausrichtung des Bildschirms aus der Perspektive des Fenstersystems an.

Die meisten mobilen Geräte und Tablet-Computer enthalten Beschleunigungssensoren. Das Modul Qt Sensors bietet die Möglichkeit, diesen Sensor direkt zu lesen. Das Fenstersystem kann jedoch den gesamten Bildschirm automatisch drehen, je nachdem, wie er gehalten wird; in diesem Fall ändert sich diese orientation Eigenschaft.

Zugriffsfunktionen:

Qt::ScreenOrientation orientation() const

Melder-Signal:

void orientationChanged(Qt::ScreenOrientation orientation)

Siehe auch primaryOrientation() und QWindow::contentOrientation().

[read-only] physicalDotsPerInch : const qreal

Diese Eigenschaft enthält die Anzahl der physischen Punkte oder Pixel pro Zoll

Dieser Wert stellt die Pixeldichte auf dem Bildschirm dar. Je nachdem, welche Informationen das zugrunde liegende System liefert, ist der Wert möglicherweise nicht ganz genau.

Dies ist eine praktische Eigenschaft, die einfach der Durchschnitt der Eigenschaften physicalDotsPerInchX und physicalDotsPerInchY ist.

Hinweis: Physikalische DPI wird in geräteunabhängigen Punkten ausgedrückt. Multiplizieren Sie mit QScreen::devicePixelRatio(), um die geräteabhängige Dichte zu erhalten.

Zugriffsfunktionen:

qreal physicalDotsPerInch() const

Benachrichtigungssignal:

void physicalDotsPerInchChanged(qreal dpi)

Siehe auch physicalDotsPerInchX() und physicalDotsPerInchY().

[read-only] physicalDotsPerInchX : const qreal

Diese Eigenschaft enthält die Anzahl der physischen Punkte oder Pixel pro Zoll in horizontaler Richtung

Dieser Wert stellt die tatsächliche horizontale Pixeldichte auf der Bildschirmanzeige dar. Je nachdem, welche Informationen das zugrunde liegende System liefert, ist der Wert möglicherweise nicht ganz genau.

Hinweis: Physikalische DPI wird in geräteunabhängigen Punkten ausgedrückt. Multiplizieren Sie mit QScreen::devicePixelRatio(), um die geräteabhängige Dichte zu erhalten.

Zugriffsfunktionen:

qreal physicalDotsPerInchX() const

Benachrichtigungssignal:

void physicalDotsPerInchChanged(qreal dpi)

Siehe auch physicalDotsPerInchY().

[read-only] physicalDotsPerInchY : const qreal

Diese Eigenschaft enthält die Anzahl der physischen Punkte oder Pixel pro Zoll in vertikaler Richtung

Dieser Wert stellt die tatsächliche vertikale Pixeldichte auf der Bildschirmanzeige dar. Je nachdem, welche Informationen das zugrunde liegende System liefert, ist der Wert möglicherweise nicht ganz genau.

Hinweis: Physikalische DPI wird in geräteunabhängigen Punkten ausgedrückt. Multiplizieren Sie mit QScreen::devicePixelRatio(), um die geräteabhängige Dichte zu erhalten.

Zugriffsfunktionen:

qreal physicalDotsPerInchY() const

Benachrichtigungssignal:

void physicalDotsPerInchChanged(qreal dpi)

Siehe auch physicalDotsPerInchX().

[read-only] physicalSize : const QSizeF

Diese Eigenschaft enthält die physische Größe des Bildschirms (in Millimetern)

Die physische Größe stellt die tatsächlichen physischen Abmessungen des Bildschirms dar.

Je nachdem, welche Informationen das zugrunde liegende System liefert, ist der Wert möglicherweise nicht ganz genau.

Zugriffsfunktionen:

QSizeF physicalSize() const

Melder-Signal:

void physicalSizeChanged(const QSizeF &size)

[read-only] primaryOrientation : const Qt::ScreenOrientation

Diese Eigenschaft enthält die primäre Bildschirmausrichtung

Die primäre Bildschirmausrichtung ist Qt::LandscapeOrientation, wenn die Breite der Bildschirmgeometrie größer oder gleich der Höhe ist, oder Qt::PortraitOrientation. Diese Eigenschaft kann sich ändern, wenn die Bildschirmausrichtung geändert wurde (z. B. wenn der Bildschirm gedreht wird). Das Verhalten ist jedoch plattformabhängig und kann oft in einer Anwendungsmanifestdatei festgelegt werden.

Zugriffsfunktionen:

Qt::ScreenOrientation primaryOrientation() const

Benachrichtigungssignal:

void primaryOrientationChanged(Qt::ScreenOrientation orientation)

[read-only] refreshRate : const qreal

Diese Eigenschaft enthält die ungefähre vertikale Aktualisierungsrate des Bildschirms in Hz

Warnung: Vermeiden Sie es, die Aktualisierungsrate des Bildschirms zu verwenden, um Animationen über einen Timer wie QChronoTimer zu steuern. Verwenden Sie stattdessen QWindow::requestUpdate().

Zugriffsfunktionen:

qreal refreshRate() const

Benachrichtigungssignal:

void refreshRateChanged(qreal refreshRate)

Siehe auch QWindow::requestUpdate().

[read-only] serialNumber : const QString

Diese Eigenschaft enthält die Seriennummer des Bildschirms

Zugriffsfunktionen:

QString serialNumber() const

[read-only] size : const QSize

Diese Eigenschaft enthält die Pixelauflösung des Bildschirms

Zugriffsfunktionen:

QSize size() const

Benachrichtigungssignal:

void geometryChanged(const QRect &geometry)

[read-only] virtualGeometry : const QRect

Diese Eigenschaft enthält die Pixelgeometrie des virtuellen Desktops, zu dem dieser Bildschirm gehört

Gibt die Pixelgeometrie des virtuellen Desktops zurück, der diesem Bildschirm entspricht.

Dies ist die Vereinigung der individuellen Geometrien der virtuellen Geschwister.

Zugriffsfunktionen:

QRect virtualGeometry() const

Benachrichtigungssignal:

void virtualGeometryChanged(const QRect &rect)

Siehe auch virtualSiblings().

[read-only] virtualSize : const QSize

Diese Eigenschaft enthält die Pixelgröße des virtuellen Desktops, zu dem dieser Bildschirm gehört

Gibt die Pixelgröße des virtuellen Desktops zurück, der zu diesem Bildschirm gehört.

Dies ist die kombinierte Größe der einzelnen Geometrien der virtuellen Geschwister.

Zugriffsfunktionen:

QSize virtualSize() const

Benachrichtigungssignal:

void virtualGeometryChanged(const QRect &rect)

Siehe auch virtualSiblings().

Dokumentation der Mitgliedsfunktionen

int QScreen::angleBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b) const

Convenience-Funktion zur Berechnung des Drehwinkels, um von der Drehung a zur Drehung b zu gelangen.

Das Ergebnis wird 0, 90, 180 oder 270 sein.

Qt::PrimaryOrientation wird als primaryOrientation() des Bildschirms interpretiert.

QPixmap QScreen::grabWindow(WId window = 0, int x = 0, int y = 0, int width = -1, int height = -1)

Erzeugt eine Pixmap und gibt sie zurück, indem der Inhalt des angegebenen window eingeschränkt durch QRect(x, y, width, height) gegrabbt wird. Wenn window gleich 0 ist, wird der gesamte Bildschirm erfasst.

Die Argumente (x, y) geben den Offset im Fenster an, während (width, height) den zu kopierenden Bereich angibt. Wenn width negativ ist, kopiert die Funktion alles bis zum rechten Rand des Fensters. Wenn height negativ ist, kopiert die Funktion alles bis zum unteren Rand des Fensters.

Die Argumente offset und size werden in geräteunabhängigen Pixeln angegeben. Die zurückgegebene Pixmap kann größer sein als die angeforderte Größe, wenn sie von einem Bildschirm mit hohem DPI-Wert gegriffen wird. Rufen Sie QPixmap::devicePixelRatio() auf, um festzustellen, ob dies der Fall ist.

Der Fenstersystembezeichner (WId) kann mit der Funktion QWidget::winId() abgerufen werden. Der Grund für die Verwendung eines Fensterkennzeichens und nicht von QWidget liegt darin, dass man Fenster, die nicht Teil der Anwendung sind, oder Rahmen des Fenstersystems usw. einfangen kann.

Warnung: Das Erfassen von Fenstern, die nicht Teil der Anwendung sind, wird auf Systemen wie iOS nicht unterstützt, wo Sandboxing/Sicherheit das Lesen von Pixeln von Fenstern, die nicht zur Anwendung gehören, verhindert.

Die Funktion grabWindow() erfasst Pixel des Bildschirms, nicht des Fensters, d. h. wenn sich ein anderes Fenster ganz oder teilweise über dem von Ihnen erfassten Fenster befindet, erhalten Sie auch Pixel des darüber liegenden Fensters. Der Mauszeiger wird im Allgemeinen nicht mitgenommen.

Unter X11 ist zu beachten, dass, wenn die angegebene window nicht die gleiche Tiefe wie das Wurzelfenster hat und ein anderes Fenster das von Ihnen gegriffene teilweise oder ganz verdeckt, Sie keine Pixel von dem darüber liegenden Fenster erhalten. Der Inhalt der verdeckten Bereiche in der Pixmap ist dann undefiniert und nicht initialisiert.

Unter Windows Vista und höher funktioniert das Greifen eines überlagerten Fensters, das durch Setzen des Attributs Qt::WA_TranslucentBackground erstellt wird, nicht. Stattdessen sollte der Zugriff auf das Desktop-Widget funktionieren.

Warnung: Im Allgemeinen ist das Greifen eines Bereichs außerhalb des Bildschirms nicht sicher. Dies hängt von dem zugrunde liegenden Fenstersystem ab.

QPlatformScreen *QScreen::handle() const

Holt das Handle des Plattformbildschirms.

Siehe auch Qt Platform Abstraction (QPA).

bool QScreen::isLandscape(Qt::ScreenOrientation o) const

Convenience-Funktion, die true zurückgibt, wenn o entweder Querformat oder invertiertes Querformat ist; andernfalls gibt sie false zurück.

Qt::PrimaryOrientation wird als primaryOrientation() des Bildschirms interpretiert.

bool QScreen::isPortrait(Qt::ScreenOrientation o) const

Convenience-Funktion, die true zurückgibt, wenn o entweder Hochformat oder umgekehrtes Hochformat ist; andernfalls gibt sie false zurück.

Qt::PrimaryOrientation wird als primaryOrientation() des Bildschirms interpretiert.

QRect QScreen::mapBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &rect) const

Bildet das Rechteck zwischen zwei Bildschirmausrichtungen ab.

Dadurch werden die x- und y-Abmessungen des Rechtecks rect gespiegelt, wenn die Ausrichtung a Qt::PortraitOrientation oder Qt::InvertedPortraitOrientation und die Ausrichtung b Qt::LandscapeOrientation oder Qt::InvertedLandscapeOrientation ist, oder umgekehrt.

Qt::PrimaryOrientation wird als die Bildschirmausrichtung primaryOrientation() interpretiert.

template <typename QNativeInterface> QNativeInterface *QScreen::nativeInterface() const

Gibt eine native Schnittstelle des angegebenen Typs für den Bildschirm zurück.

Diese Funktion bietet Zugriff auf die plattformspezifische Funktionalität von QScreen, wie sie im QNativeInterface Namespace definiert ist:

QNativeInterface::QAndroidScreen

Native Schnittstelle zu einem Bildschirm

QNativeInterface::QWaylandScreen

Native Schnittstelle für einen Bildschirm auf Wayland

QNativeInterface::QWindowsScreen

Native Schnittstelle zu einem Bildschirm

Wenn die angeforderte Schnittstelle nicht verfügbar ist, wird nullptr zurückgegeben.

[signal] void QScreen::orientationChanged(Qt::ScreenOrientation orientation)

Dieses Signal wird ausgegeben, wenn sich die Ausrichtung des Bildschirms mit orientation als Argument ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft orientation.

Siehe auch orientation().

[signal] void QScreen::primaryOrientationChanged(Qt::ScreenOrientation orientation)

Dieses Signal wird ausgegeben, wenn sich die primäre Ausrichtung des Bildschirms mit orientation als Argument ändert.

Hinweis: Benachrichtigungssignal für die Eigenschaft primaryOrientation.

Siehe auch primaryOrientation().

QTransform QScreen::transformBetween(Qt::ScreenOrientation a, Qt::ScreenOrientation b, const QRect &target) const

Convenience-Funktion zur Berechnung einer Transformation, die von dem durch die Orientierung a definierten Koordinatensystem in das durch die Orientierung b und die Zieldimensionen target definierte Koordinatensystem überführt.

Beispiel: a ist Qt::Landscape, b ist Qt::Portrait und target ist QRect(0, 0, w, h). Die resultierende Transformation ist so, dass der Punkt QPoint(0, 0) auf QPoint(0, w) abgebildet wird und QPoint(h, w) auf QPoint(0, h). Auf diese Weise wird das Querformat-Koordinatensystem QRect(0, 0, h, w) (mit einer Drehung um 90 Grad) auf das Hochformat-Koordinatensystem QRect(0, 0, w, h) abgebildet.

Qt::PrimaryOrientation wird als primaryOrientation() des Bildschirms interpretiert.

QScreen *QScreen::virtualSiblingAt(QPoint point)

Gibt den Bildschirm point innerhalb der Menge von QScreen::virtualSiblings() zurück, oder nullptr, wenn er außerhalb eines Bildschirms liegt.

Die Angabe point bezieht sich auf virtualGeometry() jedes Satzes von virtuellen Geschwistern.

QList<QScreen *> QScreen::virtualSiblings() const

Abrufen der virtuellen Geschwister des Bildschirms.

Die virtuellen Geschwister sind die Bildschirminstanzen, die sich denselben virtuellen Desktop teilen. Sie haben ein gemeinsames Koordinatensystem, und die Fenster können frei über sie hinweg verschoben oder positioniert werden, ohne dass sie neu erstellt werden müssen.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.