annotate gui/util/bitmap.h @ 33534:22c3241467b3

Remove function Normalize(). This function changed ARGB data as if it had been RGB24 data (not quite correctly) converted to ARGB with all colors transparent. Instead now, set the alpha channel for RGB24 data and leave ARGB data untouched. For X11, the alpha channel is disregarded, so both approaches are equal, but the new one is more intelligible as we get correct ARGB PNG data. For legacy reasons, all kind of fuchsia/magenta must be treated as transparent, because some skins are using at least both full opaque and full transparent fuchsia/magenta for transparency.
author ib
date Thu, 16 Jun 2011 11:19:15 +0000
parents 5f3171d4d7a4
children c5a19bbeac2b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33046
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
1 /*
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
2 * This file is part of MPlayer.
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
3 *
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
7 * (at your option) any later version.
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
8 *
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
12 * GNU General Public License for more details.
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
13 *
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
14 * You should have received a copy of the GNU General Public License along
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
17 */
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
18
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
19 #ifndef MPLAYER_GUI_BITMAP_H
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
20 #define MPLAYER_GUI_BITMAP_H
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
21
33534
22c3241467b3 Remove function Normalize().
ib
parents: 33129
diff changeset
22 #define TRANSPARENT 0xffff00ff // transparent color (opaque fuchsia/magenta)
22c3241467b3 Remove function Normalize().
ib
parents: 33129
diff changeset
23 #define ALPHA_OPAQUE 0xff000000
22c3241467b3 Remove function Normalize().
ib
parents: 33129
diff changeset
24
22c3241467b3 Remove function Normalize().
ib
parents: 33129
diff changeset
25 // for legacy reasons, we must treat all kind of fuchsia/magenta as transparent
22c3241467b3 Remove function Normalize().
ib
parents: 33129
diff changeset
26 #define IS_TRANSPARENT(c) ((ALPHA_OPAQUE | (c)) == TRANSPARENT)
33115
c2da7b725fd8 Use appropriate data type uint32_t for 32 bpp bitmap data.
ib
parents: 33114
diff changeset
27
33046
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
28 typedef struct {
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
29 unsigned long Width;
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
30 unsigned long Height;
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
31 unsigned int BPP;
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
32 unsigned long ImageSize;
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
33 char *Image;
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
34 } txSample;
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
35
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
36 void bpFree(txSample *bf);
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
37 int bpRead(char *fname, txSample *bf);
33129
5f3171d4d7a4 Define the transparent color as a macro.
ib
parents: 33123
diff changeset
38 int Convert32to1(txSample *in, txSample *out);
33046
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
39
9684ad0e1291 Move files with auxiliary functions to own directory.
ib
parents:
diff changeset
40 #endif /* MPLAYER_GUI_BITMAP_H */