Files
darkfi/bin/app/pydrk/host.py
2025-01-21 09:31:52 +01:00

34 lines
1.1 KiB
Python

from . import serial, ErrorCode
class HostApi:
def __init__(self, api):
self.api = api
def create_text(self, font_path, node_name, text, font_size):
call_data = bytearray()
serial.encode_str(call_data, node_name)
serial.encode_str(call_data, text)
serial.write_f32(call_data, font_size)
font_id = self.api.lookup_node_id(font_path)
(errc, result) = self.api.call_method(font_id, "create_text", call_data)
if errc != 0:
print("create_text error:", ErrorCode.to_str(errc))
return None
text_id = int.from_bytes(result, "little")
return text_id
def load_texture(self, node_name, filepath):
call_data = bytearray()
serial.encode_str(call_data, node_name)
serial.encode_str(call_data, filepath)
win_id = self.api.lookup_node_id("/window")
(errc, result) = self.api.call_method(win_id, "load_texture", call_data)
if errc != 0:
print("load_texture error:", ErrorCode.to_str(errc))
return None
texture_id = int.from_bytes(result, "little")
return texture_id