![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Programmierung > CGX: Linien? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
17.03.2004, 00:24 Uhr Ralf27 Posts: 2779 Nutzer |
WriteRGBPixel haben wir schon bearbeitet, aber wie schaut es mit Linien aus? Man kann zwar wunderschön mit denn Funktionen von Graphics Linien auf dem CGX-Display zeichnen, aber wie mach ich das mit Linien Systemkonform? Bzw. wenn ich mit einer bestimmten Farben zeichnen möchte? Hab heute schon wieder ( ![]() ![]() PS: Hey, ihr habt mich mit dem C schon so weit gebracht das ich jetzt auch schon in MBasic mit INCLUDES anfange. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 01:29 Uhr dante Posts: 111 Nutzer |
Move und Draw aus der graphics.library sind deine Freunde ![]() [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 08:27 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Also kann ich diese auch "normal" benutzen für CGX. Wie schaut es aber aus mit dem Farben setzen für CGX? -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 08:54 Uhr thomas Posts: 7722 Nutzer |
Ich dachte, das hätten wir dir schon in dem anderen Thread deutlich gemacht: Du solltest nach Möglichkeit *nur* die Funktionen der graphics.library benutzen, nur wenn es sich gar nicht vermeiden läßt, auch die cgx-lib. Für normale Anwendungen reicht die graphics.lib vollkommen aus. Und WritePixel / WriteRGBPixel sind sicher keine geeigneten Funktionen, egal, was man macht. Das wurde auch schon besprochen. Farben setzen geht genauso wie bei AGA: mit ObtainPen oder ObtainBestPen einen Stift auswählen, ggf. mit SetRGB32 dem Stift eine Farbe geben und dann mit Move und Draw oder den Area-Funktionen zeichnen. Bei <= 8 bit-Screens wird mit SetRGB32 der Paletten-Eintrag überschrieben, d.h. du mußt für jede Farbe einen anderen Pen auswählen, sonst ändert sich auch die Farbe von Sachen, die du schon gezeichnet hast. Bei 16- und 24bit-Screens kannst du immer den selben Pen benutzen. Ein Beispiel (in C) findest du hier: http://home.t-online.de/home/thomas-rapp/download/truecolors.lha Du solltest es einmal auf einem 8bit-Screen und einmal auf einem 16bit-Screen ausprobieren, um den unterschiedlichen Effekt zu erkennen. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 09:45 Uhr chkamiga Posts: [Ex-Mitglied] |
Schau mal rein in Basic: SetAPen rp&,dgrau& junk=SetOutlinePen&(rp&,dgrau&) Rectfill rp&,1+x,10+y,14+x,33+y move rp&,2+x,9+y:draw rp&,13+x,9+y move rp&,2+x,34+y:draw rp&,13+x,34+y Rectfill rp&,3+x,6+y,5+x,8+y bla=WritePixel&(rp&,4+x,5+y) SetAPen rp&, color4& move rp&,4+x,21+y:draw rp&,5+x,21+y move rp&,7+x,21+y:draw rp&,8+x,21+y move rp&,10+x,21+y:draw rp&,11+x,21+y move rp&,3+x,23+y:draw rp&,4+x,23+y move rp&,6+x,23+y:draw rp&,9+x,23+y move rp&,11+x,23+y:draw rp&,12+x,23+y move rp&,4+x,25+y:draw rp&,11+x,25+y move rp&,4+x,27+y:draw rp&,11+x,27+y move rp&,4+x,29+y:draw rp&,11+x,29+y move rp&,4+x,31+y:draw rp&,11+x,31+y SetAPen rp&,dgrau& move rp&,6+x,25+y:draw rp&,6+x,31+y move rp&,9+x,25+y:draw rp&,9+x,31+y SetAPen rp&,gruen& junk=SetOutlinePen&(rp&,gruen&) Rectfill rp&,2+x,13+y,13+x,19+y bla=WritePixel&(rp&,12+x,22+y) SetAPen rp&,rot& bla=WritePixel&(rp&,12+x,10+y) bla=WritePixel&(rp&,3+x,22+y) SetAPen rp&,1 move rp&,7+x,11+y:draw rp&,8+x,11+y bla=WritePixel&(rp&,4+x,14+y) bla=WritePixel&(rp&,3+x,15+y) bla=WritePixel&(rp&,4+x,16+y) bla=WritePixel&(rp&,3+x,17+y) move rp&,6+x,14+y:draw rp&,6+x,17+y move rp&,7+x,15+y:draw rp&,8+x,15+y move rp&,9+x,14+y:draw rp&,9+x,17+y bla=WritePixel&(rp&,12+x,14+y) bla=WritePixel&(rp&,11+x,15+y) bla=WritePixel&(rp&,12+x,16+y) bla=WritePixel&(rp&,11+x,17+y) Hilft dir vielleicht und ist Grafikkartenkompatibel. -- http://people.freenet.de/CHRAmiga.de CHRKUM@web.de [ - Ändern - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 16:35 Uhr Mad_Dog Posts: 1944 Nutzer |
Zitat: Genau. ![]() Aber Ralf27 kann auch ruhig noch 10 mal fragen, ohne daß ich sauer werde. ![]() Und hier noch ein komplettes (wenn auch uraltes) Beispiel von mir für das Zeichnen von Linien: http://us.aminet.net/dev/src/intuiflake.lha -- http://www.norman-interactive.com [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 20:14 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Äh, wenn ich ehrlich bin weiß ich nicht was ich damit anfangen soll. Ich weiß schon was jede einzelne Zeile macht. Meine Frage war in diesem Thread wie ich am besten Systemkonform einzelne Stifte (nicht Stiftnummer, sondern RGB) auswähle und setze. SetAPen ist mir schon klar. Ich wollte nur wissen wie man es am besten Systemkonform für Grafikkarten progt. Und genauergetippt ist genau das was ich suche da nicht vorhanden wie z.b. ObtainPen& oder ObtainBestPenA. Hast Du da Beispiele für diese Befehle? Das sind die interesanten für mein Problem. [ Dieser Beitrag wurde von Ralf27 am 17.03.2004 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 20:16 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Ne, es würde für mich nicht deutlich, deswegen nochmal diese Frage hier. ![]() Das man einzelne Punkte nicht setzen sollte via Write(RGB)Pixel sondern via Array ist mir schon klar. Die Frage hier bezieht sich auf das Linien ziehen. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 20:55 Uhr Holger Posts: 8116 Nutzer |
Zitat:Die Philosopie von Cybergraphics zumindest zu Begin war, keine Funktion zur Verfügung zu stellen, die man mit der originalen graphics.lib auch hinbekommt. Deshalb gibt es zu der Vorgehensweise: (alles original gfx) keine Alternative in cgx. Wenn Du jetzt meinst, daß man damit eigentlich nicht die volle Funktionalität einer Grafikkarte nutzen kann, hast Du recht. Hilft aber auch nichts ![]() mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
17.03.2004, 22:38 Uhr Ralf27 Posts: 2779 Nutzer |
Ok, ObtainPen ist das Zauberwort für mein Problem. ![]() Ich weiß nicht, irgendwie stürz der Rechner immer ab wenn ich diesen Befehl benutze. Leider weiß ich noch nicht mal wie ich diesen Befehl am besten fütter. Bis jetzt hab ich es testweise so gemacht: Stiftummer=ObtainPen(ColorMap,-1,255,255,255,PEN_NO_SETCOLOR) Ich will halt testweiße Weiß haben. Ich hoffe doch das RGB von 0-255 geht, oder? -1 = keine Liste von Pens die reserviert sind (sehe ich richtig so, oder? ) PS: (schreib ich sicherheitshalber gleich nochmal hin, sicher ist sicher. ![]() 1. ich kann kaum englisch 2. ich hab die SDK für os3.9, aber da leider Punkt 1 hier zieht...:angry: -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 00:14 Uhr Mad_Dog Posts: 1944 Nutzer |
Zitat: Ich hab Dir aber auch geschrieben, daß Du die Grafikprimitiven (also Punkte, Linien, Polygone) unter CGX genauso benutzen kannst (bzw. sollst) wie üblich. -- http://www.norman-interactive.com [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 06:50 Uhr Ralf27 Posts: 2779 Nutzer |
Wie nutze ich am besten ObtainPen? (Problem siehe oben) Ich hab da zwar schon eine Problemlösung, aber das wäre wieder ein Hack um ObtainPen zu umschreiben. Dürfte auch auf Grafikkarten laufen, aber dann wohl nur auf den unteren 8 Bit. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 10:04 Uhr chkamiga Posts: [Ex-Mitglied] |
Kein Problem: LIBRARY "graphics.library" DECLARE FUNCTION ObtainBestPenA& LIBRARY 'cm&, r&, g&, b&, tags& DECLARE SUB ReleasePen LIBRARY 'cm&, ExtendedNoden& DIM tags&(10) sWindow& = WINDOW(7) sScreen& = PEEKL(sWindow& + 46) sViewPort& = sScreen& + 44 cm& = PEEKL(sViewPort& + 4) r&=255 g&=255 b&=0 IF r&<128 THEN rr&=r&*16843009 ELSE rr&=(r&-255)*16843009-1 IF g&<128 THEN gg&=g&*16843009 ELSE gg&=(g&-255)*16843009-1 IF b&<128 THEN bb&=b&*16843009 ELSE bb&=(b&-255)*16843009-1 TAGLIST VARPTR(tags&(0)), _ OBP_Precision&, PRECISION_GUI&, _ OBP_FailIfBad&, FALSE&, _ TAG_DONE& bp&=ObtainBestPenA&(cm&,rr&,gg&,bb&,VARPTR(tags&(0))) COLOR bp&:PRINT"bestpen=";bp& ReleasePen cm&,bp& -- http://people.freenet.de/CHRAmiga.de CHRKUM@web.de [ - Ändern - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 11:52 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Hm, ich weiß jetzt nicht wie Du auf die Farbumrechnungsberechnung kommst, aber es geht. ![]() Ich hab übrigens am Anfang die drei Zeilen raus gelassen und hab folgendes dafür eingebaut: rem $include graphics.bh LIBRARY OPEN "graphics" Sonst geht es ja nicht mit den Konstanten, die da unten im Programm benutzt werden. Und für was ist denn dann RelaisPen da? So, Mittag ist rum, muß wieder an die Arbeit. ![]() [ Dieser Beitrag wurde von Ralf27 am 18.03.2004 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 12:36 Uhr thomas Posts: 7722 Nutzer |
Zitat: Die Farben müssen in 32bit und nicht 8bit angegeben werden. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 17:07 Uhr chkamiga Posts: [Ex-Mitglied] |
Genau und da Maxonbasic Variablen mit Vorzeichen behaftet muss das so komisch umgerechnet werden. Das wurde mir auch hier im Forum gesagt. >Ich hab übrigens am Anfang die drei Zeilen raus gelassen und hab folgendes dafür eingebaut: >rem $include graphics.bh >LIBRARY OPEN "graphics" Kann man auch machen, er declariert denn aber alles und das Programm wird größer. >Sonst geht es ja nicht mit den Konstanten, die da unten im Programm benutzt werden. Das Programm ist eigenständig und müsste ohne Veränderung laufen! >Und für was ist denn dann RelaisPen da? Keine Ahnung. -- http://people.freenet.de/CHRAmiga.de CHRKUM@web.de [ - Ändern - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 18:55 Uhr thomas Posts: 7722 Nutzer |
Zitat: ReleasePen gibt den angeforderten Stift wieder frei. Wenn du das nicht machst, sind irgendwann alle Stifte belegt und kein Programm kann mehr zeichnen. Bei Stiften, die mit ObtainBestPen angefordert wurden, darf man die Farbe nicht ändern, denn diese Stifte werden von mehreren Programmen gleichzeitig benutzt. Wenn du einen Pen möchtest, der nur deinem Programm gehört, dann mußt du ObtainPen mit PEN_EXCLUSIVE nehmen. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 20:47 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Moment, ich dachte 3*8 Bit, das heißt pro Farbe 8 Bit. Aber das Programm braucht 3*32 Bit? Pro Farbe 32 Bit??? -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 20:50 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat:Da hätte ich lange versuchen können. Darauf wäre ich nicht gekommen. ![]() Zitat:Sicher? Da werden doch nur Konstanten deklariert und alle die nicht gebraucht werden werden ja auch nicht mit ins Programm eingebunden (denke ich mir mal, hab es noch nie versucht). Aber das müßte dann ja auch so bei C-Programmen sein. Ich werde das aber auch mal testen. Zitat:Laufen ja, aber was ist mit den Konstanten die nicht deklariert sind? Die wären alle auf 0. Insofern also nicht richtig. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 21:55 Uhr Ralf27 Posts: 2779 Nutzer |
Hm, schön und gut. Unter AGA läuft es, unter CGX liefert es immer nur ein und denn gleichen Wert: 104. ??? Die Stifte die ich jetzt bekommen darf ich nicht ändern, oder? Wieso bekomme ich bei drei total unterschiedlichen Farbvorgaben(255,0,0 - 0,255,0 - 0,0,255) denn gleichen Stift unter CGX und bei AGA gehts? ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
18.03.2004, 22:35 Uhr Ralf27 Posts: 2779 Nutzer |
Problem hat sich gelöst, danke! ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
19.03.2004, 21:59 Uhr Holger Posts: 8116 Nutzer |
Zitat:Richtig. Wenn Du den Stift auch ändern willst, mußt Du ObtainPen statt ObtainBestPen benutzen und das Flag PEN_EXCLUSIVE angeben. Dann darfst Du ihn auch ändern. Trotzdem muß er hinterher mit ReleasePen wieder freigegeben werden. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
21.03.2004, 04:47 Uhr Mad_Dog Posts: 1944 Nutzer |
Ich konnt's mit irgendwie nicht verkneifen und hab für Ralf27 eine Intuition-Version meines OpenGL-Programms "Rainbow Spectrum 2" gemacht (da er mit OpenGL ja noch nicht klarkommt). Irgendwie sieht's noch nicht ganz wie das OpenGL-Original aus... aber egal, hier kommt's:code:--/* Intui_Spectrum * Autor: Norman Walter */ #include <exec/types.h> #include <exec/exec.h> #include <intuition/intuition.h> #include <graphics/gfx.h> #include <dos/dos.h> #include <stdlib.h> #include <math.h> #include <proto/intuition.h> #include <proto/graphics.h> #include <proto/dos.h> #include <proto/exec.h> // Symbolische Konstanten #define WIDTH 300 // Breite des Fensters #define HEIGHT 300 // Höhe des Fensters #define FACTOR 0x7FE00000 struct Window *Fenster; // Zeiger auf Window-Struktur struct IntuiMessage *message; // Zeiger auf IntuiMessage-Struktur struct Library *IntBase; // Zeiger auf Library-Struktur struct Library *MyGfxBase; // Zeiger auf Library-Struktur struct RastPort *rp; // Zeiger auf RastPort-Struktur // Die verschiedenen Pens LONG red_pen,green_pen,blue_pen,white_pen,rb_pen; // Struktur für Kurvenparameter struct curve_parameters { double center; double amplitude; double sigma; }; struct curve_parameters red_curve = {650.0,2.0,70.0}; struct curve_parameters green_curve = {550.0,1.5,65.0}; struct curve_parameters blue_curve = {450.0,0.75,60.0}; // Funktionsprototypen double gauss(double x, double center, double height, double sigma); int main(void) { double wavelength; // in nanometer int x; double red,green,blue,brightness; // Intuition Library öffnen IntBase = (OpenLibrary("intuition.library",0L)); if (IntBase != NULL) { // Graphics Library öffnen MyGfxBase = (OpenLibrary("graphics.library",0L)); // Fenster mittels Tags öffnen Fenster = OpenWindowTags(NULL, WA_Left, 100, // Abstand vom linken Rand WA_Top, 100, // Abstand vom oberen Rand WA_Width, WIDTH, // Breite WA_Height, HEIGHT, // Höhe WA_Title, "Intui Spectrum", // Fenstertitel WA_ScreenTitle, "Intui Spectrum", // Screen-Titel WA_CloseGadget, TRUE, // Close-Gadget WA_DragBar, TRUE, // Ziehleiste WA_DepthGadget, TRUE, // Depth-Gadget WA_GimmeZeroZero, TRUE, // Ursprung 0/0 WA_IDCMP, IDCMP_CLOSEWINDOW, WA_Activate, TRUE, // Fenster aktivieren TAG_DONE); if (Fenster != NULL) { rp = Fenster->RPort; red_pen = ObtainBestPen(Fenster->WScreen->ViewPort.ColorMap, 0xFFFFFFFF,0x00000000,0x00000000, TAG_DONE); green_pen = ObtainBestPen(Fenster->WScreen->ViewPort.ColorMap, 0x00000000,0xFFFFFFFF,0x00000000, TAG_DONE); blue_pen = ObtainBestPen(Fenster->WScreen->ViewPort.ColorMap, 0x00000000,0x00000000,0xFFFFFFFF, TAG_DONE); white_pen = ObtainBestPen(Fenster->WScreen->ViewPort.ColorMap, 0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF, TAG_DONE); SetRast(rp, 1L); // Fensterinhalt löschen /* Durch das Farbspektrum iterieren: * Wir fangen bei 400nm an und gehen bis 700nm. */ for (x=0; x < 300; x++) { wavelength = (double)(x+401); // Wellenlänge /* Die Farbkomponenten zur aktuellen Wellenlänge * lassen sich näherungsweise durch die Gauss'sche * Fehlverteilungskurve berechnen. */ red = gauss(wavelength, red_curve.center, red_curve.amplitude, red_curve.sigma); green = gauss(wavelength, green_curve.center, green_curve.amplitude, green_curve.sigma); blue = gauss(wavelength, blue_curve.center, blue_curve.amplitude, blue_curve.sigma); brightness = red + green + blue; // Passenden Pen finden rb_pen = ObtainBestPen(Fenster->WScreen->ViewPort.ColorMap, (ULONG)(red*FACTOR) << 1L, (ULONG)(green*FACTOR) << 1L, (ULONG)(blue*FACTOR) << 1L, OBP_Precision, PRECISION_IMAGE, OBP_FailIfBad, FALSE, TAG_DONE, NULL); // Spektrallinien zeichnen SetAPen(rp,rb_pen); // Farbe setzen Move(rp,x,0); Draw(rp,x,20); // Die Kurven für Rot, Grün und Blau zeichnen SetAPen(rp,red_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*red)); SetAPen(rp,green_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*green)); SetAPen(rp,blue_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*blue)); SetAPen(rp,white_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*brightness)); } // Auf Close-Gadget warten Wait(1L << Fenster->UserPort->mp_SigBit); CloseWindow(Fenster); // Fenster schließen } // end if } // end if // Libraries schließen if (MyGfxBase != NULL) CloseLibrary(MyGfxBase); if (IntBase != NULL) CloseLibrary(IntBase); return 0; } /* Gauss'sche Fehlverteilungskurve */ double gauss(double x, double center, double height, double sigma) { return height * exp(- (x - center) * (x - center) / (2.0 * sigma * sigma)); } http://www.norman-interactive.com [ Dieser Beitrag wurde von Mad_Dog am 21.03.2004 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
25.03.2004, 18:02 Uhr Holger Posts: 8116 Nutzer |
Aber Du würdest in einer richtigen Anwendung die pens auch wieder freigeben, oder?:glow: mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
26.03.2004, 16:50 Uhr Mad_Dog Posts: 1944 Nutzer |
Zitat: Uuups... Du hast natürlich recht. Das hatte ich ganz vergessen. Peinlich! ![]() Korrektur: code:// Passenden Pen finden rb_pen = ObtainBestPen(Fenster->WScreen->ViewPort.ColorMap, (ULONG)(red*FACTOR) << 1L, (ULONG)(green*FACTOR) << 1L, (ULONG)(blue*FACTOR) << 1L, OBP_Precision, PRECISION_EXACT, OBP_FailIfBad, FALSE, TAG_DONE, NULL); // Spektrallinien zeichnen SetAPen(rp,rb_pen); // Farbe setzen Move(rp,x,0); Draw(rp,x,20); ReleasePen(Fenster->WScreen->ViewPort.ColorMap,rb_pen); // Die Kurven für Rot, Grün und Blau zeichnen SetAPen(rp,red_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*red)); SetAPen(rp,green_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*green)); SetAPen(rp,blue_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*blue)); SetAPen(rp,white_pen); WritePixel (rp,x,HEIGHT-(int)(100.0*brightness)); } // Auf Close-Gadget warten Wait(1L << Fenster->UserPort->mp_SigBit); ReleasePen(Fenster->WScreen->ViewPort.ColorMap,red_pen); ReleasePen(Fenster->WScreen->ViewPort.ColorMap,green_pen); ReleasePen(Fenster->WScreen->ViewPort.ColorMap,blue_pen); ReleasePen(Fenster->WScreen->ViewPort.ColorMap,white_pen); CloseWindow(Fenster); // Fenster schließen Mit PRECISION_EXACT sieht's noch besser als mit PRECISION_IMAGE aus. ![]() Bild: http://w3studi.informatik.uni-stuttgart.de/~walternn/Intui_Spectrum.png -- http://www.norman-interactive.com [ Dieser Beitrag wurde von Mad_Dog am 26.03.2004 editiert. ] [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > CGX: Linien? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2025 by amiga-news.de - alle Rechte vorbehalten. |
![]() |