cvp
Aug 12, 2021 - 19:20
Quick and dirty, as usual, but to be tried anyway
from objc_util import *
import ui
import console
import ui
from objc_util import *
import os
@on_main_thread
def main():
global canvasView
v = ui.View()
w,h = ui.get_screen_size()
#v.frame = (0,0,w,h)
v.frame = (0,0,400,600)
b_clear = ui.ButtonItem()
b_clear.title = 'clear'
def b_clear_action(sender):
global canvasView
canvasView.drawing = ObjCClass('PKDrawing').alloc().init()
b_clear.action = b_clear_action
b_save = ui.ButtonItem()
b_save.title = 'save'
def b_save_action(sender):
global canvasView
img = canvasView.drawing().imageFromRect_scale_(canvasView.frame(),1.0)
iv = ui.ImageView()
w,h = 80,120
iv.frame = (10,10,w,h)
iv.border_width = 1
v.add_subview(iv)
with ui.ImageContext(w,h) as ctx:
img.drawInRect_(CGRect(CGPoint(0, 0), CGSize(w,h)))
iv.image = ctx.get_image()
b_save.action = b_save_action
v.right_button_items = (b_clear, b_save)
v.present('sheet')
view = ObjCInstance(v)
canvasView = ObjCClass('PKCanvasView').alloc().initWithFrame_(view.frame())
view.addSubview_(canvasView)
window = view.window()
toolPicker = ObjCClass('PKToolPicker').alloc().init()
toolPicker.setVisible_forFirstResponder_(True, canvasView)
toolPicker.addObserver_(canvasView)
canvasView.becomeFirstResponder()
main()
