ПРЕДСТАВЛЕНИЕ ДИНАМИЧЕСКИХ СЕТОК
PRESENTING DYNAMIC GRIDS

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
Сетки обычно используют в чертежных программах для помощи в создании точных чертежей. Сетки обеспечивают систему координат, на которой пользователь может пространственно ориентировать объекты в чертежной программе. Сетки являются полезными при определении размера и положения объектов. Традиционные сетки имеют фиксированный размер сетки и фиксированную ориентацию. Шаг линий сетки, общий размер сетки и ориентацию сетки определяют при создании сетки. После того как сетка создана, шаг линий сетки, ориентацию и/или положение сетки не изменяют. Перед черчением новых объектов в чертежной программе пользователи могут быть вынуждены повторно задавать свойств сетки много раз.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Это краткое изложение сущности изобретения приведено для описания в упрощенном виде концепций, которые более подробно описаны ниже в подробном описании. Подразумевают, что это краткое изложение сущности изобретения не служит ни для определения ключевых факторов или существенных признаков заявленного предмета изобретения, ни для его использования как ограничивающего объем заявленного предмета изобретения.
Это раскрытие сущности изобретения относится к представлению сетки на дисплее. Дисплеем может являться чертежная программа, работающая в компьютерной среде. При представлении сетки распознают ранее начерченный объект (например, последнюю линию, начерченную пользователем). Может быть произведено определение свойств ранее начерченного объекта (например, угла и единицы размерности (длины) ранее начерченного объекта). После того как свойства ранее начерченного объекта определены, сетка может динамически отрегулировать свойства сетки, такие как, например, положение точки начала координат, угол сетки, шаг линий сетки, координатный режим и т.д. Результирующая сетка является связанной по измерениям и ориентации с ранее начерченным объектом. Это делает черчение графических элементов (например, линий, набора линий, многоугольника, изображения и т.д.) более эффективным (более быстрым), например, когда абсолютные размеры не имеют значения. Динамическая сетка является контекстно-зависимой (основанной на ранее начерченном объекте) и адаптивной (изменяемой автоматически или вручную) к тому, что именно чертит пользователь.
Сетка может регулировать свойства сетки автоматически в ответ на черчение объекта на сетке. Когда пользователь чертит новый объект, то свойства сетки могут быть отрегулированы таким образом, что обеспечивают более желательное расположение исходя из ранее начерченного объекта. Примером является тот пример, в котором пользователь имеет сетку с шагом линий сетки, равным 300 элементам изображения. Если пользователь начинает чертить объект (например, отрезки прямой длиной 25 элементов изображения), то сетка может автоматически изменить шаг линий сетки до величины, дробной или кратной 25 элементам изображения (вместо 300 элементов изображения), для предоставления пользователю более полезной базы отсчета.
Эта сетка также может регулировать свойства сетки в ответ на ввод данных пользователем. Это позволяет пользователю в любой момент времени задавать то, когда следует изменить координатный режим; когда следует повернуть сетку, чтобы она совпадала по углу с ранее начерченным объектом; когда следует выполнять повторное центрирование сетки в положение ранее начерченного объекта; и/или какой множитель (например, 3x, 2x, 1x, 0,5x, 0,25x и т.д.) следует применить для определения шага линий сетки.
Для достижения вышеизложенных и родственных целей в приведенном ниже описании и на приложенных чертежах изложены некоторые иллюстративные аспекты и варианты реализации изобретения. Они указывают только лишь некоторые из различных возможных способов использования одного или большего количества аспектов изобретения. Другие аспекты, преимущества и элементы новизны изобретения, сущность которого здесь раскрыта, станут очевидными из приведенного ниже подробного описания при его рассмотрении совместно с приложенными чертежами.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг.1 проиллюстрирован приведенный в качестве примера способ представления сетки на дисплее.
На Фиг.2 проиллюстрирован приведенный в качестве примера способ представления сетки на дисплее.
На Фиг.3 проиллюстрирована система, сконфигурированная для представления сетки на дисплее.
На Фиг.4 проиллюстрирован пример представления сетки на дисплее до и после ориентирования и повторного центрирования сетки.
На Фиг.5 проиллюстрирован пример представления сетки на дисплее до и после изменения размера и повторного центрирования сетки.
На Фиг.6 проиллюстрирован пример представления сетки на дисплее до и после настройки координатного режима и повторного центрирования сетки.
На Фиг.7 проиллюстрирована система, сконфигурированная для представления сетки на дисплее.
На Фиг.8 проиллюстрирован приведенный в качестве примера считываемый посредством компьютера носитель информации, содержащий выполняемые процессором команды, сконфигурированные для осуществления одного или большего количества изложенных здесь положений.
На Фиг.9 проиллюстрирована приведенная в качестве примера вычислительная среда, в которой может быть реализовано одно или большее количество изложенных здесь положений.
ПОДРОБНОЕ ОПИСАНИЕ
Теперь приведено описание заявленного предмета изобретения со ссылкой на чертежи, на которых для обозначения одинаковых элементов на всех чертежах использованы одинаковые номера позиций. В приведенном ниже описании в пояснительных целях изложены многочисленные конкретные подробности для обеспечения полного понимания заявленного предмета изобретения. Однако очевидно, что заявленный предмет изобретения может быть реализован на практике без этих конкретных подробностей. В других случаях структуры и устройства показаны в виде блок-схем для облегчения описания заявленного предмета изобретения.
Это изобретение, сущность которого здесь раскрыта, относится к представлению сетки на дисплее. Сетки обычно используют в компьютерных чертежных программах для помощи в создании точных чертежей. Для традиционных сеток используют режим декартовых координат (сетка X, Y) с фиксированным размером сетки и с фиксированной ориентацией. Для некоторых сеток также может быть использован радиальный режим для содействия в облегчении черчения углов. Для помощи при черчении множество сеток обеспечивают привязку объекта пользователя (например, линии, формы и любого другого набора точек координат) к точке на сетке. Свойства сетки были заданы в тот момент времени, когда создавалась сетка. Например, начало координат сетки, режим сетки (в декартовых координатах, в радиальных координатах), шаг линий сетки и ориентация (угол) сетки были все заданы как неизменные и могли не измениться после того, как сетка была создана.
Проблема возникает тогда, когда объект не соответствует фиксированному шагу сетки. Пользователь тратит время на размышления о реальном размере начерченного объекта (например, шаг линий сетки равен 300 элементам изображения, но следующая линия объекта, которую следует начертить, имеет длину всего 5 элементов изображения). Объекты чертежа, которые не соответствуют исходному фиксированному шагу линий сетки, могут быть выполнены намного легче, когда сетка может динамически адаптироваться к тому, что именно чертит пользователь.
Динамическая сетка может регулировать шаг линий сетки исходя из ранее начерченного объекта. Примером ранее начерченного объекта является отрезок прямой, который только что начертил пользователь. Отрезок прямой может являться частью более крупного объекта, который чертит пользователь. Регулирование шага линий сетки позволяет сетке адаптироваться к тому, что чертит пользователь в текущий момент времени, вместо наличия фиксированного шага линий сетки, установленного при первоначальном создании сетки. После того, как ранее начерченный объект распознан, определяют размерную единицу ранее начерченного объекта. Размерной единицей может являться вектор размера последнего начерченного отрезка прямой. Динамическая сетка регулирует шаг линий сетки в зависимости от размерной единицы. Это может быть выполнено путем установления шага линий сетки, равным размерной единице, путем установления шага линий сетки, равным дробной части размерной единицы, и/или путем регулирования шага линий сетки таким образом, чтобы он был равен произведению размерной единицы на множитель (например, 3x, 2x, 1x, 0,5x, 0,25x и т.д.).
Регулирование шага линий сетки предоставляет пользователю возможность быстро изменять шаг линий сетки до надлежащего размера, что способствует быстрому и эффективному черчению. Например, пользователь может проектировать компоновку веб-сайта, начиная с сетки, имеющей шаг линий сетки, равный 100 элементам изображения. Пользователь может начать чертить большие объекты в веб-сайте (например, таблицы, кнопки, списки и т.д.). Пользователь может начертить объект, соответствующий шагу линий сетки, равному 100 элементам изображения (что делает эту сетку удобной для облегчения черчения объектов этого размера). Затем пользователь может перейти к черчению объектов меньшего размера в веб-сайте (например, эскизов, строк состояния и т.д.). Пользователь может начертить объект, имеющий размерную единицу (длину отрезка прямой), равную 20 элементам изображения. Динамическая сетка может обнаружить размерную единицу, равную 20 элементам изображения, и отрегулировать шаг линий сетки на основании размерной единицы ранее начерченного объекта. Теперь пользователь обеспечен сеткой (имеющей меньший шаг линий сетки), которая является более подходящей для того, что пользователь чертит в текущий момент времени (более мелкий объект).
Шаг линий сетки может быть обнаружен и автоматически отрегулирован сеткой. Шаг линий сетки может быть автоматически отрегулирован на основании множителя размерной единицы, заданного по умолчанию. Множителем, заданным по умолчанию, может являться значение, выбранное в пределах интервала возможных установочных параметров сетки, значение, вычисленное сеткой, и/или любое другое подходящее значение. Пользователь также имеет опцию задания того, каким может быть значение умножителя. Одним вариантом реализации может являться постановка множителей (например, 3x, 2x, 1x, 0,5x и т.д.) в соответствие "горячим" клавишам на клавиатуре. В этом случае пользователь может использовать "горячую" клавишу для быстрого переключения между множителями, которые могут быть применены к размерной единице ранее начерченного объекта. Например, пользователь может начертить объект, затем быстро отрегулировать шаг линий сетки до половины (0,5x) длины (размерной единицы) того, что только что было начерчено, без необходимости думать о задании абсолютных размеров. Регулирование шага линий сетки может быть выполнено, когда сетка находится в режиме декартовых координат, в режиме радиальных координат или в ином координатном режиме.
Динамическая сетка также может ориентировать сетку на основании угла ранее начерченного объекта. В одном из примеров распознают ранее начерченный объект (например, отрезок прямой), определяют угол, под которым был начерчен ранее начерченный объект, а затем ориентируют сетку на основании этого угла. Один из способов ориентирования сетки заключается в повороте сетки на количество градусов, равное этому углу. Сетка может быть автоматически переориентирована, когда объект начерчен. Ориентирование также может быть выполнено в ответ на ввод пользователем данных, указывающих, как сетка должна быть ориентирована. Ориентирование сетки позволяет пользователю быстро чертить объекты под углами без дополнительных вычислений.
В одном из примеров пользователь чертит линию, перпендикулярную к оси X сетки. Вторая линия начерчена под углом 35 градусов от оси X сетки. Сетка может автоматически ориентировать сетку (или пользователь может отрегулировать ее вручную) на основании угла, равного 35 градусам. Ориентирование может быть выполнено путем поворота сетки (ось X, Y) на 35 градусов. Этот поворот может быть выполнен путем поворота сетки на угол с использованием начала координат в качестве точки поворота. Теперь ось X является перпендикулярной второй линии, что позволяет чертить дальнейшие объекты относительно новой ориентации сетки. Ориентирование по углу может быть выполнено, когда сетка находится в режиме декартовых координат, в режиме радиальных координат или в ином координатном режиме.
Динамическая сетка может быть повторно сцентрирована исходя из положения ранее начерченного объекта. Этим положением может являться координата последней начерченной вершины, положение центра последнего созданного объекта и/или любое иное подобающее положение. Начало координат сетки может быть повторно сцентрировано таким образом, чтобы оно соответствовало координатам ранее начерченного объекта. Повторное центрирование может быть выполнено автоматически после того, как начерчены объекты. Повторное центрирование также может быть выполнено вручную в ответ на ввод пользователем данных, указывающих, что должно быть выполнено повторное центрирование сетки. Это предоставляет пользователю возможность начинать черчение объектов с координаты центра (например, 0,0 или начала координат) сетки. Повторное центрирование может быть выполнено, когда сетка находится в режиме декартовых координат, в режиме радиальных координат или в ином координатном режиме.
Динамическая сетка может быть переключена между координатными режимами динамически (во время черчения) на основании некоторых критериев. Этими критериями могут являться ввод данных пользователем или автоматическая реакция на событие (например, на завершение черчения объекта). Переключение режима может быть сделано в ответ на ввод данных пользователем, указывающий, что режим должен быть переключен. Режим также может быть переключен автоматически, когда иной координатный режим является более подходящим для ранее начерченного объекта. Динамическое переключение режима обеспечивает адаптивную среду, которая облегчает, например, черчение в координатах X, Y и/или черчение в угловых координатах.
Один из вариантов осуществления представления сетки на дисплее проиллюстрирован посредством показанного на Фиг.1 способа 100, который приведен в качестве примера. Способ начинают с операции 102. При операции 104 распознают ранее начерченный объект. Ранее начерченным объектом может являться отрезок прямой, форма или любой иной объект, по меньшей мере, с двумя точками координат. Ранее начерченным объектом может являться последний начерченный объект или любой иной ранее начерченный объект.
После того как ранее начерченный объект распознан, выполняют операцию 106, при которой определяют размерную единицу ранее начерченного объекта. Размерной единицей может являться разность между двумя точками координат объекта, размер отрезка прямой, расстояние между центром и вершиной, длина ранее начерченного объекта и/или любая иная надлежащая размерная единица ранее начерченного объекта.
При операции 108 регулируют шаг линий сетки в зависимости от размерной единицы. Шагом линий сетки может являться расстояние между линиями сетки. Шаг линий сетки может быть отрегулирован на основании заданного пользователем или заданного по умолчанию множителя размерной единицы. Например, сетка может быть начата с шага линий сетки, равного 500 элементам изображения. Пользователь может начертить линию, которая имеет длину 300 элементов изображения (следовательно, размерная единица равна 300 элементам изображения). Пользователь может указать, что множитель должен быть равен 0,5. После того как определены ранее начерченный объект (линия) и размерная единица (300 элементов изображения), вычисляют новый шаг линий сетки. Новый шаг линий сетки равен размерной единице, умноженной на заданный пользователем множитель (300 элементов изображения × 0,5 = 150 элементов изображения). Теперь новая сетка имеет шаг линий сетки, равный 150 элементам изображения, обеспечивая для пользователя линии сетки, расстояние между которыми равно половине длины линии, ранее начерченной пользователем.
Множитель, заданный по умолчанию, может быть задан автоматически, или этот множитель может быть задан пользователем в любой момент времени. Множитель, заданный пользователем, может быть реализован посредством ввода данных пользователем (например, посредством "горячих" клавиш клавиатуры). Способ 100 регулирования шага линий сетки может быть выполнен автоматически в любой момент времени (например, после каждого начерченного объекта), или когда введенные пользователем данные указывают, что должен быть отрегулирован шаг линий сетки. При операции 110 способ завершают.
Один из вариантов осуществления представления сетки на дисплее проиллюстрирован посредством показанного на Фиг.2 способа 200, который приведен в качестве примера. Способ начинают с операции 202. При операции 204 распознают ранее начерченный объект. После того как ранее начерченный объект распознан, выполняют операцию 206, при которой определяют угол ранее начерченного объекта. Этот угол может быть представлен как количество градусов относительно оси X, на которой начерчен объект (например, последняя вершина, отрезок прямой и т.д.). При операции 208 сетку ориентируют на основании этого угла. Сетка может быть ориентирована путем поворота сетки на количество градусов, соответствующие этому углу. Способ 200 может быть выполнен автоматически (например, после каждого начерченного объекта), или когда введенные пользователем данные указывают, что следует выполнить ориентирование сетки. При операции 210 способ завершают.
На Фиг.3 проиллюстрирован пример системы 300, сконфигурированной для визуального отображения сетки 302 на дисплее. Система 300 содержит компонент 304 текущего контроля чертежа, компонент 306 регулирования сетки и компонент 316 регулирования координат. Компонент 306 регулирования сетки содержит компонент 308 центрирования, компонент 310 ориентирования и компонент 312 изменения размера. Система 300 также может содержать набор множителей 314, заданных по умолчанию.
Компонент 304 текущего контроля чертежа может быть сконфигурирован для распознавания ранее начерченного объекта 318 на сетке 302. Ранее начерченным объектом 318 является отрезок прямой, начерченный под углом 322. Ранее начерченный объект 318 имеет длину L 320 (расстояние между координатой начала и координатой конца). Компонент 304 текущего контроля чертежа может быть сконфигурирован для определения размерной единицы, с которой был начерчен ранее начерченный объект 318. В этом примере размерная единица может быть равной L 320, представляющей собой длину ранее начерченного объекта 318. Компонент 304 текущего контроля чертежа также может быть сконфигурирован для определения угла 322, под которым начерчен ранее начерченный объект 318.
Компонент 304 текущего контроля чертежа может быть сконфигурирован для передачи данных о размерной единице (L 320) и/или об угле 322, который был определен из ранее начерченного объекта 318, в компоненты, содержащиеся в компоненте 306 регулирования сетки. Компонент 304 текущего контроля чертежа может передать данные о размерной единице (L 320) в компонент 312 изменения размера и/или передать данные об угле 322 в компонент 310 ориентирования.
Компонент 312 изменения размера может быть сконфигурирован для регулирования шага линий сетки (S 324) сетки 302. Компонент 312 изменения размера может отрегулировать шаг линий сетки (S 324) в зависимости от размерной единицы (L 320). Компонент 312 изменения размера может выбрать (автоматически или в ответ на ввод данных пользователем) множитель из набора множителей 314, заданных по умолчанию, или из множителя, заданного пользователем. Шаг линий сетки (S 324) может быть отрегулирован таким образом, чтобы он соответствовал размерной единице (L 320), умноженной на множитель. Компонент 312 изменения размера может быть сконфигурирован для регулирования шага линий сетки (S 324) сетки 302 автоматически или в ответ на ввод данных пользователем.
Компонент 310 ориентирования может быть сконфигурирован для ориентирования сетки 302 на основании углу 322. Компонент 310 ориентирования может ориентировать сетку 302 путем поворота сетки 302 на количество градусов, соответствующие углу 322. Компонент 310 ориентирования может быть сконфигурирован для ориентирования сетки 302 автоматически или в ответ на ввод данных пользователем.
Компонент 308 центрирования может быть сконфигурирован для регулирования положения сетки 302 на основании положения ранее начерченного объекта 318. Компонент 308 центрирования может отрегулировать положение сетки 302 путем повторного центрирования начала координат (координаты 0,0) сетки 302, перемещая его в последнюю начерченную вершину ранее начерченного объекта 318. Компонент 308 центрирования может быть сконфигурирован для повторного центрирования сетки 302 автоматически или в ответ на ввод данных пользователем. Компонент 316 регулирования координат может быть сконфигурирован для регулирования режима сетки (в декартовых координатах, в радиальных координатах и т.д.). Компонент 316 регулирования координат может быть сконфигурирован для регулирования режима сетки автоматически или в ответ на ввод данных пользователем.
На Фиг.4 проиллюстрирован пример 400 представления сетки 402 на дисплее до ориентирования и повторного центрирования сетки 402. Кроме того, на чертеже Фиг.4 проиллюстрирован пример 420 представления сетки 402 после ориентирования и повторного центрирования сетки 402.
В примере 400 проиллюстрирована сетка 402 в режиме декартовых координат, имеющих начало координат (0,0) 412. Пользователем начерчены различные объекты (набор линий). Ранее начерченным объектом 404 может являться последняя линия (объект), начерченная пользователем. Ранее начерченный объект 404 содержит угол 406, под которым был начерчен ранее начерченный объект 404. Ранее начерченный объект 404 также может содержать последнюю начерченную вершину 408. Последней начерченной вершиной 408 может являться последняя начерченная точка координат (конечная точка или вершина линии) в ранее начерченном объекте 404.
В примере 420 проиллюстрирована сетка 402 после того, как она была ориентирована и повторно сцентрирована. Сетка 402 была ориентирована таким образом, чтобы она соответствовала углу 406 ранее начерченного объекта 404. Сетка 402 повернута на количество градусов, равное углу 406. Сетка 402 также была повторно сцентрирована. Положение начала координат 412 сетки 402 повторно сцентрировано таким образом, чтобы оно совпадало с положением ранее начерченного объекта 404. Повторно сцентрированным положением начала координат может являться последняя начерченная вершина 408 в ранее начерченном объекте 404.
На Фиг.5 проиллюстрирован пример 500 представления сетки 502 на дисплее до регулирования шага линий сетки и повторного центрирования сетки 502. Кроме того, на Фиг.5 проиллюстрирован пример 520 представления сетки 502 после регулирования шага линий сетки и повторного центрирования сетки 502.
В примере 500 проиллюстрирована сетка 502 в режиме декартовых координат, имеющая шаг линий сетки (S1 508) и начало координат 510 (0,0). Пользователем начерчены различные объекты (наборы линий). Ранее начерченным объектом 504 может являться последняя линия, начерченная пользователем. Ранее начерченный объект 504 содержит размерную единицу (L 506), которая может представлять собой длину ранее начерченного объекта 504.
В примере 520 проиллюстрирована сетка 502, которая была повторно сцентрирована и в которой был отрегулирован шаг линий сетки. Сетка 502 имеет новый шаг линий сетки (S2 524). Новый шаг линий сетки (S2 524) может быть определен на основании размерной единицы (L 506) ранее начерченного объекта 504 и множителя. Для определения нового шага линий сетки (S2 524) может быть использован множитель, заданный по умолчанию, или множитель, заданный пользователем. Например, сетка 502 имеет шаг линий сетки (S1 508), равный 100 элементам изображения. Размерная единица (L 506) может быть равна 200 элементам изображения. Пользователь определяет множитель, равный 1. Новый шаг линий сетки (S2 524) теперь равен 200 элементам изображения (размерная единица × множитель). Размерная единица (L 506) (длина ранее начерченного объекта 504) не изменяется, когда отрегулирован шаг линий сетки.
Сетка 502 также повторно сцентрирована. Положение начала координат 510 сетки 502 повторно сцентрировано таким образом, чтобы оно совпадало с положением ранее начерченного объекта 504. Ранее начерченный объект 504 содержит последнюю начерченную вершину 512. Повторно сцентрированным положением начала координат может являться последняя начерченная вершина 512 в ранее начерченном объекте 504.
На Фиг.6 проиллюстрирован пример 600 представления сетки 602 на дисплее до регулирования координатного режима и повторного центрирования сетки 502. Кроме того, на Фиг.6 проиллюстрирован пример 610 представления сетки 602 после регулирования координатного режима и повторного центрирования сетки 602.
В примере 600 проиллюстрирована сетка 602 в режиме декартовых координат (X, Y), имеющая начало координат 604 (0,0). Сетка 602 содержит ранее начерченный объект 606 с последней начерченной вершиной 608. Для пользователя может оказаться целесообразным переключиться из режима декартовых координат в режим радиальных координат, поскольку ранее начерченный объект 606 был начерчен под углом. Следующий объект, который может начертить пользователь, также может быть расположен под углом. Режим радиальных координат является подходящим для черчения объектов под углами вследствие расположения линий сетки.
В примере 610 проиллюстрирована сетка 602 в режиме радиальных координат. Сетка 602 может быть переключена между режимами радиальных координат и декартовых координат (или из режима декартовых координат в режим радиальных координат) автоматически или в ответ на ввод данных пользователем. Сетка 602 также является повторно сцентрированной. Положение начала координат 604 сетки 602 повторно сцентрировано таким образом, что оно соответствует последней начерченной вершине 608.
На Фиг.7 проиллюстрирован пример 700 системы для представления сетки 704 на дисплее 702 пользователю 706. Пользователь 706 может видеть сетку 704 на дисплее 702 и использовать клавиатуру 708 для взаимодействия с сеткой 704 (например, задавать то, как представлена сетка). Клавиатура содержит клавишу 710 "изменить размер сетки", клавишу 712 "сцентрировать сетку", клавишу 714 "изменить координатный режим", клавишу 716 "сориентировать сетку" и набор клавиш 718 "множитель". Пользователь 706 может использовать клавишу 710 "изменить размер сетки" для регулирования шага линий сетки. Клавиша 712 "сцентрировать сетку" позволяет пользователю 706 повторное сцентрировать положение (например, начало координат) сетки 704 в соответствии с положением ранее начерченного объекта. Клавиша 714 "изменить координатный режим" позволяет пользователю переключать координатный режим сетки 704 между координатными режимами.
Клавиша 716 "сориентировать сетку" позволяет пользователю 706 ориентировать сетку 704 в соответствии с углом ранее начерченного объекта. Сетка 704 может быть повернута на количество градусов, соответствующее этому углу. Набор клавиш 718 "множитель" позволяет пользователю задавать множитель. Затем этот множитель используют при изменении размера (изменении шага линий сетки) сетки 704. Клавиатура 708 и функциональные возможности, содержащиеся в клавишах клавиатуры 708, могут быть активизированы пользователем 706 в любой момент времени.
Еще один вариант осуществления изобретения включает в себя считываемый посредством компьютера носитель информации, содержащий выполняемые процессором команды, сконфигурированные для реализации одного или большего количества представленных здесь способов. Приведенный в качестве примера считываемый посредством компьютера носитель информации, который может быть разработан подобным образом, проиллюстрирован на Фиг.8, на котором этот вариант 800 реализации содержит считываемый посредством компьютера носитель 816 информации (например, компакт-диск с однократной записью (CD-R), универсальный цифровой диск с однократной записью (DVD-R) или жесткий диск накопителя на жестких дисках), на котором закодированы считываемые посредством компьютера данные 810. Это считываемые посредством компьютера данные 810, в свою очередь, содержат набор машинных команд 812, сконфигурированный для работы согласно одному или большему количеству изложенных здесь принципов. В одном таком варианте 600 осуществления изобретения выполняемые процессором команды 814 могут быть сконфигурированы для выполнения способа, такого как, например, способ 100 из Фиг.1, который приведен в качестве примера. В другом таком варианте осуществления изобретения выполняемые процессором команды 814 могут быть сконфигурированы для реализации системы, такой как, например, система 300 из Фиг.3, которая приведена в качестве примера. Специалистами в данной области техники, имеющими средний уровень квалификации, может быть придумано множество таких считываемых посредством компьютера носителей информации, которые сконфигурированы для работы в соответствии с представленными здесь способами.
Несмотря на то, что предмет изобретения был описан на языке, характерном для структурных признаков и/или методологических действий, следует понимать, что предмет изобретения, определенный в прилагаемой формуле изобретения, необязательно ограничен конкретными признаками или действиями, которые описаны выше. Наоборот, конкретные признаки и действия, которые описаны выше, раскрыты в виде примеров реализации формулы изобретения.
Обычно подразумевают, что используемые в этой заявке на изобретение термины "компонент", "модуль", "система", "интерфейс" и т.п. относятся к связанному с компьютером объекту, реализованному любыми из нижеперечисленных средств: аппаратными средствами, посредством комбинации аппаратных средств и программного обеспечения, посредством программного обеспечения или исполняемого программного обеспечения. Например, компонентом может являться процесс, выполняемый в процессоре, процессор, объект, исполняемый модуль, поток выполняемых задач, программа, и/или компьютер, но эти примеры не являются ограничивающим признаком. В качестве иллюстративного примера компонентом может являться как приложение, выполняемое в контроллере, так и сам контроллер. В процессе и/или в потоке выполняемых задач могут находиться один или большее количество компонентов, и компонент может быть локализованным на одном компьютере и/или распределенным между двумя или большим количеством компьютеров.
Кроме того, заявленный предмет изобретения может быть реализован как способ, устройство или изделие с использованием техники программирования и/или инженерной техники для создания программного обеспечения, аппаратно-реализованного программного обеспечения, аппаратного обеспечения или любой их комбинации для управления компьютером таким образом, чтобы обеспечить реализацию раскрытого предмета изобретения. Подразумевают, что используемый здесь термин "изделие" охватывает собой компьютерную программу, доступ к которой может быть осуществлен с любого считываемого посредством компьютера устройства, носителя или среды. Само собой разумеется, для специалистов в данной области техники понятно, что может быть сделано множество видоизменений этой конфигурации, не выходя за пределы объема или сущности заявленного предмета изобретения.
На Фиг.9 и в приведенном ниже обсуждении приведено краткое общее описание вычислительной среды, пригодной для реализации вариантов осуществления одного или большего количества изложенных здесь положений. Операционная среда из Фиг.9 является только одним из примеров подходящей операционной среды, и подразумевают, что она не накладывает каких-либо ограничений в отношении области применения или функциональных возможностей операционной среды. Примерами вычислительных устройств являются, в том числе персональные компьютеры, серверные компьютеры, карманные или портативные устройства, мобильные устройства (например, мобильные телефоны, персональные цифровые информационные устройства (PDA), устройства воспроизведения мультимедийной информации и т.п.), многопроцессорные системы, бытовая электроника, миникомпьютеры, большие универсальные вычислительные машины, распределенные вычислительные среды, которые включают в себя любую из вышеупомянутых систем или любое из вышеупомянутых устройств и т.п., но эти примеры не являются ограничивающим признаком.
Хотя это не является обязательным условием, варианты осуществления изобретения описаны в общем контексте "считываемых посредством компьютера команд", выполняемых одним или большим количеством вычислительных устройств. Считываемые посредством компьютера команды могут быть распространены посредством считываемых посредством компьютера носителей информации (которые рассмотрены ниже). Считываемые посредством компьютера команды могут быть реализованы в виде программных модулей, таких как, например, функции, объекты, интерфейсы прикладного программирования (API), структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Как правило, функции считываемых посредством компьютера команд могут быть объединены или распределены желательным образом в различных средах.
На Фиг.9 проиллюстрирован пример системы 910, содержащей вычислительное устройство 912, сконфигурированное для реализации одного или большего количества предложенных здесь вариантов осуществления изобретения. В одной из конфигураций вычислительное устройство 912 включает в себя, по меньшей мере, одно устройство 916 обработки и запоминающее устройство 918. В зависимости от точной конфигурации и от типа вычислительного устройства запоминающее устройство 918 может быть энергозависимым (таким как, например, оперативное запоминающее устройство (ОЗУ)), энергонезависимым (таким как, например, постоянное запоминающее устройство (ПЗУ), флэш-память и т.д.) или некоторой комбинацией устройств этих двух типов. Эта конфигурация проиллюстрирована на Фиг.9 пунктирной линией 914.
В других вариантах осуществления изобретения устройство 912 может включать в себя дополнительные признаки и/или функциональные возможности. Например, устройство 912 также может включать в себя дополнительное запоминающее устройство для хранения данных (например, сменное и/или стационарное), в том числе запоминающее устройство на магнитном носителе, оптическое запоминающее устройство и т.п., но эти примеры не являются ограничивающим признаком. Такое дополнительное запоминающее устройство для хранения данных проиллюстрировано на Фиг.9 как запоминающее устройство 920 для хранения данных. В одном из вариантов осуществления изобретения считываемые посредством компьютера команды для реализации одного или большего количества предложенных здесь вариантов осуществления изобретения могут храниться в запоминающем устройстве 920 для хранения данных. В запоминающем устройстве 920 для хранения данных также могут храниться другие считываемые посредством компьютера команды для реализации операционной системы, прикладная программа и т.п. Считываемые посредством компьютера команды могут быть, например, загружены в запоминающее устройство 918 для их выполнения устройством 916 обработки.
Используемый здесь термин "считываемые посредством компьютера носители информации" включает в себя компьютерные запоминающие среды. Компьютерные запоминающие среды включают в себя энергозависимые и энергонезависимые, сменные и стационарные носители информации, реализованные любым способом или посредством любой технологии хранения информации, которой являются, например, считываемые посредством компьютера команды или другие данные. Запоминающее устройство 918 и запоминающее устройство 920 для хранения данных являются примерами компьютерных запоминающих сред. Компьютерные запоминающие среды включают в себя оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ), флэш-память или запоминающее устройство, основанное на иной технологии, постоянное запоминающее устройство на компакт-диске (CD-ROM), универсальные цифровые диски (DVD) или иные оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или иные запоминающее устройства на магнитном носителе или любой другой носитель информации, который может использоваться для хранения желательной информации и к которому может осуществлять доступ устройство 912, но эти примеры не являются ограничивающим признаком. Любые такие компьютерные запоминающие среды могут являться частью устройства 912.
Устройство 912 также может включать в себя соединение (соединения) 926 связи, которое позволяет (которые позволяют) устройству 912 поддерживать связь с другими устройствами. Соединение (соединения) 926 связи может (могут) включать в себя модем, плату сетевого интерфейса (NIC), интерфейс интегральной сети, радиопередатчик/приемник, инфракрасный порт, соединение по универсальной последовательной шине (USB) или другие интерфейсы для соединения вычислительного устройства 912 с другими вычислительными устройствами, но эти примеры не являются ограничивающим признаком. Соединение (соединения) 926 связи может (могут) включать в себя проводное соединение или беспроводное соединение. Соединение (соединения) 926 связи может (могут) обеспечивать передачу и/или прием передаваемой информации.
Термин "считываемые посредством компьютера носители информации" может включать в себя средства связи. Средства связи обычно реализуют считываемые посредством компьютера команды или другие данные в виде "модулированного сигнала передачи данных", например в виде несущей волны или иного транспортного механизма, и включают в себя любые средства доставки информации. Термин "модулированный сигнал передачи данных" может включать в себя сигнал, одна или большее количество характеристик которого установлены или изменены таким образом, что обеспечивают кодирование информации в сигнале.
Устройство 912 может включать в себя устройство (устройства) 924 ввода, например клавиатуру, манипулятор типа "мышь", перо, устройство речевого ввода, устройство сенсорного ввода, инфракрасные камеры, устройства ввода видеоинформации и/или любое другое устройство ввода. В состав устройства 912 также может входить устройство (устройства) 922 вывода, например один или большее количество дисплеев, громкоговорителей, принтеров и/или любых других устройств вывода. Устройство (устройства) 924 ввода и устройство (устройства) 922 вывода могут быть соединены с устройством 912 посредством проводного соединения, беспроводного соединения или любой комбинации этих соединений. В одном из вариантов осуществления изобретения в качестве устройства (устройств) 924 ввода или устройства (устройств) 922 вывода для вычислительного устройства 912 может быть использовано устройство ввода или устройство вывода из другого вычислительного устройства.
Компоненты вычислительного устройства 912 могут быть соединены между собой посредством различных соединений, например посредством шины. Такими межсоединениями могут являться в том числе шина PCI (шина межсоединения периферийных компонентов), например шина PCI Express, универсальная последовательная шина (USB), шина "firewire" (IEEE 1394), структура оптической шины и т.п. В другом варианте осуществления изобретения компоненты вычислительного устройства 912 могут быть соединены между собой посредством сети. Например, запоминающее устройство 918 может состоять из множества физических блоков памяти, расположенных в различных физических местах, связанных между собой сетью.
Для специалистов в данной области техники понятно, что устройства хранения данных, используемые для хранения считываемых посредством компьютера команд, могут быть распределенными по сети. Например, считываемые посредством компьютера команды для реализации одного или большего количества предложенных здесь вариантов осуществления изобретения могут храниться в вычислительном устройстве 930, доступ к которому может быть осуществлен через сеть 928. Вычислительное устройство 912 может осуществлять доступ к вычислительному устройству 930 и загружать часть считываемых посредством компьютера команд или все эти команды для их выполнения. В альтернативном варианте вычислительное устройство 912 может по мере необходимости загружать считываемые посредством компьютера команды по частям, или некоторые команды могут быть выполнены в вычислительном устройстве 912, а некоторые - в вычислительном устройстве 930.
Здесь приведено описание различных операций из вариантов осуществления изобретения. В одном из вариантов осуществления изобретения одна или большее количество описанных операций могут составлять считываемые посредством компьютера команды, хранящиеся на одном или на большем количестве считываемых посредством компьютера носителей информации, которые при их выполнении вычислительным устройством вызывают выполнение вычислительным устройством описанных операций. Порядок, в котором описаны некоторые или все операции, не следует толковать так, как будто бы подразумевают, что эти операции обязательно являются зависимыми от порядка их следования. Для специалиста в данной области техники, извлекающего пользу из этого описания, понятно, что возможен альтернативный порядок следования. Кроме того, понятно, что не все операции обязательно присутствуют в каждом приведенном здесь варианте осуществления изобретения.
Кроме того, используемое здесь словосочетание "приведенный в качестве примера" означает "служащий в качестве примера, образца или иллюстрации". Любой объект изобретения или любую конструкцию, которые описаны здесь как "приведенные в качестве примера", не обязательно следует истолковывать как имеющие преимущество по сравнению с другими объектами изобретения или конструкциями. Наоборот, подразумевают, что использование слова "приведенный в качестве примера" представляет концепции в конкретном виде. Подразумевают, что используемый в этой заявке на изобретение термин "или" означает инклюзивное "или", а не исключающее "или". То есть, если не оговорено иное, или если это ясно из контекста, то подразумевают, что выражение "X использует A или B" означает любую из естественных инклюзивных перестановок. То есть, если X использует A; X использует B; или X использует как A, так и B, то утверждение "X использует A или B" удовлетворяется в любом из вышеупомянутых случаев. Кроме того, обозначение в этой заявке на изобретение и в прилагаемой формуле изобретения объектов в единственном числе, обычно можно толковать как означающие "один или большее количество", если не оговорено иное, или если из контекста ясно, что они относятся к единственному числу.
К тому же, несмотря на то, что изобретение, сущность которого здесь раскрыта, было продемонстрировано и описано применительно к одному или к большему количеству вариантов его реализации, специалисты в данной области техники могут придумать эквивалентные изменения и модификации на основании прочтения и понимания этого описания и приложенных чертежей. Изобретение, сущность которого здесь раскрыта, включает в себя все такие модификации и изменения и ограничено только объемом приведенной ниже формулы изобретения. В частности, в отношении различных функций, выполняемых вышеописанными компонентами (например, элементами, ресурсами и т.д.), подразумевают, что термины, используемые для описания этих компонентов, соответствуют, если не указано обратное, любому компоненту, который выполняет указанную функцию описанного компонента (например, который является функционально эквивалентным), даже если он не является структурно эквивалентным раскрытой структуре, которая выполняет эту функцию в проиллюстрированных здесь вариантах реализации изобретения, сущность которого здесь раскрыта, которые приведены в качестве примеров. В дополнение к этому, несмотря на то, что конкретный признак изобретения, сущность которого здесь раскрыта, мог быть раскрыт применительно только к одному из нескольких вариантов реализации, такой признак может быть объединен с одним или с большим количеством других признаков из других вариантов реализации, что может быть желательным и целесообразным для любого заданного или конкретного применения. Кроме того, подразумевают, что в тех случаях, когда в подробном описании или в формуле изобретения использованы термины "включает в себя", "имеющий", "имеет", "с" или их производные, эти термины являются инклюзивными, подобно термину "содержащий".