Mercurial > code > home > repos > light9
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 }))