diff --git a/Makefile b/Makefile index 1860b6f6b3..f56d48150c 100644 --- a/Makefile +++ b/Makefile @@ -4,8 +4,13 @@ PHANTOMJS = phantomjs PLOVR_JAR = bin/plovr-b254c26318c5.jar SPEC = $(shell find test/spec -name \*.js) SRC = $(shell find externs src/ol -name \*.js) -INTERNAL_SRC = build/src/internal/src/requireall.js build/src/internal/src/types.js -EXTERNAL_SRC = build/src/external/externs/types.js build/src/external/src/exports.js +INTERNAL_SRC = \ + build/src/internal/src/requireall.js \ + build/src/internal/src/types.js +EXTERNAL_SRC = \ + build/src/external/externs/types.js \ + build/src/external/src/exports.js \ + build/src/external/src/types.js EXAMPLES = $(shell find examples -maxdepth 1 -name \*.html) comma := , empty := @@ -34,21 +39,25 @@ build-all: build/ol-all.js build/ol-all.js: $(PLOVR_JAR) $(SRC) $(INTERNAL_SRC) base.json build/ol-all.json java -jar $(PLOVR_JAR) build build/ol-all.json >$@ || ( rm -f $@ ; false ) -build/src/external/externs/types.js: bin/generate-types src/ol/types.txt +build/src/external/externs/types.js: bin/generate-exports src/ol/exports.txt mkdir -p $(dir $@) - bin/generate-types --externs src/ol/types.txt >$@ + bin/generate-exports --externs src/ol/exports.txt >$@ || ( rm -f $@ ; false ) build/src/external/src/exports.js: bin/generate-exports src/ol/exports.txt mkdir -p $(dir $@) - bin/generate-exports src/ol/exports.txt >$@ + bin/generate-exports --exports src/ol/exports.txt >$@ || ( rm -f $@ ; false ) + +build/src/external/src/types.js: bin/generate-exports src/ol/exports.txt + mkdir -p $(dir $@) + bin/generate-exports --typedef src/ol/exports.txt >$@ || ( rm -f $@ ; false ) build/src/internal/src/requireall.js: bin/generate-requireall $(SRC) mkdir -p $(dir $@) - bin/generate-requireall --require=goog.dom src/ol >$@ + bin/generate-requireall --require=goog.dom src/ol >$@ || ( rm -f $@ ; false ) -build/src/internal/src/types.js: bin/generate-types src/ol/types.txt +build/src/internal/src/types.js: bin/generate-exports src/ol/exports.txt mkdir -p $(dir $@) - bin/generate-types --typedef src/ol/types.txt >$@ + bin/generate-exports --typedef src/ol/exports.txt >$@ || ( rm -f $@ ; false ) .PHONY: build-examples build-examples: examples $(subst .html,.combined.js,$(EXAMPLES)) @@ -70,7 +79,7 @@ serve: $(PLOVR_JAR) $(INTERNAL_SRC) examples .PHONY: serve-precommit serve-precommit: $(PLOVR_JAR) $(INTERNAL_SRC) - java -jar $(PLOVR_JAR) serve build/ol.json + java -jar $(PLOVR_JAR) serve build/ol-all.json .PHONY: lint lint: build/lint-src-timestamp build/lint-spec-timestamp diff --git a/bin/generate-exports b/bin/generate-exports index d2e58a2456..4239c8eed7 100755 --- a/bin/generate-exports +++ b/bin/generate-exports @@ -1,91 +1,243 @@ #!/usr/bin/env python from collections import defaultdict +from itertools import ifilter +from operator import attrgetter from optparse import OptionParser import re import sys -class Type(object): +def simplerepr(obj): + keys = sorted(key for key in obj.__dict__.keys() if not key.startswith('_')) + attrs = ''.join(' %s=%r' % (key, obj.__dict__[key]) for key in keys) + return '<%s%s>' % (obj.__class__.__name__, attrs) - def __init__(self, name, members=None): + +class Exportable(object): + + def __init__(self, name): self.name = name - self.namespace = '.'.join(self.name.split('.')[:-1]) or None - self.members = members or {} + + __repr__ = simplerepr + + def export(self): + return '' + + def extern(self): + return '' + + def typedef(self): + return '' + + +class Class(Exportable): + + def __init__(self, name, object_literal): + Exportable.__init__(self, name) + self.object_literal = object_literal + self.props = set() + + __repr__ = simplerepr + + def export(self): + lines = [] + if self.object_literal is None: + lines.append('\n\ngoog.exportSymbol(\n \'%s\',\n %s);\n' % (self.name, self.name)) + else: + lines.append('\n\n\n') + lines.append('/**\n') + lines.append(' * @constructor\n') + lines.append(' * @extends {%s}\n' % (self.name,)) + lines.append(' * @param {%s} options Options.\n' % (self.object_literal.extern_name(),)) + lines.append(' */\n') + lines.append('%sExport = function(options) {\n' % (self.name,)) + lines.append(' goog.base(this, {') + lines.extend(','.join('\n %s: options.%s' % (key, key) for key in sorted(self.object_literal.prop_types.keys()))) + lines.append('\n });\n') + lines.append('};\n') + lines.append('goog.inherits(%sExport, %s);\n' % (self.name, self.name)) + lines.append('goog.exportSymbol(\n') + lines.append(' \'%s\',\n' % (self.name,)) + lines.append(' %sExport);\n' % (self.name,)) + lines.extend('goog.exportProperty(\n %s,\n \'%s\',\n %s.%s);\n' % (self.name, prop, self.name, prop) for prop in sorted(self.props)) + return ''.join(lines) + + +class ObjectLiteral(Exportable): + + def __init__(self, name): + Exportable.__init__(self, name) + self.prop_types = {} + + __repr__ = simplerepr def extern(self): lines = [] + lines.append('\n\n\n') lines.append('/**\n') lines.append(' * @interface\n') lines.append(' */\n') - lines.append('%s = function() {};\n' % (self.name,)) - for key in sorted(self.members.keys()): - lines.append('\n') - lines.append('\n') + lines.append('%s = function() {};\n' % (self.extern_name(),)) + for prop in sorted(self.prop_types.keys()): + lines.append('\n\n') lines.append('/**\n') - lines.append(' * @type {%s}\n' % (self.members[key],)) + lines.append(' * @type {%s}\n' % (self.prop_types[prop],)) lines.append(' */\n') - lines.append('%s.prototype.%s;\n' % (self.name, key)) + lines.append('%s.prototype.%s;\n' % (self.extern_name(), prop)) return ''.join(lines) + def extern_name(self): + return re.sub(r'ol\.(\S+)', r'olx.\1Extern', self.name) + + def extern_namespace(self): + return '.'.join(self.extern_name().split('.')[:-1]) or None + def provide(self): return 'goog.provide(\'%sType\');\n' % (self.name,) def typedef(self): lines = [] + lines.append('\n\n') lines.append('/**\n') - for i, key in enumerate(sorted(self.members.keys())): + for i, prop in enumerate(sorted(self.prop_types.keys())): prefix = ' * @typedef {{' if i == 0 else ' * ' - suffix = '}}' if i == len(self.members) - 1 else ',' - type = self.members[key] + suffix = '}}' if i == len(self.prop_types) - 1 else ',' + type = self.prop_types[prop] if '|' in type: type = '(%s)' % (type,) - lines.append('%s%s: %s%s\n' % (prefix, key, type, suffix)) + lines.append('%s%s: %s%s\n' % (prefix, prop, type, suffix)) lines.append(' */\n') lines.append('%s;\n' % (self.name,)) return ''.join(lines) +class Symbol(Exportable): + + def __init__(self, name, export_symbol): + Exportable.__init__(self, name) + self.export_symbol = export_symbol + self.props = set() + + __repr__ = simplerepr + + def export(self): + lines = [] + if self.export_symbol: + lines.append('\n\ngoog.exportSymbol(\n \'%s\',\n %s);\n' % (self.name, self.name)) + lines.extend('goog.exportProperty(\n %s,\n \'%s\',\n %s.%s);\n' % (self.name, prop, self.name, prop) for prop in sorted(self.props)) + return ''.join(lines) + + def main(argv): option_parser = OptionParser() + option_parser.add_option('--exports', action='store_true') + option_parser.add_option('--externs', action='store_true') + option_parser.add_option('--typedef', action='store_true') options, args = option_parser.parse_args(argv[1:]) + objects = {} requires = set() - symbols = set() - properties = defaultdict(set) for arg in args: for line in open(arg): line = line.strip() if not line: continue - m = re.match('@exportSymbol\s*(?P\S+)\Z', line) + m = re.match(r'@exportClass\s+(?P\S+)(?:\s+(?P\S+))?\Z', line) if m: - requires.add(m.group('symbol')) - symbols.add(m.group('symbol')) + name = m.group('name') + if name in objects: + raise RuntimeError(line) # Name already defined + object_literal_name = m.group('object_literal_name') + object_literal = objects[object_literal_name] + if not isinstance(object_literal, ObjectLiteral): + raise RuntimeError(line) # Undefined object literal + klass = Class(name, object_literal) + objects[name] = klass continue - m = re.match('@exportProperty\s*(?P\S+)\Z', line) + m = re.match(r'@exportObjectLiteral\s+(?P\S+)\Z', line) if m: - components = m.group('property').split('.') + name = m.group('name') + if name in objects: + raise RuntimeError(line) # Name already defined + object_literal = ObjectLiteral(name) + objects[name] = object_literal + continue + m = re.match(r'@exportObjectLiteralProperty\s+(?P\S+)\s+(?P\S+)\Z', line) + if m: + components = m.group('prop').split('.') + name = '.'.join(components[:-1]) + if not name in objects: + raise RuntimeError(line) # Undefined object literal + object_literal = objects[name] + prop = components[-1] + if prop in object_literal.prop_types: + raise RuntimeError(line) # Duplicate property + type = m.group('type') + object_literal.prop_types[prop] = type + continue + m = re.match(r'@exportProperty\s+(?P\S+)\Z', line) + if m: + components = m.group('prop').split('.') if components[-2] == 'prototype': requires.add('.'.join(components[:-2])) else: requires.add('.'.join(components[:-1])) - properties['.'.join(components[:-1])].add(components[-1]) + name = '.'.join(components[:-1]) + prop = components[-1] + if name in objects: + symbol = objects[name] + else: + symbol = Symbol(name, False) + objects[name] = symbol + symbol.props.add(prop) + continue + m = re.match(r'@exportSymbol\s+(?P\S+)\Z', line) + if m: + name = m.group('name') + if name in objects: + raise RuntimeError(line) # Name already defined + symbol = Symbol(name, True) + objects[name] = symbol + requires.add(name) continue raise RuntimeError(line) - if requires: - for require in sorted(requires): - sys.stdout.write('goog.require(\'%s\');\n' % (require,)) - sys.stdout.write('\n\n') - for i, obj in enumerate(sorted(symbols | set(properties.keys()))): - if i: - sys.stdout.write('\n') - if obj in symbols: - sys.stdout.write('goog.exportSymbol(\n \'%s\',\n %s);\n' % (obj, obj)) - for prop in properties[obj]: - sys.stdout.write('goog.exportProperty(\n %s,\n \'%s\',\n %s.%s);\n' % (obj, prop, obj, prop)) + objects = sorted(objects.values(), key=attrgetter('name')) + + if options.exports: + requires.update(obj.name for obj in objects if isinstance(obj, Class)) + if requires: + for require in sorted(requires): + sys.stdout.write('goog.require(\'%s\');\n' % (require,)) + for obj in objects: + sys.stdout.write(obj.export()) + + if options.externs: + object_literals = [obj for obj in objects if isinstance(obj, ObjectLiteral)] + sys.stdout.write('/**\n') + sys.stdout.write(' * @externs\n') + sys.stdout.write(' */\n') + namespaces = sorted(set(filter(None, (object_literal.extern_namespace() for object_literal in object_literals)))) + for namespace in namespaces: + sys.stdout.write('\n\n') + sys.stdout.write('/**\n') + sys.stdout.write(' * @type {Object}\n') + sys.stdout.write(' */\n') + if '.' in namespace: + sys.stdout.write('%s = {};\n' % (namespace,)) + else: + sys.stdout.write('var %s;\n' % (namespace,)) + for object_literal in object_literals: + sys.stdout.write(object_literal.extern()) + + if options.typedef: + object_literals = [obj for obj in objects if isinstance(obj, ObjectLiteral)] + for object_literal in object_literals: + sys.stdout.write(object_literal.provide()) + for object_literal in object_literals: + sys.stdout.write(object_literal.typedef()) if __name__ == '__main__': diff --git a/bin/generate-types b/bin/generate-types deleted file mode 100755 index 47b4dd5991..0000000000 --- a/bin/generate-types +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python - -import fileinput -from operator import attrgetter -from optparse import OptionParser -import re -import sys - - -class Type(object): - - def __init__(self, name, members=None): - self.name = name - self.namespace = '.'.join(self.name.split('.')[:-1]) or None - self.members = members or {} - - def extern(self): - lines = [] - lines.append('/**\n') - lines.append(' * @interface\n') - lines.append(' */\n') - lines.append('%s = function() {};\n' % (self.name,)) - for key in sorted(self.members.keys()): - lines.append('\n') - lines.append('\n') - lines.append('/**\n') - lines.append(' * @type {%s}\n' % (self.members[key],)) - lines.append(' */\n') - lines.append('%s.prototype.%s;\n' % (self.name, key)) - return ''.join(lines) - - def provide(self): - return 'goog.provide(\'%s\');\n' % (self.name,) - - def typedef(self): - lines = [] - lines.append('/**\n') - for i, key in enumerate(sorted(self.members.keys())): - prefix = ' * @typedef {{' if i == 0 else ' * ' - suffix = '}}' if i == len(self.members) - 1 else ',' - type = self.members[key] - if '|' in type: - type = '(%s)' % (type,) - lines.append('%s%s: %s%s\n' % (prefix, key, type, suffix)) - lines.append(' */\n') - lines.append('%s;\n' % (self.name,)) - return ''.join(lines) - - -def main(argv): - - option_parser = OptionParser() - option_parser.add_option('--externs', action='store_true') - option_parser.add_option('--typedef', action='store_true') - options, args = option_parser.parse_args(argv[1:]) - - types = [] - for arg in args: - for line in open(arg): - line = line.strip() - if not line: - continue - m = re.match('@exportType\s*(?P\S+)\Z', line) - if m: - type = Type(m.group('name')) - types.append(type) - continue - m = re.match('(?P\S+):\s+(?P\S+)', line) - if m: - type.members[m.group('key')] = m.group('value') - continue - raise RuntimeError(line) - types = sorted(types, key=attrgetter('name')) - - if options.externs: - sys.stdout.write('/**\n') - sys.stdout.write(' * @externs\n') - sys.stdout.write(' */\n') - namespaces = sorted(set(filter(None, (type.namespace for type in types)))) - for namespace in namespaces: - sys.stdout.write('\n\n') - sys.stdout.write('/**\n') - sys.stdout.write(' * @type {Object}\n') - sys.stdout.write(' */\n') - if '.' in namespace: - sys.stdout.write('%s = {};\n' % (namespace,)) - else: - sys.stdout.write('var %s;\n' % (namespace,)) - for type in types: - sys.stdout.write('\n\n\n') - sys.stdout.write(type.extern()) - - if options.typedef: - for type in types: - sys.stdout.write(type.provide()) - for type in types: - sys.stdout.write('\n\n') - sys.stdout.write(type.typedef()) - - -if __name__ == '__main__': - sys.exit(main(sys.argv)) diff --git a/build/ol.json b/build/ol.json index d01dc14bfe..33e8c7bde6 100644 --- a/build/ol.json +++ b/build/ol.json @@ -22,7 +22,8 @@ "inherits": "../base.json", "inputs": [ - "build/src/external/src/exports.js" + "build/src/external/src/exports.js", + "build/src/external/src/types.js" ], "output-wrapper": "(function(){%output%})();", diff --git a/examples/standalone/full-screen-standalone.html b/examples/standalone/full-screen-standalone.html new file mode 100644 index 0000000000..b44f01358a --- /dev/null +++ b/examples/standalone/full-screen-standalone.html @@ -0,0 +1,35 @@ + + + + + + + + + ol3 full-screen demo + + + +
+ + + diff --git a/examples/standalone/overlay-and-popup-standalone.html b/examples/standalone/overlay-and-popup-standalone.html new file mode 100644 index 0000000000..11cdadd442 --- /dev/null +++ b/examples/standalone/overlay-and-popup-standalone.html @@ -0,0 +1,116 @@ + + + + + + + + + ol3 overlay-and-popup demo + + + +
+ + Vienna + + +
+ + + diff --git a/examples/standalone/side-by-side-standalone.html b/examples/standalone/side-by-side-standalone.html new file mode 100644 index 0000000000..425dfb6409 --- /dev/null +++ b/examples/standalone/side-by-side-standalone.html @@ -0,0 +1,157 @@ + + + + + + + + ol3 side-by-side demo + + + +

