Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 6370 → Rev 6371

/programs/media/animage/trunk/animage.asm
59,15 → 59,16
ci_wnd_min_siz_y equ 400 ;minimum size y
 
; ¯ ­¥«ì ¨­áâà㬥­â®¢
ci_panel_x_pos equ 0 ;ª®®à¤¨­ â  x ¤«ï ¯ ­¥«¨
ci_panel_y_pos equ 20 ;ª®®à¤¨­ â  y ¤«ï ¯ ­¥«¨
ci_panel_but_y1 equ ci_panel_y_pos +5 ;ª®®à¤¨­ â  y ¤«ï 1-£® à鸞 ª­®¯®ª
ci_panel_but_y2 equ ci_panel_y_pos+30 ;ª®®à¤¨­ â  y ¤«ï 2-£® à鸞 ª­®¯®ª
ci_palete_y_pos equ ci_panel_y_pos+51 ;ª®®à¤¨­ â  y ¤«ï ¯ «¨âàë 梥⮢
ci_panel_x_pos equ 0 ;ª®®à¤. x ¤«ï ¯ ­¥«¨
ci_panel_y_pos equ 20 ;ª®®à¤. y ¤«ï ¯ ­¥«¨
ci_panel_but_y1 equ ci_panel_y_pos +5 ;ª®®à¤. y ¤«ï 1-£® à鸞 ª­®¯®ª
ci_panel_but_y2 equ ci_panel_y_pos+30 ;ª®®à¤. y ¤«ï 2-£® à鸞 ª­®¯®ª
ci_palete_y_pos equ ci_panel_y_pos+51 ;ª®®à¤. y ¤«ï ¯ «¨âàë 梥⮢
ci_panel_zoom_x equ 178 ;ª®®à¤. x ¤«ï ª­®¯®ª ¯ ­¥«¨ ¬ áèâ ¡ 
 
; ®ª­® । ªâ®à 
ci_edit_wnd_x_pos equ 0 ;ª®®à¤¨­ â  x ¤«ï ®ª­  । ªâ®à 
ci_edit_wnd_y_pos equ 71 ;ª®®à¤¨­ â  y ¤«ï ®ª­  । ªâ®à 
ci_edit_wnd_x_pos equ 0 ;ª®®à¤. x ¤«ï ®ª­  । ªâ®à 
ci_edit_wnd_y_pos equ 71 ;ª®®à¤. y ¤«ï ®ª­  । ªâ®à 
ci_edit_wnd_border equ 3 ;à ¬ª  ¢®ªà㣠®ª­  । ªâ®à 
 
; áªà®««¨­£¨
195,7 → 196,7
;-----------------------------------------------------------
;------------variables and data of program------------------
;-----------------------------------------------------------
sound_havent_memory db 150,64,0
;sound_havent_memory db 150,64,0
 
include 'lib_data.inc'
include 'panel_data.inc'
210,6 → 211,10
panel_picture:
file 'panel_buttons.png'
.end:
align 4
panel_zoom:
file 'panel_zoom.png'
.end:
;****************cursors******************
brush_cursor:
file 'brush.cur'
/programs/media/animage/trunk/events_of_keys.inc
3,87 → 3,80
;------------------------------------------
align 4
keys:
 
mcall SF_GET_KEY
shr eax,8
 
cmp al,176
jne key2
jne @f
sub [PosX],20
jmp change_screen
key2:
@@:
cmp al,179
jne key3
jne @f
add [PosX],20
jmp change_screen
key3:
@@:
cmp al,177
jne key4
jne @f
add [PosY],20
jmp change_screen
key4:
@@:
cmp al,178
jne key5
jne @f
sub [PosY],20
jmp change_screen
key5:
@@:
cmp al,49 ;1
jne key6
jne @f
mov [k],1
call scrollbar_move_00
call drawwin
jmp change_screen
key6:
jmp zoom_ch
@@:
cmp al,50 ;2
jne key7
jne @f
mov [k],2
call scrollbar_move_00
call drawwin
jmp change_screen
key7:
jmp zoom_ch
@@:
cmp al,51 ;3
jne @f
mov [k],3
jmp zoom_ch
@@:
cmp al,52 ;4
jne key8
jne @f
mov [k],4
call scrollbar_move_00
call drawwin
jmp change_screen
key8:
jmp zoom_ch
@@:
cmp al,56 ;8
jne key9
jne @f
mov [k],8
call scrollbar_move_00
call drawwin
jmp change_screen
key9:
jmp zoom_ch
@@:
cmp al,48 ;0
jne key10
jne @f
mov [k],16
zoom_ch:
call scrollbar_move_00
call drawwin
jmp change_screen
key10:
@@:
cmp al,255
jne key11
jne @f
call analizing_picture_to_palette
call drawwin
jmp change_screen
key11:
@@:
jmp still
 
