Subversion Repositories Kolibri OS

Rev

Rev 7049 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5598 pavelyakov 1
#ifndef INCLUDE_LIBIMG_LOAD_SKIN_H
2
#define INCLUDE_LIBIMG_LOAD_SKIN_H
3
 
4
#ifndef INCLUDE_LIBIMG_H
7049 leency 5
#include "../lib/obj/libimg.h"
5598 pavelyakov 6
#endif
7
 
5773 leency 8
:struct libimg_image {
5408 leency 9
	dword image, w, h;
5773 leency 10
} skin;
5408 leency 11
 
5409 leency 12
:void Libimg_LoadImage(dword struct_pointer, file_path)
5408 leency 13
{
5409 leency 14
	dword image_pointer;
5408 leency 15
	image_pointer = load_image(file_path);
5421 leency 16
	if (!image_pointer) notify("'Error: Image not loaded' -E");
5408 leency 17
	ESDWORD[struct_pointer] = image_pointer;
18
	ESDWORD[struct_pointer+4] = DSWORD[image_pointer+4];
19
	ESDWORD[struct_pointer+8] = DSWORD[image_pointer+8];
5409 leency 20
}
21
 
22
:void Libimg_FillTransparent(dword struct_pointer, w, h, new_transparent_color)
23
{
24
	dword i, max_i, image_data;
25
	image_data = ESDWORD[struct_pointer + 24];
26
	max_i =  w * h * 4 + image_data;
27
	for (i = image_data; i < max_i; i += 4)	if (DSDWORD[i]==0) DSDWORD[i] = new_transparent_color;
5598 pavelyakov 28
}
29
 
7054 leency 30
:void Libimg_ReplaceColor(dword struct_pointer, w, h, old_color, new_color)
31
{
32
	dword i, max_i, image_data;
33
	image_data = ESDWORD[struct_pointer + 24];
34
	max_i =  w * h * 4 + image_data;
35
	for (i = image_data; i < max_i; i += 4)	if (DSDWORD[i]==old_color) DSDWORD[i] = new_color;
36
}
37
 
5598 pavelyakov 38
#endif