Скачать 113.49 Kb.
|
Лекция 22-23Работа с мышьюМышь – это устройство компьютера для ввода информации, относящееся к классу манипуляторов. Курсор мыши – это указатель мыши, перемещающийся по экрану в зависимости от перемещения мыши по столу. Так как курсор мыши представляет собой матрицу растрового изображения, для определения координат курсора мыши вводится понятие точки-указателя. Точка-указатель – это точка в матрице растрового изображения курсора, координаты которой принимаются за координаты курсора мыши. Положение точки-указателя в курсоре зависит от формы и типа курсора и может задаваться программно. Минимальное расстояние на экране, на которое может перемещаться курсор мыши в текстовом режиме – знакоместо, в графическом режиме – пиксел. Координаты мыши считаются попиксельно для любого режима видеоадаптера, поэтому в графическом режиме видеоадаптера они совпадают с пиксельной организацией экрана, а в текстовом режиме для преобразования пиксельных координат курсора мыши в координаты знакоместа необходимо воспользоваться следующей формулой: symbol=pixel/8+1, где symbol – координата (x или y) знакоместа в текстовом режиме, pixel – координата курсора мыши, +1 – из-за разности координат левого верхнего угла в текстовом и графическом режимах. Взаимодействие мыши с компьютером производится следующим образом: при изменении своего состояния (перемещение мыши по столу или нажатие кнопки) мышь генерирует соответствующий пакет данных, в котором хранится информация об изменении состояния, и посылает этот пакет по соответствующему интерфейсу компьютера, к которому мышь подключена. Это генерирует аппаратное прерывание, которое активизирует драйвер мыши (номер аппаратного прерывания зависит от типа мыши и интерфейса, к которому она подключена). Так как в состав BIOS и MS-DOS драйвер не входит, то он должен быть загружен пользователем (или ОС через настройки в файлах config.sys и autoexec.bat). Этот драйвер выполняет следующие функции: отслеживает перемещение мыши и состояние её кнопок; рисует на экране курсор мыши, повторяющий движения мыши; предоставляет программам пользователя интерфейс для работы с мышью, реализованный через программное прерывание 33h для обслуживания мыши. Функции прерывания 33hФункция 00h. Выполняет аппаратный сброс мыши и программную установку драйвера мыши в исходное состояние. Регистры на входе:
Регистры на выходе:
Функция 01h. Позволяет включить курсор мыши. Регистры на входе:
Регистры на выходе не используются. Для управления видимостью курсора драйвер мыши использует внутренний счётчик. При вызове инициализирующей функции 00h значение счётчика устанавливается равным –1 и курсор невидим. При вызове функции 01h его значение увеличивается на 1 и становится равным 0, и курсор становится видимым и может перемещаться по экрану. Если счётчик равен 0, то следующие вызовы функции 01h игнорируются драйвером. Функция 01h сбрасывает область исключения, в которой курсор не отображается (если такая область была ранее установлена функцией 10h). Функция 02h. Позволяет выключить курсор мыши. Регистры на входе:
Регистры на выходе не используются. При вызове функции 02h значение счётчика уменьшается на 1, если его значение становится равным –1 или меньше, то курсор становится невидимым. Функция 03h. Возвращает текущие координаты курсора мыши и состояние кнопок. Регистры на входе:
Регистры на выходе:
Программы, работающие в текстовом режиме, должны разделить полученные координаты на 8 и прибавить 1. Функция 04h. Устанавливает курсор мыши в заданную позицию на экране. Регистры на входе:
Регистры на выходе не используются. Для текстового режима значения координат должны быть уменьшены на 1 и умножены на 8. Если область перемещения курсора ограничена функциями 07h или 08h, то при попытке установить курсор за границу области ограничения он будет установлен в точку, которая находится внутри области ограничения на минимальном расстоянии от точки, заданной вызовом функции. Функция 05h. Определяет положение курсора мыши при нажатии кнопок. Регистры на входе:
Регистры на выходе:
В отличии от функции 03h эта функция возвращает не текущее состояние мыши, а запомненное в момент последнего нажатия на кнопку, определённую при вызове функции. Кроме того, возможно обнаружение многократных щелчков. Функция 06h. Определяет положение курсора мыши при отпускании кнопки. Регистры на входе:
Регистры на выходе:
Функция 07h. Задаёт диапазон движения курсора мыши по горизонтали. Регистры на входе:
Регистры на выходе не используются. Функция 08h. Задаёт диапазон движения курсора мыши по вертикали. Регистры на входе:
Регистры на выходе не используются. Функция 09h. Задаёт форму курсора мыши в графическом режиме. Регистры на входе:
Регистры на выходе не используются. Регистры ES:DX содержат указатель (ES – сегмент, DX – смещение) на область памяти размером 64 байта, которая состоит из 2 массивов длиной по 32 байта. Первый массив представляет собой логическую маску размером 16X16 бит, которая накладывается на участок видеопамяти под курсором с использованием логической операции «И». Второй массив – тоже маска размером 16X16 бит, но она накладывается с использованием логической операции «Исключающее ИЛИ», инвертируя отдельные точки изображения. Функция 0Ah. Задаёт форму курсора мыши в текстовом режиме. Регистры на входе:
Регистры на выходе не используются. Программный курсор представляет собой символ с инвертированным значением атрибута и используется по умолчанию. Для этого курсора вначале выполняется логическая операция «И» над содержимым видеопамяти в том месте, на которое указывает курсор, и маской экрана. Затем выполняется логическая операция «Исключающее ИЛИ» над содержимым видеопамяти с маской курсора. Курсор, сформированный аппаратными средствами, выглядит аналогично обычному текстовому курсору, его форма – прямоугольник, размер которого задаётся при помощи регистров CX и DX. Функция 0Bh. Определяет относительное перемещение мыши с момента последнего вызова этой функции. Регистры на входе:
Регистры на выходе:
Отрицательные значения перемещения соответствуют движению влево и вверх, положительные – вправо и вниз. Для измерения перемещения используется единица mickey (мики). 1 мик=0.005 дюйма (1/200 дюйма). Мики - это наименьшее обнаруживаемое передвижение мыши. Для преобразования миков в пикселы можно использовать функцию 1Bh. Функция 0Fh. Задаёт скорость перемещения мыши. Регистры на входе:
Регистры на выходе не используются. При инициализации драйвера мыши используются следующие значения: CX=8, DX=16. Функция 10h. Устанавливает область исключения для курсора мыши. Регистры на входе:
Регистры на выходе не используются. Если оператор помещает курсор в область исключения, то курсор мыши пропадает. Эта область отменяется функциями 00h и 01h. Функция 12h. Задаёт увеличенный графический курсор (определена только для мыши системы PC Mouse). Регистры на входе:
Регистры на выходе не используются. Функция 13h. Определяет порог удвоения скорости. Регистры на входе:
Регистры на выходе не используются. Если мышь перемещается со скоростью, превышающей порог удвоения, аппаратура мыши удваивает величину перемещения. При инициализации устанавливается значение порога в 64 мика в секунду. Если необходимо восстановить это значение, необходимо при вызове задавать DX=0. Функция 1Ah. Устанавливает значения чувствительности мыши и порога удвоения. Регистры на входе:
Регистры на выходе не используются. Функция 1Bh. Определяет значения чувствительности мыши и порога удвоения. Регистры на входе:
Регистры на выходе:
Функция 1Dh. Устанавливает номер страницы видеопамяти, на которой будет отображаться курсор мыши. Регистры на входе:
Регистры на выходе не используются. По умолчанию для отображения используется страница 0. Функция 1Eh. Определяет номер страницы видеопамяти, на которой отображается курсор мыши. Регистры на входе:
Регистры на выходе:
|
Лекция I и проблема языка и сознания лекция II 31 слово и его семантическое... Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного... | Лекция религии современных неписьменных народов: человек и его мир... Редактор Т. Липкина Художник Л. Чинёное Корректор Г. Казакова Компьютерная верстка М. Егоровой | ||
Лекция №5 Лекция №5 Вредные вещества и их воздействие на человека. Основы промышленной токсикологии | Лекция. Проектирование графического интерфейса пользователя Лекция №11 Комплексная программа «Программа воспитания и обучения в детском саду» под редакцией М. А васильевой, В. В. Гербовой, Т. С. Комаровой... | ||
Лекция-диалог, проблемная лекция, консультация, собеседование, реферат,... Активные формы и методы проведения учебных занятий – это способы и приемы воздействия, побуждающие | Лекция должна отвечать следующим Лекция – одна из основных форм организации учебного процесса, представляющая собой устное, монологическое, систематическое, последовательное... | ||
«Давление газа» Данный урок является развивающим, так как он проводится с использованием новых технологий (интерактивная лекция). Лекция сопровождается... | Лекция «Олимпийские игры древности» Лекция «Возрождение Олимпийских игр» Перечень мероприятий по внедрению системы олимпийского образования «Сочи 2014» в образовательных учреждениях Кемеровского муниципального... | ||
Лекция Компьютерные слайды как Лекция Компьютерные слайды как средство виртуальной наглядности. Технология создания дидактического компьютерного материала в программе... | Лекция 1"государство как социальная структура общества"(8часов) 61... Умк по дисциплине «Правоведение» разработан кафедрой правосудия, прокуроского надзора и криминалистик юш двфу для студентов не юридических... | ||
Лекция «Художественная литература о воспитании безнадзорных детей»,... М 15 А. С. Макаренко. Публичные выступления (1936-1939 гг.). Аутентичное издание. Составитель, автор комментариев: Гётц Хиллиг. Серия:... | Лекция Лаб | ||
Лекция «Художественная литература о воспитании безнадзорных детей» | Лекция шишек, плодов, семян, деревьев и кустарников Коллекция «Лён» | ||
Лекция. Практик Тригонометриянең төпбердәйлекләренһәм формулаларынкабатлау, искэ төшерү. Мисалларчишү, өстендээшләу | Лекция №1 Первая двухпартийная связка: федералисты-антифедералисты (республиканцы), 1789-1825 |