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 |