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

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

-1- [ - Beitrag schreiben - ]

18.07.2009, 00:40 Uhr

AGSzabo
Posts: 1663
Nutzer
hi,

ich habe mich entschieden alle images in meinem guisystem von icons her zu machen. dazu startete ich den ersten versuch ein icon von diskette zu öffnen und zu zeichnen, ABER es wird nicht das bunte icon gezeichnet sondern eine low-color version! und diese ist immer das selbe (eine box mit einem fragezeichen drauf) egal welche datei ich lese. außerdem wird der hintergrund entgegen aller tags-angaben immer gefüllt und nie ein rahmen drumrum gezeichnt egal was ich in den tags angbe. was mache ich schon wieder falsch?

code:
IcINIT		tst.l	xuiIc_diskobject(a0)
		bne.b	.rts
		lea	filename(pc),a1
		beq.b	.rts
		move.l	a0,a3
		move.l	a1,a0
		move.l	iconbase(pc),a6
		jsr	_LVOGetDiskObjectNew(a6)
		move.l	d0,xuiIc_diskobject(a3)
.rts		rts

filename: dc.b "workbench:prefs",0
even

IcDRAW		move.l	a0,a3
		move.l	xuiIc_rastport(a3),a0
		moveq	#RP_JAM1,d0
		move.l	gfxbase(pc),a6
		jsr	_LVOSetDrMd(a6)
		move.l	xuiIc_diskobject(a3),d0
		beq.b	.rts
		move.l	d0,a1
		sub.l	a2,a2
		moveq	#IDS_NORMAL,d2
		btst	#xuiIcB_PRESSED,xuiIc_flags(a3)
		beq.b	.coords
		moveq	#IDS_SELECTED,d2
.coords		move.w	xuiIc_left(a3),d0
		move.w	xuiIc_top(a3),d1
		move.l	xuiIc_rastport(a3),a0
		lea	.tags(pc),a3
		move.l	iconbase(pc),a6
		jmp	-162(a6)	;	_LVODrawIconStateA

.rts		rts

.tags		dc.l	ICONDRAWA_EraseBackground,0
		dc.l	ICONDRAWA_Frameless,1
		dc.l	ICONDRAWA_Borderless,1
		dc.l	TAG_END


ps: ich glaube das SetDrMd() ist überflüssig...


--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ Dieser Beitrag wurde von AGSzabo am 18.07.2009 um 00:47 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

18.07.2009, 08:34 Uhr

thomas
Posts: 7718
Nutzer
@AGSzabo:

Wenn du eine OS3.9-Funktion zum Zeichnen benutzt, dann mußt du auch eine OS3.9-Funktion zum Laden benutzen: GetIconTagList.

Hast du meinen Kommentar zu deinem Rectangle-Problem gelesen ?
http://www.amiga-news.de/forum/thread.php?id=31565&BoardID=7

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

18.07.2009, 10:11 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

das ist ein guter hinweis, danke. aber wie werde ich so ein mit GetIconTagList geladenes icon wieder los? bei FreeDiskObject steht man darf das nur fuer Icons verweden die mit GetDiskObject geladen wurden.


Rectangel: ja, habe ich gelesen. war ein guter hinweis.

--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ Dieser Beitrag wurde von AGSzabo am 18.07.2009 um 10:47 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

18.07.2009, 12:10 Uhr

thomas
Posts: 7718
Nutzer
@AGSzabo:

Das ist die Ausnahme. FreeDiskObject ist schon richtig.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

18.07.2009, 14:21 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

jetzt geht es. es ist doch toll das es menschen gibt wie euch hier! ich freu mich riesig.
--
e-uae 39bb2 - A4000d 39bb2 - Cyberst.MK3 060 50mhz 128mb - Cybervis. - Ariadne_II - ide DVD und 320gb HD (nur 128gb) - HD Floppy -- A500 3.1 adide 50mb -- Duron 1600mhz Ubuntu Linux / WinXP -- BenQ FP93G TFT - 1048 like CRT - HP psc1110

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


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


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