ОКРАШИВАНИЕ ПОЛЬЗОВАТЕЛЬСКИХ ЭЛЕМЕНТОВ УПРАВЛЕНИЯ
PAINTING USER CONTROLS

УРОВЕНЬ ТЕХНИКИ
Компьютеры предлагают множество функциональных возможностей для пользователей. Например, пользователь может при желании исследовать Интернет, сгенерировать некоторый документ и слушать музыку на компьютере. Затем пользователь может вспомнить, что ему/ей необходимо также послать электронную почту. Часто пользователь взаимодействует с компьютером через графический пользовательский интерфейс (GUI). Обычным способом для открытия пользователем приложения электронной почты является осуществление щелчка мышью на элементе управления, который запускает приложение электронной почты. При условии, что дано полное количество приложений, которые пользователь может открыть на GUI, и полное количество доступных опций, пользователь может потерять мысль во время этой задачи. Данные варианты реализации могут дать возможность пользователю осуществлять навигацию в GUI с меньшими усилиями и/или более естественным способом, что может привести к улучшенному общему опыту пользователя.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Описанные варианты реализации относятся к динамическому окрашиванию пользовательских элементов управления. Один способ динамически определяет цвет подсветки пользовательского элемента управления, находящегося под курсором на графическом пользовательском интерфейсе. Этот способ также окрашивает по меньшей мере часть этого пользовательского элемента управления этим цветом подсветки.
Другой вариант реализации показан как способ, который идентифицирует группу связанных пользовательских элементов управления на графическом пользовательском интерфейсе. Индивидуальные пользовательские элементы управления могут включать в себя пиктограмму. Этот способ также окрашивает части пользовательских элементов управления этой группы цветом, который динамически выбирается из информации, связанной с этой пиктограммой.
Вышеперечисленные примеры предназначены для обеспечения быстрой ссылки для помощи читателю и не предназначены для задания объема концепций, описанных в данном документе.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Сопутствующие чертежи иллюстрируют варианты реализации концепций, передаваемых в данной заявке. Особенности показанных вариантов реализаций могут быть более легко поняты посредством ссылки на следующее описание, взятое в сопряжении с сопутствующими чертежами. Одинаковые ссылочные номера в различных чертежах используются, где это возможно, для указания одинаковых элементов. Далее, крайняя левая цифра каждого ссылочного номера сообщает чертеж и связанное обсуждение, где этот ссылочный номер впервые вводится. Эта патентная заявка содержит по меньшей мере один чертеж, выполненный в цвете. Копии этого патента или публикации патентной заявки с цветным чертежом (чертежами) будут обеспечены ведомством после запроса и необходимой оплаты.
Фиг.1-10 показывают гипотетические экраны примерных вариантов реализаций динамического окрашивания пользовательских элементов управления в соответствии с некоторыми из данных концепций.
Фиг.11 иллюстрирует примерную систему динамического окрашивания пользовательских элементов управления в соответствии с некоторыми вариантами реализаций данных концепций.
Фиг.12-13 являются блок-схемами примерных способов динамического окрашивания пользовательских элементов управления в соответствии с некоторыми вариантами реализаций данных концепций.
ПОДРОБНОЕ ОПИСАНИЕ
ОБЗОР
Данная патентная заявка имеет отношение к окрашиванию пользовательских элементов управления на графическом пользовательском интерфейсе (GUI). Кратко, данные концепции могут создать свечение вокруг курсора на GUI. Это свечение может мыслиться подобным направлению луча ручного электрического фонаря в курсор. Когда пользователь перемещает курсор над пользовательским элементом управления, таким как выбираемая кнопка, пользовательский элемент управления окрашивается цветом подсветки для создания окрашенного свечения. Продолжая аналогию с ручным электрическим фонарем, окрашенное свечение могло бы быть создано при помощи окрашенной линзы на ручном электрическом фонаре.
Цвет подсветки может динамически выбираться на основе информации о цвете, полученной от пользовательского элемента управления. Например, некоторая пиктограмма может занимать часть пользовательского элемента управления для быстрой идентификации функции, связанной с этим пользовательским элементом управления. Данные варианты реализации могут выбирать цвет подсветки для окрашивания на основе информации о цвете от пиктограммы. Цвет подсветки может быть доминирующим цветом, определенным из информации о цвете, дополнительным цветом или любым другим цветом, определенным из информации о цвете, которая может помочь пользователю. Так, например, если доминирующим цветом пиктограммы является красный, и оставшаяся часть пользовательского элемента управления является белой, то данные варианты реализации могут нарисовать красное свечение над некоторой частью или над всей оставшейся частью пользовательского элемента управления. Далее, это окрашивание может быть осуществлено способом, который помогает передать местоположение и направление движения курсора над пользовательским элементом управления. Другие варианты реализации и/или концепции изобретения вводятся ниже.
ПРИМЕРНЫЕ ЭКРАНЫ
Фиг.1-9 показывают примерные гипотетические экраны некоторых вариантов реализаций данных концепций окрашивания пользовательских элементов управления.
Фиг.1-3 совместно показывают варианты реализации динамического цветного окрашивания на дисплее 100. Фиг.1 включает в себя первый экран 102(1) графического пользовательского интерфейса (GUI) на дисплее 100. Фиг.2 включает в себя второй, последующий экран 102(2). Фиг.3 показывает другой экран 102(3), который представляет альтернативную конфигурацию для варианта реализации Фиг.2.
В этом примере, Фиг.1-3 включают в себя три пользовательских элемента управления 104(1), 104(2), 104(3) на экранах 102(1)-102(3). Далее, каждый из трех пользовательских элементов управления содержит пиктограмму 106(1), 106(2) и 106(3) соответственно. Пиктограмма может мыслиться как наглядное изображение, используемое в GUI для представления некоторой программы, команды, ссылки на Web-страницу и т.д. Когда пиктограмма помещена в пользовательский элемент управления, она помогает передать функциональную возможность пользовательского элемента управления (т.е. пиктограмма служит для быстрой передачи того, что выбирает пользователь).
На Фиг.1, курсор 108 показан в первом положении, которое не является положением над каким-либо из пользовательских элементов управления 104(1), 104(2), 104(3). На Фиг.2, пользователь передвинул курсор на пользовательский элемент управления 104(3). В качестве реакции на положение курсора пользовательский элемент управления 104(3) окрашивается в 202 цветом подсветки способом, который может помочь пользователю легко установить, что курсор находится над пользовательским элементом управления. В этом случае окрашивание 202 обычно является круговым вокруг курсора 108 для создания окрашенного свечения, такого как ореол, центрированный вокруг курсора. Фиг.3 иллюстрирует альтернативный вариант реализации, когда окрашивание 202 скрыто вне пользовательского элемента управления 104(3). Другими словами, окрашивание происходит только в пределах части пользовательского элемента управления GUI.
Цвет подсветки окрашивания 202 динамически определяется из информации о цвете пиктограммы 106(3) пользовательского элемента управления. Кратко, в этом случае цвет окрашивания выбирается как доминирующий цвет пиктограммы 106(3). Способы для выбора цвета (цветов) окрашивания более подробно описаны ниже относительно Фиг.12.
В этих вариантах реализации курсор 108 остается видимым, когда курсор проходит над пользовательским элементом управления 104(3). Также, хотя курсор наложен на пользовательский элемент управления 104(3) и пиктограмму 106(3), окрашивание 202 наслаивается позади пиктограммы 106(3). Эта конфигурация сохраняет пиктограмму видимой для пользователя во время окрашивания.
Фиг.4-6 совместно показывают другой вариант реализации динамического цветного окрашивания. В этом случае Фиг.4-6 показывают три последовательных экрана 402(1), 402(2) и 402(3) соответственно. В противоположность Фиг.1-3 на Фиг.4-6 показана лишь часть полного GUI. Каждый экран показывает три пользовательских элементов управления 404(1), 404(2) и 404(3) и три соответствующие пиктограммы 406(1), 406(2) и 406(3).
На Фиг.4 пользователь позиционировал курсор над пользовательским элементом управления 404(2), как в общем указано в 410(1). В этой конфигурации, когда курсор перемещается над пользовательским элементом управления, традиционная форма курсора в виде стрелки заменяется окрашиванием 412. В этом случае местоположение курсора окрашивается при помощи внутреннего окрашенного свечения 414. Внешнее большее окрашенное свечение 416 концентрически нарисовано вокруг внутреннего свечения 414 таким образом, что местоположение курсора определяется как фокус этих двух свечений 414, 416. Подобно варианту реализации Фиг.3, окрашивание на Фиг.4-6 происходит только в пределах пользовательского элемента управления, над которым позиционирован курсор. Другими словами, часть внутреннего и внешнего свечений, которая в противном случае простиралась бы на пользовательские элементы управления 404(1), 404(3) и/или на оставшуюся часть GUI, не отображается. В этом конкретном примере внутреннее свечение 414 рисуется белым цветом, а внешнее свечение 416 рисуется доминирующим цветом пиктограммы 406(2), которым в этом случае является оранжевый. Далее, в этом конкретном примере внутреннее свечение 414 является относительно сконцентрированным, тогда как внешнее свечение 416 является относительно рассеянным. На Фиг.4-6 скобки используются для идентификации степени внутреннего и внешнего свечений 414, 416. Фиг.6 предлагает другой подход, использующий пунктирные линии, для помощи читателю в идентификации свечений 414, 416.
Фиг.5-6 по сравнению с Фиг.4 показывают, как окрашивание данных вариантов реализации может передать местоположение и направление курсора относительно пользовательского элемента управления 404(2). Например, на Фиг.4 местоположением курсора, как идентифицируется в 410(1), является нижняя левая часть пользовательского элемента управления 404(2). На Фиг.5 местоположением курсора, как идентифицируется в 410(2), является нижняя центральная часть пользовательского элемента управления 404(2), а на Фиг.6 местоположением курсора, как идентифицируется в 410(3), является нижняя правая часть. Взятое совместно, динамическое окрашивание Фиг.4-6 показывает курсор, движущийся слева направо параллельно горизонтали или оси х.
Фиг.4-6 служат для иллюстрации другого примерного свойства окрашивания, которое может быть названо «устойчивым воздействием». Устойчивое воздействие может быть создано посредством окрашивания одного или нескольких краев пользовательского элемента управления, ближайшего к окрашиванию 412. Такой пример обозначен в 602 и 604 Фиг.6.
Фиг.7-8 совместно показывают другой вариант реализации динамического цветного окрашивания, включающий в себя пользовательский элемент управления 702. В этом случае пользовательский элемент управления 702 не содержит пиктограмму. Однако пользовательский элемент управления действительно содержит текст 704 в форме слова “email” (электронная почта) для передачи пользователю цели пользовательского элемента управления 702. Информация о цвете может быть получена от текста 704 для окрашивания пользовательского элемента управления. Например, Фиг.8 показывает случай, когда пользователь позиционирует курсор над пользовательским элементом управления приблизительно в точке 802. В качестве реакции эллиптическая форма 804 рисуется над частью пользовательского элемента управления 702, центрированной на точке 802. В этом случае эллиптическая форма 804 скрыта вокруг текста 704, как указано в 806, таким образом, что текст остается видимым для пользователя.
Фиг.9 показывает другой вариант реализации динамического цветного окрашивания, включающий в себя пользовательский элемент управления 902, позиционированный на GUI 904. В этом случае пользовательский элемент управления включает в себя пиктограмму 906. Часть 908 пользовательского элемента управления 902 динамически окрашивается в качестве реакции на позиционирование пользователем курсора над пользовательским элементом управления 902. В этом примере эта часть имеет форму кометы таким образом, что хвостовая часть 910 указывает в направлении, откуда пришел курсор, а головная часть 912 указывает настоящее местоположение курсора.
В этом случае пиктограмма 906 пользовательского элемента управления имеет «синий» цвет. Оставшаяся часть 914 пользовательского элемента управления является прозрачной. Случайно пользователь выбрал подобный синий цвет в качестве фона для GUI 904. Поскольку оставшаяся часть 914 пользовательского элемента управления является прозрачной, она также кажется синей. В этом сценарии вместо выбора доминирующего синего цвета пиктограммы для окрашивания выбранным цветом подсветки для окрашенной части 908 является дополнительный цвет для доминирующего цвета. В этом примере дополнительным цветом является желтый. В некоторых случаях, таких как этот, окрашивание дополнительным цветом может предложить улучшенный опыт пользователя по сравнению с окрашиванием доминирующим цветом.
Фиг.10 показывает другой вариант реализации окрашивания пользовательского элемента управления. В этом случае показаны четыре пользовательских элемента управления 1002(1), 1002(2), 1002(3) и 1002(4), каждый из которых имеет соответствующую пиктограмму 1004(1), 1004(2), 1004(3) и 1004(4). Эти четыре пользовательских элемента управления могут мыслиться как группа, которая относится к одному и тому же приложению или функциональной возможности. В этом случае эта группа относится к приложению торговой марки PowerPoint от корпорации Microsoft. Доминирующий цвет пиктограмм определяется и рисуется над частями четырех пользовательских элементов управления 1002(1), 1002(2), 1002(3) и 1002(4), как указано в 1006, для помощи пользователю в распознавании связанной природы четырех пользовательских элементов управления.
ПРИМЕРНЫЕ РАБОЧИЕ СРЕДЫ
Фиг.11 показывает примерную рабочую среду 1100, в которой концепции динамического окрашивания пользовательских элементов управления, описываемые выше и ниже, могут быть реализованы на различных вычислительных устройствах. Кратко, данные варианты реализации могут быть реализованы при помощи любого вычислительного устройства, который отображает графический пользовательский интерфейс и использует курсор, которым может управлять пользователь. Далее, данные варианты реализации могут быть использованы в автономной конфигурации и/или в конфигурации «сервер/клиент».
В показанном случае вычислительные устройства показаны как персональный компьютер (PC) 1102, смартфон 1104 и компьютер-сервер 1106. Вычислительные устройства 1102-1106 могут быть коммуникативно связаны друг с другом через Интернет 1110 или через другое средство связи, такое как сотовые микроволновые средства.
В данном обсуждении PC 1102 может соответствовать любому типу компьютера, такому как компьютер, основанный на Unix, или компьютер торговой марки Apple, среди прочих. Смартфон 1104 может соответствовать любому количеству когда-либо развивающихся классов вычислительных устройств, которые могут предложить одно или несколько из следующего: сотовое обслуживание, Интернет-обслуживание и/или некоторые возможности обработки, скомбинированные с GUI. Другие современные примеры этого класса могут включать в себя электронные секретари и сотовые телефоны, среди прочих.
Данные концепции могут быть использованы с вычислительными устройствами, имеющими различные возможности. Например, данные концепции могут использоваться на автономном устройстве, где приложения выполняются локально на вычислительном устройстве для выполнения связанной функциональной возможности. PC 1102 может предложить такой пример, когда модуль 1112(1) отслеживания, цветовой модуль 1114(1) и модуль 1116(1) окрашивания могут работать локально. Один или несколько таких компонентов могут альтернативно или дополнительно работать на компьютере-сервере 1106, как указано в 1112(2), 1114(2) и 1116(2). Для краткости для смартфона 1104 не назначено конкретно никаких компонентов, но на смартфоне могут быть реализованы те же самые автономные конфигурации и/или конфигурации «сервер-клиент», что и на PC.
Модуль 1112 отслеживания может отслеживать местоположение и направление движения курсора над графическим пользовательским интерфейсом. Эта информация может быть подана в цветовой модуль 1114. Цветовой модуль может получить информацию о цвете, относящуюся к пользовательским элементам управления на графическом пользовательском интерфейсе. Цветовой модуль может использовать эту информацию о цвете для динамического определения цвета подсветки, такого как доминирующий цвет индивидуальных пользовательских элементов управления из информации о цвете. Пример алгоритма, который может быть выполнен посредством цветового модуля, описан ниже в отношении Фиг.12. Модуль 1116 окрашивания может окрашивать часть индивидуального пользовательского элемента управления цветом подсветки, определенным посредством цветового модуля.
ПРИМЕРНЫЕ СПОСОБЫ
Фиг.12 иллюстрирует блок-схему алгоритма или способа 1200, который согласуется по меньшей мере с некоторыми вариантами реализации данных концепций. Порядок, в котором описан способ 1200, не предназначен для истолкования в качестве ограничения, и любое число описанных блоков может быть скомбинировано в любом порядке для реализации этого способа или альтернативного способа. Кроме того, этот способ может быть реализован в любом соответствующем аппаратном обеспечении, программном обеспечении, программно-аппаратных средствах или их комбинации таким образом, что вычислительное устройство, такое как вычислительные устройства, описанные выше относительно Фиг.11, может реализовать этот способ. В одном случае этот способ хранится на считываемом компьютером носителе данных как множество команд таким образом, что их выполнение посредством вычислительного устройства вызывает выполнение вычислительным устройством этого способа.
Блоки 1202 и 1204 представляют примерный способ для динамического окрашивания пользовательских элементов управления. Блоки 1206-1212 предлагают один подход для выполнения блока 1202.
Блок 1202 динамически определяет цвет подсветки пользовательского элемента управления под курсором на графическом пользовательском интерфейсе (GUI). Например, местоположение и направление движения курсора может отслеживаться. В некоторых вариантах реализации информация об индивидуальном пользовательском элементе управления может быть получена, когда курсор проходит над этим пользовательским элементом управления. Этот процесс может быть завершен, и пользовательский элемент управления может быть окрашен в течение нескольких миллисекунд таким образом, что с точки зрения пользователя курсор и окрашивание появляются над пользовательским элементом управления в одно и то же время. Другие варианты реализации могут предсказать, где пользователь будет перемещать курсор, на основе местоположения и направления движения и начать этот способ даже перед тем, как курсор действительно проходит над индивидуальным пользовательским элементом управления. Еще один вариант реализации может получить данные о цвете от всех пользовательских элементов управления на GUI и динамически определить цвет подсветки для каждого пользовательского элемента управления. Эти данные о цвете подсветки могут быть затем доступны при необходимости на основе движения курсора.
Блок 1206 идентифицирует пиктограмму пользовательского элемента управления. Этот конкретный вариант реализации дополнительно обрабатывает эту пиктограмму, как описано ниже. Однако подобный подход может быть применен и к пользовательским элементам управления, которые не включают в себя пиктограммы. Например, пользовательский элемент управления может содержать текст, который может быть обработан подобным образом.
Блок 1208 получает пикселы пиктограммы. Блок 1210 сортирует пикселы по цвету. Этот процесс может быть аналогичен маркировке некоторой области памяти для каждого цвета пиктограммы и помещению индивидуальных пикселов в соответствующие области памяти.
Блок 1212 выбирает цвет с наибольшим числом пикселов в качестве цвета подсветки, который в этом случае является также доминирующим цветом. В аналогии с областью памяти область памяти с большинством пикселов выбирается в качестве доминирующего цвета. Некоторые варианты реализации не рассматривают некоторые цвета, такие как черный, белый и серый при выборе доминирующего цвета. В некоторых случаях дополнительный цвет к доминирующему цвету может быть также идентифицирован для использования в окрашивании.
После блока 1212, способ возвращается к блоку 1204, который окрашивает по меньшей мере часть пользовательского элемента управления цветом подсветки. В способе блоков 1206-1212 цвет подсветки является доминирующим цветом. Различные примеры этого окрашивания показаны на Фиг.1-10 выше.
Фиг.13 иллюстрирует другую блок-схему алгоритма или способа 1300, который согласуется по меньшей мере с некоторыми вариантами реализации данных концепций. Порядок, в котором описан способ 1300, не предназначен для толкования в качестве ограничения, и любое число описанных блоков может быть скомбинировано в любом порядке для реализации этого способа или альтернативного способа. Кроме того, этот способ может быть реализован в любом соответствующем аппаратном обеспечения, программном обеспечении, программно-аппаратных средствах или их комбинации таким образом, что вычислительное устройство может реализовать это способ. В одном случае этот способ хранится на считываемом компьютером носителе данных как множество команд таким образом, что их выполнение посредством вычислительного устройства вызывает выполнение вычислительным устройством этого способа.
Блок 1302 идентифицирует группу связанных пользовательских элементов управления на GUI. Индивидуальные пользовательские элементы управления могут включать в себя некоторую пиктограмму. Например, группа пользовательских элементов управления может относиться к приложению электронной почты. В этом примере GUI может включать в себя первый пользовательский элемент управления для приложения электронной почты, второй пользовательский элемент управления, относящийся к открытой принятой электронной почте, а третий пользовательский элемент управления может относиться к электронной почте, которую планирует послать пользователь. Предположим с целью обсуждения, что каждый из трех вышеописанных пользовательских элементов управления содержит пиктограмму. В этом примере этот способ может анализировать информацию о цвете от одной или нескольких пиктограмм. Пример такого анализа описан выше относительно блоков 1206-1212 Фиг.12.
Блок 1304 окрашивает по меньшей мере части пользовательских элементов управления этой группы цветом (т.е. цветом подсветки), который динамически выбирается из информации, относящейся к пиктограмме (пиктограммам). Продолжая вышеописанный пример электронной почты, этот способ может окрасить каждый из трех пользовательских элементов управления динамически выбранным цветом от пиктограмм таким образом, что цвет подсветки служит для группировки пользовательских элементов управления для пользователя. Это окрашивание может помочь пользователю распознать, что каждый из сгруппированных пользовательских элементов управления относится к некоторой функции, связанной с этой функциональной возможностью (т.е. с функциональной возможностью электронной почты).
Итак, вышеприведенные способы могут динамически генерировать визуальные ключи о пользовательских элементах управления для улучшения опыта пользователя.
ЗАКЛЮЧЕНИЕ
Хотя способы, устройства, системы и т.д., имеющие отношение к динамическому окрашиванию пользовательских элементов управления, описаны языком, специфическим для структурных особенностей и/или методологических актов, следует понимать, что предмет рассмотрения, заданный в прилагаемой формуле изобретения, необязательно ограничен этими описанными конкретными особенностями или актами. Скорее, конкретные особенности и акты раскрыты как примерные формы реализации заявленных способов, устройств, систем и т.д.