Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. console.obj ýêñïîðòèðóåò ñëåäóþùèå ôóíêöèè:
  2.  
  3. typedef unsigned long dword; /* 32-áèòíîå áåççíàêîâîå öåëîå */
  4. typedef unsigned short word; /* 16-áèòíîå áåççíàêîâîå öåëîå */
  5.  
  6. void __stdcall con_init(dword wnd_width, dword wnd_height,
  7.         dword scr_width, dword scr_height, const char* title);
  8. Èíèöèàëèçàöèÿ êîíñîëè. Âûçûâàåòñÿ îäèí ðàç â íà÷àëå ïðîãðàììû.
  9. wnd_width, wnd_height - âûñîòà è øèðèíà (â ñèìâîëàõ) âèäèìîé â îêíå êîíñîëè
  10.         îáëàñòè;
  11. scr_width, scr_height - âûñîòà è øèðèíà (â ñèìâîëàõ) âñåé êîíñîëè;
  12. ëþáûå èç ïåðâûõ 4 ïàðàìåòðîâ ìîãóò áûòü óñòàíîâëåíû â -1 (=0xFFFFFFFF)
  13.         - èñïîëüçîâàòü çíà÷åíèÿ ïî óìîë÷àíèþ;
  14. title - çàãîëîâîê îêíà êîíñîëè.
  15.  
  16. void __stdcall con_exit(bool bCloseWindow);
  17. Âûçûâàåòñÿ ïðè çàâåðøåíèè ïðîãðàììû. Åñëè (áàéòîâûé) ïàðàìåòð bCloseWindow
  18. íóëåâîé, òî îêíî êîíñîëè îñòà¸òñÿ íà ýêðàíå äî òîãî ìîìåíòà, êàê ïîëüçîâàòåëü
  19. ïîæåëàåò çàêðûòü åãî, ïðè ýòîì ê çàãîëîâêó äîáàâëÿåòñÿ ñòðîêà " [Finished]".
  20.  
  21. void __stdcall con_set_title(const char* title);
  22. Óñòàíàâëèâàåò íîâûé çàãîëîâîê îêíà êîíñîëè.
  23.  
  24. void __stdcall con_write_asciiz(const char* string);
  25. Âûâîäèò ASCIIZ-ñòðîêó â êîíñîëü â òåêóùóþ ïîçèöèþ, ïðîäâèãàåò òåêóùóþ ïîçèöèþ.
  26.  
  27. void __stdcall con_write_string(const char* string, dword length);
  28. Àíàëîãè÷íî con_write_asciiz, íî âûâîäèò ðîâíî length ñèìâîëîâ.
  29.  
  30. int __cdecl con_printf(const char* format, ...)
  31. Ñòàíäàðòíàÿ printf èç ANSI C.
  32.  
  33. dword __stdcall con_get_flags(void);
  34. Ïîëó÷àåò çíà÷åíèå ôëàãîâ âûâîäà.
  35. dword __stdcall con_set_flags(dword new_flags);
  36. Óñòàíàâëèâàåò çíà÷åíèå ôëàãîâ âûâîäà. Âîçâðàùàåò ñòàðîå çíà÷åíèå.
  37. Ôëàãè (áèòîâàÿ ìàñêà):
  38. /* öâåò òåêñòà */
  39. #define CON_COLOR_BLUE          1
  40. #define CON_COLOR_GREEN         2
  41. #define CON_COLOR_RED           4
  42. #define CON_COLOR_BRIGHT        8
  43. /* öâåò ôîíà */
  44. #define CON_BGR_BLUE            0x10
  45. #define CON_BGR_GREEN           0x20
  46. #define CON_BGR_RED             0x40
  47. #define CON_BGR_BRIGHT          0x80
  48. /* óïðàâëåíèå âûâîäîì */
  49. #define CON_IGNORE_SPECIALS     0x100
  50. /* Åñëè ôëàã ñáðîøåí, ôóíêöèÿ èíòåðïðåòèðóåò ñïåöèàëüíûå ñèìâîëû:
  51.         10 ('\n') - ïåðåâîä â íà÷àëî ñëåäóþùåé ñòðîêè
  52.         13 ('\r') - ïåðåâîä â íà÷àëî òåêóùåé ñòðîêè
  53.         8 ('\b') - çàáîé (íà ñèìâîë íàçàä)
  54.         9 ('\t') - òàáóëÿöèÿ
  55.         27 ('\033'='\x1B') - íà÷àëî Esc-ïîñëåäîâàòåëüíîñòè;
  56. èíà÷å âûâîäèò èõ êàê îáû÷íûå ñèìâîëû. */
  57. /* Ïîääåðæèâàåìûå Esc-ïîñëåäîâàòåëüíîñòè:
  58.         Esc[<number1>;<number2>;<number3>m - âûáîð àòðèáóòîâ ñèìâîëîâ:
  59.                 ìîæíî óêàçûâàòü îäèí, äâà èëè òðè êîäà â ëþáîì ïîðÿäêå;
  60.                 0 = íîðìàëüíîå èçîáðàæåíèå (áåëûå ñèìâîëû íà ÷¸ðíîì ôîíå)
  61.                 1 = âûäåëåíèå ÿðêîñòüþ
  62.                 5 = ÿðêèé ôîí
  63.                 7 = ðåâåðñíîå èçîáðàæåíèå (÷¸ðíûå ñèìâîëû íà áåëîì ôîíå)
  64.                 30 = ÷¸ðíûå ñèìâîëû
  65.                 31 = êðàñíûå ñèìâîëû
  66.                 32 = çåë¸íûå ñèìâîëû
  67.                 33 = êîðè÷íåâûå ñèìâîëû
  68.                 34 = ñèíèå ñèìâîëû
  69.                 35 = ôèîëåòîâûå ñèìâîëû
  70.                 36 = áèðþçîâûå ñèìâîëû
  71.                 37 = áåëûå ñèìâîëû
  72.                 40 = ÷¸ðíûé ôîí
  73.                 41 = êðàñíûé ôîí
  74.                 42 = çåë¸íûé ôîí
  75.                 43 = êîðè÷íåâûé ôîí
  76.                 44 = ñèíèé ôîí
  77.                 45 = ôèîëåòîâûé ôîí
  78.                 46 = áèðþçîâûé ôîí
  79.                 47 = áåëûé ôîí
  80. */
  81. Çíà÷åíèå ïî óìîë÷àíèþ äëÿ ôëàãîâ = 7.
  82.  
  83. int __stdcall con_get_font_height(void);
  84. Âîçâðàùàåò çíà÷åíèå âûñîòû øðèôòà.
  85.  
  86. int __stdcall con_get_cursor_height(void);
  87. Ïîëó÷àåò çíà÷åíèå âûñîòû êóðñîðà.
  88. int __stdcall con_set_cursor_height(int new_height);
  89. Óñòàíàâëèâàåò çíà÷åíèå âûñîòû êóðñîðà. Âîçâðàùàåò ñòàðîå çíà÷åíèå.
  90. Ïîïûòêà óñòàíîâèòü çíà÷åíèå âíå êîððåêòíîãî èíòåðâàëà (îò 0 äî font_height-1)
  91. èãíîðèðóåòñÿ.
  92. Êóðñîð âûñîòû 0 íå îòîáðàæàåòñÿ íà ýêðàíå.
  93. Çíà÷åíèå âûñîòû ïî óìîë÷àíèþ - 15% îò âûñîòû øðèôòà.
  94.  
  95. int __stdcall con_getch(void);
  96. Ñ÷èòûâàåò îäèí ñèìâîë ñ êëàâèàòóðû.
  97. Äëÿ îáû÷íûõ ñèìâîëîâ âîçâðàùàåòñÿ ASCII-êîä. Äëÿ ðàñøèðåííûõ ñèìâîëîâ
  98. (íàïðèìåð, Fx è ñòðåëî÷åê) ïåðâûé âûçîâ ôóíêöèè âîçâðàùàåò 0,
  99. à ïîâòîðíûé âûçîâ âîçâðàùàåò ðàñøèðåííûé êîä (ïîäîáíî DOS-ôóíêöèÿì ââîäà).
  100.  
  101. word __stdcall con_getch2(void);
  102. Ñ÷èòûâàåò îäèí ñèìâîë ñ êëàâèàòóðû. Ìëàäøèé áàéò ñîäåðæèò ASCII-êîä êëàâèøè
  103. (0 äëÿ ðàñøèðåííûõ ñèìâîëîâ), ñòàðøèé - ðàñøèðåííûé êîä
  104. (ïîäîáíî BIOS-ôóíêöèÿì ââîäà).
  105.  
  106. int __stdcall con_kbhit(void);
  107. Âîçâðàùàåò 1, åñëè êàêàÿ-òî êëàâèøà áûëà íàæàòà, 0 èíà÷å. Äëÿ ñ÷èòûâàíèÿ
  108. íàæàòîé êëàâèøè ïðåäíàçíà÷åíû ôóíêöèè con_getch è con_getch2.
  109.  
  110. void __stdcall con_gets(char* str, int n);
  111. Ñ÷èòûâàåò ñòðîêó ñ êëàâèàòóðû. Ââîä ïðåðûâàåòñÿ ïðè ïîñòóïëåíèè ñèìâîëà
  112. íîâîé ñòðîêè, à òàêæå ïî ïðî÷òåíèè n-1 ñèìâîëà (â çàâèñèìîñòè îò òîãî, ÷òî
  113. ïðîèçîéä¸ò ðàíüøå).  ïåðâîì ñëó÷àå ñèìâîë íîâîé ñòðîêè òàêæå çàïèñûâàåòñÿ â
  114. str. Ñ÷èòàííàÿ ñòðîêà äîïîëíÿåòñÿ íóëåâûì ñèìâîëîì.
  115.