;cmp al,27 ;Esc
;jne still
jmp still
 
mov eax,CursorsID
call delete_cursors
;mov eax,CursorsID
;call delete_cursors
close:
mcall SF_TERMINATE_PROCESS
 
jmp still
 
change_screen:
 
call CalculatePositionScreen
call MovePictureToWorkScreen
call draw_scrollers
call PrintMousePos
 
jmp still
/programs/media/animage/trunk/events_of_mouse.inc
210,6 → 210,7
;--------------end copy for undo-------------
no_undo___:
call TakeButtonInstruments
 
jmp still
 
no_use_instruments:
/programs/media/animage/trunk/icons.inc
8,6 → 8,12
add edi,mem_screen
stdcall [img_to_rgb2], ebx,edi ;преобразуем изображение к формату rgb
stdcall [img_destroy], ebx ;удаляем временный буфер с параметрами изображения
 
stdcall [img_decode], panel_zoom, panel_zoom.end-panel_zoom, 0
mov ebx,eax
add edi,mem_panel_but
stdcall [img_to_rgb2], ebx,edi
stdcall [img_destroy], ebx
ret
 
draw_icons:
23,6 → 29,39
mov ecx,417*65536+46
mcall SF_PUT_IMAGE
 
;draw active zoom button
add ebx,mem_panel_but
xor eax,eax
cmp [k],1
je .end_calc
inc eax
cmp [k],2
je @f
inc eax
cmp [k],3
je @f
inc eax
cmp [k],4
je @f
inc eax
cmp [k],8
je @f
inc eax
cmp [k],16
je @f
inc eax
@@:
mov edx,eax
imul edx,18*21*3
add ebx,edx
.end_calc:
mov edx,eax
imul edx,18+1
add edx,ci_panel_zoom_x-1
shl edx,16
add edx,ci_panel_but_y2-2
mov ecx,18*65536+21
mcall SF_PUT_IMAGE
 
;main buttons of instrumnts
 
82,7 → 121,7
;buttons of zoom
and [counter],0
 
mov [Icon_X],ci_panel_x_pos+178
mov [Icon_X],ci_panel_x_pos+ci_panel_zoom_x
 
next_button_zoom:
 
/programs/media/animage/trunk/icons_instruments.inc
23,7 → 23,7
mov [counter],5
 
.horizontal_width_put:
mov edx,[ebx+4807*4+ebp]
mov edx,[ebx+mem_offs_shape+ebp]
;and edx,0xffffff
mov [edi],dx
shr edx,16
73,9 → 73,9
mov eax,edi
mov edx,[eax]
;and edx,0xffffff
mov [ebx+4807*4+ebp],dx
mov [ebx+mem_offs_shape+ebp],dx
shr edx,16
mov [ebx+4807*4+2+ebp],dl
mov [ebx+mem_offs_shape+2+ebp],dl
 
add edi,3
add ebp,4
/programs/media/animage/trunk/load_from_parameters.inc
1,7 → 1,9
; load picture from file to memory
align 4
open_b rb 560
txt_not_memory db 'Cannot open image. Because there is not enough available memory.',0
 
align 4
load_picture:
mov [file_information.Function], SSF_GET_INFO
mov [file_information.Position], 0
15,11 → 17,11
jnz .end_open
 
