Subversion Repositories Kolibri OS

Rev

Rev 7482 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7482 Rev 7494
Line 365... Line 365...
365
	//
365
	//
366
	Str[j] = 0;
366
	Str[j] = 0;
367
}
367
}
Line 368... Line 368...
368
 
368
 
369
 
369
 
370
// ôóíêöèÿ -1 çàâåðøåíèÿ ïðîöåññà
370
// function -1 termanate process
371
void kos_ExitApp()
371
void kos_ExitApp()
Line 372... Line 372...
372
{
372
{
Line 384... Line 384...
384
		int 0x40
384
		int 0x40
385
	}
385
	}
386
}
386
}
Line 387... Line 387...
387
 
387
 
388
 
388
 
389
// ôóíêöèÿ 0
389
// function 0
390
void kos_DefineAndDrawWindow(
390
void kos_DefineAndDrawWindow(
391
	Word x, Word y,
391
	Word x, Word y,
392
	Word sizeX, Word sizeY,
392
	Word sizeX, Word sizeY,
Line 415... Line 415...
415
		int 0x40
415
		int 0x40
416
	}
416
	}
417
}
417
}
Line 418... Line 418...
418
 
418
 
419
 
419
 
420
// ôóíêöèÿ 1 ïîñòàâèòü òî÷êó
420
// function 1
421
void kos_PutPixel( Dword x, Dword y, Dword colour )
421
void kos_PutPixel( Dword x, Dword y, Dword colour )
422
{
422
{
423
	//
423
	//
Line 429... Line 429...
429
		int 0x40
429
		int 0x40
430
	}
430
	}
431
}
431
}
Line 432... Line 432...
432
 
432
 
433
 
433
 
434
// ôóíêöèÿ 2 ïîëó÷èòü êîä íàæàòîé êëàâèøè
434
// function 2 get key code
435
bool kos_GetKey( Byte &keyCode )
435
bool kos_GetKey( Byte &keyCode )
Line 436... Line 436...
436
{
436
{
Line 447... Line 447...
447
	//
447
	//
448
	return ( result & 0xFF ) == 0;
448
	return ( result & 0xFF ) == 0;
449
}
449
}
Line 450... Line 450...
450
 
450
 
451
 
451
 
452
// ôóíêöèÿ 3 ïîëó÷èòü âðåìÿ
452
// function 3 get system clock
453
Dword kos_GetSystemClock()
453
Dword kos_GetSystemClock()
Line 454... Line 454...
454
{
454
{
Line 463... Line 463...
463
	//
463
	//
464
//	return result;
464
//	return result;
465
}
465
}
Line 466... Line 466...
466
 
466
 
467
 
467
 
468
// ôóíêöèÿ 4
468
// function 4
469
void kos_WriteTextToWindow(
469
void kos_WriteTextToWindow(
470
	Word x,
470
	Word x,
471
	Word y,
471
	Word y,
Line 489... Line 489...
489
		mov esi, textLen
489
		mov esi, textLen
490
		int 0x40
490
		int 0x40
491
	}
491
	}
492
}
492
}
Line -... Line 493...
-
 
493
 
-
 
494
// function 4
-
 
495
void kos_WriteTextWithBg(
-
 
496
	Word x,
-
 
497
	Word y,
-
 
498
	Byte fontType,
-
 
499
	Dword textColour,
-
 
500
	Dword bgcolour,
-
 
501
	char *textPtr,
-
 
502
	Dword textLen
-
 
503
	)
-
 
504
{
-
 
505
	Dword arg1, arg2;
-
 
506
 
-
 
507
	//
-
 
508
	arg1 = ( x << 16 ) | y;
-
 
509
	arg2 = ( fontType << 24 ) | textColour;
-
 
510
	//
-
 
511
	__asm{
-
 
512
		mov edi, bgcolour
-
 
513
	}
-
 
514
	kos_WriteTextToWindow(x,y,fontType,textColour,textPtr,textLen);
-
 
515
}
Line 493... Line 516...
493
 
516
 
494
 
517
 
495
// ôóíêöèÿ 5 ïàóçà, â ñîòûõ äîëÿõ ñåêóíäû
518
// function 5 pause, in value is 1/100 of second
496
void kos_Pause( Dword value )
519
void kos_Pause( Dword value )
497
{
520
{
498
	//
521
	//
Line 502... Line 525...
502
		int 0x40
525
		int 0x40
503
	}
526
	}
504
}
527
}
Line 505... Line 528...
505
 
528
 
506
 
529
 
507
// ôóíêöèÿ 7 íàðèñîâàòü èçîáðàæåíèå
530
// function 7
508
void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y )
531
void kos_PutImage( RGB * imagePtr, Word sizeX, Word sizeY, Word x, Word y )
Line 509... Line 532...
509
{
532
{
Line 522... Line 545...
522
	}
545
	}
