1. 08 Sep, 2021 4 commits
  2. 27 Aug, 2021 1 commit
  3. 26 Aug, 2021 2 commits
    • James Westman's avatar
      network-tile-source: Fix offline usage · e875fb24
      James Westman authored
      Fix a bug where the tile cache would report an error any time the
      network request failed, even if the tile was successfully filled from
      the file cache. This would cause errors during offline use, where that
      situation would be expected.
      e875fb24
    • James Westman's avatar
      Fix zoom formula · 01e3df83
      James Westman authored
      The formula for calculating zoom between integer levels was
      incorrect--it was linear, rather than exponential like the overall
      function. This change makes zooming smoother and more consistent.
      
      Also, added shumate_map_source_get_tile_size_at_zoom to reduce code
      duplication.
      01e3df83
  4. 20 Aug, 2021 2 commits
  5. 31 Jul, 2021 1 commit
    • James Westman's avatar
      network-tile-source: Read into a GBytes · f91e574d
      James Westman authored
      When receiving tiles from the server, read them into a GBytes first
      using GMemoryOutputStream, then stream them into a pixbuf. This allows
      us to skip re-encoding the pixbuf later when we save it to the file
      cache.
      f91e574d
  6. 28 Jul, 2021 1 commit
    • James Westman's avatar
      Add support for rotation · c54ed6c6
      James Westman authored
      Add support for rotating the map using touchscreen/trackpad gestures.
      This involved changing the gesture tracking code to support zooming and
      rotating at the same time. Also, some of the viewport methods had to be
      changed since the calculations now depend on both coordinates.
      c54ed6c6
  7. 23 Jul, 2021 2 commits
  8. 06 Jul, 2021 5 commits
    • Corentin Noël's avatar
      map: Rename ShumateView into ShumateMap · 41944bb6
      Corentin Noël authored
      Makes it clearer that it is the widgets that shoes a map.
      41944bb6
    • James Westman's avatar
      map-layer: Fix flashing when zoom level changes · f4eb91d1
      James Westman authored
      Previously, the screen would flash every time the zoom level changed.
      This was because the tiles from the previous zoom level were all deleted
      as soon as the zoom level changed.
      
      Now, those old tiles are kept around until all the tiles at the new zoom
      level are loaded. This provides something to fill the screen while the
      tiles load.
      
      This commit also simplifies the size_allocate logic. Instead of
      iterating through the expected tile locations and finding them in the
      hash table, it iterates the hash table directly and calculates the
      correct location for each tile.
      f4eb91d1
    • James Westman's avatar
      tile: Use widget size rather than texture size · 31b94b2a
      James Westman authored
      Draw the tile texture to cover the widget, rather than at the size of
      the texture, since they may be different.
      31b94b2a
    • James Westman's avatar
      map-layer: Move logic out of size_allocate · ee550bd6
      James Westman authored
      Move a lot of the tile grid logic out of size_allocate into
      recompute_grid(). This is neater since size_allocate isn't really
      supposed to modify the content of the widget, only position it on
      screen.
      
      Part of this change is that tiles are stored in the hash map by their
      unwrapped grid coordinates, not by coordinates in the screen grid. This
      makes much of the logic simpler, especially the logic around
      invalidating tiles. Also, tiles are no longer reused; once a tile is
      created, its x/y/zoom will not change, and it will be deleted and
      replaced when it moves out of view.
      ee550bd6
    • James Westman's avatar
      map-layer: Use hash table instead of pointer array · 2a33b579
      James Westman authored
      Store the tiles in a hash table rather than a pointer array. This is a
      more suitable data structure since we often look up tiles by their grid
      position, and hash tables can still be easily iterated.
      2a33b579
  9. 01 Jul, 2021 1 commit
  10. 30 Jun, 2021 1 commit
  11. 21 Jun, 2021 2 commits
    • James Westman's avatar
      docs: Switch to gi-docgen · 02aaa341
      James Westman authored
      - Don't build docs in flatpak. It would require a bunch of extra modules
        for gi-docgen's dependencies, and doc generation can take a little
        while anyway. Better to leave it out.
      - Remove the gtk-doc files and add gi-docgen to the build system.
      02aaa341
    • Corentin Noël's avatar
      ci: Publish coverage report · b4ac1103
      Corentin Noël authored
      b4ac1103
  12. 18 Jun, 2021 2 commits
  13. 08 Jun, 2021 1 commit
  14. 04 Jun, 2021 2 commits
  15. 23 May, 2021 1 commit
  16. 22 May, 2021 1 commit
  17. 20 May, 2021 3 commits
  18. 18 May, 2021 1 commit
  19. 17 May, 2021 1 commit
  20. 12 May, 2021 1 commit
    • James Westman's avatar
      marker: Remove global selection color variables · eb46a131
      James Westman authored
      ShumateMarker no longer draws any selection color--it's just a container
      for other widgets. Besides, global variables wouldn't be a good way to
      do this anyway. We could get the selection color from the GTK theme if
      we needed.
      
      Fixes #19.
      eb46a131
  21. 06 May, 2021 2 commits
  22. 19 Apr, 2021 1 commit
  23. 17 Apr, 2021 2 commits