КОМПЬЮТЕРНАЯ СИСТЕМА С ВИЗУАЛЬНЫМ БУФЕРОМ ОБМЕНА
COMPUTER SYSTEM WITH VISUAL EXCHANGE BUFFER

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
В компьютерах и других электронных устройствах существуют различные способы копирования, вставки и перемещения элементов. Например, механизм простого буфера обмена для копирования и вставки текста и других элементов использовался в персональных компьютерах в течение достаточно долгого времени. Хотя были разработаны различные улучшения, текущие решения для буфера обмена часто ограничены с точки зрения гибкости и простоты использования. Кроме того, многие из существующих решений не пользуются соответствующим преимуществом усовершенствованной интерактивности, которая предлагается через сенсорные дисплеи и другие современные механизмы интерфейса.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В соответствии с этим, настоящее описание обеспечивает систему визуального буфера обмена и способ, в которых отображаемый объект помещается в визуальный буфер обмена в ответ на операцию перетаскивания и отпускания, примененную к отображаемому объекту. После окончания операции в предопределенной области буфера обмена визуально измененный вариант отображаемого объекта формируется и помещается в предопределенную область буфера обмена. Визуально измененный вариант отображаемого объекта сохраняется в предопределенной области буфера обмена, пока он не будет удален в ответ на другую операцию перетаскивания и отпускания. В частности, в ответ на такую операцию, которая заканчивается за пределами предопределенной области буфера обмена, первоначальный вид отображаемого объекта восстанавливается, и отображаемый объект помещается в целевое местоположение.
Это описание сущности изобретения дано для того, чтобы в упрощенной форме представить подборку концепций, которые далее описаны в подробном описании. Это описание сущности изобретения не предназначено для выявления ключевых признаков или основных признаков заявленного изобретения, а также не предназначено для использования в качестве ограничения объема заявленного изобретения. Кроме того, заявленное изобретение не ограничено реализациями, которые устраняют какие-либо или все недостатки, отмеченные в любой части этого раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - изображение иллюстративного электронного устройства, использующего функциональность визуального буфера обмена согласно настоящему описанию. Фигура также изображает иллюстративное размещение выбранного объекта в визуальном буфере обмена, с тем чтобы поместить в буфер обмена копию объекта в прикрепленном состоянии.
Фиг.2 изображает иллюстративное удаление (например, копирование или перемещение) копии выбранного объекта из визуального буфера обмена относительно визуального буфера обмена и выбранного объекта, показанных на фиг.1.
Фиг.3 изображает иллюстративное устройство и визуальный буфер обмена, показанные на фиг.1 и 2, как использующиеся с несколькими объектами, которые могут быть выборочно помещены в визуальный буфер обмена и удалены из него в операциях копирования.
Фиг.4 - иллюстративное вычислительное устройство, которое может использоваться совместно или обеспечить функциональность визуального буфера обмена настоящего описания.
Фиг.5 изображает иллюстративный способ визуального буфера обмена.
ПОДРОБНОЕ ОПИСАНИЕ
Настоящее раскрытие имеет отношение к визуальному буферу обмена для обеспечения возможности операций копирования, вставки и/или перемещения в электронном устройстве. Все эти операции включают в себя копирование элемента, хотя иногда они могут упоминаться как операции "перемещения" или "вставки" без конкретной ссылки на этап копирования, который обеспечивает возможность окончательного перемещения или вставки элемента в новое местоположение.
Фиг.1-3 изображают иллюстративное электронное устройство 10, с которым может использоваться визуальный буфер обмена. Устройство 10 включает в себя два экрана 12 и 14 дисплея, которые могут быть физически и/или виртуально разделены промежуточным разделителем 16. В некоторых вариантах осуществления разделитель 16 реализован с возможностью включать в себя шарнир для сгиба, который позволяет складывать два экрана друг c другом, тем самым придавая устройству форм-фактор ноутбука. Дополнительные примеры таких устройств могут быть найдены в патентной заявке США № 12/410303, озаглавленной «Dual Screen Portable Touch Sensitive Computing System» ("Переносная компьютерная система с двойным сенсорным экраном") и № 12/410311, озаглавленной «Bimodal Touch Sensitive Digital Notebook» ("Цифровой ноутбук с двухрежимным сенсорным экраном"), обе из которых поданы 24 марта 2009 года и описания которых включены в настоящий документ по ссылке во всей их полноте и во всех целях. Различные примеры буфера обмена будут описаны в контексте устройства 10, хотя легко понять, что описанная функциональность буфера обмена может использоваться с множеством устройств других типов и форм-факторов.
Фиг.1 иллюстрирует помещение объекта 20 в визуальный буфер 22 обмена, который в настоящем примере представляет собой предопределенную граничную область или область, заданную вблизи и на противоположных сторонах разделителя 16. Объект 20 может иметь фактически любой тип или формат или визуальное представление, в том числе фотографию или другое изображение, файл, значок, текст, аудиоклип, видеоклип, группу элементов и т.д.
Объект 20 помещается в визуальный буфер 22 обмена в ответ на пользовательский ввод данных. В настоящем примере экраны 12 и 14 дисплея являются сенсорно-интерактивными. В соответствии с этим один способ помещения объекта в буфер 22 обмена включает в себя перемещение объекта через жест G1 "перетащить и отпустить" сенсорного экрана, примененный пользователем U. В частности, объект может быть перетащен с помощью пальца пользователя из его первоначального местоположения и отпущен в местоположении в области визуального буфера 22 обмена. Инициирование операции может дополнительно включать в себя касание, удерживание или выполнение некоторого другого действия для помещения объекта в "доступное для редактирования" состояние, позволяющее перемещать его или иным образом манипулировать им/редактировать его. В любом случае после переноса объекта в область буфера обмена пользователь отпускает объект, тем самым обуславливая помещение объекта в буфер обмена. В качестве альтернативы может быть использован пункт меню, кнопка, жест мыши или другое средство приведения в действие или интерактивный механизм, чтобы поместить выбранный объект в визуальный буфер обмена.
В некоторых случаях может быть желательно обеспечить визуальную индикацию того, что данный объект содержится в визуальном буфере обмена. На фиг.1, например, объект 20 повернут и показан в уменьшенном размере для индикации того, что объект "всунут" или "прикреплен" (то есть, помещен) в буфер обмена. Дополнительно или в качестве альтернативы, статус элемента как находящегося в буфере обмена может быть обозначен через цвет, специально назначенный значок, затемнение, прозрачное представление или любую другую подходящую индикацию.
Кроме того, пользователю может быть предоставлена индикация того, что заданный объект пригоден или готов для помещения в буфер обмена. Например, после достижения области буфера обмена, но до отпускания пальцем пользователя, объект может повернуться, изменить цвет, дрожать/вибрировать и/или может быть обеспечена некоторая другая индикация, чтобы указать, что отпускание объекта приведет к его помещению в буфер обмена. Кроме того, доступность буфера обмена может зависеть от удерживания объекта в области буфера обмена некоторое количество времени (например, 2 секунды), прежде чем буфер обмена будет активирован для разрешения прикрепления объекта.
Область, содержащая визуальный буфер обмена, может быть задана и сконфигурирована различными способами. Область может быть помещена смежно на обеих противоположных сторонах разделителя двойного экрана, как в примере на фиг.1-3. При этом размещении значок или изображение, представляющие прикрепленный элемент, могут быть частично видимыми на обоих экранах 12 и 14 дисплея. В качестве альтернативы, область буфера обмена может быть размещена в других пограничных областях экрана или на любой другой видимой части экрана дисплея.
Существуют различные возможности для индикации наличия функциональности буфера обмена пользователю. В одном примере область буфера обмена задана в области, но область визуально не обозначена на дисплее (или по меньшей мере до тех пор, пока область не используется для функций буфера обмена). Например, визуальный буфер 22 обмена на фиг.1-3 задан областью между вертикальными пунктирными линиями с каждой стороны от разделителя 16, однако область явно не показана или иным образом визуально обрисована пользователю. Однако наличие области известно пользователю (например, через учебные руководства или другие сообщения о характеристиках продукта), и ее существование и общая форма/конфигурация могут быть различимы, когда объекты вводятся в область, например, посредством перетаскивания или других операций перемещения. В качестве альтернативы, границы области могут быть явно обозначены пользователю. В одном примере явное указание не обеспечивается, пока объект не оказывается в области буфера обмена или вблизи нее. В других примерах, границы области визуально обрисованы пользователю независимо от того, находятся ли объекты в буфере обмена или рядом с ним или нет.
Фиг.2 иллюстрирует удаление объекта 20 из визуального буфера 22 обмена. Как указано ранее, функциональность прикрепления может быть выполнена таким образом, чтобы прикрепленный объект частично появлялся с обеих сторон разделителя 16 и, таким образом, был доступен с любого экрана 12 или 14. В иллюстративной операции открепления на фиг.2 к прикрепленному объекту 20 осуществляют доступ через другой жест G2 "перетащить и отпустить" сенсорного экрана, примененный пользователем U. В этом примере жест применен к части визуального буфера 22 обмена, расположенной на экране 12 слева от разделителя 16. В соответствии с этим будет понятно, что может быть выполнена операция копирования/перемещения, в котором исходным местоположением является один из экранов дисплея, и целевое местоположение находится на другом экране дисплея. В любом случае может использоваться дополнительный жест или операция для получения объекта из буфера обмена. Например, пользователю может потребоваться держать свой палец на прикрепленном объекте в течение предопределенного интервала времени до возможности перетащить/удалить объект из буфера обмена. Во время перемещения в желаемое место назначения объект 20 может оставаться в своем уменьшенном, повернутом состоянии, например, пока он не будет отпущен в своем желаемом местоположении. После помещения в желаемом местоположении объект может оставаться в доступном для редактирования состоянии, например, пока пользователь не "коснется" объекта или иным образом не заставит объект перейти в недоступное для редактирования состояние.
Кроме того, как будет понятно из примера по фиг.2, открепление объекта также может включать в себя восстановление объекта к его первоначальному внешнему виду. В конкретном примере на фиг.2 объект 20 возвращен к своему первоначальному размеру и ориентации, после того как операция перетаскивания и отпускания заставила его поместиться в желаемое целевое местоположение.
Во время операций прикрепления или открепления может использоваться дифференциация для предоставления пользователю возможности выборочно выбрать разные операции буфера обмена. Например, в двухрежимной интерактивной системе один режим может использоваться для обеспечения операции копирования, в то время как другой режим обеспечивает операцию перемещения. В частности, при операции открепления по фиг.2 доступ к прикрепленному элементу с помощью пера или перьевого устройства может произвести копию объекта для расположения в новом местоположении, в то время как доступ с помощью пальца пользователя может привести к операции перемещения (то есть, без оставления копии в буфере обмена).
Как показано на фиг.3, визуальный буфер 22 обмена может использоваться для обеспечения функциональности копирования/вставки и/или перемещения для нескольких объектов 20 (то есть, объектов 20a, 20b и т.д.). Когда в буфер обмена помещено несколько объектов, могут использоваться различные способы для размещения объектов в буфере обмена относительно друг друга и других частей экрана или экранов дисплея. Например, процедуры размещения могут использоваться для учета всех или некоторых из следующих критериев/факторов:
- Намерение пользователя: то есть процедура (процедуры) может использоваться, чтобы попытаться сохранить объект прикрепленным в том расположении, куда он был помещен пользователем.
- Пространственное распределение: то есть процедуры могут использоваться, чтобы достичь универсальной формы или других пространственных распределений нескольких объектов, помещенных в буфер обмена.
- Размещение/расположение может быть обусловлено тем, когда объекты были прикреплены, типом объекта, именем файла, датой объекта и т.д.
- Доступность: то есть установка размеров и расположение объектов для обеспечения доступа через прикосновение пальцем или другие средства.
В дополнение к описанным выше эффектам и преимуществам описанный визуальный буфер обмена может предоставлять следующие эффекты и преимущества в зависимости от особенностей заданной реализации:
- Возможность копировать и вставлять и перемещать несколько объектов через сенсорные жесты. В частности, функциональность с несколькими объектами может быть обеспечена посредством поддержания аспектов отображения объектов при помещении в "прикрепленном" состоянии в визуальном буфере обмена. В соответствии с этим, когда несколько объектов прикрепляются в буфере обмена, пользователь может легче выбрать желаемый объект для извлечения.
- Возможность перетащить объекты в место удержания и из него на экране.
- Возможность перенести объекты с одного экрана на другой через экранное местоположение удержания.
- Возможность перемещать объекты в область "корешка" двойного отображения на экране и удерживать объекты там для более позднего использования. Например, устройство с форм-фактором ноутбука может использовать такую область "корешка". Прикрепленные элементы могут быть сохранены около области "корешка", в то время как пользователь перемещается по множеству страниц, чтобы найти желаемую целевую страницу, на которую можно поместить один из прикрепленных элементов. После обнаружения желаемой целевой страницы и отображения ее на одном из экранов желаемый прикрепленный элемент может быть извлечен и помещен в желаемое местоположение на новом отображенном экране. В этом примере возможность переместить один или более элементов в новые "удаленные" исходные местоположения расширена при помощи описанного визуального буфера обмена.
Кроме того, прикрепленные объекты обычно сохраняются в предопределенной области буфера обмена во время навигации или другой модификации в отношении контента, отображаемого на одном или более смежных экранах дисплея. В частности, команды навигации пользователя могут использоваться в изображенном устройстве с форм-фактором ноутбука, чтобы пройти через последовательность страниц контента. Это перелистывание страниц контента может произойти для того, чтобы пользователь выбрал желаемое целевое местоположение (например, страницу) для размещения копии объекта, который был помещен в буфер обмена.
На основе описанного выше можно понять, что настоящее раскрытие также охватывает визуальный способ буфера обмена. В некоторых случаях, как показано в примере на фиг.4, такой способ может использоваться совместно с исполнением интерфейсных команд 46, сохраненных в подсистеме 44 хранения данных вычислительного устройства 40. В таком случае процессор или другая логическая подсистема 42 может использоваться совместно с исполнением команд для выполнения операций копирования/перемещения элементов, отображаемых на подсистеме 48 отображения. Следует понимать, что вычислительное устройство 40 является обобщенным примером устройства, которое может использовать описанную здесь функциональность визуального буфера обмена, и в конкретных реализациях устройство может включать в себя различные признаки примеров, описанных в отношении фиг.1-3.
При включении в настоящие примеры логическая подсистема (например, логическая подсистема 42) может включать в себя одно или более физических устройств, выполненных с возможностью исполнять одну или более команд. Например, логическая подсистема может быть выполнена с возможностью исполнять одну или более команд, которые являются частью одной или более программ, процедур, объектов, компонентов, структур данных или других логических конструкций. Такие команды могут быть реализованы для выполнения задачи, реализации типа данных, преобразования состояния одного или более устройств или достижения иного требуемого результата. Логическая подсистема может включать в себя один или более процессоров, которые выполнены с возможностью исполнять команды программного обеспечения. Дополнительно или в качестве альтернативы логическая подсистема может включать в себя одно или более аппаратных средств или машин логической схемы программируемого оборудования (firmware), выполненных с возможностью исполнять команды аппаратных средств или программируемого оборудования. Логическая подсистема может дополнительно включать в себя отдельные компоненты, которые распределены по двум или более устройствам, которые могут быть расположены удаленно, в некоторых вариантах осуществления.
При включении в настоящие примеры подсистема хранения данных (например, подсистема 44 хранения данных) может включать в себя одно или более физических устройств, выполненных с возможностью содержать данные и/или команды, исполняемые логической подсистемой, для реализации описанных здесь способов и процессов. Когда такие способы и процессы реализуются, состояние подсистемы хранения данных может быть преобразовано (например, чтобы содержать другие данные). Подсистема хранения данных может включать в себя съемные устройства хранения данных и/или встроенные устройства. Подсистема хранения данных среди других может включать в себя устройства оптической памяти, устройства полупроводниковой памяти и/или устройства магнитной памяти. Подсистема хранения данных может включать в себя устройства с одним или более следующими характеристиками: энергозависимые, энергонезависимые, динамические, статические, для чтения-записи, только для чтения, с произвольным доступом, с последовательным доступом, с адресацией по местоположению, с адресацией файлов и с ассоциативной адресацией. В некоторых вариантах осуществления логическая подсистема и подсистема хранения данных могут быть интегрированы в одно или более общих устройств, таких как специализированная интегральная схема или система на микросхеме. Подсистема хранения данных также может быть в форме машиночитаемых съемных носителей, которые могут использоваться для хранения и/или передачи данных и/или исполняемых команд для реализации описанных здесь способов и процессов.
При включении в настоящие примеры подсистема отображения (например, подсистема 48 отображения) может использоваться для визуального представления данных, хранимых подсистемой хранения данных. Поскольку описанные здесь способы и процессы изменяют данные, хранимые подсистемой хранения данных, и, таким образом, преобразовывают состояние подсистемы хранения данных, состояние подсистемы отображения может быть аналогичным образом преобразовано для визуального представления изменений в лежащих в основе данных. Подсистема отображения может включать в себя одно или более устройств отображения, использующих технологию фактически любого типа. Такие устройства отображения могут быть объединены с логической подсистемой (например, логической подсистемой 42) и/или подсистемой хранения данных (например, подсистемой 44 хранения данных) в совместно используемом корпусе, или такие устройства отображения могут представлять собой периферийные устройства отображения.
Фиг.5 изображает иллюстративный способ 60, который может использоваться для обеспечения функциональности визуального буфера обмена. В контексте объекта, который отображен на экране дисплея, способ может сначала включать в себя определение того, доступен ли объект для редактирования и, таким образом, может быть скопирован, перемещен и т.д., как показано на этапе 62. Как обсуждалось ранее, объект может быть сделан доступным для редактирования посредством различных действий. Один пример включает в себя касание или иной выбор отображаемого объекта пользователем. Затем, как показано на этапе 64, может быть принят пользовательский ввод данных в форме операции перетаскивания и отпускания, такой как жест на сенсорном экране. Если операция перетаскивания и отпускания заканчивается в пределах области буфера обмена (например, предопределенной граничной области экрана дисплея), то визуально измененный вариант объекта отображения формируется и располагается в пределах буфера обмена, как показано на этапе 66. Как обсуждалось выше, модификация может включать в себя вращение, изменение размера, затемнение, прозрачное появление, специальное подкрашивание и т.д. Однако в общем случае часто будет желательно, чтобы измененный вариант был подобен во многих отношениях оригиналу (например, аналогичная форма и другие характеристики). Это может быть особенно полезно в реализациях, в которых в области буфера обмена "прикрепляются" несколько элементов. Поддерживаемые аспекты первоначального вида объекта могут обеспечить пользователю выбор правильного желаемого объекта, когда присутствуют несколько объектов.
Далее в иллюстративном способе 60 этап 68 иллюстрирует пример того, как операция копирования/перемещения завершается посредством удаления прикрепленного элемента из области буфера обмена. В частности, в ответ на операцию перетаскивания и отпускания, примененную к прикрепленному элементу (то есть, к измененному варианту отображенного объекта, который расположен в буфере обмена), и которая заканчивается вне области буфера обмена, прикрепленный элемент восстанавливается к его первоначальному неизмененному виду и помещается в целевое местоположение. Как правило, целевое местоположение определено там, где заканчивается жест открепления (например, где пользователь поднимает/отпускает свой палец, чтобы "отпустить" манипулируемый элемент).
Следует понимать, что описанные здесь конфигурации и/или подходы являются иллюстративными по природе, и что эти конкретные варианты осуществления или примеры нельзя рассматривать в ограничивающем смысле, поскольку возможны многочисленные вариации. Конкретные описанные здесь процедуры или способы могут представлять одну или более стратегий обработки. Таким образом, различные проиллюстрированные действия могут быть совершены в проиллюстрированной последовательности, в других последовательностях, параллельно или в некоторых случаях опущены. Аналогичным образом, порядок описанных выше процессов может быть изменен.
Предмет настоящего раскрытия включает в себя все новые и неочевидные комбинации и подкомбинации различных процессов, систем и конфигураций и других признаков, функций, действий и/или свойств, раскрытых здесь, а также любые и все их эквиваленты.