Beispiel #1
0
time_t time(time_t* time)
{
	struct Time retVal;

	SysGetTime(&retVal);

	if (time)
		*time=retVal.seconds;

	return retVal.seconds;
}
void SampleMain(void) 
{ 
  PBitMap BitMap, Logo;
  TRect LogoRect, Rect;
  float t;
  int x, y, s;
 
  BitMap = esCreateBitMap(SysGetScreenWidth(), SysGetScreenHeight(), SysGetPixelFormat()); 
  Logo = esCreateStaticBitMap(111, 25, pf1bit, Logo_data);

  LogoRect.x1 = 0;
  LogoRect.y1 = 0;
  LogoRect.x2 = 111;
  LogoRect.y2 = 25;

  while(1)
  {
    // background
    esClear(BitMap, clWhite);
    esDrawRect(BitMap, 0, 0, 255, 127, clBlack); 
    esFillEllipse(BitMap, 0, 0, 255, 127, clBlack); 
    esFillRect(BitMap, 0, 0, 255, 63, clInvert); 
    // sinus
    t = SysGetTime() * 0.002;
    for(x = 0; x < 256; x++, t += 0.1)
    {
      y = 63 + sin(t + cos(t* 0.3))*30;
      esSetPixel(BitMap, x, y, clInvert);
      s = 5 + sin(t*0.3)*5;
      if(x % 10 == 0)
      { 
        esFillEllipse(BitMap, x - s, y - s, x + s, y + s, clBlack); 
        esDrawEllipse(BitMap, x - s, y - s, x + s, y + s, clWhite);
      }
    }
    // logo
    Rect.x1 = 50 + sin(t) * 30;
    Rect.x2 = 205 + sin(t * 0.8) * 30;
    Rect.y1 = 45 + sin(t * 1.7) * 20;
    Rect.y2 = 85 + sin(t * 1.3) * 20;
    esStrechDraw(BitMap, Rect, Logo, LogoRect);

    SysDrawBuffer(BitMap->Pixels);
  }

  esFreeBitMap(BitMap); 
  esFreeStaticBitMap(Logo);
}