Commit Graph

99 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
214ec4e96a [build] Add support for 'benchmark' target on macOS 2016-10-05 15:34:30 +03:00
Justin R. Miller
105673efc1 [ios, macos] fixes #6160: allow updating multipoint coordinates (#6565) 2016-10-04 18:42:12 -07:00
Minh Nguyễn
d4151c9f36 [ios, macos] Updated changelogs 2016-10-03 19:06:30 -04:00
Jason Wray
5b28ebbeca [ios][macos] Update changelog for dSYM, symbol stripping fix 2016-09-30 18:49:05 -04:00
Jason Wray
d3b308a695 [macos] Add 'Packaging builds' section to developing doc 2016-09-30 18:49:05 -04:00
Jason Wray
d7a44a6b90 [macos][build] Validate dSYM and framework UUIDs 2016-09-30 18:49:05 -04:00
Jason Wray
161955209d [macos][build] Generate debug symbols for all builds 2016-09-30 18:49:05 -04:00
Jason Wray
43f70465f5 [macos] Don't specify Swift version for jazzy doc generation (#6539)
Counterpart to https://github.com/mapbox/mapbox-gl-native/pull/6377/.
2016-09-30 14:47:52 -07:00
Ivo van Dongen
1c11aeb48a [android][ios][macos][linux][qt] included default LocalFileSource 2016-09-30 14:57:26 +02:00
Konstantin Käfer
2ec2860ce5 [core] move OpenGL extension loading to their own headers 2016-09-29 13:19:27 -07:00
Minh Nguyễn
b1518944a7 [ios, macos] Rewrote CI scripts
Broke up the iOS and macOS Bitrise scripts into several steps each for more granular progress and failure reporting and to take advantage of better error reporting in the built-in Bitrise steps. Added a step to deploy Xcode test results and (in the event of a failure) raw xcodebuild output to Bitrise.io, with a handy link from the Bitrise UI.
2016-09-28 09:44:19 -07:00
Minh Nguyễn
255325b44b [macos] Restored unit tests on CI
Restored the make rule for running macOS SDK unit tests. Invoke that rule on Bitrise.

