forked from KolibriOS/kolibrios
add example use ColorDialog
git-svn-id: svn://kolibrios.org@8283 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
3ffe214e13
commit
a27b206a90
19
programs/bcc32/examples/color_dlg/Makefile
Normal file
19
programs/bcc32/examples/color_dlg/Makefile
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# Path to /programs
|
||||||
|
SVN_PROGR:=../../..
|
||||||
|
|
||||||
|
# Path to /programs/bcc32
|
||||||
|
SVN_BCC32:=$(SVN_PROGR)/bcc32
|
||||||
|
|
||||||
|
# Path to t2fasm
|
||||||
|
T2FASM:=$(SVN_BCC32)/t2fasm
|
||||||
|
|
||||||
|
# Path to include
|
||||||
|
INCLUDE:=$(SVN_BCC32)/include
|
||||||
|
|
||||||
|
# Path to Bin folder
|
||||||
|
KOS32_BCC:=/home/autobuild/borlandcpp/bin
|
||||||
|
|
||||||
|
# Filename without .cpp
|
||||||
|
FILENAME:=color_dlg
|
||||||
|
|
||||||
|
include $(SVN_BCC32)/Makefile_app
|
94
programs/bcc32/examples/color_dlg/color_dlg.cpp
Normal file
94
programs/bcc32/examples/color_dlg/color_dlg.cpp
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
#include <kolibri.h>
|
||||||
|
#include <kos_heap.h>
|
||||||
|
#include <kos_file.h>
|
||||||
|
#include <load_lib.h>
|
||||||
|
#include <l_proc_lib.h>
|
||||||
|
|
||||||
|
using namespace Kolibri;
|
||||||
|
|
||||||
|
const char header[] = "Color Dialog";
|
||||||
|
char library_path[2048];
|
||||||
|
long color1,color2,color3;
|
||||||
|
|
||||||
|
ColorDialog_data cold;
|
||||||
|
unsigned char procinfo[1024];
|
||||||
|
|
||||||
|
namespace Kolibri{
|
||||||
|
char CurrentDirectoryPath[2048];
|
||||||
|
}
|
||||||
|
|
||||||
|
void KolibriOnPaint(void);
|
||||||
|
|
||||||
|
void __stdcall DrawWindow()
|
||||||
|
{
|
||||||
|
asm{
|
||||||
|
push ebx
|
||||||
|
mcall SF_REDRAW,SSF_BEGIN_DRAW
|
||||||
|
}
|
||||||
|
KolibriOnPaint();
|
||||||
|
asm{
|
||||||
|
mcall SF_REDRAW,SSF_END_DRAW
|
||||||
|
pop ebx
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool KolibriOnStart(TStartData &kos_start, TThreadData /*th*/)
|
||||||
|
{
|
||||||
|
kos_start.Left = 10;
|
||||||
|
kos_start.Top = 40;
|
||||||
|
kos_start.Width = 420;
|
||||||
|
kos_start.Height = 320;
|
||||||
|
kos_start.WinData.WindowColor = 0xFFFFFF;
|
||||||
|
kos_start.WinData.WindowType = 0x33; // 0x34 - fixed, 0x33 - not fixed
|
||||||
|
kos_start.WinData.Title = header;
|
||||||
|
if(LoadLibrary("proc_lib.obj", library_path, "/sys/lib/proc_lib.obj", &import_proc_lib))
|
||||||
|
{
|
||||||
|
cold.type = 0;
|
||||||
|
cold.procinfo = procinfo;
|
||||||
|
cold.com_area_name = "FFFFFFFF_color_dialog";
|
||||||
|
cold.com_area = 0;
|
||||||
|
cold.start_path = "/rd/1/colrdial";
|
||||||
|
cold.draw_window = DrawWindow;
|
||||||
|
cold.status = 0;
|
||||||
|
cold.x_size = 420;
|
||||||
|
cold.x_start = 10;
|
||||||
|
cold.y_size = 320;
|
||||||
|
cold.y_start = 10;
|
||||||
|
ColorDialog_Init(&cold);
|
||||||
|
} else return false;
|
||||||
|
color1=color2=color3=0xffffff;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void KolibriOnPaint(void)
|
||||||
|
{
|
||||||
|
// If button have ID 1, this is close button
|
||||||
|
DrawButton(2,0xf0f0f0, 10,10,60,20);
|
||||||
|
DrawText(20,16,0,"Color 1");
|
||||||
|
DrawButton(3,0xf0f0f0, 80,10,60,20);
|
||||||
|
DrawText(90,16,0,"Color 2");
|
||||||
|
DrawButton(4,0xf0f0f0, 150,10,60,20);
|
||||||
|
DrawText(160,16,0,"Color 3");
|
||||||
|
|
||||||
|
DrawRect( 10,40,61,100,color1);
|
||||||
|
DrawRect( 80,40,61,100,color2);
|
||||||
|
DrawRect(150,40,61,100,color3);
|
||||||
|
}
|
||||||
|
|
||||||
|
void KolibriOnButton(long id, TThreadData /*th*/)
|
||||||
|
{
|
||||||
|
switch(id){
|
||||||
|
case 2:
|
||||||
|
ColorDialog_Start(&cold);
|
||||||
|
if(cold.status==1){ color1 = cold.color; }
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
ColorDialog_Start(&cold);
|
||||||
|
if(cold.status==1){ color2 = cold.color; }
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
ColorDialog_Start(&cold);
|
||||||
|
if(cold.status==1){ color3 = cold.color; }
|
||||||
|
//break;
|
||||||
|
};
|
||||||
|
}
|
15
programs/bcc32/examples/color_dlg/color_dlg_cpp.bat
Normal file
15
programs/bcc32/examples/color_dlg/color_dlg_cpp.bat
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
Set NAME=color_dlg
|
||||||
|
Set BCC_DIR=..\..\..\bcc32
|
||||||
|
kos32-bcc -S -v- -R- -6 -a4 -O2 -Og -Oi -Ov -OS -k- -D__KOLIBRI__ -I..\..\..\bcc32\include %NAME%.cpp
|
||||||
|
|
||||||
|
echo STACKSIZE equ 8192> kos_make.inc
|
||||||
|
echo include "%BCC_DIR%\include\kos_start.inc">> kos_make.inc
|
||||||
|
echo include "%BCC_DIR%\include\kos_func.inc">> kos_make.inc
|
||||||
|
echo include "%BCC_DIR%\include\kos_heap.inc">> kos_make.inc
|
||||||
|
|
||||||
|
echo include "kos_make.inc" > f_%NAME%.asm
|
||||||
|
t2fasm < %NAME%.asm >> f_%NAME%.asm
|
||||||
|
fasm f_%NAME%.asm %NAME%.kex
|
||||||
|
if exist %NAME%.kex kpack %NAME%.kex
|
||||||
|
if exist %NAME%.kex del kos_make.inc
|
||||||
|
pause
|
@ -135,6 +135,7 @@ namespace Kolibri // All kolibri functions, types and data are nested in the (
|
|||||||
//_ of the stack if (stack_end) is zero or (stack_size) is not zero, in this case stack
|
//_ of the stack if (stack_end) is zero or (stack_size) is not zero, in this case stack
|
||||||
//_ will be deleted automaticaly from dynamic memory at the finish of the thread.
|
//_ will be deleted automaticaly from dynamic memory at the finish of the thread.
|
||||||
void DrawText(short x, short y, int color, const char* string);
|
void DrawText(short x, short y, int color, const char* string);
|
||||||
|
void DrawRect(long l, long t, long w, long h, long color);
|
||||||
void PutImage(unsigned char* img_data, long img_l, long img_t, long img_w, long img_h);
|
void PutImage(unsigned char* img_data, long img_l, long img_t, long img_w, long img_h);
|
||||||
void SetWindowCaption(const char* caption);
|
void SetWindowCaption(const char* caption);
|
||||||
}
|
}
|
||||||
|
@ -70,6 +70,7 @@ macro Kolibri_Put_MovEaxVal_Ret address,val
|
|||||||
mov dword [address+1],val
|
mov dword [address+1],val
|
||||||
}
|
}
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@Main$qv
|
proc @Kolibri@Main$qv
|
||||||
and esp,not 3
|
and esp,not 3
|
||||||
sub esp,1024
|
sub esp,1024
|
||||||
@ -118,6 +119,7 @@ end if ; should exit process if second argument points to not zero.
|
|||||||
int 0x40
|
int 0x40
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@ThreadMain$qpvt1
|
proc @Kolibri@ThreadMain$qpvt1
|
||||||
xchg ebx,[esp+4]
|
xchg ebx,[esp+4]
|
||||||
xchg ebp,[esp+8]
|
xchg ebp,[esp+8]
|
||||||
@ -329,6 +331,7 @@ end if
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@Redraw$qippv
|
proc @Kolibri@Redraw$qippv
|
||||||
push ebp
|
push ebp
|
||||||
mov ebp,[esp+12]
|
mov ebp,[esp+12]
|
||||||
@ -379,6 +382,7 @@ proc @Kolibri@Redraw$qippv
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@MoveWindow$qxpxi uses ebx esi
|
proc @Kolibri@MoveWindow$qxpxi uses ebx esi
|
||||||
mov eax,[esp+12]
|
mov eax,[esp+12]
|
||||||
mov ebx,[eax]
|
mov ebx,[eax]
|
||||||
@ -390,6 +394,7 @@ proc @Kolibri@MoveWindow$qxpxi uses ebx esi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@ExitDebug$qv
|
proc @Kolibri@ExitDebug$qv
|
||||||
push dword [@Kolibri@DebugPrefix]
|
push dword [@Kolibri@DebugPrefix]
|
||||||
call @Kolibri@DebugPutString$qpxc
|
call @Kolibri@DebugPutString$qpxc
|
||||||
@ -399,6 +404,7 @@ proc @Kolibri@ExitDebug$qv
|
|||||||
jmp @Kolibri@ExitProcess$qv
|
jmp @Kolibri@ExitProcess$qv
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@ExitProcess$qv
|
proc @Kolibri@ExitProcess$qv
|
||||||
lock bts dword [@Kolibri@_ExitProcessNow],0
|
lock bts dword [@Kolibri@_ExitProcessNow],0
|
||||||
jc .exit_process_wait
|
jc .exit_process_wait
|
||||||
@ -464,11 +470,13 @@ end if
|
|||||||
jmp .exit_process_wait_loop
|
jmp .exit_process_wait_loop
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@ExitThread$qppv
|
proc @Kolibri@ExitThread$qppv
|
||||||
mov esp,[esp+4]
|
mov esp,[esp+4]
|
||||||
jmp @Kolibri@ThreadMain$qpvt1.main_end
|
jmp @Kolibri@ThreadMain$qpvt1.main_end
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@ReturnMessageLoop$qppv
|
proc @Kolibri@ReturnMessageLoop$qppv
|
||||||
mov esp,[esp+4]
|
mov esp,[esp+4]
|
||||||
bt dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],30
|
bt dword [esp+KOLIBRI_THREAD_DATA_FLAG*4],30
|
||||||
@ -476,6 +484,7 @@ proc @Kolibri@ReturnMessageLoop$qppv
|
|||||||
jmp @Kolibri@ThreadMain$qpvt1.main_cycle
|
jmp @Kolibri@ThreadMain$qpvt1.main_cycle
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@Delay$qui uses ebx
|
proc @Kolibri@Delay$qui uses ebx
|
||||||
mov eax,SF_SLEEP
|
mov eax,SF_SLEEP
|
||||||
mov ebx,[esp+8]
|
mov ebx,[esp+8]
|
||||||
@ -483,6 +492,7 @@ proc @Kolibri@Delay$qui uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@Clock$qv uses ebx
|
proc @Kolibri@Clock$qv uses ebx
|
||||||
mov eax,SF_SYSTEM_GET
|
mov eax,SF_SYSTEM_GET
|
||||||
mov ebx,SSF_TIME_COUNT
|
mov ebx,SSF_TIME_COUNT
|
||||||
@ -490,6 +500,7 @@ proc @Kolibri@Clock$qv uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@DrawButton$qllllll uses ebx esi
|
proc @Kolibri@DrawButton$qllllll uses ebx esi
|
||||||
mov eax,SF_DEFINE_BUTTON
|
mov eax,SF_DEFINE_BUTTON
|
||||||
mov ebx,[esp+12-2+8]
|
mov ebx,[esp+12-2+8]
|
||||||
@ -502,12 +513,14 @@ proc @Kolibri@DrawButton$qllllll uses ebx esi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetPackedTime$qv
|
proc @Kolibri@GetPackedTime$qv
|
||||||
mov eax,SF_GET_SYS_TIME
|
mov eax,SF_GET_SYS_TIME
|
||||||
int 0x40
|
int 0x40
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetTime$qpi
|
proc @Kolibri@GetTime$qpi
|
||||||
mov eax,SF_GET_SYS_TIME
|
mov eax,SF_GET_SYS_TIME
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -534,12 +547,14 @@ proc @Kolibri@GetTime$qpi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetPackedDate$qv
|
proc @Kolibri@GetPackedDate$qv
|
||||||
mov eax,SF_GET_SYS_DATE
|
mov eax,SF_GET_SYS_DATE
|
||||||
int 0x40
|
int 0x40
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetDate$qpi
|
proc @Kolibri@GetDate$qpi
|
||||||
mov eax,SF_GET_SYS_DATE
|
mov eax,SF_GET_SYS_DATE
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -566,6 +581,7 @@ proc @Kolibri@GetDate$qpi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@ReadCommonColors$qpui uses ebx
|
proc @Kolibri@ReadCommonColors$qpui uses ebx
|
||||||
mov eax,SF_STYLE_SETTINGS
|
mov eax,SF_STYLE_SETTINGS
|
||||||
mov ebx,SSF_GET_COLORS
|
mov ebx,SSF_GET_COLORS
|
||||||
@ -575,6 +591,7 @@ proc @Kolibri@ReadCommonColors$qpui uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@DrawText$qssipxc uses ebx
|
proc @Kolibri@DrawText$qssipxc uses ebx
|
||||||
mov eax,SF_DRAW_TEXT
|
mov eax,SF_DRAW_TEXT
|
||||||
mov ebx,[esp+8-2]
|
mov ebx,[esp+8-2]
|
||||||
@ -586,6 +603,19 @@ proc @Kolibri@DrawText$qssipxc uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
proc @Kolibri@DrawRect$qlllll uses ebx
|
||||||
|
mov eax,SF_DRAW_RECT
|
||||||
|
mov ebx,[esp+8-2]
|
||||||
|
mov bx,[esp+16]
|
||||||
|
mov ecx,[esp+12-2]
|
||||||
|
mov cx,[esp+20]
|
||||||
|
mov edx,[esp+24]
|
||||||
|
int 0x40
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@PutImage$qpucllll uses ebx
|
proc @Kolibri@PutImage$qpucllll uses ebx
|
||||||
mov eax,SF_PUT_IMAGE
|
mov eax,SF_PUT_IMAGE
|
||||||
mov ebx,[esp+8]
|
mov ebx,[esp+8]
|
||||||
@ -597,6 +627,7 @@ proc @Kolibri@PutImage$qpucllll uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@SetWindowCaption$qpxc uses ebx
|
proc @Kolibri@SetWindowCaption$qpxc uses ebx
|
||||||
mov eax,SF_SET_CAPTION
|
mov eax,SF_SET_CAPTION
|
||||||
mov ebx,2
|
mov ebx,2
|
||||||
@ -605,6 +636,7 @@ proc @Kolibri@SetWindowCaption$qpxc uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetProcessInfo$qpuipct1t1piui uses ebx esi edi
|
proc @Kolibri@GetProcessInfo$qpuipct1t1piui uses ebx esi edi
|
||||||
sub esp,1024
|
sub esp,1024
|
||||||
mov eax,SF_THREAD_INFO
|
mov eax,SF_THREAD_INFO
|
||||||
@ -654,23 +686,26 @@ proc @Kolibri@GetProcessInfo$qpuipct1t1piui uses ebx esi edi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetPid$qv uses ebx
|
proc @Kolibri@GetPid$qv uses ebx
|
||||||
sub esp,1024
|
sub esp,1024
|
||||||
mov eax,SF_THREAD_INFO
|
mov eax,SF_THREAD_INFO
|
||||||
mov ebx,esp
|
mov ebx,esp
|
||||||
mov ecx,-1
|
mov ecx,-1
|
||||||
int 0x40
|
int 0x40
|
||||||
mov eax,[esp+30]
|
mov eax,[esp+process_information.PID]
|
||||||
add esp,1024
|
add esp,1024
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetPid$qppv
|
proc @Kolibri@GetPid$qppv
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
mov eax,[ecx+KOLIBRI_THREAD_DATA_PID*4]
|
mov eax,[ecx+KOLIBRI_THREAD_DATA_PID*4]
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@_HashByte$qui
|
proc @Kolibri@_HashByte$qui
|
||||||
@Kolibri@_HashWord$qui:
|
@Kolibri@_HashWord$qui:
|
||||||
@Kolibri@_HashDword$qui:
|
@Kolibri@_HashDword$qui:
|
||||||
@ -694,6 +729,7 @@ Kolibri_hash_int_val1:
|
|||||||
dd 0x9193780B
|
dd 0x9193780B
|
||||||
end if
|
end if
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetThreadData$qv
|
proc @Kolibri@GetThreadData$qv
|
||||||
call @Kolibri@GetPid$qv
|
call @Kolibri@GetPid$qv
|
||||||
push eax
|
push eax
|
||||||
@ -702,6 +738,7 @@ proc @Kolibri@GetThreadData$qv
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetThreadData$qui
|
proc @Kolibri@GetThreadData$qui
|
||||||
mov eax,[esp+4]
|
mov eax,[esp+4]
|
||||||
call Kolibri_HashInt
|
call Kolibri_HashInt
|
||||||
@ -741,6 +778,7 @@ proc @Kolibri@GetThreadData$qui
|
|||||||
jmp .get_thread_data_nowait
|
jmp .get_thread_data_nowait
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@_GetSkinHeader$qv uses ebx
|
proc @Kolibri@_GetSkinHeader$qv uses ebx
|
||||||
mov eax,SF_STYLE_SETTINGS
|
mov eax,SF_STYLE_SETTINGS
|
||||||
mov ebx,SSF_GET_SKIN_HEIGHT
|
mov ebx,SSF_GET_SKIN_HEIGHT
|
||||||
@ -748,6 +786,7 @@ proc @Kolibri@_GetSkinHeader$qv uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetScreenSize$qrust1
|
proc @Kolibri@GetScreenSize$qrust1
|
||||||
mov eax,SF_GET_SCREEN_SIZE
|
mov eax,SF_GET_SCREEN_SIZE
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -759,12 +798,14 @@ proc @Kolibri@GetScreenSize$qrust1
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc Kolibri_MutexLockNoWait
|
proc Kolibri_MutexLockNoWait
|
||||||
pop eax
|
pop eax
|
||||||
xor al,al
|
xor al,al
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc Kolibri_MutexLockWait uses ebx
|
proc Kolibri_MutexLockWait uses ebx
|
||||||
mov eax,SF_SLEEP
|
mov eax,SF_SLEEP
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
@ -776,6 +817,7 @@ proc Kolibri_MutexLockWait uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc Kolibri_MutexLockWaitTime
|
proc Kolibri_MutexLockWaitTime
|
||||||
cmp dword [esp+12],0
|
cmp dword [esp+12],0
|
||||||
jng .MutexLockWait
|
jng .MutexLockWait
|
||||||
@ -805,6 +847,7 @@ proc Kolibri_MutexLockWaitTime
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc Kolibri_MutexLock
|
proc Kolibri_MutexLock
|
||||||
shl byte [ecx],1
|
shl byte [ecx],1
|
||||||
jnz .lock_first
|
jnz .lock_first
|
||||||
@ -814,24 +857,28 @@ proc Kolibri_MutexLock
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@TryLock$qp14Kolibri@TMutex
|
proc @Kolibri@TryLock$qp14Kolibri@TMutex
|
||||||
mov eax,Kolibri_MutexLockNoWait
|
mov eax,Kolibri_MutexLockNoWait
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
jmp Kolibri_MutexLock
|
jmp Kolibri_MutexLock
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@Lock$qp14Kolibri@TMutex
|
proc @Kolibri@Lock$qp14Kolibri@TMutex
|
||||||
mov eax,Kolibri_MutexLockWait
|
mov eax,Kolibri_MutexLockWait
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
jmp Kolibri_MutexLock
|
jmp Kolibri_MutexLock
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@LockTime$qp14Kolibri@TMutexi
|
proc @Kolibri@LockTime$qp14Kolibri@TMutexi
|
||||||
mov eax,Kolibri_MutexLockWaitTime
|
mov eax,Kolibri_MutexLockWaitTime
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
jmp Kolibri_MutexLock
|
jmp Kolibri_MutexLock
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@UnLock$qp14Kolibri@TMutex
|
proc @Kolibri@UnLock$qp14Kolibri@TMutex
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
shr byte [ecx],1
|
shr byte [ecx],1
|
||||||
@ -847,6 +894,7 @@ proc @Kolibri@UnLock$qp14Kolibri@TMutex
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc Kolibri_MutexLockRec
|
proc Kolibri_MutexLockRec
|
||||||
shl byte [ecx],1
|
shl byte [ecx],1
|
||||||
jng .lock_first
|
jng .lock_first
|
||||||
@ -871,6 +919,7 @@ proc Kolibri_MutexLockRec
|
|||||||
jmp @Kolibri@ExitDebug$qv
|
jmp @Kolibri@ExitDebug$qv
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@TryLock$qp16Kolibri@TRecMutexui
|
proc @Kolibri@TryLock$qp16Kolibri@TRecMutexui
|
||||||
mov eax,Kolibri_MutexLockNoWait
|
mov eax,Kolibri_MutexLockNoWait
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
@ -878,6 +927,7 @@ proc @Kolibri@TryLock$qp16Kolibri@TRecMutexui
|
|||||||
jmp Kolibri_MutexLockRec
|
jmp Kolibri_MutexLockRec
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@Lock$qp16Kolibri@TRecMutexui
|
proc @Kolibri@Lock$qp16Kolibri@TRecMutexui
|
||||||
mov eax,Kolibri_MutexLockWait
|
mov eax,Kolibri_MutexLockWait
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
@ -885,6 +935,7 @@ proc @Kolibri@Lock$qp16Kolibri@TRecMutexui
|
|||||||
jmp Kolibri_MutexLockRec
|
jmp Kolibri_MutexLockRec
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@LockTime$qp16Kolibri@TRecMutexiui
|
proc @Kolibri@LockTime$qp16Kolibri@TRecMutexiui
|
||||||
mov eax,Kolibri_MutexLockWaitTime
|
mov eax,Kolibri_MutexLockWaitTime
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
@ -892,6 +943,7 @@ proc @Kolibri@LockTime$qp16Kolibri@TRecMutexiui
|
|||||||
jmp Kolibri_MutexLockRec
|
jmp Kolibri_MutexLockRec
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@UnLock$qp16Kolibri@TRecMutexui
|
proc @Kolibri@UnLock$qp16Kolibri@TRecMutexui
|
||||||
mov ecx,[esp+4]
|
mov ecx,[esp+4]
|
||||||
mov edx,[esp+8]
|
mov edx,[esp+8]
|
||||||
@ -922,6 +974,7 @@ proc @Kolibri@UnLock$qp16Kolibri@TRecMutexui
|
|||||||
jmp @Kolibri@ExitDebug$qv
|
jmp @Kolibri@ExitDebug$qv
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@DebugPutChar$qc
|
proc @Kolibri@DebugPutChar$qc
|
||||||
mov cl,byte [esp+4]
|
mov cl,byte [esp+4]
|
||||||
cmp cl,13
|
cmp cl,13
|
||||||
@ -945,6 +998,7 @@ proc @Kolibri@DebugPutChar$qc
|
|||||||
jmp .debug_put_char_after_cmp
|
jmp .debug_put_char_after_cmp
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@DebugPutString$qpxc uses esi
|
proc @Kolibri@DebugPutString$qpxc uses esi
|
||||||
push dword 0
|
push dword 0
|
||||||
mov esi,dword [esp+12]
|
mov esi,dword [esp+12]
|
||||||
@ -962,6 +1016,7 @@ proc @Kolibri@DebugPutString$qpxc uses esi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetKey$qv
|
proc @Kolibri@GetKey$qv
|
||||||
mov eax,SF_GET_KEY
|
mov eax,SF_GET_KEY
|
||||||
int 0x40
|
int 0x40
|
||||||
@ -974,6 +1029,7 @@ proc @Kolibri@GetKey$qv
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetMouseButton$qv uses ebx
|
proc @Kolibri@GetMouseButton$qv uses ebx
|
||||||
mov eax,SF_MOUSE_GET
|
mov eax,SF_MOUSE_GET
|
||||||
mov ebx,SSF_BUTTON
|
mov ebx,SSF_BUTTON
|
||||||
@ -981,6 +1037,7 @@ proc @Kolibri@GetMouseButton$qv uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@GetMousePosition$qrst1o uses ebx
|
proc @Kolibri@GetMousePosition$qrst1o uses ebx
|
||||||
mov eax,SF_MOUSE_GET
|
mov eax,SF_MOUSE_GET
|
||||||
xor ebx,ebx ;SSF_SCREEN_POSITION
|
xor ebx,ebx ;SSF_SCREEN_POSITION
|
||||||
@ -997,12 +1054,14 @@ proc @Kolibri@GetMousePosition$qrst1o uses ebx
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@WasThreadCreated$qv
|
proc @Kolibri@WasThreadCreated$qv
|
||||||
cmp byte [@Kolibri@_ThreadSavedBegProc],0x90
|
cmp byte [@Kolibri@_ThreadSavedBegProc],0x90
|
||||||
setz al
|
setz al
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@CreateThread$qpvuit1
|
proc @Kolibri@CreateThread$qpvuit1
|
||||||
push ebx
|
push ebx
|
||||||
mov edx,[esp+16]
|
mov edx,[esp+16]
|
||||||
@ -1078,6 +1137,7 @@ end if
|
|||||||
jmp .create_thread_fill_stack
|
jmp .create_thread_fill_stack
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
proc @Kolibri@_FileAccess$qp21Kolibri@FileInfoBlock uses ebx
|
proc @Kolibri@_FileAccess$qp21Kolibri@FileInfoBlock uses ebx
|
||||||
mov eax,SF_FILE
|
mov eax,SF_FILE
|
||||||
mov ebx,[esp+8]
|
mov ebx,[esp+8]
|
||||||
|
Loading…
Reference in New Issue
Block a user