Skip to content

Commit

Permalink
Making demos working
Browse files Browse the repository at this point in the history
  • Loading branch information
Lecrapouille committed Jan 14, 2024
1 parent 19643a0 commit 41a1d83
Show file tree
Hide file tree
Showing 9 changed files with 222 additions and 210 deletions.
4 changes: 2 additions & 2 deletions addons/gdcef/demos/2D/CEF.gd
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,8 @@ func _input(event):
return
if event is InputEventKey:
current_browser.on_key_pressed(
event.unicode if event.unicode != 0 else event.scancode,
event.pressed, event.shift, event.alt, event.control)
event.unicode if event.unicode != 0 else event.keycode, # Godot3: event.scancode,
event.pressed, event.shift_pressed, event.alt_pressed, event.is_command_or_control_pressed())
pass

# ==============================================================================
Expand Down
84 changes: 46 additions & 38 deletions addons/gdcef/demos/3D/CEF.tscn
Original file line number Diff line number Diff line change
@@ -1,77 +1,85 @@
[gd_scene load_steps=3 format=2]
[gd_scene load_steps=2 format=3 uid="uid://omfv5yo3uhfr"]

[ext_resource path="res://GUI.gd" type="Script" id=1]
[ext_resource path="res://libs/gdcef.gdns" type="Script" id=2]
[ext_resource type="Script" path="res://GUI.gd" id="1"]

[node name="GUI" type="Control"]
margin_right = 280.0
margin_bottom = 180.0
layout_mode = 3
anchors_preset = 0
offset_right = 280.0
offset_bottom = 180.0
mouse_filter = 1
script = ExtResource( 1 )
script = ExtResource("1")

[node name="CEF" type="Node" parent="."]
script = ExtResource( 2 )
[node name="CEF" type="GDCef" parent="."]

[node name="Panel" type="Panel" parent="."]
layout_mode = 0
anchor_right = 1.0
anchor_bottom = 1.0

[node name="TextureRect" type="TextureRect" parent="Panel"]
layout_mode = 0
anchor_top = 0.015
anchor_bottom = 0.015
margin_left = 5.0
margin_top = 28.3
margin_right = 273.0
margin_bottom = 158.3
offset_left = 5.0
offset_top = 28.3
offset_right = 273.0
offset_bottom = 158.3
mouse_filter = 0
expand = true
expand_mode = 1

[node name="Label" type="Label" parent="Panel"]
margin_left = 4.0
margin_top = 163.0
margin_right = 81.0
margin_bottom = 177.0
layout_mode = 0
offset_left = 4.0
offset_top = 163.0
offset_right = 81.0
offset_bottom = 177.0
mouse_filter = 0
text = "Hello world!"

[node name="Label2" type="Label" parent="Panel"]
margin_left = 7.0
margin_top = 7.0
margin_right = 41.0
margin_bottom = 21.0
layout_mode = 0
offset_left = 7.0
offset_top = 7.0
offset_right = 41.0
offset_bottom = 21.0
mouse_filter = 0
text = "URL:"

[node name="Home" type="Button" parent="Panel"]
margin_left = 208.0
margin_top = 3.0
margin_right = 259.0
margin_bottom = 25.0
layout_mode = 0
offset_left = 208.0
offset_top = 3.0
offset_right = 259.0
offset_bottom = 25.0
text = "Home"

[node name="Prev" type="Button" parent="Panel"]
margin_left = 186.0
margin_top = 3.0
margin_right = 206.0
margin_bottom = 25.0
layout_mode = 0
offset_left = 186.0
offset_top = 3.0
offset_right = 206.0
offset_bottom = 25.0
text = "<"

[node name="Next" type="Button" parent="Panel"]
margin_left = 259.0
margin_top = 3.0
margin_right = 279.0
margin_bottom = 25.0
layout_mode = 0
offset_left = 259.0
offset_top = 3.0
offset_right = 279.0
offset_bottom = 25.0
text = ">"

[node name="TextEdit" type="LineEdit" parent="Panel"]
margin_left = 43.0
margin_top = 2.0
margin_right = 185.0
margin_bottom = 26.0
layout_mode = 0
offset_left = 43.0
offset_top = 2.0
offset_right = 185.0
offset_bottom = 26.0

[connection signal="gui_input" from="Panel/TextureRect" to="." method="_on_TextureRect_gui_input"]
[connection signal="pressed" from="Panel/Home" to="." method="_on_Home_pressed"]
[connection signal="pressed" from="Panel/Prev" to="." method="_on_Prev_pressed"]
[connection signal="pressed" from="Panel/Next" to="." method="_on_Prev_pressed"]
[connection signal="pressed" from="Panel/Next" to="." method="_on_Next_pressed"]
[connection signal="pressed" from="Panel/Next" to="." method="_on_Prev_pressed"]
[connection signal="text_changed" from="Panel/TextEdit" to="." method="_on_TextEdit_text_changed"]
59 changes: 29 additions & 30 deletions addons/gdcef/demos/3D/GUI.gd
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,18 @@
extends Control

