feat(oiiotool): flexible offset notation with commas#5209
Open
lgritz wants to merge 2 commits into
Open
Conversation
Fixes 5207
Sometimes the `WxH+X+Y` and `+X+Y` notation (borrowed from X11!) can
be a little awkward. This patch extends the accepted syntax to allow
commas to separate the offset components, for example also accepting
`WxY,X,Y` and `X,Y`.
This affects the commands
--create
--crop
--cut
--fit
--fullsize
--origin
--originoffset
--paste
--pattern
--printstats
--resize
Signed-off-by: Larry Gritz <lg@larrygritz.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Extends oiiotool's geometry parsing to accept a comma-separated alternative (WxH,X,Y and X,Y) in addition to the X11-style WxH+X+Y / +X+Y form. This resolves an awkward case where signed-prefix syntax breaks when offset components are produced by expressions whose sign isn't known in advance (issue #5207).
Changes:
- Update
scan_offsetandscan_res_offsetto try the legacy+/-syntax first and fall back to comma-separated parsing. - Add unit tests for the comma-separated forms in
unit_test_adjust_geometry, and add CLI runtime tests in the oiiotool-attribs testsuite. - Document the new comma-syntax form across all affected commands in
oiiotool.rst.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/oiiotool/oiiotool.cpp | Extends scan_offset/scan_res_offset to accept comma-separated origin/offset; adds unit tests. |
| src/doc/oiiotool.rst | Documents new comma notation for --create, --crop, --cut, --fit, --fullsize, --origin, --originoffset, --paste, --pattern, --printstats, --resize. |
| testsuite/oiiotool-attribs/run.py | Adds runtime tests covering both X11 and comma origin/originoffset syntax. |
| testsuite/oiiotool-attribs/ref/out.txt | Updates expected output to match new tests. |
| testsuite/oiiotool-attribs/ref/out-jpeg9d.txt | Updates expected output for jpeg9d variant to match new tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5207
Sometimes the
WxH+X+Yand+X+Ynotation (borrowed from X11!) can be a little awkward. This patch extends the accepted syntax to allow commas to separate the offset components, for example also acceptingWxY,X,YandX,Y.This affects the commands