ПРОВЕРКА НАЖАТИЯ ДЛЯ ОПРЕДЕЛЕНИЯ РАЗРЕШЕНИЯ НА ПРЯМЫЕ МАНИПУЛИРОВАНИЯ В ОТВЕТ НА ПОЛЬЗОВАТЕЛЬСКИЕ ДЕЙСТВИЯ
CHECK PUSHING TO DETERMINE PERMISSION FOR DIRECT MANIPULATIONS IN RESPONSE TO USER ACTIONS

УРОВЕНЬ ТЕХНИКИ
[0001]
Проверка нажатия, также известная как обнаружение нажатия, указание объектов и/или корреляция указания, представляет собой технологический процесс, задействованный для определения того, пересекает ли управляемый пользователем курсор, такой как курсор мыши или точка касания на пользовательском интерфейсе, ассоциированном с приложением, заданный объект, такой как фигура, линия или кривая приложения, отображаемый в пользовательском интерфейсе. Кроме того, проверка нажатия задействуется для реагирования на пользовательские действия, такие как выбор пункта меню или целевого объекта в приложении на основе его визуального местоположения в пользовательском интерфейсе.
[0002]
В настоящее время не существует быстрых, эффективных методов определения того, было ли нажатие на содержимое в приложении посредством сенсорного ввода либо ввода с помощью жестов, и/или традиционного ввода от пользователя. Проверка нажатия может быть очень затратной, и некоторые типы содержимого, соотнесенного с приложением, такие как графические объекты, могут занимать больше всего времени на решение, так как время, которое требуется на вычисления для проверки нажатия, связано со сложностью содержимого.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003]
Настоящий раздел "Сущность изобретения" приводится для того, чтобы в упрощенной форме представить выбор концепций, которые ниже дополнительно описаны в разделе "Подробное описание изобретения". Настоящий раздел "Сущность изобретения" не предназначен исключительно для выявления ключевых признаков или существенных признаков заявленного изобретения, а также не предназначен в качестве вспомогательного средства при определении объема заявленного изобретения.
[0004]
Варианты осуществления направлены на проведение проверки нажатия, чтобы определить разрешение на непосредственное манипулирование в ответ на пользовательское действие. Процессор вычислительного устройства может быть выполнен с возможностью исполнения приложения, которое включает в себя один или несколько специальных слоев содержимого (SCL - special content layer), и вызова представления пользователю пользовательского интерфейса, ассоциированного с приложением, через клиентское устройство при исполнении приложения. Приложение может обнаруживать пользовательское действие через пользовательский интерфейс, и в ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL приложения, может быть идентифицировано нажатие. Разрешено ли непосредственное манипулирование объектом через приложение, по меньшей мере, одним SCL, может определяться приложением в ответ на нажатие, и, если непосредственное манипулирование объектом через приложение разрешено, по меньшей мере, одним SCL, может быть автоматически инициировано непосредственное манипулирование объектом через приложение.
[0005]
Эти и другие признаки и преимущества станут очевидными в результате прочтения последующего подробного описания и обзора соотнесенных с ним чертежей. Нужно понимать, что как предшествующее общее описание, так и последующее подробное описание, являются пояснительными и не ограничивают заявленные аспекты.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0006]
Фиг. 1 включает в себя иллюстративную сетевую среду, в которой может быть выполнена проверка нажатия;
[0007]
Фиг. 2 изображает иллюстративный пользовательский интерфейс, ассоциированный с приложением, выполненным с возможностью выполнения проверки нажатия;
[0008]
Фиг. 3 изображает иллюстративный технологический процесс для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований в ответ на пользовательское действие;
[0009]
Фиг. 4 является структурной схемой иллюстративного вычислительного устройства общего назначения, которое может быть использовано для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований в ответ на пользовательское действие; и
[0010]
Фиг. 5 изображает логическую блок-схему последовательности операций способа для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований в ответ на пользовательское действие, в соответствии с вариантами осуществления.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0001]
Как кратко описано выше, проверка нажатия может выполняться для определения того, пересекает ли пользовательское действие, обнаруженное через пользовательский интерфейс, ассоциированный с приложением, заданный объект приложения. Приложение может быть, например, текстовым редактором, электронной таблицей и/или приложением для презентаций, и включать в себя один или несколько специальных слоев содержимого (SCL). Как описывается в данном документе, SCL является слоем приложения, в котором может быть принято немедленное решение относительно разрешения на непосредственное манипулирование объектом через приложение в ответ на пользовательское действие. Модуль обработки SCL приложения может идентифицировать нажатие в ответ на обнаружение пересечения пользовательского действия и одного или нескольких непрозрачных пикселей, по меньшей мере, одного из SCL во время сквозной обработки SCL, при этом пиксели могут соответствовать объекту приложения. Тогда приложение может выполняться с возможностью определения того, разрешено ли со стороны SLC непосредственное манипулирование объектом через приложение. Если непосредственное манипулирование объектом через приложение разрешено со стороны SCL, может быть автоматически инициировано непосредственное манипулирование. Иначе, если непосредственное манипулирование объектом через приложение не разрешено со стороны SCL, непосредственное манипулирование может быть заблокировано.
[0002]
В последующем подробном описании делаются ссылки на прилагаемые чертежи, которые составляют его часть, и в которых посредством иллюстраций продемонстрированы конкретные варианты осуществления или примеры. Эти аспекты могут быть объединены, могут быть задействованы другие аспекты, а также могут быть сделаны структурные изменения, без отклонения от сущности или объема настоящего раскрытия изобретения. Поэтому последующее подробное описание не следует рассматривать в ограничительном смысле, а объем настоящего изобретения задается прилагаемой формулой изобретения и ее эквивалентами.
[0003]
Хотя некоторые варианты осуществления и будут описаны в общем контексте программных модулей, которые исполняются вместе с приложением, которое запускается в операционной системе на персональном компьютере, специалисты в данной области техники признают, что аспекты также могут быть реализованы в сочетании с другими программными модулями.
[0004]
Как правило, программные модули включают в себя процедуры, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Более того, специалистам в данной области техники будет понятно, что варианты осуществления могут быть воплощены на практике с использованием других конфигураций компьютерных систем, в том числе переносных устройств, систем с несколькими обрабатывающими устройствами, микропроцессорной или программируемой бытовой электроники, миникомпьютеров, универсальных компьютеров, а также сопоставимых вычислительных устройств. Варианты осуществления также могут быть воплощены на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены как в локальных, так и в удаленных запоминающих устройствах хранения данных.
[0005]
Некоторые варианты осуществления могут быть реализованы как компьютеризованный технологический процесс (способ), вычислительная система, или как изделие промышленного производства, такое как компьютерный программный продукт или машиночитаемые носители. Компьютерным программным продуктом может быть компьютерный информационный носитель, пригодный для чтения компьютерной системой и кодирующий компьютерную программу, которая содержит инструкции для того, чтобы заставить компьютер или вычислительную систему выполнять иллюстративный технологический процесс(ы). Машиночитаемый информационный носитель представляет собой машиночитаемое запоминающее устройство. Машиночитаемый информационный носитель может быть, например, реализован посредством одного или более из следующего: энергозависимое компьютерное запоминающее устройство, энергонезависимое запоминающее устройство, накопитель на жестких дисках, флэш-накопитель, гибкий диск или компакт-диск, а также сопоставимые аппаратные средства.
[0006]
Всюду по тексту этого описания изобретения термин "платформа" может быть комбинацией программных и аппаратных компонентов для проведения проверки нажатия. Примеры платформ включают в себя, но не ограничиваются этим, службу внешнего размещения, исполняемую на множестве обслуживающих узлов, приложение, исполняемое на отдельном вычислительном устройстве, а также сопоставимые системы. Термин "сервер" обычно относится к вычислительному устройству, исполняющему одну или несколько программ пакета программного обеспечения в сетевой среде. Однако сервер также может быть реализован в виде виртуального сервера (программ программного обеспечения), исполняемого на одном или нескольких вычислительных устройствах, видимого в сети, как сервер. Более подробные сведения об этих технологиях и иллюстративных операциях приводятся ниже.
[0007]
Фиг. 1 включает в себя иллюстративную сетевую среду, в которой может быть выполнена проверка нажатия. Как продемонстрировано на схеме 100, один или несколько пользователей (108, 114 и 120) могут получить доступ к приложению 102, такому как текстовый редактор, электронная таблица и/или приложение для презентаций, через облачную сеть 130. В некоторых примерах приложение 102 может включать в себя один или несколько SCL 104, при этом SCL 104 является слоем приложения, в котором может быть немедленно принято решение относительно разрешения на непосредственное манипулирование объектом через приложение 102 в ответ на пользовательское действие, пересекающее один или несколько пикселей в SCL 104. Для каждого SCL 104, могут быть заданы один или несколько типов непосредственного манипулирования, и для каждого типа непосредственного манипулирования может быть дополнительно задано, разрешено ли непосредственное манипулирование со стороны SCL. Количество SCL 104, которые включает в себя приложение 102, может зависеть от типа приложения 102. Например, приложение для презентаций может включать в себя меньшее число SCL 104, чем приложение текстового редактора.
[0008]
Приложение 102 может размещаться на удаленном сервере и может быть доступно посредством клиентского устройства пользователя через облачную сеть 130. Например, сервер может быть выполнен с возможностью исполнения приложения 102 и побуждает представление пользовательского интерфейса 106, ассоциированного с приложением 102, посредством клиентского устройства пользователя. Локальная версия приложения 102 также может быть локально размещена на клиентском устройстве пользователя, а данные, ассоциированные с локальным приложением 102, могут быть получены через облачную сеть 130. Некоторые иллюстративные клиентские устройства могут включать в себя настольный компьютер 122, дорожный компьютер 110, интеллектуальный телефон, автомобильный телефон, подвижный телефон, планшет 116 и/или устройство домашней автоматики. Например, первый пользователь 108 может получить доступ к приложению 102 посредством дорожного компьютера 110 через облачную сеть 130 и взаимодействовать с пользовательским интерфейсом 106, используя сенсорный ввод 112. Второй пользователь 114 может получить доступ к приложению 102 посредством планшета 116 через облачную сеть 130 и взаимодействовать с пользовательским интерфейсом 106, используя ввод 118 с помощью пера. Третий пользователь 120 может получить доступ к приложению 102 посредством настольного компьютера 122 через облачную сеть 130 и взаимодействовать с пользовательским интерфейсом 106, используя традиционный ввод, такой как с помощью манипулятора мышь 124. Другие способы ввода могут включать в себя ввод с помощью жестов и/или ввод с клавиатуры, например.
[0009]
Иллюстративное приложение 102 может быть выполнено с возможностью обнаружения пользовательского действия через пользовательский интерфейс 106. Пользовательское действие может включать в себя сенсорный ввод 112, ввод 118 с помощью пера, ввод с помощью манипулятора мышь 124 и/или другие вводы, такие как гироскопический ввод, с помощью отслеживания движения глаз, и сопоставимые вводы. Например, сенсорный ввод 112 первого пользователя 108 может включать в себя действие касания или действие прокрутки, ассоциированное с объектом, таким как элемент управления, текстовый элемент или графический элемент приложения 102, отображаемым в пользовательском интерфейсе 106.
[0010]
Если приложение 102 включает в себя, по меньшей мере, один SCL 104, модуль обработки SCL приложения 102 может быть выполнен с возможностью выполнения сквозной обработки SCL 104 в ответ на обнаруженное пользовательское действие. Модуль обработки SCL приложения 102 может быть выполнен с возможностью определения, выполнять ли сквозную обработку, основываясь на содержимом текстуры области в пользовательском интерфейсе, находящейся вблизи пользовательского действия. Например, если один или несколько объектов приложения (которые могут включать в себя объект, ассоциированный с пользовательским действием, а также один или несколько других объектов) отображаются в области в пользовательском интерфейсе, находящейся вблизи пользовательского действия, содержимое текстуры, соответствующее объектам, может указывать модулю обработки SCL выполнить сквозную обработку. В отличие от этого, если объекты не отображаются в области в пользовательском интерфейсе, находящейся вблизи пользовательского действия, отсутствие содержимого текстуры может указывать модулю обработки SCL не выполнять сквозную обработку, поскольку пользовательское действие, скорее всего, не предполагалось, и реакция не требуется. В ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей SCL 104 во время сквозной обработки может быть идентифицировано нажатие. Пиксели могут быть непрозрачными пикселями, которые соответствуют объекту, ассоциированному с пользовательским действием, при этом, по меньшей мере, часть объекта располагается в области в пользовательском интерфейсе 106, близкой к пользовательскому действию.
[0011]
Тогда приложение 102 может быть выполнено с возможностью определения, разрешено ли непосредственное манипулирование объектом через приложение 102 со стороны SCL 104, в ответ на нажатие. Если непосредственное манипулирование объектом через приложение 102 разрешено со стороны SCL 104, непосредственное манипулирование объектом через приложение 102 может быть автоматически инициировано. Если непосредственное манипулирование объектом через приложение 102 не разрешено со стороны SCL 104, непосредственное манипулирование объектом через приложение 102 может быть заблокировано. Как обсуждалось ранее, SCL 104 представляет собой слой приложения 102, в котором может быть немедленно принято решение относительно разрешения на непосредственное манипулирование объектом через приложение 102. Для каждого SCL 104 могут быть заданы один или несколько типов непосредственного манипулирования, и для каждого типа непосредственного манипулирования может быть дополнительно задано, разрешено или заблокировано непосредственное манипулирование со стороны SCL 104. Тип непосредственного манипулирования может определяться на основе поведения объекта относительно пользовательского действия и может включать в себя панорамирование, изменение масштаба изображения и выбор объекта, наряду с другими примерами. Например, если первый пользователь 108 выполняет действие касания посредством сенсорного ввода 112 на изображении на слайде документа приложения для презентаций, тип непосредственного манипулирования может включать в себя увеличение изображения путем изменения масштаба изображения.
[0012]
Объединение способности немедленного принятия решения SCL 104 с проведением проверки нажатия может предложить быстрый, эффективный способ определения разрешения в ответ на пользовательское действие, который улучшает имеющиеся методы проверки нажатия. Например, это объединение предотвращает традиционную необходимость добавочных этапов обработки, и благодаря этому предотвращает потребность в программном и/или аппаратном обеспечении для дополнительной обработки, чтобы определить разрешение на непосредственное манипулирование, что может уменьшить общее время работы и стоимость.
[0013]
Иллюстративная система на Фиг. 1 была описана с конкретными серверами, клиентскими устройствами, приложениями и взаимодействиями. Варианты осуществления не ограничиваются системой согласно этой иллюстративной конфигурации. Платформа для проведения проверки нажатия, чтобы определить разрешение на непосредственное манипулирование, может быть реализована в конфигурациях, которые задействуют меньшее количество или дополнительные компоненты, и выполняющих другие задачи. Кроме того, платформы для проведения проверки нажатия, чтобы определить разрешение на непосредственное манипулирование, могут быть реализованы аналогичным образом с использованием описанных в данном документе принципов.
[0014]
Фиг. 2 изображает иллюстративный пользовательский интерфейс, ассоциированный с приложением, выполненным с возможностью выполнения проверки нажатия. Как продемонстрировано на схеме 200, приложение, такое как приложение для презентаций, может быть доступно пользователю посредством клиентского устройства, такого как планшет 202. Приложение может включать в себя один или несколько SCL, а при исполнении приложения пользовательский интерфейс 204, ассоциированный с приложением, может быть представлен посредством планшета 202.
[0015]
Приложение может обнаруживать пользовательское действие через пользовательский интерфейс 204, при этом пользовательское действие может быть выполнено посредством сенсорного ввода 206 и может включать в себя действие касания, ассоциированное с объектом приложения, отображаемым в пользовательском интерфейсе 204, таким как диаграмма 208. Модуль обработки SCL приложения может быть выполнен с возможностью выполнения сквозной обработки, по меньшей мере, одного SCL в ответ на обнаружение пользовательского действия. Модуль обработки SCL может определять, выполнять ли сквозную обработку, основываясь на содержимом текстуры области в пользовательском интерфейсе 204, близкой к пользовательскому действию. Например, содержимое текстуры области в пользовательском интерфейсе 204, близкой к действию касания, может указывать, что один или несколько объектов приложения, таких как диаграмма 208 или текстовое содержимое 210, являются близкими, и, следовательно, сквозная обработка должна быть выполнена. В другом примере, если пользовательское действие является действием прокрутки, выполняемым посредством сенсорного ввода в области пользовательского интерфейса 204, которая не отображает какой-либо тип содержимого, содержимое текстуры может указывать, что никакие объекты не являются близкими, и, следовательно, сквозная обработка не должна выполняться, поскольку пользовательское действие, скорее всего, не предполагалось, и, следовательно, реакция не требуется.
[0016]
В ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей SCL, может быть идентифицировано нажатие. Пиксели могут быть непрозрачными пикселями, которые соответствуют диаграмме 208, которой касается пользователь. Тогда приложение может быть выполнено с возможностью определения, разрешено ли непосредственное манипулирование объектом через приложение со стороны SCL, в ответ на нажатие, при этом непосредственное манипулирование может включать в себя выбор диаграммы 208, чтобы выполнить функцию копирования и вставки, например. Если непосредственное манипулирование объектом через приложение разрешено со стороны SCL, непосредственное манипулирование объектом через приложение может быть автоматически инициировано. Если непосредственное манипулирование объектом через приложение не разрешено со стороны SCL, непосредственное манипулирование объектом через приложение может быть заблокировано.
[0017]
Фиг. 3 изображает иллюстративный технологический процесс для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований в ответ на пользовательское действие. Приложение, такое как текстовый редактор, электронная таблица и/или приложение для презентаций, может быть доступно пользователю посредством клиентского устройства, и при исполнении приложения пользовательский интерфейс, ассоциированный с приложением, может быть представлен посредством устройства отображения клиентского устройства, чтобы обеспечить возможность взаимодействия пользователя с приложением. В некоторых примерах приложение может включать в себя один или несколько SCL, при этом количество SCL зависит от типа приложения. Каждый SCL является слоем приложения, в котором может быть немедленно принято решение относительно разрешения на непосредственное манипулирование объектом через приложение в ответ на пользовательское действие.
[0018]
Как продемонстрировано на схеме 300, в ответ на обнаружение пользовательского действия через пользовательский интерфейс, ассоциированный с приложением, модуль обработки SCL приложения может определить, включает ли в себя приложение, по меньшей мере, один SCL 302. Если приложение не включает в себя, по меньшей мере, один SCL 304, никакие нажатия не могут быть идентифицированы 306. Если приложение действительно включает в себя, по меньшей мере, один SCL 308, модуль обработки SCL приложения может быть выполнен с возможностью выполнения сквозной обработки каждого SCL 310 в ответ на обнаружение пользовательского действия. Модуль обработки SCL может определить, выполнять ли сквозную обработку, основываясь на содержимом текстуры области в пользовательском интерфейсе, близкой к пользовательскому действию. Модуль обработки SCL может идентифицировать, имеются ли какие-либо нажатия 312, посредством определения, есть ли пересечение пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL, обнаруженное во время сквозной обработки. Если нет идентифицированных нажатия 314, модуль обработки SCL может продолжить обрабатывать другой SCL (т.е., если приложение включает в себя больше одного SCL), и может завершить обработку 316 SCL после того, как обработан каждый SCL и нет идентифицированных нажатия 306.
[0019]
Если имеются идентифицированные нажатия 318, приложение может определить, разрешает ли SCL непосредственное манипулирование объектом через приложение 320. Например, один или несколько типов непосредственного манипулирования могут быть заданы для каждого SCL, и для каждого типа непосредственного манипулирования может быть дополнительно задано, разрешено или заблокировано непосредственное манипулирование со стороны SCL. Если SCL разрешает непосредственное манипулирование объектом через приложение 322, непосредственное манипулирование может быть автоматически инициировано 324, и технологический процесс может закончиться 330. Если SCL не разрешает непосредственное манипулирование объектом через приложение 326, непосредственное манипулирование может быть заблокировано 328, и технологический процесс может закончиться 330.
[0020]
Примеры на Фиг. 1-3 были описаны с использованием конкретных сетевых сред, конфигураций, устройств и процессов для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований. Варианты осуществления для выполнения проверки нажатия не ограничиваются конкретными сетевыми средами, конфигурациями, устройствами и процессами в соответствии с этими примерами.
[0021]
Способность одного или нескольких SCL приложения принимать немедленное решение относительно разрешения или блокирования непосредственного манипулирования объектом в ответ на пользовательское действие может с успехом снизить загрузку процессора, одновременно повышая удобство и простоту использования в части более быстрого ответа на пользовательские действия.
[0022]
Фиг. 4 и ассоциированное с этим обсуждение предназначены для предоставления краткого общего описания вычислительного устройства общего назначения, которое может быть использовано для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований в ответ на пользовательское действие.
[0023]
Например, вычислительное устройство 400 может использоваться в качестве сервера, настольного компьютера, портативного компьютера, интеллектуального телефона, компьютера специального назначения или подобного устройства. В иллюстративной базовой конфигурации 402 вычислительное устройство 400 может включать в себя одно или несколько процессоров 404 и системная память 406. Шина 408 памяти может использоваться для обмена данными между процессором 404 и системной памятью 406. Базовая конфигурация 402 проиллюстрирована на Фиг. 4 прочими компонентами в пределах внутренней пунктирной линии.
[0024]
В зависимости от требуемой конфигурации, процессор 404 может быть любого типа, в том числе, но не ограничиваясь этим, микропроцессором (μP), микроконтроллером (μC), процессором цифровой обработки сигналов (ЦОС) или любой их комбинацией. Процессор 404 может включать в себя один или несколько уровней кэширования, например,  уровень кэш памяти 412, одно или несколько ядер 414 процессора и регистры 416. Иллюстративные ядра 414 процессора могут (каждое) включать в себя арифметико-логическое устройство (АЛУ), модуль обработки операций с плавающей запятой (FPU - floating point unit), ядро цифровой обработки сигналов (ядро ЦОС), или любую их комбинацию. Иллюстративный контроллер 418 памяти также может использоваться с процессором 404, или в некоторых реализациях контроллер 418 запоминающего устройства может быть встроенной частью процессора 404. В зависимости от требуемой конфигурации, системная память 406 может быть любого типа, в том числе, но не ограничиваясь этим, энергозависимым запоминающим устройством (таким как ОЗУ), энергонезависимым запоминающим устройством (таким как ПЗУ, запоминающее устройство с групповой перезаписью, и т.д.) или любой их комбинацией. Системная память 406 может включать в себя операционную систему 420, приложение 422 и программные данные 424. Приложение 422 может включать в себя один или несколько SCL и модуль 426 обработки SCL, который может быть неотъемлемой частью приложения или отдельным самостоятельным приложением. Исполнение приложения 422 может вызывать представление ассоциированного пользовательского интерфейса. В ответ на обнаружение пользовательского действия через пользовательский интерфейс может быть определено, включает ли в себя приложение, по меньшей мере, один SCL. Модуль 426 обработки SCL может выполнять сквозную обработку, по меньшей мере, одного SCL приложения для обнаружения пересечения пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL, что может идентифицировать нажатие. Разрешено ли непосредственное манипулирование объектом через приложение, по меньшей мере, одним SCL, может быть определено в ответ на нажатие, и, если непосредственное манипулирование объектом через приложение разрешено, по меньшей мере, одним SCL, непосредственное манипулирование объектом через приложение может быть автоматически инициировано. Иначе, если непосредственное манипулирование объектом через приложение не разрешено, по меньшей мере, одним SCL, непосредственное манипулирование объектом через приложение может быть заблокировано. Программные данные 424 могут включать в себя, среди прочих данных, данные 428 обработки, связанные с разрешением на непосредственное манипулирование на основе определений SCL и типа непосредственного манипулирования, как описано в данном документе.
[0025]
Вычислительное устройство 400 может иметь дополнительные функциональные признаки или функциональные возможности и дополнительные интерфейсы, чтобы способствовать связи между базовой конфигурацией 402 и любыми требуемыми устройствами и интерфейсами. Например, контроллер 430 шиной/интерфейсом может использоваться, чтобы содействовать связи между базовой конфигурацией 402 и одним или несколькими устройствами 432 хранения данных через шину 434 интерфейса хранилища. Устройства 432 хранения данных могут быть одним или несколькими съемными устройствами 436 хранения, одним или несколькими несъемными устройствами 438 хранения, или их комбинацией. Примеры съемных и несъемных устройств хранения включают в себя устройства на магнитных дисках, такие как накопители на гибких дисках и накопители на жестких дисках (НЖД), накопители на оптических дисках, такие как накопители на компакт-дисках (CD - compact disk) или накопители на цифровых универсальных дисках (DVD - digital versatile disk), твердотельные накопители (SSD - solid state drive) и ленточные накопители, к примеру. Иллюстративные компьютерные информационные носители могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные в рамках любого способа или технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные.
[0026]
Системная память 406, съемные устройства 436 хранения и несъемные устройства 438 хранения являются примерами компьютерных информационных носителей. Компьютерные информационные носители включают в себя, но не ограничиваются этим, ОЗУ, ПЗУ, ЭСППЗУ, запоминающее устройство с групповой перезаписью или другую технологию запоминающих устройств, CD-ROM, цифровые универсальные диски (DVD), твердотельные накопители, или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может использоваться для хранения нужной информации и который может быть доступен вычислительному устройству 400. Любые такие компьютерные информационные носители могут быть частью вычислительного устройства 400.
[0027]
Вычислительное устройство 400 также может включать в себя интерфейсную шину 440 для содействия связи различных устройств интерфейса (например, одного или нескольких устройств 442 вывода, одного или нескольких интерфейсов 444 периферийных устройств и одного или нескольких устройств 446 связи) с базовой конфигурацией 402 через устройство 430 управления шиной/интерфейсом. Некоторые из иллюстративных устройств 442 вывода включают в себя блок 448 графической обработки и блок 450 обработки звука, которые могут быть выполнены с возможностью осуществления связи с различными внешними устройствами, такими как устройство отображения или громкоговорители, через один или несколько портов 452 звука/видео. Один или несколько примеров интерфейсов 444 периферийных устройств могут включать в себя контроллер 454 последовательного интерфейса или контроллер 456 параллельного интерфейса, который может быть выполнен с возможностью осуществления связи с внешними устройствами, такими как устройства ввода (например, клавиатура, манипулятор мышь, перо, устройство голосового ввода, устройство сенсорного ввода, и т.д.) или другие периферийные устройства (например, печатающее устройство, сканирующее устройство, и т.д.), через один или несколько портов 458 ввода/вывода. Иллюстративное устройство 446 связи включает в себя сетевое устройство 460 управления, которое может быть выполнено с возможностью обеспечения связи с одним или несколькими другими вычислительными устройствами 462 по сетевому каналу связи через один или несколько портов 464 связи. Эти одно или несколько других вычислительных устройств 462 могут включать в себя обслуживающие узлы, клиентские устройства, и сопоставимые устройства.
[0028]
Сетевой канал связи может быть одним из примеров сред связи. Среды связи, как правило, могут воплощаться машиночитаемыми инструкциями, структурами данных, программными модулями или другими данными в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и могут включать в себя любые среды доставки информации. "Модулированный сигнал данных" может быть сигналом, у которого одна или несколько его характеристик установлены или изменены таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, среды связи могут включать в себя проводные среды, такие как проводная сеть или прямое проводное соединение, и беспроводные среды, такие как акустические, радиочастотные (РЧ), микроволновые, инфракрасные (ИК) и другие беспроводные среды. Термин машиночитаемые носители, как используется в данном документе, может включать в себя как информационные носители, так и среды связи.
[0029]
Вычислительное устройство 400 может быть реализовано как часть сервера общего или специального назначения, универсального компьютера или подобного компьютера, который включает в себя любую из вышеупомянутых функций. Вычислительное устройство 400 также может быть реализовано как персональный компьютер, включающий в себя как дорожный компьютер, так и конфигурации, отличные от дорожного компьютера.
[0030]
Иллюстративные варианты осуществления также могут включать в себя способы для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований. Эти способы могут быть реализованы как угодно, в том числе структурами, описанными в данном документе. Одним из вариантов могут быть машинные операции, на устройствах, подобных описанным в настоящем раскрытии изобретения. Некоторые другие варианты могут иметь место для одной или нескольких отдельных операций способов, которые должны выполняться совместно с одним или более людьми-операторами, выполняющими некоторые из операций, тогда как другие операции могут выполняться машинами. Эти люди-операторы не должны располагаться по соседству друг с другом, а каждый может работать только с машиной, которая выполняет часть программы. В других вариантах осуществления взаимодействие между людьми может быть автоматизировано, например, согласно предварительно выбранным критериям, что может быть автоматизировано машиной.
[0031]
Фиг. 5 изображает логическую блок-схему последовательности операций для процесса 500 способа для выполнения проверки нажатия, чтобы определить разрешение на одно или несколько непосредственных манипулирований в ответ на пользовательское действие, в соответствии с вариантами осуществления. Процесс 500 может быть реализован на сервере или в другой системе.
[0032]
Процесс 500 начинается с операции 510, при этом приложение может быть выполнено с возможностью обнаружения пользовательского действия через пользовательский интерфейс, соотнесенный с приложением. Пользовательское действие может включать в себя сенсорный ввод, в том числе действие касания и прокрутки, ввод с помощью жестов, ввод с помощью пера, ввод с помощью манипулятора мышь и/или ввод с клавиатуры, например. Если приложение включает в себя, по меньшей мере, один SCL, модуль обработки SCL приложения может выполняться с возможностью выполнения сквозной обработки каждого SCL.
[0033]
В ходе операции 520 может быть идентифицировано нажатие в ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей SCL во время сквозной обработки. Пиксели могут быть непрозрачными пикселями, которые соответствуют объекту, соотнесенному с пользовательским действием, такому как элемент управления, текстовый элемент и/или графический элемент приложения, отображаемому в пользовательском интерфейсе. По меньшей мере, частично, если не целиком, объект может быть расположен в области в пользовательском интерфейсе, близкой к пользовательскому действию.
[0034]
Тогда, в ходе операции 530, приложение может быть выполнено с возможностью определения, разрешено ли непосредственное манипулирование объектом через приложение со стороны SCL в ответ на нажатие. SCL является слоем приложения, в котором может быть немедленно принято решение относительно разрешения на непосредственное манипулирование объектом через приложение. Для каждого SCL могут быть заданы один или несколько типов непосредственного манипулирования, и для каждого типа непосредственного манипулирования может быть дополнительно задано, разрешено или заблокировано непосредственное манипулирование со стороны SCL. Тип непосредственного манипулирования может определяться на основе поведения объекта относительно пользовательского действия и может включать в себя панорамирование, изменение масштаба изображения и выбор объекта, наряду с другими примерами.
[0035]
В ходе операции 540 может быть автоматически инициировано непосредственное манипулирование объектом через приложение, если непосредственное манипулирование объектом через приложение разрешено со стороны SCL. Иначе, если непосредственное манипулирование объектом через приложение не разрешено со стороны SCL, непосредственное манипулирование объектом через приложение может быть заблокировано.
[0036]
Операции, включенные в процесс 500, приведены в целях иллюстрации. Проведение проверки нажатия, чтобы определить разрешение на непосредственные манипулирования в ответ на пользовательское действие, может быть реализовано аналогичными процессами с меньшим количеством или с дополнительными этапами, а также с другим порядком операций, используя описанные в данном документе принципы.
[0037]
В соответствии с некоторыми вариантами осуществления, предоставляется способ для выполнения проверки нажатия. Способ может включать в себя средство для обнаружения пользовательского действия через пользовательский интерфейс, ассоциированный с приложением, средство для идентификации нажатия в ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL приложения, средство для определения того, разрешено ли непосредственное манипулирование объектом через приложение, по меньшей мере, одним SCL, в ответ на нажатие, и средство для автоматического инициирования непосредственного манипулирования объектом через приложение, если непосредственное манипулирование объектом через приложение разрешено, по меньшей мере, одним SCL.
[0038]
Согласно некоторым примерам, предоставляются способы для выполнения проверки нажатия. Иллюстративный способ может включать в себя этапы, на которых обнаруживают пользовательское действие через пользовательский интерфейс, ассоциированный с приложением, и идентифицируют нажатие в ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL приложения. Иллюстративный способ также может включать в себя этапы, на которых определяют, разрешено ли непосредственное манипулирование объектом через приложение, по меньшей мере, одним SCL, в ответ на нажатие, и автоматически инициируют непосредственное манипулирование объектом через приложение, если непосредственное манипулирование объектом через приложение разрешено, по меньшей мере, одним SCL.
[0039]
В других примерах непосредственное манипулирование может быть заблокировано, если непосредственное манипулирование объектом через приложение не разрешено, по меньшей мере, одним SCL. В ответ на обнаружение пользовательского действия через пользовательский интерфейс, соотнесенный с приложением, может быть определено, включает ли в себя приложение, по меньшей мере, один SCL. Сквозная обработка, по меньшей мере, одного SCL приложения может выполняться в модуле обработки SCL приложения, чтобы обнаружить пересечение пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL. Может быть определено, выполнять ли сквозную обработку, основываясь на содержимом текстуры области в пользовательском интерфейсе, близкой к пользовательскому действию.
[0040]
В дополнительных примерах для каждого SCL могут быть заданы один или несколько типов непосредственного манипулирования. Для каждого типа непосредственного манипулирования может быть дополнительно задано, разрешено или заблокировано непосредственное манипулирование со стороны SCL, в ответ на нажатие. Пользовательское действие может включать в себя сенсорный ввод, ввод с помощью жестов, ввод с помощью манипулятора мышь, ввод с помощью пера, ввод с помощью отслеживания движения глаз, ввод голосовых команд, гироскопический ввод и/или ввод с клавиатуры.
[0041]
Согласно другим примерам, могут быть описаны вычислительные устройства для выполнения проверки нажатия. Иллюстративное вычислительное устройство может включать в себя память, выполненную с возможностью хранения инструкций, и процессор, соединенный с памятью, причем процессор исполняет приложение, содержащее один или несколько SCL, и вызывает представление пользовательского интерфейса, ассоциированного с приложением. Приложение может быть выполнено с возможностью обнаружения пользовательского действия через пользовательский интерфейс, ассоциированный с приложением, и идентификации нажатия в ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного из SCL. Приложение также может быть выполнено с возможностью определения, разрешено ли непосредственное манипулирование объектом через приложение, по меньшей мере, одним SCL, в ответ на нажатие, и автоматического инициирования непосредственного манипулирования объектом через приложение, если, по меньшей мере, один SCL разрешает непосредственное манипулирование объектом через приложение.
[0042]
В других вариантах осуществления один или несколько пикселей, по меньшей мере, одного SCL могут быть непрозрачными. Один или несколько пикселей, по меньшей мере, одного SCL могут соответствовать объекту, отображаемому в пользовательском интерфейсе, ассоциированном с приложением. По меньшей мере, часть объекта может быть расположена в области в пользовательском интерфейсе, близкой к пользовательскому действию. Тип непосредственного манипулирования может определяться на основе поведения объекта относительно пользовательского действия, при этом тип непосредственного манипулирования включает в себя панорамирование, изменение масштаба изображения и/или выбор.
[0043]
В дополнительных вариантах осуществления количество SCL может зависеть от типа приложения, причем приложение представляет собой одно или более из следующего: приложение текстового редактора, приложение электронной таблицы и приложение для презентаций. Пользовательский интерфейс, соотнесенный с приложением, может быть представлен пользователю посредством устройства отображения клиентского устройства при исполнении приложения на клиентском устройстве.
[0044]
Согласно некоторым примерам, могут быть описаны машиночитаемые запоминающие устройства с сохраненными на них инструкциями для выполнения проверки нажатия. Иллюстративные инструкции могут включать в себя обнаружение пользовательского действия через пользовательский интерфейс приложения и идентификацию нажатия в ответ на обнаружение пересечения пользовательского действия и одного или нескольких пикселей, по меньшей мере, одного SCL. Иллюстративные инструкции также могут включать в себя определение того, разрешено ли непосредственное манипулирование объектом через приложение, по меньшей мере, одним SCL, в ответ на нажатие, и автоматическое инициирование непосредственного манипулирования объектом через приложение, если непосредственное манипулирование объектом через приложение разрешено, по меньшей мере, одним SCL, или блокирование непосредственного манипулирования, если непосредственное манипулирование объектом через приложение не разрешено, по меньшей мере, одним SCL.
[0045]
В других примерах для каждого SCL могут быть заданы один или несколько типов непосредственного манипулирования. Для каждого типа непосредственного манипулирования может быть задано, разрешено или заблокировано непосредственное манипулирование со стороны SCL, в ответ на нажатие.
[0046]
Вышеприведенные описание изобретения, примеры и данные обеспечивают полное описание изготовления и использования композиции вариантов осуществления. Хотя объект изобретения и был описан языком, характерным для структурных признаков и/или методологических шагов, следует понимать, что объем изобретения, определяемый в прилагаемой формуле изобретения, не обязательно ограничивается конкретными признаками или шагами, описанными выше. Скорее, описанные выше конкретные признаки и шаги раскрыты в качестве иллюстративных форм реализации формулы изобретения и вариантов осуществления.