Subversion Repositories Kolibri OS

Rev

Rev 6328 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6328 Rev 6342
Line 13... Line 13...
13
    mcall SF_FILE,file_information
13
    mcall SF_FILE,file_information
14
	or eax,eax
14
	or eax,eax
15
	jnz .end_open
15
	jnz .end_open
Line 16... Line 16...
16
 
16
 
17
    mov ecx,dword[open_b+32] ;+32 qword: размер файла в байтах
17
    mov ecx,dword[open_b+32] ;+32 qword: размер файла в байтах
18
	add ecx,(1200*1000)*3+50*(20*20*3)+500000+16000+0x4000
18
	add ecx,mem_screen+mem_panel_b+mem_flood_f
19
	mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
19
	mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
20
	mov [ScreenPointer],eax
20
	mov [ScreenPointer],eax
21
	add eax,0x10000
21
	add eax,mem_screen+mem_panel_b
22
	sub ecx,(1200*1000)*3+50*(20*20*3)+500000+16000+0x4000
22
	sub ecx,mem_screen+mem_panel_b+mem_flood_f
23
	mov [file_information.Function], SSF_READ_FILE
23
	mov [file_information.Function], SSF_READ_FILE
24
	mov [file_information.Position], 0
24
	mov [file_information.Position], 0
25
	mov [file_information.Flags], 0
25
	mov [file_information.Flags], 0
26
	mov [file_information.Count], ecx
26
	mov [file_information.Count], ecx
Line 30... Line 30...
30
	mcall SF_FILE,file_information ;загружаем файл изображения
30
	mcall SF_FILE,file_information ;загружаем файл изображения
31
	cmp ebx,0xffffffff
31
	cmp ebx,0xffffffff
32
	je .end_open
32
	je .end_open
33
		;определяем вид изображения и пишем его параметры
33
		;определяем вид изображения и пишем его параметры
34
		mov eax,[ScreenPointer]
34
		mov eax,[ScreenPointer]
35
		add eax,0x10000
35
		add eax,mem_screen+mem_panel_b
36
		stdcall [img_decode], eax,ebx,0
36
		stdcall [img_decode], eax,ebx,0
37
		push eax
37
		push eax
38
		;определяем размер декодированного изображения
38
		;определяем размер декодированного изображения
39
		mov ecx,[eax+4] ;+4 = image width
39
		mov ecx,[eax+4] ;+4 = image width
40
		mov dword[Picture_SizeX],ecx
40
		mov dword[Picture_SizeX],ecx
41
		mov eax,[eax+8] ;+8 = image height
41
		mov eax,[eax+8] ;+8 = image height
42
		mov dword[Picture_SizeY],eax
42
		mov dword[Picture_SizeY],eax
43
		imul ecx,eax
43
		imul ecx,eax
44
		imul ecx,15
44
		imul ecx,15
45
		add ecx,(1200*1000)*3+50*(20*20*3)+500000+16000+0x4000
45
		add ecx,mem_screen+mem_panel_b+mem_flood_f
46
		mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
46
		mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
47
		mov [ScreenPointer],eax
47
		mov [ScreenPointer],eax
48
		call prepare_data_pointers
48
		call prepare_data_pointers
49
		pop ebx
49
		pop ebx
50
		stdcall [img_to_rgb2], ebx,[PointerToPicture] ;преобразуем изображение к формату rgb
50
		stdcall [img_to_rgb2], ebx,[PointerToPicture] ;преобразуем изображение к формату rgb