summaryrefslogtreecommitdiff
path: root/SDL_Android/LivioSdlUtilities/src/com/livio/sdl/SdlImageItem.java
blob: 516799faf03aa928ead42a218c75d64cb9682eb1 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package com.livio.sdl;

import java.util.Comparator;

import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;

import com.livio.sdl.utils.AndroidUtils;
import com.livio.sdl.utils.SdlUtils;
import com.smartdevicelink.proxy.rpc.Image;
import com.smartdevicelink.proxy.rpc.enums.FileType;
import com.smartdevicelink.proxy.rpc.enums.ImageType;

/**
 * Represents an SDL image object.  This includes the bitmap object itself, 
 * a filename to be used on SDL and an ImageType representing the type of image
 * we're looking at.
 *
 * @author Mike Burke
 *
 */
public class SdlImageItem {
	
	public static class SdlImageItemComparator implements Comparator<SdlImageItem>{
		@Override
		public int compare(SdlImageItem lhs, SdlImageItem rhs) {
			return lhs.getImageName().compareTo(rhs.getImageName());
		}
	}

	private Bitmap bitmap;
	private String imageName;
	private FileType imageType;
	
	public SdlImageItem(Bitmap bitmap, String imageName, FileType imageType) {
		this.bitmap = bitmap;
		this.imageName = imageName;
		this.imageType = imageType;
	}

	public Bitmap getBitmap() {
		return bitmap;
	}

	public String getImageName() {
		return imageName;
	}
	
	public FileType getImageType(){
		return imageType;
	}
	
	public Image toImage(){
		CompressFormat format = SdlUtils.convertImageTypeToCompressFormat(imageType);
		
		Image image = new Image();
		image.setImageType(ImageType.DYNAMIC);
		image.setValue(imageName);
		image.setBulkData(AndroidUtils.bitmapToRawBytes(bitmap, format));
		
		return image;
	}
	
	public static Image toImage(SdlImageItem item){
		return item.toImage();
	}

}