|
1 / 1 / 0
Регистрация: 19.12.2007
Сообщений: 199
|
|
Возможность UNDO в графических обработках?14.12.2009, 16:49. Показов 1115. Ответов 5
Метки нет (Все метки)
0
|
|
| 14.12.2009, 16:49 | |
|
Ответы с готовыми решениями:
5
Возможность существования опции Undo в клиент-серверном приложении
|
|
0 / 0 / 0
Регистрация: 24.12.2009
Сообщений: 3
|
|
| 24.12.2009, 09:43 | |
|
Всё зависит от того, как организована твоя программа.
Например, если ты хранишь все графические объекты для отрисовки в каком-то отдельном репозитарии а во время отрисовки их показываешь в соотвествии с теми или иными правилами на экран, то нет никакой проблемы с добавлением UNDO в твою программу. Я например заводил абстрактный тип и наследовал от него показываемые объекты и/или какие либо действия (типа заливки и перемещения, а также массивы с действиями - последнее для того, чтобы отменять действия от одного нажатия мышки до другого), затем складывал указатели на эти объекты в массив (он был ограниченного размера, например 20 последних действий). А дальше кому как нравится. Мне когда требовалось откатиться на одно или несколько действий я проверял, что я делал последним и удалял из репозитория те действия и объекты которые соответствовали 'откатываемым' объектам в массиве с действиями.
0
|
|
|
0 / 0 / 0
Регистрация: 31.08.2009
Сообщений: 34
|
|
| 24.12.2009, 13:41 | |
|
купи книгу:
http://citforum.ints.net/book/ooprpattern/ooprpattern_c.shtml там в оглавлении параграф: 2.7. Операции пользователя Инкапсуляция запроса Класс Command и его подклассы Отмена операций История команд Паттерн команда У меня есть эта книга. Это то что тебе нужно
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2009
Сообщений: 3
|
|
| 27.12.2009, 06:38 | |
|
Да, книга полезная. Я себе такую купил, только лучше конечно такую книгу в магазине поискать и для начала бегло посмотреть на предлагаемое решение - подходит ли. К тому же в обычном магазине (а не интернет магазине) эта книга будет стоить, скорее всего, дешевле. К примеру я 18.10.2003 её купил в Томске в магазине за 162 рубля, а в то же время 20.10.2003 в электронном магазине Мистраль (я так полагаю это в Москве) эта книга стоит 220 рублей.
Не боясь повториться скажу, что книга действительно ценная, не зависимо от того, пригодится ли она тебе при решении именно этой задачи. Вобщем покупай книгу
0
|
|
|
1 / 1 / 0
Регистрация: 19.12.2007
Сообщений: 199
|
|
| 27.12.2009, 13:06 [ТС] | |
|
Sposibo za otveti
u menya takoj vopros esli derzhat vse operacii(actions) otdellno i kazhdi ras pererisovat/postroit konechni kartinu to eto budet medlenno a esli kazhdi ismenenie vnesti v bitmap to kak vostanavit imea tolko inormacia o sposove izmennii?
0
|
|
|
0 / 0 / 0
Регистрация: 24.12.2009
Сообщений: 3
|
|
| 28.12.2009, 07:58 | |
|
Хммм... вопрос не совсем внятный, но можно попытаться ответить.
Информация об изменениях - это и есть список всех операций. Иначе я не могу понять чем они отличаются. Скорее всего если выводить при перерисовке все операции сразу на экран, то будет медленно, а если создать back-буффер (по размеру с экран или отрисовываемую часть окна) и рисовать в него, а потом после отрисовки в него осуществлять blit на экран, то должно получиться очень даже быстро. Ещё для достижения скорости и особенно если очень много перекрывающихся объектов их можно обрабатывать так, чтобы невидимые объекты не отрисовывались вообще, а частично видимые рисовались не полностью.
0
|
|
| 28.12.2009, 07:58 | |
|
Помогаю со студенческими работами здесь
6
Процедуры и функции в обработках Ошибки в отчетах и обработках Какие снаднартные процедуры определены во внешних обработках Реализуйте в программе возможность работы с полями: возможность сортировки по полям внутри строк Как в MS SQL 2014 убрать возможность у серверной роли sysadmin возможность использовать shutdown ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|