1. 14 Apr, 2022 4 commits
  2. 13 Apr, 2022 1 commit
  3. 17 Mar, 2022 1 commit
  4. 03 Mar, 2022 1 commit
  5. 01 Mar, 2022 1 commit
  6. 30 Jan, 2022 1 commit
  7. 26 Jan, 2022 1 commit
  8. 18 Jan, 2022 1 commit
  9. 13 Jan, 2022 5 commits
  10. 10 Jan, 2022 1 commit
  11. 08 Jan, 2022 1 commit
  12. 03 Jan, 2022 1 commit
  13. 22 Dec, 2021 1 commit
  14. 01 Dec, 2021 1 commit
  15. 19 Nov, 2021 1 commit
  16. 18 Nov, 2021 1 commit
    • James Westman's avatar
      Split ShumateNetworkTileSource · 8c490eb2
      James Westman authored
      Split the network source into separate classes for fetching data,
      rendering raster tiles, and rendering vector tiles. This makes the code
      much more modular and organized, especially since vector tiles are about
      to get even more complicated.
      
      ShumateDataSource is a new abstract class that retrieves tile data. It
      has a built-in implementation, ShumateTileDownloader, which takes over
      the network part of ShumateNetworkTileSource.
      
      ShumateRasterRenderer is a ShumateMapSource that provides tiles by
      reading image files from a ShumateDataSource. Similarly, ShumateVectorRenderer
      is a ShumateMapSource that provides tiles by rendering vector tiles.
      
      This commit also modifies the network source to use the tile URL as a
      file cache key, rather than the map source ID. This is because, with
      vector tiles, two different map sources may use the same set of tiles.
      8c490eb2
  17. 17 Nov, 2021 1 commit
  18. 12 Nov, 2021 2 commits
  19. 08 Nov, 2021 2 commits
  20. 01 Nov, 2021 9 commits
    • James Westman's avatar
      license: Get license info from the map · ec655268
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      Removed the {append|prepend|remove}_map_source methods from
      ShumateLicense and replaced them with a `map` property. The license
      monitors changes to the map layers through a new `layers-changed`
      signal and updates the license text automatically.
      
      This also required adding `license` and `license-uri` properties to
      ShumateLayer. Currently only ShumateMapLayer implements them and they
      are taken from the map source.
      ec655268
    • James Westman's avatar
      vector: Add filter expressions · 45e461b8
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      These expressions are used primarily to show only certain features in a
      layer (for example, a "landuse" layer might only cover certain
      landuses).
      45e461b8
    • James Westman's avatar
      vector: Add expression system · 6e5f7c0a
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      6e5f7c0a
    • James Westman's avatar
      vector: Add line layer · 98916ec5
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      98916ec5
    • James Westman's avatar
      vector: Add fill layer · e7dbd71f
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      Added fill layers. This involves parsing a vector tile in protobuf
      format and converting the features inside into cairo paths.
      
      vector_tile.pb-c.{c,h} is the generated protobuf parsing code. Since the
      spec is not likely to change, I checked these files into git instead of
      generating them as part of the build.
      
      This commit introduces dependencies on libprotobuf-c and libprotobuf.
      e7dbd71f
    • James Westman's avatar
      vector: Add background layer · 8a04b034
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      Add layers to ShumateVectorStyle. It reads these layers from a Mapbox
      Style Specification JSON file. So far, only background layers are
      supported because there is no protobuf/MVT parsing capability yet.
      8a04b034
    • James Westman's avatar
      vector: Add JSON utilities · 4c956ec1
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      This commit adds a dependency on json-glib.
      4c956ec1
    • James Westman's avatar
      vector: Add ShumateStyleError · 1696a449
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      This error domain is used for errors during style parsing.
      1696a449
    • James Westman's avatar
      vector: Add ShumateVectorStyle · 5d2d232a
      James Westman authored and Marcus Lundblad's avatar Marcus Lundblad committed
      Here begins the epic vector tiles merge request...
      
      ShumateVectorStyle is the main entry point of the vector renderer. By
      setting the `style` property of a ShumateNetworkTileSource, tiles will
      be interpreted as protobuf/Mapbox Vector Tile formatted files rather
      than raster images.
      
      So far, though, none of that is implemented and ShumateVectorStyle
      contains a dummy renderer.
      5d2d232a
  21. 14 Oct, 2021 2 commits
  22. 06 Oct, 2021 1 commit
    • Niels De Graef's avatar
      docs: Update gi-docgen annotations · 7a0a03f2
      Niels De Graef authored
      The whole `SECTION` block is a gtk-doc specific annotation. Just
      immediately document the class/struct/interface with the usual docs
      syntax and gi-docgen will know what to do with it. There's also no
      worrying about exposed structs, since there are none in libshumate, and
      even if there were, you would still have to document them in the GIR.
      
      Finally, use proper linking as specified by the gi-docgen tutorial.
      7a0a03f2