Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 986 → Rev 987

/programs/develop/tinypad/trunk/tinypad.asm
32,7 → 32,7
 
;purge mov,add,sub ;  SPEED
 
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,self_path
header '01',1,@CODE,TINYPAD_END,STATIC_MEM_END,MAIN_STACK,@PARAMS,ini_path
 
APP_VERSION equ 'SVN (4.0.5)'
 
44,6 → 44,8
;define __DEBUG_LEVEL__ 1
;include 'debug-fdo.inc'
 
; compiled-in options
 
ASEPC = '-' ; separator character (char)
ATOPH = 19 ; menu bar height (pixels)
SCRLW = 16 ; scrollbar widht/height (pixels)
56,50 → 58,12
STATH = 16 ; status bar height (pixels)
TBARH = 18 ; tab bar height (pixels)
 
;-----------------------------------------------------------------------------
section @OPTIONS ;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;-----------------------------------------------------------------------------
INI_SEC_PREFIX equ ''
 
label color_tbl dword
.text: RGB( 0, 0, 0)
.back: RGB(255,255,255)
.text.sel: RGB(255,255,255)
.back.sel: RGB( 10, 36,106)
.symbol: RGB( 48, 48,240)
.number: RGB( 0,144, 0)
.string: RGB(176, 0, 0)
.comment: RGB(128,128,128)
.line.moded: RGB(255,238, 98)
.line.saved: RGB(108,226,108)
 
ins_mode db 1
tab_pos db 2
 
options db OPTS_AUTOINDENT+OPTS_OPTIMSAVE+OPTS_SMARTTAB
 
mainwnd_pos:
.x dd 250
.y dd 75
.w dd 6*80+6+SCRLW+5 ;- 220
.h dd 402 ;- 220
 
;-----------------------------------------------------------------------------
section @CODE ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;-----------------------------------------------------------------------------
 
; fninit
 
; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_left,50
; mov [mainwnd_pos.x],eax
; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_top,50
; mov [mainwnd_pos.y],eax
; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_right,350
; sub eax,[mainwnd_pos.x]
; mov [mainwnd_pos.w],eax
; stdcall ini.get_int,finfo_ini,ini_sec_window,ini_window_bottom,450
; sub eax,[mainwnd_pos.y]
; mov [mainwnd_pos.h],eax
 
cld
mov edi,@UDATA
mov ecx,@PARAMS-@UDATA
106,9 → 70,6
mov al,0
rep stosb
 
mov al,[tab_pos]
mov [tab_bar.Style],al
 
mcall 68,11
or eax,eax
jz key.alt_x.close
117,6 → 78,15
or eax,eax
jnz key.alt_x.close
 
mov edi,ini_path
xor al,al
mov ecx,PATHL
repne scasb
mov dword[edi-1],'.ini'
mov byte[edi+3],0
 
stdcall load_settings
 
stdcall mem.Alloc,65536
mov [temp_buf],eax
 
208,6 → 178,10
@@:
mov [s_status],0
dec [do_not_draw]
 
mov al,[tabs_pos]
mov [tab_bar.Style],al
 
mcall 66,1,1
mcall 40,00100111b
red:
297,6 → 271,100
endp
 
;-----------------------------------------------------------------------------
proc load_settings ;//////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
pushad
 
invoke ini.get_int,ini_path,ini_sec_options,ini_options_tabs_pos,2
mov [tabs_pos],al
invoke ini.get_int,ini_path,ini_sec_options,ini_options_secure_sel,0
mov [secure_sel],al
invoke ini.get_int,ini_path,ini_sec_options,ini_options_auto_braces,0
mov [auto_braces],al
invoke ini.get_int,ini_path,ini_sec_options,ini_options_auto_indent,1
mov [auto_indent],al
invoke ini.get_int,ini_path,ini_sec_options,ini_options_smart_tab,1
mov [smart_tab],al
invoke ini.get_int,ini_path,ini_sec_options,ini_options_optim_save,1
mov [optim_save],al
invoke ini.get_int,ini_path,ini_sec_options,ini_options_line_nums,0
mov [line_nums],al
 
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_text,0x00000000
mov [color_tbl.text],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_back,0x00ffffff
mov [color_tbl.back],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_text_sel,0x00ffffff
mov [color_tbl.text.sel],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_back_sel,0x000a246a
mov [color_tbl.back.sel],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_symbol,0x003030f0
mov [color_tbl.symbol],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_number,0x00009000
mov [color_tbl.number],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_string,0x00b00000
mov [color_tbl.string],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_comment,0x00808080
mov [color_tbl.comment],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_line_moded,0x00ffee62
mov [color_tbl.line.moded],eax
invoke ini.get_color,ini_path,ini_sec_colors,ini_colors_line_saved,0x006ce26c
mov [color_tbl.line.saved],eax
 
