Subversion Repositories Kolibri OS

Rev

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

Rev 6771 Rev 6791
Line 56... Line 56...
56
#define EVENT_MASK_MOUSE    000100000b
56
#define EVENT_MASK_MOUSE    000100000b
57
#define EVENT_MASK_IPC      001000000b
57
#define EVENT_MASK_IPC      001000000b
58
#define EVENT_MASK_NETWORK  010000000b
58
#define EVENT_MASK_NETWORK  010000000b
59
#define EVENT_MASK_DEBUG    100000000b
59
#define EVENT_MASK_DEBUG    100000000b
Line 60... Line -...
60
 
-
 
61
//ARGS FUNCTION
-
 
62
#define END_ARGS 0xFF00FF
60
 
Line 63... Line 61...
63
//-------------------------------------------------------------------------
61
//-------------------------------------------------------------------------
64
 
62
 
65
#include "../lib/system.h"
63
#include "../lib/system.h"
Line 118... Line 116...
118
inline fastcall dword GetFreeRAM()
116
inline fastcall dword GetFreeRAM()
119
{
117
{
120
	$mov eax, 18
118
	$mov eax, 18
121
	$mov ebx, 16
119
	$mov ebx, 16
122
	$int 0x40
120
	$int 0x40
123
	//return eax = ðàçìåð ñâîáîäíîé ïàìÿòè â êèëîáàéòàõ
121
	//return eax = ðàçìåð ñâîáîäíîé ïàìÿòè â êèëîáàéòàõ
124
}
122
}
Line 125... Line 123...
125
 
123
 
126
inline fastcall dword LoadDriver(ECX) //ECX - èìÿ äðàéâåðà
124
inline fastcall dword LoadDriver(ECX) //ECX - èìÿ äðàéâåðà
127
{
125
{
128
	$mov eax, 68
126
	$mov eax, 68
129
	$mov ebx, 16
127
	$mov ebx, 16
130
	$int 0x40
128
	$int 0x40
131
	//return 0 - íåóäà÷à, èíà÷å eax = õýíäë äðàéâåðà 
129
	//return 0 - íåóäà÷à, èíà÷å eax = õýíäë äðàéâåðà 
Line 132... Line 130...
132
}
130
}
133
 
131
 
134
inline fastcall dword RuleDriver(ECX) //óêàçàòåëü íà óïðàâëÿþùóþ ñòðóêòóðó
132
inline fastcall dword RuleDriver(ECX) //óêàçàòåëü íà óïðàâëÿþùóþ ñòðóêòóðó
135
{
133
{
136
	$mov eax, 68
134
	$mov eax, 68
137
	$mov ebx, 17
135
	$mov ebx, 17
138
	$int 0x40
136
	$int 0x40
Line 139... Line 137...
139
	//return eax = îïðåäåëÿåòñÿ äðàéâåðîì
137
	//return eax = îïðåäåëÿåòñÿ äðàéâåðîì
140
}
138
}
141
 
139
 
Line 255... Line 253...
255
  EBX=1;
253
  EBX=1;
256
  $int 0x40
254
  $int 0x40
257
}
255
}
Line 258... Line 256...
258
 
256
 
259
 
257
 
260
//eax = ÿçûê ñèñòåìû (1=eng, 2=fi, 3=ger, 4=rus)
258
//eax = ÿçûê ñèñòåìû (1=eng, 2=fi, 3=ger, 4=rus)
261
#define SYS_LANG_ENG 1
259
#define SYS_LANG_ENG 1
262
#define SYS_LANG_FIN 2
260
#define SYS_LANG_FIN 2
263
#define SYS_LANG_GER 3
261
#define SYS_LANG_GER 3
Line 362... Line 360...
362
	EAX = 71;
360
	EAX = 71;
363
	EBX = 1;
361
	EBX = 1;
364
	$int 0x40;
362
	$int 0x40;
365
}
363
}
Line -... Line 364...
-
 
364
 
-
 
365
// @EDX is a procewss id, -1 for self
-
 
366
// @ESI is a new LayerBehaviour
-
 
367
// @RETURN: EAX, 0 is fail, 1 is success
-
 
