11// Draw Sprite Nine Sliced
2- function draw_niceslice (sprite,subimg,x,y,width,height,border,internal_scale,color=c_white,alpha=1 )
2+ // / @arg {Asset.GMSprite} sprite
3+ // / @arg {Real} subimg
4+ // / @arg {Real} x
5+ // / @arg {Real} y
6+ // / @arg {Real} width
7+ // / @arg {Real} height
8+ // / @arg {Real} border_width
9+ // / @arg {Real} border_height
10+ // / @arg {Real} internal_scale
11+ // / @arg {Asset.GMColor} color
12+ // / @arg {Real} alpha
13+ // / @pure
14+ function draw_niceslice (sprite,subimg,x,y,width,height,border_width,border_height,internal_scale,color=c_white,alpha=1 )
315{
416 var scale = internal_scale;
517 var sprite_w = sprite_get_width (sprite);
618 var sprite_h = sprite_get_height (sprite);
7- var side_length_raw_w = sprite_h-(border *2 );
8- var side_length_raw_h = sprite_w-(border *2 );
9- var side_scale_factor_w = (1 /side_length_raw_w)*(width-((border *scale)*2 ));
10- var side_scale_factor_h = (1 /side_length_raw_h)*(height-((border *scale)*2 ));
19+ var side_length_raw_w = sprite_w-(border_width *2 );
20+ var side_length_raw_h = sprite_h-(border_height *2 );
21+ var side_scale_factor_w = (1 /side_length_raw_w)*(width-((border_width *scale)*2 ));
22+ var side_scale_factor_h = (1 /side_length_raw_h)*(height-((border_height *scale)*2 ));
1123
1224 // Top Left
13- draw_sprite_part_ext (sprite,subimg,0 ,0 ,border,border ,x,y,scale,scale,color,alpha);
25+ draw_sprite_part_ext (sprite,subimg,0 ,0 ,border_width,border_height ,x,y,scale,scale,color,alpha);
1426
1527 // Top Right
16- draw_sprite_part_ext (sprite,subimg,sprite_w-border ,0 ,border,border ,x+width-(border *scale),y,scale,scale,color,alpha);
28+ draw_sprite_part_ext (sprite,subimg,sprite_w-border_width ,0 ,border_width,border_height ,x+width-(border_width *scale),y,scale,scale,color,alpha);
1729
1830 // Bottom Left
19- draw_sprite_part_ext (sprite,subimg,0 ,sprite_h-border,border,border ,x,y+height-(border *scale),scale,scale,color,alpha);
31+ draw_sprite_part_ext (sprite,subimg,0 ,sprite_h-border_height,border_width,border_height ,x,y+height-(border_height *scale),scale,scale,color,alpha);
2032
2133 // Bottom Right
22- draw_sprite_part_ext (sprite,subimg,sprite_w-border ,sprite_h-border,border,border ,x+width-(border *scale),y+height-(border *scale),scale,scale,color,alpha);
34+ draw_sprite_part_ext (sprite,subimg,sprite_w-border_width ,sprite_h-border_height,border_width,border_height ,x+width-(border_width *scale),y+height-(border_height *scale),scale,scale,color,alpha);
2335
2436 // Left
25- draw_sprite_part_ext (sprite,subimg,0 ,border,border ,side_length_raw_h,x,y+(border *scale),scale,side_scale_factor_h,color,alpha);
37+ draw_sprite_part_ext (sprite,subimg,0 ,border_height,border_width ,side_length_raw_h,x,y+(border_height *scale),scale,side_scale_factor_h,color,alpha);
2638
2739 // Right
28- draw_sprite_part_ext (sprite,subimg,sprite_w-border,border,border ,side_length_raw_h,x+width-(border *scale),y+(border *scale),scale,side_scale_factor_h,color,alpha);
40+ draw_sprite_part_ext (sprite,subimg,sprite_w-border_width,border_height,border_width ,side_length_raw_h,x+width-(border_width *scale),y+(border_height *scale),scale,side_scale_factor_h,color,alpha);
2941
3042 // Top
31- draw_sprite_part_ext (sprite,subimg,border ,0 ,side_length_raw_w,border ,x+(border *scale),y,side_scale_factor_w,scale,color,alpha);
43+ draw_sprite_part_ext (sprite,subimg,border_width ,0 ,side_length_raw_w,border_height ,x+(border_width *scale),y,side_scale_factor_w,scale,color,alpha);
3244
3345 // Bottom
34- draw_sprite_part_ext (sprite,subimg,border ,sprite_h-border ,side_length_raw_w,border ,x+(border *scale),y+height-(border *scale),side_scale_factor_w,scale,color,alpha);
46+ draw_sprite_part_ext (sprite,subimg,border_width ,sprite_h-border_height ,side_length_raw_w,border_height ,x+(border_width *scale),y+height-(border_height *scale),side_scale_factor_w,scale,color,alpha);
3547
3648 // Inside
37- draw_sprite_part_ext (sprite,subimg,border,border ,side_length_raw_w,side_length_raw_h,x+(border *scale),y+(border *scale),side_scale_factor_w,side_scale_factor_h,color,alpha);
49+ draw_sprite_part_ext (sprite,subimg,border_width,border_height ,side_length_raw_w,side_length_raw_h,x+(border_width *scale),y+(border_height *scale),side_scale_factor_w,side_scale_factor_h,color,alpha);
3850}
0 commit comments