/data/common/icons16.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/data/common/settings/system.ini |
---|
17,7 → 17,7 |
[screensaver] |
timeout=10 ;in minutes |
program=/sys/demos/spiral |
available=3d/crownscr;demos/web;demos/zeroline;demos/spiral |
available=3d/crownscr|demos/web|demos/zeroline|demos/spiral |
[style] |
buttons_gradient=1 |
/data/eng/settings/menu.dat |
---|
22,17 → 22,17 |
16 Spiral |demos/spiral |
16 Moveback |demos/movback |
16 TranTest |demos/trantest |
16 WEB |demos/web |
16 Web |demos/web |
16 FireWork |demos/firework |
16 UnvWater |demos/unvwater |
#2 **** 3D |
15 ScreenSaver |3d/crownscr |
15 3D-labyrinth |3d/free3d04 |
15 3D-cube |3d/3dcube2 |
15 Crown Screensaver |3d/crownscr |
15 Labyrinth |3d/free3d04 |
15 Cube |3d/3dcube2 |
15 Ray tracing |3d/ray |
15 View3DS |3d/view3ds |
15 Gears |3d/gears |
15 3D-waved area |3d/3dwav |
15 Waved area |3d/3dwav |
#3 **** GRAPHICS |
06 Kolibri Image Viewer |media/kiv |
06 zSea Image Viewer * |/kolibrios/media/zsea/zsea |
/programs/cmm/lib/obj/libimg.h |
---|
173,12 → 173,12 |
:void libimg_image::convert_into(dword _to) |
{ |
img_convert stdcall(image, 0, _to, 0, 0); |
if (!EAX) { |
notify("'LibImg convertation error!'E"); |
} else { |
$push eax |
img_destroy stdcall(image); |
$pop eax |
if (!EAX) { |
notify("'LibImg convertation error!'E"); |
} else { |
image = EAX; |
set_vars(); |
} |
230,52 → 230,4 |
} |
} |
///////////////////////////// |
/* |
// DRAW ICON PATTERN / TEMP |
*/ |
///////////////////////////// |
:void DrawIcon32(dword x,y, _bg, icon_n) { |
static dword bg; |
static dword pure_img32; |
if (!pure_img32) || (bg!=_bg) { |
bg = _bg; |
if (pure_img32) img_destroy stdcall(pure_img32); |
img_from_file stdcall("/sys/icons32.png"); |
pure_img32 = EAX; |
//now fill transparent with another color |
EDX = ESDWORD[EAX+4] * ESDWORD[EAX+8] * 4 + ESDWORD[EAX+24]; |
for (ESI = ESDWORD[EAX+24]; ESI < EDX; ESI += 4) { |
if (DSDWORD[ESI]==0x00000000) DSDWORD[ESI] = bg; |
} |
} |
img_draw stdcall(pure_img32, x, y, 32, 32, 0, icon_n*32); |
} |
:int DrawIcon16(dword x,y, _bg, icon_n) { |
static dword bg; |
static dword pure_img16; |
dword bgshadow; |
int size; |
if (!pure_img16) || (bg!=_bg) { |
bg = _bg; |
bgshadow = MixColors(bg, 0, 220); |
if (pure_img16) img_destroy stdcall(pure_img16); |
img_from_file stdcall("/sys/icons16.png"); |
pure_img16 = EAX; |
//now fill transparent with another color |
EDX = ESDWORD[EAX+4] * ESDWORD[EAX+8] * 4 + ESDWORD[EAX+24]; |
for (ESI = ESDWORD[EAX+24]; ESI < EDX; ESI += 4) { |
if (DSDWORD[ESI]==0xffFFFfff) DSDWORD[ESI] = bg; |
if (DSDWORD[ESI]==0xffCACBD6) DSDWORD[ESI] = bgshadow; |
} |
} |
size = ESDWORD[pure_img16+4]; //get image width |
img_draw stdcall(pure_img16, x, y, size, size, 0, icon_n*size); |
return size; |
} |
#endif |
/programs/demos/view3ds/data.inc |
---|
80,7 → 80,7 |
menu: |
db 2 ; button number = index |
db 'rotary ' ; label |
db 3 ; max flag + 1 , if = 255, no flag |
db 4 ; max flag + 1 , if = 255, no flag |
r_flag db 1 ; flag |
dd axl_f ; offset to flags description |
289,6 → 289,7 |
db ' y ' |
db 'x+y ' |
db ' x ' |
db 'keys' |
onoff_f: |
db 'off ' |
db 'on ' |
353,7 → 354,7 |
if Ext=SSE3 |
db ' (SSE3)' |
end if |
db ' 0.074',0 |
db ' 0.075',0 |
labellen: |
STRdata db '-1 ' |
lab_vert: |
/programs/demos/view3ds/view3ds.asm |
---|
1,5 → 1,5 |
; application : View3ds ver. 0.074 - tiny .3ds and .asc files viewer |
; application : View3ds ver. 0.075 - tiny .3ds and .asc files viewer |
; with a few graphics effects demonstration. |
; compiler : FASM |
; system : KolibriOS |
18,6 → 18,7 |
; 1) Read from a file (*.3DS standard) |
; 2) Written in manually (at the end of the code) ; now not exist |
format binary as "" |
SIZE_X equ 512 |
SIZE_Y equ 512 ; ///// I want definitely |
163,11 → 164,8 |
je key |
cmp eax,3 ; button event ? |
je button |
cmp eax,6 ; mouse event ? |
jne @f |
cmp [edit_flag],1 ; handle mouse only when edit is active |
jne @f |
mov esi,eax |
mov eax,37 |
mov ebx,7 ; get mouse scroll |
int 0x40 |
176,7 → 174,12 |
je button.zoom_in |
cmp eax, 1 |
je button.zoom_out |
mov eax,esi |
cmp eax,6 ; mouse event ? |
jne @f |
cmp [edit_flag],1 ; handle mouse only when edit is active |
jne @f |
mov eax,37 |
mov ebx,3 ;read mouse state |
int 0x40 |
214,24 → 217,54 |
key: ; key |
mov eax,2 ; just read it and ignore |
int 0x40 |
shr eax,16 ; use scancodes (al) |
cmp ah, '+' |
cmp al, 013 ;+ |
je button.zoom_in |
cmp ah, '=' |
je button.zoom_in |
cmp ah, '-' |
cmp al, 012 ;- |
je button.zoom_out |
cmp ah, 176 ;left |
cmp al, 075 ;left |
je add_vec_buttons.x_minus |
cmp ah, 179 ;right |
cmp al, 077 ;right |
je add_vec_buttons.x_plus |
cmp ah, 178 ;up |
cmp al, 072 ;up |
je add_vec_buttons.y_minus |
cmp ah, 177 ;down |
cmp al, 080 ;down |
je add_vec_buttons.y_plus |
cmp al, 073 ;page up |
je .rot_inc_y |
cmp al, 081 ;page down |
je .rot_dec_y |
cmp al, 051 ;< |
je .rot_dec_x |
cmp al, 052 ;> |
je .rot_inc_x |
cmp al, 057 ;space |
je .rot_z |
jmp noclose |
.rot_inc_x: |
inc [angle_x] |
and [angle_x],0xff |
jmp noclose.end_rot |
.rot_dec_x: |
dec [angle_x] |
and [angle_x],0xff |
jmp noclose.end_rot |
.rot_inc_y: |
inc [angle_y] |
and [angle_y],0xff |
jmp noclose.end_rot |
.rot_dec_y: |
dec [angle_y] |
and [angle_y],0xff |
jmp noclose.end_rot |
.rot_z: |
inc [angle_z] |
and [angle_z],0xff |
jmp noclose.end_rot |
button: ; button |
mov eax,17 ; get id |
int 0x40 |
303,6 → 336,7 |
.next_m4: |
cmp ah,14 |
jne @f |
.xchg: |
call exchange |
@@: |
cmp ah,15 |
486,7 → 520,7 |
jne .no_x |
inc [angle_x] |
and [angle_x],0xff |
mov [angle_z],0 |
;mov [angle_z],0 |
jmp .end_rot |
.no_x: |
494,7 → 528,7 |
jne .no_y |
inc [angle_y] |
and [angle_y],0xff |
mov [angle_z],0 |
;mov [angle_z],0 |
jmp .end_rot |
.no_y: |
503,7 → 537,7 |
mov cx,[angle_x] |
inc cx |
and cx,0xff |
mov [angle_z],0 |
;mov [angle_z],0 |
mov [angle_y],cx |
mov [angle_x],cx |
.end_rot: |