523
}
546
}
Line 524... Line 547...
524
 
547
 
525
 
548
 
526
 
549
 
527
// ôóíêöèÿ 8 îïðåäåëèòü êíîïêó
550
// function 8
Line 528... Line 551...
528
void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour )
551
void kos_DefineButton( Word x, Word y, Word sizeX, Word sizeY, Dword buttonID, Dword colour )
Line 542... Line 565...
542
		int 0x40
565
		int 0x40
543
	}
566
	}
544
}
567
}
Line 545... Line 568...
545
 
568
 
546
 
569
 
547
// ôóíêöèÿ 9 - èíôîðìàöèÿ î ïðîöåññå
570
// function 9 get process info
548
Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID )
571
Dword kos_ProcessInfo( sProcessInfo *targetPtr, Dword processID )
Line 549... Line 572...
549
{
572
{
Line 560... Line 583...
560
	//
583
	//
561
//	return result;
584
//	return result;
562
}
585
}
Line 563... Line 586...
563
 
586
 
564
 
587
 
565
// ôóíêöèÿ 10
588
// function 10
566
Dword kos_WaitForEvent()
589
Dword kos_WaitForEvent()
Line 567... Line 590...
567
{
590
{
Line 575... Line 598...
575
	
598
	
576
//	return result;
599
//	return result;
Line 577... Line 600...
577
}
600
}
578
 
601
 
579
 
602
 
580
// ôóíêöèÿ 11
603
// function 11
Line 581... Line 604...
581
Dword kos_CheckForEvent()
604
Dword kos_CheckForEvent()
Line 590... Line 613...
590
	
613
	
591
//	return result;
614
//	return result;
Line 592... Line 615...
592
}
615
}
593
 
616
 
594
 
617
 
595
// ôóíêöèÿ 12
618
// function 12
596
void kos_WindowRedrawStatus( Dword status )
619
void kos_WindowRedrawStatus( Dword status )
597
{
620
{
598
	__asm{
621
	__asm{
599
		mov eax, 12
622
		mov eax, 12
600
		mov ebx, status
623
		mov ebx, status
Line 601... Line 624...
601
		int 0x40
624
		int 0x40
602
	}
625
	}
603
}
626
}
604
 
627
 
Line 605... Line 628...
605
 
628
 
Line 620... Line 643...
620
		int 0x40
643
		int 0x40
621
	}
644
	}
622
}
645
}
Line 623... Line 646...
623
 
646
 
624
 
647
 
625
// ôóíêöèÿ 17
648
// function 17
626
bool kos_GetButtonID( Dword &buttonID )
649
bool kos_GetButtonID( Dword &buttonID )
Line 627... Line 650...
627
{
650
{
Line 638... Line 661...
638
	//
661
	//
639
	return (result & 0xFF) == 0;
662
	return (result & 0xFF) == 0;
640
}
663
}
Line 641... Line 664...
641
 
664
 
642
 
665
 
643
// ôóíêöèÿ 23
666
// function 23
644
Dword kos_WaitForEvent( Dword timeOut )
667
Dword kos_WaitForEvent( Dword timeOut )
Line 645... Line 668...
645
{
668
{
Line 653... Line 676...
653
	}
676
	}
Line 654... Line 677...
654
	
677
	
655
//	return result;
678
//	return result;
Line 656... Line 679...
656
}
679
}
657
 
680
 
658
// ôóíêöèÿ 26.9 ïîëó÷èòü çíà÷åíèå ñ÷¸ò÷èêà âðåìåíè
681
// function 26.9 ïîëó÷èòü çíà÷åíèå ñ÷¸ò÷èêà âðåìåíè
659
Dword kos_GetTime()
682
Dword kos_GetTime()
660
{
683
{
661
	__asm{
684
	__asm{
662
		mov eax, 26
685
		mov eax, 26
663
		mov ebx, 9
686
		mov ebx, 9
664
		int 0x40
687
		int 0x40
Line 665... Line 688...
665
	}
688
	}
666
}
689
}
667
 
690
 
668
// ôóíêöèÿ 37 ïîëó÷åíèå èíôîðìàöèè î ñîñòîÿíèè "ìûøè"
691
// function 37 ïîëó÷åíèå èíôîðìàöèè î ñîñòîÿíèè "ìûøè"
669
void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY )
692
void kos_GetMouseState( Dword & buttons, int & cursorX, int & cursorY )
670
{
693
{
Line 692... Line 715...
692
	buttons = mB;
715
	buttons = mB;
693
	cursorX = curX - sPI.processInfo.x_start;
716
	cursorX = curX - sPI.processInfo.x_start;
694
	cursorY = curY - sPI.processInfo.y_start;
717
	cursorY = curY - sPI.processInfo.y_start;
695
}
718
}
Line 696... Line 719...
696
 
