Hallo zusammen!
Das ist jetzt eine seltsame Frage, die in kein Forum so richtig passt. Ich habe eine Projektidee und wollte mal fragen, ob Interesse an Nutzung und Erweiterung besteht.
Ich überlege, eine
Unit zu stellen, mit der man von einem Delphi-
VCL-Programm einen Vektor-Screenshot im SVG-Format erstellen kann, um qualitativ hochwertige und einfach lokalisierbare Dokumentation zu erstellen. In meiner Vorstellung würde die
Unit bei Einbindung in ein Projekt eine zusätzliche Form erstellen, die einen Button hat, mit dem man einen Screenshot der zuletzt davor aktivierten anderen Form im aktuellen Zustand macht. Alternative Zustände (Hover, gedrückt, Checkboxen), Popup/DropdownMenus, Untermenüs, ComboBox-Listen etc. würden als unsichtbare Objekte gespeichert, die man im Vektoreditor seines Vertrauens einblenden könnte. Die
Unit müsste jeden zu unterstützende TControl-Erben einzeln unterstützen. Ich benutze nur die Komponenten aus dem Standard- und
Win32-Tab, weshalb ich auch nur diese selbst erstellen würde. Eine einfache Erweiterbarkeit um weitere TControl-Erben (die entsprechenden sie behandelnden Klassen könnten sich registrieren) und neuere Delphi-Versionen ist selbstverständlich, weshalb das Projekt Open Source auf Github wandern würde. Für die Standard- und
Win32-Steuerelemente ergibt eine Vererbung meiner Meinung nach keinen Sinn, da sie alle komplett unterschiedlich aussehen. Bei anderen Steuerlementen ergibt es möglicherweise Sinn, ich weiß aber nicht, wie man das umsetzen könnte.
Man müsste sich zudem die Optik des Betriebssystems mehr oder weniger hardcoden (im Sinne von: nicht von irgendwelchen User-Skins übernehmen, da der Zugriff hierauf eher kompliziert ist). Da könnte man (außer für die Größe von Fensterrahmen) was mit CSS machen oder sich auf ein bestimmtes Betriebssystem festlegen (das wäre dann Win10, Win11 ist ja derzeit noch in der early pre-Alpha).
Ein vergleichbares Projekt gibt es (unabhängig von meiner Idee) für GTK. Die Sache scheint auch nach meiner Einschätzung eher Toolkit-gebunden zu sein und nicht generell z.B. für
Win32 machbar.
Ich freue mich auf eure Meinungen.