invoke ini.get_int,ini_path,ini_sec_window,ini_window_left,250
mov [mainwnd_pos.x],eax
invoke ini.get_int,ini_path,ini_sec_window,ini_window_top,75
mov [mainwnd_pos.y],eax
invoke ini.get_int,ini_path,ini_sec_window,ini_window_width,6*80+6+SCRLW+5
mov [mainwnd_pos.w],eax
invoke ini.get_int,ini_path,ini_sec_window,ini_window_height,402
mov [mainwnd_pos.h],eax
 
popad
ret
endp
 
;-----------------------------------------------------------------------------
proc save_settings ;//////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
pushad
 
movzx eax,[tabs_pos]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_tabs_pos,eax
movzx eax,[secure_sel]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_secure_sel,eax
movzx eax,[auto_braces]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_auto_braces,eax
movzx eax,[auto_indent]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_auto_indent,eax
movzx eax,[smart_tab]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_smart_tab,eax
movzx eax,[optim_save]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_optim_save,eax
movzx eax,[line_nums]
invoke ini.set_int,ini_path,ini_sec_options,ini_options_line_nums,eax
 
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_text,[color_tbl.text]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_back,[color_tbl.back]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_text_sel,[color_tbl.text.sel]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_back_sel,[color_tbl.back.sel]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_symbol,[color_tbl.symbol]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_number,[color_tbl.number]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_string,[color_tbl.string]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_comment,[color_tbl.comment]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_line_moded,[color_tbl.line.moded]
invoke ini.set_color,ini_path,ini_sec_colors,ini_colors_line_saved,[color_tbl.line.saved]
 
invoke ini.set_int,ini_path,ini_sec_window,ini_window_left,[mainwnd_pos.x]
invoke ini.set_int,ini_path,ini_sec_window,ini_window_top,[mainwnd_pos.y]
invoke ini.set_int,ini_path,ini_sec_window,ini_window_width,[mainwnd_pos.w]
invoke ini.set_int,ini_path,ini_sec_window,ini_window_height,[mainwnd_pos.h]
 
popad
ret
endp
 
;-----------------------------------------------------------------------------
proc start_fasm ;/////////////////////////////////////////////////////////////
;-----------------------------------------------------------------------------
; BL = run after compile
408,22 → 476,19
ret
 
.line_numbers:
mov al,OPTS_LINENUMS
jmp .main
xor [line_nums],1
ret
.optimal_fill:
mov al,OPTS_OPTIMSAVE
jmp .main
xor [optim_save],1
ret
.auto_indents:
mov al,OPTS_AUTOINDENT
jmp .main
xor [auto_indent],1
ret
.auto_braces:
mov al,OPTS_AUTOBRACES
jmp .main
xor [auto_braces],1
ret
.secure_sel:
mov al,OPTS_SECURESEL
 
.main:
xor [options],al
xor [secure_sel],1
ret
 
;-----------------------------------------------------------------------------
456,8 → 521,6
;-----------------------------------------------------------------------------
section @IMPORT ;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
;-----------------------------------------------------------------------------
;align 16
;@IMPORT:
 
library \
libini,'libini.obj',\
468,7 → 531,9
ini.get_str,'ini.get_str',\
ini.set_str,'ini.set_str',\
ini.get_int,'ini.get_int',\
ini.set_int,'ini.set_int'
ini.set_int ,'ini.set_int',\
ini.get_color,'ini.get_color',\
ini.set_color,'ini.set_color'
 
import libio, \
file.find_first,'file.find_first',\
520,6 → 585,8
p_info2 process_information
sc system_colors
 
ini_path rb PATHL
 
rb 1024*4
MAIN_STACK:
rb 1024*4