On Thu, Mar 28, 2013 at 01:16:09AM +0100, Laurent Pinchart wrote:
Hi Ville,
On Wednesday 27 March 2013 19:15:31 Ville Syrjälä wrote:
On Wed, Mar 27, 2013 at 05:57:20PM +0200, Ville Syrjälä wrote:
On Tue, Mar 19, 2013 at 03:55:50PM +0100, Laurent Pinchart wrote:
Extend the -P option to allow specifying the plane x and y offsets. The position is optional, if not specified the plane will be positioned at the center of the screen as before.
Signed-off-by: Laurent Pinchart laurent.pinchart@ideasonboard.com
tests/modetest/modetest.c | 72 ++++++++++++++++++++++++++++++---------- 1 file changed, 57 insertions(+), 15 deletions(-)
diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c index 7153a40..f95efe6 100644 --- a/tests/modetest/modetest.c +++ b/tests/modetest/modetest.c @@ -645,6 +645,7 @@ struct connector_arg {
struct plane_arg {
uint32_t con_id; /* the id of connector to bind to */
- uint32_t x, y;
I'd like the coordinates to allow negative values too.
Tested it and it actually works w/ negative values thanks to the way strtoul() works :) The only real obstacle is the magic '-1' handling. I guess you should just give up on magic values and add some flag to indicate whether the user provided the coords or not.
Also I must say that I don't like the syntax you used for specifying the coords. '(' and ')' need to be escaped or the shell eats them.
You're not the first one to complain, I don't mind changing the syntax (although escaping is not mandatory, you can just enclose the whole argument in quotes).
I've been using the x11 -geometry syntax whenever I have to deal with the x/y/w/h combination. It's a reasonably well known syntax and doesn't have these shell issues. Maybe you could use it here as well.
The issue with the geometry syntax is that you can't put the top-left corner at negative coordinates, as -XOFF places the right edge of the plane XOFF pixels from the right edge of the screen, and similarly for -YOFF. Should we deviate from that spec and consider -XOFF to mean XOFF pixels on the left side of the left edge (outside of the screen) ?
I forgot that there's this kind of magic change of origin in the specification. I guess it's been too long since I've used negative geometry coordinates under X.
I've just been using it so that the origin is always the top left corner. That's how I chose to interpret things in my drm_rect_debug_print() function for example. But since it's a bit contrary to the X geometry spec, maybe it's not the best syntax either. If anyone has a better idea in mind, I'm open to suggestions.