HTML5 deployment

hh hh at hyperhh.de
Sat Feb 1 09:38:42 EST 2020


* There are some things relating 1 & 2 one could think about:

Start with mouseEvents (incl. wheel) and modifier keys.

Then one could use native fields so that the browser does the keyboard job
and executes all shortcuts for fields.
To get/set field values is easy. A native styled field is also possible
(see my demo at hyperhh.de/html5).

My technique is to use ordinary LC fields, hide these (and optionally use
them as container). Then adjust the native field rects to these hidden field
rects in the movestack/resizestack handlers.

* For 3 it would be enough to define ONE 'window'/canvas of id 'menu' for the
menus with a z-level of say 23121950 and similarly define ONE 'window'/canvas
for the tooltips of id 'tooltip' with a z-level of say 23121949.

That implies: do NOT create a new window for each menu/tooltip.
Probably function createWindow in em-dc.js needs a switch for that (I could
not find out where this method is called for menus/tooltips).

Then insert the two lines
canvas.classList.add('lcStack');
canvas.id('stack_'+tWindowID);
after current line 128 of em-dc.js, so one has several methods to get stack
objects.

* For 4 one could use the lib I use for htmlPlayer. This needs jQuery but it
is the only one I've found that works with LC-menus. I added a short script
to put stacks into a panel.

> Sean wrote:
> em-event.js is the one for 1 & 2 causing the problem mainly because of its
> use of now deprecated event handlers. That's what I am working on right
> now.
> 
> em-dc, em-nativeLayer and em-surface are what is likely to do with 3 & 4.
> Maybe also em-preamble-overlay.js.
> 
> em-clipboard obviously may have some relevance to the clipboard issue but
> I'm working on the assumption first it is more likely just a keyboard/input
> event issue.
> 
> > Hermann wrote:
> > 1. *Full* keyboard and mouse (incl. wheel) support. 
> >
> > 2. Support for usual field shortcuts (selectAll, copy, cut, paste, 
> > undo) and rawkey handlers. 
> >
> > 3. Improve the canvas generation: 
> >
> > Currently LC generates canvases for stacks, tooltips and 
> > menus that are without querying windowIDs for all stacks 
> > undistinguishable. Often menus and tooltips are hidden by stacks: 
> >
> > 3a. Menus need to have an own fixed (very high) z-level, 
> > 3b. Tooltips need to have an own fixed (very high) z-level, 
> > 3c. Stacks need an own class for easier access in DOM. 
> >
> > 4. Add a draggable, resizable windowing system (adding titlebar, 
> > decorations) with automatic layering (z-levels). 




More information about the use-livecode mailing list