forked from KolibriOS/kolibrios
removed old optionbox, very small fixes in radiobutton, checkbox, modified template
git-svn-id: svn://kolibrios.org@383 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
@erase lang.inc
|
||||
@echo lang fix en >lang.inc
|
||||
@fasm template.asm template
|
||||
@erase lang.inc
|
||||
@pause
|
||||
5
programs/develop/examples/template/trunk/build_fr.bat
Normal file
5
programs/develop/examples/template/trunk/build_fr.bat
Normal file
@@ -0,0 +1,5 @@
|
||||
@erase lang.inc
|
||||
@echo lang fix fr >lang.inc
|
||||
@fasm template.asm template
|
||||
@erase lang.inc
|
||||
@pause
|
||||
@@ -1,4 +1,5 @@
|
||||
@erase lang.inc
|
||||
@echo lang fix ru >lang.inc
|
||||
@fasm template.asm template
|
||||
@erase lang.inc
|
||||
@pause
|
||||
@@ -123,8 +123,10 @@ macro mpack dest, hsrc, lsrc
|
||||
end if
|
||||
}
|
||||
|
||||
macro __mov reg,a { ; mike.dld
|
||||
if ~a eq
|
||||
macro __mov reg,a,b { ; mike.dld
|
||||
if (~a eq)&(~b eq)
|
||||
mpack reg,a,b
|
||||
else if (~a eq)&(b eq)
|
||||
mov reg,a
|
||||
end if
|
||||
}
|
||||
@@ -141,11 +143,6 @@ macro mcall a,b,c,d,e,f { ; mike.dld
|
||||
|
||||
|
||||
|
||||
; language for programs
|
||||
lang fix ru ; ru en fr ge fi
|
||||
|
||||
|
||||
|
||||
; optimize the code for size
|
||||
__regs fix <eax,ebx,ecx,edx,esi,edi,ebp,esp>
|
||||
|
||||
@@ -177,7 +174,7 @@ macro sub arg1,arg2
|
||||
|
||||
macro mov arg1,arg2
|
||||
{
|
||||
if (arg1 in __regs) & (arg2 eqtype 0)
|
||||
if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0'))
|
||||
if (arg2) = 0
|
||||
xor arg1,arg1
|
||||
else if (arg2) = 1
|
||||
@@ -221,7 +218,13 @@ struc process_information
|
||||
.x_size dd ? ; +42
|
||||
.y_size dd ? ; +46
|
||||
.slot_state dw ? ; +50
|
||||
rb (1024-52)
|
||||
dw ? ; +52 - reserved
|
||||
.client_left dd ? ; +54
|
||||
.client_top dd ? ; +58
|
||||
.client_width dd ? ; +62
|
||||
.client_height dd ? ; +66
|
||||
.wnd_state db ? ; +70
|
||||
rb (1024-71)
|
||||
}
|
||||
struct process_information
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
; <--- description --->
|
||||
; compiler: FASM 1.50
|
||||
; name: Basic window example for MenuetOS
|
||||
; version: 1.01
|
||||
; last update: 25/08/2004
|
||||
; compiler: FASM 1.67
|
||||
; name: Basic window example for KolibriOS
|
||||
; version: 1.02
|
||||
; last update: 1/03/2007
|
||||
; written by: Ivan Poddubny
|
||||
; e-mail: ivan-yar@bk.ru
|
||||
|
||||
;modified by: Heavyiron
|
||||
|
||||
; <--- include all MeOS stuff --->
|
||||
include "lang.inc"
|
||||
@@ -18,64 +18,54 @@ MEOS_APP_START
|
||||
|
||||
; <--- start of code --->
|
||||
CODE
|
||||
call draw_window ; at first create and draw the window
|
||||
|
||||
mov eax,48 ; get system colors
|
||||
mov ebx,3
|
||||
mov ecx,sc
|
||||
mov edx,sizeof.system_colors
|
||||
int 0x40
|
||||
|
||||
redraw: ; redraw event handler
|
||||
call draw_window ; at first create and draw the window
|
||||
|
||||
wait_event: ; main cycle
|
||||
mov eax, 10
|
||||
int 0x40
|
||||
|
||||
cmp eax, 1 ; if event == 1
|
||||
je redraw ; jump to redraw handler
|
||||
cmp eax, 2 ; else if event == 2
|
||||
je key ; jump to key handler
|
||||
cmp eax, 3 ; else if event == 3
|
||||
je button ; jump to button handler
|
||||
|
||||
jmp wait_event ; else return to the start of main cycle
|
||||
dec eax ; if event = 1
|
||||
jz redraw ; jump to redraw handler
|
||||
dec eax ; else if event = 2
|
||||
jz key ; jump to key handler
|
||||
|
||||
|
||||
redraw: ; redraw event handler
|
||||
call draw_window
|
||||
jmp wait_event
|
||||
|
||||
|
||||
key: ; key event handler
|
||||
mov eax, 2 ; get key code
|
||||
int 0x40
|
||||
|
||||
jmp wait_event
|
||||
|
||||
|
||||
button: ; button event handler
|
||||
mov eax, 17 ; get button identifier
|
||||
button: ; button event handler
|
||||
mov al, 17 ; get button identifier
|
||||
int 0x40
|
||||
|
||||
cmp ah, 1
|
||||
jne wait_event ; return if button id != 1
|
||||
jne wait_event ; return if button id != 1
|
||||
|
||||
or eax, -1 ; exit application
|
||||
or eax, -1 ; exit application
|
||||
int 0x40
|
||||
|
||||
key: ; key event handler
|
||||
mov al, 2 ; get key code
|
||||
int 0x40
|
||||
|
||||
jmp wait_event
|
||||
|
||||
draw_window:
|
||||
mov eax, 12 ; start drawing
|
||||
mov ebx, 1
|
||||
int 0x40
|
||||
|
||||
mov eax, 0 ; create and draw the window
|
||||
mov ebx, 100*65536+300 ; (window_cx)*65536+(window_sx)
|
||||
mov ecx, 100*65536+200 ; (window_cy)*65536+(window_sy)
|
||||
mov edx, 0x03ffffff ; work area color & window type 3
|
||||
; mov esi, 0 ; grab color (not used)
|
||||
; mov edi, 0 ; frame color (not used)
|
||||
int 0x40
|
||||
|
||||
mov eax, 4 ; window header
|
||||
mov ebx, 8*65536+8 ; coordinates
|
||||
mov ecx, 0x10ffffff ; color & font N1
|
||||
mov edx, header ; address of text
|
||||
mov esi, header.size ; length of text
|
||||
int 0x40
|
||||
xor eax, eax ; create and draw the window
|
||||
mov ebx, 100*65536+200 ; (window_cx)*65536+(window_sx)
|
||||
mov ecx, 100*65536+100 ; (window_cy)*65536+(window_sy)
|
||||
mov edx, [sc.work] ; work area color
|
||||
or edx, 0x33000000 ; & window type 3
|
||||
mov edi, header ; window header
|
||||
int 0x40
|
||||
|
||||
mov eax, 12 ; finish drawing
|
||||
mov ebx, 2
|
||||
@@ -83,20 +73,20 @@ CODE
|
||||
|
||||
ret
|
||||
|
||||
|
||||
|
||||
; <--- initialised data --->
|
||||
DATA
|
||||
lsz header,\
|
||||
ru, "˜ ¡«® ¯à®£à ¬¬ë",\
|
||||
en, "Template program",\
|
||||
fr, "La programme poncive"
|
||||
|
||||
|
||||
if lang eq ru
|
||||
header db '˜ ¡«® ¯à®£à ¬¬ë',0
|
||||
else if lang eq fr
|
||||
header db 'La programme poncive',0
|
||||
else
|
||||
header db 'Template program',0
|
||||
end if
|
||||
|
||||
; <--- uninitialised data --->
|
||||
UDATA
|
||||
|
||||
sc system_colors
|
||||
|
||||
MEOS_APP_END
|
||||
; <--- end of MenuetOS application --->
|
||||
Reference in New Issue
Block a user