mov ecx,dword[open_b+32] ;+32 qword: размер файла в байтах
add ecx,mem_screen+mem_panel_b+mem_flood_f
add ecx,mem_screen+mem_panel_all+mem_flood_f
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
mov [ScreenPointer],eax
add eax,mem_screen+mem_panel_b
sub ecx,mem_screen+mem_panel_b+mem_flood_f
add eax,mem_screen+mem_panel_all
sub ecx,mem_screen+mem_panel_all+mem_flood_f
mov [file_information.Function], SSF_READ_FILE
mov [file_information.Position], 0
mov [file_information.Flags], 0
32,7 → 34,7
je .end_open
;определяем вид изображения и пишем его параметры
mov eax,[ScreenPointer]
add eax,mem_screen+mem_panel_b
add eax,mem_screen+mem_panel_all
stdcall [img_decode], eax,ebx,0
push eax
;определяем размер декодированного изображения
42,13 → 44,21
mov dword[Picture_SizeY],eax
imul ecx,eax
imul ecx,15
add ecx,mem_screen+mem_panel_b+mem_flood_f
add ecx,mem_screen+mem_panel_all+mem_flood_f
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
or eax,eax
jnz .have_new_memory
notify_window_run txt_not_memory
pop ebx
jmp @f
.have_new_memory:
;notify_window_run sz_main_menu_File_Open
mov [ScreenPointer],eax
call prepare_data_pointers
pop ebx
stdcall [img_to_rgb2], ebx,[PointerToPicture] ;преобразуем изображение к формату rgb
mov [save_flag],1
@@:
stdcall [img_destroy], ebx ;удаляем временный буфер с параметрами изображения
mov [save_flag],1
.end_open:
ret
/programs/media/animage/trunk/memory.inc
1,8 → 1,26
 
mem_screen equ 1200*1000*3 ;à §¬¥à ¯ ¬ï⨠¤«ï ®¡« á⨠íªà ­ 
mem_panel_b equ 50*(20*20*3) ;à §¬¥à ¯ ¬ï⨠¤«ï ¯ ­¥«¨ ¨­áâà㬥­â®¢
mem_panel_but equ 50*(20*20*3) ;¯ ¬ïâì ¤«ï ¯ ­¥«¨ ¨­áâà㬥­â®¢
mem_panel_zoom equ 6*(18*21*3) ;¯ ¬ïâì ¤«ï ¯ ­¥«¨ á ª­®¯ª ¬¨ ¬ áèâ ¡®¢
mem_panel_all equ mem_panel_but+mem_panel_zoom ;à §¬¥à ¯ ¬ï⨠¤«ï
;¢á¥å ¯ ­¥«¥© ¨­áâà㬥­â®¢
mem_flood_f equ 500000 ;à §¬¥à ¡ãä¥à  ¤«ï § «¨¢ª¨,   â ª¦¥ ¤«ï ¯ «¨âàë
mem_offs_shape equ 4807*4 ;ᬥ饭¨¥ ¤«ï à §¤¥«¥­¨ï ¬ áᨢ  ReserveArray
 
; ”®à¬ã«ë ¯à¨¬¥à­®£® ¢ëç¨á«¥­¨ï ¯ ¬ï⨠¤«ï । ªâ¨à®¢ ­¨ï:
;
; mem_flood_f ¯à¨¬¥à­® à ¢­® 4*((1200^2+1000^2)^0.5)*3*(1+5*5)
; ’.¥. 4 ¤¨ £®­ «¨ íªà ­  1200 ­  1000 㬭®¦¥­­ëå ­  26.
;   ª ¦¤ë© ¯¨ªá¥«ì à¨á㥬®© 䨣ãàë ¯à¨å®¤¨âáï â ª¦¥ ®¡« áâì
; ¯ ¬ï⨠¤«ï § ¯®¬¨­ ­¨ï ä®­®¢®£® ¨§®¡à ¦¥­¨ï, á ãç¥â®¬ ⮣®
; çâ® ¬ ªá¨¬ «ì­ë© à §¬¥à ª¨á⨠5*5 ¯®«ãç ¥¬ 26 = 1 + 5*5.
;
;  ¬ïâì ReserveArray ¤¥«¨âáï ­  2 ®¡« áâ¨: 1-ï ¤«ï â®ç¥ª
; à¨á㥬®© 䨣ãàë, 2-ï ¤«ï § ¯®¬¨­ ­¨ï ãç á⪮¢ ä®­  5*5
; ¯à¨ªà¥¯«¥­­ëå ª ª ¦¤®© â®çª¥ à¨á㥬®© 䨣ãàë.
;  §¤¥«¥­¨¥ í⮩ ¯ ¬ï⨠¯à®¨á室¨â ¢ ¯à®¯®à樨 1 ª 26,
; çâ® ¯à¨¬¥à­® à ¢­®: mem_flood_f / (1+5*5) ¨«¨ 4807*4.
 
