All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Suchanek <hramrach@centrum.cz>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: [RFC] Framebuffer rotation patch
Date: Thu, 11 Feb 2010 11:52:44 +0100	[thread overview]
Message-ID: <a5d587fb1002110252r5478096qe48f230b6a6390b1@mail.gmail.com> (raw)
In-Reply-To: <a5d587fb1002110219x13bff081td17c4e8ae9d0cb0a@mail.gmail.com>

On 11 February 2010 11:19, Michal Suchanek <hramrach@centrum.cz> wrote:
> 2010/2/11 Vladimir 'φ-coder/phcoder' Serbinenko <phcoder@gmail.com>:
>> Michal Suchanek wrote:
>>> Hello
>>>
>>> Sending a preliminary framebuffer rotation patch.
>>>
>>> You can use videotest to see 4 tiles rotated from the same bitmap data.
>>>
>>>
>> +char leaf_data[] = { 0x00, 0x0f, 0xe0, 0x00,
>> +                     0x00, 0x7f, 0xfc, 0x00,
>> +                     0x01, 0xff, 0xff, 0x00,
>> +                     0x03, 0xff, 0xff, 0x80,
>> This is a blob. Could it be generated automatically at build time?
>
> How less of a blob it would be if it was included as a bitmap?
>
> This is just a shape used for the video tests.
>
> There are some X tools for working with bitmaps/pixmaps which could
> generate this from a viewable file but they are usually not available
> on Windows and other non-X platforms AFAIK.
>
>> +
>> +  sans = grub_font_get ("Helvetica Bold 14");
>> Please use free font rather than Helvetica
>
> I am pretty sure I did not choose the fonts, they must have been there
> before I started with modifications to the tests.
>
>> Could you split addition of videotests from the rest of the patch?
>> -    unsigned int x;
>> -    unsigned int y;
>> -    unsigned int width;
>> -    unsigned int height;
>> +    int x;
>> +    int y;
>> +    int width;
>> +    int height;
>> Why do you need negative values?
>
> I don't need the negative values everywhere but this change was to
> align the typing so that casts are not required.
>
>> +/* Supported operations are simple and easy to understand.
>> + * MIRROR  |  swap image across (around) the vertical axis
>> + * FLIP    -  swap image across the horizontal axis - upside down
>> + * SWAP    /  swap image across the x=y axis - swap the x and y coordinates
>> It's just a D_8 group. Could you add a comment to functions what they do
>> in group theoretical sense? It would make the code easier to follow and
>
> Obviously it is a group, any set of transforms closed on composition is.
>
> And according to Wikipedia it's actually called D4.
>
>> compute transformations for mathematicians. Perhaps another
>> representation of D_8 would result in more efficient code?
>
> If you have clearer explanation or more efficient code please share.
>

Let me elaborate a bit more on this one.

The provided explanation should make it possible for anybody who
understands plain English to also understand the operations used and
how they interact should they know group theory in English, any other
language, or not at all.

I guess mentioning the English mathematical terms where applicable and
where I can figure them out should not that much of a problem, as well
as checking that the transform functions are sufficiently described.

Still the fact that is used (and explained) is that the operations I,
- and / generate the group and in addition you can get all members of
the group if you compose a subset of these generators in a fixed order
which is trivially true for comutative groups but not so for a
non-comutative group such as this one.

Thanks

Michal



  reply	other threads:[~2010-02-11 10:53 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-28  8:03 [RFC] Framebuffer rotation patch Michal Suchanek
2009-08-29 10:24 ` Michal Suchanek
2010-02-11  2:46 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-02-11 10:19   ` Michal Suchanek
2010-02-11 10:52     ` Michal Suchanek [this message]
2010-02-11 16:11       ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-02-11 16:08     ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-02-13 17:29       ` Michal Suchanek
2010-02-15 17:05         ` [RFC] Framebuffer rotation patch, or why 'unsigned' fails us Colin D Bennett
2010-02-15 18:14           ` Michal Suchanek
2010-02-15 18:35             ` Colin D Bennett
2010-02-16 12:35             ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-02-16 20:53               ` Michal Suchanek
2010-02-16 12:32         ` [RFC] Framebuffer rotation patch Vladimir 'φ-coder/phcoder' Serbinenko
2010-02-16 15:52           ` Michal Suchanek
2010-02-16 18:03             ` Isaac Dupree
2010-02-16 18:15               ` richardvoigt
2010-02-16 18:47                 ` [Off-topic] C++ enums Isaac Dupree
2010-02-16 16:08   ` [RFC] Framebuffer rotation patch Michal Suchanek
2010-02-16 16:21     ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-02-16 21:05       ` Michal Suchanek
2010-02-16 21:14         ` richardvoigt
2010-02-16 23:19           ` Michal Suchanek
2010-02-16 21:53         ` Michal Suchanek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a5d587fb1002110252r5478096qe48f230b6a6390b1@mail.gmail.com \
    --to=hramrach@centrum.cz \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.