Skin-Support

http://www.elitedvb.net
chkdesign
Senior Member
Beiträge: 1544
Registriert: Freitag 12. Oktober 2001, 00:00

Beitrag von chkdesign »

Hi tmbinc

Da Du ja im Games Forum schonwas verraten hast,

<quote> wenn der skinsupport in ezap läuft (ist bald der fall ...</quote>

Dann frag ich einfach schon mal:

Gibts dazu schon irgendwelche spezifikationen? Was kann man alles ändern, kann man Bitmaps/Grafiken einbauen? ...

Oder ist das alles noch geheim?
sammy98
Einsteiger
Einsteiger
Beiträge: 121
Registriert: Sonntag 9. September 2001, 00:00

Beitrag von sammy98 »

boa, dann noch ein Skin Editor geschrieben ...
Gruss
Sammy98
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

geheim ist nix, ausser es funktioniert nicht *duck*

also nen skineditor wäre was feines, allerdings hab ich fast keine skills unter windows zu programmieren.

naja mal nen kleines beispiel von einer aktuellen skindatei:

<eskin>
<!-- the TMB-default skin, very ugly -->

<author>
<name>Felix Domke</name>
<email>tmbinc@gmx.net</email>
</author>

<colors>
<color name="background" color="#ff000000" />
<color name="blauweiss" color="#16b0ff" end="#ffffff" size="16" />
<color name="blaugrau" color="#16b0ff" end="#808080" size="16" />
<color name="blaugelb" color="#16b0ff" end="#ffff00" size="16" />
<color name="blau2weiss" color="#26c0ff" end="#ffffff" size="16" />
</colors>

<colorscheme>
<map name="focusedColor" color="blaugelb" />
<map name="fgColor" color="blauweiss" />
<map name="fgColorDisabled" color="blaugrau" />
<map name="backgroundColor" color="blauweiss" />
<map name="eWindow.titlebarColor" color="blau2weiss" />
</colorscheme>

<object name="test">
<eWindow position="75:75" size="500:300" text="Skinned testwindow">
<eLabel position="0:0" size="480:50" text="Hello world."/>
<eLabel position="50:50" size="430:100" text="ein testnblabla"/>
<eButton position="380:200" size="100:50" text="OK" name="okButton" />
<eButton position="280:200" size="100:50" text="Cancel" name="cancelButto
</eWindow>
</object>
</eskin>

also "skin" ist eigentlich nen falsches wort. es ist mehr ein dialogeditor. ich war es leid, die dialoge hardcoded dadrin zu haben. und nebenbei kann man so ändern was man will.

also bilder irgendwohin laden etc. wird auch gehen natürlich.... allerdings sollte man dabei vorsichtig sein dass es nicht zu lahm wird. in so einem skin soll man auch die fontsizes etc. einstellen können dann.

das ganze kam eigentlich nur deshalb zu stande, weil ich quasi die komplette GUI neugeschrieben habe.. (damit's endlich mal spass macht sich widgets zu schreiben)

ich hab aber noch keinen plan wann das ganze mal wieder so laufen wird dass man es benutzen kann..

(für die programmierer:

ein Dialog baut man aus einem eWindow normalerweise, und macht dann:

eSkin::getActive()->build(this, "test");

daraufhin wird das object "test" in der xml datei gesucht und verarbeitet.
beispielsweise wird die position gesetzt und die sub-widgets erstellt.

mit
eWidget *okButton=search("okButton");
if (!okButton)
qFatal("sorry no okButton");
connect(okButton, SIGNAL(selected()), &test, SLOT(accept()));

findet man dann die definierten widgets, um sie mit zusätzlichen details auszustatten.

auf die gleiche weise kann man das aussehen auf dem LCD etc. festlegen (und natürlich auch das main-widget, also das OSD .... arg ihr wisst was ich meine, mit sendername, now&next usw.)

so ganz fertig ist das konzept noch nicht, aber wenn alles glattgeht gibts demnächst mal wieder ne beta die einigermaßen läuft.)
sammy98
Einsteiger
Einsteiger
Beiträge: 121
Registriert: Sonntag 9. September 2001, 00:00

Beitrag von sammy98 »

Hi tmbinc

dann würde ich mich doch spontan dazu bereiterklären, meinen Beitrag auf der Windows Ebene zu leisten und den Editor zu schreiben.

Ich denke ich werd dich die Tage im IRC mal ausquetschen <IMG SRC="/forum/images/smiles/icon_smile.gif">
Gruss
Sammy98
sammy98
Einsteiger
Einsteiger
Beiträge: 121
Registriert: Sonntag 9. September 2001, 00:00

Beitrag von sammy98 »

tmbinc: nachdem ich dich im irc ein paar mal verpasst habe ...

erklär mir mal die farben definitionen.
color=xxxxxx end=xxxxxx ist für den farbverlauf, oder? was ist size=xxx

---

dis1, active, wt1, gy2 sind das fetgelegte farben? wenn ja welche?

---

dann steht da ein bereich für die box drin bsp 100:500. wie gross ist denn der sichtbare bereich gesamt?

danke
Gruss
Sammy98
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

also color, end, size sind für verläufe. size gibts dabei an, wieviele farben verbraten werden, start ist halt "color", ende ist halt "end".

also von "color" nach "end" in "size" schritten.
das ist für die antialias-fonts wichtig.

dis1... gibts nicht, deswegen ist der teil auch auskommentiert gewesen <IMG SRC="/forum/images/smiles/icon_smile.gif">)

ein widget hat immer eine äussere size und eine clientarea. diese ist bei fast allen widgets gleich groß mit der size, nur beim ewindow gibts noch nen ramen und die titelzeile.

die anzugebenden größen beziehen sich auf die äussere größe.
die verbleibende größe ist kleiner. alle positionsangaben von unterwidgets beziehen sich aber auf die linke obere ecke der clientarea.

0, 0 ist in wirklichkeit also bei parentpos+(5,40) (wenn der rand 5 pixel und die titlezeile 40 pixel sind)
tmbinc
Developer
Beiträge: 821
Registriert: Freitag 20. Juli 2001, 00:00

Beitrag von tmbinc »

achso <IMG SRC="/forum/images/smiles/icon_smile.gif">

naja also pal auflösung ist 720x576 .. dadrin spielt sich alles ab <IMG SRC="/forum/images/smiles/icon_smile.gif">