Subversion Repositories Kolibri OS

Rev

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

Rev 827 Rev 987
Line 30... Line 30...
30
 
30
 
Line 31... Line 31...
31
include 'tinypad.inc'
31
include 'tinypad.inc'
Line 32... Line 32...
32
 
32
 
Line 33... Line 33...
33
;purge mov,add,sub            ;  SPEED
33
;purge mov,add,sub            ;  SPEED
Line 34... Line 34...
34
 
34
 
35
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,self_path
35
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,ini_path
Line 42... Line 42...
42
;include 'debug.inc'
42
;include 'debug.inc'
43
;define __DEBUG__ 1
43
;define __DEBUG__ 1
44
;define __DEBUG_LEVEL__ 1
44
;define __DEBUG_LEVEL__ 1
45
;include 'debug-fdo.inc'
45
;include 'debug-fdo.inc'
Line -... Line 46...
-
 
46
 
-
 
47
; compiled-in options
46
 
48
 
47
ASEPC = '-'  ; separator character (char)
49
ASEPC = '-'  ; separator character (char)
48
ATOPH = 19   ; menu bar height (pixels)
50
ATOPH = 19   ; menu bar height (pixels)
49
SCRLW = 16   ; scrollbar widht/height (pixels)
51
SCRLW = 16   ; scrollbar widht/height (pixels)
50
ATABW = 8    ; tab key indent width (chars)
52
ATABW = 8    ; tab key indent width (chars)
Line 54... Line 56...
54
LCHGW = 3    ; changed/saved marker width (pixels)
56
LCHGW = 3    ; changed/saved marker width (pixels)
Line 55... Line 57...
55
 
57
 
56
STATH = 16   ; status bar height (pixels)
58
STATH = 16   ; status bar height (pixels)
Line 57... Line -...
57
TBARH = 18   ; tab bar height (pixels)
-
 
58
 
-
 
59
;-----------------------------------------------------------------------------
-
 
60
section @OPTIONS ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
 
61
;-----------------------------------------------------------------------------
59
TBARH = 18   ; tab bar height (pixels)
62
 
-
 
63
label color_tbl dword
-
 
64
  .text:       RGB(  0,  0,  0)
-
 
65
  .back:       RGB(255,255,255)
-
 
66
  .text.sel:   RGB(255,255,255)
-
 
67
  .back.sel:   RGB( 10, 36,106)
-
 
68
  .symbol:     RGB( 48, 48,240)
-
 
69
  .number:     RGB(  0,144,  0)
-
 
70
  .string:     RGB(176,  0,  0)
-
 
71
  .comment:    RGB(128,128,128)
-
 
72
  .line.moded: RGB(255,238, 98)
-
 
73
  .line.saved: RGB(108,226,108)
-
 
74
 
-
 
75
ins_mode db 1
-
 
76
tab_pos  db 2
-
 
77
 
-
 
78
options  db OPTS_AUTOINDENT+OPTS_OPTIMSAVE+OPTS_SMARTTAB
-
 
79
 
-
 
80
mainwnd_pos:
-
 
81
  .x dd 250
-
 
82
  .y dd 75
-
 
Line 83... Line 60...
83
  .w dd 6*80+6+SCRLW+5	;- 220
60
 
84
  .h dd 402		;- 220
61
INI_SEC_PREFIX equ ''
85
 
62
 
Line 86... Line -...
86
;-----------------------------------------------------------------------------
-
 
87
section @CODE ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
 
88
;-----------------------------------------------------------------------------
-
 
89
 
-
 
90
;       fninit
-
 
91
 
-
 
92
;       stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_left,50
-
 
93
;       mov     [mainwnd_pos.x],eax
-
 
94
;       stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_top,50
-
 
95
;       mov     [mainwnd_pos.y],eax
-
 
96
;       stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_right,350
-
 
97
;       sub     eax,[mainwnd_pos.x]
-
 
98
;       mov     [mainwnd_pos.w],eax
-
 
99
;       stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_bottom,450
63
;-----------------------------------------------------------------------------
100
;       sub     eax,[mainwnd_pos.y]
64
section @CODE ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
101
;       mov     [mainwnd_pos.h],eax
65
;-----------------------------------------------------------------------------
102
 
66
 
103
	cld
67
	cld
Line 104... Line -...
104
	mov	edi,@UDATA
-
 
105
	mov	ecx,@PARAMS-@UDATA
-
 
106
	mov	al,0
-
 
107
	rep	stosb
68
	mov	edi,@UDATA
108
 
69
	mov	ecx,@PARAMS-@UDATA
109
	mov	al,[tab_pos]
70
	mov	al,0
Line 110... Line 71...
110
	mov	[tab_bar.Style],al
71
	rep	stosb
111
 
72
 
112
	mcall	68,11
73
	mcall	68,11
Line -... Line 74...
-
 
74
	or	eax,eax
-
 
75
	jz	key.alt_x.close
-
 
76
 
-
 
77
	stdcall dll.Load,@IMPORT
-
 
78
	or	eax,eax
