Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > cd38b09e3cb8d6c675b02d30393e68af > files > 28

kaya-doc-0.5.2-8.fc14.noarch.rpm

program sdltest;

import SDL;

Exception QuitNow;

Void main() {
  try {
    sdlInit();
    setWMTitle("SDL Test in Kaya","Kaya SDL");
    screen = newSurface(640,480,BPP32,false);
    pic = loadSurface("url-large.bmp"); px = 88; py = 31;
    /*pic = loadSurface("kaya_64.bmp"); px = 64; py = 72;
      setTransparency(pic,SDLColour(192,192,192,255));*/
    x = 0; y = 0;
    while(true) {
      case nextEvent() of {
	KeyDown(k,_) -> if (k == NormalKey('q')) {
	  throw(QuitNow);
	} else if (k == NormalKey('b')) {
	  blitSurface(pic,Rect(0,0,px,py),screen,Rect(0,0,px,py));
	  updateScreen(screen);
	} else if (k == FunctionKey(3)) {
	  blitSurface(pic,Rect(0,0,px,py),screen,Rect(300,300,px,py));
	  updateScreen(screen);
	} else if (k == ArrowRightKey) {
	  blitSurface(pic,Rect(0,0,px,py),screen,Rect(x+50,y,px,py));
	  updateScreen(screen);
	} else if (k == NormalKey('')) {
	  drawRectangle(screen,Rect(x,y,20,20),SDLColour(x%256,y%256,(x+y)%256,0));
	  updateScreen(screen);
	} else if (k == NormalKey('P')) {
	  drawRectangle(screen,Rect(x-20,y-20,20,20),SDLColour(x%256,y%256,(x+y)%256,0));
	  updateScreen(screen);
	} else {
	  blitSurface(pic,Rect(0,0,px,py),screen,Rect(x,y,px,py));
	  updateScreen(screen);
	}
	| MouseButton(b,x,y) -> blitSurface(pic,Rect(0,0,px,py),screen,Rect(x,y,px,py));
	updateScreen(screen);
	| MouseMove(x,y) -> ;
	| default -> ;
      }
    }
  } catch(e) {
    putStrLn(sdlError());
    exceptionBacktrace(e);
    sdlQuit();
  }
}