TODO

Alles rund um das grafische Benutzerinterface Enigma
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

TODO

Beitrag von tmbinc »

Also evtl. für alle Programmierer und die, die's werden wollen ein TODO:

- i18n per gettext. waldi hat dazu wohl gettext eingebaut und zum laufen gebracht, man müsste jetzt nur noch sämtliche zu internationalisierenden texte a.) auf englisch oder besser "C" (also technisches englisch :) übersetzen, und b.) nen _("text") drum machen, damit das von gettext bearbeitet wird. dann natürlich übersetzungen schreiben.
dafür bräuchten wir leute, die andere sprachen als deutsch und englisch können. wir sollten aber ERST schritt a.) machen und dann letzteres :)

- diseqc scan. prinzipiell geht alles, man bräuchte nur nochmal eine "Kill all transponder and services from given satellite"-funktion und dann müsste man vorm scannen die diseqc parameter angeben, oder noch besser, alle diseqc positionen autoproben (auf nen bekannten transponder schalten der geht, dann einzelne bits durchprobieren ob sich was ändert. für diese bits dann alle möglichkeiten durchprobieren) und das ganze noch anzeigen ("found on diseqc1: hotbird 13°").

wer's komplexer will: "satelliten" definieren, "sourcen" definieren (LNBs, sprich: diseqc positionen), um z.b. auch diseqc 1.2 (rotator) support zu haben.

- generell einen ordentlichen skin
- doku lesen, erweitern und verbessern (rechtschreibfehler und inhaltliche fehler), examples machen
- generell viele sachen einstellbar machen. RC delay und so weiter. kann man theoretisch alles (wird aus der registry gelesen, dorthin geschrieben, und es gibt nen reload() und save(), aber niemand benutzt das bisher :) fehlt also nur noch der dialog.


wenn jemand davon was machen will, gerne! ich stehe auch für fragen like "wie mach ich das?" gerne zur verfügung. nen bisschen C++ solltet ihr aber schon können :)
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Hi tmbinc

Da das machen eines Skinz schon weit Wochen auf meiner ToDo Liste steht, hab' ich Deinen Aufruf mal als einen kleinen persönlichen Seitehieb genommen und mich wieder mal ein wenig mit dem Thema beschäftigt. funktioniert soweit ganz gut, habe auch schon einen schönen Rahmen um die Boxen drumrum. Nur leider ist das mit den Fonts noch nicht in der xml Datei. Ist das schon irgendwie in nächster Planung? Oder muss ich vorerst mit nimbus vorlieb nehmen. Wäre erst mal auch kein Beinbruch. Dann mach ich mal weiter.
Bild
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Noch mal zu den skinz. Ich habe gesehen, dass da immer mehr sehr spezifische objects mit ausgabetxt kommen. Ich denke, das ist sehr unpraktisch, denn wenn man z.B. einen älteren skin nutzen will, der diese objects noch nicht hat, funktioniert es nicht. Wie wäre es, wenn man mit 2 skins arbeitet einen default skin, der alles enthält und aus dem cvs kommt und einem custom skin, der am besten ins /var/... gelinkt ist. Nun wird erst der default skin geparset und dann der custom, der dann einige Werte des defaults überschreibt. Oder, falls was im custom skin nicht gefunden wird, wird im default gesucht. So bräuchte man als skin Ersteller sich auch nur noch um die wichtigen gestalterischen Sachen kümmern.

Könnte man, um die Fonts konfigurierbar zu machen nicht im Font Verzeichnis 3-4 SymLinks in ein Verzeichnis im Var machen. z.B. font1 - font4, die dann automatisch eingeladen werden? Dann bräuchte man seine font-files nur umbenennen und ins var kopieren.

Was hälst Du davon?
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Hi

Wie funktioniert das mit der Palette bei den Grafiken? Ich hab' hier eine Grafik mit nem schönen Verlauf, gedithert mit 128 Farben angelegt. Sonst hab' ich alle Bilder mal auskommentiert. Aber leider wird der Verlauf nur in 8 Farben *bäh* abgehackt angezeigt. Gibt es eine Standart-Palette, an die ich mich halten muss? Oder kann ich diese Pallette irgendwo festlegen?

Ich seh' grad, wenn ich in ezap_main ein Bild einbau, dann isses ein wenig durchsichtig. Wie kann ich das unterbinden?
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

also das mit den fonts ist noch nicht drin *schäm*, das wollte ich ja mal machen (ups). kommt definitiv noch, aber bisher gibts dann leider erstmal nimbus :/.

das mit den zwei skins (default+extension) hatte ich auch schon angedacht.
schwierig wirds natürlich bei einigen sachen wie palette etc., man müsste sich dann auf eine bezeichnung von farben einigen, die man dann benutzen kann.

die palette wird im skin am anfang definiert. da kann man einzelne farben adden oder auch farbverläufe (mit size=). die must du mehr oder weniger nachbilden. das problem ist halt, dass alle bilder ja die gleiche palette benutzen müssen, und auch die widgets. deswegen hats meiner meinung nach wenig zweck, wenn man die palette aus nem PNG liesst und übernimmt. gerade was diese "benannten" farben angeht.

also wie gesagt, die farben die du brauchst musst du dir da irgendwie erstellen.

das mit der transparenz wird eigentlich im PNG festgelegt, allerdings kann das kaum ein programm 8bit pngs mit alpha kanal abspeichern.

