+FRAME: различия между версиями
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 11: | Строка 11: | ||
Для возврата в [[режим NUM]] нажмите [[Клавиша P|синюю клавишу {{Синяя клавиша|P}}]]. | Для возврата в [[режим NUM]] нажмите [[Клавиша P|синюю клавишу {{Синяя клавиша|P}}]]. | ||
== | == Реализация == | ||
В [[Каллисто|Каллисто 1.0]] слово +FRAME это обёртка вокруг [[R9014]], но порядок аргументов взят из {{colorForth}}. [[Атрибуты вывода]] берутся из [[R9001]]. | |||
<pre> | |||
1088 JPL0: 9 EE 3 + M8 ; В железном МК−161 после БП не нужен ENT | |||
1089 RM3 MB M5 2 + M3 | |||
1090 KRMB KRM5 KM8 | |||
1091 KGOTO9 | |||
… | |||
1093 JJPL0: PGOTO JPL0 ; 9000 AT Установить курсор | |||
… | |||
1096 JFRAME: 14 GOTO JJPL0 ; 9014 +FRAME Вывод рамки | |||
… | |||
1119 ;#PlusFRAME | |||
1120 ; +FRAME ( c1 c2 −− ) Нарисовать на индикаторе рамку шириной c1 высотой c2. | |||
1121 ; dX dY +FRAME рисует рамку, dX и dY − размер рамки | |||
1122 ; Рамка начинается от текущей позиции курсора, заданной AT | |||
1123 ; Атрибут из R9001. Обёртка вокруг R9014, но порядок аргументов взят из colorForth. | |||
1124 LFRAME: .DB 6 | |||
1125 .TEXT "+FRAME" ; ( dX dY −− ) | |||
1126 .DW LBOX | |||
1127 FRAME: .DW JFRAME | |||
</pre> | |||
== История == | == История == | ||
Строка 22: | Строка 42: | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Примитивы]] | [[Категория:Примитивы]] | ||
[[Категория:Терминальный ввод/вывод Каллисто]] | [[Категория:Терминальный ввод/вывод Каллисто]] |
Текущая версия от 09:33, 9 ноября 2017
+FRAME (плюс рамка, читается «плюс-фрэйм») — встроенное слово Каллисто.
+FRAME ( u1 u2 −− ) Нарисовать на индикаторе рамку шириной u1 вышиной u2.
Рисует рамку, начиная с текущей позиции курсора, заданной AT. u1 и u2 - размер рамки по горизонтали и вертикали. Позиция курсора не меняется. Для выбора цвета рамки предварительно используйте примитив LIGHT (светлая рамка) или DARK (тёмная рамка).
Пример: 10 50 AT 108 10 DARK +FRAME − рисует тёмную рамку с углами в точках (10,50) и (117,59).
Ввод слова +FRAME[править]
В режиме NUM последовательно нажмите клавиши + Р-ГРД-Г П × ШГ← ÷ ИП
Для возврата в режим NUM нажмите синюю клавишу P .
Реализация[править]
В Каллисто 1.0 слово +FRAME это обёртка вокруг R9014, но порядок аргументов взят из colorForth. Атрибуты вывода берутся из R9001.
1088 JPL0: 9 EE 3 + M8 ; В железном МК−161 после БП не нужен ENT 1089 RM3 MB M5 2 + M3 1090 KRMB KRM5 KM8 1091 KGOTO9 … 1093 JJPL0: PGOTO JPL0 ; 9000 AT Установить курсор … 1096 JFRAME: 14 GOTO JJPL0 ; 9014 +FRAME Вывод рамки … 1119 ;#PlusFRAME 1120 ; +FRAME ( c1 c2 −− ) Нарисовать на индикаторе рамку шириной c1 высотой c2. 1121 ; dX dY +FRAME рисует рамку, dX и dY − размер рамки 1122 ; Рамка начинается от текущей позиции курсора, заданной AT 1123 ; Атрибут из R9001. Обёртка вокруг R9014, но порядок аргументов взят из colorForth. 1124 LFRAME: .DB 6 1125 .TEXT "+FRAME" ; ( dX dY −− ) 1126 .DW LBOX 1127 FRAME: .DW JFRAME
История[править]
Английское слово frame означает «рамка». Знак «плюс» означает, что слову передаются размеры изображаемого объекта.
Ссылки[править]
- Исходный текст слова +FRAME в Каллисто Классик 1.0
- См. слова +BOX, DOT! и BAR
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |