aboutsummaryrefslogtreecommitdiffhomepage
path: root/libs/graphics/animator/SkBase64.h
blob: 4132dd3d20c131315cd09b36cae83148a312a9e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef SkBase64_DEFINED
#define SkBase64_DEFINED

#include "SkTypes.h"

struct SkBase64 {
public:
	enum Error {
		kNoError,
		kPadError,
		kBadCharError
	};

	SkBase64();
	Error decode(const char* src, size_t length);
	char* getData() { return fData; }
	static size_t Encode(const void* src, size_t length, void* dest);

#ifdef SK_SUPPORT_UNITTEST
	static void UnitTest();
#endif
private:
	Error decode(const void* srcPtr, size_t length, bool writeDestination);

	size_t fLength;
	char* fData;
	friend class SkImage;
};

#endif // SkBase64_DEFINED