+FRAME: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 7: Строка 7:


== Ввод слова +FRAME ==
== Ввод слова +FRAME ==
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша +|{{Серая клавиша|+}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ШГ влево|{{Чёрная клавиша|ШГ←}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]
В [[Режим NUM|режиме NUM]] последовательно нажмите клавиши [[Клавиша +|{{Серая клавиша|+}}]]   [[Клавиша Р-ГРД-Г|{{Чёрная клавиша|Р-ГРД-Г}}]] [[Клавиша П|{{Чёрная клавиша|П}}]] [[Клавиша ×|{{Серая клавиша|×}}]] {{ШГ←}} [[Клавиша ÷|{{Серая клавиша|÷}}]] [[Клавиша ИП|{{Чёрная клавиша|ИП}}]]


Для возврата в [[режим NUM]] нажмите [[Клавиша P|синюю клавишу {{Синяя клавиша|P}}]].
Для возврата в [[режим NUM]] нажмите [[Клавиша P|синюю клавишу {{Синяя клавиша|P}}]].


== Детали реализации ==
== Реализация ==
Обёртка вокруг [[R9014]], но порядок аргументов взят из {{colorForth}}. [[Атрибуты вывода]] берутся из [[R9001]].
В [[Каллисто|Каллисто 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.
Пример работы слова +FRAME

Рисует рамку, начиная с текущей позиции курсора, заданной 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 означает «рамка». Знак «плюс» означает, что слову передаются размеры изображаемого объекта.

Ссылки[править]


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.