Subversion Repositories Kolibri OS

Rev

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

Rev 7870 Rev 7879
Line 11... Line 11...
11
__DEBUG__        = 0
11
__DEBUG__        = 0
12
__DEBUG_LEVEL__  = 1
12
__DEBUG_LEVEL__  = 1
Line 13... Line 13...
13
 
13
 
Line 14... Line 14...
14
LG_TRACE equ 1
14
LG_TRACE equ 1
15
 
15
 
16
include 'config.inc'
16
include '../../../config.inc'
17
include 'proc32.inc'
17
include '../../../proc32.inc'
18
include 'macros.inc'
18
include '../../../macros.inc'
19
include 'KOSfuncs.inc'
19
include '../../../KOSfuncs.inc'
20
include 'dll.inc'
20
include '../../../dll.inc'
Line 21... Line 21...
21
include 'debug-fdo.inc'
21
include '../../../debug-fdo.inc'
22
include 'libimg.inc'
22
include '../../../develop/libraries/libs-dev/libimg/libimg.inc'
23
 
23
 
Line 63... Line 63...
63
; OpenDialog initialisation
63
; OpenDialog initialisation
64
        push    dword OpenDialog_data
64
        push    dword OpenDialog_data
65
        call    [OpenDialog_Init]
65
        call    [OpenDialog_Init]
Line 66... Line 66...
66
 
66
 
67
; initialize keyboard handling
67
; initialize keyboard handling
68
        invoke  ini_get_shortcut, inifilename, aShortcuts, aNext, -1, next_mod
68
        invoke  ini_get_shortcut, inifilename, aKivSection, aNext, -1, next_mod
69
        mov     [next_key], eax
69
        mov     [next_key], eax
70
        invoke  ini_get_shortcut, inifilename, aShortcuts, aPrev, -1, prev_mod
70
        invoke  ini_get_shortcut, inifilename, aKivSection, aPrev, -1, prev_mod
71
        mov     [prev_key], eax
71
        mov     [prev_key], eax
72
        invoke  ini_get_shortcut, inifilename, aShortcuts, aSlide, -1, slide_mod
72
        invoke  ini_get_shortcut, inifilename, aKivSection, aSlide, -1, slide_mod
73
        mov     [slide_key], eax
73
        mov     [slide_key], eax
74
        invoke  ini_get_shortcut, inifilename, aShortcuts, aTglbar, -1, tglbar_mod
74
        invoke  ini_get_shortcut, inifilename, aKivSection, aTglbar, -1, tglbar_mod
Line -... Line 75...
-
 
75
        mov     [tglbar_key], eax
-
 
76
		
-
 
77
        invoke  ini_get_int, inifilename, aKivSection, aWinX, 100
-
 
78
        mov     [window.left], eax
-
 
79
        invoke  ini_get_int, inifilename, aKivSection, aWinY, 150
-
 
80
        mov     [window.top], eax
-
 
81
        invoke  ini_get_int, inifilename, aKivSection, aWinW, 0
-
 
82
        mov     [window.width], eax
-
 
83
        invoke  ini_get_int, inifilename, aKivSection, aWinH, 0
75
        mov     [tglbar_key], eax
84
        mov     [window.height], eax
76
 
85
 
Line 77... Line 86...
77
        cmp     byte[__params], 0
86
        cmp     byte[__params], 0
Line 544... Line 553...
544
 
553
 
545
        cmp     eax, 1
554
        cmp     eax, 1
Line 546... Line 555...
546
        jnz     still
555
        jnz     still
-
 
556
 
-
 
557
exit:
-
 
558
        invoke  ini_set_int, inifilename, aKivSection, aWinX, [window.left]
-
 
559
        invoke  ini_set_int, inifilename, aKivSection, aWinY, [window.top]
547
 
560
        invoke  ini_set_int, inifilename, aKivSection, aWinW, [window.width]
Line 548... Line 561...
548
exit:
561
        invoke  ini_set_int, inifilename, aKivSection, aWinH, [window.height]
549
        mcall   -1
562
        mcall   -1
Line 1043... Line 1056...
1043
.min_size_ok:
1056
.min_size_ok:
1044
        test    [bNewImage], 1
1057
        test    [bNewImage], 1
1045
        jz      @f
1058
        jz      @f
1046
        call    generate_window_header
1059
        call    generate_window_header
1047
@@:
1060
@@:
-
 
1061
		cmp     [window.width], 0
-
 
1062
		jne     @f
-
 
1063
		mcall   SF_GET_SCREEN_SIZE
-
 
1064
		mov     ebx,eax			  ;
-
 
1065
		shr     ebx,16			  ; ebx = width
-
 
1066
		movzx   esi,ax			  ; esi = height
-
 
1067
		
-
 
