This commit is contained in:
2024-07-12 22:38:19 +03:00
commit c1eaa5695b
8 changed files with 98 additions and 0 deletions

47
main.py Normal file
View File

@@ -0,0 +1,47 @@
import os
import sys
SCRIPT_DIR = os.path.dirname(os.path.realpath(sys.argv[0]))
sys.path.append(f"{SCRIPT_DIR}/../cross-language-dialect/ctx")
sys.path.append(f"{SCRIPT_DIR}/../cross-language-dialect/lib")
sys.path.append(f"{SCRIPT_DIR}/py")
import arcade
from cld import *
from ctx import *
from desktop_Platform import *
from desktop_Window import *
from ht_Context import *
ctrl = ctx_Controller(ht_createContext())
ctrl.registerFunctions([
])
def printDbg(c):
print(f"Dbg key/value: '{c.recentField}'/'{c.field(c.recentField)}'")
ctrl.registerCallback(printDbg)
p = desktop_Platform()
p.ctrl = ctrl
# Bind platform to context changes.
def process(c):
# Copy context to platform.
p.c = c
# Perform context dependent calls of desktop functions.
# Similar to context functions, but no platform is returned.
### desktop_deselectMismatchedTiles(p)
ctrl.registerCallback(process)
ctrl.set("windowWidth", 900)
ctrl.set("windowHeight", 600)
ctrl.set("windowAntialiasing", False)
ctrl.set("windowBackgroundColor", "#ffffff")
ctrl.set("windowTitle", "Прототип: Отель")
#desktop_loadTextures(p)
wnd = desktop_Window(p)
ctrl.set("didLaunch", True)
arcade.run()

Binary file not shown.

Binary file not shown.

Binary file not shown.

9
py/desktop_Platform.py Normal file
View File

@@ -0,0 +1,9 @@
import arcade
class desktop_Platform:
def __init__(self):
self.c = None
self.ctrl = None
self.mousePosition = []
self.dbgSprites = arcade.SpriteList()
self.dbgTextures = []

23
py/desktop_Window.py Normal file
View File

@@ -0,0 +1,23 @@
import arcade
class desktop_Window(arcade.Window):
def __init__(self, p):
super().__init__(
p.c.windowWidth,
p.c.windowHeight,
p.c.windowTitle,
)
self.antialiasing = p.c.windowAntialiasing
self.background_color = arcade.color_from_hex_string(p.c.windowBackgroundColor)
self.p = p
def on_draw(self):
arcade.start_render()
self.p.dbgSprites.draw()
def on_mouse_press(self, x, y, button, key_modifiers):
print("mouse press:", x, y)
pass
def on_update(self, delta):
pass

17
py/ht_Context.py Normal file
View File

@@ -0,0 +1,17 @@
class ht_Context:
def __init__(self):
self.didLaunch = False
self.recentField = "none"
self.windowBackgroundColor = "#000000"
self.windowHeight = 0
self.windowTitle = ""
self.windowWidth = 0
def field(self, fieldName):
return getattr(self, fieldName)
def setField(self, fieldName, value):
setattr(self, fieldName, value)
def ht_createContext():
return ht_Context()

2
run Executable file
View File

@@ -0,0 +1,2 @@
#!/bin/bash
/Users/mk/py3.12venv/bin/python3.12 main.py