Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 532 → Rev 547

/programs/media/jpegview/trunk/jpegview.asm
27,6 → 27,8
; 3) use COL0 - COL9 boot parameter
; 0=black,1=white,2=green,3=lilas,4=grey
; 5=light-blue,6=blue,7=salad,8=pink,9=yellow
; version 0.17 17th June 2007
; diamond (background definition now uses shared memory)
memsize=20000h
org 0
33,7 → 35,7
PARAMS = memsize - 1024
 
appname equ 'Jpegview '
version equ '0.16'
version equ '0.17'
 
use32
 
50,6 → 52,7
include '..\..\..\macros.inc'
 
START: ; start of execution
mcall 68,11 ; initialize heap
 
cmp [PARAMS], byte 0
jne check_parameters
233,9 → 236,20
mov edx, [ebp + y_size]
mcall
 
mov dword [ebp+draw_ptr],put_chunk_to_bgr
mov ebx, 6
mcall
test eax, eax
jz .end
mov [ipc_mem_out], eax
 
mov dword [ebp+draw_ptr],put_chunk_to_mem
call jpeg_display
 
mov eax, 15
mov ebx, 7
mov ecx, [ipc_mem_out]
mcall
 
; Stretch the image to fit
mov eax, 15
mov ebx, 4
253,7 → 267,6
;******************************************************************************
 
ipc_service:
mcall 68, 11
mov esi, PARAMS+1
xor eax, eax
xor ecx, ecx
310,11 → 323,12
mcall 68, 12
test eax, eax
jz .end
add eax, 8
mov [ipc_mem_out], eax
mov ebx, [ebp + x_size]
mov [eax], ebx
mov [eax-8], ebx
mov ebx, [ebp + y_size]
mov [eax+4], ebx
mov [eax-4], ebx
 
mov dword [ebp+draw_ptr],put_chunk_to_mem
call jpeg_display
324,6 → 338,7
imul esi, [ebp + y_size]
lea esi, [esi*3+8]
mov edx, [ipc_mem_out]
sub edx, 8
.response:
mov ecx, [ipc_mem]
mov ecx, [ecx+8]
356,41 → 371,6
 
;******************************************************************************
 
put_chunk_to_bgr:
pushad
 
mov [x_pointer], edi
mov esi, ecx
imul esi, 3
mov [x_numofbytes], esi
mov ecx, [ebp + x_size]
imul ecx, ebx
add ecx, eax
imul ecx, 3
mov [x_offset], ecx
mov [x_counter], edx
mov eax, [ebp + x_size]
imul eax, 3
mov [x_numofb2], eax
.new_string:
mov eax, 15
mov ebx, 5
mov ecx, [x_pointer]
mov edx, [x_offset]
mov esi, [x_numofbytes]
mcall
mov eax, [x_numofbytes]
add [x_pointer], eax
mov eax, [x_numofb2]
add [x_offset], eax
dec [x_counter]
jnz .new_string
 
popad
ret
 
;******************************************************************************
 
put_chunk_to_mem:
; in: (eax,ebx) = start coordinates of chunk
; (ecx,edx) = sizes of chunk
400,7 → 380,7
mov edi, ebx
imul edi, [ebp + x_size]
add edi, eax
lea edi, [edi*3+8]
lea edi, [edi*3]
add edi, [ipc_mem_out]
@@:
push ecx edi