am besten du erzeugst 32bit argb bilder (mit echter transparenz, geht in photoshop gut), und benutzt dann pngqant (http://www.libpng.org/pub/png/apps/pngquant.html), das rechnet die auf 8bpp runter, dithert sie und kann die transparency ordentlcih handeln.

es kann sein dass wenn in der palette keine passenden farben sind er transparente nimmt, weil die ansonsten am ähnlichsten sind .. evtl. war's das?
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Danke. Da bin ich ein wenig schlauer. Also muss ich die Main-Palette, die ich in den pngs aus Photoshop benutze irgendwie in die xml Datei basteln. Mal sehen, wie ich das anstelle, ob man das irgendwie konvertieren kann?

Das mit dem Alpha und den 8bpp versteht ichnoch nicht so ganz. Wenn ich im Photoshop ein indiziertes png mit transparenz abspeicher ist eine Farbe durchsichtig. Das funktioniert auch im skin. Oder meinst Du, mit echtem Alpha, dass das png dann ein 16bpp Bild ist, mit 8 für die Farben und 8 für den Alpha, wie beim 32bpp png?
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Converter

Beitrag von chkdesign »

Hi

Hab' grad mal einen Converter für *.act Color Table Photoshop Files in Enigma XML geschrieben. Als Web-Coder aber 'nur' in PHP.

http://www.chatlogin.com/dbox2/chkdesign/test/conv2.php

Konnte es aber noch nicht testen, da ich an der Arbeit bin.
TheDOC
Senior Member
Beiträge: 697
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von TheDOC »

chkdesign: Könntest du mir evtl. die Sourcen des Umrechnungs-Scriptes zukommen lassen? :)
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Hast Post. Die *.act Files sind eigentlich nur die ganzen HEX-Farb-Werte hintereinander geschrieben.
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

naja 8bit png mit alpha channel -> 32bit ARGB werte indiziert über 8bit.

also nicht per pixel ein alpha wert, sondern per farbe.

im gegensatz zu der "transparency-color" allerdings für jede farbe frei festlegbar.
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Ok dann hab ich das jetzt verstanden. In der Farbtabelle stehen 256 32bit Farben, anstatt der 256 24bit Farben.

Habe an meinem Converter auch noch ein paar bugfixes gemacht. Jetzt funktioniert das. Mein Bild wird jetzt richtig angezeigt. :D
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Hab' da gleich das nächste Problem. Wie stelle ich denn die Schriftfarbe für ein eLabel im ezap_main ein?
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

backgroundColor *duck*

die backgroundColor muss auf die "basis" eines 16 farb großen gradients zeigen.

also im normalfall einfach die named-color eines gradients.

erm du weisst was ich meine :)
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

backgroundColor *duck*
Klar. Ist ja absolut logisch.
So ganz verstehe ich das noch nicht. Wo im gradient ist denn dann meine Foregroundcolor Ich glaube, das sollte noch mal überdacht werden. Einfach beim eLabel 2 Atrribute color und backgroundcolor. Mein Problem ist nämlich einen text auf eine Grafik zu packen. Das klappt nicht, die Farben werden willkürlich gewählt und sogar im eLabel geändert, wenn der Untergrund sich ändert.
Außerdem ist mir aufgefallen, dass Du die XML Daten case sensitive auswertest. Das ist meiner Meinung nach nicht sinnvoll, und auch nicht voll durchgezogen, denn fast alle attribute sind klein nur in der backgroundColor ist das C groß. Das sollte glaub ich case insensitive genacht werden, dann kann es jeder formatieren, wie er es für richtig hält.

Da ich mich ja jetzt ein wenig damit beschäftigt habe, hier mal eine Idee, wie so ein eLabel aussehen könnte:

<eLabel position="15:61" size="100:50" font="NimbusSansL-Regular Sans L Regular;34" color="white" name="ch_number" align="center" backgroundColor="black" />

Evtl. wäre es sinnvoll name durch src o.ä. zu ersetzen, da name z.B. in HTML willkürlich gewählt werden kann. Hier bezeichnet es aber die Quelle, der Information im eLabel.

Was hälst Du davon?

Ich hab' schon 2 schöne Entwürfe, aber leider scheitert es ein wenig an der Umsetzung.
Bild
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

die backgroundColor muss auf die "basis" eines 16 farb großen gradients zeigen
Seh ich das richtig, dass dann auch nur aus diesen 16 Farben der Font gerendert wird? Ich hab' nämlich eigentlich in meiner Palette genug Farben, um den Font schön zu rendern. Es sollten dann also auch Farben aus der gesamten Palette genommen werden (falls dem noch nicht so ist), um den font auf das Bild zu rendern.
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

momentan besteht ein font wirklich nur aus den angegebenen farben. das zusammensuchen aus der palette würde sonst zu lange dauern, weil man das ja für jeden pixel machen müsste.

ich denke allerdings dran, da tabellen zu erstellen, so dass man in jeder farbe rendern kann...

meinst du dass man das sieht, wenn man statt 16 farben mehr für das antialiasing verwendet?
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

meinst du dass man das sieht, wenn man statt 16 farben mehr für das antialiasing verwendet?
Nö, 16 sind vollkommen ausreichend.

Zum Problem font auf grafik rendern. Das ist im Moment wohl unmöglich, oder? Ich hab' das jetzt mit dem gradient gemacht, nur ist dann ja immer auch der Hintergrund mit eingefärbt. Wenn ich den Hintergrund auf transparent setze, dann sehe ich dort nicht die Grafik, sondern das Fernsehbild.

Ok. Dann mach' ich erst mal einfarbig als texthintergrund weiter.