719
 
697
// ôóíêöèÿ 37.1 ïîëó÷åíèå êîîðäèíàò "ìûøè" îòíîñèòåëüíî îêíà
720
// function 37.1 ïîëó÷åíèå êîîðäèíàò "ìûøè" îòíîñèòåëüíî îêíà
698
void kos_GetMouseWindowXY( int & cursorX, int & cursorY )
721
void kos_GetMouseWindowXY( int & cursorX, int & cursorY )
699
{
722
{
700
	Word curX;
723
	Word curX;
Line 715... Line 738...
715
 
738
 
716
	cursorX = curX;
739
	cursorX = curX;
717
	cursorY = curY;
740
	cursorY = curY;
Line 718... Line 741...
718
}
741
}
719
 
742
 
720
// ôóíêöèÿ 37.2 ïîëó÷åíèå èíôîðìàöèè î íàæàòûõ êíîïêè "ìûøè"
743
// function 37.2 ïîëó÷åíèå èíôîðìàöèè î íàæàòûõ êíîïêè "ìûøè"
721
void kos_GetMouseButtonsState( Dword & buttons )
744
void kos_GetMouseButtonsState( Dword & buttons )
Line 722... Line 745...
722
{
745
{
Line 730... Line 753...
730
	}
753
	}
Line 731... Line 754...
731
 
754
 
732
	buttons = mB;
755
	buttons = mB;
Line 733... Line 756...
733
}
756
}
734
 
757
 
735
// ôóíêöèÿ 37.4 çàãðóçêà êóðñîðà "ìûøè"
758
// function 37.4 çàãðóçêà êóðñîðà "ìûøè"
736
Dword * kos_LoadMouseCursor( Dword * cursor, Dword loadstate )
759
Dword * kos_LoadMouseCursor( Dword * cursor, Dword loadstate )
737
{
760
{
738
	//Dword handle;
761
	//Dword handle;
Line 745... Line 768...
745
		//mov		handle, eax
768
		//mov		handle, eax
746
	}
769
	}
747
	//return handle;
770
	//return handle;
748
}
771
}
Line 749... Line 772...
749
 
772
 
750
// ôóíêöèÿ 37.5 óñòàíîâêà êóðñîðà "ìûøè"
773
// function 37.5 óñòàíîâêà êóðñîðà "ìûøè"
751
Dword * kos_SetMouseCursor( Dword * handle )
774
Dword * kos_SetMouseCursor( Dword * handle )
752
{
775
{
753
	//Dword handle;
776
	//Dword handle;
754
	__asm{
777
	__asm{
Line 759... Line 782...
759
		//mov		handle, eax
782
		//mov		handle, eax
760
	}
783
	}
761
	//return handle;
784
	//return handle;
762
}
785
}
Line 763... Line 786...
763
 
786
 
764
// ôóíêöèÿ 37.6 óäàëåíèå êóðñîðà "ìûøè"
787
// function 37.6 óäàëåíèå êóðñîðà "ìûøè"
765
void kos_DeleteMouseCursor( Dword * handle )
788
void kos_DeleteMouseCursor( Dword * handle )
766
{
789
{
767
	__asm{
790
	__asm{
768
		mov		eax, 37
791
		mov		eax, 37
769
		mov		ebx, 6
792
		mov		ebx, 6
770
		mov		ecx, handle
793
		mov		ecx, handle
771
		int		0x40
794
		int		0x40
772
	}
795
	}
Line 773... Line 796...
773
}
796
}
774
 
797
 
775
// ôóíêöèÿ 38 íàðèñîâàòü ïîëîñó
798
// function 38
776
void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour )
799
void kos_DrawLine( Word x1, Word y1, Word x2, Word y2, Dword colour )
Line 777... Line 800...
777
{
800
{
Line 789... Line 812...
789
		int 0x40
812
		int 0x40
790
	}
813
	}
791
}
814
}
Line 792... Line 815...
792
 
815
 
793
 
816
 
794
// ôóíêöèÿ 40 óñòàíîâèòü ìàñêó ñîáûòèé
817
// function 40
795
void kos_SetMaskForEvents( Dword mask )
818
void kos_SetMaskForEvents( Dword mask )
796
{
819
{
797
	//
820
	//
Line 801... Line 824...
801
		int 0x40
824
		int 0x40
802
	}
825
	}
803
}
826
}
Line 804... Line 827...
804
 
827
 
805
 
828
 
