TagLib  1.13.1
flacpicture.h
Go to the documentation of this file.
1/**************************************************************************
2 copyright : (C) 2010 by Lukáš Lalinský
3 email : lalinsky@gmail.com
4 **************************************************************************/
5
6/***************************************************************************
7 * This library is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU Lesser General Public License version *
9 * 2.1 as published by the Free Software Foundation. *
10 * *
11 * This library is distributed in the hope that it will be useful, but *
12 * WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14 * Lesser General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU Lesser General Public *
17 * License along with this library; if not, write to the Free Software *
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA *
19 * 02110-1301 USA *
20 * *
21 * Alternatively, this file is available under the Mozilla Public *
22 * License Version 1.1. You may obtain a copy of the License at *
23 * http://www.mozilla.org/MPL/ *
24 ***************************************************************************/
25
26#ifndef TAGLIB_FLACPICTURE_H
27#define TAGLIB_FLACPICTURE_H
28
29#include "tlist.h"
30#include "tstring.h"
31#include "tbytevector.h"
32#include "taglib_export.h"
33#include "flacmetadatablock.h"
34
35namespace TagLib {
36 namespace FLAC {
38 {
39 public:
40
44 enum Type {
46 Other = 0x00,
48 FileIcon = 0x01,
50 OtherFileIcon = 0x02,
52 FrontCover = 0x03,
54 BackCover = 0x04,
56 LeafletPage = 0x05,
58 Media = 0x06,
60 LeadArtist = 0x07,
62 Artist = 0x08,
64 Conductor = 0x09,
66 Band = 0x0A,
68 Composer = 0x0B,
70 Lyricist = 0x0C,
72 RecordingLocation = 0x0D,
74 DuringRecording = 0x0E,
76 DuringPerformance = 0x0F,
78 MovieScreenCapture = 0x10,
80 ColouredFish = 0x11,
82 Illustration = 0x12,
84 BandLogo = 0x13,
86 PublisherLogo = 0x14
87 };
88
90 Picture(const ByteVector &data);
92
96 Type type() const;
97
101 void setType(Type type);
102
108
113 void setMimeType(const String &m);
114
120
125 void setDescription(const String &desc);
126
130 int width() const;
131
135 void setWidth(int w);
136
140 int height() const;
141
145 void setHeight(int h);
146
150 int colorDepth() const;
151
155 void setColorDepth(int depth);
156
160 int numColors() const;
161
165 void setNumColors(int numColors);
166
171
175 void setData(const ByteVector &data);
176
180 int code() const;
181
186
190 bool parse(const ByteVector &rawData);
191
192 private:
193 Picture(const Picture &item);
194 Picture &operator=(const Picture &item);
195
196 class PicturePrivate;
197 PicturePrivate *d;
198 };
199
201 } // namespace FLAC
202} // namespace TagLib
203#endif
A byte vector.
Definition: tbytevector.h:46
Definition: flacmetadatablock.h:36
Definition: flacpicture.h:38
void setColorDepth(int depth)
String mimeType() const
ByteVector data() const
int colorDepth() const
Type
Definition: flacpicture.h:44
ByteVector render() const
void setData(const ByteVector &data)
Picture(const ByteVector &data)
void setNumColors(int numColors)
bool parse(const ByteVector &rawData)
void setType(Type type)
String description() const
void setMimeType(const String &m)
void setDescription(const String &desc)
A generic, implicitly shared list.
Definition: tlist.h:54
A wide string class suitable for unicode.
Definition: tstring.h:85
List< Picture > PictureList
Definition: flacpicture.h:200
A namespace for all TagLib related classes and functions.
Definition: apefile.h:41
#define TAGLIB_EXPORT
Definition: taglib_export.h:40