Для студентов МГТУ им. Н.Э.Баумана по предмету Программирование графических приложений (ПГП)ЛР R11ЛР R11
2025-06-132025-06-16СтудИзба
Лабораторная работа 3: ЛР R11 вариант 11
Новинка
Описание
Условие лабораторной работы:
Разработать программу построения перекрывающихся прямоугольных ячеек в графическом окне, которая реализует технику «резиновой рамки». Опорный угол каждой «резиновой рамки» фиксируется по координатам курсора в любой свободной точке графического окна (вне ячеек) при нажатии левой кнопки мыши. После этого при любых перемещениях мыши с нажатой левой кнопкой начальную и текущую позиции курсора должен соединять прямоугольный контур, который отображается штрих пунктиром и обозначает «резиновую рамку». Её размеры и/или ориентация должны синхронно изменяться при движении курсора, пока нажата левая кнопка мыши. При этом должна быть автоматически блокирована возможность выхода курсора за границы графического окна программы. После отпускания нажатой левой кнопки мыши «резиновая рамка» фиксируется изображением новой прямоугольной ячейки со сплошной рамкой. При этом её части, которые перекрывают ранее построенные ячейки, должны быть видимы. Кроме того следует также предусмотреть возможность удалить любую ячейку щелчком правой кнопки мыши, когда курсор находится внутри видимой части её контура. При этом покрытые ей части других ячеек должны стать видимыми. Завершение программы должно обеспечивать нажатие клавиш CTRL+R на клавиатуре. При разработке программы необходимо предусмотреть соответствующую обработку событий и изображений в её графическом окне, используя библиотечные функции программного интерфейса Xlib из состава XwindowSystem.
Отчет к работе и исходный код программы прилагаются
Разработать программу построения перекрывающихся прямоугольных ячеек в графическом окне, которая реализует технику «резиновой рамки». Опорный угол каждой «резиновой рамки» фиксируется по координатам курсора в любой свободной точке графического окна (вне ячеек) при нажатии левой кнопки мыши. После этого при любых перемещениях мыши с нажатой левой кнопкой начальную и текущую позиции курсора должен соединять прямоугольный контур, который отображается штрих пунктиром и обозначает «резиновую рамку». Её размеры и/или ориентация должны синхронно изменяться при движении курсора, пока нажата левая кнопка мыши. При этом должна быть автоматически блокирована возможность выхода курсора за границы графического окна программы. После отпускания нажатой левой кнопки мыши «резиновая рамка» фиксируется изображением новой прямоугольной ячейки со сплошной рамкой. При этом её части, которые перекрывают ранее построенные ячейки, должны быть видимы. Кроме того следует также предусмотреть возможность удалить любую ячейку щелчком правой кнопки мыши, когда курсор находится внутри видимой части её контура. При этом покрытые ей части других ячеек должны стать видимыми. Завершение программы должно обеспечивать нажатие клавиш CTRL+R на клавиатуре. При разработке программы необходимо предусмотреть соответствующую обработку событий и изображений в её графическом окне, используя библиотечные функции программного интерфейса Xlib из состава XwindowSystem.
Отчет к работе и исходный код программы прилагаются
Характеристики лабораторной работы
Учебное заведение
Семестр
Номер задания
Вариант
Программы
Просмотров
4
Качество
Идеальное компьютерное
Размер
80,25 Kb
Преподаватели
Список файлов
R11
R11.docx
xrect.
xrect.c
xrect.m
xres.res
xsort.h
xsort1.c
xsort2.c