2014-12-01 10:42:47 +00:00
|
|
|
define [
|
|
|
|
"base"
|
|
|
|
], (App) ->
|
|
|
|
#app = angular.module 'pdfHighlights', []
|
2014-11-25 16:00:21 +00:00
|
|
|
|
2014-12-01 10:42:47 +00:00
|
|
|
App.factory 'pdfHighlights', [ () ->
|
|
|
|
class pdfHighlights
|
2014-11-25 16:00:21 +00:00
|
|
|
|
2014-12-01 10:42:47 +00:00
|
|
|
constructor: (options) ->
|
|
|
|
@highlightsLayerDiv = options.highlights[0]
|
|
|
|
@highlightElements = []
|
2014-11-25 16:00:21 +00:00
|
|
|
|
2014-12-01 10:42:47 +00:00
|
|
|
addHighlight: (viewport, left, top, width, height) ->
|
|
|
|
rect = viewport.convertToViewportRectangle([left, top, left + width, top + height])
|
|
|
|
rect = PDFJS.Util.normalizeRect(rect)
|
|
|
|
element = document.createElement("div")
|
|
|
|
element.style.left = Math.floor(rect[0]) + 'px'
|
|
|
|
element.style.top = Math.floor(rect[1]) + 'px'
|
|
|
|
element.style.width = Math.ceil(rect[2] - rect[0]) + 'px'
|
|
|
|
element.style.height = Math.ceil(rect[3] - rect[1]) + 'px'
|
|
|
|
@highlightElements.push(element)
|
|
|
|
@highlightsLayerDiv.appendChild(element)
|
|
|
|
element
|
2014-11-25 16:00:21 +00:00
|
|
|
|
2014-12-01 10:42:47 +00:00
|
|
|
clearHighlights: () ->
|
|
|
|
for h in @highlightElements
|
|
|
|
h.remove()
|
|
|
|
@highlightElements = []
|
|
|
|
]
|