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); }