    rem Bitmap Showcase

    rem Standard Setup Code for all examples
    sync on : sync rate 60 : draw to back
    set text font "arial" : set text size 20
    set text to bold : set text transparent

    rem Load backdrop
    load bitmap "foliage.jpg"
    get image 1,0,0,640,480

    rem Produce Title
    ink rgb(0,0,0),0 : center text (screen width()/2)+1,7,"BMP DDS DIB JPG PNG RLE TGA"
    ink rgb(255,255,255),0 : center text screen width()/2,6,"BMP DDS DIB JPG PNG RLE TGA"

    rem Create offscreen sprite
    set sprite 1,0,1
    set sprite alpha 1,128
    offset sprite 1,(640-96)/4,(450-96)/4
    size sprite 1,(640-96)/2,(450-96)/2
    sprite 1,320,48+((450-96)/2),1

    rem Create offscreen bitmap
    create bitmap 2,640,480
    set current bitmap 0

    rem Main loop
    do

    rem Provide backdrop to visual screen
    set current bitmap 2
    sprite 2,320,240,1
    sr#=350+(cos(a#)*10)
    rotate sprite 2,sr#
    size sprite 2,1000,800
    offset sprite 2,512,384
    set sprite alpha 2,100
    set sprite 2,0,0
    paste sprite 2,320,240
    sprite 2,-2000,-2000,1
    set current bitmap 0
    copy bitmap 2,48,48,640-48,450-48,0,48,48,640-48,450-48

    rem Rotate sprite
    a#=wrapvalue(a#+2)
    r#=350+(cos(a#)*10)
    rotate sprite 1,r#
    set sprite alpha 1,128
    sprite 1,320,48+((450-96)/2),1
    set sprite 1,0,0
    s#=s#+0.5 : if s#>100 then s#=100
    size sprite 1,((640-96)/2)*(s#/100.0),((450-96)/2)*(s#/100.0)

    rem Show filename
    ink rgb(255,255,255),0
    center text 320,350,file$

    rem Show Buttons
    over=0
    for but=1 to 3
     for high=0 to 1
      if high=0 then ink rgb(20,20,20),0 : bx=-1 : by=-1
      if high=1 then ink rgb(100,200,100),0 : bx=0 : by=0
      if high=1 and mousey()>420 and mousey()<460
       if but=1 and abs(mousex()-170)<50 then ink rgb(255,255,255),0 : over=1
       if but=2 and abs(mousex()-320)<50 then ink rgb(255,255,255),0 : over=2
       if but=3 and abs(mousex()-470)<50 then ink rgb(255,255,255),0 : over=3
      endif
      if but=1 then but$="PREV"
      if but=2 then but$="NEXT"
      if but=3 then but$="EXIT"
      center text 320+bx+((but-2)*150),420+by,but$
     next high
    next but

    rem Controls
    if mouseclick()=1
     if once=0
      once=1
      if over=1 then pic=pic-1 : picload=1 : s#=0
      if over=2 then pic=pic+1 : picload=1 : s#=0
      if picload=1
       picload=0
       if pic<0 then pic=6
       if pic>6 then pic=0
       if pic=0 then file$="2DFiles\logo.bmp"
       if pic=1 then file$="2DFiles\logo.dds"
       if pic=2 then file$="2DFiles\logo.dib"
       if pic=3 then file$="2DFiles\logo.jpg"
       if pic=4 then file$="2DFiles\logo.png"
       if pic=5 then file$="2DFiles\logo.rle"
       if pic=6 then file$="2DFiles\logo.tga"
       load bitmap file$,1
       if bitmap exist(1)=1
        get image 1,0,0,bitmap width(1),bitmap height(1),1
        set current bitmap 0
        delete bitmap 1
       endif
      endif
      if over=3 then end
     endif
    else
     once=0
    endif

    rem Update screen
    sync

    rem End loop
    loop