Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 7994 → Rev 7995

/programs/cmm/TWB/img_cache.h
25,11 → 25,12
int ImageCache::GetImage(dword i_path)
{
int i;
return 0;
for (i=0; i<=pics_count; i++) if (!strcmp(#pics[i].path, i_path)) return i; //image exists
// Load image and add it to Cache
pics_count++;
pics[pics_count].image = load_image(i_path);
strcpy(#pics[pics_count].path, i_path);
//pics[pics_count].image = load_EEERRRR_image(i_path);
//strcpy(#pics[pics_count].path, i_path);
return pics_count;
}
 
/programs/cmm/barscfg/panels_image.raw
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/cmm/barscfg/panels_cfg.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/programs/cmm/barscfg/bars.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/cmm/barscfg/bars.raw
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/cmm/barscfg/barscfg.c
60,7 → 60,7
 
_ini docky_ini = { "/sys/settings/docky.ini", "@" };
 
unsigned char panels_img_data[] = FROM "panels_image.raw";
unsigned char panels_img_data[] = FROM "bars.raw";
#define PIMG_W 37
#define PIMG_H 27 //27*5
 
/programs/cmm/codeview/codeview.c
214,7 → 214,6
address_box.offset = 0;
edit_box_draw stdcall(#address_box);
skin_x_offset = 51;
img_draw stdcall(skin.image, address_box.left+address_box.width+1, address_box.top-3, 17, skin.h, skin_x_offset, SKIN_Y);
}
 
void LoadInternalPage(dword _bufpos, _bufsize)
/programs/cmm/iconedit/colors_mas.h
165,12 → 165,16
void _image::set_image(dword _inbuf)
{
dword i;
for (i = 0; i < columns*rows-1; i++;)
for (i = 0; i < columns*rows; i++;)
{
// mas[i] = ESDWORD[i*4+_inbuf] & 0x00FFFFFF; //for x32 bit color
if (i == MAX_CELL_SIZE*MAX_CELL_SIZE-1) {
mas[i] = 0;
} else {
mas[i] = ESDWORD[i*3+_inbuf] & 0xFFFFFF;
}
}
}
 
dword _image::get_image()
{
/programs/cmm/iconedit/iconedit.c
17,7 → 17,6
#include "../lib/obj/box_lib.h"
 
#include "../lib/patterns/rgb.h"
#include "../lib/patterns/libimg_load_skin.h"
 
#include "colors_mas.h"
 
196,7 → 195,8
}
else
{
open_image.load_as24b(#param);
open_image.load(#param);
open_image.convert_into(IMAGE_BPP24);
 
if (open_image.w*open_image.h>MAX_CELL_SIZE*MAX_CELL_SIZE) {
notify(T_ERROR_IMA_ICONEDIT);
/programs/cmm/lib/obj/libimg.h
66,37 → 66,92
#define LIBIMG_FORMAT_XBM 13
#define LIBIMG_FORMAT_Z80 14
 
struct _Image
{
dword Checksum; // ((Width ROL 16) OR Height) XOR Data[0] ; ignored so far
dword Width;
dword Height;
dword Next;
dword Previous;
dword Type; // one of Image.bppN
dword Data;
dword Palette; // used iff Type eq Image.bpp1, Image.bpp2, Image.bpp4 or Image.bpp8i
dword Extended;
dword Flags; // bitfield
dword Delay; // used iff Image.IsAnimated is set in Flags
};
 
// values for Image.Type
// must be consecutive to allow fast switch on Image.Type in support functions
#define Image_bpp8i 1 // indexed
#define Image_bpp24 2
#define Image_bpp32 3
#define Image_bpp15 4
#define Image_bpp16 5
#define Image_bpp1 6
#define Image_bpp8g 7 // grayscale
#define Image_bpp2i 8
#define Image_bpp4i 9
#define Image_bpp8a 10 // grayscale with alpha channel; application layer only!!!
#define IMAGE_BPP8i 1 // indexed
#define IMAGE_BPP24 2
#define IMAGE_BPP32 3
#define IMAGE_BPP15 4
#define IMAGE_BPP16 5
#define IMAGE_BPP1 6
#define IMAGE_BPP8g 7 // grayscale
#define IMAGE_BPP2i 8
#define IMAGE_BPP4i 9
#define IMAGE_BPP8a 10 // grayscale with alpha channel; application layer only!!!
// kernel doesn't handle this image type,
// libimg can only create and destroy such images
 
struct libimg_image
{
dword checksum; // ((Width ROL 16) OR Height) XOR Data[0] ; ignored so far
dword w;
dword h;
dword next;
dword previous;
dword type; // one of Image.bppN
dword imgsrc;
dword palette; // used iff Type eq Image.bpp1, Image.bpp2, Image.bpp4 or Image.bpp8i
dword extended;
dword flags; // bitfield
dword delay; // used iff Image.IsAnimated is set in Flags
dword image;
void load();
void convert_into();
void replace_color();
void set_vars();
void draw();
};
 
:void libimg_image::set_vars()
{
$push edi
EDI = image;
checksum = DSWORD[EDI];
w = ESDWORD[EDI+4];
h = ESDWORD[EDI+8];
next = ESDWORD[EDI+12];
previous = ESDWORD[EDI+16];
imgsrc = ESDWORD[EDI+24];
palette = ESDWORD[EDI+28];
extended = ESDWORD[EDI+32];
flags = ESDWORD[EDI+36];
delay = ESDWORD[EDI+40];
$pop edi
}
 
:void libimg_image::load(dword file_path)
{
load_image(file_path);
if (!EAX) {
notify("'Error: Image not loaded'E");
} else {
image = EAX;
set_vars();
}
}
 
:void libimg_image::replace_color(dword old_color, new_color)
{
EDX = w * h * 4 + imgsrc;
for (ESI = imgsrc; ESI < EDX; ESI += 4) if (DSDWORD[ESI]==old_color) DSDWORD[ESI] = new_color;
}
 
:void libimg_image::draw(dword _x, _y, _w, _h, _xoff, _yoff)
{
if (image) img_draw stdcall(image, _x, _y, _w, _h, _xoff, _yoff);
}
 
:void libimg_image::convert_into(dword _to)
{
img_convert stdcall(image, 0, _to, 0, 0);
if (!EAX) {
notify("'LibImg convertation error!'E");
} else {
image = EAX;
set_vars();
}
}
 
:dword load_image(dword filename)
{
//align 4
185,18 → 240,6
return EAX;
}
 
:void DrawLibImage(dword image_pointer,x,y,w,h,offx,offy) {
img_draw stdcall (
image_pointer,
x,
y,
w,
h,
offx,
offy
);
}
 
//NOTICE: DO NOT FORGET TO INIT libio AND libimg!!!
#ifdef LANG_RUS
#define TEXT_FILE_SAVED_AS "'” ©« á®åà ­¥­ ª ª "
210,7 → 253,7
dword encoded_size=0;
dword image_ptr = 0;
image_ptr = create_image(Image_bpp24, _w, _h);
image_ptr = create_image(IMAGE_BPP24, _w, _h);
 
if (image_ptr == 0) {
notify("'Error saving file, probably not enought memory!' -E");
217,7 → 260,7
}
else {
EDI = image_ptr;
memmov(EDI._Image.Data, _image_pointer, _w * _h * 3);
memmov(EDI.libimg_image.imgsrc, _image_pointer, _w * _h * 3);
 
encoded_data = encode_image(image_ptr, LIBIMG_FORMAT_PNG, 0, #encoded_size);
 
240,16 → 283,37
}
}
 
:dword convert_image(dword _image_pointer, _w, _h, _path)
{
img_convert stdcall(_image_pointer, 0, Image_bpp32, 0, 0);
if (EAX!=0)
mov [image_converted], eax
 
 
/////////////////////////////
/*
// DRAW ICON PATTERN / TEMP
*/
/////////////////////////////
 
:void DrawIcon32(dword x,y, _bg, icon_n) {
static libimg_image i32;
static dword bg;
//load_dll(libimg, #libimg_init,1);
if (!i32.image) || (bg!=_bg) {
bg = _bg;
i32.load("/sys/icons32.png");
i32.replace_color(0x00000000, bg);
debugln("wolo");
}
if (icon_n>=0) i32.draw(x, y, 32, 32, 0, icon_n*32);
}
 
#ifndef INCLUDE_LIBIMG_LOAD_SKIN_H
#include "../lib/patterns/libimg_load_skin.h"
#endif
:void DrawIcon16(dword x,y, bg, icon_n) {
static libimg_image i16;
//load_dll(libimg, #libimg_init,1);
if (!i16.image) {
i16.load("/sys/icons16.png");
i16.replace_color(0xffFFFfff, bg);
i16.replace_color(0xffCACBD6, MixColors(bg, 0, 220));
}
if (icon_n>=0) i16.draw(x, y, 16, 16, 0, icon_n*16);
}
 
 
#endif
/programs/cmm/misc/mblocks.c
42,7 → 42,6
dword firstbit, secondbit;
int count;
 
 
void main()
{
dword id;
49,15 → 48,12
load_dll(libio, #libio_init,1);
load_dll(libimg, #libimg_init,1);
 
skin.load("/sys/icons32.png");
skin.replace_color(0x00000000, 0xFFFfff);
 
NewGame();
 
loop() switch(@WaitEvent())
{
case evKey:
if (@GetKeyScancode()==SCAN_CODE_F2) NewGame();
//if (@GetKeyScancode()==SCAN_CODE_F2) NewGame();
break;
case evButton:
80,26 → 76,18
ReDraw_Game_Button(secondbit);
secondbit = 0x0BAD;
firstbit = id;
bitstat[id] = BTN_PRESSED;
ReDraw_Game_Button(id);
count++;
}
else if (firstbit != id)
{
} else if (firstbit != id) {
secondbit = id;
bitstat[id] = BTN_PRESSED;
ReDraw_Game_Button(id);
count++;
}
}
else
{
} else {
firstbit = id;
bitstat[id] = BTN_PRESSED;
ReDraw_Game_Button(id);
count++;
}
}
bitstat[id] = BTN_PRESSED;
ReDraw_Game_Button(id);
Draw_Count();
}
break;
161,16 → 149,15
case BTN_CLOSED:
DrawRectangle3D(xx + 1, yy + 1, CELL_SIZE-2, CELL_SIZE-2, 0xFFFFFF, 0xDEDEDE);//bump
DrawBar(xx + 2, yy + 2, CELL_SIZE-3, CELL_SIZE-3, 0xBDC7D6);//background
break;
return;
case BTN_PRESSED:
DrawWideRectangle(xx + 1, yy + 1, CELL_SIZE-1, CELL_SIZE-1, 2, 0x94DB00);//border green
DrawBar(xx + 3, yy + 3, CELL_SIZE-5, CELL_SIZE-5, 0xFFFfff);//background
img_draw stdcall(skin.image, xx+6, yy+6, 32, 32, 0, bitpict[id]*32);
BREAK;
case BTN_OPEN:
DrawBar(xx+1, yy+1, CELL_SIZE-1, CELL_SIZE-1, 0xFFFfff);//background
img_draw stdcall(skin.image, xx+6, yy+6, 32, 32, 0, bitpict[id]*32);
}
DrawIcon32(xx+6, yy+6, 0xFFFfff, bitpict[id]);
}
 
void Draw_Panel()
/programs/cmm/misc/software_widget.c
87,10 → 87,10
small_screen = true;
}
 
loop() switch(WaitEvent())
loop() switch(@WaitEvent())
{
case evKey:
GetKeys();
key_scancode = @GetKeyScancode();
if (SCAN_CODE_LEFT == key_scancode) key_scancode = SCAN_CODE_UP;
if (SCAN_CODE_RIGHT == key_scancode) key_scancode = SCAN_CODE_DOWN;
if (list.ProcessKey(key_scancode)) DrawSelection();
98,7 → 98,7
break;
 
case evButton:
id=GetButtonID();
id = @GetButtonID();
if (id==1) ExitProcess();
if (id>=100) EventIconClick(id-100);
break;
144,18 → 144,8
swc.dark = 0xDCDCDC;
swc.light = 0xFCFCFC;
}
 
if (!skin.image) LoadImages();
else if (swc.list_bg != old_list_bg_color) LoadImages();
}
 
void LoadImages()
{
skin.load("/sys/icons32.png");
skin.replace_color(0x00000000, swc.list_bg);
}
 
 
void DrawList() {
list.count = 0;
row = -1;
198,17 → 188,14
text_y = list.item_h - 40 / 2;
if (!strchr(key_name, ' ')) {//|| (kfont.getsize(key_name)+30<list.item_w) <== too slow
kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos, list.item_w,0, swc.list_bg, swc.text, 12, key_name);
//WriteTextCenter(text_x, row*list.item_h+46 + list_pos+3, list.item_w, swc.text, key_name);
} else {
space_pos = strrchr(key_name, ' ');
ESBYTE[key_name+space_pos-1] = '\0';
kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos - 2, list.item_w,0, swc.list_bg, swc.text, 12, key_name);
kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos + 13, list.item_w,0, swc.list_bg, swc.text, 12, key_name+space_pos);
//WriteTextCenter(text_x, row*list.item_h+46 + list_pos, list.item_w, swc.text, key_name);
//WriteTextCenter(text_x, row*list.item_h+46 + list_pos + 10, list.item_w, swc.text, key_name+space_pos);
}
if (icon_char_pos) icon_id = atoi(icon_char_pos+1);
img_draw stdcall(skin.image, icon_x, icon_y, 32, 32, 0, icon_id*32);
if (Form.cwidth) DrawIcon32(icon_x, icon_y, swc.list_bg, icon_id);
list.count++;
col++;
return true;
215,18 → 202,15
}
 
 
int old_row; //to detect empty sections
byte process_sections(dword sec_name, f_name)
{
static int old_row; //to detect empty sections
int text_len;
if (!strcmp(sec_name, "Config")) return true;
 
if ((col==0) && (row==old_row))
{
if ((col==0) && (row==old_row)) {
list_pos -= 28;
}
else
{
} else {
row++;
}
col = 0;
253,7 → 237,7
 
void EventIconClick(dword appid)
{
char run_app_path[4096]=0;
char run_app_path[4096];
dword app_path = app_path_collection.get(appid);
dword param_pos = strchr(app_path, '|');
if (param_pos) {
/programs/cmm/pixie2/pixie.c
96,6 → 96,8
PLAYBACK_MODE_PLAYING
};
 
libimg_image skin;
 
#define LAST_FOLDER_EXISTS 1
 
//===================================================//
127,11 → 129,9
if (work_folder) param=LAST_FOLDER_EXISTS;
}
kfont.init(DEFAULT_FONT);
SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
loop()
@SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER);
loop() switch(@WaitEventTimeout(10))
{
WaitEventTimeout(10);
switch(EAX & 0xFF) {
case evMouse:
mouse.get();
scrollbar_v_mouse (#scroll1);
153,7 → 153,7
if (mouse.down) && (mouse.y>skin_height) && (mouse.key&MOUSE_RIGHT) EventShowAbout();
break;
case evButton:
switch(GetButtonID()) {
switch(@GetButtonID()) {
case BUTTON_WINDOW_CLOSE: EventExitApp(); break;
case BUTTON_WINDOW_MINIMIZE: MinimizeWindow(); break;
case BUTTON_WINDOW_REDUCE: EventChangeWindowMode(); break;
206,7 → 206,6
EventCheckSongFinished();
}
}
}
 
 
void DrawPlayList()
341,27 → 340,22
 
void DrawAboutWindow()
{
proc_info pop_up;
loop() switch(WaitEvent())
#define ABOUT_W 400
#define ABOUT_H 410
loop() switch(@WaitEvent())
{
case evButton:
ExitProcess();
break;
case evKey:
GetKeys();
if (key_scancode == SCAN_CODE_ESC) ExitProcess();
break;
case evButton: ExitProcess(); break;
case evKey: if (GetKeyScancode() == SCAN_CODE_ESC) ExitProcess(); break;
case evReDraw:
DefineDragableWindow(150, 200, 400, 400);
GetProcessInfo(#pop_up, SelfInfo);
DefineDragableWindow(150, 200, ABOUT_W, ABOUT_H);
 
DrawBar(0, 0, pop_up.width, pop_up.height, theme.color_top_panel_bg);
DrawRectangle(0, 0, pop_up.width, pop_up.height, theme.color_list_border);
DrawBar(0, 0, ABOUT_W, ABOUT_H, theme.color_top_panel_bg);
DrawRectangle(0, 0, ABOUT_W, ABOUT_H, theme.color_list_border);
 
DefineHiddenButton(pop_up.width - 27, 1, 26, 15, BUTTON_WINDOW_CLOSE);
//img_draw stdcall(skin.image, pop_up.width-28, 0, 28, 18, skin.w - 29, 0);
DrawCaptButton(pop_up.width-10-80, pop_up.height - 34, 80, 24, 2,
0x171717, 0xF5EFB3, "Cool");
//DefineHiddenButton(ABOUT_W - 27, 1, 26, 15, BUTTON_WINDOW_CLOSE);
//skin.draw(ABOUT_W-28, 0, 28, 18, skin.w - 29, 0);
DrawCaptButton(ABOUT_W-10-80, ABOUT_H - 34, 80, 24, 2,
theme.color_top_panel_bg, 0xF5EFB3, "Cool");
WriteText(131,16, 0x81, 0x8E7C61, "Pixie Player");
WriteText(130,15, 0x81, 0xF5EFB3, "Pixie Player");
368,8 → 362,7
 
WriteTextLines(10, 40, 0x90, theme.color_top_panel_song_name, ABOUT_MESSAGE, 19);
DrawIcon32(45, 15, theme.color_top_panel_bg, 65);
DrawIcon32(pop_up.width-32-45, 15, theme.color_top_panel_bg, 65);
 
DrawIcon32(ABOUT_W-32-45, 15, theme.color_top_panel_bg, 65);
}
}
 
/programs/cmm/taskbar2/compile.bat
File deleted
\ No newline at end of file
/programs/cmm/taskbar2/build.bat
0,0 → 1,5
C-- taskbar2.c
@del @taskbar
@rename taskbar2.com @taskbar
@del warning.txt
@pause
/programs/cmm/taskbar2/taskbar2.c
1,4 → 1,4
#define MEMSIZE 4096*20
#define MEMSIZE 1024*80
 
//===================================================//
// //
30,6 → 30,8
 
llist list;
 
_ini ini = { "/sys/settings/appicons.ini", "icons"};
 
proc_info Form;
proc_info Process;
 
64,9 → 66,6
load_dll(libimg, #libimg_init,1);
load_dll(libini, #lib_init,1);
 
skin.load("/sys/icons32.png");
skin.replace_color(0x00000000, COLOR_BG);
 
ini_get_int stdcall ("/sys/appicons.ini", "taskbar", "attachement", ATTACHEMENT_BOTTOM);
attachement = EAX;
 
76,11 → 75,8
GetProcessInfo(#Form, SelfInfo);
SetWindowLayerBehaviour(-1, ZPOS_DESKTOP);
SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER);
loop()
loop() switch(@WaitEventTimeout(50))
{
WaitEventTimeout(50);
switch(EAX & 0xFF)
{
case evMouse:
if (!CheckActiveProcess(Form.ID)) break;
mouse.get();
95,7 → 91,7
}
break;
case evButton:
btn = GetButtonID();
btn = @GetButtonID();
btn -= 100;
if (btn < attached.count) RunProgram(attached.get(btn), NULL);
else EventSetActiveProcess(btn);
107,7 → 103,6
DrawProcessList();
}
}
}
 
 
void GetProcessList()
158,19 → 153,12
{
if (proc_list[i+list.first]==0) {
status_color = COLOR_BG;
ini_get_int stdcall (
"/sys/appicons.ini",
"icons",
attached.get(i+list.first)+strrchr(attached.get(i+list.first),'/'),
0
);
icon_n = EAX;
icon_n = ini.GetInt(attached.get(i+list.first)+strrchr(attached.get(i+list.first),'/'), 2);
}
else {
GetProcessInfo(#Process, proc_list[i+list.first]);
strlwr(#Process.name);
ini_get_int stdcall ("/sys/appicons.ini", "icons", #Process.name, 0);
icon_n = EAX;
icon_n = ini.GetInt(#Process.name, 2);
if (CheckActiveProcess(Process.ID)) && (Process.status_window!=2) {
current_process_id = Process.ID;
status_color = COLOR_ACTIVE;
181,7 → 169,7
}
DrawWideRectangle(posx, posy, 40, 40, CELL_PADDING, COLOR_BG);
DefineButton(posx, posy, CELLW-1, CELLH, 100+i+BT_HIDE+BT_NOFRAME, NULL);
img_draw stdcall(skin.image, posx+CELL_PADDING, posy+CELL_PADDING, 32, 32, 0, 32*icon_n);
DrawIcon32(posx+CELL_PADDING, posy+CELL_PADDING, COLOR_BG, icon_n);
 
if (ATTACHEMENT_BOTTOM==attachement) DrawBar(posx, posy+CELLH-ACTIVE_SIZE, CELLW, ACTIVE_SIZE, status_color);
if (ATTACHEMENT_LEFT ==attachement) DrawBar(posx, posy, ACTIVE_SIZE, CELLH, status_color);
231,7 → 219,7
void GetAttachedItems()
{
attached.drop();
ini_enum_keys stdcall ("/sys/appicons.ini", "attached", #draw_icons_from_section);
ini_enum_keys stdcall ("/sys/settings/appicons.ini", "attached", #draw_icons_from_section);
}
//===================================================//
// //
/programs/cmm/the_bus/the_bus.c
112,12 → 112,12
}
DrawBar(x, y-don_step_y, don_w, don_step_y, COLOR_ROAD);
if (y>0) && (y<don_step_y) DrawBar(x, 0, don_w, y, COLOR_ROAD);
if (image_h>0) DrawLibImage(objects.image, x, y, don_w, image_h, 0, don_offset_y);
if (image_h>0) objects.draw(x, y, don_w, image_h, 0, don_offset_y);
}
void DrawBus(dword x, y) { DrawLibImage(objects.image, x, y, bus_w, bus_h, 0, 444); }
void DrawBoom(dword x, y) { DrawLibImage(objects.image, x, y, 78, 66, 0, 536); }
void DrawHighway() { DrawLibImage(road.image, 0,0, WIN_X, WIN_Y, 0, 0); }
void DrawMenuBackground() { DrawLibImage(menu.image, 0, 0, WIN_X, WIN_Y, 0, 0); }
void DrawBus(dword x, y) { objects.draw(x, y, bus_w, bus_h, 0, 444); }
void DrawBoom(dword x, y) { objects.draw(x, y, 78, 66, 0, 536); }
void DrawHighway() { road.draw(0,0, WIN_X, WIN_Y, 0, 0); }
void DrawMenuBackground() { menu.draw(0, 0, WIN_X, WIN_Y, 0, 0); }
 
void main()
{
252,7 → 252,7
}
 
void WriteScore() {
DrawLibImage(road.image, 20, 166, 120, 24, 20, 164);
road.draw(20, 166, 120, 24, 20, 164);
WriteText(20, 140, 0x81, 0xFFFFFF, SCORE_TEXT);
WriteText(20, 166, 0x81, 0xFFFFFF, itoa(score));
}