RU2365979C2 - Input and reproduction of electronic ink - Google Patents
Input and reproduction of electronic ink Download PDFInfo
- Publication number
- RU2365979C2 RU2365979C2 RU2004117853/09A RU2004117853A RU2365979C2 RU 2365979 C2 RU2365979 C2 RU 2365979C2 RU 2004117853/09 A RU2004117853/09 A RU 2004117853/09A RU 2004117853 A RU2004117853 A RU 2004117853A RU 2365979 C2 RU2365979 C2 RU 2365979C2
- Authority
- RU
- Russia
- Prior art keywords
- ink
- electronic ink
- objects
- event
- computer
- Prior art date
Links
Images
Landscapes
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION
Аспекты настоящего изобретения относятся к вводу и воспроизведению информации. Более конкретно, аспекты настоящего изобретения относятся к вводу и воспроизведению электронных чернил.Aspects of the present invention relate to the input and reproduction of information. More specifically, aspects of the present invention relate to the administration and reproduction of electronic ink.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ, СВЯЗАННОГО С ИЗОБРЕТЕНИЕМDESCRIPTION OF THE BACKGROUND OF THE INVENTION RELATED TO THE INVENTION
Люди часто больше полагаются на графические представления информации, чем на ее текстовые представления. Они скорее посмотрят на иллюстрацию, чем на фрагмент текста, который может быть эквивалентен иллюстрации. Например, домовладелец может вырезать из журналов иллюстрации, чтобы в точности показать подрядчику, чего он ждет от ремонта кухни или ванной. Описание в текстовой форме того же самого материала часто не достигает своей цели. Инструмент, которым может пользоваться домовладелец, не более сложен, чем пара ножниц.People often rely more on graphical representations of information than on textual representations. They would rather look at an illustration than a piece of text that might be equivalent to an illustration. For example, a homeowner can cut illustrations from magazines to show the contractor exactly what he expects from a kitchen or bathroom renovation. The textual description of the same material often does not achieve its purpose. The tool a homeowner can use is no more complicated than a pair of scissors.
Однако в мире, построенном на вычислениях, попытки зафиксировать и передать идентичный контент (информационно значимое содержимое) доставляют много неудобств. Типичные компьютерные системы не предоставляют простой интерфейс для фиксации и передачи графически интенсивного контента. Скорее они оптимизированы для ввода и воспроизведения текста. Например, типичные компьютерные системы, особенно компьютерные системы, использующие системы графического пользовательского интерфейса (ГПИ, GUI), такие как Microsoft WINDOWS, оптимизированы для приема вводимой пользователем информации через одно или более дискретных устройств ввода, таких как клавиатура для ввода текста, и координатно-указательное устройство, такое как мышь с одной или более кнопками для управления пользовательским интерфейсом.However, in a world built on computing, attempts to capture and transmit identical content (informationally meaningful content) cause a lot of inconvenience. Typical computer systems do not provide a simple interface for capturing and transmitting graphically intensive content. Rather, they are optimized for text input and playback. For example, typical computer systems, especially computer systems using graphical user interface (GUI) systems such as Microsoft WINDOWS, are optimized for receiving user input through one or more discrete input devices, such as a keyboard for entering text, and coordinate pointing device, such as a mouse with one or more buttons, to control the user interface.
Некоторые вычислительные системы расширили системы ввода и взаимодействия, предлагаемые пользователю, предоставив ему возможность использовать для ввода информации в эти системы перо. Перо может заменить оба устройства: как клавиатуру (для ввода данных), так и мышь (для управления). Некоторые вычислительные системы принимают рукописную электронную информацию или электронные чернила и немедленно пытаются преобразовать электронные чернила в текст. Другие системы позволяют электронным чернилам сохранять рукописную форму.Some computing systems have expanded the input and interaction systems offered to the user, giving him the ability to use a pen to enter information into these systems. The pen can replace both devices: both the keyboard (for data entry) and the mouse (for control). Some computer systems accept handwritten electronic information or electronic ink and immediately try to convert electronic ink to text. Other systems allow electronic ink to be handwritten.
Несмотря на существование пера, различные подходы к объединению электронных чернил и типичного графического пользовательского интерфейса могут вызвать трудности у разработчиков сторонних приложений. Соответственно, в данной технической области имеется потребность в улучшенной системе ввода и воспроизведения электронных чернил, дружественной по отношению к сторонним разработчикам программного обеспечения.Despite the existence of the pen, various approaches to combining electronic ink and a typical graphical user interface can cause difficulties for third-party application developers. Accordingly, in this technical area there is a need for an improved electronic ink input and playback system that is friendly to third-party software developers.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
Аспекты настоящего изобретения относятся к одному или более вопросам, упомянутым выше, и тем самым обеспечивают более качественный ввод и воспроизведение контента для использования сторонними разработчиками программного обеспечения. В некоторых вариантах осуществления изобретения элемент ввода и воспроизведения электронных чернил может быть представлен в виде объекта, являющегося частью структуры, в которой каждый элемент в интерфейсе может быть определен по глубине (или z-очередности). В некоторых случаях объект может воспроизвести различные элементы в интерфейсе в определенной для них z-очередности и затем воспроизвести чернила на самом верхнем слое. В других случаях чернила и другие элементы могут быть перемешаны между собой.Aspects of the present invention relate to one or more of the issues mentioned above, and thereby provide better input and playback of content for use by third-party software developers. In some embodiments of the invention, an electronic ink input and reproducing element can be represented as an object that is part of a structure in which each element in an interface can be determined by depth (or z-order). In some cases, an object can reproduce various elements in the interface in a z-order determined for them and then reproduce ink on the uppermost layer. In other cases, ink and other elements may be mixed together.
Эти и другие аспекты раскрываются в связи с фигурами и относящемуся к ним описанию.These and other aspects are disclosed in connection with the figures and the related description.
ПЕРЕЧЕНЬ ФИГУР ЧЕРТЕЖЕЙLIST OF DRAWINGS FIGURES
Настоящее изобретение проиллюстрировано с помощью примера и не ограничено прилагаемыми фигурами, на которых одинаковые цифры ссылок указывают на одинаковые элементы и где:The present invention is illustrated by way of example and is not limited to the accompanying figures, in which the same reference numerals indicate the same elements and where:
Фиг. 1 - компьютер общего назначения, поддерживающий один или более аспектов настоящего изобретения.FIG. 1 is a general purpose computer supporting one or more aspects of the present invention.
Фиг. 2 - дисплей системы ввода на базе пера, соответствующей аспектам настоящего изобретения.FIG. 2 is a display of a pen-based input system in accordance with aspects of the present invention.
Фиг. 3A и 3B - различные примеры интерфейсов и то, как производится упорядочение в каждом из них в соответствии с аспектами изобретения.FIG. 3A and 3B are various examples of interfaces and how ordering is done in each of them in accordance with aspects of the invention.
Фиг. 4 - чернила, наложенные на область в соответствии с аспектами настоящего изобретения.FIG. 4 illustrates ink superimposed on an area in accordance with aspects of the present invention.
Фиг. 5 - конструкторы и свойства объекта в соответствии с аспектами настоящего изобретения.FIG. 5 illustrates the constructors and properties of an object in accordance with aspects of the present invention.
Фиг. 6 - методы объекта в соответствии с аспектами настоящего изобретения.FIG. 6 shows object methods in accordance with aspects of the present invention.
Фиг. 7 - события объекта в соответствии с аспектами настоящего изобретения.FIG. 7 shows events of an object in accordance with aspects of the present invention.
Фиг. 8 - отношения соответствия с объектами и различными режимами согласно аспектам настоящего изобретения.FIG. 8 is a correspondence relationship with objects and various modes according to aspects of the present invention.
Фиг. 9A, 9B, 9C - разные степени усечения к области в соответствии с аспектами настоящего изобретения.FIG. 9A, 9B, 9C are different degrees of truncation to an area in accordance with aspects of the present invention.
ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION
Аспекты настоящего изобретения относятся к улучшенной системе ввода и воспроизведения электронных чернил.Aspects of the present invention relate to an improved electronic ink input and playback system.
Для помощи читателю данный документ разделен на разделы. Эти разделы включают в себя характеристики чернил, термины, вычислительную среду общего назначения; упорядочение объектов; конструкторы, свойства, методы и события объектов, отношения и усечение.This document is divided into sections to assist the reader. These sections include ink specifications, terms, general purpose computing environments; ordering of objects; constructors, properties, methods and events of objects, relationships and truncation.
Характеристики чернилInk specifications
Как известно пользователям, использующим чернильные ручки, физические чернила (те, что легли на бумагу в результате использования ручки, имеющей емкость для чернил) могут передать больше информации, чем просто последовательность координат, соединенную отрезками линии. Например, физические чернила могут отразить давление ручки (посредством толщины чернильного следа), угол наклона ручки (посредством формы линейных или криволинейных отрезков и поведения чернил вокруг отдельных точек) и скорость движения пера ручки (посредством прямолинейности, ширины линии и изменений ширины линии по ходу движения линии или кривой). Благодаря этим дополнительным свойствам такие характеристики, как эмоции, личностные особенности, выразительная манера и т.п., могут быть переданы более непосредственно, чем при одинаковой ширине линии между точками.As users who use ink pens know, physical ink (those that lay on paper as a result of using a pen with an ink tank) can convey more information than just a sequence of coordinates connected by line segments. For example, physical ink can reflect the pressure of the pen (through the thickness of the ink trail), the angle of the pen (through the shape of linear or curved lines, and the behavior of the ink around individual points) and the speed of the pen (through straightness, line width, and changes in line width in the direction of travel) line or curve). Thanks to these additional properties, such characteristics as emotions, personality traits, expressive manner, etc., can be transmitted more directly than with the same line width between the points.
Электронные чернила (или чернила) относятся к фиксации и отображению электронной информации при использовании пользователем устройства ввода на базе пера. Термин «электронные чернила» относится к последовательности штрихов, где каждый штрих составлен из последовательности точек. Точки могут быть представлены при помощи различных известных способов, включая декартовы координаты (X, Y), полярные координаты (r, T) и другие способы, известные в данной области техники. Электронные чернила могут включать в себя представления свойств реальных чернил, включая давление, угол, скорость, цвет, размер пера, непрозрачность. Электронные чернила могут помимо этого заключать в себе другие свойства, включая порядок, в котором чернила ложились на страницу (например, шаблон растра слева направо, затем вниз, характерный для большинства западных языков), временной ярлык (указывающий, когда были нанесены чернила), указание на автора чернильной записи и устройство, на котором она была сделана (по меньшей мере, одни из следующих идентификационных данных: идентификационные данные вычислительной машины, на которой чернильная запись была сделана, и идентификационные данные пера, использованного для нанесения чернил), а также прочую информацию.Electronic ink (or ink) refers to capturing and displaying electronic information when a user uses a pen-based input device. The term "electronic ink" refers to a sequence of strokes, where each stroke is composed of a sequence of dots. Points can be represented using various known methods, including Cartesian coordinates (X, Y), polar coordinates (r, T), and other methods known in the art. Electronic ink can include representations of the properties of real ink, including pressure, angle, speed, color, pen size, opacity. Electronic ink can also contain other properties, including the order in which ink was laid on the page (for example, a raster pattern from left to right, then down, typical of most Western languages), a time label (indicating when the ink was applied), an indication on the author of the ink recording and the device on which it was made (at least one of the following identification data: identification data of the computer on which the ink recording was made, and identification data e pen used for the ink application), as well as other information.
ТерминыTerms
Чернила - последовательность или совокупность штрихов, имеющих свойства. Последовательность штрихов может включать в себя штрихи, расположенные в упорядоченном виде. Эта последовательность может быть упорядочена по времени ввода или по тому, в каком месте страницы штрихи появились или, в ситуациях соавторства, по автору чернильной записи. Возможны и другие варианты упорядочивания. Совокупность штрихов может включать в себя последовательности штрихов, или неупорядоченные штрихи, или любую комбинацию. Кроме того, некоторые свойства могут быть уникальны для каждого штриха или точки на штрихе (например, давление, скорость, угол наклона ручки и т.п.). Эти свойства могут быть сохранены на уровне штриха или точки, а не на уровне чернил.Ink is a sequence or collection of strokes that have properties. The sequence of strokes may include strokes arranged in an ordered manner. This sequence can be sorted by input time or by where the strokes appeared on the page or, in co-authorship situations, by the author of the ink recording. Other ordering options are possible. A set of strokes may include strokes, or unordered strokes, or any combination. In addition, some properties may be unique for each stroke or point on the stroke (for example, pressure, speed, angle of the handle, etc.). These properties can be stored at the stroke or dot level, rather than at the ink level.
Объект «чернила» - структура данных, сохраняющая чернила вместе со свойствами или без них.An ink object is a data structure that stores ink with or without properties.
Штрих - последовательность или совокупность введенных точек. Например, при воспроизведении последовательность точек может быть соединена линиями. В качестве альтернативы штрих может быть представлен в виде точки и вектора, направленного к следующей точке. Короче говоря, подразумевается, что штрих заключает в себе любое представление точек или отрезков, связанных с чернилами, независимо от скрытого представления точек и/или того, что соединяет точки.Bar - a sequence or set of entered points. For example, during playback, a sequence of points can be connected by lines. Alternatively, the stroke can be represented as a point and a vector directed to the next point. In short, it is understood that the stroke encompasses any representation of the dots or segments associated with the ink, regardless of the latent representation of the dots and / or what connects the dots.
Точка - информация, определяющая положение в пространстве. Например, точки могут быть определены относительно пространства ввода (например, точки на поверхности цифрового преобразователя), виртуального пространства чернил (координаты в пространстве, куда помещаются зафиксированные чернила) и/или пространства отображения (точки или пиксели устройства отображения).Point - information that determines the position in space. For example, points can be defined relative to the input space (for example, points on the surface of a digital converter), the virtual ink space (coordinates in the space where the fixed ink is placed), and / or display spaces (points or pixels of the display device).
Элементы - объекты, расположенные в виде дерева, где их размещение на дереве служит их порядком.Elements - objects located in the form of a tree, where their placement on the tree serves as their order.
Вычислительная среда общего назначенияGeneral purpose computing environment
Фиг. 1 изображает схематическое представление иллюстративной обычной цифровой вычислительной среды общего назначения, которая может быть использована для реализации различных аспектов настоящего изобретения. На фиг. 1 компьютер 100 включает в себя процессор 110, системную память 120 и системную шину 130, которая соединяет различные компоненты системы, в том числе системную память, с процессором 110. Системная шина 130 может относиться к любому из нескольких типов структур шины, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующие любую из множества архитектур шины. Системная память 120 включает в себя постоянное запоминающее устройство (ПЗУ) 140 и оперативное запоминающее устройства (ОЗУ) 150.FIG. 1 is a schematic diagram of an illustrative conventional general purpose digital computing environment that can be used to implement various aspects of the present invention. In FIG. 1,
Базовая система ввода-вывода (BIOS), содержащая в себе базовые процедуры, которые способствуют передаче информации между элементами внутри компьютера 100, как, например, при запуске, хранится в ПЗУ 140. Компьютер 100 также содержит в себе накопитель 170 на жестких магнитных дисках для считывания с жесткого магнитного диска (на схеме не показан) и записи на него, дисковод 180 для магнитного диска для считывания со съемного магнитного диска 190 или записи на него и дисковод 191 для считывания со съемного оптического диска 192, такого как CD-ROM или другие оптические носители, и записи на него. Накопитель 170 на жестких магнитных дисках, дисковод 180 для магнитного диска и дисковод 191 для оптического диска соединены с системной шиной 130 посредством интерфейса 192 накопителя на жестких магнитных дисках, интерфейса 193 дисковода для магнитного диска и интерфейса 194 дисковода для оптического диска соответственно. Эти накопители и дисководы и соответствующие им машиночитаемые носители информации обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для персонального компьютера 100. Специалистам в данной области техники понятно, что другие типы машиночитаемых носителей информации, способных хранить данные, доступ к которым осуществляется компьютером, такие как кассеты с магнитной лентой, карточки Флэш-памяти, цифровые видео-диски, картриджи Бернулли, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ) и т.п., также могут быть использованы в этой иллюстративной операционной среде.The basic input / output system (BIOS), which contains the basic procedures that facilitate the transfer of information between elements within the
В накопителе 170 на жестких магнитных дисках, на магнитном диске 190, оптическом диске 192, в ПЗУ 140 или ОЗУ 150 может храниться некоторое количество программных модулей, включая операционную систему 195, одну или более прикладных программ 196, другие программные модули 197 и данные 198 программ. Пользователь может осуществлять ввод команд и информации в компьютер 100 посредством устройств ввода-вывода, таких как клавиатура 101 и указательное устройство 102. Другие устройства ввода (на схеме не показаны) могут включать в себя микрофон, джойстик, игровую панель, параболическую спутниковую антенну, сканер и т.п. Часто эти и другие устройства ввода соединены с процессором 110 посредством интерфейса последовательного порта 106, подсоединенного к системной шине, но могут быть соединены посредством других интерфейсов, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB) [в настоящее время, поскольку шина USB так популярна, вы, возможно, захотели бы изобразить шину USB на фиг. 1]. Кроме того, также эти устройства могут быть напрямую подсоединены к системной шине 130 через соответствующий интерфейс (на схеме не показан). Монитор 107 или другой тип устройства отображения также подсоединен к системной шине 130 через интерфейс, такой как видео-адаптер 108. В дополнение к монитору персональные компьютеры обычно включают в себя другие периферийные устройства вывода (на схеме не показаны), такие как громкоговорители и принтеры. В одном варианте осуществления для оцифровки рукописно вводимой информации предусмотрен цифровой преобразователь 165 с вводом от пишущего средства и связанное с ним пишущее средство или перо 166. Хотя на фиг. 1 показано прямое соединение между цифровым преобразователем 165 с вводом от пишущего средства и интерфейсом 106 последовательного порта, на практике цифровой преобразователь 165 с вводом от пишущего средства может быть подсоединен к процессору 110 напрямую, через параллельный порт или другой интерфейс и системную шину 130 любым способом, включая беспроводной. Также пишущее средство 166 может иметь связанную с ним камеру и приемопередающее устройство для беспроводной передачи видеоинформации, снятой камерой, на интерфейс, взаимодействующий с шиной 130. Далее, в дополнение к камере или вместо нее пишущее средство может иметь другие сенсорные системы для определения штрихов электронных чернил, включая акселерометры, магнитометры и гироскопы.In a
Кроме того, хотя цифровой преобразователь 165 показан отдельным от монитора 107, используемая область ввода цифрового преобразователя 165 может совпадать с областью отображения монитора 107. Более того, цифровой преобразователь 165 может быть объединен в одно целое с монитором 107 или может существовать в качестве отдельного устройства, наложенного на монитор 107 или иным образом прикрепленного к нему.In addition, although the
Компьютер 100 может функционировать в сетевой среде, используя логические соединения с одним или более удаленных компьютеров, например с удаленным компьютером 109. Удаленный компьютер 109 может быть сервером, маршрутизатором, сетевым персональным компьютером (ПК, PC), одноранговым устройством или другим узлом общей сети и обычно содержит многие или все элементы, описанные выше в отношении компьютера 100, хотя на фиг. 1 показано только запоминающее устройство 111. Логические соединения, изображенные на фиг. 1, включают в себя локальную сеть (LAN) 112 и глобальную сеть (WAN) 113. Такие сетевые среды часто используются в офисах, сетях масштаба предприятия, интрасетях и в сети Интернет.The
При использовании в сетевой среде LAN компьютер 100 соединен с локальной сетью 112 посредством сетевого интерфейса или адаптера 114. При использовании в сетевой среде WAN персональный компьютер 100 обычно содержит модем 115 или другие средства для установления связи через глобальную сеть 113, такую как Интернет. Модем 115, который может быть внутренним или внешним, подсоединен к системной шине 130 через интерфейс 106 последовательного порта. В сетевой среде программные модули, показанные как относящиеся к персональному компьютеру 100, или их части могут храниться в удаленном запоминающем устройстве. Кроме того, система может иметь возможности проводной и/или беспроводной связи. Например, сетевой интерфейс 114 может содержать соединительные возможности класса Bluetooth, SWLan и/или IEEE 802.11. Вполне очевидно, что другие протоколы беспроводной связи могут использоваться в сопряжении с этими протоколами или вместо этих протоколов.When used in a LAN network environment, the
Следует иметь в виду, что показанные сетевые соединения являются примерами и могут быть использованы и другие средства установления линии связи между компьютерами. Предполагается существование любого из различных широко известных протоколов, таких как TCP/IP (протокол управления передачей/интернет протокол), Ethernet, FTP, HTTP (протокол передачи гипертекста) и т.п., и система может функционировать в конфигурации «клиент-сервер», что позволяет пользователю запрашивать web-страницы с web-сервера. Для отображения и манипуляции данными на web-страницах может быть использован любой из различных общепринятых браузеров.It should be borne in mind that the network connections shown are examples and other means of establishing a communication link between computers can be used. It is assumed that any of various widely known protocols exists, such as TCP / IP (Transmission Control Protocol / Internet Protocol), Ethernet, FTP, HTTP (Hypertext Transfer Protocol), etc., and the system can operate in a client-server configuration that allows the user to request web pages from a web server. To display and manipulate data on web pages, any of various common browsers can be used.
Фиг. 2 изображает иллюстративный вариант планшетного персонального компьютера (Tablet PC) 201, который может быть использован в соответствии с различными аспектами настоящего изобретения. Любые или все из характеристик, подсистем и функций системы, изображенной на фиг. 1 могут быть включены в компьютер по фиг. 2. Планшетный персональный компьютер 201 включает в себя большую поверхность отображения 202, например оцифровывающий плоский панельный дисплей, предпочтительно экран жидкокристаллического дисплея (LCD), на котором отображается множество окон 203. Используя перо 204, пользователь может осуществлять выбор, выделение и/или запись на оцифровывающей отображающей поверхности 202. Примеры подходящих оцифровывающих отображающих поверхностей включают в себя электромагнитные цифровые преобразователи с вводом от пишущего средства, поставляемые компаниями Mutoh или Wacom. Также могут быть использованы другие типы цифровых преобразователей с вводом от пишущего средства, например оптические цифровые преобразователи. Планшетный персональный компьютер 201 интерпретирует движения, выполняемые с использованием пера 204, для манипулирования данными, ввода текста, создания рисунков и/или исполнения обычных компьютерных прикладных заданий, таких как электронные таблицы, программы обработки текстов и т.п.FIG. 2 depicts an illustrative embodiment of a Tablet Personal Computer (Tablet PC) 201 that can be used in accordance with various aspects of the present invention. Any or all of the characteristics, subsystems, and functions of the system of FIG. 1 may be included in the computer of FIG. 2. The tablet
Перо 204 может быть оснащено одной или более кнопками или другими приспособлениями, расширяющими его возможности в области выбора. В одном варианте осуществления перо 203 могло бы быть реализовано как «карандаш» или «авторучка», в которых один конец представляет собой пишущую часть, а другой конец представляет собой «стирающий» конец и который при движении по дисплею отмечает части отображаемого изображения, подлежащие стиранию. Также могли бы быть использованы другие типы устройств ввода, такие как мышь, шаровой манипулятор и т.п. Кроме того, собственный палец пользователя мог бы быть пером 204 и использоваться для выбора или указания частей отображаемого изображения на сенсорном дисплее или дисплее, чувствительном к приближению. Следовательно, термин «пользовательское устройство ввода» в том значении, в котором оно здесь используется, подразумевает широкое толкование и включает в себя многие разновидности широко известных устройств ввода, подобных перу 204. Область 205 изображает область обратной связи или область контакта, позволяющую пользователю определить, где находится перо при касании отображающей поверхности 202.
В различных вариантах осуществления система предоставляет платформу по работе с чернилами, являющую собой набор сервисов (серверных процессов, выполняющих некоторую системную функцию) СОМ (модели компонентных объектов), которые прикладная программа может использовать для фиксации, манипулирования и сохранения чернил. Один сервис позволяет приложению считывать и записывать чернила, используя описываемые представления чернил. Платформа по работе с чернилами может также содержать язык разметки, включая язык типа расширяемого языка разметки (XML). Далее, в качестве другой реализации система может использовать распределенную модель компонентных объектов DCOM. Могут использоваться и дополнительные реализации, включая модель программирования Win32 и модель программирования.Net, предоставляемые Microsoft Corporation.In various embodiments, the system provides an ink platform, which is a set of COM services (server processes that perform some system function) COM (component object models) that the application can use to fix, manipulate, and save ink. One service allows an application to read and write ink using the described ink representations. The ink platform may also include a markup language, including a language such as Extensible Markup Language (XML). Further, as another implementation, the system can use a distributed model of DCOM component objects. Additional implementations may be used, including the Win32 programming model and the .Net programming model provided by Microsoft Corporation.
Упорядочение объектовOrganizing Objects
Фиг. 3A и 3B изображают различные способы упорядочения элементов в интерфейсе. На фиг. 3А окно 301 включает в себя элементы 302 и 303. Здесь элемент 302 имеет активное состояние, поэтому он находится впереди элемента 303. На фиг. 3В контент организован в виде дерева. Здесь корневой узел (именуемый «корнем») 304 является узлом, на котором базируются все другие узлы дерева. Дочерние узлы 305 и 306 расположены на дереве, произрастающем из корневого узла 304. Их взаимное расположение по отношению друг к другу определяет то, как они будут воспроизведены: поверх или под друг другом. Ось 307 в левой части фиг. 3В иллюстрирует «z-очередность» различных узлов в этом приводимом в качестве примера дереве.FIG. 3A and 3B depict various ways of arranging elements in an interface. In FIG. 3A, the
Фиг. 4 демонстрирует пример того, как могут быть воспроизведены чернила в системе, имеющей z-упорядоченную (или упорядоченную по глубине) структуру упорядочения. Здесь окно 401 показано с контентом. Контент включает в себя содержательный элемент 402, который воспроизводится в позиции 403, и содержательный элемент 404, который воспроизводится в позиции 405. После того как были воспроизведены предыдущие содержательные элементы, чернила 406 могут быть воспроизведены в позиции 407 на самом верхнем содержательном элементе (здесь 404). Чернила 406 могут быть или не быть связаны с самым верхним содержательным элементом. Например, пользователь может работать с бланком 404, который принимает вносимую в форме чернил информацию в качестве содержательного элемента 406. Здесь бланк 404 может быть воспроизведен перед тем, как на него будут наложены чернила.FIG. 4 shows an example of how ink can be reproduced in a system having a z-ordered (or depth-ordered) ordering structure. Here,
При альтернативном подходе чернила могут быть размещены под другими элементами. Например, могут быть воспроизведены чернила, а затем сверху воспроизведены элементы. Воспроизведение чернил может перемежаться с воспроизведением элементов.In an alternative approach, ink can be placed under other elements. For example, ink can be reproduced, and then elements are reproduced from above. Ink reproduction may alternate with the reproduction of ink.
Конструкторы, Свойства, Методы и События ОбъектовConstructors, Properties, Methods, and Object Events
Для того чтобы управлять порядком распределения контента по слоям, может быть использован объект, предназначенный для решения этой задачи. Для простоты в данном описании объект, который может решать эту задачу в отношении чернил, называется объектом «холст для чернил» (поскольку в функциональном плане он подобен тому, как художник накладывает слоями краску на физический холст). В одном примере холст для чернил может быть элементом. В другом примере холст для чернил может быть объектом (где все элементы являются объектами, но не все объекты являются элементами). Для простоты холст для чернил в данном описании называется объектом. Объект «холст для чернил» показан на фиг. 5-7 с различными конструкторами, свойствами, методами и событиями. Вполне очевидно, что различные конструкторы, свойства, методы и события показаны исключительно в иллюстративных целях. Некоторые, все или дополнительные конструкторы, свойства, методы и события могут присутствовать в различных формах в других примерах холста для чернил, и это не выходит за рамки объема изобретения. Объект «холст для чернил» может содержать ноль или более элементов или объектов. Объект «холст для чернил» может воспроизводить чернила для входящих в него элементов или объектов, или эти элементы или объекты могут воспроизводить чернилами сами.In order to control the order of distribution of content across layers, an object designed to solve this problem can be used. For simplicity, in this description, an object that can solve this problem with regard to ink is called an “ink canvas” object (since, in functional terms, it is similar to the way an artist puts layers of paint on a physical canvas). In one example, an ink canvas may be an element. In another example, the ink canvas may be an object (where all elements are objects, but not all objects are elements). For simplicity, the ink canvas is referred to herein as an object. The ink canvas object is shown in FIG. 5-7 with various constructors, properties, methods and events. It is obvious that various constructors, properties, methods, and events are shown for illustrative purposes only. Some, all or additional constructors, properties, methods and events may be present in various forms in other examples of the ink canvas, and this is not beyond the scope of the invention. An ink canvas object may contain zero or more elements or objects. The ink canvas object can reproduce ink for its constituent elements or objects, or these elements or objects can reproduce ink themselves.
Следующие фигуры и их описание иллюстрируют различные примеры методов, свойств, событий и конструкторов. Вполне очевидно, что в некоторых случаях различные компоненты могут быть скрыты от внешнего доступа и, тем не менее, доступны посредством другого механизма. Например, некий метод может использоваться для возвращения объекта «чернила», выбранных штрихов чернил, потока чернил или массива байтов. Этот метод может быть использован вместо доступа к свойству, которое может содержать эту информацию. Методы могут использоваться для доступа к свойствам или установки свойств, для отклика на события и вызова событий. Свойства могут описывать состояния методов и/или событий. События могут указывать, когда установлены свойства или когда выполнены методы. Другие примеры следуют из вышеописанных, но здесь не приводятся.The following figures and their description illustrate various examples of methods, properties, events, and constructors. It is quite obvious that in some cases, various components can be hidden from external access and, nevertheless, accessible through another mechanism. For example, some method can be used to return an ink object, selected ink strokes, ink stream, or byte array. This method can be used instead of accessing a property that may contain this information. Methods can be used to access properties or set properties, to respond to events and to trigger events. Properties can describe the state of methods and / or events. Events can indicate when properties are set or when methods are executed. Other examples follow from the above, but are not given here.
В объекте «холст для чернил» могут иметь или не иметь место различные аспекты. Во-первых, объект «холст для чернил» может содержать элементы и/или объекты. Элементы и объекты могут быть воспроизведены объектом «холст для чернил» или могут воспроизводить себя сами. Объект «холст для чернил» может содержаться в древовидной организационной структуре. Объект «холст для чернил» может быть создан на языке разметки (например, на языке гипертекстовой разметки HTML, расширенном языке разметки XML и/или расширяемом языке разметки приложений XAML и т.п.). Объект «холст для чернил» может включать в себя функциональные возможности по распознаванию (включая распознавание рукописного текста, распознавание формы, распознавание рисунков, распознавание комментариев и т.д.). Объект «холст для чернил» может включать в себя расширяемые функциональные возможности по редактированию. Наконец, объект «холст для чернил» может включать в себя многообразие интерфейсов прикладного программирования, которые позволяют разработчику создавать прикладные программы, взаимодействующие с объектом «холст для чернил». В объекте «холст для чернил» может присутствовать один или более из этих аспектов.In an ink canvas object, various aspects may or may not occur. First, the ink canvas object may contain elements and / or objects. Elements and objects can be reproduced by the “ink canvas” object or can reproduce themselves. The Ink Canvas object can be contained in a tree structure. The ink canvas object can be created in a markup language (for example, in the HTML hypertext markup language, the XML extended markup language and / or the XAML application expanded markup language, etc.). An ink canvas object may include recognition capabilities (including handwriting recognition, shape recognition, pattern recognition, comment recognition, etc.). An ink canvas object may include extensible editing functionality. Finally, the ink canvas object can include a variety of application programming interfaces that allow the developer to create application programs that interact with the ink canvas object. In the ink canvas object, one or more of these aspects may be present.
Фиг. 5 изображает конструкторы и свойства, связанные с объектом «холст для чернил». Объект «холст для чернил» показан под номером 501. Два конструктора показаны под номерами 502 и 503. Конструктор 502 является открытым конструктором с активированными возможностями ввода и воспроизведения по умолчанию. Конструктор 503 создает новый экземпляр объекта «холст для чернил» со связью с конкретным родителем.FIG. 5 depicts the constructors and properties associated with the ink canvas object. The Ink Canvas object is shown at 501. Two constructors are shown at 502 and 503.
Фиг. 5 также изображает свойства 504-518:FIG. 5 also depicts properties 504-518:
Свойство 504 «Режим Индивидуально Конфигурируемого Редактирования» позволяет устанавливать режим индивидуально конфигурируемого редактирования.
Свойство 505 «Атрибуты Изображения по Умолчанию» определяет атрибуты для новых введенных штрихов.The Default Image Attributes
Свойство 506 «Режим Редактирования» устанавливает текущий режим редактирования.
Свойство 507 «Размер Стирающего Средства» устанавливает размер стирающего средства при активированном режиме стирания.
Свойство 528 «Форма Стирающего Средства» устанавливает форму (круг, овал, квадрат, прямоугольник и т.п.) стирающего средства при активированном режиме стирания.
Свойство 508 «Чернила» разрешает доступ к чернилам, содержащимся в объекте «холст для чернил».The
Свойство 509 «Усечение Чернил» определяет, когда чернила будут усечены до размера отображаемой области холста для чернил.The
Свойство 510 «Инвертированный Режим Редактирования» указывает на то, какой режим редактирования (или другой язык или состояние) будет активным, когда пишущее средство пользователя перевернуто. Следует иметь в виду, что могут быть использованы дополнительные пишущие средства. Соответственно, могут быть использованы и дополнительные свойства 510 для определения других режимов, которые будут связаны с другими концами пишущих средств.The “Inverted Editing Mode”
Свойство 511 «Перо Перевернуто» показывает, перевернуто ли перо в настоящий момент времени.The Pen
Свойство 512 «Перемещение Разрешено» разрешает и запрещает перемещение созданных чернил.
Свойство 513 «Изменение Размеров Разрешено» разрешает и запрещает изменение размеров созданных чернил.
Свойство 514 «Поворот Разрешен» разрешает и запрещает поворот созданных чернил.
Свойство 515 «Доступ к Выделенным Элементам» разрешает доступ к только что выделенным элементам, являющимся потомками текущего холста 501 для чернил.
Свойство 516 «Доступ к Выделенным Штрихам» разрешает доступ к выделенным в настоящий момент штрихам, которые связаны с текущим холстом 501 для чернил.
Свойство 517 «Использование Индивидуально Конфигурируемого Курсора» показывает, что разработчик использует заказной курсор мыши и что текущий курсор должен быть сохранен.
Свойство 518 «Редактирование Пользователем» показывает, что холст 501 для чернил в данный момент осуществляет ввод чернил.The
Свойство 527 «Выделенные группы» показывает, какие объекты штрихов или чернил объединены в группы для групповых или распознаваемых синтаксическим анализатором выделений и операций.
В дополнение к вышеперечисленным свойствам объект 501 «холст для чернил» может также включать или не включать в себя одно или более свойств распознавания чернил.In addition to the above properties, the
Свойство 519 «Распознанные Чернила» показывает, что чернила распознаны. Распознавание может быть или не быть связано с выбранным в настоящий момент или выбранным перед этим штрихом или штрихами.
Свойство 520 «Обнаруженное Слово» показывает, какой набор штрихов или объект чернил был опознан как слово.The Detected
Свойство 521 «Обнаруженное Изображение» показывает, какой набор штрихов или объект чернил был опознан как изображение.The Detected
Свойство 522 «Обнаруженная Строка» показывает, какой набор штрихов или объект чернил опознан как строка.The Detected
Свойство 523 «Обнаруженный Абзац» показывает, какой набор штрихов или объект чернил опознан как абзац.
Свойство 524 «Обнаруженная Форма» показывает, какой набор штрихов или объект чернил опознан как форма (и/или тип формы).The Detected
Свойство 525 «Обнаруженный Комментарий» показывает какой набор штрихов или объект чернил опознан как комментарий.The Detected
Свойство 526 «Преобразованный Текст» включает в себя текст, полученный в результате распознавания чернил. В качестве альтернативы он может указывать, что для воспроизведения одного или более штрихов чернил или объектов чернил, вместо визуальной формы чернил должен использоваться преобразованный текст.
Вполне очевидно, что вышеуказанные свойства приводятся исключительно в иллюстративных целях. В дополнение или вместо вышеуказанных свойств с объектом «холст для чернил» могут быть использованы и другие свойства.It is obvious that the above properties are provided for illustrative purposes only. In addition to, or instead of, the above properties with the Ink Canvas object, other properties may be used.
Фиг. 6 изображает различные методы, связанные с объектом 601 «холст для чернил»:FIG. 6 depicts various techniques associated with the ink canvas object 601:
Метод 602 «Получить Отмену Атрибутов Изображения По Умолчанию» получает для конкретного пера установочные параметры, отменяющие атрибуты по умолчанию. Например, пользователь может иметь одно перо для редактирования и одно для стирания. Этот метод позволяет пользователю управлять режимом по умолчанию для конкретного пера.Method 602 “Get Cancel Image Attributes By Default” gets settings for a particular pen that override the default attributes. For example, a user may have one pen for editing and one for erasing. This method allows the user to control the default mode for a particular pen.
Метод 603 «При Измененном Инвертированном Режиме Редактирования» вызывает событие, состоящее в том, что инвертированный режим изменился.Method 603, “With the Inverted Edit Mode Changed,” raises an event that the inverted mode has changed.
Метод 604 «При Изменении Инвертированного Режима Редактирования» вызывает событие, состоящее в том, что Инвертированный Режим изменяется.Method 604, "When Changing the Inverted Edit Mode" raises an event that the Inverted Mode changes.
Метод 605 «При Изменении Перевернутого Положения Пера» вызывает событие, когда перо использовано для изменения инвертированного режима редактирования.Method 605 “When Changing the Inverted Position of the Pen” triggers an event when the pen is used to change the inverted editing mode.
Метод 606 «При Измененном Режиме Индивидуально Конфигурируемого Редактирования» вызывает событие, указывающее, что режим индивидуально конфигурируемого редактирования изменился.Method 606, “In Modified Individually Configurable Editing Mode”, raises an event indicating that the individually configurable editing mode has changed.
Метод 607 «При Изменении Режима Индивидуально Конфигурируемого Редактирования» вызывает событие, указывающее, что режим индивидуально конфигурируемого редактирования изменяется.Method 607, "When Changing an Individual Configurable Editing Mode" raises an event indicating that the individually configurable editing mode is changing.
Метод 608 «При Измененном Режиме Редактирования» вызывает событие, указывающее, что режим редактирования изменился.Method 608, “When the Editing Mode is Changed,” raises an event indicating that the editing mode has changed.
Метод 609 «При Изменении Режима Редактирования» вызывает событие, указывающее, что режим редактирования изменяется.Method 609 "When Changing the Editing Mode" raises an event indicating that the editing mode is changing.
Метод 610 «При Входе в Украшающий Элемент Холста Для Чернил» вызывает событие, когда произошел вход в графический украшающий элемент для чернил (графическая метка-заполнитель, которая может быть или не быть показана, когда пользователь выделяет чернила).Method 610, “Upon Entering the Ink Canvas Decorating Element”, triggers an event when an entry is made to the ink graphic decorating element (a graphic placeholder that may or may not be shown when the user selects ink).
Метод 611 «При Выходе Из Украшающего Элемента Холста Для Чернил» вызывает событие, когда произошел выход из графического украшающего элемента для чернил.Method 611, “When Exiting an Ink Canvas Decorating Element,” triggers an event when the ink decorating element is exited.
Метод 612 «При Стертых Чернилах» вызывает событие, когда чернила стерты.The Erased Ink method 612 raises an event when the ink is erased.
Метод 613 «При Стирании Чернил» вызывает событие, когда чернила находятся в процессе стирания.Method 613 "Ink Erasing" causes an event when the ink is in the process of erasing.
Метод 614 «При Введенном Штрихе» вызывает событие, когда штрихи введены.Method 614 “With the Entered Bar” raises the event when the strokes are entered.
Метод 615 «При Повороте Выделенного Фрагмента» вызывает событие, когда выделенный фрагмент находится в процессе поворота.Method 615 “When Rotating a Selected Fragment” causes an event when the selected fragment is in the process of rotation.
Метод 616 «При Повернутом Выделенном Фрагменте» вызывает событие, когда выделенный фрагмент повернут.Method 616 “With Rotated Selected Fragment” raises an event when the selected fragment is rotated.
Метод 617 «При Изменении Размеров Выделенного Фрагмента» вызывает событие, когда выделенный фрагмент находится в процессе изменения размеров.Method 617, “When Changing the Sizes of a Selected Fragment”, raises an event when the selected fragment is in the process of resizing.
Метод 618 «При Измененных Размерах Выделенного Фрагмента» вызывает событие, когда размеры выделенного фрагмента изменены.Method 618 “With Changed Dimensions of a Selected Fragment” changes an event when the dimensions of the selected fragment are changed.
Метод 619 «При Перемещении Выделенного Фрагмента» вызывает событие, когда выделенный фрагмент находится в процессе перемещения.Method 619 “When Moving a Selected Fragment” raises an event when the selected fragment is in the process of moving.
Метод 620 «При Перемещенном Выделенном Фрагменте» вызывает событие, когда выбранный фрагмент перемещен.Method 620 "When Moving Selected Fragment" causes an event when the selected fragment is moved.
Метод 621 «При Изменении Выделенного Фрагмента» вызывает событие, когда выделенный фрагмент находится в процессе изменения.Method 621 "When Changing a Selected Fragment" raises an event when the selected fragment is in the process of changing.
Метод 622 «При Измененном Выделенном Фрагменте» вызывает событие, когда выделенный фрагмент изменен.Method 622, "When the Selected Fragment is Changed" raises an event when the selected fragment is changed.
Метод 623 «Установка Отмены Атрибутов Изображения По Умолчанию» отменяет атрибуты изображения по умолчанию, связанные с выделенными штрихами.Method 623 “Setting the Cancellation of Default Image Attributes” overrides the default image attributes associated with the selected strokes.
В дополнение к вышеназванным методам объект 601 «холст для чернил» может включать или не включать в себя также один или более методов распознавания чернил.In addition to the above methods, the
Метод 624 «При Распознавании Чернил» вызывает одно или более событий, когда чернила распознаны.Method 624 "Ink Recognition" causes one or more events when ink is recognized.
Вполне очевидно, что вышеуказанные методы приводятся исключительно в иллюстративных целях. В дополнение или вместо вышеуказанных методов с объектом «холст для чернил» могут быть использованы и другие методы.It is obvious that the above methods are provided for illustrative purposes only. In addition to, or instead of, the above methods with the ink canvas object, other methods may be used.
Фиг. 7 изображает различные события, которые могут быть связаны с объектом 701 «холст для чернил»:FIG. 7 depicts various events that may be associated with the ink canvas object 701:
Событие 702 «Режим Индивидуально Конфигурируемого Редактирования Изменен» имеет место, когда режим индивидуально конфигурируемого редактирования изменился.
Событие 703 «Режим Индивидуально Конфигурируемого Редактирования Изменяется» имеет место, когда режим индивидуально конфигурируемого редактирования готов измениться.
Событие 704 «Режим Редактирования Изменен» имеет место, когда режим редактирования изменился.
Событие 705 «Режим Редактирования Изменяется» имеет место, когда режим редактирования готов измениться.
Событие 706 «Вход В Украшающий Элемент Холста Для Чернил» возникает, когда имел место вход в украшающий элемент холста для чернил.
Событие 707 «Выход из Украшающего Элемента Холста Для Чернил» возникает, когда имел место выход из украшающего элемента холста для чернил.
Событие 708 «Чернила Стерты» имеет место, когда чернила были стерты.The Erased
Событие 709 «Чернила Стираются» имеет место, когда чернила готовы быть стертыми.The Erase
Событие 710 «Инвертированный Режим Редактирования Изменен» имеет место, когда режим редактирования, связанный с перевернутым пишущим средством, изменен.
Событие 711 «Инвертированный Режим Редактирования Изменяется» имеет место, когда режим редактирования, связанный с перевернутым пишущим средством, готов измениться.
Событие 712 «Перевернутое Положение Пера Изменяется» имеет место, когда пользователь переворачивает перо.
Событие 713 «Перевернутое Положение Пера Изменено» имеет место, когда пользователь перевернул перо.
Событие 714 «Выделенный Фрагмент Изменен» имеет место, когда выделенный фрагмент изменился.
Событие 715 «Выделенный Фрагмент Изменяется» имеет место, когда выделенный фрагмент готов измениться.
Событие 716 «Выделенный Фрагмент Перемещен» имеет место, когда выделенный фрагмент переместился.
Событие 717 «Выделенный Фрагмент Перемещается» имеет место, когда выделенный фрагмент готов переместиться.
Событие 718 «Выделенный Фрагмент Изменил Размеры» имеет место, когда выделенный фрагмент изменил свои размеры.
Событие 719 «Выделенный Фрагмент Изменяет Размеры» имеет место, когда выделенный фрагмент готов изменить свои размеры.
Событие 720 «Выделенный Фрагмент Повернут» имеет место, когда выделенный фрагмент повернулся.
Событие 721 «Выделенный Фрагмент Поворачивается» имеет место, когда выделенный фрагмент готов повернуться.
Событие 722 «Штрих введен» имеет место, когда штрих был введен.
В дополнение к вышеперечисленным событиям объект 701 «холст для чернил» может также включать или не включать в себя события распознавания чернил.In addition to the above events, the
Событие 723 «Чернила Распознаны» имеет место, когда чернила была распознаны.
Событие 724 «Обнаружено Слово» имеет место, когда было обнаружено слово.
Событие 725 «Обнаружено Изображение» имеет место, когда было обнаружено выполненное чернилами изображение.Event “Image Detected” 725 occurs when an ink-filled image has been detected.
Событие 726 «Обнаружена Строка» имеет место, когда была обнаружена написанная чернилами строка.
Событие 727 «Обнаружен Абзац» имеет место, когда был обнаружен написанный чернилами абзац.
Событие 728 «Обнаружена Форма» имеет место, когда была обнаружена выполненная чернилами форма.Event “Form Detected”
Событие 729 «Обнаружен Комментарий» имеет место, когда был обнаружен выполненный чернилами комментарий.
Событие 730 «Чернила Преобразованы в Текст» имеет место, когда чернила были преобразованы в текст.
Вполне очевидно, что вышеуказанные свойства приводятся исключительно в иллюстративных целях. В дополнение или вместо указанных выше событий с объектом «холст для чернил» могут быть использованы и другие события.It is obvious that the above properties are provided for illustrative purposes only. In addition to or instead of the above events with the “ink canvas” object, other events can be used.
ОтношенияRelations
Фиг. 8 изображает различные иллюстративные отношения между объектом «холст для чернил», средством редактирования чернил и различными режимами. Объект чернильный холст 801 включает в себя один или более подэлементов 803. Объект 801 «холст для чернил» соединен со средством редактирования 802 чернил и обрабатывает входные события (изменение фокуса, ввод с клавиатуры, входные данные от пера и т.п.). Средство редактирования 802 чернил помимо прочего организует активацию режима 804 редактирования, состоящего из компонентов (включающего в себя, но не в ограничительном смысле, режимы, зависящие от чернил, и режимы, не зависящие от чернил). Режимы, зависящие от чернил, собраны в режим 805 редактирования чернил. Режим 805 редактирования чернил предоставляет базовые эвристические процедуры активации/деактивации (деактивация при подъеме пишущего средства, деактивация при изменении свойства режима редактирования в объекте «холст для чернил» и т.д.). Режимы 805 редактирования чернил включают в себя режимы 806 фиксации чернил, режимы 807 выделения (включая выделение методом оконтуривания) и дополнительные режимы 808. Не зависящие от чернил режимы включают в себя режим 809 резиновой нити, режим 810 перемещения, режим 811 изменения размеров и дополнительные режимы 812.FIG. 8 depicts various illustrative relationships between an ink canvas object, ink editing means, and various modes. The ink canvas object 801 includes one or more sub-elements 803. The “ink canvas” object 801 is connected to the ink editing tool 802 and processes input events (changing focus, keyboard input, input from a pen, etc.). The ink editing tool 802 organizes, among other things, the activation of a component editing mode 804 (including, but not limited to, ink-dependent modes and ink-independent modes). Ink dependent modes are compiled into an ink editing mode 805. Ink editing mode 805 provides basic heuristic activation / deactivation procedures (deactivation when lifting the writing medium, deactivation when changing the properties of the editing mode in the "ink canvas" object, etc.). Ink editing modes 805 include ink fixing modes 806, highlighting modes 807 (including contouring) and additional modes 808. Ink-independent modes include a rubber thread mode 809, a movement mode 810, a resizing mode 811, and additional modes 812.
Средство редактирования 802 чернил управляет различными режимами 806-812, что показано стрелками, направленными от средства редактирования 802 чернил к каждому из режимов 806-812. Различные режимы 806-812 могут быть сгруппированы в соответствии с их относительной функцией. Например, создание или выделение подмножества контента в подэлементе 803 может быть осуществлено при помощи различных режимов выделения, включая режим 807 выделения методом оконтуривания и режим 809 выделения методом резиновой нити, но не ограничиваясь ими. Выделенный контент в подэлементе 803 может быть также модифицирован и/или подвергнут манипуляции посредством различных режимов, например режима 810 перемещения и режима 811 изменения размеров (среди прочих режимов).The ink editing tool 802 controls the various modes 806-812, as shown by the arrows directed from the ink editing tool 802 to each of the modes 806-812. The various modes 806-812 may be grouped according to their relative function. For example, the creation or selection of a subset of the content in sub-element 803 can be accomplished using various selection modes, including, but not limited to, the selection mode 807 of the contouring method and the selection mode of the rubber thread 809. The highlighted content in sub-element 803 can also be modified and / or manipulated by various modes, for example, the move mode 810 and the resize mode 811 (among other modes).
Возвращаясь к объекту 801 «холст для чернил», следует отметить, что он может быть использован без каких-либо потомков, что позволяет иметь область, где пользователь может рисовать. К тому же, объект 801 «холст для чернил» может быть использован поверх любого элемента или объекта или элемента управления, поскольку объект 801 «холст для чернил» может быть включающим по отношению к любому другому типу элементов. Это позволяет разработчикам легко создавать комментарии к чему угодно и иметь любой фон для изображения чернил. Вполне очевидно, что в соответствии с аспектами данного изобретения чернила могут быть воспроизведены на различных уровнях (вперемежку с элементами, сверху или снизу элементов).Returning to the “ink canvas” object 801, it should be noted that it can be used without any descendants, which allows you to have an area where the user can draw. In addition, the ink canvas object 801 can be used on top of any element or object or control, since the ink canvas object 801 can be inclusive with respect to any other type of element. This allows developers to easily comment on anything and have any background for the ink image. It is obvious that in accordance with aspects of the present invention, ink can be reproduced at various levels (interspersed with elements, above or below elements).
Пример программного кода для доступа к объекту «холст для чернил» может иметь следующий вид:An example of program code for accessing the “ink canvas” object can be as follows:
<InkCanvas><InkCanvas>
<TextPanel FontSize="12" FontFamily="Arial"><TextPanel FontSize = "12" FontFamily = "Arial">
Чернила в XAML будут выглядетьXAML ink will look
<TextPanel FontWeight="Bold">really</TextPanel><TextPanel FontWeight = "Bold"> really </TextPanel>
здорово!great!
</TextPanel></TextPanel>
</InkCanvas></InkCanvas>
Поскольку Холст Для Чернил (Ink Canvas) может быть включающим по отношению к любому другому типу элементов, то от других типов панелей не требуется иметь способность изображать чернила. Ниже приводится другой пример фрагмента программного кода, который позволяет установить связь между чернильным холстом и текущей панелью (на которой будут отображаться чернила):Because Ink Canvas can be inclusive of any other type of element, other types of panels are not required to have the ability to draw ink. The following is another example of a piece of program code that allows you to establish a connection between the ink canvas and the current panel (on which ink will be displayed):
<InkCanvas><InkCanvas>
<DockPanel Background="white"><DockPanel Background = "white">
<FlowPanel Background="#669999" Width="100" Height="75"<FlowPanel Background = "# 669999" Width = "100" Height = "75"
Dock="Right">Dock = "Right">
<Text>Right</Text><Text> Right </Text>
</FlowPanel></FlowPanel>
<FlowPanel Background="#669966" Width="100"<FlowPanel Background = "# 669966" Width = "100"
Height="75" Dock="Left">Height = "75" Dock = "Left">
<Text>Left</Text><Text> Left </Text>
</FlowPanel></FlowPanel>
</DockPanel></DockPanel>
</InkCanvas></InkCanvas>
class System.Windows.Controls.InkCanvas: Canvas {class System.Windows.Controls.InkCanvas: Canvas {
Ниже показан объект чернил (ink), связываемый с самим элементом. Он доступен как динамическое свойство или, для удобства, как.Net-свойство:The following is an ink object associated with the element itself. It is available as a dynamic property or, for convenience, as an .Net property:
public static readonly DynamicProperty InkProperty =public static readonly DynamicProperty InkProperty =
PropertyManager.RegisterProperty ( "Ink",...);PropertyManager.RegisterProperty ("Ink", ...);
public System.Windows.Ink.Ink Ink.public System.Windows.Ink.Ink Ink.
Ниже приводится пример программного кода на расширяемом языке разметки приложений XAML, содержащего объект чернил, использующий объект «холст для чернил»:The following is an example of code in an extensible XAML application markup language that contains an ink object that uses an ink canvas object:
<InkCanvas<InkCanvas
Ink="base64sdfsdfdsf..."Ink = "base64sdfsdfdsf ..."
Factoid="Default"Factoid = "Default"
TopRecognitionResult="To get her"TopRecognitionResult = "To get her"
<!--подключение обработчика события,<! - connection of the event handler,
связанного с жестом-->associated with a gesture ->
Gesture="HandleGesture"Gesture = "HandleGesture"
Stroke="HandleStroke".Stroke = "HandleStroke".
<!--задание свойств чернил по умолчанию для режима<! - set the default ink properties for the mode
ввода-->input ->
DefaultDrawingAttributes.FitToCurve=true>DefaultDrawingAttributes.FitToCurve = true>
<Image Left="200" Top="75" Source="image.png"<Image Left = "200" Top = "75" Source = "image.png"
Alt="alternate text"/>Alt = "alternate text" />
<def:Code><def: Code>
<! [CDATA[<! [CDATA [
void OnStroke(Element sender, ClickEventArgs e)void OnStroke (Element sender, ClickEventArgs e)
{{
// Некоторый код// Some code
}}
void OnGesture(Element sender, ClickEventArgs e)void OnGesture (Element sender, ClickEventArgs e)
{{
// Некоторый код// Some code
}}
] ]>]]>
</def:Code></ def: Code>
"To get her""To get her"
</InkCahvas></InkCahvas>
Различные стороны объекта «холст для чернил» могут включать в себя одну или более из следующих характеристик:The various sides of the ink canvas object may include one or more of the following characteristics:
Любой элемент может быть потомком холста для чернил в расширяемом языке разметки приложений XAML. Потомки могут иметь абсолютное позиционирование.Any item can be a descendant of the ink canvas in the XAML extensible markup language. Descendants can have absolute positioning.
Любое динамическое событие может иметь код, присоединенный путем задания атрибута XML (расширяемый язык разметки).Any dynamic event can have code attached by setting an XML attribute (extensible markup language).
Любое динамическое свойство может быть инициализировано путем задания атрибута XML.Any dynamic property can be initialized by setting an XML attribute.
Чернила, которые могут быть или не быть динамическим свойством, могут быть преобразованы в последовательную форму base64 ISF (формат для сохранения чернил) в атрибуте XML под именем «ink».Ink, which may or may not be a dynamic property, can be converted to base64 ISF (ink preservation format) in serial form in an XML attribute called "ink."
УсечениеTruncation
Фиг. 9А, 9В и 9С демонстрируют визуальный атрибут объекта «холст для чернил». Чернила, отображаемые на чернильном холсте, могут быть или не быть усечены. В одном примере размеры объекта «холст для чернил» могут быть автоматически изменены для того, чтобы предотвратить усечение любого контента или только контента в виде чернил. В качестве альтернативы чернильный холст может быть настроен на размер и усечение контента или только контента в виде чернил. Усечение может быть определено свойством усечения или комбинацией свойств усечения (например, свойством усечения общего контента и специфическим свойством усечения для чернил). На фиг. 9А в области 902 показан полный контент чернильной надписи 901. На фиг. 9В показана вся чернильная надпись. Первая часть чернильной надписи показана в области 904. Оставшаяся часть 905 чернильной надписи попала за границу области 904. Здесь усечение чернил отсутствует. На фиг. 9С чернила 906 усечены до размеров области 907. Здесь усечение включено.FIG. 9A, 9B, and 9C show a visual attribute of an ink canvas object. Ink displayed on an ink canvas may or may not be truncated. In one example, the size of the object "canvas for ink" can be automatically resized in order to prevent truncation of any content or only content in the form of ink. Alternatively, the ink canvas may be configured to size and truncate the content, or only ink content. Truncation can be determined by the truncation property or a combination of truncation properties (for example, the truncation property of the general content and the specific truncation property for the ink). In FIG. 9A, in
Аспекты настоящего изобретения были описаны в виде его иллюстративного варианта осуществления. Специалистам в данной области техники при просмотре этого описания придут на ум и многочисленные другие варианты осуществления, модификации и вариации в пределах объема и сущности, определяемых прилагаемой формулой изобретения.Aspects of the present invention have been described as an illustrative embodiment thereof. When viewing this description, those skilled in the art will come to mind also numerous other embodiments, modifications, and variations within the scope and spirit of the appended claims.
Claims (18)
объект для приема электронных чернил и
подлежащие воспроизведению один или более объектов, на которые ссылается объект для приема электронных чернил, причем объект для приема электронных чернил управляет отображением этих объектов,
при этом по меньшей мере один из этих подлежащих воспроизведению объектов не способен работать с электронными чернилами в одиночку, но способен работать с электронными чернилами, когда включен в состав объекта для приема электронных чернил.1. Computer-implemented electronic ink reproducing system, comprising
an object for receiving electronic ink and
one or more objects to be reproduced referenced by the object for receiving electronic ink, the object for receiving electronic ink controls the display of these objects,
however, at least one of these objects to be reproduced is not capable of working with electronic ink alone, but is capable of working with electronic ink when included in an object for receiving electronic ink.
включают один или более подлежащих воспроизведению объектов в состав объекта, который предоставляет функциональные возможности электронных чернил,
воспроизводят упомянутые один или более объектов,
воспроизводят электронные чернила поверх упомянутых одного или более объектов и
вызывают посредством упомянутого объекта событие, связанное с упомянутыми функциональными возможностями электронных чернил.10. A method for reproducing electronic ink, comprising the steps of:
include one or more reproducible objects in the composition of the object, which provides the functionality of electronic ink,
reproduce the mentioned one or more objects,
reproduce electronic ink on top of said one or more objects; and
by means of said object cause an event related to said electronic ink functionality.
включение одного или более подлежащих воспроизведению объектов в состав объекта, который предоставляет функциональные возможности электронных чернил,
воспроизведение упомянутых одного или более объектов,
воспроизведение электронных чернил поверх упомянутых одного или более объектов и
вызов упомянутым объектом события, связанного с упомянутыми функциональными возможностями электронных чернил.13. A computer-readable storage medium with a computer-executable program for reproducing electronic ink stored on it, said program comprising the following steps:
the inclusion of one or more objects to be reproduced in the composition of the object, which provides the functionality of electronic ink,
reproduction of said one or more objects,
reproducing electronic ink on top of said one or more objects; and
a call by the said object of an event related to said electronic ink functionality.
изменение свойства упомянутого объекта.14. The computer-readable storage medium of claim 13, wherein said program further comprises the following step:
changing the property of the mentioned object.
исполнение метода, ассоциированного с упомянутым объектом.15. The computer-readable storage medium of claim 13, wherein said program further comprises the following step:
execution of a method associated with said object.
средство для включения одного или более подлежащих воспроизведению объектов в состав объекта, который предоставляет функциональные возможности электронных чернил,
средство для воспроизведения упомянутых одного или более объектов,
средство для воспроизведения электронных чернил поверх упомянутых одного или более объектов и
средство для вызова упомянутым объектом события, связанного с упомянутыми функциональными возможностями электронных чернил.16. A computer system for reproducing electronic ink, comprising:
means for including one or more objects to be reproduced in the composition of the object, which provides the functionality of electronic ink,
means for reproducing said one or more objects,
means for reproducing electronic ink on top of said one or more objects; and
means for triggering by said object an event associated with said electronic ink functionality.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2004117853/09A RU2365979C2 (en) | 2003-08-21 | 2003-08-21 | Input and reproduction of electronic ink |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2004117853/09A RU2365979C2 (en) | 2003-08-21 | 2003-08-21 | Input and reproduction of electronic ink |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2004117853A RU2004117853A (en) | 2005-10-10 |
RU2365979C2 true RU2365979C2 (en) | 2009-08-27 |
Family
ID=35851065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004117853/09A RU2365979C2 (en) | 2003-08-21 | 2003-08-21 | Input and reproduction of electronic ink |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2365979C2 (en) |
-
2003
- 2003-08-21 RU RU2004117853/09A patent/RU2365979C2/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
RU2004117853A (en) | 2005-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1363231B1 (en) | Overlaying electronic ink | |
US7499047B2 (en) | Ink editing architecture | |
AU2010219367B2 (en) | Ink collection and rendering | |
US8132125B2 (en) | Freeform encounter selection tool | |
JP4637455B2 (en) | User interface utilization method and product including computer usable media | |
US7925987B2 (en) | Entry and editing of electronic ink | |
JP4694606B2 (en) | Gesture determination method | |
US7486282B2 (en) | Size variant pressure eraser | |
US20040257346A1 (en) | Content selection and handling | |
US20030214553A1 (en) | Ink regions in an overlay control | |
US7870501B2 (en) | Method for hollow selection feedback | |
KR20040086544A (en) | Dynamic feedback for gestures | |
KR20060115321A (en) | How to add user input with dynamically expanding input panel | |
US7454699B2 (en) | Smart content insertion | |
RU2365979C2 (en) | Input and reproduction of electronic ink | |
KR100952562B1 (en) | Stylus-based input system and computer-implemented process for it |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20130822 |