368
#define WINDOW_LAYER_ALWAYS_ON_TOP 1
-
 
369
inline fastcall dword SetWindowLayerBehaviour(EDX, ESI)
-
 
370
{
-
 
371
	EAX = 18;
-
 
372
	EBX = 25;
-
 
373
	ECX = 2;
-
 
374
	$int 64
-
 
375
}
366
 
376
 
367
:void WriteTextB(dword x,y,byte fontType, dword color, str_offset)
377
:void WriteTextB(dword x,y,byte fontType, dword color, str_offset)
368
{
378
{
369
	EAX = 4;
379
	EAX = 4;
370
	EBX = x<<16+y;
380
	EBX = x<<16+y;
Line 412... Line 422...
412
  ECX = w << 16 + h;
422
  ECX = w << 16 + h;
413
  EDX = x << 16 + y;
423
  EDX = x << 16 + y;
414
  $int  0x40;
424
  $int  0x40;
415
}
425
}
Line 416... Line 426...
416
 
426
 
417
:dword GetPixelColor(dword x, x_size, y)
427
:dword GetPixelColorFromScreen(dword _x, _y)
418
{
428
{
419
	$mov eax, 35
429
	EAX = 35;
420
	EBX= y*x_size+x;
430
	EBX = _y * screen.width + _x;
421
	$int 0x40
431
	$int 64
Line 422... Line 432...
422
}
432
}
423
 
433
 
424
:void _PutImage(dword x,y, w,h, data_offset)
434
:void _PutImage(dword x,y, w,h, data_offset)
Line 488... Line 498...
488
	EDX = id;
498
	EDX = id;
489
	ESI = color;
499
	ESI = color;
490
	$int 0x40
500
	$int 0x40
491
}
501
}
Line -... Line 502...
-
 
502
 
-
 
503
void DefineDragableWindow(dword _x, _y, _w, _h)
-
 
504
{
-
 
505
	DefineAndDrawWindow(_x, _y, _w, _h, 0x41,0x000000,NULL,0b);
-
 
506
}
-
 
507
 
-
 
508
:void EventDragWindow()
-
 
509
{
-
 
510
	dword tmp_x,tmp_y;
-
 
511
	dword z1,z2;
-
 
512
	tmp_x = mouse.x;
-
 
513
	tmp_y = mouse.y;
-
 
514
	do {
-
 
515
		mouse.get();
-
 
516
		if (tmp_x!=mouse.x) || (tmp_y!=mouse.y) 
-
 
517
		{
-
 
518
			z1 = Form.left + mouse.x - tmp_x;
-
 
519
			z2 = Form.top + mouse.y - tmp_y;
-
 
520
			if(z1<=10) || (z1>20000) z1=0; else if(z1>screen.width-Form.width-10)z1=screen.width-Form.width;
-
 
521
			if(z2<=10) || (z2>20000) z2=0; else if(z2>screen.height-Form.height-10)z2=screen.height-Form.height;
-
 
522
			MoveSize(z1 , z2, OLD, OLD);
-
 
523
			draw_window();
-
 
524
		}
-
 
525
		pause(1);
-
 
526
	} while (mouse.lkm);
-
 
527
}
-
 
528
 
-
 
529
:void DefineHiddenButton(dword _x, _y, _w, _h, _id)
-
 
530
{
-
 
531
	DefineButton(_x, _y, _w, _h, _id + BT_HIDE, 0);
-
 
532
}
492
 
533
 
493
inline fastcall void DeleteButton( EDX)
534
inline fastcall void DeleteButton( EDX)
494
{
535
{
495
	EAX = 8;
536
	EAX = 8;
496
	EDX += BT_DEL;
537
	EDX += BT_DEL;
Line 599... Line 640...
599
	dword dir;
640
	dword dir;
600
	dword file;
641
	dword file;
601
	dword path;
642
	dword path;
602
} self;
643
} self;
Line 603... Line 644...
603
 
644
 
Line 604... Line 645...
604
dword __generator;  // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë
645
dword __generator;  // random number generator - äëÿ ãåíåðàöèè ñëó÷àéíûõ ÷èñåë
Line 605... Line 646...
605
 
646
 
606
:dword program_path_length;
647
:dword program_path_length;