Information about object: obj_textbox
Sprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask:
No Physics Object
Create Event:
execute code: w = 50 h = 20 draw_set_font(fnt_courier) tw = 8 th = 12 ins = 1 lines = 1 top = 0 left = 0 px = 0 py = 0 line[0] = '' file = "" saved = true
Step Event:
execute code:
if py < top { top = py }
if py > top + h - 1 { top = py - h + 1 }
if px < left { left = px }
if px > left + w - 1 { left = px - w + 1 }
if keyboard_string != '' {
line[py] = string_copy(line[py],1,px) + keyboard_string + string_copy(line[py],px+ins,string_length(line[py])-px)
px += string_length(keyboard_string)
keyboard_string = ''
saved = false
}
if line[0] = "" && lines = 1 && file = "" { saved = true }
room_caption = "Gamepad - "
if file = "" { room_caption += "Untitled Document" }
else { room_caption += filename_name(file) }
if !saved { room_caption += "*" }
room_caption += " ("+string(obj_right.size)+"b)"
if mouse_x > x && mouse_y > y && mouse_x < x + w*tw && mouse_y < y + h*th {
mx = (mouse_x - x) / tw
my = (mouse_y - y) / th
window_set_cursor(cr_beam)
} else { window_set_cursor(cr_default) }
if top + h > max(h,lines) { top = lines - h }Keyboard Event for <Backspace> Key:
execute code:
keyboard_clear(vk_backspace)
saved = false
if px = 0 {
if py = 0 { exit }
px = string_length(line[py-1])
line[py-1] += line[py]
for (m = py; m < lines-1; m += 1) { line[m] = line[m+1] }
lines -= 1
py -= 1
exit
}
line[py] = string_delete(line[py],px,1)
px -= 1Keyboard Event for <Enter> Key:
execute code:
keyboard_clear(vk_enter)
saved = false
for (m = lines-1; m > py; m -= 1) {
line[m+1] = line[m]
}
line[py+1] = string_copy(line[py],px+ins,string_length(line[py])-px)
line[py] = string_copy(line[py],1,px)
py += 1
px = 0
lines += 1Keyboard Event for <Page Up> Key:
execute code: keyboard_clear(vk_pageup) top = max(top - h,0) py = max(py - h,0) px = min(px,string_length(line[py]))
Keyboard Event for <Page Down> Key:
execute code: keyboard_clear(vk_pagedown) top = max(0,min(top + h,lines-h)) py = min(py + h,lines-1) px = min(px,string_length(line[py]))
Keyboard Event for <Left> Key:
execute code:
keyboard_clear(vk_left)
if px = 0 && py = 0 { exit }
px -= 1
if px = -1 {
py -= 1
px = string_length(line[py])
}Keyboard Event for <Up> Key:
execute code:
keyboard_clear(vk_up)
if py = 0 { exit }
py -= 1
px = min(px,string_length(line[py]))Keyboard Event for <Right> Key:
execute code:
keyboard_clear(vk_right)
if px = string_length(line[py]) && py = lines-1 { exit }
px += 1
if px > string_length(line[py]) {
py += 1
px = 0
}Keyboard Event for <Down> Key:
execute code:
keyboard_clear(vk_down)
if py = lines - 1 { exit }
py += 1
px = min(px,string_length(line[py]))Keyboard Event for <Delete> Key:
execute code:
keyboard_clear(vk_delete)
saved = false
if px = string_length(line[py]) {
if py = lines - 1 { exit }
line[py] += line[py+1]
for (m = py+1; m < lines-1; m += 1) { line[m] = line[m+1] }
lines -= 1
exit
}
line[py] = string_delete(line[py],px+1,1)Mouse Event for Glob Left Button:
execute code:
if window_get_cursor() = cr_beam {
py = min(floor(my+top),lines-1)
px = min(round(mx+left),string_length(lines[py]))
if py < top { top = py }
if py > top + h - 1 { top = py - h + 1 }
if px < left { left = px }
if px > left + w - 1 { left = px - w + 1 }
}
Draw Event:
for other object: execute code:
draw_set_color(c_white)
draw_rectangle(x-2,y+1,x+w*tw,y+h*th+2,false)
draw_set_color(c_black)
draw_line(x-2,y+1,x+w*tw,y+1)
draw_line(x-2,y+1,x-2,y+h*th+2)
draw_line(x+w*tw+15,y+1,x+w*tw+15,y+h*th+2)
draw_line(x-2,y+h*th+17,x+w*tw,y+h*th+17)
draw_set_halign(fa_right)
draw_text(x+w*tw/2,y+h*th,string(px)+', '+string(py+1))
draw_set_halign(fa_left)
draw_text(x+w*tw/2,y+h*th,'/'+string(lines))
draw_text(0,0,"Made by IsmAvatar")
for (m = top; m < min(top + h,lines); m += 1) {
if m = py {
draw_set_color(c_red)
if ins = 1
draw_text(x+(px-left)*tw-tw/3,y+(m-top)*12,'|')
else
draw_text(x+(px-left)*tw-tw/3,y+(m-top)*12,'/')
}
draw_set_color(c_black)
draw_text(x,y+(m-top)*12,string_copy(string_replace_all(line[m],'#','\#'),left+1,w))
}Key Press Event for <End> Key:
execute code:
if keyboard_check(vk_control) { py = lines - 1 }
px = string_length(line[py])Key Press Event for <Home> Key:
execute code:
px = 0
if keyboard_check(vk_control) { py = 0 }Key Press Event for <Insert> Key:
execute code: ins = 3 - ins
Key Press Event for F2 Key:
execute code:
if !saved {
if(show_question(("File changed. Save changes?"))){
keyboard_key_press(vk_f5)
keyboard_key_release(vk_f5)
}else{
exit
}
}
lines = 1
top = 0
left = 0
px = 0
py = 0
line[0] = ''
file = ""
saved = true
Key Press Event for F4 Key:
execute code:
lastfile = file
file = get_save_filename("Text files (*.txt)|*.txt","")
if file = "" {
file = lastfile
exit
}
if file_exists(file) {
if !show_question("File exists. Overwrite?") {
file = lastfile
exit
}
}
f = file_text_open_write(file)
file_text_close(f)
if !file_exists(file) {
show_message("Could not save file")
file = lastfile
exit
}
f = file_text_open_write(file)
for (m = 0; m < lines; m += 1) {
file_text_write_string(f,line[m])
if m < lines - 1 { file_text_writeln(f) }
}
file_text_close(f)
saved = trueKey Press Event for F5 Key:
execute code:
if file = "" {
keyboard_key_press(vk_f4)
keyboard_key_release(vk_f4)
exit
}
f = file_text_open_write(file)
for (m = 0; m < lines; m += 1) {
file_text_write_string(f,line[m])
if m < lines - 1 { file_text_writeln(f) }
}
file_text_close(f)
saved = trueKey Press Event for F9 Key:
execute code:
if !saved {
if(show_question(("File changed. Save changes?"))){
keyboard_key_press(vk_f5)
keyboard_key_release(vk_f5)
}else{
exit
}
}
lastfile = file
file = get_open_filename("Text files (*.txt)|*.txt","")
if file = "" {
file = lastfile
exit
}
if !file_exists(file) {
file = filename_change_ext(file,".txt")
if !file_exists(file) {
show_message(file+"#"+"File not found")
file = lastfile
exit
}
}
f = file_text_open_read(file)
for (lines = 0; !file_text_eof(f); lines += 1) {
line[lines] = file_text_read_string(f)
file_text_readln(f)
}
file_text_close(f)
top = 0
left = 0
px = 0
py = 0
saved = true
Information about object: obj_newSprite: spr_new
Solid: false
Visible: true
Depth: -1
Persistent: false
Parent:
Children:
Mask: No Physics ObjectMouse Event for Left Pressed:execute code: keyboard_key_press(vk_f2) keyboard_key_release(vk_f2)Draw Event:execute code: draw_this()Information about object: obj_saveasSprite: spr_saveas
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectMouse Event for Left Pressed:execute code: keyboard_key_press(vk_f4) keyboard_key_release(vk_f4)Draw Event:execute code: draw_this()Information about object: obj_saveSprite: spr_save
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectMouse Event for Left Pressed:execute code: keyboard_key_press(vk_f5) keyboard_key_release(vk_f5)Draw Event:execute code: draw_this()Information about object: obj_loadSprite: spr_load
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectMouse Event for Left Pressed:execute code: keyboard_key_press(vk_f9) keyboard_key_release(vk_f9)Draw Event:execute code: draw_this()draw_sprite(sprite_index,0,x,y) if position_meeting(mouse_x,mouse_y,self) { draw_sprite(spr_box,0,x,y) }Information about object: obj_upSprite: spr_up
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: x = obj_textbox.x + obj_textbox.w * obj_textbox.tw y = obj_textbox.y + 1Step Event:execute code: image_single = (obj_textbox.top > 0)Mouse Event for Left Button:execute code: if image_index { obj_textbox.top -= 1 obj_textbox.py -= 1 obj_textbox.px = min(string_length(obj_textbox.line[obj_textbox.py]),obj_textbox.px) }Information about object: obj_downSprite: spr_down
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: x = obj_textbox.x + obj_textbox.w * obj_textbox.tw y = obj_textbox.y + obj_textbox.h * obj_textbox.th + 2Step Event:execute code: image_single = (obj_textbox.lines > obj_textbox.top + obj_textbox.h)Mouse Event for Left Button:execute code: if image_index { obj_textbox.top += 1 obj_textbox.py += 1 obj_textbox.px = min(string_length(obj_textbox.line[obj_textbox.py]),obj_textbox.px) }Information about object: obj_leftSprite: spr_left
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: x = obj_textbox.x - 2 y = obj_textbox.y + obj_textbox.h * obj_textbox.th + 2Step Event:execute code: image_single = (obj_textbox.left > 0)Mouse Event for Left Button:execute code: if image_index { obj_textbox.left -= 1 obj_textbox.px -= 1 }Information about object: obj_rightSprite: spr_right
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: x = obj_textbox.x + obj_textbox.w * obj_textbox.tw y = obj_textbox.y + obj_textbox.h * obj_textbox.th + 2 ml = 0 size = 0 alarm = room_speedAlarm Event for alarm 0:execute code: ml = 0 size = 0 for (m = 0; m < obj_textbox.lines; m += 1) { size += string_length(obj_textbox.line[m]) + 2 ml = max(string_length(obj_textbox.line[m]),ml) } size -= 2 alarm = room_speedStep Event:execute code: image_single = (obj_textbox.left + obj_textbox.w <= ml)Mouse Event for Left Button:execute code: if image_index { obj_textbox.left += 1 obj_textbox.px += 1 }Information about object: obj_vbarSprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: x = obj_up.x Y = obj_up.y + obj_up.sprite_height y = Y th = obj_down.y - obj_up.y - obj_down.sprite_height - obj_up.sprite_height bh = max(min(obj_textbox.h / obj_textbox.lines,1) * th,4)Step Event:execute code: th = obj_down.y - obj_up.y - obj_down.sprite_height - obj_up.sprite_height bh = max(min(obj_textbox.h / obj_textbox.lines,1) * th,4) y = Y + (obj_textbox.top / max(obj_textbox.lines,obj_textbox.h)) * thDraw Event:execute code: draw_set_color(make_color_rgb(224,224,224)) draw_rectangle(x,Y,x+16,Y+th,false) draw_set_color(c_ltgray) draw_rectangle(x+2,y+2,x+14,y+bh-1,false) draw_set_color(c_black) draw_line(x+15,y,x+15,y+bh) draw_line(x,y+bh,x+16,y+bh) draw_set_color(c_gray) draw_line(x+1,y+bh-1,x+15,y+bh-1) draw_line(x+14,y+1,x+14,y+bh-1) draw_set_color(make_color_rgb(222,222,222)) draw_line(x,y,x+15,y) draw_line(x,y,x,y+bh) draw_set_color(c_white) draw_line(x+1,y,x+1,y+bh-1) draw_line(x,y+1,x+14,y+1) draw_set_color(c_black)Information about object: obj_hbarSprite:
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Children:
Mask: No Physics ObjectCreate Event:execute code: y = obj_left.y X = obj_left.x + obj_left.sprite_width x = X w = obj_textbox.w - 1 tw = obj_right.x - obj_left.x - obj_right.sprite_width - obj_left.sprite_width bw = max(min(w / max(obj_right.ml,obj_textbox.left+w-1),1) * tw,4)Step Event:execute code: tw = obj_right.x - obj_left.x - obj_right.sprite_width - obj_left.sprite_width bw = max(min(w / max(obj_right.ml,obj_textbox.left+w),1) * tw,4) x = X + (obj_textbox.left / max(max(obj_right.ml,obj_textbox.left+w),w)) * twDraw Event:execute code: draw_set_color(make_color_rgb(224,224,224)) draw_rectangle(X,y,X+tw,y+16,false) draw_set_color(c_ltgray) draw_rectangle(x+2,y+2,x+bw-1,y+14,false) draw_set_color(c_black) draw_line(x,y+15,x+bw,y+15) draw_line(x+bw,y,x+bw,y+16) draw_set_color(c_gray) draw_line(x+bw-1,y+1,x+bw-1,y+15) draw_line(x+1,y+14,x+bw-1,y+14) draw_set_color(make_color_rgb(222,222,222)) draw_line(x,y,x,y+15) draw_line(x,y,x+bw,y) draw_set_color(c_white) draw_line(x,y+1,x+bw-1,y+1) draw_line(x+1,y,x+1,y+14) draw_set_color(c_black)

0 Comments