# Name of the browser
const browser1 = "browser1"
const browser_name = "browser1"

# Memorize if the mouse was pressed
var mouse_pressed : bool = false
@onready var mouse_pressed : bool = false

# ==============================================================================
# Home button pressed: get the browser node and load a new page.
# ==============================================================================
func _on_Home_pressed():
var browser = $CEF.get_node(browser1)
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser1)
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.load_url("https://bitbucket.org/chromiumembedded/cef/wiki/Home")
pass
Expand All @@ -27,9 +27,9 @@ func _on_Home_pressed():
# Go to previously visited page
# ==============================================================================
func _on_Prev_pressed():
var browser = $CEF.get_node(browser1)
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser1)
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.previous_page()
pass
Expand All @@ -38,9 +38,9 @@ func _on_Prev_pressed():
# Go to next page
# ==============================================================================
func _on_Next_pressed():
var browser = $CEF.get_node(browser1)
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser1)
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.next_page()
pass
Expand All @@ -55,40 +55,40 @@ func _on_page_loaded(node):
# On new URL entered
# ==============================================================================
func _on_TextEdit_text_changed(new_text):
var browser = $CEF.get_node(browser1)
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser1)
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
browser.load_url(new_text)

# ==============================================================================
# Get mouse events and broadcast them to CEF
# ==============================================================================
func _on_TextureRect_gui_input(event):
var browser = $CEF.get_node(browser1)
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser1)
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
if event is InputEventMouseButton:
if event.button_index == BUTTON_WHEEL_UP:
if event.button_index == MOUSE_BUTTON_WHEEL_UP:
browser.on_mouse_wheel_vertical(2)
elif event.button_index == BUTTON_WHEEL_DOWN:
elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN:
browser.on_mouse_wheel_vertical(-2)
elif event.button_index == BUTTON_LEFT:
elif event.button_index == MOUSE_BUTTON_LEFT:
mouse_pressed = event.pressed
if event.pressed == true:
if mouse_pressed:
browser.on_mouse_left_down()
else:
browser.on_mouse_left_up()
elif event.button_index == BUTTON_RIGHT:
elif event.button_index == MOUSE_BUTTON_RIGHT:
mouse_pressed = event.pressed
if event.pressed == true:
if mouse_pressed:
browser.on_mouse_right_down()
else:
browser.on_mouse_right_up()
else:
mouse_pressed = event.pressed
if event.pressed == true:
if mouse_pressed:
browser.on_mouse_middle_down()
else:
browser.on_mouse_middle_up()
Expand All @@ -102,23 +102,20 @@ func _on_TextureRect_gui_input(event):
# Make the CEF browser reacts from keyboard events.
# ==============================================================================
func _input(event):
var browser = $CEF.get_node(browser1)
var browser = $CEF.get_node(browser_name)
if browser == null:
$Panel/Label.set_text("Failed getting Godot node " + browser1)
$Panel/Label.set_text("Failed getting Godot node " + browser_name)
return
if event is InputEventKey:
if event.unicode != 0:
browser.on_key_pressed(event.unicode, event.pressed, event.shift, event.alt, event.control)
else:
browser.on_key_pressed(event.scancode, event.pressed, event.shift, event.alt, event.control)

browser.on_key_pressed(
event.unicode if event.unicode != 0 else event.keycode, # Godot3: event.scancode,
event.pressed, event.shift_pressed, event.alt_pressed, event.is_command_or_control_pressed())
pass

# ==============================================================================
# Create a single briwser named "browser1" that is attached as child node to $CEF.
# Create a single briwser named "browser_name" that is attached as child node to $CEF.
# ==============================================================================
func _ready():

# Configuration are:
# resource_path := {"artifacts", CEF_ARTIFACTS_FOLDER}
# resource_path := {"exported_artifacts", application_real_path()}
Expand All @@ -143,9 +140,11 @@ func _ready():
get_tree().quit()
return

# wait one frame for the texture rect to get its size
await get_tree().process_frame
var S = $Panel/TextureRect.get_size()
var browser = $CEF.create_browser("https://github.com/Lecrapouille/gdcef", browser1, S.x, S.y, {"javascript":true})
browser.connect("page_loaded", self, "_on_page_loaded")
var browser = $CEF.create_browser("https://github.com/Lecrapouille/gdcef", browser_name, S.x, S.y, {"javascript":true})
browser.connect("page_loaded", Callable(self, "_on_page_loaded"))
$Panel/TextureRect.texture = browser.get_texture()

# ==============================================================================
Expand Down
2 changes: 1 addition & 1 deletion addons/gdcef/demos/3D/default_env.tres
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[gd_resource type="Environment" load_steps=2 format=2]

[sub_resource type="ProceduralSky" id=1]
[sub_resource type="Sky" id=1]

[resource]
background_mode = 2
Expand Down
Loading

0 comments on commit 41a1d83

Please sign in to comment.