Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rewrite push_line interface, and make patterned lines match gecko closer #1923

Merged
merged 4 commits into from Oct 25, 2017

Commits on Oct 24, 2017

  1. rewrite push_line interface, and make wavy lines match gecko closer

    This is a breaking API change, as it replaces the (gross) (baseline,start,end,width)
    API with just using the line's bounds. This also adds a dedicated value for wavy
    line thickness, as there isn't a 1:1 function between the two in gecko.
    
    Wavy lines are changed to have the same period as gecko uses, which is necessary
    to make some subtle hacks where gecko aligns and clips multiple lines to make
    the illusion of a single continuous line.
    
    Wavy lines are also changed to not have AA if they are thin (thickness <= 2.0),
    as this matches the standard gecko style.
    
    Future work needs to be done to make dashed and dotted lines also support
    this continuity illusion (but no API/gecko work should need to be done).
    Gankra committed Oct 24, 2017
  2. Make dot and dash line shaders more precise

    The number-of-pieces approach the old implementation had lead to too much
    accumulated rounding error, causing periodic truncated dashes. This
    lead to lines falling out of their periodic pattern, breaking the clipping
    tricks gecko applies downstream.
    Gankra committed Oct 24, 2017
  3. Make decoration suite more realistic/interesting.

    Mostly adjusts sizes to be similar to what gecko produces, most notably
    very thin lines. Also purposefully triggers some more corner cases in
    the shaders and tries more shadow combinations.
    Gankra committed Oct 24, 2017
You can’t perform that action at this time.