-
 
79
	jnz	key.alt_x.close
-
 
80
 
-
 
81
	mov	edi,ini_path
-
 
82
	xor	al,al
113
	or	eax,eax
83
	mov	ecx,PATHL
114
	jz	key.alt_x.close
84
	repne	scasb
Line 115... Line 85...
115
 
85
	mov	dword[edi-1],'.ini'
Line 206... Line 176...
206
	call	create_tab
176
	call	create_tab
Line 207... Line 177...
207
 
177
 
208
    @@:
178
    @@:
209
	mov	[s_status],0
179
	mov	[s_status],0
-
 
180
	dec	[do_not_draw]
-
 
181
 
-
 
182
	mov	al,[tabs_pos]
-
 
183
	mov	[tab_bar.Style],al
210
	dec	[do_not_draw]
184
 
211
	mcall	66,1,1
185
	mcall	66,1,1
212
	mcall	40,00100111b
186
	mcall	40,00100111b
213
red:
187
red:
Line 295... Line 269...
295
	mov	eax,EV_DEBUG
269
	mov	eax,EV_DEBUG
296
	ret
270
	ret
297
endp
271
endp
Line 298... Line 272...
298
 
272
 
-
 
273
;-----------------------------------------------------------------------------
-
 
274
proc load_settings ;//////////////////////////////////////////////////////////
-
 
275
;-----------------------------------------------------------------------------
-
 
276
	pushad
-
 
277
 
-
 
278
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_tabs_pos,2
-
 
279
	mov	[tabs_pos],al
-
 
280
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_secure_sel,0
-
 
281
	mov	[secure_sel],al
-
 
282
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_auto_braces,0
-
 
283
	mov	[auto_braces],al
-
 
284
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_auto_indent,1
-
 
285
	mov	[auto_indent],al
-
 
286
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_smart_tab,1
-
 
287
	mov	[smart_tab],al
-
 
288
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_optim_save,1
-
 
289
	mov	[optim_save],al
-
 
290
	invoke	ini.get_int,ini_path,ini_sec_options,ini_options_line_nums,0
-
 
291
	mov	[line_nums],al
-
 
292
 
-
 
293
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_text,0x00000000
-
 
294
	mov	[color_tbl.text],eax
-
 
295
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_back,0x00ffffff
-
 
296
	mov	[color_tbl.back],eax
-
 
297
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_text_sel,0x00ffffff
-
 
298
	mov	[color_tbl.text.sel],eax
-
 
299
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_back_sel,0x000a246a
-
 
300
	mov	[color_tbl.back.sel],eax
-
 
301
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_symbol,0x003030f0
-
 
302
	mov	[color_tbl.symbol],eax
-
 
303
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_number,0x00009000
-
 
304
	mov	[color_tbl.number],eax
-
 
305
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_string,0x00b00000
-
 
306
	mov	[color_tbl.string],eax
-
 
307
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_comment,0x00808080
-
 
308
	mov	[color_tbl.comment],eax
-
 
309
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_line_moded,0x00ffee62
-
 
310
	mov	[color_tbl.line.moded],eax
-
 
311
	invoke	ini.get_color,ini_path,ini_sec_colors,ini_colors_line_saved,0x006ce26c
-
 
312
	mov	[color_tbl.line.saved],eax
-
 
313
 
-
 
314
	invoke	ini.get_int,ini_path,ini_sec_window,ini_window_left,250
-
 
315
	mov	[mainwnd_pos.x],eax
-
 
316
	invoke	ini.get_int,ini_path,ini_sec_window,ini_window_top,75
-
 
317
	mov	[mainwnd_pos.y],eax
-
 
318
	invoke	ini.get_int,ini_path,ini_sec_window,ini_window_width,6*80+6+SCRLW+5
-
 
319
	mov	[mainwnd_pos.w],eax
-
 
320
	invoke	ini.get_int,ini_path,ini_sec_window,ini_window_height,402
-
 
321
	mov	[mainwnd_pos.h],eax
-
 
322
 
-
 
323
	popad
-
 
324
	ret
-
 
325
endp
-
 
326
 
-
 
327
;-----------------------------------------------------------------------------
-
 
328
proc save_settings ;//////////////////////////////////////////////////////////
-
 
329
;-----------------------------------------------------------------------------
-
 
330
	pushad
-
 
331
 
-
 
332
	movzx	eax,[tabs_pos]
-
 
333
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_tabs_pos,eax
-
 
334
	movzx	eax,[secure_sel]
-
 
335
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_secure_sel,eax
-
 
336
	movzx	eax,[auto_braces]
-
 
337
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_auto_braces,eax
-
 
338
	movzx	eax,[auto_indent]
-
 
339
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_auto_indent,eax
-
 
340
	movzx	eax,[smart_tab]
-
 
341
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_smart_tab,eax
-
 
342
	movzx	eax,[optim_save]
-
 
343
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_optim_save,eax
-
 
344
	movzx	eax,[line_nums]
-
 
