summaryrefslogtreecommitdiffstats
path: root/tools/aapt/Images.h
blob: 3230ddcd80f2d1a4fb9e41566a72cb5b993408cf (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
31
32
33
34
35
36
37
38
39
40
41
42
//
// Copyright 2006 The Android Open Source Project
//
// Build resource files from raw assets.
//

#ifndef IMAGES_H
#define IMAGES_H

#include "ResourceTable.h"
#include "Bundle.h"

#include <png.h>

#include <utils/String8.h>
#include <utils/RefBase.h>

using android::String8;

status_t preProcessImage(const Bundle* bundle, const sp<AaptAssets>& assets,
                         const sp<AaptFile>& file, String8* outNewLeafName);

status_t preProcessImageToCache(const Bundle* bundle, const String8& source, const String8& dest);

status_t postProcessImage(const Bundle* bundle, const sp<AaptAssets>& assets,
                          ResourceTable* table, const sp<AaptFile>& file);

class PngMemoryFile {
public:
    PngMemoryFile(void)
      : mData(NULL), mDataSize(0), mIndex(0)
      {}
    void setDataSource(const char* data, uint32_t size) { mData = data; mDataSize = size; mIndex = 0; }
    status_t read(png_bytep data, png_size_t length);

private:
    const char* mData;
    uint32_t mDataSize;
    uint32_t mIndex;
};

#endif