02.02.2014, 16:51
Hallo, habe schon wieder eine Frage. Betrifft evtl. auch AB, falls u.g. nicht funktioniert.
Ich möchte einen Bildschirm öffnen, der den Modus der Workbench und/oder die Farben und Pens der Workbench übernimmt.
Das klappt aber nicht, manchmal friert WinUAE ein, ohne Debugger klappt es schon, aber die Pens von Gadtools stimmen nicht: alle Borders sind schwarz, auch auf 8bit Screens.
Die Farben werden aber korrekt gesetzt! :?
[ab3].openscreen:
;obsolete constants, use #SA_... instead!
#Width=$80000023
#Height=$80000024
#Dpth=$80000025
#Typ=$8000002D
#DisplayID=$80000032
#Overscan=$80000034
#AutoScroll=$80000039
#LikeWorkbench=$80000047
.o__o
;ColorSpec.newtype is index.w/r.w/g/b
Dim myscol.ColorSpec(10) ;255
myscol(0)\ColorIndex= 0,7,7,8 ;grey
myscol(1)\ColorIndex= 1,1,1,1 ;black
myscol(2)\ColorIndex= 2,14,14,14 ;white
myscol(3)\ColorIndex= 3,13,8,0 ;dark orange
myscol(4)\ColorIndex= 5,15,14,2 ;yellow
myscol(5)\ColorIndex= 6,2,10,2 ;green
myscol(6)\ColorIndex= 7,12,2,0 ;red RGB 0,7,7,8 ;grey
myscol(7)\ColorIndex= -1,-1,-1,-1 ;endof array
scrtags\a=#BIDTAG_DesiredWidth,640,#BIDTAG_DesiredHeight,256,#BIDTAG_Depth,3,0,0
; scrtags\a=#BIDTAG_NominalWidth,640,#BIDTAG_NominalHeight,256,#BIDTAG_Depth,3,0,0
res.l=BestModeIDA_(scrtags)
If res=0
ScreenTags1,scrtitle$,#LikeWorkbench,-1,#SA_Colors,&myscol(0),#Width,640,#Height,256,#Dpth,3,0,0
Else
ScreenTags1,scrtitle$,#SA_DisplayID,res,#SA_Colors,&myscol(0),#SA_DetailPen,2,#SA_BlockPen,1,#Width,640,#Height,256,#Dpth,3,0,0
EndIf[/ab3]
Was stimmt hier nicht?
Ich möchte einen Bildschirm öffnen, der den Modus der Workbench und/oder die Farben und Pens der Workbench übernimmt.
Das klappt aber nicht, manchmal friert WinUAE ein, ohne Debugger klappt es schon, aber die Pens von Gadtools stimmen nicht: alle Borders sind schwarz, auch auf 8bit Screens.
Die Farben werden aber korrekt gesetzt! :?
[ab3].openscreen:
;obsolete constants, use #SA_... instead!
#Width=$80000023
#Height=$80000024
#Dpth=$80000025
#Typ=$8000002D
#DisplayID=$80000032
#Overscan=$80000034
#AutoScroll=$80000039
#LikeWorkbench=$80000047
.o__o
;ColorSpec.newtype is index.w/r.w/g/b
Dim myscol.ColorSpec(10) ;255
myscol(0)\ColorIndex= 0,7,7,8 ;grey
myscol(1)\ColorIndex= 1,1,1,1 ;black
myscol(2)\ColorIndex= 2,14,14,14 ;white
myscol(3)\ColorIndex= 3,13,8,0 ;dark orange
myscol(4)\ColorIndex= 5,15,14,2 ;yellow
myscol(5)\ColorIndex= 6,2,10,2 ;green
myscol(6)\ColorIndex= 7,12,2,0 ;red RGB 0,7,7,8 ;grey
myscol(7)\ColorIndex= -1,-1,-1,-1 ;endof array
scrtags\a=#BIDTAG_DesiredWidth,640,#BIDTAG_DesiredHeight,256,#BIDTAG_Depth,3,0,0
; scrtags\a=#BIDTAG_NominalWidth,640,#BIDTAG_NominalHeight,256,#BIDTAG_Depth,3,0,0
res.l=BestModeIDA_(scrtags)
If res=0
ScreenTags1,scrtitle$,#LikeWorkbench,-1,#SA_Colors,&myscol(0),#Width,640,#Height,256,#Dpth,3,0,0
Else
ScreenTags1,scrtitle$,#SA_DisplayID,res,#SA_Colors,&myscol(0),#SA_DetailPen,2,#SA_BlockPen,1,#Width,640,#Height,256,#Dpth,3,0,0
EndIf[/ab3]
Was stimmt hier nicht?