Comments (6)
AREA.BORDER is now introduced to the style sheet, agg cairo and Qt backends have been adapted.
from libosmscout.
iOS and OSX backend have also been adapted.
Has the negative/positive offset already been implemented ?
from libosmscout.
No, not yet. Next task would be:
- Extend OSS Syntax to allow multiple AREA.BORDER together with slot notation
- Extend StyleConfig to allow a list of BorderStyles (see existing objects with slot notation)
- Extend MapPainter to now handle list of BorderStyles returned by StyleConfig (instead of no or single instance)
- See how this gets mapped to AreaData
- Finally extends the OSS Syntax and BorderStyle with new attributes to define offset to area border, extend MapPainter to calculate new outline of area using offset and extend AreaData to hold this (optional) additional information
This will break StyleConfig API again and likely all render backends must be adapted again. It may be possible that one can handle the 1:n relation between area and its border by creating a new (special) AreaData for each border. This way MapPainter AreaData API would not break.
from libosmscout.
Pushed change which introduced offset, displayOffset and priority attributes to BorderStyle. So we do not have multiple borders but backend could start implementing (with common to all backend changes to MapPainter, too) borders with offsets to the area shape.
from libosmscout.
Now pushed support for multiple BORDERs in style sheet. MapPainter though only evaluates first entry in list. So the following tasks are now left:
- See how this gets mapped to AreaData
- extend MapPainter to calculate new outline of area using offset and extend AreaData to hold this (optional) additional information
from libosmscout.
Next push:
Multiple borders are now syntactically possible an the MapPainter creates special AreaData instances for it. That means, multiple borders are now rendered if used in the style sheet.
However:
- The MapPainter derived class must be able to handle AreaData instances without a fillStyle (Qt backend was fixed)
- A border with an offset is not transformed well. That means that the resulting border line is overlapping some cases. Possibly e need a special TransformArea method instead of reusing the existing TransformWay method?
- An offset of 10m draws a 10m smaller area. This is irritating. Should be switch sign?
- The AreaData instances are not sorted optimally. In some cases neighbouring areas are overwriting parts of the (bigger than the original area) border. The bounding box must somehow get fixed for these borders :-/
from libosmscout.
Related Issues (20)
- Why so many build techs? HOT 2
- BoundingBox of imported database too big HOT 6
- What about make Qt 6 the default in CMakelists.txt? HOT 6
- Importing data into an existing database / merging databases HOT 8
- Bounding box and Speed HOT 2
- PlaneMapRenderer redraws map only on center change, not on zoom change HOT 1
- Rendering Maldives lags libosmscout and gives a lot font errors HOT 8
- Rendering way of type "_route" is masked by bridges HOT 6
- Implementing a tile server via libosmcout HOT 7
- Layer rendering issues with tile rendering HOT 1
- Lots of "Warning: Unknown type" HOT 18
- Question regarding RoutingDatabase::GetRouteNodes() HOT 2
- Way missing in MapService query HOT 4
- `MapService::LoadMissingTileData()` produces more data than expected HOT 7
- Missing forest near Swedish national park Muddus HOT 1
- Compilation issues for iOS and XCode 15 HOT 5
- Add libosmscout to Taginfo Projects HOT 2
- Searching for "Zbraslavice 255" in Czechia give no results, but "Zbraslavice Zbraslavice 255" yes
- Compilation error for libosmscout-client on MacOS HOT 3
- Build fails because Config.h isn't installed HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libosmscout.