amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > guigfx Problem [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

27.06.2002, 13:34 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Ich weiss nicht, ob mein Problem an der guigfx.library liegt, oder ich eine Fehler mache.

Folgendes sehr selten erscheint das was ich mittels DrawPicture malen will will nicht da, wo es sollte obwohl ich die Koordinaten und auch das Window überprüft habe. D.h. das Bildchen sollte in der linken unteren Ecke des Screens erscheinen (das Window befindet sich auch dort unten), ab und zu erscheint das Bild nicht im Window sondern links oben auf der Workbench, wo mein Window nicht ist.

Wohlmöglich bin ich bl*d, aber einen Fehler kann ich meinerseits nicht finden, da wie gesagt das Window und die Koordinaten stimmen.

hat jemand einen Rat?

PS: vieleicht hat WinUAE probleme oder P96 oder oder.., jedenfalls
stört das gewaltig.

gruss

Darius

[ - Antworten - Zitieren - Direktlink - ]

27.06.2002, 14:52 Uhr

Michael_Mann
Posts: 1012
Nutzer
Benutzt Du die Routine innerhalb des Fensters oder außerhalb?. Ggfls. müßte man vor jeder Anwendung dieser Routine die Koordinaten neu ermitteln und/oder die Flags vom Window-Port neu einstellen und/oder die Position des Extra-Fensters neu bestimmen.
Wird auch immer der Window-Port des Extra-Fensters genommen?

Michael

[ - Antworten - Zitieren - Direktlink - ]

28.06.2002, 01:01 Uhr

DariusBrewka
Posts: 899
[Benutzer gesperrt]
Mein Programm zeichnet schon in das Fenster, ich gebe die Adresse dieses vor jedem zeichnen Testweise aus ebenso die Koordinaten und keiner dieser Werte ändert sich jemals, trotzdem erscheint das Bildchen (wenn ich mein Programm starte, während des laufens ist das nicht passiert!!!) an einer falschen Stelle, es dürfte aber nicht an ggf. nicht erzeugten Fenstern usw. liegen da sonst nichts gezeichnet wird.

Ich dachte es läge vieleicht an irgend einen Programmierfehler, aber nun ist das selbe an einer völlig anderen Stelle im Programm aufgetaucht sodass ich daran nicht so recht glauben kann :-(

Ich muss vieleicht >100 mal neustarten um einmal diesen Fehler zu erhalten, es ist halt Merkwürdig.

dazu noch folgendes, ich dachte dass ich vieleicht NULLPointer für den RastPort etc. übergeben habe, aber durch explizites setzen auf NULL liess sich dieses nicht reproduzieren -> nichts wird gezeichnet.

Mein Programm erstellt einen Task welcher die DrawPicture Funktion in regelmässigen Abständen aufruft, aber nur wenn das Fenster vorhanden ist! Im Fenster ist das Bildchen dann in Ordnung und wird regelmässig erneuert, ein einzelnes Bildchen erscheint an der falschen Stelle, im wb-Hintergrund.

gruss

Darius

[ - Antworten - Zitieren - Direktlink - ]

28.06.2002, 01:55 Uhr

Mazze
Posts: 263
Nutzer
Hi,

falls Drawimage ein Art Blit-Funktion ist, brauchst Du vielleicht 'WaitBlit'. Möglicherweise müssen beim Blitten in ein Fenster die Layer gelockt werden. :O

[ - Antworten - Zitieren - Direktlink - ]

28.06.2002, 07:52 Uhr

Micha1701
Posts: 938
Nutzer
Hi!

Vielleicht eine blöde Frage, aber die erste die mir einfiel:

Sind die Zielkoordinaten relativ zum Fenster oder relativ zum Screen?

Sprich das Fenster ist auf 0:400, soll dann das Bild auch auf 0:400 gezeichnet werden, oder auf 0:0 des Fenster->Rastports?

--
:boing: Micha :boing:

Look at my HP: http://www.lanser-online.de.vu



[ - Antworten - Zitieren - Direktlink - ]

28.06.2002, 11:15 Uhr

Michael_Mann
Posts: 1012
Nutzer
Mir schoß eben durch den Kopf, das es hier auch ein Initialisierungsproblem beim Programmanfang sein könnte.
1. Da die WB ein PublicScreen ist dann sollte man generell folgendes machen:
LockPubScreen(), in a0: APTR screenname (0 oder "Workbench" für die WB)
Parameter bereitstellen und OpenWindow() aufrufen
UnlockPubScreen(a0,a1)
LockPubScreen liefert als Rückgabewert die Screen-Adresse oder NULL.
UnlockPubScreen: a0=Screename oder 0, a1=STRUCT screen *Screen wenn a0=0
2. Ggfls. müßte das Extra-Fenster von Anfang an bereits "aktiviert" sein also das passende Flag gleich am Anfang mitsetzen.

3. Ggfls mal mit RethinkDisplay sowie AllocRaster arbeiten.


Michael


[ Dieser Beitrag wurde von Michael_Mann am 28.06.2002 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > guigfx Problem [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.