Details

    • Type: New Feature
    • Status: Applied
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: ODF 1.4
    • Fix Version/s: ODF 1.4
    • Component/s: Graphics
    • Labels:
      None
    • Proposal:
      Hide

      Summary

      Proposal owner: Miklos Vajna

      Proposal short name: Allow overlap graphic property

      Rationale

      Use cases:

      Users sometimes want to make sure anchored graphics / shapes don't overlap, even if their positioning properties would require that. In general, the wrap type determines if a graphic and the surrounding text overlaps or not. This new bool attribute defines the interaction between two graphics. Existing behavior was to always allow overlap, now users can opt in to forbid that overlap.

      Alternatives considered:

      It is possible to manually tweak positioning attributes to avoid the overlap.

      Requested changes to the ODF Standard

      Text changes/additions (compared to ODF 1.2):

      20.<next> draw:allow-overlap (new section)

      The draw:allow-overlap attribute specifies placement options for two or more frames or graphic objects with style:wrap properties set to values other than run-through. (20.390) It is intended as a hint to the layout algorithm to help determine the placement of graphic objects in case the graphic objects themselves overlap.

      By default, overlapping graphic objects with the above style:wrap properties have text wrapped around them, but the graphic objects are still allowed to overlap.

      If this attribute is set to false, then that means the graphic cannot overlap with an other graphic and it shall be repositioned when displayed to prevent this overlap.

      The draw:allow-overlap attribute is usable with the following element:
      <style:graphic-properties> 17.21.

      Schema changes/additions:

      <rng:define name="style-graphic-properties-attlist">
      <rng:interleave>
      <rng:optional>
      <rng:attribute name="draw:allow-overlap">
      <rng:ref name="boolean"/>
      </rng:attribute>
      </rng:optional>
      </rng:interleave>
      </rng:define>

      In other words, allow allow-overlap as a new style:graphic-properties attribute.

      Impacts

      Conformance:

      This proposal will not add any mandatory features or behaviors.

      Backwards compatibility:

      This change will not impact existing ODF processors, the usage of the new attribute value is optional.

      Accessibility impact:

      This change will not impact accessibility.

      Interoperability:

      OOXML's wordprocessingML has a <wp:anchor ... allowOverlap="0"> markup to describe the same, this proposal allows roundtripping that feature in ODF.

      LibreOffice 6.4 implements this layout feature in its ODF extension namespace. When it comes to repositioning, it adjusts the position of the graphic according to the writing direction, e.g. lr-tb will shift the shape towards the bottom to avoid the overlap.

      Show
      Summary Proposal owner: Miklos Vajna Proposal short name: Allow overlap graphic property Rationale Use cases: Users sometimes want to make sure anchored graphics / shapes don't overlap, even if their positioning properties would require that. In general, the wrap type determines if a graphic and the surrounding text overlaps or not. This new bool attribute defines the interaction between two graphics. Existing behavior was to always allow overlap, now users can opt in to forbid that overlap. Alternatives considered: It is possible to manually tweak positioning attributes to avoid the overlap. Requested changes to the ODF Standard Text changes/additions (compared to ODF 1.2): 20.<next> draw:allow-overlap (new section) The draw:allow-overlap attribute specifies placement options for two or more frames or graphic objects with style:wrap properties set to values other than run-through. (20.390) It is intended as a hint to the layout algorithm to help determine the placement of graphic objects in case the graphic objects themselves overlap. By default, overlapping graphic objects with the above style:wrap properties have text wrapped around them, but the graphic objects are still allowed to overlap. If this attribute is set to false, then that means the graphic cannot overlap with an other graphic and it shall be repositioned when displayed to prevent this overlap. The draw:allow-overlap attribute is usable with the following element: <style:graphic-properties> 17.21. Schema changes/additions: <rng:define name="style-graphic-properties-attlist"> <rng:interleave> <rng:optional> <rng:attribute name="draw:allow-overlap"> <rng:ref name="boolean"/> </rng:attribute> </rng:optional> </rng:interleave> </rng:define> In other words, allow allow-overlap as a new style:graphic-properties attribute. Impacts Conformance: This proposal will not add any mandatory features or behaviors. Backwards compatibility: This change will not impact existing ODF processors, the usage of the new attribute value is optional. Accessibility impact: This change will not impact accessibility. Interoperability: OOXML's wordprocessingML has a <wp:anchor ... allowOverlap="0"> markup to describe the same, this proposal allows roundtripping that feature in ODF. LibreOffice 6.4 implements this layout feature in its ODF extension namespace. When it comes to repositioning, it adjusts the position of the graphic according to the writing direction, e.g. lr-tb will shift the shape towards the bottom to avoid the overlap.
    • Resolution:
      Hide

      20.100 draw:allow-overlap

      The draw:allow-overlap attribute specifies whether a frame or graphic object may overlap other frame or graphic objects. The defined values for the draw:allow-overlap attribute are:

      • true: The object may overlap other frame or graphic objects.
      • false: The consumer should change the displayed layout so that the object does not overlap with other frame or graphic objects. How the displayed layout is modified to prevent overlap is implementation-dependent.

      The attribute is ignored in case the attribute style:wrap is evaluated to value run-through on the same object.

      The default value for the attribute draw:allow-overlap is true.

        <rng:optional>
          <rng:attribute name="draw:allow-overlap">
            <rng:ref name="boolean"/>
          </rng:attribute>
        </rng:optional>
      

       

      Show
      20.100 draw:allow-overlap The draw:allow-overlap attribute specifies whether a frame or graphic object may overlap other frame or graphic objects. The defined values for the draw:allow-overlap attribute are: true : The object may overlap other frame or graphic objects. false : The consumer should change the displayed layout so that the object does not overlap with other frame or graphic objects. How the displayed layout is modified to prevent overlap is implementation-dependent. The attribute is ignored in case the attribute style:wrap is evaluated to value run-through on the same object. The default value for the attribute draw:allow-overlap is true . <rng:optional> <rng:attribute name="draw:allow-overlap"> <rng:ref name="boolean"/> </rng:attribute> </rng:optional>  

      Attachments

        Activity

          People

          • Assignee:
            regina.henschel Regina Henschel
            Reporter:
            timar Andras Timar (Inactive)
          • Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: