Startseite | Info | Community | Entwicklung | meinReactOS | Kontakt

  1. Startseite
  2. Info
  3. Community
  4. Entwicklung
  5. meinReactOS

  1. Übersicht
  2. ReactOS Team
  3. Forum
  4. Wiki
  5. Mailing-Listen
  6. IRC-Kanäle
  7. Newsletter
  8. Blogs
  9. Fragen & Antworten

Community > ReactOS Newsletter Archive > ReactOS Newsletter: Newsletter_64

Newsletter_64

by Z98 on 2009-09-15
translated by Phlox on 2009-09-24

top

Farbe und Füllung


Farbige Zeiger werden selten von gewöhnlichen Applikationen verwendet, wohingegen Spiele und sogar Winamp regen Gebrauch hiervon machen. Bei der Ausführung von Winamp fiel Gregor Schneider auf, dass der Mauszeiger sich bei dessen Verwendung in einen schwarzen Kasten veränderte. Daher sah er sich den Code an, um dies zu ändern. An den entscheidenden Stellen beschrieben Kommentare die Einbindung von Farben in das Programm, sodass Gregor den Code lediglich ein wenig erweitern musste. Glücklicherweise ging die Arbeit schnell. Die Kommentierungen über die Parameter der Zeichenfunktionen zur Benutzung der Farboberfläche reichten bereits, um die Grundfunktionalität zu gewährleisten. Jedenfalls gab es noch eine Menge innerhalb des Lowlevel-Codes des Win32-Systems zu erledigen, denn vieles hiervon war wenig dokumentiert. Solange der Zeiger vorhanden war, erschien die „Blackbox“ um diesen herum.

Während Gregor an diesem Problem arbeitete, entschied Timo Kreuzer, sich nochmal genauer mit dem Paint-Programm von Benedikt Freisen zu beschäftigen. Obwohl das Programm unter Windows großartig aussah, empfand Timo es unter ReactOS als hässlich. Auch hier bestand das Problem in der Farbe der Zeiger, weshalb er dies innerhalb der Grafik-Engine heraus filterte. Die Hauptfunktion heißt SetPointerShape, von welcher es eine .drv und eine .eng-Version gibt. Je nachdem, ob der Grafiktreiber die Funktion unterstützt oder die Windowseigene Grafik-Engine zur Abarbeitung anfordert, wird eine der beiden Versionen ausgeführt. So oder so erhält die Funktion zwei Bitmaps, wobei das Zweite die Farbinformationen für den Mauszeiger enthält. Das zweite Bitmap wurde ursprünglich om Code ignoriert, aber Timo hat die nötigen Funktionen hinzugefügt. Als nächstes steht dann die korrekte Bearbeitung des Alpablendings an.

Weiterhin arbeitete Gregor an einem Problem, was ebenfalls mit Paint zu tun hatte. Während er das Programm nutzte fiel Gregor auf, dass sein Lieblingswerkzeug, der bucklet fill, nicht funktionierte. Bei der Überprüfung befand er, dass die Weichzeichnen-Funktion unvollständig war. Der meiste Code und die leeren Funktionsaufrufe, welche das Weichzeichnen steuern, waren bereits vorhanden. Ausnahme bildete hier die schon vollständigen Funktionen, welche sich um das Zeichnen kümmerten. Gregor schrieb eine sehr einfache Implementation und optimierte diese bis die Performance eine normale stabile Nutzung ermöglichte.

top

Verzögerter Import


Dynamic Link Libraries werden verwendet um Code und dessen Funktionalität in Applikationen gemeinsam zu nutzen, ohne dabei Kopien für jede einzelne Applikation anlegen zu müssen. Dies speichert lediglich eine einzelne Instanz der Bibliothek, welche bei Nutzung mehrerer Applikation gleichzeitig geladen wird. Zur selben Zeit kann die Initialisierung einige Zeit in Anspruch nehmen und gegebenenfalls den Startvorgang der Applikation aufschieben. Ein Weg um diesen Overhead zu vermeiden ist es, das Laden der Bibliothek zu verzögern, bis diese gebraucht wird. Idealerweise geschieht dies, nachdem die Applikation gestartet ist. Dafür steht der verzögerte Import. Unglücklicherweise ist dies nicht standardmäßig im dlltool implementiert, so dass Timo Kreuzer die Funktionalität erweitern musste. Die Implementierung ging relativ zugig vonstatten. Timo mühte sich dennoch mit der Programmierung des Setups für das dlltool ab. Der entsprechende Patch wurde bereits an die Originalentwickler zurückgesandt in der Hoffnung, dass mehr Leute einen Nutzen daraus ziehen können. Das mingw x64-Team hat ebenfalls schon sein Interesse daran bekundet. Laut Timo soll die Portierung sehr einfach sein.

top

Kompatibilitätsdatenbank


Nachdem er ein paar Jahre als Übersetzer tätig war, hat Danny Götte sowohl das Frontend als die die Datenbank so umgeschrieben, dass es nun einfacher ist Einträge anzulegen und zu bearbeiten. Die Datenbank sieht jetzt besser als in der Vergangenheit aus und seit dem „an den Start gehen“ hat Danny durch das Feedback der Nutzer die Datenbank verfeinert. Der Gedanke dahinter ist, dass die Datenbank weiterhin direkte Hardware-Einträge erstellt. Dies ersetzt die Ad-Hoc-Liste auf dem Wiki. Daher ist jeder Interessent zum Testen eingeladen, um zu sehen wie es arbeitet. Je mehr Einträge existieren, desto einfacher wird es sein die entsprechend laufende Hardware für ReactOS herauszufinden.

top

Gewinner des Webdesign-Wettbewerb


Herzliche Glückwünsche gehen an Shek-Lu Leung alias numpy. Er entwickelte gleich vier Vorlagen, von welcher die Letzte von der Jury als die Beste von allen gewählt wurde. Die Auswahl reichte hierbei von der einfachen Neuanordnung des Layouts bis hin zu komplett neu entwickelten Skins. Natürlich gab es viele kreative Layouts welche es bis ins Finale geschafft haben, aber Leungs visuelle Darstellung kombiniert mit eigenen zusätzlichen interessanten Ideen war die Beste. Das gesamte ReactOS-Team bedankt sich bei allen Teilnehmern für Ihre Anstrengungen.

 


top

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.