Fixes #5991.
2016-09-28 09:44:19 -07:00
Justin R. Miller
a6aa786f35 [ios, macos] flesh out iOS runtime styling docs (#6466)
- fixes #5959: MGLBaseStyleLayer docs
- fixes #5960: MGLSource & subclasses docs
- fixes #6467: concrete layer subclass docs
- move Core Graphics include
- slight code & template cleanups
- add ./documentation to git ignores
2016-09-27 13:53:32 -07:00
Konstantin Käfer
63e53de157 [core] standardize on uint16_t for texture sizes 2016-09-27 10:42:10 +02:00
Minh Nguyễn
3b546b9646 [ios, macos] Ignore progress updates after suspending
-suspend and -resume are now presumed to be synchronous, even if technically they remain asynchronous under the hood.
2016-09-20 22:34:54 -07:00
Konstantin Käfer
1014a503a2 [build] Upgrade GLFW to 3.2.1, SQLite to 3.14.2 and libwebp to 0.5.1 2016-09-19 14:38:47 +02:00
Justin R. Miller
0bd66d40dd [ios] fixes #6248: properly handle all NSNumber types in filters (#6290) 2016-09-16 11:46:22 -07:00
Brad Leege
d0f9ba4998 [core] #3980 - Switching Core GL instances of map to unordered_map 2016-09-14 16:40:20 -07:00
Jason Wray
83d0b39adb [ios, macos] Remove changelog lines for WAL db change 2016-09-14 15:46:45 -04:00
Minh Nguyễn
b7aa872def [macos] Updated reference to MGLFilterTests 2016-09-09 14:02:56 -07:00
Jesse Bounds
4c8d61abf1 [ios, macos] Put MGLStyleLayer inits in respective classes
Previously, we declared MGLStyleLayer initializers in the MGLStyleLayer
protocol as optional methods. This made it easy to opt in and out
of initializers that did or or did not make sense for the subclass.
However, this approach was dangerous since it was easy for an
application developer to initialize an MGLStyleLayer subclass with an
init method that was actually not implemented in that class causing
an exception at runtime.

This commit moves the init methods that each subclass supports to
each subclass so xcode (and the compiler) help the developer avoid
the previously possible runtime exception.

In addition, a new init method is added that takes the source layer
and passes that on to `mbgl::style:Layer` (but only on classes
where this is possible in core). This allows an application developer
to style a specific source layer (i.e. the contour lines of the mapbox
terrain vector source).

Finally, this refactors MGLStyleLayer classes to use an MGLSource instead of a
string identifier for the source when initializing the style.
2016-09-08 09:17:35 -07:00
John Firebaugh
fe2a26225f [core, ios, android, qt] Observe style layer mutations rather than requiring SDKs to use Map::update
This paves the way for updates to filter and layout properties to trigger a source reload, without each SDK having to participate in the implementation.
2016-09-06 14:29:22 -07:00
Fredrik Karlsson
d77a13eb73 [ios] Added support for filters (NSPredicate)
[ios, macos] cleaned up filters

[ios] added a filter example

[ios] utest filters

[ios, macos] nested predicates

[ios] refactored

[ios] filter -> NSPredicate

[ios] fixed mbgl::Any/AllFilter -> NSPredicate

[ios] translate nested mbgl::NotIn filters

[ios] cleanup and added more utests

[ios] fixed a bug in the None filter conversion and improved utests

[ios, macos] doc

[macos] added missing category

[ios, macos] additional utests

[ios, macos] updated documentation
2016-09-02 22:42:05 +02:00
Konstantin Käfer
1e2189266f [macos] Explicitly link the OpenGL framework for compatibility with macOS Sierra 2016-08-31 15:40:32 +02:00
Minh Nguyễn
d0a0b2ef7e [macos] Typo
[skip ci]
2016-08-25 11:28:00 -07:00
Minh Nguyễn
11f3a587c4 [macos] Synchronized readme w/ install docs
The packaged readme was missing the AppleScript example added to the in-repo installation instructions in 350d015cc2.

[skip ci]
2016-08-25 11:27:12 -07:00
Minh Nguyễn
5836738906 Document -mapViewDidFailLoadingMap:withError: (#6145)
* [macos] Implement -mapViewDidFailLoadingMap:withError:

* [ios] Documented -mapViewDidFailLoadingMap:withError:
2016-08-24 14:47:28 -07:00
Minh Nguyễn
9720f581ff [macos] Avoid negative content insets (#6102)
Fixed an issue in which a map view that doesn’t occupy the entire window would consider its center point to be the window’s center point rather than the view’s.
2016-08-23 18:12:35 -07:00
Jason Wray
a5b089de62 [ios, macos] Move debug mask options to shared header (#6094)
* [ios, macos] Move debug mask options to shared header

* Limit buffer debug modes to macOS

... because these modes use OpenGL features that aren't supported by iOS.

* Try a different tact: exclude "iPhone"

... which is actually all iOS-like devices.
2016-08-23 20:14:22 -04:00
Jason Wray
c034ba4ee1 [ios, macos] Update changelog with database performance note 2016-08-23 13:26:02 -04:00
Minh Nguyễn
44fe8ef7ea [macos] Took NSColor+MGLAdditions private (#5995)
Fixes #5989.
2016-08-21 16:28:16 -07:00
Minh Nguyễn
0a2fec272d [ios, macos] Updated changelogs 2016-08-19 17:33:22 -07:00
Konstantin Käfer
0df60c4651 [core] add ability show visualize the depth buffer to the GLFW and macOS app 2016-08-19 17:41:55 +02:00
Konstantin Käfer
effd853e79 [build] revert macOS deployment target to 10.10 2016-08-19 14:10:27 +02:00
Jason Wray
256689a33d [ios, macos] Make Xcode 7.3 the minimum required version
- Removes nullability shims for Xcode 6.
- Removes MGLTypes.h from files where it was only being used for
  nullability support.
- Accepts that `NS_SWIFT_NAME` is not fully supported by Xcode 7.2 and
  lower.
- Adds documentation about Xcode 7.3 requirement.
2016-08-18 11:35:32 -04:00
Fredrik Karlsson
a202941360 [ios, macos] reuse utility function 2016-08-18 14:26:05 +02:00
Fredrik Karlsson
f7069523b4 [ios, macos] fixes #5974 Move style classes API to MGLStyle 2016-08-18 14:26:05 +02:00
Fredrik Karlsson
5d307d098b [ios, macos] Fixes #5975 Add source getter to MGLStyle 2016-08-18 14:26:04 +02:00
Fredrik Karlsson
2217e05f5e [macos] fixes #5956 remove dead code 2016-08-18 14:26:04 +02:00
Minh Nguyễn
9fe22bc0cd [macos] Moved runtime styling demo to Debug menu
Fixes #6022.
2016-08-17 23:17:40 -07:00
Minh Nguyễn
61df0b1bfa [ios, macos] Use local GeoJSON for runtime styling demo
Also changed the menu item to something more descriptive.

Fixes #6021.
2016-08-17 23:16:59 -07:00
Minh Nguyễn
0062cf2f94 [ios, macos] Added MGLBaseStyleLayer_Private.h to project 2016-08-16 16:48:02 -07:00
Minh Nguyễn
5539a90c48 [ios, macos] Renamed Objective-C++ headers to .h
Also removed a redundant reference to MGLStyle_Private.h in ios.xcodeproj.

Fixes #5952.
2016-08-16 16:46:04 -07:00
Konstantin Käfer
18176605f6 [core] support "scheme": "tms" in TileJSON files 2016-08-16 11:04:30 +02:00
Minh Nguyễn
1daba5d04b [ios, macos] Accept absolute file paths as style URLs (#6026)
It turns out that mbgl::AssetFileSource supports absolute file URLs in addition to relative file URLs. So replace the file: scheme with asset: while percent-escaping as necessary.

Also added amsterdam.geojson to macos.xcodeproj for consistency with ios.xcodeproj.
2016-08-16 10:17:11 +02:00
Minh Nguyễn
52134eb8fd [macos] Link unit test bundle against libmbgl-core (#5994)
Fixes #5990.
2016-08-15 09:11:31 -07:00
Minh Nguyễn
e147887e35 [core, android, ios, macos] Replaced getPointAnnotationsInBounds() w/ queryPointAnnotations() (#5165)
queryPointAnnotations() accepts a screen rectangle instead of a geographic bounding box, so marker hit testing works at the edges of a rotated, tilted map view.

Fixes #5151.
2016-08-12 15:45:18 -07:00
Minh Nguyễn
a3e20bae32 [ios, macos] Updated changelogs 2016-08-11 14:07:38 -07:00
Minh Nguyễn
9a96877742 [ios, macos] Upgraded project build settings for Xcode 8 (#5935)
Set CLANG_WARN_INFINITE_RECURSION and CLANG_WARN_SUSPICIOUS_MOVE as recommended by Xcode 8.
2016-08-11 10:52:18 -07:00
Fredrik Karlsson
2354c87411 Runtime styling API for iOS/macOS (#5727)
* [ios] wip runtime styling

* [ios, macos] Outlined header templates

* [ios, macos] cleanup and use appropiate data types

* [ios, macos] removed refs to mbgl and added convenient color methods on UIColor and NSColor

* [ios, macos] updated header template, included doc string

* [ios, macos] outlined template for layer implementation files

* [ios, macos] moved script to platform/darwin and updated comments

* [ios, macos] Cleaned up the implementation template

* [ios, macos] removed unused function and added support for more datatypes

* [ios, macos] overhauling the type protocols

* [ios, macos] removed unnecessary style classes

* [ios, macos] added support for more types

* [ios, macos] fixed string and number prop values

* [ios, macos] enum getters

* [ios, macos] added removeLayer() and removed unused layer ref

* [ios, macos] fixed remaining layer types and converted style layer into a protocol

* [ios, macos] fixed addLayer() and added example for line layer

* [ios] GeoJSON source now works

* [ios] fixed raster layer and raster source

* [ios] fixed attr prop number and outlined prop function

* [ios] wip functions

* [ios] bool and float function fix

* [ios] cleanup

* [macos] fixed support for macos

* [ios] fixed string functions

* [ios] extended array functions

* [ios] added tests and fixed a few bugs

* [ios] less verbose functions and improved tests

* [ios, macos] Removed unnecessary use of default arguments

Default arguments aren’t supported in Node v4, and they aren’t needed here anyways, because we’re only testing for truthiness.

* [ios, macos] Enum setters

Rely on a macro instead of category methods to specialize the setter implementation for enum attributes, since generic types are disallowed in Objective-C method signatures and mbgl::style::PropertyType must be type-qualified.

* [ios, macos] Got macOS closer to parity w/ iOS

Added various classes and test classes to the macOS workspace. Also fixed lots of compiler errors and updated macosapp runtime styling example to use the new dictionary syntax for function stops.

Updated all conversions from Objective-C stops to C++ stops to enumerate over the dictionary. Fixed compiler errors in enum setter implementations.

Also corrected path to script in generated file comments.

* [ios, macos] Added EJS templates to project

* [ios, macos] Code formatting

Made code format more consistent.

* [ios, macos] Spelled out ID

Cocoa convention is to always spell out “ID” as “identifier”, in part to avoid confusion with the id keyword. Also, URL is capitalized in most contexts, including property names.

* [ios, macos] Grouped related headers together

* [ios, macos] Cleaned up layer transformation

Also added support for converting background layers into Objective-C.

* [ios, macos] Cleaned up tests

Also made the tests work on macOS by introducing a new window to host the map.

* [ios, macos] Replaced TODOs with #warnings

* [ios] convert array based property values

* [ios, macos] color function/undefined getter

* [ios, macos] fixed function/undefined getters for bool and float properties

* [ios, macos] more function/undefined property getters

* [ios, macos] more type conversion and cleanup

* [ios, macos] disable macos runtime styling tests for now

* [ios, macos] cleaned up style code script

* [ios, macos] more type conversion

* [ios] added a base layer to handle visibility min/max zoom

* [macos] fixed base layer

* [ios, macos] use accessor methods

* [ios, macos] cleanup

* [ios, macos] add geojson to ios and macos

* [macos] rebase fix

* [ios, macos] fixed enum getters and added tests for enums

* [ios, macos] added an update method to base layer

* [ios, macos] added some documentation

* [ios, macos] docs

* [ios, macos] removed refs to filters for now

* [ios, macos] various tail work

* [ios, macos] missing import and incorrect type
2016-08-11 13:14:45 -04:00