#include <tscope.h>
map *map1, *map2;
void makemaps()
{
map1 = ts_makebmp(50, 50);
map2 = ts_makebmp(50, 50);
ts_tobmp(map1);
ts_clrbmp(map1, TRANS);
ts_fill(TRUE);
ts_fgcolor(RED);
ts_circle(0, 0, map1->w - 1);
ts_fgcolor(GREEN);
ts_circle(0, 0, 24);
ts_tobmp(map2);
ts_clrbmp(map2, TRANS);
ts_fgcolor(YELLOW);
ts_font(COURIER, 72, BOLD);
ts_printf_centre(0, 0, "5");
ts_toscr();
}
void killmaps()
{
ts_killbmp(map1);
ts_killbmp(map2);
}
int main()
{
ts_scrsize(SIZE1);
ts_doublebuff(1);
ts_init();
makemaps();
ts_font(COURIER, 20, BOLD);
ts_fgcolor(WHITE);
ts_printf_centre(0, YMAX / 2, "regular blit");
ts_blit(map1, 0, 0);
ts_button(XMAX - 20, -YMAX + 20);
ts_clrscr();
ts_printf_centre(0, YMAX / 2, "partial blit");
ts_partblit(map1, -30, -30, 30, 30, 0, 0);
ts_button(XMAX - 20, -YMAX + 20);
ts_clrscr();
ts_printf_centre(0, YMAX / 2, "stretchblit");
ts_stretchblit(map1, 2, 0, 0);
ts_button(XMAX - 20, -YMAX + 20);
ts_clrscr();
ts_printf_centre(0, YMAX / 2, "flipped blit");
ts_flipblit(map2, HFLIP, 0, 0);
ts_button(XMAX - 20, -YMAX + 20);
ts_clrscr();
float fi;
for (fi = -360; fi <= 720; fi += .5) {
ts_clrbuff();
ts_tobuff();
ts_printf_centre(0, YMAX / 2, "rotated blit");
ts_rotateblit(map2, 0, 0, fi, 0, 0);
ts_blitbuff();
}
ts_button(XMAX - 20, -YMAX + 20);
ts_clrscr();
killmaps();
return 0;
}
END_OF_MAIN();