Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-7265

Decide upon, document and implement aliased rasterization rules for QPainter

    XMLWordPrintable

Details

    • Task
    • Resolution: Won't Do
    • P2: Important
    • None
    • None
    • GUI: Painting
    • None

    Description

      When using QPainter with anti-aliasing switched off, the rules for which pixels get filled at various non-integer coordinates changes depending upon the rendering primitive. E.g. A stroke will snap to the lower-left pixel at (x.00, y.00) and fill the same pixel all the way up to (x.99, y.99). However, this rule is disputed and is not how any of our paint engines behave (each behaves differently). We also have different rules for image drawing, filling rects and filling polygons as well as text.

      We need to come up with a detailed set of rules, document them and then implement them. The problem is that we will very likely break behavior slightly with existing applications which depend on the (broken) behavior of a particular paint engine (E.g. The X11 Paint Engine). We may decide to break comparability, or we may decide the (E.g.) X11 engine is the standard. Either way, we really should make behavior as consistent across the different engines as we can, and preferably, across the different primitives too.

      Note: Apple explicitly say they don't care about aliased rendering - perhaps we should do the same?

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            tcooksey Tom Cooksey
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes