amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > draw icon [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2009-07-18, 00:40 h

AGSzabo
Posts: 1663
User
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. ]

[ - Answer - Quote - Direct link - ]

2009-07-18, 08:34 h

thomas
Posts: 7717
User
@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/

[ - Answer - Quote - Direct link - ]

2009-07-18, 10:11 h

AGSzabo
Posts: 1663
User
@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. ]

[ - Answer - Quote - Direct link - ]

2009-07-18, 12:10 h

thomas
Posts: 7717
User
@AGSzabo:

Das ist die Ausnahme. FreeDiskObject ist schon richtig.

Gruß Thomas

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

[ - Answer - Quote - Direct link - ]

2009-07-18, 14:21 h

AGSzabo
Posts: 1663
User
@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

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > draw icon [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.