commit
c1eaa5695b
8 changed files with 98 additions and 0 deletions
  1. +47
    -0
      main.py
  2. BIN
      py/__pycache__/desktop_Platform.cpython-312.pyc
  3. BIN
      py/__pycache__/desktop_Window.cpython-312.pyc
  4. BIN
      py/__pycache__/ht_Context.cpython-312.pyc
  5. +9
    -0
      py/desktop_Platform.py
  6. +23
    -0
      py/desktop_Window.py
  7. +17
    -0
      py/ht_Context.py
  8. +2
    -0
      run

+ 47
- 0
main.py 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()

BIN
py/__pycache__/desktop_Platform.cpython-312.pyc View File


BIN
py/__pycache__/desktop_Window.cpython-312.pyc View File


BIN
py/__pycache__/ht_Context.cpython-312.pyc View File


+ 9
- 0
py/desktop_Platform.py 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
- 0
py/desktop_Window.py 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
- 0
py/ht_Context.py 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
- 0
run View File

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

Loading…
Cancel
Save