[PATCH 3/3] fbtest: add gradients pattern
Sascha Hauer
s.hauer at pengutronix.de
Mon Oct 16 00:20:06 PDT 2017
On Fri, Oct 13, 2017 at 03:20:02PM +0200, Sam Ravnborg wrote:
> Hi Nikita
>
> Thanks for this, I have missed further fbtest options in the past.
> Some nitpicks, that you may ignore.
>
> Sam
>
> On Thu, Oct 12, 2017 at 08:52:28PM +0300, Nikita Yushchenko wrote:
> > This pattern draws red, green, blue, and white color gradients, together with
> > 3 anchor rectangles in corners.
> >
> > To be used with automated screen testing via computer vision methods.
> >
> > Suggested-by: Chris Healy <cphealy at gmail.com>
> > Signed-off-by: Nikita Yushchenko <nikita.yoush at cogentembedded.com>
> > ---
> > commands/fbtest.c | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 108 insertions(+), 2 deletions(-)
> >
> > diff --git a/commands/fbtest.c b/commands/fbtest.c
> > index 9981c1319..8e6a5457f 100644
> > --- a/commands/fbtest.c
> > +++ b/commands/fbtest.c
> > @@ -117,6 +117,111 @@ static void fbtest_pattern_geometry(struct screen *sc, u32 color)
> > }
> > }
> >
> > +static void draw_line_r(struct screen *sc, bool rotate_90_ccw,
> > + int x1, int y1, int x2, int y2,
> > + uint8_t r, uint8_t g, uint8_t b)
> > +{
> > + if (rotate_90_ccw)
> > + gu_draw_line(sc,
> > + y1, sc->info->yres - x1,
> > + y2, sc->info->yres - x2,
> > + r, g, b, 0xff, 0);
> > + else
> > + gu_draw_line(sc, x1, y1, x2, y2, r, g, b, 0xff, 0);
> > +}
> > +
> > +static void solid_rect_r(struct screen *sc, bool rotate_90_ccw,
> > + int x1, int y1, int x2, int y2,
> > + uint8_t r, uint8_t g, uint8_t b)
> > +{
> > + if (rotate_90_ccw)
> > + gu_fill_rectangle(sc,
> > + y1, sc->info->yres - x1,
> > + y2, sc->info->yres - x2,
> > + r, g, b, 0xff);
> > + else
> > + gu_fill_rectangle(sc, x1, y1, x2, y2, r, g, b, 0xff);
> > +}
> > +
> > +static void grad_rect_r(struct screen *sc, bool rotate_90_ccw,
> > + int x1, int y1, int x2, int y2,
> > + uint8_t r, uint8_t g, uint8_t b)
> > +{
> > + int x;
> > +
> > + for (x = x1; x <= x2; x++)
> > + draw_line_r(sc, rotate_90_ccw, x, y1, x, y2,
> > + r * (x - x1 + 1) / (x2 - x1 + 1),
> > + g * (x - x1 + 1) / (x2 - x1 + 1),
> > + b * (x - x1 + 1) / (x2 - x1 + 1));
> In the other xxx_xxx_sc(sc, ..) you have the following arguments on a new line.
> But in this you have second argument on the same line.
> It looks in-consistent.
>
> Something like:
> draw_line_r(sc,
> rotate_90_ccw, x, y1, x, y2,
> r * (x - x1 + 1) / (x2 - x1 + 1),
> ....
>
I think the function arguments are aligned quite nice in this patch and
what you see is because Nikita tried to align x/y or r/g/b arguments in
separate lines. I applied it as-is.
> > +}
> > +
> > +static void anchor_rect_r(struct screen *sc, bool rotate_90_ccw,
> > + int x1, int y1, int x2, int y2)
>
> Following arguments should be aligned after first "(" like this:
> static void anchor_rect_r(struct screen *sc, bool rotate_90_ccw,
> int x1, int y1, int x2, int y2)
>
> At least this is how the kernel does things and I recall barebox is the same
I fixed this up while applying.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list