I gave up trying to add rotation, but here's a rough rounded rectangle thick edge box.. In classic JNK rounded rectangle thick edge box colours! [code] Graphics 800,600,32,2 SetBuffer BackBuffer() thick=4 Repeat Cls RoundedRectOutlined(100,200,400,200,$FFFF00,$FF9900,thick,rot,0) RoundedRectOutlined(100,30,100,50,$FFFF00,$FF9900,thick,rot,1) If KeyDown(203) And thick>2 Then thick=thick-1 If KeyDown(205) And thick<24 Then thick=thick+1 Flip Until KeyDown(1) End Function RoundedRectOutlined(x,y,width,height,FillCol=$FFFF00,OutlineCol=$FF9900,thick=8,rot=0,fade=0) ; Sorry, gave up trying to rotate it! Color 0,0,fillcol Rect x,y,width,height,1 For n=0 To thick Color 0,0,FillCol LockBuffer BackBuffer() For ang=0 To 90 Step 5 WritePixelFast x+(thick-1)-Sin(ang)*n,y+(thick-1)-Cos(ang)*n,FillCol WritePixelFast x-(thick-1)+width+Sin(ang)*n,y+(thick-1)-Cos(ang)*n,FillCol WritePixelFast x+(thick-1)-Sin(ang)*n,y-(thick-1)+height+Cos(ang)*n,FillCol WritePixelFast x-(thick-1)+width+Sin(ang)*n,y-(thick-1)+height+Cos(ang)*n,FillCol Next UnlockBuffer BackBuffer() Color 0,0,OutlineCol:argb=outlinecol If n<thick/2 Then Color 0,0,fillcol:argb=fillcol If fade=1 a=(fillcol And $FF0000) Shr 16 c=(outlinecol And $FF0000) Shr 16 r=(((c-a)*n)/thick)+a a=(fillcol And $FF00) Shr 8 c=(outlinecol And $FF00) Shr 8 g=(((c-a)*n)/thick)+a a=(fillcol And $FF) c=(outlinecol And $FF) b=(((c-a)*n)/thick)+a Color r,g,b argb=(255 Shl 24)+(r Shl 16)+(g Shl 8)+b EndIf Line x-n,y,x-n,y+height Line x+width+n,y,x+width+n,y+height Line x,y-n,x+width,y-n Line x,y+height+n,x+width,y+height+n For ang=0 To 90 WritePixelFast x-Sin(ang)*n,y-Cos(ang)*n,argb WritePixelFast x+width+Sin(ang)*n,y-Cos(ang)*n,argb WritePixelFast x-Sin(ang)*n,y+height+Cos(ang)*n,argb WritePixelFast x+width+Sin(ang)*n,y+height+Cos(ang)*n,argb Next Next End Function [/code] This post is from -- http://socoder.net/index.php?topic=1231