ol3 side-by-side demo

+ + + + + + + + + + + + + +
DOMWebGL
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Pan:drag, arrow keys
Zoom:double-click, Shift+double-click, mouse wheel, +/- keys; Shift+drag
Rotate:Alt+drag, r to reset
Brightness/contrast:b/B/c/C keys (WebGL only)
Hue/saturation:h/H/s/S keys (WebGL only)
Opacity:o/O keys
Visibility:v/V keys
Reset0 key
+

Notes: The two maps share the same center, resolution, rotation and layers.

+ + + diff --git a/src/ol/control/attribution.js b/src/ol/control/attribution.js index 0b37ab071c..1fc9f939b8 100644 --- a/src/ol/control/attribution.js +++ b/src/ol/control/attribution.js @@ -4,7 +4,6 @@ // FIXME check clean-up code goog.provide('ol.control.Attribution'); -goog.provide('ol.control.AttributionOptions'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); @@ -19,13 +18,6 @@ goog.require('ol.control.Control'); goog.require('ol.layer.Layer'); -/** - * @typedef {{map: (ol.Map|undefined), - * target: (Element|undefined)}} - */ -ol.control.AttributionOptions; - - /** * @constructor diff --git a/src/ol/control/mouseposition.js b/src/ol/control/mouseposition.js index be50da0ee7..6466e73f36 100644 --- a/src/ol/control/mouseposition.js +++ b/src/ol/control/mouseposition.js @@ -1,7 +1,6 @@ // FIXME should listen on appropriate pane, once it is defined goog.provide('ol.control.MousePosition'); -goog.provide('ol.control.MousePositionOptions'); goog.require('goog.events'); goog.require('goog.events.EventType'); @@ -13,16 +12,6 @@ goog.require('ol.TransformFunction'); goog.require('ol.control.Control'); -/** - * @typedef {{coordinateFormat: (ol.CoordinateFormatType|undefined), - * map: (ol.Map|undefined), - * projection: (ol.Projection|undefined), - * target: (Element|undefined), - * undefinedHtml: (string|undefined)}} - */ -ol.control.MousePositionOptions; - - /** * @constructor diff --git a/src/ol/control/zoom.js b/src/ol/control/zoom.js index efc5be3c70..b429252ba0 100644 --- a/src/ol/control/zoom.js +++ b/src/ol/control/zoom.js @@ -1,5 +1,4 @@ goog.provide('ol.control.Zoom'); -goog.provide('ol.control.ZoomOptions'); goog.require('goog.dom'); goog.require('goog.dom.TagName'); @@ -10,14 +9,6 @@ goog.require('ol.Projection'); goog.require('ol.control.Control'); -/** - * @typedef {{delta: (number|undefined), - * map: (ol.Map|undefined), - * target: (Element|undefined)}} - */ -ol.control.ZoomOptions; - - /** * @constructor diff --git a/src/ol/exports.txt b/src/ol/exports.txt index 46aaf766e3..cea5105990 100644 --- a/src/ol/exports.txt +++ b/src/ol/exports.txt @@ -1,3 +1,5 @@ +@exportProperty ol.MapBrowserEvent.prototype.getCoordinate + @exportSymbol ol.Collection @exportProperty ol.Collection.prototype.clear @exportProperty ol.Collection.prototype.forEach @@ -12,9 +14,40 @@ @exportSymbol ol.Coordinate +@exportSymbol ol.CoordinateFormat +@exportProperty ol.CoordinateFormat.hdms + @exportSymbol ol.Extent -@exportSymbol ol.Map +@exportObjectLiteral ol.MapOptions +@exportObjectLiteralProperty ol.MapOptions.center ol.Coordinate|undefined +@exportObjectLiteralProperty ol.MapOptions.controls ol.Collection|undefined +@exportObjectLiteralProperty ol.MapOptions.doubleClickZoom boolean|undefined +@exportObjectLiteralProperty ol.MapOptions.dragPan boolean|undefined +@exportObjectLiteralProperty ol.MapOptions.interactions ol.Collection|undefined +@exportObjectLiteralProperty ol.MapOptions.keyboard boolean|undefined +@exportObjectLiteralProperty ol.MapOptions.keyboardPanOffset number|undefined +@exportObjectLiteralProperty ol.MapOptions.layers ol.Collection|undefined +@exportObjectLiteralProperty ol.MapOptions.maxResolution number|undefined +@exportObjectLiteralProperty ol.MapOptions.mouseWheelZoom boolean|undefined +@exportObjectLiteralProperty ol.MapOptions.mouseWheelZoomDelta number|undefined +@exportObjectLiteralProperty ol.MapOptions.numZoomLevels number|undefined +@exportObjectLiteralProperty ol.MapOptions.projection ol.Projection|string|undefined +@exportObjectLiteralProperty ol.MapOptions.renderer ol.RendererHint|undefined +@exportObjectLiteralProperty ol.MapOptions.renderers Array.|undefined +@exportObjectLiteralProperty ol.MapOptions.resolution number|undefined +@exportObjectLiteralProperty ol.MapOptions.resolutions Array.|undefined +@exportObjectLiteralProperty ol.MapOptions.rotate boolean|undefined +@exportObjectLiteralProperty ol.MapOptions.shiftDragZoom boolean|undefined +@exportObjectLiteralProperty ol.MapOptions.target Element|string +@exportObjectLiteralProperty ol.MapOptions.userProjection ol.Projection|string|undefined +@exportObjectLiteralProperty ol.MapOptions.zoom number|undefined +@exportObjectLiteralProperty ol.MapOptions.zoomDelta number|undefined +@exportObjectLiteralProperty ol.MapOptions.zoomFactor number|undefined + +@exportClass ol.Map ol.MapOptions +@exportProperty ol.Map.prototype.getControls +@exportProperty ol.Map.prototype.getInteractions @exportSymbol ol.Object @exportProperty ol.Object.prototype.bindTo @@ -32,13 +65,61 @@ @exportProperty ol.Projection.getTransform @exportProperty ol.Projection.getTransformFromCodes @exportProperty ol.Projection.transform +@exportProperty ol.Projection.transformWithCodes @exportProperty ol.Projection.prototype.getCode @exportProperty ol.Projection.prototype.getExtent @exportProperty ol.Projection.prototype.getUnits -@exportSymbol ol.layer.TileLayer +@exportSymbol ol.RendererHint +@exportProperty ol.RendererHint.DOM +@exportProperty ol.RendererHint.WEBGL -@exportSymbol ol.overlay.Overlay +@exportObjectLiteral ol.control.AttributionOptions +@exportObjectLiteralProperty ol.control.AttributionOptions.map ol.Map|undefined +@exportObjectLiteralProperty ol.control.AttributionOptions.target Element|undefined + +@exportClass ol.control.Attribution ol.control.AttributionOptions + +@exportObjectLiteral ol.control.MousePositionOptions +@exportObjectLiteralProperty ol.control.MousePositionOptions.coordinateFormat ol.CoordinateFormatType|undefined +@exportObjectLiteralProperty ol.control.MousePositionOptions.map ol.Map|undefined +@exportObjectLiteralProperty ol.control.MousePositionOptions.projection ol.Projection|undefined +@exportObjectLiteralProperty ol.control.MousePositionOptions.target Element|undefined +@exportObjectLiteralProperty ol.control.MousePositionOptions.undefinedHtml string|undefined + +@exportClass ol.control.MousePosition ol.control.MousePositionOptions + +@exportObjectLiteral ol.control.ZoomOptions +@exportObjectLiteralProperty ol.control.ZoomOptions.delta number|undefined +@exportObjectLiteralProperty ol.control.ZoomOptions.map ol.Map|undefined +@exportObjectLiteralProperty ol.control.ZoomOptions.target Element|undefined + +@exportClass ol.control.Zoom ol.control.ZoomOptions + +@exportObjectLiteral ol.layer.LayerOptions +@exportObjectLiteralProperty ol.layer.LayerOptions.brightness number|undefined +@exportObjectLiteralProperty ol.layer.LayerOptions.contrast number|undefined +@exportObjectLiteralProperty ol.layer.LayerOptions.hue number|undefined +@exportObjectLiteralProperty ol.layer.LayerOptions.opacity number|undefined +@exportObjectLiteralProperty ol.layer.LayerOptions.saturation number|undefined +@exportObjectLiteralProperty ol.layer.LayerOptions.source ol.source.Source +@exportObjectLiteralProperty ol.layer.LayerOptions.visible boolean|undefined + +@exportSymbol ol.interaction.Keyboard +@exportProperty ol.interaction.Keyboard.prototype.addCallback + +@exportClass ol.layer.TileLayer ol.layer.LayerOptions + +@exportObjectLiteral ol.overlay.OverlayOptions +@exportObjectLiteralProperty ol.overlay.OverlayOptions.coordinate ol.Coordinate|undefined +@exportObjectLiteralProperty ol.overlay.OverlayOptions.element Element|undefined +@exportObjectLiteralProperty ol.overlay.OverlayOptions.map ol.Map|undefined +@exportObjectLiteralProperty ol.overlay.OverlayOptions.positioning Array.|undefined + +@exportClass ol.overlay.Overlay ol.overlay.OverlayOptions +@exportProperty ol.overlay.Overlay.prototype.getElement +@exportProperty ol.overlay.Overlay.prototype.setCoordinate +@exportProperty ol.overlay.Overlay.prototype.setMap @exportSymbol ol.source.BingMaps diff --git a/src/ol/layer/layer.js b/src/ol/layer/layer.js index dd56096480..0334880fad 100644 --- a/src/ol/layer/layer.js +++ b/src/ol/layer/layer.js @@ -25,7 +25,7 @@ ol.layer.LayerProperty = { /** * @constructor * @extends {ol.Object} - * @param {olx.layer.LayerOptions} layerOptions LayerOptions. + * @param {ol.layer.LayerOptions} layerOptions LayerOptions. */ ol.layer.Layer = function(layerOptions) { diff --git a/src/ol/layer/tilelayer.js b/src/ol/layer/tilelayer.js index 1782679962..c4d38313d7 100644 --- a/src/ol/layer/tilelayer.js +++ b/src/ol/layer/tilelayer.js @@ -8,7 +8,7 @@ goog.require('ol.source.TileSource'); /** * @constructor * @extends {ol.layer.Layer} - * @param {olx.layer.LayerOptions} layerOptions Layer options. + * @param {ol.layer.LayerOptions} layerOptions Layer options. */ ol.layer.TileLayer = function(layerOptions) { goog.base(this, layerOptions); diff --git a/src/ol/map.js b/src/ol/map.js index dd9f3197de..fe147e1541 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -115,7 +115,7 @@ ol.MapProperty = { * @constructor * @extends {ol.Object} * @implements {goog.fx.anim.Animated} - * @param {olx.MapOptions} mapOptions Map options. + * @param {ol.MapOptions} mapOptions Map options. */ ol.Map = function(mapOptions) { @@ -956,7 +956,7 @@ ol.MapOptionsInternal; /** - * @param {olx.MapOptions} mapOptions Map options. + * @param {ol.MapOptions} mapOptions Map options. * @return {ol.MapOptionsInternal} Map options. */ ol.Map.createOptionsInternal = function(mapOptions) { @@ -1063,7 +1063,7 @@ ol.Map.createOptionsInternal = function(mapOptions) { /** * @private - * @param {olx.MapOptions} mapOptions Map options. + * @param {ol.MapOptions} mapOptions Map options. * @return {ol.Constraints} Map constraints. */ ol.Map.createConstraints_ = function(mapOptions) { @@ -1097,7 +1097,7 @@ ol.Map.createConstraints_ = function(mapOptions) { /** * @private - * @param {olx.MapOptions} mapOptions Map options. + * @param {ol.MapOptions} mapOptions Map options. * @return {ol.Collection} Controls. */ ol.Map.createControls_ = function(mapOptions) { @@ -1119,7 +1119,7 @@ ol.Map.createControls_ = function(mapOptions) { /** * @private - * @param {olx.MapOptions} mapOptions Map options. + * @param {ol.MapOptions} mapOptions Map options. * @return {ol.Collection} Interactions. */ ol.Map.createInteractions_ = function(mapOptions) { diff --git a/src/ol/overlay/overlay.js b/src/ol/overlay/overlay.js index e348b4dcb2..cc9f228feb 100644 --- a/src/ol/overlay/overlay.js +++ b/src/ol/overlay/overlay.js @@ -1,20 +1,10 @@ goog.provide('ol.overlay.Overlay'); -goog.provide('ol.overlay.OverlayOptions'); goog.provide('ol.overlay.OverlayPositioning'); goog.require('goog.events'); goog.require('goog.style'); -/** - * @typedef {{coordinate: (ol.Coordinate|undefined), - * element: (Element|undefined), - * map: (ol.Map|undefined), - * positioning: (Array.|undefined)}} - */ -ol.overlay.OverlayOptions; - - /** * @constructor diff --git a/src/ol/types.txt b/src/ol/types.txt deleted file mode 100644 index e18b33a95b..0000000000 --- a/src/ol/types.txt +++ /dev/null @@ -1,34 +0,0 @@ -@exportType olx.MapOptions -center: ol.Coordinate|undefined -controls: ol.Collection|undefined -doubleClickZoom: boolean|undefined -dragPan: boolean|undefined -interactions: ol.Collection|undefined -keyboard: boolean|undefined -keyboardPanOffset: number|undefined -layers: ol.Collection|undefined -maxResolution: number|undefined -mouseWheelZoom: boolean|undefined -mouseWheelZoomDelta: number|undefined -numZoomLevels: number|undefined -projection: ol.Projection|string|undefined -renderer: ol.RendererHint|undefined -renderers: Array.|undefined -resolution: number|undefined -resolutions: Array.|undefined -rotate: boolean|undefined -shiftDragZoom: boolean|undefined -target: Element|string -userProjection: ol.Projection|string|undefined -zoom: number|undefined -zoomDelta: number|undefined -zoomFactor: number|undefined - -@exportType olx.layer.LayerOptions -brightness: number|undefined -contrast: number|undefined -hue: number|undefined -opacity: number|undefined -saturation: number|undefined -source: ol.source.Source -visible: boolean|undefined diff --git a/test/ol.html b/test/ol.html index 7aa756f6bb..d504a2059c 100644 --- a/test/ol.html +++ b/test/ol.html @@ -37,7 +37,7 @@ // Create the script tag which includes the derived variables from above var script = '' + + 'src="http://' + plovrHost + '/compile?id=ol-all&mode=RAW">' + ''; // this function will fix the links of the result to also include