Skip to content

Latest commit

 

History

History
1481 lines (885 loc) · 26.9 KB

File metadata and controls

1481 lines (885 loc) · 26.9 KB

Migrating from 0.3.14 to 0.4.0

MTest

This has been dropped in favour of neospec

Camera2D

Camera2D.new

{Camera2D#initialize} now takes in keyword arguments and provides sane defaults. So if you have a {Camera2D} initialized like this.

camera = Camera2D.new(Vector2.new(x: 0, y: 0), Vector2.new(x: 0, y: 0), 0, 1)

You can now just do this.

camera = Camera2D.new

But if you need to specify just one of the arguments, you can now easily do so like this.

camera = Camera2D.new(target: Vector2[400, 240])

Camera2D.drawing

Camera2D#drawing has now been renamed {Camera2D#draw}, so this.

camera = Camera2D.new(Vector2.new(x: 0, y: 0), Vector2.new(x: 0, y: 0), 0, 1)

camera.drawing {
  Rectangle.new(10, 10, 50, 50).draw(colour: RED)
}

Is now this.

camera = Camera2D.new

camera.draw {
  Rectangle.new(10, 10, 50, 50).draw(colour: RED)
}

Colour

Colour.new

You now need to specify keyword arguments. So instead of calling:

colour = Colour.new(128, 128, 0, 255)

You should now call:

colour = Colour.new(red: 128, blue: 128, green: 0, alpha: 255)

Or you could call it this way:

colour = Colour[128, 128, 0]

Constants

All the {Colour} constants have been namespaced. So instead of these

LIGHTGRAY
GRAY
DARKGRAY
YELLOW
GOLD
ORANGE
PINK
RED
MAROON
GREEN
LIME
DARKGREEN
SKYBLUE
BLUE
DARKBLUE
PURPLE
VIOLET
DARKPURPLE
BEIGE
BROWN
DARKBROWN
WHITE
BLACK
BLANK
MAGENTA
RAYWHITE

You should now call these

Colour::LIGHTGRAY
Colour::GRAY
Colour::DARKGRAY
Colour::YELLOW
Colour::GOLD
Colour::ORANGE
Colour::PINK
Colour::RED
Colour::MAROON
Colour::GREEN
Colour::LIME
Colour::DARKGREEN
Colour::SKYBLUE
Colour::BLUE
Colour::DARKBLUE
Colour::PURPLE
Colour::VIOLET
Colour::DARKPURPLE
Colour::BEIGE
Colour::BROWN
Colour::DARKBROWN
Colour::WHITE
Colour::BLACK
Colour::BLANK
Colour::MAGENTA
Colour::RAYWHITE

Image

Image.load

This has been replaced by {Image#initialize}.

Instead of calling:

image = Image.load("./assets/image.png")

you should instead call:

image = Image.new("./assets/image.png")

Image.generate

The default colour is now {Colour::BLANK}.

instead of calling:

image = Image.generate(width: 16, height: 8)

you should instead call:

image = Image.generate(width: 16, height: 8, colour: Colour::RAYWHITE)

Image#resize!

The keyword argument scaling has now become scaler. The error message has also been changed but is still an ArgumentError.

Instead of calling:

image = Image.load("./assets/image.png")
image.resize!(width: 1920, height: 1080, scaling: :bicubic)

you should instead call:

image = Image.new("./assets/image.png")
image.resize!(width: 1920, height: 1080, scaler: :bicubic)

Image#crop!

This has been changed to take a keyword argument instead.

Instead of calling:

image = Image.load("./assets/spritesheet.png")
image.resize!(Rectangle.new(0, 0, 8, 8))

you should instead call:

image = Image.new("./assets/spritesheet.png")
image.resize!(source: Rectangle[0, 0, 8, 8])

Image#alpha_mask=

This has been replaced by {Image#alpha_mask!}.

Instead of calling:

image = Image.load("./assets/sprite.png")
mask = Image.load("./assets/sprite_mask.png")
image.alpha_mask = mask

you should instead call:

image = Image.new("./assets/sprite.png")
mask = Image.new("./assets/sprite_mask.png")
image.alpha_mask!(mask)

Image#flip_vertical!

This has been replaced by {Image#flip_vertically!}.

Instead of calling:

image = Image.load("./assets/sprite.png")
image.flip_vertical!

you should instead call:

image = Image.new("./assets/sprite.png")
image.flip_vertically!

Image#flip_horizontal!

This has been replaced by {Image#flip_horizontally!}.

Instead of calling:

image = Image.load("./assets/sprite.png")
image.flip_horizontal!

you should instead call:

image = Image.new("./assets/sprite.png")
image.flip_horizontally!

Image#rotate!

This has been replaced by {Image#rotate_clockwise!} and {Image#rotate_counter_clockwise!}.

Instead of calling:

sprite = Image.load("./assets/sprite.png")
copy = sprite.copy
sprite.rotate!(:cw)
copy.rotate!(:ccw)

you should instead call:

sprite = Image.new("./assets/sprite.png")
copy = sprite.copy
sprite.rotate_clockwise!
copy.rotate_counter_clockwise!

Image#tint!

This now takes a keyword argument of colour.

Instead of calling:

sprite = Image.load("./assets/sprite.png")
sprite.tint!(GREEN)

you should instead call:

sprite = Image.new("./assets/sprite.png")
sprite.tint!(colour: GREEN)

Image#grayscale!

This has been renamed to {Image#greyscale!}.

Instead of calling:

sprite = Image.load("./assets/sprite.png")
sprite.grayscale!

you should instead call:

sprite = Image.new("./assets/sprite.png")
sprite.greyscale!

Image#replace!

This method now takes keyword arguments.

Instead of calling:

sprite = Image.load("./assets/sprite.png")
sprite.replace!(GREEN, BLUE)

you should instead call:

sprite = Image.new("./assets/sprite.png")
sprite.replace!(from: Colour::GREEN, to: Colour::BLUE)

Shader

Shader#ready?

This has been removed in favour of {Shader.valid?}

Shader#get_uniform_location

This has been removed in favour of {Shader.location_of}

Shader#set_value

This has been removed in favour of {Shader.set}

Shader#set_values

This has been removed in favour of {Shader.set}

Vector2

Vector2.new

{Vector2#initialize} uses keyword arguments.

Instead of calling:

position = Vector2.new(2, 4)

you should instead call:

position = Vector2.new(x: 2, y: 4)

Font

Font#load

This has been replaced by {Font#initialize}.

Instead of calling:

font = Font.load("./assets/my_font.ttf", size: 16)

you should instead call:

font = Font.new("./assets/my_font.ttf", size: 16)

Font#ready?

This has been replaced by {Font#valid?}.

Font#base_size

This has been renamed to size.

font = Font.new("./assets/my_font.ttf", size: 16)

puts font.size
# => 16

Font#to_h

The base_size key has been renamed to size.

font = Font.new("./assets/my_font.ttf", size: 16)

p font.to_h
# => {
#      :size=>16,
#      :glyph_count=>95,
#      :glyph_padding=>4,
#      :texture=>{
#        :id=>3.0,
#        :width=>512.0,
#        :height=>512.0,
#        :mipmaps=>1.0,
#        :format=>2.0
#      }
#    }

Font#draw

When drawing a font to the screen, you now no longer need to specify a {Vector2} yourself, you can just pass x and y like this.

font.draw("hello", x: 16, y: 42)

But passing position is still supported, so this still works.

font.draw("hello", position: Vector2.new(x: 16, y: 42))

Font#to_image

The padding argument is now spacing to be more consistent and more accurately represent what it does.

font.to_image("hello", padding: 3)

becomes:

font.to_image("hello", spacing: 3)

Font#default

Previously to draw text using the default font draw_text would've been used.

draw_text("hello", 16, 42, 16)

This behavior has been removed and now Font#default is used to access the default font.

Font.default.draw("hello", x: 16, y: 42, size: 16)

Music

Music.load

This has been replaced by {Music#initialize}.

Instead of calling:

font = Music.load("./assets/music.ogg")

you should instead call:

font = Music.new("./assets/music.ogg")

Music#context_type=

This has been removed as I don't see a need to update the underlying C struct information.

Music#frame_count=

This has been removed as I don't see a need to update the underlying C struct information.

Rectangle

Rectangle.new

{Rectangle#initialize} now takes in keyword arguments and has the variables required to draw it. So if you have a {Rectangle} initialized like this.

rectangle = Rectangle.new(0, 0, 16, 16)

You can now just do this.

rectangle = Rectangle.new(x: 0, y: 0, width: 16, height: 16, Colour::RED)

Rectangle#draw

{Rectangle#draw} doesn't take any arguments as the {Rectangle} contains all the information it needs.

Sound

Sound.load

This has been replaced by {Sound#initialize}.

Instead of calling:

font = Sound.load("./assets/music.wav")

you should instead call:

font = Sound.new("./assets/music.wav")

Sound#frame_count=

This has been removed as I don't see a need to update the underlying C struct information.

Texture2D

Texture2D.load

This has been replaced by {Texture2D#initialize}.

Instead of calling:

texture = Texture2D.load("./assets/image.png")

you should instead call:

texture = Texture2D.new("./assets/image.png")

Texture2D#id=

This has been deprecated.

Texture2D#width=

This has been deprecated.

Texture2D#height=

This has been deprecated.

Texture2D#mipmaps=

This has been deprecated.

Texture2D#format=

This has been deprecated.

Texture2D#draw

The origin argument now defaults to the centre of the destination.

RenderTexture

RenderTexture#initialize

This now takes keyword arguments.

Instead of calling:

texture = RenderTexture.new(100, 100)

you should instead call:

texture = RenderTexture.new(width: 100, height: 100)

RenderTexture#to_h

Now no longer returns information about the {Texture2D}.

RenderTexture#drawing

This has been removed in favour of {RenderTexture#draw}

Top Level Namespace

#load_font

This has been removed in favour of {Font#initialize}.

#unload_font

This has been removed in favour of {Font#unload}.

#draw_text

This has been removed in favour of {Font#draw}.

#draw_text_ex

This has been removed in favour of {Font#draw}.

#measure_text_ex

This has been removed in favour of {Font#measure}.

#image_text_ex

This has been removed in favour of {Font#to_image}.

#begin_mode2D

This has been removed in favour of {Camera2D#draw}.

#end_mode2D

This has been removed in favour of {Camera2D#draw}.

#get_world_to_screen2D

This has been removed in favour of {Camera2D#as_in_viewport}

#get_screen_to_world2D

This has been removed in favour of {Camera2D#as_in_world}

#load_image

This has been removed in favour of {Image#initialize}

#unload_image

This has been removed in favour of {Image#unload}

#export_image

This has been removed in favour of {Image#export}

#image_copy

This has been removed in favour of {Image#copy}

#image_from_image

This has been removed in favour of {Image#copy} with source specified

#image_text_ex

This has been removed in favour of {Font#to_image}

#generate_image_colour

This has been removed in favour of {Image.generate}

#image_resize!

This has been removed in favour of {Image#resize!}

#image_resize_nearest_neighbour!

This has been removed in favour of {Image#resize!}

#image_crop!

This has been removed in favour of {Image#crop!}

#image_flip_vertical!

This has been removed in favour of {Image#flip_vertically!}

#image_flip_horizontal!

This has been removed in favour of {Image#flip_horizontally!}

#image_rotate_cw!

This has been removed in favour of {Image#rotate_clockwise!}

#image_rotate_ccw!

This has been removed in favour of {Image#rotate_counter_clockwise!}

#load_texture_from_image

This has been removed in favour of {Image#to_texture}

#image_alpha_premultiply

This has been removed in favour of {Image#premultiply_alpha!}

#image_mipmaps!

This has been removed in favour of {Image#generate_mipmaps!}

#image_colour_tint!

This has been removed in favour of {Image#tint!}

#image_colour_invert!

This has been removed in favour of {Image#invert!}

#image_colour_grayscale!

This has been removed in favour of {Image#greyscale!}

#image_colour_contrast!

This has been removed in favour of {Image#contrast!}

#image_colour_brightness!

This has been removed in favour of {Image#brightness!}

#image_colour_replace!

This has been removed in favour of {Image#replace!}

#image_draw!

This has been removed in favour of {Image#draw!}

#init_audio_device

This has been removed in favour of {Audio.open}

#close_audio_device

This has been removed in favour of {Audio.close}

#audio_device_ready

This has been removed in favour of {Audio.ready?}

#set_master_volume

This has been removed in favour of {Audio.volume=} and now takes a volume between 0 and 100.

Instead of calling:

init_audio_device
set_master_volume(0.7)
close_audio_device

You should instead call:

Audio.open
Audio.volume = 70
Audio.close

#load_music_stream

This has been removed in favour of {Music#initialize}.

#unload_music_stream

This has been removed in favour of {Music#unload}.

#play_music_stream

This has been removed in favour of {Music#play}.

#music_playing?

This has been removed in favour of {Music#playing?}.

#stop_music_stream

This has been removed in favour of {Music#stop}.

#get_music_time_played

This has been removed in favour of {Music#played}.

#update_music_stream

This has been removed in favour of {Music#update}.

#pause_music_stream

This has been removed in favour of {Music#pause}.

#resume_music_stream

This has been removed in favour of {Music#resume}.

#get_music_time_length

This has been removed in favour of {Music#length}.

#set_music_volume

This has been removed in favour of {Music#volume=}.

#set_music_pitch

This has been removed in favour of {Music#pitch=}.

#load_sound

This has been removed in favour of {Sound#initialize}.

#unload_sound

This has been removed in favour of {Sound#unload}.

#play_sound

This has been removed in favour of {Sound#play}.

#stop_sound

This has been removed in favour of {Sound#stop}.

#pause_sound

This has been removed in favour of {Sound#pause}.

#resume_sound

This has been removed in favour of {Sound#resume}.

#sound_playing?

This has been removed in favour of {Sound#playing?}.

#set_sound_volume

This has been removed in favour of {Sound#volume=}.

#set_sound_pitch

This has been removed in favour of {Sound#pitch=}.

#show_cursor

This has been removed in favour of {Cursor.show}.

#hide_cursor

This has been removed in favour of {Cursor.hide}.

#cursor_hidden?

This has been removed in favour of {Cursor.hidden?}.

#enable

This has been removed in favour of {Cursor.enable}.

#disable_cursor

This has been removed in favour of {Cursor.disable}.

#cursor_on_screen?

This has been removed in favour of {Cursor.on_screen?}.

#mouse_button_pressed?

This has been removed in favour of {Mouse.pressed?}.

#mouse_button_down?

This has been removed in favour of {Mouse.down?}.

#mouse_button_released?

This has been removed in favour of {Mouse.released?}.

#mouse_button_up?

This has been removed in favour of {Mouse.up?}.

#get_mouse_x

This has been removed in favour of {Mouse.position}.x.

#get_mouse_y

This has been removed in favour of {Mouse.position}.y.

#get_mouse_position

This has been removed in favour of {Mouse.position}.

#set_mouse_position

This has been removed in favour of {Mouse.position=}.

#set_mouse_offset

This has been removed in favour of {Mouse.offset=}.

#set_mouse_scale

This has been removed in favour of {Mouse.scale=}.

#get_mouse_wheel_move

This has been removed in favour of {Mouse.wheel_moved}, you will need to use Mouse.wheel_moved.y.

#set_mouse_cursor

This has been removed in favour of {Cursor.icon=}.

#key_pressed?

This has been removed in favour of {Key.pressed?}.

#key_released?

This has been removed in favour of {Key.released?}.

#key_down?

This has been removed in favour of {Key.down?}.

#key_up?

This has been removed in favour of {Key.up?}.

#get_key_pressed

This has been removed in favour of {Key.pressed}.

#get_char_pressed

This has been removed in favour of {Key.pressed_character}. If you still need this as an integer you can call Key.pressed_character.bytes.first.

#init_window

This has been removed in favour of {Window.open}.

#get_screen_width

This has been removed in favour of {Window.width}.

#get_screen_height

This has been removed in favour of {Window.height}.

#window_should_close?

This has been removed in favour of {Window.close?}.

#window_close

This has been removed in favour of {Window.close}.

#window_ready

This has been removed in favour of {Window.ready?}.

#window_state?

This has been removed in favour of {Window.flag?}

#set_window_state

This has been removed in favour of {Window.flags=}

#set_config_flags

This has been removed in favour of {Window.config=}

#window_fullscreen?

This has been removed in favour of {Window.fullscreen?}

#window_minimised?

This has been removed in favour of {Window.minimised?}

#window_maximised?

This has been removed in favour of {Window.maximised?}

#window_focused?

This has been removed in favour of {Window.focused?}

#window_hidden?

This has been removed in favour of {Window.hidden?}

#clear_window_state

This has been removed in favour of {Window.clear_flag}

#set_exit_key

This has been removed in favour of {Window.exit_key=}

#window_resized?

This has been removed in favour of {Window.resized?}

#toggle_fullscreen

This has been removed in favour of {Window.toggle_fullscreen}

#maximise_window

This has been removed in favour of {Window.maximise}

#minimise_window

This has been removed in favour of {Window.minimise}

#restore_window

This has been removed in favour of {Window.restore}

#set_window_icon

This has been removed in favour of {Window.icon=}

#set_window_title

This has been removed in favour of {Window.title=}

#get_window_position

This has been removed in favour of {Window.position}

#set_window_position

This has been removed in favour of {Window.position=}, it also now takes a {Vector2} instead of x and y as integers.

set_window_position(x, y)

Now becomes

Window.position = Vector2[x, y]

Although it's probably better to refactor your code to persist a {Vector2} instead of x and y as variables

#set_window_min_size

This has been removed in favour of {Window.minimum_resolution=}, it also now takes a {Vector2} instead of x and y as integers.

set_window_min_size(x, y)

Now becomes

Window.minimum_resolution = Vector2[x, y]

Although it's probably better to refactor your code to persist a {Vector2} instead of x and y as variables

#set_window_size

This has been removed in favour of {Window.resolution=}, it also now takes a {Vector2} instead of width and height as integers.

set_window_min_size(width, height)

Now becomes

Window.minimum_resolution = Vector2[width, height]

Although it's probably better to refactor your code to persist a {Vector2} instead of width and height as variables

#get_screen_data

This has been removed in favour of {Window.to_image}

#android?

This has been removed in favour of {Taylor::Platform.android?}

#browser?

This has been removed in favour of {Taylor::Platform.browser?}

#linux?

This has been removed in favour of {Taylor::Platform.linux?}

#osx?

This has been removed in favour of {Taylor::Platform.osx?}

#windows?

This has been removed in favour of {Taylor::Platform.windows?}

#released?

This has been removed in favour of {Taylor.released?}

#get_touch_position

This has been removed in favour of {Touch.position_for}

#load_texture

This has been removed in favour of {Texture2D.initialize}

#unload_texture

This has been removed in favour of {Texture2D#unload}

TEXTURE_FILTER_POINT

This has been removed in favour of {Texture2D::NO_FILTER}

TEXTURE_FILTER_BILINEAR

This has been removed in favour of {Texture2D::BILINEAR}

TEXTURE_FILTER_TRILINEAR

This has been removed in favour of {Texture2D::TRILINEAR}

TEXTURE_FILTER_ANISOTROPIC_4X

This has been removed in favour of {Texture2D::ANISOTROPIC_4X}

TEXTURE_FILTER_ANISOTROPIC_8X

This has been removed in favour of {Texture2D::ANISOTROPIC_8X}

TEXTURE_FILTER_ANISOTROPIC_16X

This has been removed in favour of {Texture2D::ANISOTROPIC_16X}

#set_texture_filter

This has been removed in favour of {Texture2D#filter=}

#generate_texture_mipmaps

This has been removed in favour of {Texture2D#generate_mipmaps}

#fade

This has been removed in favour of {Colour#fade}

#draw_texture_pro

This has been removed in favour of {Texture2D#draw}

#draw_texture

This has been removed in favour of {Texture2D#draw}

#get_monitor_count

This has been removed in favour of {Monitor.count}

#get_current_monitor

This has been removed in favour of {Monitor.current}

#get_monitor_position

This has been removed in favour of {Monitor#position}

#get_monitor_width

This has been removed in favour of {Monitor#width}

#get_monitor_height

This has been removed in favour of {Monitor#height}

#get_monitor_refresh_rate

This has been removed in favour of {Monitor#refresh_rate}

#draw_circle

This has been removed in favour of {Circle#draw}

#draw_circle_v

This has been removed in favour of {Circle#draw}

#draw_circle_sector

This has been deprecated completely

#draw_circle_sector_lines

This has been deprecated completely

#draw_circle_gradient

This has been removed in favour of {Circle#draw}

#draw_circle_lines

This has been removed in favour of {Circle#draw}

#draw_line

This has been removed in favour of {Line#draw}

#draw_line_v

This has been removed in favour of {Line#draw}

#draw_line_ex

This has been removed in favour of {Line#draw}

#draw_line_bezier

This has been deprecated completely

#draw_line_bezier_quad

This has been deprecated completely

#draw_line_strip

This has been deprecated completely

#draw_pixel

This has been removed in favour of {Vector2#draw}

#draw_pixel_v

This has been removed in favour of {Vector2#draw}

#draw_rectangle

This has been removed in favour of {Rectangle#draw}

#draw_rectangle_rec

This has been removed in favour of {Rectangle#draw}

#draw_rectangle_pro

This has been deprecated completely

#draw_rectangle_gradient_v

This has been deprecated completely

#draw_rectangle_gradient_h

This has been deprecated completely

#draw_rectangle_gradient_ex

This has been deprecated completely

#draw_rectangle_lines

This has been removed in favour of {Rectangle#draw}

#draw_rectangle_lines_ex

This has been deprecated completely

#draw_rectangle_rounded

This has been removed in favour of {Rectangle#draw}

#draw_rectangle_rounded_lines

This has been removed in favour of {Rectangle#draw}

#check_collision_point_rec

This has been deprecated completely

#set_window_monitor

This has been removed in favour of {Window#monitor=}

#get_window_scale_dpi

This has been removed in favour of {Window#scale}

#gamepad_available?

This has been removed in favour of {Gamepad#available?}

#get_gamepad_name

This has been removed in favour of {Gamepad#name}

#gamepad_button_pressed?

This has been removed in favour of {Gamepad#pressed?}

#gamepad_button_released?

This has been removed in favour of {Gamepad#released?}

#gamepad_button_down?

This has been removed in favour of {Gamepad#down?}

#gamepad_button_up?

This has been removed in favour of {Gamepad#up?}

#get_gamepad_button_pressed

This has been deprecated completely

#get_gamepad_axis_count

This has been removed in favour of {Gamepad#axis_count}

#get_gamepad_axis_movement

This has been removed in favour of {Gamepad#axis}

#set_gamepad_mappings

This has been removed in favour of {Gamepad.add_mappings}

#set_gestures_enabled

This has been removed in favour of {Gesture.enabled=}

#get_gesture_detected

This has been removed in favour of {Gesture.detected}

#files_dropped?

This has been removed in favour of {DroppedFiles.any?}

#get_dropped_files

This has been removed in favour of {DroppedFiles.all}

#load_shader

This has been removed in favour of {Shader#initialize}

#unload_shader

This has been removed in favour of {Shader#unload}

#shader_ready?

This has been removed in favour of {Shader#valid?}

#load_shaders_from_string

This has been removed in favour of {Shader.load_code}

#get_shader_location

This has been removed in favour of {Shader.location_of}

#set_shader_values

This has been removed in favour of {Shader.set}

#begin_drawing

This has been removed in favour of {Window.draw} or {Window.begin_drawing}

#end_drawing

This has been removed in favour of {Window.draw} or {Window.end_drawing}

#drawing

This has been removed in favour of {Window.draw}

#clear_background

This has been removed in favour of {Window.clear}

#clear

This has been removed in favour of {Window.clear}

The default {Colour} has switched from {Colour::RAYWHITE} to {Colour::BLACK}

#begin_scissor_mode

This has been removed in favour of {Rectangle#begin_scissoring}

#end_scissor_mode

This has been removed in favour of {Rectangle#end_scissoring}

#scissor_mode

This has been removed in favour of {Rectangle#scissor}

#begin_texture_mode

This has been removed in favour of {RenderTexture#begin_drawing} or {RenderTexture#draw}

#end_texture_mode

This has been removed in favour of {RenderTexture#end_drawing} or {RenderTexture#draw}

#begin_shader_mode

This has been removed in favour of {Shader#begin_drawing} or {Shader#draw}

#end_shader_mode

This has been removed in favour of {Shader#end_drawing} or {Shader#draw}

#take_screenshot

This has been removed in favour of {Window.screenshot}

#set_target_fps

This has been removed in favour of {Window.target_frame_rate=}

#get_fps

This has been removed in favour of {Window.frame_rate}

#get_frame_time

This has been removed in favour of {Window.frame_time}

#get_time

This has been removed in favour of {Window.seconds_open}

#draw_fps

This has been removed in favour of {Window.draw_frame_rate}

#set_trace_log_level

This has been removed in favour of {Logging.level=}

#open_url

This has been removed in favour of {Browser.open}

#set_clipboard_text

This has been removed in favour of {Clipboard.text=}

#get_clipboard_text

This has been removed in favour of {Clipboard.text}

#set_main_loop

This has been removed in favour of {Browser.main_loop=}

#cancel_main_loop

This has been removed in favour of {Browser.cancel_main_loop}

#get_attribute_from_element

This has been removed in favour of {Browser.attribute_from_element}

#begin_blend_mode

This has been removed in favour of {Window.begin_blending} or {Window.blend}

#end_blend_mode

This has been removed in favour of {Window.end_blending} or {Window.blend}