1068
		mov     eax, ebx
-
 
1069
		xor     edx, edx
-
 
1070
		mov     ebx, 3
-
 
1071
		div     ebx
-
 
1072
		imul     eax, 2
-
 
1073
		mov    [window.width], eax
-
 
1074
 
-
 
1075
		xor     edx, edx
-
 
1076
		mov     ebx, 4
-
 
1077
		div     ebx
-
 
1078
		mov    [window.left], eax
-
 
1079
		
-
 
1080
		mov     eax, esi
-
 
1081
		xor     edx, edx
-
 
1082
		mov     ebx, 3
-
 
1083
		div     ebx
-
 
1084
		imul     eax, 2
-
 
1085
		mov    [window.height], eax
-
 
1086
		
-
 
1087
		xor     edx, edx
-
 
1088
		mov     ebx, 4
-
 
1089
		div     ebx
-
 
1090
		mov    [window.top], eax
-
 
1091
@@:
-
 
1092
 
1048
        mcall   SF_REDRAW, SSF_BEGIN_DRAW
1093
        mcall   SF_REDRAW, SSF_BEGIN_DRAW
1049
        mov     ecx, [window.top]
1094
        mov     ecx, [window.top]
1050
        shl     ecx, 16
1095
        shl     ecx, 16
1051
        mov     cx, word[window.height]
1096
        mov     cx, word[window.height]
1052
        mov     ebx, [window.left]
1097
        mov     ebx, [window.left]
Line 2187... Line 2232...
2187
;-----------------------------------------------------------------------------
2232
;-----------------------------------------------------------------------------
2188
DATA
2233
DATA
Line 2189... Line 2234...
2189
 
2234
 
2190
s_header        db ' - Kolibri Image Viewer',0
2235
s_header        db ' - Kolibri Image Viewer',0
2191
window_style    dd 0x53FFFFFF
2236
window_style    dd 0x53FFFFFF
2192
window          BOX 101, 144, 529, 324  ; left top width height
2237
window          BOX 100, 150, 0, 0  ; left top width height
2193
window_prev     BOX 0, 0, 0, 0
2238
window_prev     BOX 0, 0, 0, 0
2194
window_save     BOX 0, 0, 0, 0  ; restore after slide show
2239
window_save     BOX 0, 0, 0, 0  ; restore after slide show
2195
client          BOX 0, 0, 0, 0
2240
client          BOX 0, 0, 0, 0
2196
client_prev     BOX 0, 0, 0, 0
2241
client_prev     BOX 0, 0, 0, 0
Line 2328... Line 2373...
2328
        img.convert        , 'img_convert'        , \
2373
        img.convert        , 'img_convert'        , \
2329
        img.draw           , 'img_draw'
2374
        img.draw           , 'img_draw'
Line 2330... Line 2375...
2330
 
2375
 
2331
import libini                               , \
2376
import libini                               , \
-
 
2377
        ini_get_shortcut, 'ini_get_shortcut', \
-
 
2378
        ini_get_int,      'ini_get_int',\
2332
        ini_get_shortcut, 'ini_get_shortcut', \
2379
        ini_set_int,      'ini_set_int',\
Line 2333... Line 2380...
2333
        ini_set_str,      'ini_set_str'
2380
        ini_set_str,      'ini_set_str'
2334
 
2381
 
2335
import sort                  ,\
2382
import sort                  ,\
Line 2388... Line 2435...
2388
store  dword b at $ - numimages*20*20 + numimages*20*y + (%-1)*4
2435
store  dword b at $ - numimages*20*20 + numimages*20*y + (%-1)*4
2389
end repeat
2436
end repeat
2390
end repeat
2437
end repeat
Line 2391... Line 2438...
2391
 
2438
 
2392
inifilename db  '/sys/settings/app.ini',0
2439
inifilename db  '/sys/settings/app.ini',0
2393
aShortcuts  db  'Kiv',0
2440
aKivSection  db  'Kiv',0
2394
aNext       db  'Next',0
2441
aNext       db  'Next',0
2395
aPrev       db  'Prev',0
2442
aPrev       db  'Prev',0
2396
aSlide      db  'SlideShow',0
2443
aSlide      db  'SlideShow',0
-
 
2444
aTglbar     db  'ToggleBar',0
-
 
2445
aWinX       db  'WinX',0
-
 
2446
aWinY       db  'WinY',0
-
 
2447
aWinW       db  'WinW',0
Line 2397... Line 2448...
2397
aTglbar     db  'ToggleBar',0
2448
aWinH       db  'WinH',0
2398
 
2449
 
2399
inifileeskin db '/sys/settings/system.ini',0
2450
inifileeskin db '/sys/settings/system.ini',0
2400
amain       db 'style',0
2451
amain       db 'style',0