;----------------------------------------------------------
;--------change size of memory which use program-----------
;----------------------------------------------------------
13,17 → 31,18
imul ecx,edx
lea ecx,[ecx+ecx*2]
lea ecx,[ecx+ecx*4] ;(Picture_SizeX*Picture_SizeY*3)*5
add ecx,mem_screen+mem_panel_b+mem_flood_f
add ecx,mem_screen+mem_panel_all+mem_flood_f
mcall SF_SYS_MISC,SSF_MEM_REALLOC,,[ScreenPointer]
test eax,eax
jnz have_new_memory
mov esi,sound_havent_memory
call sound
jnz .have_new_memory
;mov esi,sound_havent_memory
;call sound
notify_window_run txt_not_memory
popa
add esp,4
jmp still
 
have_new_memory:
.have_new_memory:
mov [ScreenPointer],eax
call prepare_data_pointers
popa
35,7 → 54,7
imul eax,ebx
lea eax,[eax+eax*2]
mov ebx,[ScreenPointer]
add ebx,mem_screen+mem_panel_b+mem_flood_f
add ebx,mem_screen+mem_panel_all+mem_flood_f
 
mov [PointerToPicture],ebx
mov [PointerToCopyPicture],ebx
56,7 → 75,7
add [PointerToSpriteBufer],eax
 
mov eax,[ScreenPointer]
add eax,mem_screen+mem_panel_b
add eax,mem_screen+mem_panel_all
mov [PointerToPalette],eax
mov [ReserveArray],eax
 
/programs/media/animage/trunk/menu.inc
26,6 → 26,8
mov [main_menu_edit], eax
stdcall [ksubmenu_new]
mov [main_menu_instr], eax
stdcall [ksubmenu_new]
mov [main_menu_filters], eax
; init 'File' menu
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_File_New, 0x71
67,7 → 69,7
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Edit, [main_menu_edit]
stdcall [ksubmenu_add], [main_menu], eax
 
; init 'Edit' menu
; init 'Instruments' menu
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Instr_Pencil, 0x51
stdcall [ksubmenu_add], [main_menu_instr], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Instr_Brush, 0x52
97,6 → 99,15
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Instr, [main_menu_instr]
stdcall [ksubmenu_add], [main_menu], eax
 
; init 'Reflection' menu
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Filters_ReflectionLR, 0x41
stdcall [ksubmenu_add], [main_menu_filters], eax
stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_main_menu_Filters_ReflectionTB, 0x42
stdcall [ksubmenu_add], [main_menu_filters], eax
 
; add 'Reflection' menu to main
stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_main_menu_Filters, [main_menu_filters]
stdcall [ksubmenu_add], [main_menu], eax
ret
 
put_main_menu:
126,6 → 137,8
menu_set 0x59, 5,9
menu_set 0x5a, 5,10
menu_set 0x5b, 5,11
menu_set 0x41, 4,1
menu_set 0x42, 4,2
.end_handler:
ret
 
133,6 → 146,7
main_menu_file dd 0
main_menu_edit dd 0
main_menu_instr dd 0
main_menu_filters dd 0
 
sz_main_menu_File db 'File', 0
sz_main_menu_File_New db 'New', 0
160,4 → 174,8
sz_main_menu_Instr_Rectangle db 'Rectangle', 0
sz_main_menu_Instr_Circle db 'Circle', 0
sz_main_menu_Instr_Ellips db 'Ellips', 0
sz_main_menu_Instr_Hard_contour db 'Hard contour', 0
sz_main_menu_Instr_Hard_contour db 'Hard contour', 0
 
sz_main_menu_Filters db 'Filters', 0
sz_main_menu_Filters_ReflectionLR db 'Reflection |', 0
sz_main_menu_Filters_ReflectionTB db 'Reflection -', 0
/programs/media/animage/trunk/menu_instruments.inc
607,7 → 607,15
instrument_set 11,20 ; draw hard contour
 
no_instruments:
;|||||||||||||||||||||||||FILTERS||||||||||||||||||||||||||
cmp [number_panel],4
jne no_filters
 
instrument_set 1,23 ; reflection from left to right
instrument_set 2,24 ; reflection from up to down
 
no_filters:
 
end_menu:
and [number_panel],0
and [number_menu],0
/programs/media/animage/trunk/panel_zoom.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