;
; ------------------------------------------------------------
;
; PureBasic - Palette example file
;
; (c) 2004 - Fantaisie Software
;
; ------------------------------------------------------------
;
CompilerIf Subsystem("directx7") = 0
CompilerError "This example only works with the DirectX7 subsystems"
CompilerEndIf
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitPalette() = 0
MessageRequester("Error", "Can't open DirectX 7 or later", 0)
End
EndIf
If OpenScreen(800, 600, 8, "PureBasic - Palette Example")
LoadSprite(0, "Data\AlphaChannel.bmp", 0)
; Build 256 precalculated palette to do a nice cycling effect !
;
For Palette = 0 To 255
CreatePalette(Palette)
For Index = 1 To 255 ; Let the first color always Black
Color = Index+Palette
If Color > 255
Color - 256
EndIf
SetPaletteColor(Palette, Index, Color << 8)
Next
Next
Palette = 0
Repeat
FlipBuffers() ; Flip for DoubleBuffering
ClearScreen(RGB(0, 0, 0))
DisplayPalette(Palette)
DisplaySprite(0, 100, 100)
Palette+1
If Palette > 255 : Palette = 0 : EndIf
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
EndIf
End