806
// ôóíêöèÿ 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî
829
// function 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî
807
void kos_DisplayNumberToWindow(
830
void kos_DisplayNumberToWindow(
808
   Dword value,
831
   Dword value,
809
   Dword digitsNum,
832
   Dword digitsNum,
Line 830... Line 853...
830
		mov esi, colour
853
		mov esi, colour
831
		int 0x40
854
		int 0x40
832
	}
855
	}
833
}
856
}
Line 834... Line 857...
834
 
857
 
835
// ôóíêöèÿ 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî c ôîíîì
858
// function 47 âûâåñòè â îêíî ïðèëîæåíèÿ ÷èñëî c ôîíîì
836
void kos_DisplayNumberToWindowBg(
859
void kos_DisplayNumberToWindowBg(
837
   Dword value,
860
   Dword value,
838
   Dword digitsNum,
861
   Dword digitsNum,
839
   Word x,
862
   Word x,
Line 872... Line 895...
872
		mov		ebx, 4
895
		mov		ebx, 4
873
		int		0x40
896
		int		0x40
874
	}
897
	}
875
}
898
}
Line 876... Line 899...
876
 
899
 
877
// ôóíêöèÿ 70 äîñòóï ê ôàéëîâîé ñèñòåìå
900
// function 70 äîñòóï ê ôàéëîâîé ñèñòåìå
878
Dword kos_FileSystemAccess( kosFileInfo *fileInfo )
901
Dword kos_FileSystemAccess( kosFileInfo *fileInfo )
879
{
902
{
Line 880... Line 903...
880
//	Dword result;
903
//	Dword result;
Line 889... Line 912...
889
	//
912
	//
890
//	return result;
913
//	return result;
891
}
914
}
Line 892... Line 915...
892
 
915
 
893
 
916
 
894
// ôóíêöèÿ 63 âûâîä ñèìâîëÿ â îêíî îòëàäêè
917
// function 63 âûâîä ñèìâîëÿ â îêíî îòëàäêè
895
void kos_DebugOutChar( char ccc )
918
void kos_DebugOutChar( char ccc )
896
{
919
{
897
	//
920
	//
Line 902... Line 925...
902
		int 0x40
925
		int 0x40
903
	}
926
	}
904
}
927
}
Line 905... Line 928...
905
 
928
 
906
 
929
 
907
// ôóíêöèÿ 66 ðåæèì ïîëó÷åíèÿ äàííûõ îò êëàâèàòóðû
930
// function 66 ðåæèì ïîëó÷åíèÿ äàííûõ îò êëàâèàòóðû
908
void kos_SetKeyboardDataMode( Dword mode )
931
void kos_SetKeyboardDataMode( Dword mode )
909
{
932
{
910
	//
933
	//
Line 928... Line 951...
928
	//
951
	//
929
	kos_DebugOutChar( 13 );
952
	kos_DebugOutChar( 13 );
930
	kos_DebugOutChar( 10 );
953
	kos_DebugOutChar( 10 );
931
}
954
}
Line -... Line 955...
-
 
955
 
-
 
956
void kos_DebugNumber(signed int n)
-
 
957
{
-
 
958
	if (n<0) {
-
 
959
		kos_DebugOutChar('-');
-
 
960
		n = -n;
-
 
961
	}
-
 
962
	while (n>10) {
-
 
963
		kos_DebugOutChar(n%10 + '0');
-
 
964
		n /= 10;
-
 
965
	}
-
 
966
	kos_DebugOutChar(n + '0');
-
 
967
	kos_DebugOutChar('\n');
Line 932... Line 968...
932
 
968
}
933
 
969
 
934
// ôóíêöèÿ 64 èçìåíåíèå êîëè÷åñòâà ïàìÿòè, âûäåëåííîé äëÿ ïðîãðàììû
970
// function 64 èçìåíåíèå êîëè÷åñòâà ïàìÿòè, âûäåëåííîé äëÿ ïðîãðàììû
935
bool kos_ApplicationMemoryResize( Dword targetSize )
971
bool kos_ApplicationMemoryResize( Dword targetSize )
Line 936... Line 972...
936
{
972
{
Line 947... Line 983...
947
	//
983
	//
948
	return result == 0;
984
	return result == 0;
949
}
985
}
Line 950... Line 986...
950
 
986
 
-
 
987
 
951
 
988
// function 67 change window size and position, 
952
// ôóíêöèÿ 67 èçìåíèòü ïàðàìåòðû îêíà, ïàðàìåòð == -1 íå ìåíÿåòñÿ
989
// if  param == -1 then value does not change
953
void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY )
990
void kos_ChangeWindow( Dword x, Dword y, Dword sizeX, Dword sizeY )
954
{
991
{
955
	//
992
	//