Was ist Nux und wofür wird es verwendet?


Antworten:


69

Nux ist ein OpenGL-basiertes Widget-Toolkit und Canvas, das zum Erstellen von Benutzeroberflächen verwendet wird, ähnlich wie GTK +. Auf einer hohen Ebene ist Nux in 3 Bibliotheken unterteilt.

  • NuxCore
  • NuxGraphics
  • Nux

NuxCore ist für grundlegende Dinge wie ein Typensystem, mathematische Funktionen, Farbdefinitionen usw. verantwortlich. Es bietet im Grunde alle primitiven Typen für ein Widget-System (Farbe, Rechteck, Punkt). Hier ist sehr wenig Logik vorhanden, dies ist eine grundlegende Bibliothek.

NuxGraphics ist eine dünne OpenGL-Abstraktionsschicht. Es bietet Vereinfachungen für gängige OpenGL-Muster (Verschieben und Platzieren von Clipping-Rechtecken, Ändern von Render-Zielen, Festlegen des Status usw.), verbietet Benutzern jedoch nicht direkt, direkte OpenGL-Aufrufe selbst auszuführen. NuxGraphics bietet Abstraktionen für Texturen und das Laden / Entladen von Daten.

Nux ist eine Widget-Bibliothek, die auf NuxCore und NuxGraphics aufbaut. Nux enthält ein Duplikat für fast alle wichtigen Widgets im GTK-Stapel sowie mehrere Kompositions-Widgets (Farbauswahl, Grafiken, 3D-Ansichten). Die Nux-Widgets sind noch nicht so komplex wie die GTK-Widgets, da sie nicht über eine verbesserte Textwiedergabe (die behoben wurde) und keine klare Unterstützung für Themes verfügen.

Das Rendern innerhalb von nux könnte als „Canvas-Stil“ bezeichnet werden. Nux stellt einen Maler zur Verfügung, um grundlegende Zeichenprimitive auszuführen, die zusätzlich zum Einbetten anderer Widgets verwendet werden können. Anstatt eine h-Leiste einzubetten, um eine horizontale Linie zu erstellen, kann ein Widget-Autor nach seiner Wahl den Maler verwenden, um die Leiste direkt zu zeichnen. Bilder können auch auf diese Weise gerendert werden, statt ein zusätzliches Widget einzubetten, um ein statisches, nicht reaktives Bild zu rendern. Dies schließt jedoch das einfache Einbetten von Widgets nicht aus.

In Unity wird nux im sogenannten eingebetteten Modus verwendet. Im Wesentlichen bietet nux eine Funktion, um sich selbst in einem fremden offenen Kontext zu malen. Wir rufen die Paint-Funktion auf und nux schneidet sich in den Backbuffer. Wir können dann weiter darauf malen, wenn wir dies wünschen (manchmal erlauben wir compiz dies zu tun). Es gibt Funktionen für die Verwaltung des OpenGL-Status im eingebetteten Modus.


1
Sehr informativ, Jason. Vielen Dank. Gibt es einen Link, wo man weitere Informationen finden kann?
SB

Gibt es ein Ziel, Nux möglicherweise zu einem primären Toolkit für Ubuntu zu "erweitern", so wie GTK + derzeit das "primäre" Toolkit ist?
ShroudedCloud
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.