Files
TempleOS-Rijn/TempleOSCD/Demo/Graphics/EdSprite.HC
T
2017-01-22 20:26:44 +01:00

94 lines
6.5 KiB
HolyC

/*Add an outline to Sprites and
print them to the cmd line. They
can be cut/pasted from there.
*/
$SP,"<1>",BI=1$
$SP,"<2>",BI=2$
$SP,"<3>",BI=3$
$SP,"<4>",BI=4$
$SP,"<5>",BI=5$
$SP,"<6>",BI=6$
$SP,"<7>",BI=7$
$SP,"<8>",BI=8$
$SP,"<9>",BI=9$
$SP,"<10>",BI=10$
$SP,"<11>",BI=11$
$SP,"<12>",BI=12$
#define NUM 12
U8 *in_img[NUM]={$IB,"<1>",BI=1$,$IB,"<2>",BI=2$,$IB,"<3>",BI=3$,$IB,"<4>",BI=4$,$IB,"<5>",BI=5$,$IB,"<6>",BI=6$,$IB,"<7>",BI=7$,$IB,"<8>",BI=8$,$IB,"<9>",BI=9$,$IB,"<10>",BI=10$,$IB,"<11>",BI=11$,$IB,"<12>",BI=12$};
U0 OutLine()
{
I64 n,minx,maxx,miny,maxy,w,h,i,j,k,c;
U8 *out_img;
CDC *dc;
for (n=0;n<NUM;n++) {
SpriteExtents(in_img[n],&minx,&maxx,&miny,&maxy);
w=maxx-minx+1+2;
h=maxy-miny+1+2;
dc=DCNew(w,h);
dc->color=TRANSPARENT;
GrRect(dc,0,0,w,h);
Sprite3(dc,-minx+1,-miny+1,0,in_img[n]);
for (i=0;i<h;i++)
for (j=0;j<w;j++)
if (GrPeek(dc,j,i)==TRANSPARENT) {
for (k=0;k<8;k++) {
c=GrPeek(dc,j+gr_x_offsets[k],i+gr_y_offsets[k]);
if (c!=-1 && c!=BLACK && c!=TRANSPARENT) {
dc->color=BLACK;
GrPlot(dc,j,i);
break;
}
}
}
out_img=DC2Sprite(dc);
'\n';
Sprite(out_img);
'\n\n\n\n';
DCDel(dc);
Free(out_img);
}
}
OutLine;
‚˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙ ˙˙˙ ˙ ˙ ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙‚
˙˙˙˙˙˙˙˙˙˙˙˙˙˙ ˙ ˙ ˙˙ ˙ ˙ ˙˙ ˙˙ ˙˙˙ ˙˙˙ ˙˙˙ ˙˙˙ ˙˙˙˙ ˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙ ˙˙˙˙ ˙˙ ˙˙ ˙ ˘
˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙ ˙˙˙ ˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙ ˙˙˙ ˙˙ ˙ Â
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙ ˙˙˙˙ ˙˙˙ ˙˙ ˙ ˙ Ň˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙ ˙˙ ˙˙ ˙˙ ˙ Ň˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙˙ ˙˙˙˙˙˙˙ ˙˙˙˙˙˙ ˙˙˙˙˙ ˙˙˙ ˙˙ ˙˙ ˙˙ ˙ ‚˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙
˙˙˙
˙˙˙
˙
˙
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙‚
˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙
˙
˙˙
˙
˙
˙˙
˙˙
˙˙˙
˙˙˙
˙˙˙
˙˙˙
˙˙˙˙
˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙
˙˙˙˙
˙˙
˙˙
˙
˘
˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙
˙˙˙
˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙
˙˙˙
˙˙
˙
Â
˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙
˙˙˙˙
˙˙˙
˙˙
˙
˙
Ň˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙
˙˙
˙˙
˙˙
˙
Ň˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙˙
˙˙˙˙˙˙˙
˙˙˙˙˙˙
˙˙˙˙˙
˙˙˙
˙˙
˙˙
˙˙
˙