diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2022-03-25 20:18:13 +0000 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2022-03-25 20:18:13 +0000 |
commit | 725d1c99112c2882708e44930393225d1b534bf4 (patch) | |
tree | a0104d6d9ad855202d97da63826942e749525e6a /desktop | |
parent | 7f6a00ad2b9bacf42860a5074faa756c705683f1 (diff) | |
download | netsurf-725d1c99112c2882708e44930393225d1b534bf4.tar.gz netsurf-725d1c99112c2882708e44930393225d1b534bf4.tar.bz2 |
Treeview: Change bitmap generation to per-pixel channel indexing.
This will be needed when the core bitmap layout is client controlled.
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/treeview.c | 90 |
1 files changed, 50 insertions, 40 deletions
diff --git a/desktop/treeview.c b/desktop/treeview.c index d49be0fa8..4f6a58b1d 100644 --- a/desktop/treeview.c +++ b/desktop/treeview.c @@ -5091,58 +5091,68 @@ treeview_generate_triangle_bitmap(colour bg, colour fg, int size) if (y < size / 2) { /* Top half */ for (x = 0; x < y * 2; x++) { - *(pos++) = red_from_colour(colour4); - *(pos++) = green_from_colour(colour4); - *(pos++) = blue_from_colour(colour4); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour4); + pos[1] = green_from_colour(colour4); + pos[2] = blue_from_colour(colour4); + pos[3] = 0xff; + pos += 4; } - *(pos++) = red_from_colour(colour3); - *(pos++) = green_from_colour(colour3); - *(pos++) = blue_from_colour(colour3); - *(pos++) = 0xff; - *(pos++) = red_from_colour(colour1); - *(pos++) = green_from_colour(colour1); - *(pos++) = blue_from_colour(colour1); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour3); + pos[1] = green_from_colour(colour3); + pos[2] = blue_from_colour(colour3); + pos[3] = 0xff; + pos += 4; + pos[0] = red_from_colour(colour1); + pos[1] = green_from_colour(colour1); + pos[2] = blue_from_colour(colour1); + pos[3] = 0xff; + pos += 4; for (x = y * 2 + 2; x < size ; x++) { - *(pos++) = red_from_colour(colour0); - *(pos++) = green_from_colour(colour0); - *(pos++) = blue_from_colour(colour0); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour0); + pos[1] = green_from_colour(colour0); + pos[2] = blue_from_colour(colour0); + pos[3] = 0xff; + pos += 4; } } else if ((y == size / 2) && (size & 0x1)) { /* Middle row */ for (x = 0; x < size - 1; x++) { - *(pos++) = red_from_colour(colour4); - *(pos++) = green_from_colour(colour4); - *(pos++) = blue_from_colour(colour4); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour4); + pos[1] = green_from_colour(colour4); + pos[2] = blue_from_colour(colour4); + pos[3] = 0xff; + pos += 4; } - *(pos++) = red_from_colour(colour2); - *(pos++) = green_from_colour(colour2); - *(pos++) = blue_from_colour(colour2); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour2); + pos[1] = green_from_colour(colour2); + pos[2] = blue_from_colour(colour2); + pos[3] = 0xff; + pos += 4; } else { /* Bottom half */ for (x = 0; x < (size - y - 1) * 2; x++) { - *(pos++) = red_from_colour(colour4); - *(pos++) = green_from_colour(colour4); - *(pos++) = blue_from_colour(colour4); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour4); + pos[1] = green_from_colour(colour4); + pos[2] = blue_from_colour(colour4); + pos[3] = 0xff; + pos += 4; } - *(pos++) = red_from_colour(colour3); - *(pos++) = green_from_colour(colour3); - *(pos++) = blue_from_colour(colour3); - *(pos++) = 0xff; - *(pos++) = red_from_colour(colour1); - *(pos++) = green_from_colour(colour1); - *(pos++) = blue_from_colour(colour1); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour3); + pos[1] = green_from_colour(colour3); + pos[2] = blue_from_colour(colour3); + pos[3] = 0xff; + pos += 4; + pos[0] = red_from_colour(colour1); + pos[1] = green_from_colour(colour1); + pos[2] = blue_from_colour(colour1); + pos[3] = 0xff; + pos += 4; for (x = (size - y) * 2; x < size ; x++) { - *(pos++) = red_from_colour(colour0); - *(pos++) = green_from_colour(colour0); - *(pos++) = blue_from_colour(colour0); - *(pos++) = 0xff; + pos[0] = red_from_colour(colour0); + pos[1] = green_from_colour(colour0); + pos[2] = blue_from_colour(colour0); + pos[3] = 0xff; + pos += 4; } } |