//Pixel mode
//Draw event
if keyboard_check_released(ord("F")) && keyboard_check_released(vk_control)
{
ds_grid_clear(gridlasso,-1)
}
//Lasso
//Draw GUI event
if ds_exists(gridlasso,ds_type_grid) //&& !point_in_rectangle(mouse_x,mouse_y,lxx,lyy,lmmxx,lmmyy)
&& global.lasso = true
{
for (iff=0; iff<width; iff++)
{
for (jff=0; jff<height; jff++)
{
x1ff=iff*sizelassox;
y1ff=jff*sizelassoy;
if gridlasso[# iff, jff]=1 && mouse_check_button(mb_right)
{
//draw_rectangle_color(x1ff,y1ff,x1ff+(sizelassox-1),y1ff+(sizelassoy-1),c_white,c_black,c_white,c_black,false);
//draw_set_alpha(1)
}
else if gridlasso[# iff, jff]==2 && !point_in_rectangle(mouse_x,mouse_y,lxx,lyy,lmmxx,lmmyy)
{
if surface_exists(global.final_surf)
{
surface_set_target(global.final_surf)
draw_rectangle_color(x1ff,y1ff,x1ff+(sizelassox-1),y1ff+(sizelassoy-1),color,color,color,color,false);
//draw_sprite_ext(global.spr_index,0,x1ff+(sizex-1),y1ff+(sizey-1),global.scax,global.scay,rotatecam,color,0);
surface_reset_target();
}
}
}
}
}
//Create Event
globalvar width,height,size,colorfill,x1ff,y1ff;
width=128
height=128
gridlasso=ds_grid_create(width,height);
x1ff = 0
y1ff = 0
iff = 0
jff = 0
colorfill = 2
sizelassox = 2
sizelassoy = 2
sizelasso = sizelassox + sizelassoy
//Step event
if !point_in_rectangle(mouse_x,mouse_y,lxx,lyy,lmmxx,lmmyy) && global.lasso = true && keyboard_check_pressed(ord("F")) && keyboard_check(vk_control)
{
fill(gridlasso,lxx,lyy,colorfill);
}
if ds_grid_get(gridlasso,sizelassox,sizelassoy)
{
ds_grid_clear(gridlasso,-1)
}
if keyboard_check_pressed(ord("F")) && keyboard_check(vk_control)
{
global.lasso = true
}
if mouse_check_button(mb_right) && global.lasso = true
{
global.shDrawFreely = 200
global.shMouse = 200
//colorfill = 2
//global.shDrawFreely = global.shDrawFreely
gridlasso[# lxx, lyy]=1;
}
if keyboard_check_pressed(ord("Q")) && keyboard_check(vk_control)
{
ds_grid_clear(gridlasso,-1)
global.lasso = false
}