›1m Backprefs›0m ›1mBackground Voreinstellungseditor›0m Backprefs v2.0 Backprefs und dieser Text sind Copyright ©1996 Roland Haas Inhalt: ›3mRechtliches›0m ›3mBekannte Fehler›0m ›3mGeschichte›0m ›3mZukünftiges›0m ›3mAutor›0m ›3mDie Bilder›0m ›3mDie Gadgets›0m ›3mDie Menüs›0m ›1mCopyright, Vertrieb ...›0m Vertrieb Backprefs darf frei vertrieben werden, solange der Inhalt des Archivs komplett weitergegeben wird. Außerdem darf nur eine Gebühr für den Arbeits- und Materialaufwand verlangt werden. Backprefs darf mit frei kopierbarer Software vertrieben werden, solange die oben genannten Bedingungen erfüllt sind. Der Vertrieb zusammen mit einem kommerziellen Programm ist nur mit ausdrücklicher, schriftlicher Genehmigung des Autors erlaubt. Gewährleistung Es wird keine Haftung für Schäden übernommen, die dieses Programm verursacht. Es wird keine Gewähr dafür übernommen, daß das Programm im Sinne dieses Textes anwendbar ist. SIE BENUTZEN DIESES PROGRAMM AUF EIGENES RISIKO INSTALLER SOFTWARE IS PROVIDED "AS-IS" AND SUBJECT TO CHANGE; NO WARRANTIES ARE MADE. ALL USE IS AT YOUR OWN RISK. NO LIABILITY OR RESPONSIBILITY IS ASSUMED. Installer and Installer project icon (c) Copyright 1995-96 Escom AG. All Rights Reserved. Reproduced and distributed under license from escom AG. ›1m Fehler›0m Momentan sind mir keine Fehler bekannt. ›1mProgrammversionen bis heute›0m Achtung: Die Versionsnummer beginnt bei Version 2.0. Das Programm erhält immer dieselbe Versionsnummer wie das Hauptprogramm. Nur Programme gleicher Version funktionieren miteinander! 03.08.1996: V2.0 erste Version 08.04.1997: V2.1 Farbanpassung ›1mGeplante Verbesserungen›0m · Aufruf mit Parametern · Rollbalken im Vorschaufenster Vorschläge, Kritik, Fehler bitte an den ›3mAutor›0m ›1mIch selbst›0m Backprefs wurde in harter Nachtarbeit geschrieben von: Roland Haas Mühlweg 16 77948 Friesenheim Telefon: 07821/68084 Die Benutzeroberfläche wurde erstellt GadUtilLib v37. Anregungen, Spenden, Postkarten sind immer willkommen! Besonders willkommen wäre eine bessere Version dieses Textes, sowie Übersetzungen der Anleitung... ›1mWelche Bilder kann ich verwenden?›0m Es können nur Bilder im IFF-ILBM-Format geladen werden. Die Bilder sollten dasselbe Seitenverhältnis haben wie Ihre Workbench. Wenn Ihre Workbench im Modus HIRES/INTERLACED läuft, sollte das Bild auch diesen Bildschirmmodus verwenden oder LORES/NONLACED. Bedenken Sie bei der Auswahl Ihrer Bilder immer, daß die Bilder ungepackt im Speicher vorliegen, ein 640x320 Punkte großes Bild mit acht Farben braucht also 640*320*3/8 = 76800 Byte Chip-Ram. Außerdem müssen die Bilder zum Programmstart geladen werden; bei vielen großen Bildern kann das schon mal ein paar Sekunden dauern. Verwenden Sie daher lieber wenige kleine Bilder und setzen das ›3mTILE-Flag›0m als viele große Bilder. Ab Version 2.1 können zwar auch Bilder während der Laufzeit ›3mnachgeladen›0m werden, das benötigt jedoch mehr oder weniger viel Zeit. ›1mBackground preferences›0m ›3mLoaded Pictures:›0m +---------------------------------+ +-+ +-----------------+-+ ›3m Name ›0m | Work:Pictures/Diskette | |›3m?›0m| | Back1 |#| +---------------------------------+ +-+ | Romantique |#| +---------------------------------+ | Diskette |#| ›3mPattern ›0m | "(#? voll, #? frei | | Wüste |#| +---------------------------------+ | |^| +---------------------------------+ | |V| ›3m Task ›0m | WORKBENCH | +-----------------+-+ +---------------------------------+ | Diskette | +------------+ +----+----+----+----+ |›3m View ›0m| |›3mAdd ›0m|›3mDel ›0m|›3m Up ›0m|›3mDown›0m| +------------+ +----+----+----+----+ +------------ ›3mInformation›0m ------------+ +-+ | Picture Workbench | ›3mTile picture:›0m |V| | | +-+ | Size: 96 x 96 640 x 256 | +-+ | | ›3mScreen picture:›0m | | | Planes: 3 3 | +-+ | | +-+ | Aspect: 10 : 22 22 : 44 | ›3mDelay loading:›0m | | +-------------------------------------+ +-+ +------------+ +------------+ +------------+ |›3m Save ›0m| |›3m Use ›0m| |›3m Cancel ›0m| +------------+ +------------+ +------------+ ›1mDas Symbol 'Name'›0m Hier wird der Name des Bildes eingegeben. Das Symbol ›3mdaneben›0m öffnet einen Dateiauswahlfenster für den gleichen Zweck. Der hintere Teil des Namens erscheint in der ›3mBilderliste›0m. ›1mDas Symbol 'Pattern'›0m Hier wird das Fenstermuster angegeben, das für dieses Bild gilt. Fenster, deren Titel auf dieses Muster paßt verwenden dieses Bild als Hintergrund- muster. Beispiele: "#? voll, #? frei, #? belegt" - paßt für alle Disketten (3D|DPAINT|XiPaint) - für die Schubladen 3D, DPAINT und XiPaint Mögliche Musterzeichen: ? Ein einzelnes Zeichen # Das nächste Symbol beliebig oft (auch 0 mal) (ab|cd) Eins der durch '|' getrennten Symbole ~ Negiert den folgenden Ausdruck. D. h. ~(System) paßt auf alles außer 'System' [abc] Buchstabenmenge, paßt auf jeden Buchstaben der Menge [~bc] Buchstabenmenge, paßt auf alle Buchstaben, die nicht in der Menge enthalten sind a-z Buchstabenraum (nur in Buchstabenmengen) % Nichts, nützlich in 'foo(bar|%)' ›1mDas Symbol 'Task'›0m Hier wird das Taskmuster angegeben, das für dieses Bild gilt. Programme, deren Titel auf dieses Muster paßt verwenden dieses Bild als Hintergrund- muster für ihre Fenster. Beispiele: WORKBENCH - paßt nur für die Workbench #?DeliTracker#? - paßt für den Delitracker Die beiden '#?' Zeichen um das Muster sind nützlich, denn aus 'DeliTracker' kann 'dh0:Tools/DeliTracker' werden wenn er aus dem CLI heraus aufgerufen wird. Mögliche Musterzeichen: ? Ein einzelnes Zeichen # Das nächste Symbol beliebig oft (auch 0 mal) (ab|cd) Eins der durch '|' getrennten Symbole ~ Negiert den folgenden Ausdruck. D. h. ~(System) paßt auf alles außer 'System' [abc] Buchstabenmenge, paßt auf jeden Buchstaben der Menge [~bc] Buchstabenmenge, paßt auf alle Buchstaben, die nicht in der Menge enthalten sind a-z Buchstabenraum (nur in Buchstabenmengen) % Nichts, nützlich in 'foo(bar|%)' ›1mDas TILE-Flag›0m Das Symbol 'Tile Picture' setzt oder löscht für das ›3maktive Bild›0m das TILE-Flag. Ist dieses Flag gesetzt, so wird das Bild solange aneinandergesetzt, bis das Fenster gefüllt ist. Ansonsten wird der restliche Bereich mit Farbe 0 (grau) gelöscht. Damit das TILE-Flag funktioniert müssen die ›3mKanten des Bildes aneinanderpassen›0m. ›1mDas Screen-Flag›0m Das Symbol 'Screen Picture' setzt oder löscht für das ›3maktive Bild›0m das Screen-Flag. Ist dieses Flag gesetzt, dann kann dieses Bild dazu verwendet werden, um im Hintergrund eines Bildschirms angezeigt zu werden. Das ›3mMuster›0m wird verwendet, um festzustellen, für welchen Screen das Bild passt. Dabei gilt der Titel, der angezeigt wird, wenn kein Fenster aktiv ist. Um den Bildschirm der Workbench zu benutzen, müßten die Einträge folgendermaßen aussehen: Pattern: "Workbench Screen" Task: "WORKBENCH" ScreenPic: gesetzt ›1mDelay loading›0m Das Symbol 'Delay loading' bestimmt, wann das Bild geladen werden soll. Wenn es gesetzt ist, dann wird das Bild erst dann geladen, wenn es zum ersten Mal benötigt wird. Wenn später einmal Speicher gebraucht wird, dann wird das Bild, sofern es nicht gebraucht wird, wieder freigegeben. Wer viele Bilder verwenden will, der sollte bei denjenigen, die nicht so oft gebraucht werden, 'Delay loading' verwenden, sonst braucht Background zu viel Zeit, um sie alle zu laden. ›1mDas Diskettensymbol›0m Dieses Symbol öffnet ein Dateiauswahlfenster, mit dem ein Bild ausgewählt werden kann. Der Pfad erscheint dann im ›3mTexteingabefeld›0m daneben und in der ›3mBilderliste›0m. ›1mDie Bilderliste›0m Im rechten Teil des Fensters werden alle momentan geladenen Bilder in einer Liste angezeigt. Das jeweils aktive Bild wird unter der Liste angezeigt. ›3mPfad›0m, ›3mFenstermuster›0m, {"Taskmuster" LINK Task} und sonstige ›3mAttribute›0m des aktiven Bildes können mit Hilfe der anderen Bedienelemente verändert werden. ›1mDas Symbol 'Add'›0m Das Add-Symbol erzeugt einen neuen ›3mEintrag›0m für ein Bild. ›3mPfad›0m und ›3mMuster›0m werden aus den entsprechenden Texteingabefeldern übernommen. Der ›3mTyp›0m des neuen Bildes wird auf ›3m'Normal'›0m gesetzt, das ›3mTILE-Flag›0m gesetzt. Das neue Bild wird entweder nach dem ›3maktiven Bild›0m oder am Ende der ›3mListe›0m eingefügt. ›1mDas Symbol 'Del'›0m Das Symbol Delete löscht das ›3maktive Bild›0m aus der ›3mListe›0m; die Texteingabefelder bleiben jedoch unverändert. Wenn Sie also das falsche Bild gelöscht haben, können Sie es mit Hilfe des ›3mAdd-Symbols›0m daneben wiederherstellen. ›1mDas Symbol 'Up'›0m Das Symbol Up bewegt das ›3maktive Bild›0m einen Platz weiter nach oben. Wenn auf ein Fenster bzw. einen Bildschirm zwei Bilder passen, dann wird dasjenige verwendet, das sich weiter unten befindet. Das Bild mit dem Muster '#?' sollte also ganz oben stehen, weil sonst die anderen nicht verwendet werden. ›1mDas Symbol 'Down'›0m Das Symbol Down bewegt das ›3maktive Bild›0m einen Platz weiter nach unten. Wenn auf ein Fenster bzw. einen Bildschirm zwei Bilder passen, dann wird dasjenige verwendet, das sich weiter unten befindet. Unten sollten sich also nur Bilder befinden, die nicht auf mehrere Fenster passen, vor allem aber keine Bilder mit einem ›3mFenstermuster›0m wie '#?'. ›1mDas Symbol 'View'›0m Durch Anklicken des Symbols View öffnet sich ein Fenster, in dem das ›3maktive›0m ›3mBild›0m so dargestellt wird, wie es später im Workbenchfenster zu sehen sein wird. Um Änderungen (z. B. des ›3mTILE-Flags›0m) sichtbar zu machen müssen Sie das Symbol erneut anwählen. ›1mDas Symbol 'Save'›0m Save beendet das Programm, lädt die neuen Bilder und speichert die Liste dauerhaft, sodaß sie nach einem Neustart wieder verwendet wird. ›1mDas Symbol 'Use'›0m Use beendet das Programm, lädt die neuen Bilder und speichert die Liste sodaß sie bis zum nächsten Neustart zur Verfügung steht. ›1mDas Symbol 'Cancel'›0m Cancel beendet das Programm ohne die Bilderliste zu speichern. ›1mDas Informationfeld›0m Im Informationsfeld werden Daten über die Geometrie des Bildes und der Workbench ausgegeben. Size gibt die Größe des Bildes bzw. des Bildschirms an. Wenn das Bild größer als der Workbenchbildschirm ist, wird ein Teil des Bildes niemals sichtbar sein. Planes gibt die Anzahl der Bitplanes an, die verwendet werden. Die Anzahl der Farben berechnet sich folgendermaßen: 2^Anzahl der Bitplanes Wenn Sie also 3 Bitplanes verwenden stehen ihnen 8 Farben zur Verfügung. Hat das Bild mehr Farben als Ihre Workbench, dann wird das Bild wahrscheinlich nicht so aussehen wie es sollte. Verwenden Sie also nur Bilder, die gleich viel oder weniger Farben haben als Ihre Workbench. Der letzte Wert, Aspect, gibt das Verhältnisvon Höhe und Breite wieder. Es sollte bei Workbench und Bild etwa übereinstimmen, da es sonnst zu Verzerrungen kommt. Also z. B. 11:22 und 10:20, oder 11:11 und 10:12 etc. ›3mWelche Bilder kann Ich verwenden?›0m ›1mDie Menüs›0m Die Menüs entsprechen exakt denen der Systemvoreinsteller, sodaß Sie zu Ihrer Funktion auch im Systemhandbuch nachschlagen können, falls Sie etwas nicht verstehen. Project Edit Picture Settings ›3mOpen ...›0m ›3mReset To Defaults›0m ›3mCompute Colors›0m ›3mSave Icons?›0m ›3mSave As ...›0m ›3mLast Saved›0m ›3mDither›0m ›3mQuantization >>›0m ›3mAbout ...›0m ›3mRestore›0m ›3mLock Colors ...›0m ›3mMedian Cut›0m ›3mQuit›0m ›3mChange Colors ...›0m ›3mCustom›0m ›3mLoad Colors ...›0m ›3mSave Selected ...›0m ›1mProject/Open›0m Lädt eine Datei mit einer Bilderliste. ›1mProject/Save As›0m Läßt Sie die momentane Bilderliste in eine Datei speichern. Es öffnet sich ein Dateiauswahlfenster, das standartmäßig das Verzeichnis Sys:Prefs/Presets/ als Ziel vorsieht. Ist ›3m'Save Icons?'›0m ausgewählt, dann wird auch ein Piktogramm erzeugt. Im Gegensatz zu den Systemvoreinstellern wird durch Öffnen dieses Piktogramms nicht die Bilderliste geladen, sondern nur das Voreinstellungsprogramm gestartet. Verwenden Sie den Menüpunkt ›3mProject/Open›0m um die Bilderliste zu laden. ›1mProject/About›0m Dieser Menüpunkt zeigt Daten über das Programm an. (U. a. ›3mVersion, Adresse›0m ›3mdes Autors, Hilfsmittel...›0m) ›1mProject/Quit›0m Verlassen des Editors ohne Speichern der Änderungen. Dieses Option hat die gleiche Funktion wie ›3m'Cancel'›0m. ›1mEdit/Reset To Defaults›0m Setzt die Einstellungen des Editors auf die Standarteinstellungen zurück. Genauer bedeutet das, daß wieder die Muster verwendet werden, die mit WBPATTERN festgelegt wurden. ›1mEdit/LastSaved›0m Lädt die Einstellungen, die zuletzt mit ›3m'Save'›0m gespeichert wurden. ›1m Restore›0m Zurücksetzen der Einstellungen auf die Einstellungen beim ersten öffnen des Editors. ›1mPicture/Compute Colors›0m Versucht eine Farbpalette zu finden, die für alle Bilder der ›3mBilderliste›0m passt. Es stehen zwei verschiedene Methoden der Farbauswahl zur Verfügung. ›3mMedian Cut›0m ist ein Verfahren nach Paul S. Heckbert. ›3mCustom›0m ist eine Eigenentwicklung meinerseits. Im Gegensatz zum ›3mMedian Cut›0m können dabei jedoch einzelne Farben ›3mgesperrt›0m werden, sodaß sie nicht verändert werden. Allerdings weiß ich nicht, ob mein Verfahren sehr gut oder schnell ist. Wer ein bißchen Ahnung davon hat, soll sich doch einmal den ›3mAlgorythmus›0m durchlesen und ›3mmir›0m seine Meingung dazu schicken. ›1m Algo›0m 1. Schritt: Alle Farben, die in den Bildern vorkommen, werden gezählt 2. Schritt: Die Farben werden in die zur Verfügung stehenden Farbtöpfe eingeordnet. Ist kein freier Topf mehr vorhanden, werden die zwei einander ähnlichsten zusammengefasst. Dabei wird auch die neue Farbe mitberücksichtigt. 3. Schritt: Schließlich wird die Farbe für das Farbregister bestimmt, indem für jeden Topf die Farbwerte zusammengezählt werden und der Durchschnitt gebildet wird. Der erste und der dritte Schritt sind auf jeden Fall in Ordnung, hier der Quellcode für den zweiten: /* Colourcount enthält die Anzahl der gefundenen Farben */ for( i = ColourCount ; i > 0 ; i--) { /* Einen freien Farbtopf suchen */ NewPot = NULL; for(j = NumColours ; j > 0 ; j--) { /* Der Farbtopf ist noch leer * (gesperrte Farben haben hier 1) */ if (Pot[j] . NumPixels == 0) { NewPot = &Pot[j]; break; } } if(NewPot != NULL) /* Wir haben noch einen freien gefunden */ { /* sRed, sGreen, sBlue enthalten die zusammenaddierten Farbwerte; Red, Green, Blue die endgültigen */ NewPot -> NumPixels = ColourTable[i-1] . NumPixels; NewPot -> Red = NewPot -> sRed = ColourTable[i-1] . Red; NewPot -> Green = NewPot -> sGreen = ColourTable[i-1] . Green; NewPot -> Blue = NewPot -> sBlue = ColourTable[i-1] . Blue; } else { /* So, jetzt machen wir einen Topf leer */ Pot[0] . NumPixels = ColourTable[i] . NumPixels; Pot[0] . Red = Pot[0] . sRed = ColourTable[i-1] . Red; Pot[0] . Green = Pot[0] . sGreen = ColourTable[i-1] . Green; Pot[0] . Blue = Pot[0] . sBlue = ColourTable[i-1] . Blue; Dist = 0x7fffffff; /* Größtmöglicher Abstand */ for(j = NumColours ; j > 0 && Dist; j--) { for(k = j - 1 ; k >= 0 && Dist ; k--) { DistRGB = Pot[k] . Red - Pot[j] . Red; NewDist = DistRGB * DistRGB; DistRGB = Pot[k] . Green - Pot[j] . Green; NewDist += DistRGB * DistRGB; DistRGB = Pot[k] . Blue - Pot[j] . Blue; NewDist += DistRGB * DistRGB; /* Wenn die Farbe näher dran ist als die alte, und nicht beide Farben gesperrt sind */ if ((NewDist <= Dist) && !(Pot[k] . Locked && Pot[j] . Locked)) { NewPot = &Pot[j]; NewPot2 = &Pot[k]; Dist = NewDist; } } } /* Die zwei zusammenfassen */ if (!((NewPot -> Locked) || (NewPot2 -> Locked))) { pix = (NewPot -> NumPixels += NewPot2 -> NumPixels); NewPot -> Red = ((NewPot -> sRed += NewPot2 -> sRed)/pix); NewPot -> Green = ((NewPot -> sGreen += NewPot2 -> sGreen)/pix); NewPot -> Blue = ((NewPot -> sBlue += NewPot2 -> sBlue)/pix); } else if (NewPot2 -> Locked) { NewPot -> Red = NewPot2 -> Red; NewPot -> Green = NewPot2 -> Green; NewPot -> Blue = NewPot2 -> Blue; } /* Die neue Farbe richtig einfügen */ *NewPot2 = Pot[0]; } /* else */ } /* for i */ ›1mPicture/Dither›0m Passt das ›3maktive Bild›0m an die aktuelle Farbpalette an. Dabei wird der Floyd-Steinerg-Algorythmus verwendet. ›1mPicture/Lock Colors›0m Es erscheint ein Fenster, in dem Farben gesperrt werden können. Gesperrte Farben werden nicht verändert wenn ›3mCompute Colors›0m aufgerufen wird. Nur die ›3mCustom›0m Methode unterstützt gesperrte Farben, ›3mMedian Cut›0m nimmt keine Rücksicht auf sie. ›1mPicture/Change Colors›0m Es erscheint ein Fenster, in dem die Farben geändert oder umgestellt werden können. Das Fenster ist zu bedienen wie gebräuchliche Farbrequester. ›1mPicture/Load Colors›0m Mit Hilfe dieses Menüpunktes können Sie die Farben einer IFF Datei laden. Wenn Sie also ihre Bilder an die Farben der Workbench ›3manpassen›0m wollen, dann laden Sie die Datei 'ENV:Sys/Palette.ilbm' und wählen dann ›3mDither›0m für jedes Bild, das auf der Workbench zu sehen sein wird. Um die Farben von andren Bildschirmen zu verwenden, müssen Sie einen Screenshot davon machen und dann diese Datei laden. ›1mPicture/Save Selected›0m Mit Hilfe dieses Menüpunktes können Sie das gerade ›3maktive Bild›0m speichern. Es erscheint ein Dateiauswahlfenster, in dem Sie angeben müssen, wohin Sie das Bild speichern wollen. ›1mSettings/SaveIcons?›0m Mit Hilfe dieses Menüpunktes können Sie Projektpiktogramme für die Einstellungen des Editors in denselben Schubladen speichern, in denen sich auch die zugehörigen Daten befinden. Die Aktivierung der Einstellungen durch Öffnen des Piktogramms ist jedoch nicht möglich. Stattdessen müssen Sie ›3mProject/Open›0m benutzen. ›1m Median›0m Ist dieser Menüpunkt angewählt, dann wird für die ›3mFarbanpassung›0m der Median Cut Algorythmus verwendet. Diese Methode erlaubt es nicht, einzelne Farben zu ›3msperren.›0m ›1m Custom›0m Ist dieser Menüpunkt angewählt, dann wird für die ›3mFarbanpassung›0m ein von mir selbst geschriebener ›3mAlgorythmus›0m verwendet. Diese Methode erlaubt es, einzelne Farben zu ›3msperren.›0m backprefs.guide.deutsch converted by Guide2Doc 1.0 (02-Nov-1993) FreeWare - © Koessi