прокручиваемые меню и панели инструментов
Классы МПК: | G09G5/34 для "прокрутки" информации или перемещения изображения |
Автор(ы): | ШУЛЬЦ Эган (US), ЛЭНГМЭЧЕР Том (US) |
Патентообладатель(и): | ЭППЛ ИНК. (US) |
Приоритеты: |
подача заявки:
2010-04-22 публикация патента:
10.10.2014 |
Изобретение относится к представлению меню или опций панели инструментов в графическом пользовательском интерфейсе. В частности, изобретение относится к представлению многочисленных опций, просматриваемых путем прокрутки через определенное положение, обеспечивающее возможность выбора опций. Технический результат - отображение инструментов меню, не занимающих существенного пространства экрана при поддержании размеров опций на уровне визуального распространения. Способ обеспечения доступа к графическому пользовательскому интерфейсу (GUI) содержит этапы
обеспечения доступа к области отображения для отображения множества пунктов меню в определенной последовательности и обеспечения доступа к указателю выбора, содержащему геометрическую фигуру для указания на возможность выбора пункта меню, где геометрическая фигура отделена от множества пунктов меню, причем прокрутка множества пунктов меню через указатель выбора может осуществляться по непрерывной траектории, а область отображения дополнительно предназначена для приема ввода для (i) прокручивания множества пунктов меню через указатель выбора по непрерывной траектории в соответствии с определенной последовательностью и (ii) выбора определенного пункта меню при отображении определенного пункта меню в указателе выбора. 6 н. и 18 з.п. ф-лы, 24 ил.
Формула изобретения
1. Способ обеспечения доступа к графическому пользовательскому интерфейсу (GUI), где способ содержит этапы:
обеспечения доступа к области отображения для отображения множества пунктов меню в определенной последовательности; и
обеспечения доступа к указателю выбора, содержащему геометрическую фигуру для указания на возможность выбора пункта меню, где геометрическая фигура отделена от множества пунктов меню, причем
прокрутка множества пунктов меню через указатель выбора может осуществляться по непрерывной траектории, а
область отображения дополнительно предназначена для приема ввода для (i) прокручивания множества пунктов меню через указатель выбора по непрерывной траектории в соответствии с определенной последовательностью и (ii) выбора определенного пункта меню при отображении определенного пункта меню в указателе выбора.
2. Способ по п.1, отличающийся тем, что геометрическая фигура указывает на возможность выбора пункта меню в результате того, что окружает пункт меню.
3. Способ по п.1, отличающийся тем, что область отображения предназначена для отображения подгруппы из множества пунктов меню в определенной последовательности.
4. Способ по п.1, отличающийся тем, что область отображения предназначена для отображения подгруппы из множества пунктов меню в виде полукруга.
5. Способ по п.1, отличающийся тем, что область отображения предназначена для отображения множества пунктов меню в виде круга.
6. Способ для представления меню в графическом пользовательском интерфейсе, где способ содержит этапы:
задания первого множества пунктов меню, имеющих первый порядок следования, и второе множество пунктов меню, имеющих второй порядок следования;
задания области отображения для отображения первого множества пунктов меню в первой последовательности и для отображения второго множества пунктов меню во второй последовательности в случае выбора одного из пунктов меню в первом множестве; и
задания указателя выбора в области отображения для указания на возможность выбора пункта меню, причем
прокрутка первого множества пунктов меню через указатель выбора может осуществляться в первом прямолинейном направлении в соответствии с первой последовательностью, а прокрутка второго множества пунктов меню через указатель выбора может осуществляться во втором направлении в соответствии со второй последовательностью, где второе направление не является ни коллинеарным, ни параллельным первому прямолинейному направлению.
7. Способ по п.6, отличающийся тем, что первое направление является ортогональным второму направлению.
8. Способ по п.6, отличающийся тем, что прокрутка множества пунктов меню может осуществляться через сторону указателя выбора и за границы противоположной стороны указателя выбора.
9. Способ по п.6, отличающийся тем, что при приближении пунктов меню к сторонам указателя выбора пункты меню отображаются в области отображения в частично скрытом виде.
10. Компьютерная система, содержащая средство для реализации этапов по любому из пп.1-9.
11. Компьютерно-читаемый носитель, хранящий компьютерную программу, которая при исполнении, по меньшей мере, одним процессором обеспечивает доступ к графическому пользовательскому интерфейсу (GUI), где GUI содержит:
область отображения для отображения меню с множеством пунктов меню, размещенных в определенной последовательности; и
указатель выбора в области отображения для указания на возможность выбора пункта меню, а также
модуль взаимодействия для приема пользовательского ввода для (i) прокручивания пунктов относительно указателя выбора в определенной последовательности и (ii) выбора определенного пункта меню при указании на определенный пункт меню с помощью указателя выбора, причем
в случае приема модулем взаимодействия ввода, превышающего по количеству пороговую величину, модуль взаимодействия обеспечивает с помощью указателя выбора указание на возможность выбора нового пункта меню, а
в случае приема модулем взаимодействия ввода, не превышающего по количеству пороговую величину, модуль взаимодействия обеспечивает с помощью указателя выбора поддержку указания на возможность выбора предыдущего пункта меню.
12. Компьютерно-читаемый носитель по п.11, отличающийся тем, что ввод для прокручивания является направленным вводом.
13. Компьютерно-читаемый носитель по п.12, отличающийся тем, что пороговая величина зависит от скорости направленного ввода.
14. Компьютерно-читаемый носитель по п.11, отличающийся тем, что модуль взаимодействия при приеме ввода для прокручивания пунктов меню относительно указателя выбора в определенной последовательности обеспечивает отображение пунктов меню в области отображения с прокручиванием через указатель выбора без перемещения указателя выбора.
15. Компьютерно-читаемый носитель по п.11, отличающийся тем, что модуль взаимодействия при приеме ввода для прокручивания пунктов меню относительно указателя выбора в определенной последовательности обеспечивает отображение пунктов меню в области отображения с прокручиванием через указатель выбора в результате перемещения указателя выбора.
16. Компьютерно-читаемый носитель по п.11, отличающийся тем, что модуль взаимодействия при приеме ввода для прокручивания пунктов меню относительно указателя выбора в определенной последовательности обеспечивает отображение пунктов меню в области отображения с прокручиванием через указатель выбора без перемещения пунктов меню.
17. Компьютерно-читаемый носитель, хранящий компьютерную программу для исполнения, по меньшей мере, одним процессором, где компьютерная программа содержит набор инструкций для
отображения множества пунктов меню в соответствии с определенной последовательностью;
отображения указателя выбора для указания на возможность выбора пункта меню;
перемещения нового пункта меню в указатель выбора без перемещения указателя выбора в ответ на ввод для прокручивания множества пунктов меню через указатель выбора в определенной последовательности; и
выбора определенного пункта меню при отображении определенного пункта меню в указателе выбора в ответ на ввод для выбора определенного пункта меню.
18. Компьютерно-читаемый носитель по п.17, отличающийся тем, что набор инструкций для отображения множества пунктов меню содержит набор инструкций для отображения подгруппы из множества пунктов меню по обе стороны от указателя выбора.
19. Компьютерно-читаемый носитель по п.18, отличающийся тем, что набор инструкций для отображения подгруппы из множества пунктов меню по обе стороны от указателя выбора содержит набор инструкций для отображения подгруппы из множества пунктов меню по обе стороны от указателя выбора в ответ на ввод для прокручивания множества пунктов меню через указатель выбора.
20. Компьютерно-читаемый носитель по п.17, отличающийся тем, что набор инструкций для отображения множества пунктов меню содержит набор инструкций для отображения подгруппы из множества пунктов меню в виде полукруга.
21. Компьютерно-читаемый носитель по п.20, отличающийся тем, что набор инструкций для отображения подгруппы из множества пунктов меню в виде полукруга содержит набор инструкций для
отображения одного пункта меню из множества пунктов меню; и
отображения анимированного расширения одного пункта меню в подгруппу из множества пунктов меню в виде полукруга.
22. Компьютерно-читаемый носитель, хранящий компьютерную программу, которая при исполнении, по меньшей мере, одним процессором обеспечивает доступ к графическому пользовательскому интерфейсу (GUI), где GUI содержит:
средство для отображения множества пунктов меню в определенной последовательности;
средство для отображения указателя выбора, содержащего геометрическую фигуру для указания на возможность выбора пункта меню, где геометрическая фигура отделена от множества пунктов меню, причем
прокрутка множества пунктов меню через указатель выбора может осуществляться по непрерывной траектории, и
средство для приема ввода для (i) прокручивания множества пунктов меню через указатель выбора по непрерывной траектории в соответствии с определенной последовательностью и (ii) выбора определенного пункта меню при отображении определенного пункта меню в указателе выбора.
23. Компьютерно-читаемый носитель по п.22, отличающийся тем, что GUI дополнительно содержит средство для отображения набора пунктов подменю, соответствующих пункту меню из множества пунктов меню.
24. Компьютерно-читаемый носитель по п.23, отличающийся тем, что набор пунктов подменю (1) соответствует определенному пункту меню и (2) отображается при приеме ввода для выбора определенного пункта.
Описание изобретения к патенту
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится к представлению меню или опций панели инструментов в графическом пользовательском интерфейсе. В частности, изобретение относится к представлению многочисленных опций, просматриваемых путем прокрутки через определенное положение, обеспечивающее возможность выбора опций.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
Пользовательские интерфейсы компьютерных приложений во многих случаях предоставляют пользователю многочисленные команды или инструменты пользовательского интерфейса для выбора. Например, многие приложения включают в себя раскрывающееся меню. Такие меню во многих случаях включают в себя списки команд. Имеются как стандартные команды, такие как открытие файла, печать документа, сохранение документа и т.д., так и большое число специализированных команд, таких как вставка разрыва страницы (в приложении для обработки текстов), форматирование ячеек (в приложении для обработки электронных таблиц) и т.д.
Многие приложения также включают в себя панели инструментов или палитры инструментов. Например, многие компьютерные приложения имеют в верхней части своего пользовательского интерфейса один или более рядов панелей инструментов. Панели инструментов включают в себя инструменты различных типов. Приложения для рисования имеют инструменты для рисования, приложения для видеоредактирования имеют инструменты для редактирования видео и т.д. Некоторые приложения имеют также плавающие палитры инструментов. Например, некоторые приложения для редактирования видео включают в себя плавающую палитру инструментов подрезки, обеспечивающую пользователю возможность выбора между всевозможными инструментами подрезки для редактирования видео.
Такие панели инструментов, палитры инструментов и раскрывающиеся меню могут занимать ценную полезную площадь в графическом пользовательском интерфейсе. Кроме того, число пунктов в таких меню и панелей инструментов ограничивается пространством экрана. Например, в случае, когда пользователь не желает иметь плавающую палитру инструментов, занимающую слишком много площади экрана. Чем больше опций добавляется в палитру инструментов, тем больше становится палитра инструментов или тем меньше становится размер опций. Так же, как палитры инструментов могут увеличиваться в размере только до определенного предела, размер опций может уменьшаться до определенного предела, пока эти опции не станут неразличимыми. Это обусловливает необходимость создания способов отображения панелей инструментов или меню, не занимающих существенного пространства экрана при поддержании размеров опций на уровне визуального распознавания.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
В некоторых примерах осуществления изобретения предлагается новый способ для представления меню в графическом пользовательском интерфейсе. Меню включает в себя некоторое число выбираемых пунктов меню, размещенных в определенной последовательности для просмотра путем прокрутки через окно выбора в результате пользовательского ввода. В некоторых примерах осуществления каждому из пунктов меню соответствует команда. Когда пункт меню находится в окне выбора, пользователь может выбрать пункт меню, чтобы выполнить команду, соответствующую пункту меню.
В некоторых примерах осуществления пункты меню могут отображаться в виде стандартных текстовых пунктов (например, "Файл", "Сохранить", "Печать" и т.д.) или в виде иконок (например, иконок, представляющих различные инструменты, такие как инструменты для рисования, инструменты для редактирования видео и т.д.). Пункты меню размещаются в меню в определенной последовательности (например, первый пункт меню является пунктом меню, размещенным слева от второго пункта меню). В различных примерах осуществления используются различные методы для задания этой последовательности. Например, в некоторых примерах осуществления последовательность может задаваться пользователем с помощью случайного процесса и/или разработчиком программы или операционной системы, использующей меню. В некоторых примерах осуществления возможно также изменение последовательности в результате использования статистической информации, позволяющей выделить меню, выбираемые наиболее регулярно.
Окно выбора представляет собой указатель (например, поле повышенной яркости, рамку и т.д.), указывающий на возможность выбора определенного пункта меню в настоящее время. В некоторых примерах осуществления при прокрутке пунктов меню окно выбора находится в неподвижном или практически неподвижном состоянии. Порядок следования пунктов меню в меню - это последовательность их прокрутки через окно выбора в ответ на пользовательский ввод. Однако при начальном представлении меню пункт меню, изначально отображаемый в окне выбора, не обязательно должен быть первым пунктом меню в последовательности (то есть крайне левым, самым верхним и т.д.). Поскольку прокрутка пунктов меню может осуществляться в двух направлениях (например, влево и вправо, вверх и вниз), то в некоторых примерах осуществления в окне выбора изначально отображается пункт меню, размещенный в середине последовательности.
В некоторых примерах осуществления в зависимости от порядка следования запросов на пункты меню может быть два различных типа прокрутки. В некоторых случаях прокрутка пунктов меню за границы первого и последнего пунктов в последовательности невозможна. В других же случаях возможна непрерывная прокрутка пунктов меню по замкнутой траектории, поскольку порядок следования пунктов меню определяется только их положением друг относительно друга и в качестве изначально отображаемого в окне выбора пункта отображается только первый пункт.
В любом из этих случаев в некоторых примерах осуществления пункты меню прокручиваются через окно выбора таким образом, что ограничения числа пунктов меню пространством в графическом пользовательском интерфейсе не происходит. Например, в некоторых примерах осуществления отображению подвергаются только пункт меню, находящийся в настоящее время в окне выбора, и части пунктов меню по обе стороны от окна выбора. В некоторых других примерах осуществления отображается небольшое число пунктов меню по обе стороны от окна выбора, причем пункты, которые по существу не находятся в окне выбора, отображаются в частично скрытом виде. При прокрутке пунктов меню через окно выбора новые пункты появляются на экране после исчезновения ранее отображенных пунктов.
В различных примерах осуществления форма отображаемого меню также является разной. В некоторых примерах осуществления область отображения меню имеет прямолинейную форму, и пункты меню прокручиваются в одном измерении (например, по горизонтали или по вертикали). В других примерах осуществления область отображения меню имеет полукруговую форму, и пункты меню прокручиваются вдоль полуокружности. Возможны и другие непрямолинейные конфигурации пунктов меню.
Возможно и разное представление меню в различных примерах осуществления, заключающееся в том, что в некоторых примерах осуществления меню отображается постоянно в заданном положении, тогда как в других примерах осуществления для инициирования отображения меню требуется пользовательский ввод. Например, меню может представлять собой панель инструментов в приложении для редактирования медиа, занимающую определенное положение в пользовательском интерфейсе приложения, или меню в операционной системе, инициируемое нажатием клавиши.
В различных примерах осуществления предлагаются разные схемы навигации по пунктам меню. В некоторых примерах осуществления перемещение следующего пункта в последовательности меню пользователями в окно выбора может обеспечиваться щелчками по отображаемым пунктам по обе стороны от окна выбора. Вместо этого или в дополнение к этому в некоторых примерах осуществления пользователи имеют возможность прокрутки пунктов меню с использованием различных форм ввода скольжением или без отрыва пальца/стилуса от области отображения (например, путем перетаскивания мышью). В некоторых случаях пункты меню отображаются в движении, совершаемом большими заметными шагами, в то время как в других случаях пункты отображаются в движении шагами малой величины, обеспечивающими видимость плавного перемещения.
При совмещении выбираемого пункта меню с окном выбора пользователь получает возможность выбора пункта меню для обеспечения выполнения инструкций, соответствующих выбранному пункту меню. В некоторых примерах осуществления инструкции позволяют активизировать определенный инструмент (например, если меню представляет собой группу инструментов для редактирования видео), обеспечить выполнение команды (например, сохранение файла, печать документа и т.д.) или открыть подменю. В некоторых примерах осуществления подменю открываются в направлении перпендикуляра к предыдущему меню. Например, в случае, когда пункты меню в начальном меню прокручиваются через окно выбора по горизонтали, в некоторых примерах осуществления подменю открываются так, что пункты меню в подменю прокручиваются через окно выбора по вертикали.
В различных примерах осуществления пользователям предоставляется возможность выбора пункта меню в окне выбора по-разному. В некоторых примерах осуществления пользователь делает щелчок или двойной щелчок по пункту меню в окне выбора. В других примерах осуществления пользователь выбирает пункт путем простого отпускания кнопки мыши при прокрутке пункта меню через окно выбора. Для пунктов меню с открывающимися подменю в некоторых примерах осуществления подменю открываются автоматически при появлении пункта меню в окне выбора.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Новые признаки изобретения изложены в прилагаемой формуле изобретения.
Однако в целях предоставления разъяснений несколько примеров осуществления изобретения иллюстрированы следующими ниже фигурами.
Фигура 1 иллюстрирует меню, включающее в себя восемь пунктов меню.
Фигура 2 иллюстрирует процесс отображения и использования меню, представленного на фигуре 1, согласно некоторым примерам осуществления изобретения.
Фигура 3 - концептуальная иллюстрация процесса отображения меню и взаимодействия с пользователем согласно некоторым примерам осуществления.
Фигура 4 - концептуальная иллюстрация процесса навигации по меню в результате ввода в форме однократного щелчка контроллером курсора согласно некоторым примерам осуществления.
Фигура 5 иллюстрирует ход навигации по меню согласно процессу, иллюстрированному фигурой 4.
Фигура 6 - концептуальная иллюстрация первого процесса навигации по меню в результате ввода в форме щелчка и перетаскивания контроллером курсора согласно некоторым примерам осуществления.
Фигура 7 иллюстрирует ход навигации по меню согласно процессу, иллюстрированному фигурой 6.
Фигура 8 - концептуальная иллюстрация второго процесса навигации по меню в результате ввода в форме щелчка и перетаскивания контроллером курсора согласно некоторым примерам осуществления.
Фигура 9 иллюстрирует ход навигации по меню согласно процессу, иллюстрированному фигурой 8.
Фигура 10 - концептуальная иллюстрация третьего процесса навигации по меню в результате ввода в форме щелчка и перетаскивания контроллером курсора согласно некоторым примерам осуществления.
Фигура 11 иллюстрирует ход навигации по меню согласно процессу, иллюстрированному фигурой 10.
Фигура 12 иллюстрирует пример навигации по меню и подменю согласно некоторым примерам осуществления.
Фигура 13 иллюстрирует меню с отображением пунктов меню, находящихся за границами основного отображения, в скрытом виде в ходе прокрутки меню пользователем согласно некоторым примерам осуществления.
Фигура 14 иллюстрирует открытие полукругового меню согласно некоторым примерам осуществления.
Фигура 15 иллюстрирует ход навигации по меню, представленному на фигуре 14, и выбор пункта из меню.
Фигура 16 иллюстрирует пример полукругового меню, включающего в себя пункт меню с открывающимся подменю.
Фигура 17 иллюстрирует открытие кругового меню согласно некоторым примерам осуществления.
Фигура 18 иллюстрирует круговое меню в частично скрытом виде после открытия подменю в вертикальном направлении над и под окном выбора.
Фигура 19 иллюстрирует компьютерный рабочий стол, отображающий различные признаки операционной системы согласно некоторым примерам осуществления.
Фигура 20 иллюстрирует приложение для редактирования видео, используемое для создания комбинированных видеопрезентаций с помощью меню согласно некоторым примерам осуществления.
Фигура 21 иллюстрирует карманное устройство с отображением веб-браузера, использующего меню согласно некоторым примерам осуществления.
Фигура 22 - концептуальная иллюстрация архитектуры программного обеспечения приложения для представлению меню согласно некоторым примерам осуществления.
Фигура 23 - концептуальная иллюстрация процесса создания компьютерно-читаемого носителя, хранящего компьютерную программу, согласно некоторым примерам осуществления.
Фигура 24 - концептуальная иллюстрация компьютерной системы, используемой при реализации некоторых примеров осуществления изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приводимом ниже описании многочисленные детали рассматриваются в целях предоставления разъяснений. Однако специалисту в данной области техники должно быть очевидно, что изобретение может быть реализовано и без использования этих характерных деталей. Например, некоторые части заявки относятся к примерам с приемом ввода от мыши. Специалисту должно быть очевидно, что прием подобного ввода может быть осуществлен и от других контроллеров курсора или даже с сенсорных экранов без курсоров.
В некоторых примерах осуществления изобретения предлагается новый способ для представления меню в графическом пользовательском интерфейсе. Меню включает в себя несколько выбираемых пунктов меню, которым назначен определенный порядок следования, для прокрутки через окно выбора в результате пользовательского ввода. В некоторых примерах осуществления каждому пункту меню соответствует команда. При нахождении пункта меню в окне выбора пользователь может выбрать пункт меню, чтобы выполнить команду, соответствующую пункту меню.
В некоторых примерах осуществления пункты меню могут отображаться в виде стандартных текстовых пунктов (например, "Файл", "Сохранить", "Печать" и т.д.), или в виде иконок (например, иконок, представляющих различные инструменты, такие как инструменты для рисования, инструменты для редактирования видео и т.д.). Фигура 1 иллюстрирует меню 100, которое включает в себя восемь пунктов меню - 101-108. Пункты 101-108 меню следуют в порядке от первого пункта Item А (101) к последнему пункту Item Н (108). Это означает, что, например, пункт Item С (103) появится в меню после (например, справа от) пункта Item В (102), но до (например, слева от) пункта Item D (104). В различных примерах осуществления используются разные методы установления этого порядка. Например, в некоторых примерах осуществления порядок следования может задаваться пользователем, с помощью случайного процесса и/или разработчиком программы или операционной системы, использующей меню. В некоторых примерах осуществления возможно также изменение порядка следования в результате использования статистической информации, позволяющей выделить меню, выбираемые наиболее регулярно. Например, если пункт Item С (103) никогда не выбирается, он может быть перемещен в положение после пункта Item Н (108).
Фигура 2 иллюстрирует процесс отображения и использования меню 100 согласно некоторым примерам осуществления изобретения. Картинка 210 на фигуре 2 иллюстрирует меню 100 на начальном этапе с начальным пунктом в окне выбора, а картинки 220 и 230 являются иллюстрациями двух возможных вторых этапов с различными пунктами в окне выбора. Как показано на картинке 210, отображение меню 100 включает в себя окно 205 выбора. Окно выбора представляет собой указатель (например, поле повышенной яркости в этом примере), указывающий на возможность выбора определенного пункта меню в настоящее время. При начальном представлении меню пункт меню, изначально отображаемый в окне выбора, не обязательно должен быть первым пунктом меню в последовательности. Фактически, как показано на картинке 210, начальный пункт меню, отображенный в окне 205 выбора для меню 100, является четвертым пунктом 104 меню, размещенным вблизи середины последовательности для меню 100.
Картинки 220 и 230 иллюстрируют процесс прокрутки меню 100 через окно 205 выбора в двух возможных направлениях. Картинка 220 иллюстрирует результат пользовательского ввода для прокрутки меню 100 вправо, обеспечивающего перемещение пункта Item С (103) в окно 205 выбора с левой стороны, а пункта Item D (104) - практически за границы области отображения вправо. Точно так же картинка 230 иллюстрирует результат пользовательского ввода для прокрутки меню 100 влево, обеспечивающего перемещение пункта Item Е (105) в окно 205 выбора с правой стороны, а пункта Item D (104) - практически за границы области отображения влево. Специалисту в данной области техники должно быть очевидно, что несмотря на то, что в данном примере меню 100 прокручивается вправо и влево, в некоторых примерах осуществления основным направлением прокрутки могут быть направления вверх и вниз, по диагонали и т.д.
Фигура 3 является концептуальной иллюстрацией процесса 300 отображения меню и взаимодействия с пользователем с помощью меню согласно некоторым примерам осуществления. Как показано, процесс 300 начинается с приема (на этапе 305) группы пунктов меню, составляющих меню, таких как пункты 101-108 меню. Группа пунктов меню может включать в себя любое число пунктов, так как меню отображается таким образом, что число пунктов не ограничивается пространством в графическом пользовательском интерфейсе.
Затем (на этапе 310) процесс 300 задает порядок следования пунктов меню. Как указывалось выше, этот порядок может быть кодирован разработчиком программного обеспечения, установлен пользователем, установлен в результате использования статистической информации и т.д. Затем (на этапе 315) процесс задает начальный пункт меню, который должен быть отображен в окне выбора. Как и порядок следования пунктов меню, в некоторых примерах осуществления начальный пункт меню устанавливается на основе кодированных инструкций, пользовательского ввода, в результате использования статистической информации и т.д.
Затем (на этапе 320) процесс отображает меню с начальным пунктом в окне выбора. Отображение меню не обязательно включает в себя отображение всех пунктов меню; как показано на фигуре 2, в некоторых примерах осуществления в каждый момент времени отображается только один полный пункт меню, что дает возможность включать в меню неограниченное число пунктов, так как добавление дополнительных пунктов меню не приводит к увеличению пространства, занимаемого меню. В некоторых примерах осуществления отображается небольшое число пунктов меню по обе стороны от окна выбора, а пункты, не находящиеся в окне выбора, отображаются в частично скрытом виде. Например, на картинке 210 на фигуре 2 в таких примерах осуществления могут отображаться пункт Item В (102) и пункт Item С (103) слева от окна 205 выбора (как и пункты справа), но отображаются эти пункты в виде частично прозрачных, чтобы указать на то, что они не находятся в окне выбора.
Далее (на этапе 325) процесс 300 принимает решение о приеме или неприеме какого-либо ввода. Прием ввода может быть осуществлен через контроллер курсора, такого как мышь, манипулятор trackpad, сенсорную панель и т.д. (например, путем перетаскивания, под действием трения, с помощью щелчка и т.д.) или через клавиатуру (например, путем нажатия клавиш со стрелками, клавиши Enter и т.д.). В случае отсутствия какого-либо ввода процесс переходит к этапу 355, описываемому ниже. В противном случае процесс принимает (на этапе 330) решение о том, является ли ввод вводом для прокрутки меню или нет. Подробное описание различных типов ввода для прокрутки меню, таких как перетаскивание с помощью устройства управления курсором, приводится в разделах, следующих ниже.
При вводе для прокрутки меню процесс прокручивает (на этапе 335) меню, а затем переходит к этапу 355, описываемому ниже. В некоторых примерах осуществления перемещения окна выбора в процессе прокрутки пунктов меню не происходит. В некоторых примерах осуществления прокрутка пунктов меню через окно выбора происходит с постоянной скоростью, в то время как в других примерах осуществления пункты меню перескакивают в окно выбора в результате перемещения большими дискретными шагами. Кроме того, в некоторых примерах осуществления пункты меню прокручиваются с постоянной скоростью, но окно выбора совершает перемещение в пределах порогового расстояния от своего начального положения и перескакивает с одного пункта на следующий. Подробное описание отображения различных типов прокрутки меню приводится в разделах, следующих ниже.
В некоторых примерах осуществления при прокрутке на границах последовательности меню может быть использован один из двух различных типов прокрутки. В некоторых случаях эта последовательность имеет заданные первый и последний пункты и прокрутка пунктов за границы этих конечных пунктов невозможна. Например, если меню 100 выстроено по такому принципу, то когда пользователь прокручивает меню так, что пункт Item А (101) находится в окне 205 выбора, слева от пункта Item А (101) не будет никакого другого частично отображенного пункта. В то же время в некоторых примерах осуществления порядок следования пунктов меню носит только относительный характер. В таких случаях пункты размещены вдоль замкнутой траектории без начала или конца, и, следовательно, возможна непрерывная прокрутка пунктов по замкнутой траектории. Если меню 100 выстроено по этому принципу, то когда пользователь прокручивает меню так, что пункт Item А (101) находится в окне 205 выбора, слева будет частично отображаться пункт Item Н (108), и прокрутка меню направо приведет к появлению в окне 205 выбора пункта Item Н (108).
В случае приема ввода не для прокрутки меню процесс 300 принимает (на этапе 340) решение о том, является ли ввод вводом для выбора пункта меню или нет. Ввод для выбора пункта меню может быть реализован в форме щелчка, двойного щелчка, отпускания кнопки контроллера курсора и т.д. При приеме ввода для выбора пункта меню процесс отображает (на этапе 345) этот выбор. Например, в некоторых примерах осуществления постепенно скрываются все пункты меню кроме выбранного пункта или этот пункт начинает мерцать.
Затем процесс выполняет (на этапе 350) инструкции, соответствующие выбранному пункту меню, и завершается. Пункты меню могут обеспечивать выполнение всех различных видов инструкций. Пункты меню могут представлять различные инструменты для редактирования видео (или любой другой вид инструмента пользовательского интерфейса), такие как инструмент Лезвие, инструмент редактирования с сохранением длительности клипов и инструмент редактирования с прокруткой. Меню может также быть списками команд (например, сохранить файл, печать документа и т.д.) и подменю. В некоторых примерах осуществления подменю открываются перпендикулярно к предшествующему меню. Например, если пункт Item С (103) меню 100 вызывает открытие подменю, то если пользователь выбирает этот пункт на картинке 220, в вертикальном направлении открывается подменю с пунктами выше и/или ниже окна 205 выбора.
При приеме на этапе 340 ввода не для выбора пункта меню процесс принимает (на этапе 355) решение, продолжать или не продолжать отображение меню. В некоторых примерах осуществления в случае отсутствия какого-либо ввода в течение порогового времени или в случае, когда приложение, частью которого является меню, закрыто, отображение меню прекращается. Некоторые примеры осуществления включают в себя опцию, обеспечивающую пользователю возможность закрытия меню. В случае, когда процесс 300 принимает решение о продолжении отображения меню, процесс переходит к этапу 325, чтобы продолжить принятие решения о приеме или неприеме ввода. В противном случае процесс завершается.
Процесс 300 может быть использован применительно к множеству примеров осуществления с отображением меню, имеющих различные формы. В некоторых примерах осуществления, как в случае с меню 100, область отображения меню имеет прямолинейную форму, а пункты меню прокручиваются в одном измерении. Фигура 2 иллюстрирует меню 100, прокручиваемое в горизонтальном направлении, однако возможно также совершенно беспрепятственное совмещение пунктов меню в вертикальном направлении. В других примерах осуществления область отображения меню имеет не прямолинейную форму с прокручиванием пунктов в одном измерении, а форму полукруга с прокручиванием пунктом меню вдоль полуокружности. Возможны и другие конфигурации пунктов меню, например, с одновременным отображением всех пунктов в форме круга.
В разделах, следующих ниже, приводится описание нескольких более детализированных примеров осуществления изобретения. В разделе I со ссылками на иллюстрации описываются различные признаки прямолинейных меню, в разделе II - различные признаки полукруговых меню, а в разделе III представлены примеры альтернативного кругового меню, причем большинство признаков, описываемых в этих разделах, не ограничивается меню, имеющими определенную форму, используемую в примерах. Далее, в разделе IV приводится описание архитектуру программного обеспечения приложения, которое использует меню согласно некоторым примерам осуществления. В разделе V описывается компьютерная система, позволяющая реализовать некоторые примеры осуществления изобретения.
I. МЕНЮ С ПРЯМОЛИНЕЙНОЙ ФОРМОЙ ОБЛАСТИ ОТОБРАЖЕНИЯ
Как описывается выше, в некоторых примерах осуществления изобретения предлагаются меню с прямолинейной формой области отображения. В каждом из следующих пяти подразделов приводится описание примеров таких меню, в которых пункты меню прокручиваются через окно выбора. В каждом из первых четырех подразделов предлагаются различные принципы прокрутки пунктов меню через окно выбора, а пятом подразделе рассматриваются другие признаки меню. Специалистам в данной области техники должно быть очевидно, что большинство признаков, описываемых в этих разделах (например, принцип прокрутки пунктов меню через окно выбора, принцип отображения подменю и т.д.) применимы к меню, имеющим область отображения непрямолинейной формы (например, к полукруговым меню).
В следующих ниже подразделах все меню представлены с возможностью перемещения преимущественно влево и вправо. Специалисту в данной области техники должно быть очевидно, что подобные меню могут быть реализованы с возможностью перемещения вверх и вниз. Кроме того, в некоторых примерах осуществления изначально отображается только один пункт меню и отображение при активизации может быть как вертикальным, так и горизонтальным. После активизации приложение, обеспечивающее отображение меню, ожидает ввода от контроллера курсора и, если ввод осуществляется по преимуществу вверх или вниз, то меню отображается вертикально, а если ввод осуществляется по преимуществу влево или вправо, то меню отображается горизонтально.
А. Прокрутка по результатам ввода в форме щелчков
Фигура 4 является концептуальной иллюстрацией процесса 400 навигации по меню по результатам ввода в форме однократного щелка от контроллера курсора согласно некоторым примерам осуществления. Описание процесса 400 будет вестись со ссылками на фигуру 5, которая иллюстрирует навигацию по такому меню, как меню 500 согласно некоторым примерам осуществления. На фигуре 5 показаны три картинки - 510, 520 и 530. Картинка 510 иллюстрирует меню 500 при его начальном отображении, картинка 520 иллюстрирует меню 500 и курсор 515 перед приемом ввода в форме щелчка для навигации по меню, а картинка 530 - меню 500 после приема ввода в форме щелчка.
Как показано, процесс 400 начинается с отображения (на этапе 405) меню с начальным пунктом в окне выбора меню. В некоторых примерах осуществления меню включает в себя ряд пунктов меню с определенным порядком следования. В некоторых примерах осуществления пункты меню следуют в порядке от первого пункта к последнему пункту, в то время как в других примерах осуществления порядок следования пунктов меню определяется только их положением друг относительно друга. В последнем случае навигация пунктов меню может осуществляться по бесконечной траектории.
Как показано на фигуре 5, в некоторых примерах осуществления отображается только окно выбора, пункт в окне выбора и участки пунктов меню по обе стороны от окна выбора. Картинка 510 иллюстрирует окно 505 выбора с пунктом 540. Пункт 540 является пунктом, изначально отображаемым в окне 505 выбора. На картинке 510 слева от пункта 540 частично отображен пункт 535, а справа от пункта 540 частично отображен пункт 545. Пункт 535 является пунктом, предшествующим пункту 540 в последовательности пунктов меню, а пункт 545 является пунктом, следующим за пунктом 540.
Далее (на этапе 410) процесс 400 осуществляет прием ввода в форме щелчка кнопкой мыши (то есть в результате нажатия и отпускания кнопки мыши). Щелчок может исходить от левой кнопки мыши (когда процесс выполняется в системе с распознаванием ввода от двух или более кнопок мыши) или от кнопки, являющейся единственной кнопкой на мыши (когда процесс выполняется в системе с одной кнопкой). Специалисту в данной области техники должно быть понятно, что подобные процессы позволяют осуществлять прием подобного ввода от устройств ввода других типов, описываемых ниже. Затем процесс определяет положение курсора во время щелчка и преобразует положение и щелчок в действие.
Процесс принимает (на этапе 412) решение о том, указывает ли щелчок мышью на необходимость закрытия меню без выбора пункта или нет. В случае принятия положительного решения процесс завершается. Например, в некоторых примерах осуществления для закрытия меню используется значок "х" или подобный графический указатель. Когда пользователь щелкает по значку "х", а не осуществляет выбор пункта или прокрутку меню в каком-либо направлении, меню закрывается. В некоторых примерах осуществления такая опция отсутствует, и процесс навигации по такому меню соответственно отличается. Например, в некоторых примерах осуществления меню представляет собой неподвижную панель инструментов в приложении и не закрывается до завершения приложения.
Когда щелчок мышью не указывает на необходимость закрытия меню, процесс определяет (на этапе 415), находится ли курсор над окном выбора или нет. Когда курсор находится над окном выбора, процесс выбирает (на этапе 420) пункт меню, который находится в окне выбора. В некоторых примерах осуществления выбор пункта меню обеспечивает выполнение инструкций, соответствующих выбранному пункту меню, таких как выполнение команды, открытие подменю или активизация инструмента пользовательского интерфейса. После выбора пункта меню процесс завершается.
Когда курсор находится не над окном выбора, процесс принимает (на этапе 425) решение о том, находится ли курсор справа от окна выбора или нет. Этот случай иллюстрирует на фигуре 5 картинка 520. Курсор 515 расположен справа от окна 505 выбора и находится над частично отображенным пунктом 545. Когда во время щелчка курсор находится справа от окна выбора, процесс осуществляет (на этапе 430) прокрутку пунктов меню на один пункт влево. В результате этого пункт меню, который ранее находился справа от окна выбора, отображается в окне выбора.
Картинка 530 на фигуре 5 иллюстрирует результат приема ввода в форме щелчка кнопкой мыши в то время, когда курсор 515 находился в положении, показанном на картинке 520. В результате щелчка пункт 545 находится теперь в окне 505 выбора, пункт 540 только частично отображается слева от окна выбора, а справа от окна выбора отображается теперь новый пункт 550.
В случае, когда процесс 400 принимает решение о том, что курсор находится не справа от окна выбора, процесс осуществляет (на этапе 440) прокрутку пунктов меню на один пункт влево, поскольку курсор должен находиться слева от окна выбора (так как он не находится ни над окном выбора, ни справа от окна выбора). В результате этого пункт меню, который ранее находился слева от окна выбора, отображается в окне выбора.
Специалисту в данной области техники должно быть очевидно, что в других примерах осуществления для выбора пункта меню и прокрутки возможен прием вводов, отличных от вводов в форме однократных щелчков мышью. Среди примеров таких вводов можно назвать вводы с помощью мыши в другой форме (например, в форме двукратных щелчков, щелчков в сочетании с вводом с клавиатуры и т.д.), с использованием клавиатуры (например, клавиш с левыми и правыми стрелками для прокрутки и клавиши <Enter> для выбора), с использованием сенсорного экрана или сенсорной панели и т.д. Фактически в некоторых примерах осуществления с использованием сенсорных экранов курсор по существу не используется. Вместо этого для продвижения меню на один пункт вправо пользователь может прикоснуться к левой стороне меню, а для продвижения меню на один пункт влево пользователь может прикоснуться к правой стороне меню. Последующий выбор может быть выполнен путем прикосновения или двукратного прикосновения к окну выбора.
Кроме того, специалисту должно быть очевидно, что процесс 400 является примером одного возможного процесса, выполняемого в некоторых примерах осуществления для прокрутки меню на один пункт в результате каждого щелчка мышью. Процесс 400 не обязательно является единственным примером предоставления возможности отображения такого меню с помощью компьютерных инструкций и преобразования ввода для меню. Например, выполнение этапов 415, 425 и 435 может осуществляться не обязательно в порядке, показанном на фигуре 4. В некоторых примерах осуществления возможно также использование трех отдельных наборов компьютерных инструкций в зависимости от места расположения курсора при приеме ввода в форме щелчка мышью, а не одного набора инструкций для всех трех его соответствующих положений.
В. Непрерывная прокрутка пунктов меню
Фигура 6 является концептуальной иллюстрацией процесса 600 навигации по меню в результате ввода команды в форме щелчка и перетаскивания контроллером курсора согласно некоторым примерам осуществления. В частности, согласно процессу 600 в ответ на ввод в форме щелчка и перетаскивания осуществляется непрерывная прокрутка пунктов меню, а по окончании ввода выбирается пункт, наиболее близкий к окну выбора. Процесс 600 описывается со ссылками на фигуру 7, которая иллюстрирует процесс навигации по такому меню 700 согласно некоторым примерам осуществления.
На фигуре 7 показано пять картинок - 710, 720, 730, 740 и 750. Картинка 710 иллюстрирует меню 700 при его начальном отображении с курсором 715, картинки 720 и 730 иллюстрируют меню 700 при удерживании кнопки мыши в нажатом состоянии и перемещении мыши для прокрутки меню, картинка 740 иллюстрирует меню 700 при отпускании кнопки, а картинка 750 - меню 700 вскоре после отпускания кнопки мыши.
Как показано, процесс 600 начинается с отображения (на этапе 605) меню с начальным пунктом в окне выбора меню. В некоторых примерах осуществления меню включает в себя ряд пунктов меню с определенным порядком следования. В некоторых примерах осуществления пункты меню следуют в порядке от первого пункта к последнему пункту, в то время как в других примерах осуществления порядок следования пунктов меню определяется только их положением друг относительно друга. В последнем случае навигация пунктов меню может осуществляться по бесконечной траектории.
Как показано на фигуре 7, в некоторых примерах осуществления отображается только окно выбора, пункт в окне выбор и участки пунктов меню по обе стороны от окна выбора. На картинке 710 показано окно 705 выбора с пунктом 760. Пункт 760 является пунктом, изначально отображаемым в окне 705 выбора. На картинке 710 слева от пункта 760 частично отображен пункт 755, а справа от пункта 760 частично отображен пункт 765. Пункт 755 является пунктом, предшествующим пункту 760 в последовательности пунктов меню, а пункт 765 является пунктом, следующим за пунктом 760.
Далее (на этапе 610) процесс 600 осуществляет прием ввода в форме нажатия и удерживания кнопки мыши. Кнопка мыши может быть левой кнопкой мыши (когда процесс выполняется в системе с распознаванием ввода от двух или более кнопок мыши) или кнопкой, являющейся единственной кнопкой на мыши (когда процесс выполняется в системе с одной кнопкой). Специалисту в данной области техники должно быть понятно, что подобные процессы позволяют осуществлять прием подобного ввода и от устройств ввода других типов, описываемых ниже. В некоторых примерах осуществления для преобразования перемещения мыши в прокрутку меню и выбор процесс требует, чтобы при нажатии мыши курсор находился над меню.
Процесс принимает (на этапе 615) решение о том, совершает ли мышь перемещение влево или нет. Когда мышь перемещается влево, процесс прокручивает (на этапе 620) пункты меню влево. В результате этого пункт меню, который ранее находился в окне выбора, начинает перемещаться влево, а пункт меню, отображенный справа, начинает перемещаться в окно выбора. При этом пункт, отображенный крайне левым, перемещается за границы области отображения, а в область отображения попадает пункт с правой стороны. Затем процесс переходит к этапу 635, описываемому ниже.
Когда мышь не перемещается влево, процесс принимает (на этапе 625) решение о том, совершает ли мышь перемещение вправо или нет. Когда мышь перемещается вправо, процесс прокручивает (на этапе 630) пункты меню вправо. В результате этого пункт меню, который ранее находился в окне выбора, начинает перемещаться вправо, а пункт меню, отображенный слева, начинает перемещаться в окно выбора. При этом пункт, отображенный крайне правым, перемещается за границы области отображения, а в область отображения попадает пункт с левой стороны.
Фигура 7 иллюстрирует случай приема ввода, указывающего на перемещение мыши влево. На картинке 710 виден курсор 715, располагающийся над окном 705 выбора. На картинке 720 меню 700 показано вскоре после нажатия кнопки мыши и начала перемещения мыши пользователем влево. При этом пункт 755 меню больше не отображается совсем, пункт 760 меню уже находится не в центре окна 705 выбора, а пункт 765 меню теперь отображается полностью.
Курсор 715 больше не виден на данной картинке. В некоторых примерах осуществления курсор при удерживании кнопки мыши в нажатом состоянии не отображается, поскольку реальное перемещение, показываемое на экране, происходит в противоположном направлении по отношению к перемещению мыши. В некоторых примерах осуществления для имитации идеи перетаскивания окна выбора в результате перемещения мыши по неподвижным пунктам меню курсор отображается над окном выбора в неподвижном состоянии. В некоторых таких примерах осуществления вместо перемещения мыши влево, обеспечивающего перемещение пунктов меню влево, используется перемещение пунктов меню в противоположном направлении по отношению к перемещению мыши.
На картинке 730 меню 700 показано после того, как пользователь продолжил перемещение мыши влево и таким образом обеспечил прокрутку пунктов меню влево. На картинке 730 показаны пункт 770 меню, который почти полностью переместился за границы области отображения, пункт 775 меню, как раз выходящий из окна выбора, и пункт 780 меню, отображенный почти полностью и только входящий в окно выбора.
Как показано на фигуре 6, затем (на этапе 635) процесс 600 принимает решение о приеме или неприеме ввода, указывающего на отпускание или неотпускание мыши. В случае неотпускания кнопки мыши процесс возвращается к этапу 615 для продолжения обработки ввода от мыши. В некоторых примерах осуществления пользователь может перемещать мышь назад и вперед и таким образом перемещать пункты меню как влево, так и вправо. Поэтому, если пользователь прокручивает меню слишком далеко, он может переместить мышь в другом направлении и обеспечить прокрутку меню назад к нужному пункту меню.
При отпускании кнопки мыши процесс идентифицирует (на этапе 640) пункт меню, наиболее близкий к окну выбора. Картинка 740 на фигуре 7 иллюстрирует меню 700 непосредственно после отпускания кнопки мыши. На отпускание кнопки мыши указывает курсор 715, который снова становится видимым. На данном этапе в результате прокручивания пункт 775 меню находится большей частью за границами окна выбора, в то время как пункт 780 меню - большей частью в окне выбора. Поскольку пункт меню 780 является наиболее близким к центру окна выбора, процесс 600 идентифицирует пункт 780.
Затем (на этапе 645) процесс перемещает идентифицированный пункт в окно выбора. Картинка 750 на фигуре 7 иллюстрирует результат перемещения пункта 780 меню в окно выбора после отпускания кнопки мыши. В некоторых примерах осуществления меню отображается в виде очень быстро перемещающегося в течение промежутка времени между моментом отпускания кнопки мыши и моментом центрирования идентифицированного пункта (например, между картинками 740 и 750). В других примерах осуществления происходит простое обновление отображения на меню с идентифицированным пунктом, центрированным в окне выбора, т.е. пункты меню отображаются не в движении, а в положении в момент отпускания кнопки мыши и затем сразу с идентифицированным пунктом в окне выбора.
Далее процесс осуществляет (на этапе 650) выбор идентифицированного пункта меню. Выбор пункта меню в некоторых примерах осуществления обеспечивает выполнение инструкций, соответствующих выбранному пункту меню, таких как выполнение команды, открытие подменю или активизация инструмента пользовательского интерфейса. В некоторых примерах осуществления меню включает в себя также пункт, выбор которого просто закрывает меню и не обеспечивает выполнения никаких других инструкций. Такая опция позволяет пользователю принять во время процесса навигации по меню решение о невыборе никакого пункта меню, а затем прокрутить до опции закрытия меню и выбрать эту опцию в качестве альтернативы. После выбора пункта меню процесс завершается.
Специалисту в данной области техники должно быть очевидно, что в других примерах осуществления для выбора пункта меню и прокрутки возможен прием вводов, отличных от вводов в форме удерживания пользователем кнопки мыши в нажатом состоянии и ее перемещения. Среди примеров таких вводов можно назвать вводы с помощью мыши в другой форме (например, в форме двукратных щелчков перед удерживанием мыши в нажатом состоянии и т.д.), с использованием клавиатуры (например, в форме удерживания клавиш с левыми и правыми стрелками в нажатом состоянии), с использованием сенсорного экрана или сенсорной панели и т.д. Фактически в некоторых примерах осуществления с использованием сенсорных экранов курсор по существу не используется. Вместо этого пользователь может нажать по меню на сенсорном экране одним пальцем, а затем переместить меню в одном из двух направлений путем перемещения пальца вправо или влево.
Кроме того, специалисту должно быть очевидно, что процесс 600 является примером одного возможного процесса, выполняемого в некоторых примерах осуществления для прокрутки меню на один пункт в результате удерживания кнопки меню в нажатом состоянии. Процесс 600 не обязательно является единственным примером предоставления возможности отображения такого меню с помощью компьютерных инструкций и преобразования ввода для меню. Например, выполнение этапов 615 и 625 может осуществляться не обязательно в порядке, показанном на фигуре 6.
В некоторых примерах осуществления возможно также использование различных методов для принятия решения о том, какой пункт должен быть выбран при отпускании кнопки мыши. Вместо идентификации пункта, наиболее близкого к окну выбора, в некоторых примерах осуществления идентифицируется самый последний полностью центрированный пункт (то есть пункт, покидающий окно выбора после того, как пользователь отпускает кнопку мыши). Точно так же в некоторых примерах осуществления идентифицируется пункт, который самым последним начинает входить в окно выбора (то есть пункт, входящий в окно выбора после того, как пользователь отпускает кнопку мыши).
С. Окно выбора, совершающее перемещение вместе с прокруткой пунктов меню
Фигура 8 является концептуальной иллюстрацией процесса 800 навигации по меню в результате ввода в форме щелчка и перетаскивания контроллером курсора согласно некоторым примерам осуществления. В частности, согласно процессу 800 в ответ на ввод в форме щелчка и перетаскивания осуществляется непрерывная прокрутка пунктов меню и перемещение окна выбора до пороговой точки, а затем - перескакивание на следующий пункт меню. По окончании ввода выбирается пункт, находящийся в настоящее время в окне выбора. Процесс 800 описывается со ссылками на фигуру 9, которая иллюстрирует процесс навигации по такому меню 900 согласно некоторым примерам осуществления.
На фигуре 9 показано шесть картинок - 910, 920, 930, 940, и 950. Картинка 910 иллюстрирует меню 900 при его начальном отображении с курсором 915, картинки 920, 930 и 940 иллюстрируют меню 900 при удерживании кнопки мыши в нажатом состоянии и перемещении мыши для прокрутки меню, картинка 950 иллюстрирует меню 900 при отпускании кнопки, а картинка 960 - меню 700 вскоре после отпускания кнопки мыши.
Как показано, процесс 800 начинается (на этапе 805) с отображения меню с начальным пунктом в окне выбора меню. В некоторых примерах осуществления меню включает в себя ряд пунктов меню с определенным порядком следования. В некоторых примерах осуществления пункты меню следуют в порядке от первого пункта к последнему пункту, в то время как в других примерах осуществления порядок следования пунктов меню определяется только их положением друг относительно друга. В последнем случае навигация пунктов меню может осуществляться по бесконечной траектории.
Как показано на фигуре 9, в некоторых примерах осуществления отображается только окно выбора, пункт в окне выбор и участки пунктов меню по обе стороны от окна выбора. На картинке 910 показано окно 905 выбора с пунктом 970. Пункт 970 является пунктом, изначально отображаемым в окне 905 выбора. На картинке 910 слева от пункта 970 частично отображен пункт 965, а справа от пункта 970 частично отображен пункт 975. Пункт 965 является пунктом, предшествующим пункту 970 в последовательности пунктов меню, а пункт 975 является пунктом, следующим за пунктом 970.
Далее (на этапе 810) процесс 800 осуществляет прием ввода в форме нажатия и удерживания кнопки мыши. Кнопка мыши может быть левой кнопкой мыши (когда процесс выполняется в системе с распознаванием ввода от двух или более кнопок мыши) или кнопкой, являющейся единственной кнопкой на мыши (когда процесс выполняется в системе с одной кнопкой). Специалисту в данной области техники должно быть понятно, что подобные процессы позволяют осуществлять прием подобного ввода и от устройств ввода других типов, описываемых ниже. В некоторых примерах осуществления для преобразования перемещения мыши в прокрутку меню и выбор процесс требует, чтобы при нажатии мыши курсор находился над меню.
Процесс принимает (на этапе 815) решение о том, совершает ли мышь перемещение влево или нет. Когда мышь перемещается влево, процесс прокручивает (на этапе 820) пункты меню и окно выбора вправо. В процессе перемещения пунктов меню окно выбора перемещается вместе с ними, а не остается на месте, через которое происходит перемещение пунктов. Затем процесс переходит к этапу 835, описываемому ниже. При перемещении пункта меню в область отображения с левой стороны, пункт, отображенный крайне правым, перемещается за границы области отображения.
Когда мышь не совершает перемещения влево, процесс принимает (на этапе 825) решение о том, перемещается ли мышь вправо или нет. Когда мышь перемещается вправо, процесс прокручивает (на этапе 830) пункты меню и окно выбора влево. В процессе перемещения пунктов меню окно выбора перемещается вместе с ними, а не остается на месте, через которое происходит перемещение пунктов. При перемещении пункта меню в область отображения с правой стороны, пункт, отображенный крайним левым, перемещается за границы области отображения. Когда мышь не перемещается ни влево, ни вправо, процесс не прокручивает пункты меню ни в каком направлении и переходит к этапу 845, описываемому ниже.
Фигура 9 иллюстрирует случай приема ввода, указывающего на перемещение мыши вправо при удерживании кнопки мыши в нажатом состоянии. На картинке 910 виден курсор 915, располагающийся над окном 905 выбора. На картинке 920 меню 900 показано вскоре после нажатия кнопки мыши и начала перемещения мыши пользователем вправо. При этом пункт 965 меню больше не отображается совсем, пункт 970 меню уже находится не в центре области отображения, а пункт 975 приближается к полному отображению.
На данной картинке курсор 915 больше не виден. В некоторых примерах осуществления курсор при удерживании кнопки мыши в нажатом состоянии не отображается, поскольку реальное перемещение, показываемое на экране, происходит в противоположном направлении по отношению к перемещению мыши. В некоторых примерах осуществления отображается курсор, движущийся вместе с окном выбора.
Как показано на фигуре 8, затем (на этапе 835) процесс 800 принимает решение о превышении или непревышении порога перемещения окна выбора. Когда перемещение окна выбора превышает пороговое значение, процесс обеспечивает (на этапе 840) перескакивание окна выбора на следующий пункт меню. При перемещении пунктов меню вправо следующим пунктом меню является пункт слева от окна выбора. Соответственно при перемещении пунктов меню влево следующим пунктом меню является пункт справа от окна выбора.
В некоторых примерах осуществления порог является точкой, в которой окно выбора выходит в процессе перемещения за границы области отображения. Это, в частности, применимо к изображениям меню с возможностью отображения только небольшого числа пунктов меню. В некоторых примерах осуществления порог задается как точка, в которой следующий пункт меню занимает при неподвижном окне выбора более половины окна выбора.
Картинка 930 на фигуре 9 иллюстрирует прокрутку меню 900 влево до такой точки, что окно 905 выбора достигает левого края области отображения, которая является порогом для этого отображения меню. Картинка 940 иллюстрирует результат дальнейшей прокрутки меню влево, при котором окно 905 выбора перескакивает с пункта 970 меню на пункт 975 меню. В некоторых примерах осуществления для перескакивания окна выбора на следующий пункт меню окно выбора отображается в виде очень быстро перемещающегося между одним пунктом и следующим. В других примерах осуществления происходит простое обновление отображения на меню с окном выбора над следующим пунктом, т.е. окно выбора отображается не в движении, а над первым пунктом и затем сразу над следующим пунктом.
Далее (на этапе 845) процесс 800 принимает решение о приеме или неприеме ввода, указывающего на отпускание кнопки мыши. В случае неотпускания кнопки мыши процесс возвращается к этапу 815 для продолжения обработки ввода от мыши. В некоторых примерах осуществления пользователь может перемещать мышь назад и вперед и таким образом перемещать пункты меню как влево, так и вправо. Поэтому, если пользователь прокручивает меню за требуемый пункт меню, он может переместить мышь в противоположном направлении и обеспечить прокрутку меню назад к нужному пункту меню.
При отпускании кнопки мыши процесс идентифицирует (на этапе 850) пункт, находящийся в настоящее время в окне выбора. Картинка 950 на фигуре 9 иллюстрирует меню 900 непосредственно после отпускания кнопки мыши. На отпускание кнопки мыши указывает курсор 915, который снова становится видимым. На этой картинке окно 905 выбора изображено после недавнего перескакивания с пункта 980 меняю на пункт 985. При этом процесс идентифицирует пункт 985 как пункт меню, находящийся в настоящее время в окне 905 выбора.
Затем (на этапе 855) процесс центрирует идентифицированный пункт и окно выбора в области отображения меню. Картинка 960 иллюстрирует результат центрирования пункта 985 меню и окна 905 выбора в области отображения для меню 900 после отпускания кнопки мыши. В некоторых примерах осуществления меню и окно выбора отображаются в виде очень быстро перемещающихся в течение промежутка времени между моментом отпускания кнопки мыши и моментом центрирования идентифицированного пункта и окна выбора (например, между картинками 950 и 960). В других примерах осуществления происходит простое обновление отображения на меню с центрированными идентифицированным пунктом и окном выбора, т.е. пункты меню отображаются не в движении, а в положении в момент отпускания кнопки мыши и затем сразу с центрированными идентифицированным пунктом и окном выбора.
Далее процесс осуществляет (на этапе 860) выбор идентифицированного пункта меню. Выбор пункта меню в некоторых примерах осуществления обеспечивает выполнение инструкций, соответствующих выбранному пункту меню, таких как выполнение команды, открытие подменю или активизация инструмента пользовательского интерфейса. В некоторых примерах осуществления меню включает в себя также пункт, выбор которого просто закрывает меню и не обеспечивает выполнения никаких других инструкций. Такая опция позволяет пользователю принять во время процесса навигации по меню решение о невыборе никакого пункта меню, а затем прокрутить до опции закрытия меню и выбрать эту опцию в качестве альтернативы. После выбора пункта меню процесс завершается.
Специалисту в данной области техники должно быть очевидно, что в других примерах осуществления для выбора пункта меню и прокрутки возможен прием вводов, отличных от вводов в форме удерживания пользователем кнопки мыши в нажатом состоянии и ее перемещения. Среди примеров таких вводов можно назвать вводы с помощью мыши в другой форме (например, в форме двукратных щелчков перед удерживанием мыши в нажатом состоянии и т.д.), с использованием клавиатуры (например, в форме удерживания клавиш с левыми и правыми стрелками в нажатом состоянии), с использованием сенсорного экрана или сенсорной панели и т.д. Фактически в некоторых примерах осуществления с использованием сенсорных экранов курсор по существу не используется. Вместо этого пользователь может нажать по меню на сенсорном экране одним пальцем, а затем переместить меню в одном из двух направлений путем перемещения пальца вправо или влево.
Кроме того, специалисту должно быть очевидно, что процесс 800 является примером одного возможного процесса, выполняемого в некоторых примерах осуществления для прокрутки меню в результате удерживания кнопки меню в нажатом состоянии. Процесс 800 не обязательно является единственным примером предоставления возможности отображения такого меню с помощью компьютерных инструкций и преобразования ввода для меню. Например, выполнение этапов 815 и 825 может осуществляться не обязательно в порядке, показанном на фигуре 8. В некоторых примерах осуществления возможно также использование двух отдельных наборов компьютерных инструкций для принятия решения о превышении или непревышении порогового перемещения окна выбора - одного набора инструкций в случае перемещения пунктов меню влево и одного набора инструкций в случае перемещения пунктов меню вправо.
D. Перескакивание пунктов меню в окно выбора
Фигура 10 является концептуальной иллюстрацией процесса 1000 навигации по меню в результате ввода в форме щелчка и перетаскивания контроллером курсора согласно некоторым примерам осуществления. В частности, согласно процессу 600 перемещения пунктов меню не происходит до достижения порогового перемещения контроллера курсора, в момент которого пункты меню сдвигаются на один пункт. Процесс 1000 описывается со ссылками на фигуру 11, которая иллюстрирует процесс навигации по такому меню 1100 согласно некоторым примерам осуществления.
На фигуре 11 показано четыре картинки - 1110, 1120, 1130 и 1140. Картинка 1110 иллюстрирует меню 1100 при его начальном отображении с курсором 1115, картинки 1120 и 1130 иллюстрируют меню 1100 при удерживании кнопки мыши в нажатом состоянии и перемещении мыши для прокрутки меню, а картинка 1140 - при отпускании кнопки.
Как показано, процесс 1000 начинается с отображения (на этапе 1005) меню с начальным пунктом в окне выбора меню. В некоторых примерах осуществления меню включает в себя ряд пунктов меню с определенным порядком следования. В некоторых примерах осуществления пункты меню следуют в порядке от первого пункта к последнему пункту, в то время как в других примерах осуществления порядок следования пунктов меню определяется только их положением друг относительно друга. В последнем случае навигация пунктов меню может осуществляться по бесконечной траектории.
Как показано на фигуре 11, в некоторых примерах осуществления отображается только окно выбора, пункт в окне выбор и участки пунктов меню по обе стороны от окна выбора. На картинке 1110 показано окно 1105 выбора с пунктом 1150. Пункт 1150 является пунктом, изначально отображаемым в окне 1105 выбора. На картинке 1110 слева от пункта 1150 частично отображен пункт 1145, а справа от пункта 1150 частично отображен пункт 11555. Пункт 1145 является пунктом, предшествующим пункту 1150 в последовательности пунктов меню, а пункт 1155 является пунктом, следующим за пунктом 1150.
Далее (на этапе 1010) процесс 1000 осуществляет прием ввода в форме нажатия и удерживания кнопки мыши. Кнопка мыши может быть левой кнопкой мыши (когда процесс выполняется в системе с распознаванием ввода от двух или более кнопок мыши) или кнопкой, являющейся единственной кнопкой на мыши (когда процесс выполняется в системе с одной кнопкой). Специалисту в данной области техники должно быть понятно, что подобные процессы позволяют осуществлять прием подобного ввода и от устройств ввода других типов, описываемых ниже. В некоторых примерах осуществления для преобразования перемещения мыши в прокрутку меню и выбор процесс требует, чтобы при нажатии мыши курсор находился над меню.
Процесс принимает (на этапе 1015) решение о перемещении или неперемещении мыши влево. Когда мышь перемещается влево, процесс принимает (на этапе 1020) решение о превышении или непревышении порога перемещения мыши. В случае, когда перемещение мыши превышает пороговое значение, процесс обеспечивает (на этапе 1025) перескакивание следующего пункта меню влево в окно выбора. В результате этого все меню сдвигается влево на один пункт. В некоторых примерах осуществления порог перемещения мыши является константой, определяемой перемещением мыши, требуемым для перемещения курсора на определенное расстояние по области отображения. В некоторых примерах осуществления это пороговая величина варьируется с учетом скорости перемещения мыши, что обеспечивает пользователю возможность более быстрого перемещения по меню за счет использования более быстрых перемещений мыши. Затем процесс переходит к этапу 1045, описываемому ниже.
Когда мышь не перемещается влево, процесс принимает (на этапе 1030) решение о том, совершает ли мышь перемещение вправо или нет. Когда мышь не перемещается вправо (то есть пользователь удерживает кнопку мыши в нажатом состоянии, но не перемещает мышь), процесс переходит к этапу 1045, описываемому ниже. В противном случае процесс принимает (на этапе 1035) решение о превышении или непревышении порога перемещения мыши. Когда перемещение мыши превышает пороговое значение, процесс обеспечивает (на этапе 1040) перескакивание следующего пункта меню вправо в окно выбора. В результате этого все меню сдвигается вправо на один пункт. В некоторых примерах осуществления порог перемещения мыши является константой, определяемой перемещением мыши, требуемым для перемещения курсора на определенное расстояние по области отображения. В некоторых примерах осуществления это пороговая величина варьируется с учетом скорости перемещения мыши, что обеспечивает пользователю возможность более быстрого перемещения по меню за счет использования более быстрых перемещений мыши.
Фигура 11 иллюстрирует случай приема ввода, указывающего на перемещение мыши влево при удерживании кнопки мыши в нажатом состоянии. На картинке 1110 виден курсор 1115, располагающийся над окном 1105 выбора. На картинке 1120 меню 1100 показано вскоре после нажатия кнопки мыши и начала перемещения мыши пользователем влево. Несмотря на начало перемещения мыши превышения, по меньшей мере, порога перемещения мыши при этом не наблюдается, и поэтому перемещения пунктов 1145,1150 и 1155 меню не происходит вообще.
На данной картинке курсор 1115 больше не виден. В некоторых примерах осуществления курсор при удерживании кнопки мыши в нажатом состоянии не отображается. В некоторых примерах осуществления для имитации идеи перетаскивания окна выбора в результате перемещения мыши по неподвижным пунктам меню курсор отображается над окном выбора в неподвижном состоянии. В некоторых таких примерах осуществления вместо перемещения мыши влево, обеспечивающего перемещение пунктов меню влево, используется перемещение пунктов меню в противоположном направлении по отношению к перемещению мыши.
На картинке 1130 меню 1100 показано после того, как пользователь переместил на достаточное расстояние влево и таким образом обеспечил сдвиг пунктов меню влево на один пункт. На картинке 1130 показано, что пункт1155 меню находится теперь в окне 1105 выбора, пункт 1150 переместился из окна выбора и отображается только частично слева от окна 1105 выбора, а справа от окна выбора теперь частично отображается новый пункт 1160. В некоторых примерах осуществления меню отображается в виде очень быстро перемещающегося в процессе сдвига меню как вправо, так и влево. В других примерах осуществления происходит простое обновление отображения на меню с пунктами, сдвигающимися после превышения порога перемещения мыши, а не отображение перемещения пунктов меню вообще.
Как показано на фигуре 10, затем (на этапе 1045) процесс 1000 принимает решение о приеме или неприеме ввода, указывающего на отпускание мыши. В случае неотпускания кнопки мыши процесс возвращается к этапу 1015 для продолжения обработки ввода от мыши. В некоторых примерах осуществления пользователь может перемещать мышь назад и вперед и таким образом перемещать пункты меню как влево, так и вправо.
Поэтому, если пользователь прокручивает меню за требуемый пункт меню, он может переместить мышь в противоположном направлении и обеспечить прокрутку меню назад к нужному пункту меню.
Далее процесс осуществляет (на этапе 1050) выбор пункта меню, который находится в настоящий момент в окне выбора. В некоторых примерах осуществления выбор пункта меню обеспечивает выполнение инструкций, соответствующих выбранному пункту меню, таких как выполнение команды, открытие подменю или активизация инструмента пользовательского интерфейса. В некоторых примерах осуществления меню включает в себя также пункт, выбор которого просто закрывает меню и не обеспечивает выполнения никаких других инструкций. Такая опция позволяет пользователю принять во время процесса навигации по меню решение о невыборе никакого пункта меню, а затем прокрутить до опции закрытия меню и выбрать эту опцию в качестве альтернативы. После выбора пункта меню процесс завершается.
Картинка 1140 на фигуре 11 иллюстрирует меню 1100 непосредственно после отпускания кнопки мыши. На отпускание кнопки мыши указывает курсор 1115, который снова становится видимым. На этой картинке пункт 1165 меню представлен после недавнего перемещения в окно 1105 выбора. При этом процесс осуществляет выбор пункта 1165 в качестве пункта, находящегося в настоящий момент в окне выбора.
Специалисту в данной области техники должно быть очевидно, что в других примерах осуществления для выбора пункта меню и прокрутки возможен прием вводов, отличных от вводов в форме удерживания пользователем кнопки мыши в нажатом состоянии и ее перемещения. Среди примеров таких вводов можно назвать вводы с помощью мыши в другой форме (например, в форме двукратных щелчков перед удерживанием мыши в нажатом состоянии и т.д.), с использованием клавиатуры (например, в форме удерживания клавиш с левыми и правыми стрелками в нажатом состоянии), с использованием сенсорного экрана или сенсорной панели и т.д. Фактически в некоторых примерах осуществления с использованием сенсорных экранов курсор по существу не используется. Вместо этого пользователь может нажать по меню на сенсорном экране одним пальцем, а затем переместить меню в одном из двух направлений путем перемещения пальца вправо или влево
Кроме того, специалисту должно быть очевидно, что процесс 1000 является примером одного возможного процесса, выполняемого в некоторых примерах осуществления для прокрутки меню в результате удерживания кнопки меню в нажатом состоянии. Процесс 1000 не обязательно является единственным примером предоставления возможности отображения такого меню с помощью компьютерных инструкций и преобразования ввода для меню. Например, выполнение этапов 1015 и 1025 может осуществляться не обязательно в порядке, показанном на фигуре 10.
Во всех четырех процессах, описываемых выше, в ответ на ввод от контроллера курсора для прокрутки вправо или влево (или ввод в форме щелчка справа или слева от окна выбора или в форме перетаскивания) пункты меню перемещаются вправо или влево. Специалисту в данной области техники должно быть очевидно, что в различных примерах осуществления в ответ на левый или правый ввод пункты меню перемещаются в разных направлениях. Таким образом, в некоторых примерах осуществления, в которых отображается перемещение пункта меню согласно процессу 600, перемещение мыши вправо обеспечивает перемещение пунктов меню вправо. В других таких примерах осуществления перемещение мыши вправо обеспечивает перемещение пунктов меню влево. Для процессов 400, 800 или 1000 возможны эквивалентные варианты.
Четыре процесса и его разновидности не исчерпывают собой всех возможностей для прокручивания меню типа, рассматриваемого выше и ниже. Например, для прокручивания меню и выбора пункта из меню может быть использовано взаимодействие с различными сенсорными экранами или сенсорными панелями. В случае сенсорной панели для прокручивания меню пользователь может систематически использовать жесты пролистывания (например, пролистывания двумя пальцами) в любом направлении при курсоре, находящемся над окном выбора. В некоторых примерах осуществления число пунктов меню, прокручиваемых в результате одиночного жеста, зависит от скорости выполнения и длины жеста пролистывания. Для последующего выбора пункта из меню может быть использован различный ввод, такой как в форме двойного касания курсором по окну выбора. Точно так же прокручивание пунктов меню может осуществляться с использованием жестов пролистывания меню на сенсорном экране (без курсора). Как и в случае приведенного выше примера с сенсорной панелью, в некоторых примерах осуществления число пунктов меню, прокручиваемых в результате одиночного жеста, зависит от скорости выполнения и длины жеста пролистывания. Для выбора пункта пользователь может использовать быстрое касание или двойное касание (или некий другой жест), совершаемое по пункту в окне выбора.
Е. Другие признаки меню
Как указывалось выше, в некоторых примерах осуществления выбор пункта меню обеспечивает выполнение инструкций, соответствующих выбранному пункту меню. В некоторых примерах осуществления инструкции обеспечивают активизацию определенного инструмента. Например, в некоторых примерах осуществления меню является частью приложения для редактирования видео. Пунктами меню могут быть
инструменты для редактирования видео (например, инструмент Лезвие, инструмент редактирования с сохранением длительности клипов, инструмент редактирования с прокруткой, инструмент Бритва и т.д.) или различные переходные опции (например, перекрытие наплывом, скрытие и т.д.) В некоторых примерах осуществления инструкции, соответствующие пункту меню, обеспечивают выполнение команды. Например, в некоторых примерах осуществления пункты меню представляют типичные опции раскрывающегося меню приложения (например, меню "Файл" с опциями "Сохранение", "Печать", "Открытие" и т.д.).
В некоторых примерах осуществления выбор одного или более пунктов меню обеспечивает открытие подменю. В случаях, когда навигация по меню осуществляется пользователем в форме нажатия и удерживания кнопки выбора на контроллере курсора в нажатом состоянии и последующего перемещения контроллера курсора для прокрутки пунктов меню через окно выбора (например, по меню, описываемых в подразделах B-D выше), в некоторых примерах осуществления определенный пункт, открывающий подменю, выбирается когда пользователь прекращает перемещение мыши на определенном пункте в окне выбора.
Фигура 12 иллюстрирует пример навигации по меню 1200 и подменю 1225 согласно некоторым примерам осуществления. На фигуре 12 показано шесть картинок - 1210, 1220, 1230, 1240, 1250 и 1260. Картинка 1210 иллюстрирует меню 1200 с пунктом 1265 меню в окне 1205 выбора, картинки 1220, 1230 и 1240 иллюстрируют процесс навигации по подменю 1225, открываемому в результате выбора пункта 1265 меню, а картинки 1250 и 1260 - результат выбора пункта 1275 меню в подменю 1225.
Картинка 1210 иллюстрирует меню 1200 с пунктом 1265 в окне 1205 выбора. Пункт 1265 меню не является пунктом меню, изначально отображаемым в окне 1205 выбора. Для попадания пункта 1265 в окно 1205 выбора вместо начального пользователь должен прокрутить различные пункты меню в меню 1200. Навигация по меню может осуществляться в форме однократного щелчка кнопкой мыши (например, согласно процессу типа процесса 400), в форме нажатия и удерживания кнопки мыши пользователем с перемещением мыши назад и вперед (например, согласно процессу типа процесса 600, 800 или 1000) или в форме некоторого другого процесса.
Пункт 1265 меню включает в себя маленький значок 1235 "+". В некоторых примерах осуществления такой символ используется для графического указания на возможность открытия подменю при выборе пункта. В некоторых других примерах осуществления возможно использование других графических указателей, таких как стрелки, буквы и т.д. В других примерах осуществления предполагается, что пользователь знает, какие пункты меню позволяют открывать подменю и графические указатели не используются. Как показано на следующих картинках, в некоторых примерах осуществления, когда пользователь прокручивает подменю, то графический указатель остается в окне выбора. В других же примерах осуществления при прокручивании подменю пользователем графический указатель остается с определенным пунктом, обеспечивающим открытие подменю.
В некоторых примерах осуществления в меню, работающих согласно процессу 400 (или подобным образом), подменю открывается, как только соответствующий ему пункт меню (то есть пункт меню, выбор которого приводит к открытию подменю) перемещается в окно выбора. В других примерах осуществления требуется выбор определенного пункта меню (например, в результате щелчка по пункту меню в окне выбора). Последующая навигация по подменю осуществляется посредством ввода, подобного вводу, используемому для начального меню (то есть в некоторых примерах осуществления, если для навигации по начальному меню используются однократные щелчки, то так же осуществляется и навигация по подменю).
В меню, работающих согласно одному из процессов 600, 800 или 1000 (или согласно подобному процессу), в некоторых примерах осуществления подменю открывается также, как только соответствующий ему пункт меню перемещается в окно выбора. В других же примерах осуществления пользователь должен сохранять определенный пункта меню в окне выбора в течение порогового времени (то есть не перемещать мышь после появления определенного пункта меню в окне выбора). В некоторых примерах осуществления открытие подменю обеспечивает пользователю возможность навигации по подменю в результате продолжения удерживания кнопки мыши в нажатом состоянии и перемещения мыши вверх и вниз (когда подменю открывается вертикально).
Картинка 1220 иллюстрирует открытое подменю 1225. Подменю 1225 открывается вертикально. При начальном открытии подменю пункт 1265 остается в окне 1205 выбора. В некоторых случаях пункт из начального меню, обеспечивающий открытие подменю, не может быть выбран из подменю. Однако в других случаях этот пункт может быть выбран из подменю точно так же как и остальная часть пунктов подменю.
Как показано на картинке 1220, подменю 1225 включает в себя в дополнение к пункту 1265, по меньшей мере, четыре пункта - пункты 1270, 1275, 1280 и 1285. В некоторых примерах осуществления все подменю отображается сразу, тогда как в других примерах осуществления отображается только участок подменю вокруг окна выбора (подобно отображению меню 1200, только вертикально).
Картинка 1230 иллюстрирует подменю 1225 после навигации пользователя к пункту 1280. Навигацию к этому пункту в некоторых примерах осуществления пользователь может обеспечить щелчком ниже окна выбора. В других примерах осуществления пользователь может удерживать кнопку мыши в нажатом состоянии и перемещать мышь вниз. Картинка 1260 иллюстрирует подменю 1225 после навигации пользователя к пункту 1275 (на два пункта вверх от пункта 1280). Навигацию к этому пункту меню пользователь может обеспечить щелчком выше окна выбора или перемещением мыши вверх, в зависимости от процесса, используемого для навигации по меню 1200. В рассмотренных примерах навигация по меню осуществляется пользователем при удерживании кнопки мыши в нажатом состоянии, поскольку никакого курсора не видно.
Картинка 1250 иллюстрирует процесс, используемый в некоторых примерах осуществления для закрытия подменю после выбора пункта из подменю. Пункт 1275 меню был выбран (пользователем, например, в результате отпускания кнопки мыши, в то время, когда пункт 1275 находится в окне 1205 выбора). Как показано, подменю 1225 начинает закрываться вокруг выбранного пункта 1275. Картинка 1240 иллюстрирует меню 1200 после полного сворачивания подменю с выбранным пунктом 1275. Поскольку пользователь отпустил кнопку мыши, курсор 1215 теперь виден.
Меню 1200, показанное на фигуре 12, имеет основную ориентацию прокрутки в горизонтальном направлении, в то время как подменю 1225, открывающееся из меню 1200, прокручивается вертикально. В некоторых примерах осуществления само подменю также имеет подменю. Поэтому, если пользователь выбирает пункт в подменю 1225, которое само открывает подменю, то в некоторых примерах осуществления новое подменю имеет горизонтальную ориентацию. В некоторых примерах осуществления пункты нового подменю отображаются над исходными пунктам из основного меню, так что основные пункты меню становятся невидимыми. В то же время меню согласно некоторым примерам осуществления имеет основную ориентацию прокрутки в вертикальном направлении, и подменю, открывающиеся из таких меню, прокручиваются затем горизонтально.
Фигура 13 иллюстрирует меню 1300 согласно некоторым примерам осуществления, которое при прокручивании меню пользователем отображает пункты меню за границами основной области отображения в скрытом виде. На фигуре 13 показано три картинки - 1310, 1320 и 1330. Как показано на картинке 1310, меню 1300 включает в себя область отображения, подобную области отображения в меню 500, 700, 900 и 1100. Однако, как показано на картинках 1320 и 1330, когда пользователь нажимает и удерживает кнопку мыши для навигации по меню 1300, пункты за границами области отображения отображаются в скрытом виде.
Картинка 1310 иллюстрирует пункт 1360 меню в окне 1305 выбора. Над пунктом 1360 виден курсор 1315, а по обе стороны от окна 1305 выбора видны участки пунктов 1355 и 1365 меню. Навигация по меню 1300 осуществляется пользователем в результате нажатия и удерживания кнопки мыши и последующего перемещения мыши влево и вправо (например, согласно процессу типа процесса 600, 800 или 1000). Курсор 1315, наблюдаемый на данной картинке, указывает на то, что пользователь еще не нажал на кнопку мыши, чтобы осуществлять навигацию по меню.
Картинка 1320 иллюстрирует меню 1300 после того, как пользователь нажал на кнопку мыши. В дополнение к пунктам, показанным в области отображения, остальные пункты отображены в частично скрытом виде, за границами этой области отображения. Пункты отображены в порядке их следования при перемещении через окно выбора, что таким образом облегчает пользователю быструю прокрутку к требуемому пункту меню. Как можно видеть, меню 1300 имеет заданные первый и последний пункты и не повторяется, когда пользователь прокручивает меню до конца. Пункт 1370 является самым правым (последним) пунктом в меню 1300, и крайне левый пункт в меню не отображается справа от пункта 1370. Участки пунктов 1355 и 1365, не отображенных в основной области отображения, отображаются в скрытом виде только за границами основной области отображения.
Картинка 1330 иллюстрирует меню 1300 после того, как пользователь прокрутил меню вправо в результате перемещения мыши влево. Картинка 1330 иллюстрирует все пункты меню - 1335-1370. В некоторых примерах осуществления в частично скрытом виде демонстрируются только иконки, находящиеся по обе стороны от области основного отображения на определенном расстоянии, или только определенное число иконок. Меню 1300 отображает вплоть до трех скрытых иконок по обе стороны от основной области отображения, так что все меню видно только, когда центр меню со средними двумя пунктами 1350 и 1355 меню попадает в центр основной области отображения. В некоторых примерах осуществления скрытые иконки отображаются в частично прозрачном виде. Таким образом, в случае наличия другого визуального контента вокруг меню, этот контент будет виден под скрытыми иконками.
Как указывалось выше, признаки, описываемые в предыдущем разделе, можно отнести и к меню с непрямолинейным прокручиванием. Процессы 400, 600, 800 и 1000 для навигации и выбора пунктов меню могут быть применены к любому виду меню, в котором пункты меню перемещаются через окно выбора, независимо от формы меню. Для обеспечения открытия подменю в направлении перпендикуляра к направлению прокрутки меню не обязательно должен быть горизонтальным (или даже вертикальным). Необязательным является и условие, что для отображения пунктов меню вокруг окна выбора в частично скрытом виде или прозрачными, меню должно иметь прямолинейную форму.
II. ПОЛУКРУГОВЫЕ МЕНЮ
Примеры, рассмотренные в предыдущем разделе, - все касаются меню с прямолинейной прокруткой. Однако, как указывалось, описываемые признаки меню в равной степени можно отнести и к другим видам меню. В следующем ниже разделе описываются различные признаки меню, отображаемых в форме полукруга. Признаки, описываемые в этом разделе, относятся к полукруговым меню, однако специалисту должно быть очевидно, что большинство из этих признаков может быть отнесено и к прямолинейным меню, рассмотренным выше.
Фигура 14 иллюстрирует открытие полукругового меню 1400 согласно некоторым примерам осуществления. На фигуре 14 показаны четыре картинки - 1410, 1420, 1430 и 1440. Картинки 1410 и 1420 иллюстрируют меню 1400 до его открытия, картинка 1430 иллюстрирует меню в процессе открытия, а картинка 1440 - при его полном открытии.
На картинке 1410 показан один пункт 1480 меню без окна выбора и без других соответствующих пунктов меню. Пункт 1480 меню отображен в первом цвете. На картинке 1410 показан также курсор 1415, находящий рядом, но не над пунктом меню. На картинке 1420 показан пункт 1480 меню с курсором 1415, но уже над ним. Перемещение курсора 1415 в положение над пунктом 1480 меню обеспечивает отображение окна 1405 выбора над пунктом меню, так что пункт меню теперь отображается во втором цвете. В некоторых примерах осуществления пункт меню отображается фактически в другом цвете, в то время как в других примерах осуществления над пунктом меню отображается частично прозрачное окно выбора. В некоторых примерах осуществления, как показано, окно выбора отображается после перемещения курсора в положение над пунктом меню. Однако в других примерах осуществления окно выбора не отображается до момента фактического нажатия кнопки мыши пользователем или некоторого другого вида ввода для выбора с помощью курсора, находящегося над пунктом меню.
Картинка 1430 иллюстрирует меню 1400 вскоре после нажатия кнопки мыши пользователем или обеспечения ввода для выбора в некоторой другой форме (например, в результате нажатия клавиши, другого ввода мышью, ввода от другого контроллера курсора и т.д.). При этом пункт 1480 все еще отображается в границах окна 1405 выбора, но в сопровождении других пунктов меню, располагающихся веером от пункта 1480. Такое отображение создает впечатление, что другие пункты меню в меню 1400 изначально располагались один за другим под пунктом 1480. Пункты меню, которые не находятся в окне выбора (пункты кроме 1480), отображены в первом цвете (то есть в том же цвете, что и пункт 1480 на картинке 1410).
Картинка 1440 иллюстрирует меню 1400 после полного его раскрытия. Видны пункты 1465-1495 меню. Пункты 1465 и 1495 отображены в частично скрытом виде, что визуально указывает на продолжение меню в обоих направлениях с большим количеством пунктов меню.
Фигура 14 иллюстрирует одну возможность открытия меню из картинки 1420 в картинку 1440. В некоторых примерах осуществления вместо отображения веером, как только пользователь щелкает кнопкой мыши по отдельному пункту меню, меню отображается, как показано на картинке 1440. В некоторых примерах осуществления вместо раскрытия в полукруг, как показано на картинке 1430, пункты меню отображаются как скользящие вдоль полукруглой траектории к положениям, показанным на картинке 1440. В других примерах осуществления для открытия меню используются другие визуальные отображения. Кроме того, эти и другие визуальные отображения используются в некоторых примерах осуществления с использованием форм, отличных от полукругов, - раскрывающееся меню применимо к прямолинейным меню, отображающим также более одного пункта меню сразу.
Фигура 15 иллюстрирует ход навигации по меню 1400 и выбор пункта 1460 из меню. На фигуре 15 показано пять картинок - 1510, 1520, 1530, 1540 и 1550. Картинка 1510 иллюстрирует меню 1400 в той же точке, что и картинка 1440 на фигуре 14, картинка 1520 иллюстрирует навигацию по меню 1400, а картинки 1530-1550 - выбор пункта 1460.
Картинка 1520 иллюстрирует момент после того, как пользователь прокрутил меню так, что начальный пункт в окне 1405 выбора (пункт 1480) находится теперь поблизости от правого края отображаемого меню и начинает приобретать частично скрытый вид. В некоторых примерах осуществления для прокрутки меню в эту точку пользователь перетаскивает мышь влево, удерживая ее в нажатом состоянии. Как показано на картинке 1520, окно 1405 выбора отображается в качестве частично прозрачного окна, под которым прокручиваются пункты меню. Кроме того, окно выбора находится в настоящий момент в промежуточном положении между двумя пунктами меню (1465 и 1470), то есть меню 1400 прокручивается согласно процессу, подобному процессу 600, в котором пункты прокручиваются непрерывно, а не фиксируются мгновенно в окне выбора. Однако в некоторых примерах осуществления к полукруговым меню применяются и другие описываемые процессы прокрутки или подобные процессы.
Картинка 1530 иллюстрирует момент после того, как пользователь прокрутил меню так, что в окне 1405 выбора находится пункт 1460, и отпустил кнопку мыши, чтобы выбрать пункт 1460. Над окном 1405 и пунктом 1460 теперь виден курсор 1415. Картинка 1540 иллюстрирует закрытие меню 1400 вокруг выбранного пункта 1460. В некоторых примерах осуществления меню закрывается в строго противоположной последовательности по отношению к открытию. Значит, когда пункты меню просто появляются вокруг начального пункта, а затем, когда пункт выбирается, они исчезают без какого-либо перемещения по направлению внутрь. Когда пункты меню разворачиваются веером, как показано на фигуре 14, затем меню сворачивается внутрь, как показано на картинке 1540.
Картинка 1550 иллюстрирует полностью закрытое меню с отображением только пункта 1460. В некоторых примерах осуществления выбранный пункт меню теперь отображается подобно пункту 1480, отображенному на картинке 1410 фигуры 14. Например, в некоторых примерах осуществления меню представляет собой панель инструментов. Одним примером такой панели инструментов является панель инструментов для редактирования видео в приложении для редактирования видео. Панель инструментов для редактирования видео согласно некоторым примерам осуществления включает в себя инструменты для редактирования видео, такие как инструмент Лезвие, инструмент редактирования с сохранением длительности клипов, инструмент редактирования с прокруткой, инструмент редактирования с изменением длительности и т.д. Выбор инструмента делает его активным, так что пользователь приобретает при этом возможность использовать инструмент в процессе редактирования. Выбранный инструмент отображается до того момента, пока пользователь не повторит процесс для выбора другого инструмента. В то же время в некоторых примерах осуществления меню представляет собой список команд и закрывается, когда пользователь выбирает определенную команду. В некоторых таких примерах осуществления после ожидания в течение короткого периода времени отображенный пункт меню возвращается назад к начальному пункту.
Фигура 16 иллюстрирует пример полукругового меню 1600, подобного описываемому выше, который включает в себя пункт 1655 меню, открывающий подменю 1625. На фигуре 16 показаны четыре картинки - 1610, 1620, 1630 и 1640. Картинка 1610 иллюстрирует меню после навигации, которую пользователь осуществил так, что пункт 1655 меню теперь находится в окне 1605 выбора, картинка 1620 иллюстрирует окно 1625 подменю, а картинки 1630 и 1640 - навигацию по подменю 1625.
Картинка 1610 иллюстрирует меню 1600, подобное по существу меню 1400. В настоящий момент в окне 1605 выбора находится пункт 1655 меню. Пункт 1655 включает в себя маленький значок 1635 "+", указывающий на возможность открытия подменю при выборе пункта. В некоторых примерах осуществления такой символ используется для графического указания на возможность открытия подменю при выборе пункта. В некоторых других примерах осуществления возможно использование других графических указателей, таких как стрелки, буквы и т.д. В других примерах осуществления предполагается, что пользователь знает, какие пункты меню позволяют открывать подменю, и графические указатели не используются. Как показано на следующих картинках, в некоторых примерах осуществления, когда пользователь прокручивает меню, то графический указатель остается с определенным пунктом, обеспечивающим открытие подменю. В других же примерах осуществления при прокручивании подменю пользователем графический указатель остается в окне выбора, как на фигуре 12 выше.
Картинка 1620 иллюстрирует меню 1600 вскоре после того, как пользователь выбрал пункт 1655 меню, и началось открытие подменю 1625 в вертикальном направлении. В некоторых примерах осуществления подменю открывается перпендикулярно касательной к линии развертывания исходного меню. Поскольку касательная к полукруговому меню 1600 является в окне 1605 выбора горизонталью, подменю 1625 открывается вертикально.
Как показано, при этом пункты меню подменю 1625 выходят за границы окна выбора. При выходе пунктов за границы окна выбора невыбранные пункты меню 1600 начинают скрываться. Картинка 1630 иллюстрирует подменю 1625 после его полного выхода за границы окна выбора. К этому моменту невыбранные пункты меню 1600 по большей части скрываются. Как только подменю полностью выходит за границы окна выбора, пользователь получает возможность навигации по подменю. Например, подобно подменю, описываемым выше, для прокрутки пунктов подменю через окно выбора пользователь может перемещать мышь вверх или вниз. Картинка 1640 иллюстрирует подменю 1625 после его прокрутки пользователем вниз на один пункт, в результате которой в окне 1605 выбора появился пункт 1660 меню.
В некоторых примерах осуществления, когда пользователь выбирает пункт в подменю, оба меню, как основное меню (например, меню 1600), так и подменю (например, подменю 1625) одновременно сворачиваются. Меню сворачивается внутрь точно так же, как показано на фигуре 15, тогда как подменю сворачивается в обратном порядке по отношению к порядку его развертывания. При этом в других примерах осуществления первым сворачивается подменю, а затем сворачивается основное меню, или после выбора пункта в подменю используются другие визуальные отображения.
Подобно признакам, описываемым в разделе I, большинство признаков, описываемых в этом разделе, можно отнести и к меню, которые не являются полукруговыми. Например, после выбора отдельного пункта меню любой формы может быть развернуто за границы этого отдельного пункта меню. Точно так же после выбора пункта меню из меню при его полном отображении возможно сворачивание таких меню внутрь.
III. ВАРИАНТЫ КРУГОВЫХ МЕНЮ
В разделах выше рассматриваются включенные в них примеры меню, в которых не все меню отображаются сразу, независимо от того, отображается ли меню прямолинейно (как в разделе I) или в виде полукруга (как в разделе II). В следующем разделе представлены примеры меню, в которых все пункты меню отображаются сразу. В частности, меню, описываемые в этом разделе, отображаются в виде круга.
Фигура 17 иллюстрирует открытие кругового меню 1700 согласно некоторым примерам осуществления. На фигуре 17 показаны четыре картинки - 1710, 1720, 1730 и 1740. Картинки 1710 и 1720 иллюстрируют меню 1700 до его открытия, картинка 1730 иллюстрирует меню в процессе открытия, а картинка 1740 - при его полном открытии.
На картинке 1710 показан один пункт 1780 меню без окна выбора и без других соответствующих пунктов меню. Пункт 1780 меню отображен в первом цвете. На картинке 1710 показан также курсор 1715, находящий рядом, но не над пунктом меню. На картинке 1720 показан пункт 1780 меню с курсором 1715, но уже над ним. Перемещение курсора 1715 в положение над пунктом 1780 меню обеспечивает отображение окна 1705 выбора над пунктом меню, так что пункт меню теперь отображается во втором цвете. В некоторых примерах осуществления пункт меню отображается фактически в другом цвете, в то время как в других примерах осуществления над пунктом меню отображается частично прозрачное окно выбора. В некоторых примерах осуществления, как показано, окно выбора отображается после перемещения курсора в положение над пунктом меню. Однако в других примерах осуществления окно выбора не отображается до момента фактического нажатия кнопки мыши пользователем или некоторого другого вида ввода для выбора с помощью курсора, находящегося над пунктом меню.
До этого момента поведение меню 1700 подобно поведению меню 1400. Однако на картинке 1730 показано, что меню 1700 является круговым, а не полукруговым, как меню 1400. Картинка 1730 иллюстрирует меню 1700 вскоре после нажатия кнопки мыши пользователем или обеспечения ввода для выбора в некоторой другой форме (например, в результате нажатия клавиши, другого ввода мышью, ввода от другого контроллера курсора и т.д.), чтобы открыть меню 1700. При этом пункт 1780 все еще отображается в границах окна 1705 выбора, но в сопровождении других пунктов меню, вышедших за границы окна выбора из пункта 1780. Такое отображение создает впечатление, что другие пункты меню в меню 1700 изначально располагались один за другим под пунктом 1780. Пункты меню, которые не находятся в окне выбора (пункты кроме 1780), отображены в первом цвете (то есть в том же цвете, что и пункт 1780 на картинке 1710).
В некоторых примерах осуществления, как показано, меню выходит за границы окна выбора вниз от начального пункта меню (например, пункта 1780 меню). При этом в других примерах осуществления меню выходит за границы окна выбора во всех направлениях, так что центр круга находится в графическом пользовательском интерфейсе в положении, в котором начальный пункт меню находился перед его выбором. В некоторых таких примерах осуществления при отображении курсора во время прокручивания меню пользователем курсор перемещается в окно выбора в верхнюю часть круга.
Картинка 1740 иллюстрирует меню 1700 после его полного развертывания. Все пункты меню в меню 1700 в настоящее время видны. Для отображения всех пунктов меню полностью в некоторых примерах осуществления в зависимости от числа пунктов меню меняется радиус круга (то есть в случае большего числа пунктов меню радиус больше). В других примерах осуществления изменяется размер пунктов меню (то есть при увеличении числа пунктов сами пункты делаются меньше, чтобы сохранить один и тот же радиус). В еще одних других примерах осуществления для поддержания постоянства размера пунктов меню и радиуса круга изменяется величина перекрытия между пунктами меню (то есть чем больше пунктов, тем больше их взаимное перекрытие).
В некоторых примерах осуществления навигация по круговым меню подобна навигации по полукруговым меню. Перемещая мышь влево или вправо при нажатой кнопке мыши, пользователь может обеспечивать прокрутку пунктов меню через окно выбора. Заметное отличие состоит в том, что в случае кругового меню пользователь может осуществлять прокрутку неопределенно долго в любом направлении. Меню не имеет ни первого пункта меню, ни последнего пункта меню в своей последовательности. Вместо этого порядок следования пунктов меню определяется только их положением друг относительно друга.
Круговые меню, такие как меню 1700, могут также включать в себя пункты, выбор которых обеспечивает открытие подменю точно так же как подменю 1625 на фигуре 16. В некоторых примерах осуществления подменю открывается в вертикальном направлении над и под окном выбора, в то время как основное круговое меню скрывается. Однако, поскольку основное меню скрывается не полностью, то в некоторых примерах осуществления подменю под окном выбора отображаются только до пункта, не перекрывающегося с нижней частью кругового меню.
Фигура 18 иллюстрирует круговое меню 1800, представленное в частично скрытом виде после открытия подменю 1825 над и под окном 1805 выбора. В нижней части подменю 1825 отображена только часть пункта 1830 подменю. Прокрутка подменю 1825 вверх (например, пользователем, перемещающим контроллер курсора вниз), приведет к полному отображению пункта 1830 меню и появлению следующего пункта меню под пунктом 1830. Однако в других примерах осуществления отображается подменю, проходящее над нижней частью основного меню.
В некоторых примерах осуществления закрытие круговых меню происходит таким же способом, как и полукруговых меню, описываемых выше, после выбора пункта меню. То есть круговое меню сворачивается само в себя в обратном порядке по отношению к порядку его раскрытия. Таким образом, если круговое меню открывается вниз из начального пункта меню, то затем после выбора пункта из меню его закрытие происходит так, что отображенные пункты сворачиваются назад к окну выбора и выбранному пункту. В то же время, если круговое меню открывается за границы начального положения начального пункта меню, то затем после выбора пункта из меню его закрытие происходит так, что отображенные пункты сворачиваются внутрь к этому начальному положению. Как и в случае полукруговых меню, описываемых выше, в других примерах осуществления круговые меню закрываются по-другому.
IV. НАЗНАЧЕНИЕ МЕНЮ
Как указывалось, различные меню, описываемые выше, могут быть использованы в самых различных компьютерных приложениях. В некоторых примерах осуществления меню может использоваться непосредственно в операционной системе или в приложении, не зависимом от операционной системы. Кроме того, особенно полезным меню может быть в карманных устройствах, таких как iPhone®.
Фигура 19 иллюстрирует рабочий стол 1900 компьютера, отображающий различные признаки операционной системы согласно некоторым примерам осуществления. Рабочий стол включает в себя окно 1905 навигации по папке-регистратору, иконки 1910 для выбора приложений и меню 1915. Окно 1905 навигации по папке-регистратору является стандартным окном, которое дает пользователю возможность навигации по иерархической файловой системе для поиска и открытия файла (например, текстового документа, электронной таблицы, видеофайла и т.д.). Иконки 1910 для выбора приложений обеспечивают пользователю легкий доступ к различным приложениям (например, к электронной почте, веб-браузерам, медиа-плейерам, приложениям для обработки текста, приложениям для редактирования медиа-файлов и т.д.) на компьютерном устройстве.
Меню 1915 - это один пример использования меню, описываемых выше, для предоставления доступа к признакам операционной системы. Меню 1915 представляет различные опции, связанные с выключением компьютера. Меню 1915 включает в себя окно 1920 выбора и, по меньшей мере, три пункта 1925-1935 меню, отображаемые полностью или частично. Пункт 1925 предлагает опцию "Log Off ("Выход из системы"), пункт 1930 предлагает опцию "Shut Down" ("Закрытие"), а пункт 1935 - опцию "Restart" ("Перезапуск"). Некоторые примеры осуществления также включают в себя опции энергосбережения, такие как "Standby" ("Режим пониженного энергопотребления").
В некоторых примерах осуществления меню 1915 постоянно отображается как часть рабочего стола, однако другие пункты (например, окна, такие как окно 1905) могут быть размещены поверх меню 1915 так, что меню становится невидимым. В других примерах осуществления меню 1915 отображается только в ответ на пользовательский ввод, такой как ввод в форме нажатия определенной клавиши (или комбинации клавиш) или выбор опции в графическом пользовательским интерфейсе, чтобы привести меню 1915 в рабочее состояние.
Специалисту в данной области техники должно быть очевидно, что меню согласно некоторым примерам осуществления могут использоваться для самых разнообразных признаков операционной системы. В качестве примера иконки для выбора приложений могут быть объединены в меню, такое как прямолинейное меню 1915 или одно из других меню, описываемых выше. Например, иконки для выбора приложений могут быть представлены в полукруговом меню, таком как меню 1400, которое отображается в одном углу экрана вместо того, чтобы занимать всю его нижнюю часть.
Фигура 20 иллюстрирует приложение 2000 для редактирования видео, которое используется для создания сложных видеопрезентаций и в котором используется меню согласно некоторым примерам осуществления. Приложение 2000 для видеоредактирования включает в себя область 2005 отображения состава, набор 2010 выбираемых видеоклипов, область 2015 отображения для предварительного просмотра и панель 2020 инструментов для редактирования видео.
Область 2005 отображения состава обеспечивает доступ к визуальному воспроизведению видеопрезентации, которую создает пользователь. Пользователи могут добавлять медиаклипы (например, аудиоклипы и видеоклипы) в область отображения состава, в которой клипы представлены графически. Пользователь может модифицировать видеопрезентацию путем выполнения операций редактирования на клипах в области отображения состава. Набор 2010 выбираемых видеоклипов обеспечивает доступ к различным медиаклипам, представленным в виде эскизов, которые пользователь может выбирать и добавлять в видеопрезентацию через область 2005 отображения состава. Область 2015 отображения для предварительного просмотра предназначена для предварительного просмотра сложной видеопрезентации согласно области отображения состава.
Панель 2020 инструментов для редактирования видео является примером использования меню, описываемых выше, для обеспечения доступа к инструментам редактирования видео. В частности, панель 2020 инструментов предоставляет пользователю доступ к многочисленным опциям инструментов подрезки клипов. В настоящий момент в окне 2025 выбора отображается инструмент 2035 подрезки с изменением длительности. Инструмент 2030 сдвига и инструмент 2040 прокрутки отображаются в окне 2025 выбора в настоящее время слева и справа. Некоторые примеры осуществления включают в себя другие инструменты подрезки в составе своей панели инструментов, такие как инструмент подрезки с сохранением длительности или инструмент Лезвие.
В некоторых примерах осуществления доступ к различным инструментам для редактирования предоставляется на панели инструментов, такой как панель 2020 инструментов. Например, в дополнение к различным инструментам подрезки в некоторых примерах осуществления предоставляется доступ к другим инструментам для редактирования сложной видеопрезентации. В то же время некоторые примеры осуществления включают в себя несколько панелей инструментов, подобных панели 2020 инструментов, такие как одна панель инструментов для инструментов подрезки и вторая панель инструментов для других инструментов редактирования видео.
В некоторых примерах осуществления панель 2020 инструментов постоянно отображается в виде части графического пользовательского интерфейса приложения для редактирования. В других примерах осуществления панель 2020 инструментов отображается только в ответ на пользовательский ввод, такой как ввод в форме нажатия определенной клавиши (или комбинации клавиш) или выбор опции в графическом пользовательским интерфейсе, чтобы привести панель 2020 инструментов в рабочее состояние. Например, в некоторых примерах осуществления до того момента, как пользователь вызывает меню (например, путем щелчка по одному отображенному инструменту), на месте которого отображена панель инструментов с большим числом опций, отображается только один инструмент. Примеры полукруговых меню, рассмотренных в разделе II, являются примерами таких вызываемых панелей инструментов или меню.
Фигура 21 иллюстрирует карманное устройство 2100, отображающее в настоящее время веб-браузер 2105. Устройство 2100 может быть сотовым телефоном, медиа-плейером и т.д. Веб-браузер 2105 включает в себя панель 2110 инструментов унифицированного указателя ресурсов (URL), область 2115 отображения контента и панель 2120 инструментов.
URL-панель 2110 включает в себя инструменты пользовательского интерфейса и адресную строку 2125, в котором пользователь может набрать URL и который отображает URL веб-сайта, навигацию к которому пользователь осуществляет в результате щелчков по ссылкам в области 2115 отображения контента. Область 2115 отображения контента отображает веб-страницу, расположенную на URL, указанном в адресной строке 2125.
Панель 2120 инструментов включает в себя шесть инструментов - кнопки 2130 и 2135 "назад" и "вперед", иконку 2140 добавления закладки, иконку 2145 закладок для открытия списка закладок, иконку 2150 меню для открытия меню и иконку 2155 галереи страниц для отображения списка открытых веб-страниц, обеспечивающего пользователю возможность их выбора. Когда пользователь выбирает значок 2150 меню, открывается меню 2160. В некоторых примерах осуществления вызов меню 2160 приводит к открытию первого окна (то есть окна меню) в границах уже отображенного второго окна. То же самое относится и к другим приложениям меню согласно некоторым примерам осуществления и не ограничивается карманными устройствами.
Меню 2160 представляет различные опции, не отображенные на URL-панели 2110 или панели 2120 инструментов. Меню 2160 включает в себя опцию 2175 "найти текст" для того, чтобы привести в рабочее состояние инструмент, позволяющий пользователю набрать текст для поиска по контенту, отображенному в области 2115 отображения. Опция 2175 "найти текст" находится в настоящее время в окне 2165 выбора. По обе стороны от окна 2165 выбора частично отображены опция 2170 предыстории и опция 2180 копирования.
В некоторых примерах осуществления устройство представляет собой устройство с сенсорным экраном. В некоторых таких примерах осуществления пользователь может осуществлять навигацию по меню 2160 с помощью жестов проведения пальцем вправо и влево для перемещения пунктов и последующего касания или двойного касания окна выбора для выбора пункта. В других примерах осуществления возможно распознавание других жестов множественных касаний для навигации по меню 2160 и выбора пункта из меню.
Специалисту должно быть очевидно, что в браузере карманного устройства могут быть использованы и меню, отличные от меню 2160. Например, панель 2120 инструментов может включать в себя окно выбора и большее число пунктов, чем показано в настоящее время. Пользователь может при этом прокручивать пункты, пока требуемый пункт не появится в окне выбора. Кроме того, такие меню ни в коей мере не ограничиваются браузерами и фактически могут быть использованы для любого приложения на карманном устройстве. Во многих случаях при работе с карманными устройствами, такими как устройство 2100, пользователь сталкивается с проблемой нехватки пространства экрана, и поэтому меню, описываемые в этой заявке, являются идеальным решением для обеспечения доступа к многочисленным опциям в этом ограниченном пространстве.
V. АРХИТЕКТУРА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
В некоторых примерах осуществления процессы, описываемые выше, реализуются в виде программного обеспечения, работающего на определенной машине, такой как компьютер или карманное устройство, или хранимого на компьютерно-читаемом носителе. Фигура 22 является концептуальной иллюстрацией архитектуры программного обеспечения приложения 2200 согласно некоторым примерам осуществления для представления меню, таких как описываемые в предыдущих разделах. В некоторых примерах осуществления приложение представляет собой автономное приложение или интегрировано в другое приложение (например, приложение 2200 может быть частью приложения для редактирования видео), в то время как в других примерах осуществления приложение может быть реализовано внутри операционной системы. Кроме того, в некоторых примерах осуществления приложение используется как часть серверного решения. В некоторых таких примерах осуществления приложение предоставляется посредством тонкого клиента. Таким образом, приложение работает на сервере, в то время как пользователь взаимодействует с приложением посредством отдельной машины, удаленной от сервера. В других таких примерах осуществления приложение предоставляется посредством толстого клиента. То есть приложение распределяется с сервера на клиентскую машину и работает на клиентской машине.
Приложение 2200 включает в себя модуль 2205 взаимодействия с пользовательским интерфейсом (UI), модуль 2210 прокрутки меню, модуль 2215 выбора пунктов и модуль 2220 отображения меню. Приложение для редактирования медиа также включает в себя базу 2225 данных меню. В некоторых примерах осуществления используются и другие хранилища данных, которые могут являться частью того же физического хранилища данных, что и хранилище 2225 контента, или отдельным устройством. На фигуре 22 показана также операционная система 2250, которая включает в себя драйвер 2255 контроллера курсора, драйвер 2260 клавиатуры и модуль 2265 отображения. В некоторых примерах осуществления, как показано, драйвер 2255 контроллера курсора, драйвер 2260 клавиатуры и модуль 2265 отображения являются частью операционной системы 2250, даже когда приложение 2200 - приложением, отдельным от операционной системы.
Пользователь взаимодействует с пользовательским интерфейсом через устройства ввода (не показаны). Сигналы устройств ввода, таких как контроллеры курсора (мышь, планшет, сенсорная панель и т.д.) и клавиатуры, направляются в драйвер 2255 контроллера курсора и драйвер 2260 клавиатуры, которые преобразуют эти сигналы в данные пользовательского ввода, направляемые в модуль 2205 взаимодействия с UI. Модуль взаимодействия с UI интерпретирует данные пользовательского ввода в контексте представленных меню и перенаправляет их в соответствующие модули, такие как модуль 2210 прокрутки меню и модуль 2215 выбора пунктов.
Модуль 2210 прокрутки меню интерпретирует результаты взаимодействия с пользовательским интерфейсом в прокрутку пунктов меню через окно выбора. Модуль прокрутки меню также принимает информацию из базы 2225 данных меню, которая в некоторых примерах осуществления включает в себя список пунктов меню и порядок следования пунктов меню. В других примерах осуществления модуль 2210 прокрутки меню в ответ на различные вводы осуществляет прокрутку меню. Например, в некоторых примерах осуществления модуль 2210 прокрутки меню прокручивает пункты меню в результате одного из вводов, описываемых процессами 400, 600, 800 или 1000 выше. Информацию о прокрутке меню модуль прокрутки меню направляет в модуль 2220 отображения меню.
Модуль 2215 выбора пунктов интерпретирует результаты взаимодействия с пользовательским интерфейсом в выбор пунктов меню. В некоторых примерах осуществления модуль выбора пунктов также принимает информацию из базы данных меню, такую как список пунктов меню и порядок их следования. Модуль 2215 выбора пунктов распознает, какой пункт находится в окне выбора при приеме ввода для выбора. В некоторых примерах осуществления модуль 2215 выбора пунктов также распознает момент выбора отдельного пункта для открытия меню, как описывается в разделах II и III выше. Информация о выборе перенаправляется в модуль отображения меню. В некоторых примерах осуществления модуль выбора пунктов перенаправляет эту информацию и в другие модули (не показанные), выполняющие команду или активизирующие инструмент, соответствующий выбранному пункту меню.
Модуль 2220 отображения меню принимает информацию от модуля 2210 прокрутки меню и модуля 2215 выбора пунктов. Модуль 2220 отображения меню управляет отображением перемещения пунктов меню. В некоторых примерах осуществления модуль отображения меню выполняет открытие и закрытие меню в ответ на выбор пунктов, включающих в себя какие-либо подменю. Эта информация направляется в модуль 2265 отображения, который выполняет реальное отображение меню (и остальной части графического пользовательского интерфейса) на устройстве вывода (не показано).
Выше большинство отличительных признаков описано как реализуемые одним модулем (например, модулем 2215 выбора пунктов или модулем 2235 сжатия кадров), однако специалисту должно быть очевидно, что функции могут быть распределены между несколькими модулями и что для реализации одного признака может потребоваться несколько модулей.
Фигура 23 является концептуальной иллюстрацией процесса 2300 создания компьютерно-читаемого носителя, хранящего компьютерную программу, согласно некоторым примерам осуществления. В некоторых примерах осуществления компьютерно-читаемый носитель представляет собой распространяемый CD-ROM (компакт-диск только для чтения). Как показано, процесс 2300 начинается (на этапе 2305) с задания пунктов меню, имеющих определенный порядок следования, и инструкций, соответствующих пунктам меню. Пункты 101-108 меню 100 на фигуре 1 являются примером таких пунктов меню.
Затем (на этапе 2310) процесс 2300 задает область отображения для отображения, по меньшей мере, части пунктов меню в определенной последовательности. Процесс также задает (на этапе 2315) окно выбора в области отображения для указания на возможность выбора пункта меню в настоящее время, такое как окна 205, 505 или 1405 выбора соответственно на фигурах 2, 5 и 14.
Далее (на этапе 2320) процесс 2300 задает модуль прокрутки пунктов меню через окно выбора в определенной последовательности в ответ на пользовательский ввод. Примером такого модуля является модуль 2210 прокрутки меню на фигуре 22. Процесс также задает (на этапе 2325) модуль для выбора пункт меню в ответ на пользовательский ввод при отображении пункта меню в окне выбора, такой как модуль 2215 выбора пунктов.
Далее (на этапе 2330) процесс задает другие инструменты, пункты и функциональные возможности. Например, в случае процесса создания приложения для редактирования медиа, такого как показано на фигуре 20, задаются различные пункты, инструменты для редактирования и функциональные возможности графического пользовательского интерфейса (GUI).
Затем (на этапе 2335) процесс 2300 сохраняет заданные элементы на компьютерно-читаемом носителе информации. Как указывалось выше, в некоторых примерах осуществления компьютерно-читаемый носитель информации представляет собой распространяемый CD-ROM. В некоторых примерах осуществления, носитель является одним или более твердотельным устройством, жестким диском, CD-ROM или другим энергонезависимым компьютерно-читаемым носителем информации. Специалисту в данной области техники должно быть очевидно, что различные модули и пункты UI, задаваемые процессом 2300, не исчерпывают собой модулей и пунктов UI, которые могут быть заданы и сохранены на компьютерно-читаемом носителе информации для приложения-редактора, включающего в себя некоторые примеры осуществления изобретения.
VI. КОМПЬЮТЕРНАЯ СИСТЕМА
Большинство рассмотренных выше признаков и приложений реализованы в виде программных процессов, описываемых набором инструкций, записанных на компьютерно-читаемом носителе информации (именуемом также компьютерно-читаемым носителем). При исполнении этих инструкций одним или более вычислительным(и) элементом(ами) (такими как процессоры или другие вычислительные элементы, подобные интегральным схемам прикладной ориентации (ASIC) и вентильным матрицам, программируемым пользователем (FPGA)), вычислительный(е) элемент(ы) выполняет(ют) действия, указанные в инструкциях. Термин «компьютер» следует трактовать в его самом широком смысле, и под ним может подразумеваться любое электронное устройство с процессором. Примеры компьютерно-читаемых носителей включают в себя, без ограничений, CD-ROM, карты флэш-памяти, микросхемы RAM (микросхемы оперативной памяти), жесткие диски, EPROM (стираемое программируемое ПЗУ) и т.д. Компьютерно-читаемые носители не включают в себя несущие волны и электронные сигналы, распространяющиеся с использованием беспроводной связи или проводных подключений.
В этом описании изобретения термин «программное обеспечение» включает в себя встроенное программное обеспечение, хранящееся в постоянной памяти, или приложения, хранимые в магнитном накопителе, которые могут считываться в память для обработки процессором. Кроме того, в некоторых примерах осуществления многие изобретения, связанные с программным обеспечением, могут быть реализованы в виде подраздела более объемной программы, остающейся отдельным изобретением, связанным с программным обеспечением. В некоторых примерах осуществления возможна также реализация многих изобретений, связанных с программным обеспечением, в виде отдельных программ. Наконец, за пределы объема изобретения не выходит и любая комбинация отдельных программ, позволяющих в совокупности реализовать описываемое здесь изобретение, связанное с программным обеспечением. В некоторых примерах осуществления программы, реализуемые программными средствами, при инсталляции для работы на одной или более компьютерных системах задают один или более специфических примеров машинной реализации исполнения и выполнения этапов этих программ.
Фигура 24 иллюстрирует компьютерную систему, с помощью которой реализованы некоторые примеры осуществления изобретения. Такая компьютерная система включает в себя различные типы компьютерно-читаемых носителей и интерфейсов для различных других типов компьютерно-читаемых носителей. Компьютерная система 2400 включает в себя шину 2405, процессор 2410, графический процессор (GPU) 2420, системную память 2425, постоянное запоминающее устройство 2430, долговременное запоминающее устройство 2435, устройства 2440 ввода и устройства 2445 вывода.
Шина 2405 в совокупности представляет всю систему, периферию и шины наборов микросхем, соединяющие многочисленные внутренние устройства компьютерной системы 2400 и обеспечивающие обмен информацией между ними. Например, шина 2405 обеспечивает коммуникационное соединение процессора 2410 с постоянным запоминающим устройством 2430, GPU 2420, системной памятью 2425 и долговременным запоминающим устройством 2435.
От этих различных блоков памяти процессор 2410 получает инструкции для исполнения и данные для обработки, обеспечивающей исполнение процессов согласно изобретению. В некоторых примерах осуществления процессор содержит вентильные матрицы, программируемые пользователем (FPGA), ASIC или различные другие электронные компоненты для исполнения инструкций. В некоторых примерах осуществления инструкции для процессора перенаправляются на исполнение в GPU 2420. GPU 2420 позволяет разгрузить процессор 2410 от различных вычислений или дополнить обработку изображений, обеспечиваемую процессором 2410. В некоторых примерах осуществления такие функциональные возможности могут быть предоставлены с использованием базового языка обработки полутонов CorelImage.
Постоянная память (ПЗУ) 2430 хранит статические данные и инструкции, требующиеся для процессора 2410 и других модулей компьютерной системы. Долговременное запоминающее устройство 2435 в то же время является запоминающим устройством чтения/записи. Это устройство представляет собой энергонезависимый блок памяти, который сохраняет инструкции и данные даже при выключении компьютерной системы 2400. В некоторых примерах осуществления изобретения в качестве долговременного запоминающего устройства 2435 используется запоминающее устройство большой емкости (такое как магнитный или оптический диск и соответствующий дисковод).
В других примерах осуществления в качестве долговременного запоминающего устройства используется съемное запоминающее устройство (такое как гибкий диск, карта флэш-памяти или диск ZIP® и соответствующий дисковод). Подобно долговременному запоминающему устройству 2435 системная память 2425 является запоминающим устройством чтения/записи. Однако в отличие от запоминающего устройства 2435 системная память представляет собой энергозависимую память чтения/записи, такую как оперативная память. Системная память хранит некоторые из инструкций и данных, требующиеся для процессора в период времени выполнения. В некоторых примерах осуществления процессы согласно изобретению хранятся в системной памяти 2425, в долговременном запоминающем устройстве 2435 и/или в постоянном запоминающем устройстве 2430. Например, различные блоки памяти включают в себя инструкции для обработки пунктов мультимедиа в соответствии с некоторыми примерами осуществления. От этих различных блоков памяти процессор 2410 получает инструкции для исполнения и данные для обработки, обеспечивающей исполнение процессов согласно некоторым примерам осуществления.
Шина 2405 также соединяется с устройствами 2440 и 2445 соответственно ввода и вывода. Устройства ввода дают пользователю возможность передавать информацию и осуществлять выбор команд для компьютерной системы. Устройства 2440 ввода включают в себя буквенно-цифровые клавиатуры и координатно-указательные устройства (именуемые также «устройствами управления курсором»). Устройства 2445 вывода осуществляют воспроизведение изображений, генерируемых компьютерной системой. Например, эти устройства отображают GUI. Устройства вывода включают в себя принтеры и устройства отображения, такие как электронно-лучевые трубки (CRT) или жидкокристаллические дисплеи (LCD).
Наконец, как показано на фигуре 24, шина 2405 также соединяет компьютер 2400 с сетью 2465 через сетевой адаптер (не показанный). Таким образом, компьютер может быть частью сети компьютеров (такой как локальная сеть ("LAN"), глобальная сеть ("WAN") или Интрасеть), или сети сетей, такой как Интернет. Например, возможно соединение компьютера 2400 с веб-сервером (сетью 2465) для обеспечения взаимодействия веб-браузера на компьютере 2400 с веб-сервером, когда пользователь взаимодействует с GUI, работающим в веб-браузере.
В отношении изобретения могут быть использованы любые или все компоненты компьютерной системы 2400. Например, в некоторых примерах осуществления визуализация кадров выполняется с помощью GPU 2420 вместо ЦП 2410. Точно так же другие функции редактирования изображений могут быть сброшены на GPU 2420, где они исполняются перед перенаправлением результатов назад в память или процессор 2410. Однако общим ограничением для GPU 2420 является число инструкций, которые GPU 2420 способен хранить и обрабатывать в тот или иной момент времени. Поэтому в некоторых примерах осуществления инструкции для реализации процессов подвергаются адаптации с целью обеспечения хранения этих процессов в буфере инструкций процессора GPU 2420 для локального исполнения на GPU 2420. Кроме того, некоторые процессоры GPU 2420 не обладают достаточными ресурсами обработки для исполнения процессов согласно некоторым примерам осуществления, и поэтому инструкции исполняются процессором ЦП 2410. Специалисту в данной области техники должно быть понятно, что в отношении настоящего изобретения может быть использована и любая другая конфигурация системы.
Некоторые примеры осуществления включают в себя электронные блоки, такие как микропроцессоры, накопители и память, хранящие инструкции компьютерной программы на машиночитаемом или компьютерно-читаемом носителе (именуемыми в качестве варианта компьютерно-читаемыми средами хранения информации, машиночитаемыми средами или машиночитаемыми средами хранения информации). Некоторые примеры таких компьютерно-читаемых носителей включают в себя ОЗУ, ПЗУ, компакт-диски только для чтения (CD-ROM), записываемые компакт-диски (CD-R), перезаписываемые компакт-диски (CD-RW), цифровые универсальные диски только для чтения (например, DVD-ROM, двухслойные DVD-ROM), ряд записываемых/перезаписываемых DVD (например, DVD-RAM, DVD-RW, DVD+RW и т.д.), флэш-память (например, SD-карты, мини-SD-карты, микро-SD-карты и т.д.), магнитные и/или твердотельные жесткие диски, диски Blu-ray только для чтения и перезаписываемые диски Blu-ray, оптические диски сверхвысокой плотности, любые другие оптические или магнитные среды и гибкие диски. Компьютерно-читаемые носители могут хранить компьютерную программу, исполняемую, по меньшей мере, одним процессором, и включают в себя инструкции для выполнения различных операций. Примеры аппаратных устройств, выполненных с возможностью хранения и исполнения наборов инструкций, включают в себя, без ограничений, интегральные схемы прикладной ориентации (ASIC), вентильные матрицы, программируемые пользователем (FPGA), программируемые логические устройства (PLD), ПЗУ и ОЗУ. Примеры компьютерных программ или компьютерного кода включают в себя машинный код, такой как созданный компилятором, и файлы, включающие в себя код более высокого уровня, который исполняется компьютером, электронным блоком или микропроцессором с использованием интерпретатора.
Используемые в этом описании изобретения и любом из пунктов формулы изобретения в этой заявке термины «компьютер», «сервер», «процессор» и «память» - все относятся к электронным или другим технологическим устройствам. Эти термины не включают в себя людей или группы людей. Для целей описания изобретения термин отображение означает отображение на электронном устройстве. Используемые в этом описании изобретения и любом из пунктов формулы изобретения в этой заявке термины «компьютерно-читаемый носитель» и «компьютерно-читаемые носители» полностью исчерпывают себя материальными физическими объектами, хранящими информацию в форме, допускающей считывание компьютером. Эти термины не включают в себя никакие беспроводные сигналы, сигналы, передаваемые по проводам, и никакие другие кратковременные сигналы.
Выше изобретение описано со ссылками на многочисленные характерные детали, однако специалисту в данной области техники должно быть очевидно, что изобретение может быть реализовано в других отдельно взятых формах в пределах существа изобретения. Поэтому специалисту в данной области техники должно быть очевидно, что изобретение не ограничивается вышеизложенными иллюстративными деталями и должно определяться прилагаемой формулой изобретения.
Класс G09G5/34 для "прокрутки" информации или перемещения изображения