Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 7228 → Rev 7229

/programs/cmm/lib/obj/libimg.h
18,8 → 18,6
#include "../lib/obj/libio.h"
#endif
 
:byte init_imglib_check;
 
//library
dword libimg = #alibimg;
char alibimg[21] = "/sys/lib/libimg.obj\0";
229,5 → 227,9
}
}
 
#ifndef INCLUDE_LIBIMG_LOAD_SKIN_H
#include "../lib/patterns/libimg_load_skin.h"
#endif
 
 
#endif
/programs/cmm/lib/patterns/libimg_load_skin.h
20,20 → 20,27
ESDWORD[struct_pointer+12] = ESDWORD[image_pointer+24];
}
 
:void Libimg_FillTransparent(dword struct_pointer, w, h, new_transparent_color)
:void Libimg_ReplaceColor(dword struct_pointer, w, h, old_color, new_color)
{
dword i, max_i, image_data;
image_data = ESDWORD[struct_pointer + 24];
max_i = w * h * 4 + image_data;
for (i = image_data; i < max_i; i += 4) if (DSDWORD[i]==0) DSDWORD[i] = new_transparent_color;
for (i = image_data; i < max_i; i += 4) if (DSDWORD[i]==old_color) DSDWORD[i] = new_color;
}
 
:void Libimg_ReplaceColor(dword struct_pointer, w, h, old_color, new_color)
:void Libimg_FillTransparent(dword struct_pointer, w, h, new_color)
{
dword i, max_i, image_data;
image_data = ESDWORD[struct_pointer + 24];
max_i = w * h * 4 + image_data;
for (i = image_data; i < max_i; i += 4) if (DSDWORD[i]==old_color) DSDWORD[i] = new_color;
Libimg_ReplaceColor(struct_pointer, w, h, 0, new_color);
}
 
:libimg_image icons32draw;
:void DrawIcon32(dword x,y, bg, icon_n) {
//load_dll(libimg, #libimg_init,1);
if (!icons32draw.image) {
Libimg_LoadImage(#icons32draw, "/sys/icons32.png");
Libimg_FillTransparent(icons32draw.image, icons32draw.w, icons32draw.h, bg);
}
if (icon_n>=0) img_draw stdcall(icons32draw.image, x, y, 32, 32, 0, icon_n*32);
}
 
#endif