changeset 1737:849599175e99

adjusters start displaying again. just timeline zoom ones. Ignore-this: 31fb30b2020314f3e1dcdcadefa422c1
author Drew Perttula <drewp@bigasterisk.com>
date Thu, 17 May 2018 06:50:11 +0000
parents 70c7022a1b6e
children a2faa1b70dbe
files light9/web/timeline/adjusters.coffee light9/web/timeline/timeline-elements.html light9/web/timeline/timeline.coffee
diffstat 3 files changed, 22 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/light9/web/timeline/adjusters.coffee	Wed May 16 06:41:33 2018 +0000
+++ b/light9/web/timeline/adjusters.coffee	Thu May 17 06:50:11 2018 +0000
@@ -5,7 +5,7 @@
 coffeeElementSetup(class AdjustersCanvas extends Polymer.mixinBehaviors([Polymer.IronResizableBehavior], Polymer.Element)
   @is: 'light9-adjusters-canvas'
   @getter_properties:
-    adjs: { type: Object, notify: true }, # adjId: Adjustable
+    setAdjuster: {type: Function, notify: true }
   @getter_observers: [
     'updateAllCoords(adjs)'
   ]
@@ -20,6 +20,11 @@
     @ctx = @$.canvas.getContext('2d')
     
     @redraw()
+    @setAdjuster = @_setAdjuster.bind(@)
+
+    @addEventListener('mousedown', @onDown.bind(@))
+    @addEventListener('mousemove', @onMove.bind(@))
+    @addEventListener('mouseup', @onUp.bind(@))
    
   onDown: (ev) ->
     if ev.buttons == 1
@@ -41,7 +46,7 @@
     @currentDrag.adj.endDrag()
     @currentDrag = null
     
-  setAdjuster: (adjId, makeAdjustable) ->
+  _setAdjuster: (adjId, makeAdjustable) ->
     # callers register/unregister the Adjustables they want us to make
     # adjuster elements for. Caller invents adjId.  makeAdjustable is
     # a function returning the Adjustable or it is null to clear any
@@ -54,8 +59,7 @@
         @adjs[adjId] = adj
         adj.id = adjId
 
-    #@debounce('adj redraw', @redraw.bind(@))
-    setTimeout((() => @redraw()), 2)
+    @redraw()
 
     window.debug_adjsCount = Object.keys(@adjs).length
 
--- a/light9/web/timeline/timeline-elements.html	Wed May 16 06:41:33 2018 +0000
+++ b/light9/web/timeline/timeline-elements.html	Thu May 17 06:50:11 2018 +0000
@@ -138,8 +138,10 @@
   <template>
     <style>
      :host {
+         pointer-events: none;
      }
      svg {
+         pointer-events: none;
          width: 100%;
          height: 100%;
      }
@@ -189,7 +191,7 @@
 <dom-module id="light9-adjusters-canvas">
   <template>
     <style>
-     #canvas, :host {
+     #canvas {
          pointer-events: none;
      }
     </style>
--- a/light9/web/timeline/timeline.coffee	Wed May 16 06:41:33 2018 +0000
+++ b/light9/web/timeline/timeline.coffee	Thu May 17 06:50:11 2018 +0000
@@ -114,7 +114,13 @@
     '_onGraph(graph)',
     '_onSongDuration(songDuration, viewState)',
     '_onSongTime(songTime, viewState)',
+    '_onSetAdjuster(setAdjuster)',
   ]
+  constructor: ->
+    super()
+    @viewState = new ViewState()
+    window.viewState = @viewState
+    
   ready: ->
     super.ready()
     
@@ -127,21 +133,12 @@
     window.debug_zoomOrLayoutChangedCount = 0
     window.debug_adjUpdateDisplay = 0
     
-    @viewState = new ViewState()
-    window.viewState = @viewState
-    @setAdjuster = (adjId, makeAdjustable) =>
-      ac = @$.adjustersCanvas
-      setTimeout((()=>ac.setAdjuster(adjId, makeAdjustable)),10)
-
     ko.computed(@zoomOrLayoutChanged.bind(@))
 
     @trackMouse()
     @bindKeys()
-    @bindWheelZoom(@dia)
+    @bindWheelZoom(@$.adjustersCanvas)
 
-    @forwardMouseEventsToAdjustersCanvas()
-
-    @makeZoomAdjs()
     setInterval(@updateDebugSummary.bind(@), 100)
 
     @addEventListener('iron-resize', @_onIronResize.bind(@))
@@ -172,6 +169,9 @@
   _onGraph: (graph) ->
     @project = new Project(graph)
 
+  _onSetAdjuster: () ->
+    @makeZoomAdjs()
+    
   updateDebugSummary: ->
     elemCount = (tag) -> document.getElementsByTagName(tag).length
     @debug = "#{window.debug_zoomOrLayoutChangedCount} layout change,
@@ -220,12 +220,6 @@
     elem.addEventListener 'mousewheel', (ev) =>
       @viewState.onMouseWheel(ev.deltaY)
 
-  forwardMouseEventsToAdjustersCanvas: ->
-    ac = @$.adjustersCanvas
-    @addEventListener('mousedown', ac.onDown.bind(ac))
-    @addEventListener('mousemove', ac.onMove.bind(ac))
-    @addEventListener('mouseup', ac.onUp.bind(ac))
-
   bindKeys: ->
     shortcut.add "Ctrl+P", (ev) =>
       @$.music.seekPlayOrPause(@viewState.latestMouseTime())
@@ -275,7 +269,7 @@
       emptyBox: true
       # fullzoom is not right- the sides shouldn't be able to go
       # offscreen
-      getTarget: () => $V([@fullZoomX(panObs()), yMid()])
+      getTarget: () => $V([@viewState.fullZoomX(panObs()), yMid()])
       getSuggestedTargetOffset: () => $V([0, 0])
       getValueForPos: valForPos
       }))