345
	invoke	ini.set_int,ini_path,ini_sec_options,ini_options_line_nums,eax
-
 
346
 
-
 
347
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_text,[color_tbl.text]
-
 
348
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_back,[color_tbl.back]
-
 
349
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_text_sel,[color_tbl.text.sel]
-
 
350
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_back_sel,[color_tbl.back.sel]
-
 
351
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_symbol,[color_tbl.symbol]
-
 
352
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_number,[color_tbl.number]
-
 
353
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_string,[color_tbl.string]
-
 
354
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_comment,[color_tbl.comment]
-
 
355
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_line_moded,[color_tbl.line.moded]
-
 
356
	invoke	ini.set_color,ini_path,ini_sec_colors,ini_colors_line_saved,[color_tbl.line.saved]
-
 
357
 
-
 
358
	invoke	ini.set_int,ini_path,ini_sec_window,ini_window_left,[mainwnd_pos.x]
-
 
359
	invoke	ini.set_int,ini_path,ini_sec_window,ini_window_top,[mainwnd_pos.y]
-
 
360
	invoke	ini.set_int,ini_path,ini_sec_window,ini_window_width,[mainwnd_pos.w]
-
 
361
	invoke	ini.set_int,ini_path,ini_sec_window,ini_window_height,[mainwnd_pos.h]
-
 
362
 
-
 
363
	popad
-
 
364
	ret
-
 
365
endp
-
 
366
 
299
;-----------------------------------------------------------------------------
367
;-----------------------------------------------------------------------------
300
proc start_fasm ;/////////////////////////////////////////////////////////////
368
proc start_fasm ;/////////////////////////////////////////////////////////////
301
;-----------------------------------------------------------------------------
369
;-----------------------------------------------------------------------------
302
; BL = run after compile
370
; BL = run after compile
303
;-----------------------------------------------------------------------------
371
;-----------------------------------------------------------------------------
Line 406... Line 474...
406
	rep	movsd
474
	rep	movsd
407
	call	drawwindow
475
	call	drawwindow
408
	ret
476
	ret
Line 409... Line 477...
409
 
477
 
410
  .line_numbers:
478
  .line_numbers:
411
	mov	al,OPTS_LINENUMS
479
	xor	[line_nums],1
412
	jmp	.main
480
	ret
413
  .optimal_fill:
481
  .optimal_fill:
414
	mov	al,OPTS_OPTIMSAVE
482
	xor	[optim_save],1
415
	jmp	.main
483
	ret
416
  .auto_indents:
484
  .auto_indents:
417
	mov	al,OPTS_AUTOINDENT
485
	xor	[auto_indent],1
418
	jmp	.main
486
	ret
419
  .auto_braces:
487
  .auto_braces:
420
	mov	al,OPTS_AUTOBRACES
488
	xor	[auto_braces],1
421
	jmp	.main
489
	ret
422
  .secure_sel:
-
 
423
	mov	al,OPTS_SECURESEL
-
 
424
 
-
 
425
  .main:
490
  .secure_sel:
426
	xor	[options],al
491
	xor	[secure_sel],1
Line 427... Line 492...
427
	ret
492
	ret
Line 428... Line 493...
428
 
493
 
Line 454... Line 519...
454
include 'data/tp-idata.inc'
519
include 'data/tp-idata.inc'
Line 455... Line 520...
455
 
520
 
456
;-----------------------------------------------------------------------------
521
;-----------------------------------------------------------------------------
457
section @IMPORT ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
522
section @IMPORT ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
458
;-----------------------------------------------------------------------------
-
 
459
;align 16
-
 
Line 460... Line 523...
460
;@IMPORT:
523
;-----------------------------------------------------------------------------
461
 
524
 
462
library \
525
library \
463
	libini,'libini.obj',\
526
	libini,'libini.obj',\
Line 464... Line 527...
464
	libio,'libio.obj',\
527
	libio,'libio.obj',\
465
	libgfx,'libgfx.obj'
528
	libgfx,'libgfx.obj'
466
 
529
 
467
import	libini, \
530
import	libini, \
468
	ini.get_str,'ini.get_str',\
531
	ini.get_str  ,'ini.get_str',\
-
 
532
	ini.set_str  ,'ini.set_str',\
-
 
533
	ini.get_int  ,'ini.get_int',\
Line 469... Line 534...
469
	ini.set_str,'ini.set_str',\
534
	ini.set_int  ,'ini.set_int',\
470
	ini.get_int,'ini.get_int',\
535
	ini.get_color,'ini.get_color',\
471
	ini.set_int,'ini.set_int'
536
	ini.set_color,'ini.set_color'
472
 
537
 
Line 518... Line 583...
518
 
583
 
519
p_info	process_information
584
p_info	process_information
520
p_info2 process_information
585
p_info2 process_information
Line -... Line 586...
-
 
586
sc	system_colors
-
 
587
 
521
sc	system_colors
588
ini_path rb PATHL
522
 
589
 
523
rb 1024*4
590
rb 1024*4
524
MAIN_STACK:
591
MAIN_STACK: