<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi<div class=""><br class=""><blockquote type="cite" class="">On 24 Sep 2015, at 15:12, Martin Dobias <<a href="mailto:wonder.sk@gmail.com" class="">wonder.sk@gmail.com</a>> wrote:<br class=""><br class="">Hi Regis<br class=""><br class="">On Wed, Sep 23, 2015 at 4:19 AM, Régis Haubourg<br class=""><<a href="mailto:regis.haubourg@eau-adour-garonne.fr" class="">regis.haubourg@eau-adour-garonne.fr</a>> wrote:<br class=""><blockquote type="cite" class="">Hi all,<br class="">I just saw a recent commit labeled "New API for labeling engine<br class="">(QgsLabelingEngineV2)" [0]<br class=""><br class="">Can anyone tell us more on that work that seems very promising?<br class=""></blockquote><br class="">This was motivated by my work on rule-based labeling (landed just<br class="">moments ago in master). The labeling engine has existed without major<br class="">architectural changes for 5-6 years since its introduction. Since then<br class="">lots of features were added and the original framework started to show<br class="">its age. The new API should allow for much more flexibility... things<br class="">like running labeling engine completely independently from the main<br class="">rendering loop, using anything as a source of label features (e.g.<br class="">raster cells?) and so on.</blockquote><div class=""><br class=""></div><div class="">Labelling raster cells would be awesome!</div><div class=""><br class=""></div><br class=""><blockquote type="cite" class=""> The old API (QgsPalLabeling) is of course<br class="">still available (and acts as a wrapper of the new API), but should get<br class="">removed in QGIS 3.<br class=""><br class=""><br class=""><blockquote type="cite" class="">My question is not totally innocent, I just launch funding to start QEP's<br class="">work on labeling improvements. I would like that QGIS can handle several<br class="">features, but need to fund exploratory work before knowing how to do that<br class="">exactly:<br class=""> - add core ability to draw callouts between features and labels<br class=""> - add new label types, that wan be labeled on "paths", just like ESRI<br class="">annotations.<br class=""> - port to C++ features currently available in EasyCustomLabeling Plugins<br class="">and Mask plugin.<br class="">      - generate layers dedicated to manual labeling (addition of data<br class="">defined fields).<br class="">      - Allow to mask labels outside of an area of interest, and allow<br class="">Atlas to use it in batch use cases.<br class=""></blockquote><br class=""></blockquote><div class=""><br class=""></div><br class=""><blockquote type="cite" class="">Nice list - let me know if you need help with any of those ;-)<br class=""></blockquote><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Very nice to see labelling get some love! I could add my wish to your list:</div><div class=""><br class=""></div><div class="">* allow canvas border to be treated as a labelling impediment to prevent partial labels</div><div class=""><br class=""></div><div class="">Regards</div><div class=""><br class=""></div><div class="">Tim</div><div class=""><br class=""></div><div class=""><br class=""></div><br class=""><blockquote type="cite" class=""><br class="">Cheers<br class="">Martin<br class="">_______________________________________________<br class="">Qgis-developer mailing list<br class=""><a href="mailto:Qgis-developer@lists.osgeo.org" class="">Qgis-developer@lists.osgeo.org</a><br class="">http://lists.osgeo.org/mailman/listinfo/qgis-developer<br class=""></blockquote><br class=""><div class=""><span>—</span><br class=""><span><br class=""></span><span style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class="Apple-interchange-newline"><span><img height="66" width="160" apple-inline="yes" id="C50B3441-A134-4D7E-A062-0603789C041E" apple-width="yes" apple-height="yes" src="cid:62C890D4-3964-4609-BDE6-7536D5FBDD70" class=""></span><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-align: center;" class=""><br class="Apple-interchange-newline"><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-align: center;" class="">Tim Sutton</div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-align: center;" class=""><br class=""></div><div style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><div style="text-align: center;" class="">Visit <a href="http://kartoza.com" class="">http://kartoza.com</a> to find out about open source:</div><div style="text-align: center;" class=""><br class=""></div><div class=""><div style="text-align: center;" class="">* Desktop GIS programming services</div><div style="text-align: center;" class="">* Geospatial web development</div><div style="text-align: center;" class="">* GIS Training</div><div style="text-align: center;" class="">* Consulting Services</div><div style="text-align: center;" class=""><br class=""></div><div class=""><div style="text-align: center;" class="">Skype: timlinux Irc: timlinux on #qgis at <a href="http://freenode.net" class="">freenode.net</a></div><div style="text-align: center;" class="">Tim is a member of the QGIS Project Steering Committee</div><div style="text-align: center;" class=""><br class=""></div><div style="text-align: center;" class="">Kartoza is a merger between Linfiniti and Afrispatial</div></div></div></div>
</span></div><br class=""></div></body></html>