00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <config.h>
00022
00023 #include <libexif/exif-format.h>
00024 #include <libexif/i18n.h>
00025
00026 #include <stdlib.h>
00027
00032 static const struct {
00033 ExifFormat format;
00034 const char *name;
00035 unsigned char size;
00036 } ExifFormatTable[] = {
00037 {EXIF_FORMAT_SHORT, N_("Short"), 2},
00038 {EXIF_FORMAT_RATIONAL, N_("Rational"), 8},
00039 {EXIF_FORMAT_SRATIONAL, N_("SRational"), 8},
00040 {EXIF_FORMAT_UNDEFINED, N_("Undefined"), 1},
00041 {EXIF_FORMAT_ASCII, N_("ASCII"), 1},
00042 {EXIF_FORMAT_LONG, N_("Long"), 4},
00043 {EXIF_FORMAT_BYTE, N_("Byte"), 1},
00044 {EXIF_FORMAT_SBYTE, N_("SByte"), 1},
00045 {EXIF_FORMAT_SSHORT, N_("SShort"), 2},
00046 {EXIF_FORMAT_SLONG, N_("SLong"), 4},
00047 {EXIF_FORMAT_FLOAT, N_("Float"), 4},
00048 {EXIF_FORMAT_DOUBLE, N_("Double"), 8},
00049 {0, NULL, 0}
00050 };
00051
00052 const char *
00053 exif_format_get_name (ExifFormat format)
00054 {
00055 unsigned int i;
00056
00057
00058
00059
00060
00061
00062
00063
00064 bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
00065
00066 for (i = 0; ExifFormatTable[i].name; i++)
00067 if (ExifFormatTable[i].format == format)
00068 return _(ExifFormatTable[i].name);
00069 return NULL;
00070 }
00071
00072 unsigned char
00073 exif_format_get_size (ExifFormat format)
00074 {
00075 unsigned int i;
00076
00077 for (i = 0; ExifFormatTable[i].size; i++)
00078 if (ExifFormatTable[i].format == format)
00079 return ExifFormatTable[i].size;
00080 return 0;
00081 }