RU2376639C2 - Холст с сеткой - Google Patents

Холст с сеткой Download PDF

Info

Publication number
RU2376639C2
RU2376639C2 RU2005105514/02A RU2005105514A RU2376639C2 RU 2376639 C2 RU2376639 C2 RU 2376639C2 RU 2005105514/02 A RU2005105514/02 A RU 2005105514/02A RU 2005105514 A RU2005105514 A RU 2005105514A RU 2376639 C2 RU2376639 C2 RU 2376639C2
Authority
RU
Russia
Prior art keywords
grid
canvas
child
grid lines
virtual
Prior art date
Application number
RU2005105514/02A
Other languages
English (en)
Other versions
RU2005105514A (ru
Inventor
Дмитрий Геннадьевич ТИТОВ (US)
Дмитрий Геннадьевич Титов
Кеннет Б. КУПЕР (US)
Кеннет Б. КУПЕР
Кеннет Л. ЯНГ (US)
Кеннет Л. ЯНГ
Олег Васильевич ОВЕЧКИН (US)
Олег Васильевич ОВЕЧКИН
Питер ФАРАДЕЙ (US)
Питер ФАРАДЕЙ
Джессика Л. ФОСЛЕР (US)
Джессика Л. ФОСЛЕР
Дэниэл Р. ЛЕХЕНБАУЭР (US)
Дэниэл Р. ЛЕХЕНБАУЭР
Цзянь ЮАНЬ (US)
Цзянь ЮАНЬ
Джеффри Т. КРИСОУП (US)
Джеффри Т. КРИСОУП
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2005105514A publication Critical patent/RU2005105514A/ru
Application granted granted Critical
Publication of RU2376639C2 publication Critical patent/RU2376639C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Fencing (AREA)
  • Catching Or Destruction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Baking, Grill, Roasting (AREA)
  • Housing For Livestock And Birds (AREA)

Abstract

Изобретение относится к компьютерной графике. Технический результат - упрощение использования. Предложен способ создания холста с сеткой, используемого в компьютерной графике, содержащий этапы: задают холст, представляющий собой родительский элемент, задают линии сетки, причем линии сетки образуют слоты, задают дочерний элемент и задают двустороннюю взаимосвязь линий сетки с упомянутым дочерним элементом. Также задают размещение дочернего элемента на холсте с сеткой на основании упомянутой двусторонней взаимосвязи. Причем дочерний элемент занимает по меньшей мере один слот. Поддерживают упомянутую двустороннюю взаимосвязь между линиями сетки и упомянутым дочерним элементом, при которой перемещение линий сетки приводит к изменению размеров дочернего элемента, а изменение размеров дочернего элемента приводит к перемещению линий сетки. 2 н. и 17 з.п. ф-лы, 10 ил.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится, в целом, к области компьютерной графики. В частности, это изобретение относится к размещению объектов на экране устройства отображения.
Предшествующий уровень техники
При проектировании схемы (макета) размещения элементов интерфейса пользователя (областей окон, средств управления и т.д.) часто используют холст (полотно) разработчика, а элементы (также именуемые здесь объектами), накладывают на «холст». Однако по мере создания приложения и изменения размера области, покрытой холстом, становится сложным обеспечить интеллектуальное изменение размеров всех элементов. Существующие в настоящее время подходы к решению этой проблемы имеют тенденцию быть неполными, сложными или трудными для понимания разработчиком.
Желательно спроектировать макет размещения таким образом, чтобы он обеспечивал изменение размеров без необходимости написания разработчиком программного кода для изменения размеров. Создание макета размещения приложений, обеспечивающего интеллектуальное изменение размеров, является проблемой, подходы к решению которой в настоящее время реализуют посредством неполных механизмов, чрезвычайно сложных механизмов или посредством программного кода, являющегося недоступным для разработчика.
Обычным механизмом являются макеты размещения в стиле «холста» (полотна). Макет размещения такого типа обеспечивает наличие участка, на котором могут быть закреплены новые элементы, подобно размещению объявлений на доске объявлений. Как и на доске объявлений, помещенные на него объекты являются стационарными, если программист не перемещает их в явном виде.
Другим обычным механизмом являются макеты с пропорциональным изменением размеров. Эти макеты размещения являются аналогичными макетам размещения в стиле холста за исключением того, что всю доску объявлений впоследствии считают единым изображением, которое может быть пропорционально растянуто. Макет этого типа является приемлемым для интерфейса пользователя с фиксированными функциями, размер которого, как предполагают, увеличивается при увеличении размера экрана (например, в простых играх), но является плохим для тех случаев, в которых может быть обеспечено лучшее использование экрана для визуального отображения информации с большей плотностью (например, для отображения информации при обработке текстов).
Еще одним обычным механизмом являются макеты размещения в стиле таблицы. Эти макеты размещения аналогичны схемам размещения, имеющимся в языке гипертекстовой разметки (HTML). Доступное пространство нарезано на отдельные ячейки, при этом каждая ячейка представляет собой контейнер для ее содержимого. Часто для создания желательного макета размещения большие элементы (например, изображения) должны быть разделены на части, распределенные между ячейками.
Другим типом макетов размещения являются макеты на основе присоединения. В этих макетах каждому объекту предоставлена возможность "присоединяться" к сторонам полного холста; например, если происходит его присоединение к левой и к правой сторонам, то при изменении размера приложения его ширина изменяется, а поля остаются неизменными.
Также известны "усовершенствованные" макеты размещения, например, "GridBag" языка Джава (Java). "GridBag" присваивает каждому дочернему элементу информацию о позиционировании (в том числе информацию о занимаемом участке и о полях) и производит анализ данных обо всех дочерних элементах для получения результата. Сам контейнер "GridBag" не является носителем какой-либо информации. Результат является более функциональным, чем вышеупомянутые макеты, но его чрезвычайно трудно реализовать инструментальными средствами (то есть трудно представить в виде ясного и простого интерфейса пользователя).
Обычным вариантом макета является схема типа "пружины и распорки" ("springs and struts"), в которой каждая координата объекта может быть фактически задана в виде выражения, определяющего ее зависимость от любой иной координаты. Например, в среде типа "пружины и распорки" конфигурацию двух элементов можно задать таким образом, чтобы расстояние между ними всегда было равным 10 пикселям. Несмотря на то что первоначально этот способ кажется многообещающим, в нем быстро сталкиваются с трудностями, в частности, когда выполнение программы требует чрезвычайно большой объем вычислений, что, в конечном счете, является непригодным для этой задачи.
С учетом вышеизложенного, существует необходимость в создании систем и способов, устраняющих ограничения и недостатки, присущие известному уровню техники.
Сущность изобретения
Задачей настоящего изобретения является создание такого макета, который обеспечивает несложное "интеллектуальное" изменение размеров. Элементы (то есть объекты) присоединяются к виртуальной сетке, состоящей из линий сетки - из строк и столбцов, заданных по отдельности. Зависимость между объектами и сеткой является двусторонней, поэтому перемещение одного из них (линии сетки или объекта) оказывает воздействие на другой (объект или линию сетки). Другими словами, увеличение/уменьшение размеров объекта приводит к сдвигу линий сетки, а перемещение линии сетки приводит к увеличению/уменьшению размеров объекта. Виртуальная сетка может быть создана до или после создания объектов, что обеспечивает дополнительную гибкость. Дочерний объект может иметь свою собственную виртуальную сетку, которая обеспечивает возможность тонкого многоуровневого управления в тех случаях, когда это желательно.
Дополнительные признаки и преимущества настоящего изобретения станут очевидными из изложенного ниже подробного описания вариантов осуществления изобретения, приведенных в качестве иллюстративных примеров, при их рассмотрении со ссылкой на сопроводительные чертежи.
Краткое описание чертежей
Приведенное выше описание сущности настоящего изобретения, а также приведенное ниже подробное описание предпочтительных вариантов его осуществления станут более понятными при их рассмотрении совместно с приложенными чертежами для вычислительной среды, в которой могут быть реализованы аспекты настоящего изобретения.
Подробное описание предпочтительных вариантов осуществления изобретения
Целью настоящего изобретения является создание такого макета размещения, который обеспечивает присоединение объектов к виртуальной сетке, состоящей из линий сетки по строкам и столбцам, заданных по отдельности. Зависимость (соотношение) между объектами и сеткой является двусторонней, так что увеличение/уменьшение размеров объекта приводит к сдвигу линий сетки, а перемещение линии сетки приводит к увеличению/уменьшению размеров объекта. Такой механизм размещения именуют здесь макетом (механизмом) размещения на "холсте с сеткой".
На Фиг.1 показан пример макета холста с сеткой. Макет холста с сеткой представляет собой взаимодействие между родительским элементом и дочерними элементами. Родительский элемент 10 фактически представляет собой «холст», на котором по желанию могут быть нарисованы объекты 30, 40 в любом месте, и объекты остаются там, где они были помещены. В любой момент времени холст 10 с сеткой может быть разбит на требуемое количество строк R и столбцов С. Каждый дочерний элемент холста с сеткой поддерживает ограничивающий прямоугольник сетки вместе с полями, относящимися к этому прямоугольнику. Например, ограничивающим прямоугольником сетки для объекта 30 является вся строка R1 (то есть R1C1:R1C2). Параметры полей допускают множество типов "присоединения" в пределах ограничивающего прямоугольника сетки с использованием соответствующих смещений относительно границ прямоугольника. Сами строки R и столбцы С принадлежат родительскому элементу 10 холста с сеткой, а их размер может быть задан обычным способом (например, фиксированный размер, размер " в процентах, автоматически регулируемый размер, размер с весовым коэффициентом).
В настоящем изобретении изображение разделяют на виртуальные ячейки, которые отображают только лишь места расположения. Поэтому, например, объект 30 не нужно разбивать на множество ячеек, перемещение каждой из которых необходимо осуществлять по отдельности. Вместо этого, объект 30 занимает несколько виртуальных ячеек на нижележащем холсте 10 с сеткой. Кроме того, объекты могут перекрываться. Линии сетки являются виртуальными и выступают в качестве системы координат, а виртуальные ячейки являются просто проявлениями системы координат. Настоящее изобретение нарушает зависимости, характеризующие то, где именно должны быть расположены дочерние ячейки относительно линий сетки.
Настоящее изобретение может быть реализовано в панели интерфейса пользователя, способной вычислять и размещать дочерние элементы в столбцах и в строках. Дочерним элементом может являться любой объект, например, панель или средство управления. Пересечения линий сетки по столбцам и строкам образуют сетку слотов. Дочерний элемент или объект могут занимать несколько соседних слотов сетки (например, объект 30 занимает слоты или ячейки, заданные строкой R1, столбцом С1 и строкой R1, столбцом С2). Поведение макета размещения объекта определяется параметрами столбцов и строк, которые он занимает. Например, слоту сетки может быть присвоен фиксированный размер путем задания значения ширины в пикселях в соответствующем столбце и значения высоты в пикселях соответствующей строки. Ширина столбца может быть вычислена относительно желательных значений ширины дочерних элементов, проходящих через него. Строке может быть присвоена пропорциональная часть от остального доступного пространства. Объекты могут перекрываться, когда два или большее количество дочерних элементов могут занимать один и тот же поднабор слотов макета размещения (например, см. объекты 20 и 30 на Фиг.5).
Дочерний объект может, например, иметь следующие свойства, но не ограничиваться ими, четыре координаты сетки (ограничивающий прямоугольник ячеек сетки), четыре поля ограничивающего прямоугольника, высоту и ширину объекта. Поля, высота и ширина могут быть заданы как "устанавливаемые автоматически" для того, чтобы они занимали максимально возможное доступное пространство, например, для поддержания соответствующих соотношений и мест расположения. В частности, для ширины и высоты желательно наличие описаний различных типов: абсолютное значение (например, 100 пикселей, 2 дюйма и т.д.), процентное соотношение (например, 10 процентов), автоматический режим (то есть естественные размеры) и звездочка ("*") (например, *, 25* и т.д.). Звездочка представляет собой описание для использования оставшегося пространства. Если два столбца отмечены как "*", то пространство для этих двух объектов разделено пропорционально их значениям, обозначенным звездочками. Это является желательным распределением на основании весовых коэффициентов.
На Фиг.2 показана укрупненная схема последовательности операций, выполняемых в примере способа генерации холста с сеткой. На этапе 100 создают нижележащую (базовую) сетку или родительский элемент путем задания виртуальной сетки, состоящей из линий сетки по строкам и столбцам. Затем на этапе 110 задают объект или объекты с использованием различных свойств и атрибутов, которые может иметь объект. На этом этапе также могут быть заданы строки и столбцы. Предусмотрено наличие цикла до тех пор, пока не будут завершены операции задания. Затем на этапе 120 измеряют сетку и размещают объекты. Полагают следующее: несмотря на то что сетку задают до того, как на ней могут быть размещены объекты, конфигурация сетки может быть задана в любой момент времени до или после размещения на ней объектов. Например, сначала объекты могут быть расположены на странице, а затем может быть задана конфигурация сетки.
Желательно, чтобы контейнер макета начинался как сетка из одной строки и из одного столбца. Сетка имеет фиксированное количество строк и столбцов, но не имеет ячейки. Строки и столбцы могут быть фиксированными или растягивающимися. По мере рисования объектов им, в предпочтительном варианте, присваивают атрибуты двух типов: "строка", "размах строк", "столбец", "размах столбца", для задания ограничивающего прямоугольника из линий сетки и "левая сторона", "правая сторона", "верх", "низ", "ширина", "высота". Объекты помещают в ограничивающий прямоугольник из линий сетки.
Таким образом, пример холста с сеткой обеспечивает создание разнообразных размещений диалоговых элементов и компонентов. Желательно, чтобы набор функциональных возможностей (признаков) содержал следующее: размещение по строкам и столбцам; перекрытие; поддержка установки размеров столбцов и строк в абсолютных величинах, в виде процентного соотношения, "по содержимому" и пропорционально весовым коэффициентам; полное управление местоположением дочернего элемента и поведение при установке размеров.
Желательно, чтобы объекты были упорядочены относительно линий сетки по строкам и столбцам. Например, строки и столбцы могут быть фиксированы и/или может быть задан минимальный размер. Объекты могут быть размещены в сетке таким образом, чтобы они растягивались согласно параметрам строк и столбцов, которые они занимают. Множество объектов может перекрываться, при этом для каждого из них используют различный диапазон ячеек. Подобный пример показан на Фиг.5, описание которой приведено ниже. В предпочтительном варианте сетки обладают способностью привязки к данным, при этом количество строк и столбцов является неизвестным.
Система согласно настоящему изобретению содержит средство (механизм) компоновки, который реализует оптимизированные алгоритмы и способы определения размеров и местоположения объектов, и размеры и местоположения столбцов и строк самой сетки. Как показано на Фиг.3, на высоком уровне примерное средство 200 компоновки находится в компьютере либо объединено с микропроцессором или с контроллером, и поддерживает связь с интерфейсом 210 пользователя и с устройством 220 отображения. Средство компоновки содержит программы 203, 206, служащие соответственно для изменения размеров и позиционирования объектов и для изменения размеров и позиционирования холста.
В предпочтительном варианте операции определения макета размещения могут быть выполнены в двух режимах (независимо в обоих измерениях: по горизонтали (по ширине) и по вертикали (по высоте)). Первым режимом, например, является вычисление с приведением к заранее заданному размеру (например, когда размер задан автором схемы размещения в явном виде). В этом случае размер распределяют по столбцам (строкам) с учетом естественных размеров объекта. Вторым режимом, например, является вычисление с приведением к его естественному размеру (например, когда размер не задан в явном виде). В этом случае определяют естественный размер сетки с учетом естественных размеров объекта и описания размеров в отношении столбцов (строк) и сохраняют пропорции размеров столбцов (строк) в случае описания размера как процентного соотношения и в случае описания размера как пропорционального весовым коэффициентам.
Выполнение программы
Холст с сеткой представляет собой элемент, который может быть использован в системе исполнения программ. Холст 10 с сеткой разделен на строки R и столбцы С, например, как показано на Фиг.4.
Несмотря на то что на Фиг.4 показаны две строки R1, R2 и два столбца C1, С2, полагают, что холст с сеткой может быть разделен на любое количество строк и столбцов. Желательно, чтобы каждая строка и каждый столбец имели информацию об их размерах (например, фиксированный, равный процентному отношению, устанавливаемый автоматически или с весовым коэффициентом).
Дочерние объекты могут быть размещены в любом месте на родительском холсте с сеткой. Дочерние элементы показаны на Фиг.5 в качестве примеров как четыре объекта 20, 30, 40, 50. Объекты 20 и 30 занимают множество ячеек (говорят, что строка и столбец образуют ячейку). Объект 20 расположен в строках R1 и R2 и в столбцах С1 и С2, а объект 30 расположен в строке R1 и в столбцах С1 и С2. Объект
40 целиком расположен в ячейке, образованной строкой R2 и столбцом С1, а объект 50 целиком расположен в ячейке, образованной строкой R2 и столбцом С2.
В этом месте предполагают, что желательно, чтобы нижняя строка R2 макета размещения, показанного на Фиг.5, имела абсолютную высоту, и желательно, чтобы верхняя строка R1 занимала все остальное пространство. На Фиг.6 показан желательный результат при изменении размера этого макета размещения с увеличением его высоты. Следует отметить, что сохраняются исходные фиксированные значения высоты строки R2 и содержащихся в ней объектов или частей объектов. С другой стороны, произошло изменение размеров строки R1 и содержащихся в ней объектов или частей объектов по вертикали таким образом, что ими охвачено дополнительное пространство в этом направлении. Взаимные относительные пропорции объектов и ячеек в строке R1 остаются теми же самыми, что и в исходной строке R1, размер которой не был изменен.
Такой макет может быть достигнут за счет установления соответствующих строк/столбцов (например, высота нижней строки = "150 пикселей"; высота верхней строки = "*", где "*" означает, что она занимает пропорциональную часть доступного пространства после учета фиксированных строк/столбцов; если никакая другая строка не имеет присвоенного ей значения "*", то "*" означает использование всего оставшегося пространства), и задания зависимостей между объектом и сеткой, в том числе полей. Использована система координат, в которой ячейка, заданная С1, R1, обозначена как (0, 0); ячейка, заданная С2, R1, обозначена как (1, 0); ячейка, заданная C1, R2, обозначена как (0, 1); а ячейка, заданная С2, R2, обозначена как (1, 1). Предполагая, что расстояние между краем объекта и соответствующим краем ячейки представляет собой "поле", а поле задают, например, в пикселях или как устанавливаемое автоматически, соотношения между объектами для объектов 20, 30, 40, 50 могут быть в этом случае определены следующим образом.
Объект 20: местоположение сетки = (0, 0)-(1, 1) (это означает, что объект занимает ячейку (0, 0) - ячейку (1, 1), как показано); поле = (10, 10, 10, 10) (это означает, что расстояние от края в каждом направлении до соответствующего ему края ячейки сетки равно 10 пикселям) (следует отметить, что чертежи выполнены не в масштабе); ширина = устанавливается автоматически; высота = устанавливается автоматически.
Объект 30: местоположение сетки = (0, 0)-(1, 0); поле = (20, 20, 20, 10); ширина = устанавливается автоматически; высота = устанавливается автоматически.
Объект 40: местоположение сетки = (0, 1)-(0, 1); поле = (20, 10, автоматически, 20); ширина = фиксированная (например, 100); высота = устанавливается автоматически.
Объект 50: местоположение сетки = (1, 1)-(1, 1); поле = (10, 10, 10, автоматически); ширина = устанавливается автоматически; высота = фиксированная (например, 40).
Желательно, чтобы значения, заданные в явном виде, обозначали измерения, выраженные в явном виде, а значения, заданные как устанавливаемые автоматически, занимали остальное доступное пространство. Полагают, что в различных вариантах реализации поля могут быть заданы для всех сторон, а затем могут быть добавлены дополнительные флаги присоединения. Кроме того, значения, требуемые для дочернего элемента, могут быть недоступными для родительского элемента, и в этом случае холст с сеткой может обеспечивать обработку задач с наличием чрезмерных ограничений, например, путем возврата сообщения об ошибках или, например, путем пересмотра значения таким образом, чтобы оно было достоверным.
Среда выполнения программы функционирует таким образом, что обеспечивает измерение дочерних объектов, распределяет значения ширины строк и высоты столбца согласно любым ограничениям, при которых она работает, а затем размещает дочерние объекты исходя из доступного объема пространства.
Период проектирования
Процесс периода проектирования представляет собой операцию автоматического создания макета размещения объектов на холсте с сеткой с использованием минимального объема данных, заданных пользователем. Автору или разработчику макета предоставлена возможность задавать форму макета и динамическое поведение макета.
На Фиг.7 показан пример способа создания макета размещения холста с сеткой согласно настоящему изобретению. На этапе 700 разработчик размещает объект в конкретном месте на экране устройства отображения (например, в интерфейсе пользователя на устройстве отображения). На этапе 710 задают его ограничивающий прямоугольник из линий сетки. Это соответствует вышеописанному свойству задания местоположения сетки. Затем на этапе 720 при сравнении протяженности этого ограничивающего прямоугольника из линий сетки с желательным положением могут быть определены соответствующие поля и ширина/высота, например, согласно схеме, заданной по умолчанию. Одним из примеров схемы, заданной по умолчанию, является та, в которой (1) если указанное местоположение находится целиком в левой половине пространства, занимаемого прямоугольником из линий сетки, то левое поле и ширину задают в явном виде, а правое поле задают как устанавливаемое автоматически; (2) если указанное местоположение находится целиком в правой половине пространства, занимаемого прямоугольником из линий сетки, то правое поле и ширину задают в явном виде, а левое поле задают как устанавливаемое автоматически; (3) если указанное местоположение охватывает среднюю линию пространства, занимаемого прямоугольником из линий сетки, то левое и правое поля задают в явном виде, а ширину задают как устанавливаемую автоматически; и (4) высоту и верхнее/нижнее поле обрабатывают аналогичным способом.
На Фиг.8 показан пример холста с сеткой, который является полезным для пояснения вышеописанных параметров, в частности, для объекта 50, расположенного в строке R2 в столбце С2. Фиксированные значения показаны сплошными линиями, а значения, устанавливаемые автоматически, показаны пунктирными линиями. Путем переключения между любыми из шести показанных указателей позиционирования (высота, ширина и поля) пользователь может изменять схему позиционирования и заменять любое значение, устанавливаемое автоматически, фактическим текущим фиксированным значением. При желании пользователь может также регулировать ограничивающий прямоугольник из линий сетки путем перемещения четырех внешних указателей привязки к другим желательным линиям сетки. При перемещении или при изменении размера объекта производят повторную оценку его нового положения и вычисляют новые значения в том случае, если пользователем в явном виде выражены какие-либо любые желания. При добавлении или удалении строки или столбца заново вычисляют соседние объекты в том случае, если пользователем в явном виде выражены какие-либо любые желания.
Приведенный в качестве примера способ проектирования содержит этапы: для объекта задают ограничивающий прямоугольник из линий сетки. Если верхний край расположен выше средней линии, то его верхнее поле является фиксированным. Если нижний край также расположен выше средней линии, то его высота является фиксированной, а нижнее поле задают динамически изменяющимся. Однако если нижний край расположен ниже средней линии, то его нижнее поле является фиксированным, а его высоту задают
/>
<!- Верхняя строка !-->
Заполнение скругленного прямоугольника (RoundedRect Fill)="красный" Столбец="0" Расстояние между столбцами (ColumnSpan)="3" Строка="0" Расстояние между строками (RowSpan)="1"
Левое поле="5" Правое поле="5" Ширина="Автоматически"
Верхнее поле="5" Нижнее поле="5" Высота="Автоматически"
/>
</Сетка>
Было упомянуто, что сначала поступает информация о столбцах и строках, а порядком дочерних элементов является тот порядок, в котором их рисуют. Кроме того, каждый объект имеет присоединенные свойства, описывающие прямоугольник сетки, внутри которого помещается объект. Вычисление полей осуществляют относительно указанного прямоугольника сетки. Может быть добавлена. дополнительная привязка к информации для управления поведения во время изменения размеров. Система, имеющая доступ к значениям линии сетки, выбирает прямоугольник относительно ограничивающего прямоугольника сетки и, желательно, с учетом границ сетки и, значений смещения.
Пример вычислительной среды
На Фиг.10 показан пример подходящей среды 800 вычислительной системы, в которой может быть реализовано настоящее изобретение. Среда 800 вычислительной системы является только лишь одним из примеров пригодной вычислительной среды и подразумевают, что этот пример не накладывает каких-либо ограничений в отношении объема использования или функциональных возможностей настоящего изобретения. Вычислительную среду 800 не следует истолковывать как каким-либо образом зависящую от какого-либо из компонентов, изображенных в приведенной в качестве примера операционной среде 800, либо от какой-либо их комбинации, или как среду, зависящую от наличия какого-либо из этих компонентов или какой-либо их совокупности.
Изобретение способно функционировать с многочисленными иными универсальными или специализированными средами или конфигурациями вычислительных систем. Примерами известных вычислительных систем, сред и/или конфигураций, которые могут быть пригодными для использования совместно с настоящим изобретением, являются, в том числе, персональные компьютеры, серверные компьютеры, карманные или портативные компьютерные устройства, многопроцессорные системы, системы на основе микропроцессоров, компьютерные приставки к телевизору, программируемые бытовые электронные приборы, сетевые персональные компьютеры, миникомпьютеры, большие универсальные вычислительные машины, распределенные вычислительные среды, содержащие любую из вышеупомянутых систем или устройств, и т.п., но эти примеры не являются ограничивающим признаком.
Изобретение может быть описано, в общем случае, применительно к исполняемым посредством компьютера командам, например программным модулям, исполняемым компьютером. Программные модули обычно содержат подпрограммы, программы, объекты, компоненты, структуры данных и т.д., выполняющие конкретные задачи или реализующие отдельные абстрактные типы данных. Изобретение также может быть реализовано в распределенных вычислительных средах, в которых выполнение задач осуществляют посредством удаленных устройств обработки, поддерживающих связь через сеть связи или через иную среду передачи данных. В распределенной вычислительной среде программные модули могут находиться как в локальных, так и в удаленных компьютерных запоминающих средах, в том числе в запоминающих устройствах для хранения данных.
Со ссылкой на Фиг.10, приведенная в качестве примера система, пригодная для реализации настоящего изобретения, содержит универсальное вычислительное устройство, выполненное в виде компьютера 810. В состав компьютера 810 могут входить, но не ограничиваться ими, следующие компоненты: процессор 820, системная память 830 и системная шина 821, соединяющая различные компоненты системы, в том числе системную память, с процессором 820. Системная шина 821 может представлять собой любую из нескольких типов шин различной архитектуры, в том числе шину памяти или контроллер памяти, шину периферийных устройств и локальную шину с использованием любой из множества архитектур шин. В качестве примеров, не являющихся ограничением, могут быть приведены архитектуры шин: шина архитектуры промышленного стандарта (ISA), шина микроканальной архитектуры (MCA), шина расширенной архитектуры промышленного стандарта (EISA), локальная шина стандарта Ассоциации по стандартам в области видеоэлектроники (VESA) и шина соединения периферийных компонентов (PCI) (также известная как шина расширения).
Компьютер 810 обычно содержит множество считываемых компьютером носителей информации. Считываемыми компьютером носителями информации могут быть любые существующие носители информации, к которым компьютер 810 может осуществлять доступ, и ими могут быть как энергозависимые, так и энергонезависимые носители информации, как сменные, так и стационарные носители информации. Считываемыми посредством компьютера носителями информации могут являться, например, но без ограничения, компьютерные запоминающие среды и среды связи. Компьютерными запоминающими средами являются, в том числе, энергозависимые и энергонезависимые, сменные и стационарные носители информации, реализованные любым способом или посредством любой технологии, которые служат для сохранения информации, например считываемых посредством компьютера команд, структур данных, программных модулей или иных данных. Компьютерными запоминающими средами являются, в том числе, оперативные запоминающие устройства (ОЗУ), постоянные запоминающие устройства (ПЗУ), электрически стираемые программируемые постоянные запоминающие устройства (ЭСППЗУ), флэш-память или запоминающие устройства на основе иных технологий, постоянные запоминающие устройства на компакт-дисках (CD-ROM), универсальные цифровые диски (DVD) или иные запоминающие устройства на оптических дисках, магнитные кассеты, магнитная лента, запоминающие устройства на магнитных дисках или иные магнитные запоминающие устройства, либо любые иные носители информации, которые могут быть использованы для запоминания желательной информации, а доступ к ним может быть осуществлен посредством компьютера 810, но эти примеры не являются ограничивающим признаком. Среда связи обычно обеспечивает реализацию считываемых посредством компьютера команд, структур данных, программных модулей или иных данных в виде модулированного информационного сигнала, например несущей, или посредством иного механизма транспортировки, и в ее состав входят любые средства передачи информации. Термин "модулированный информационный сигнал" означает сигнал, один или большее количество параметров которого устанавливают или изменяют таким образом, чтобы обеспечить кодирование информации в сигнале. Примерами среды связи являются, в том числе, средства проводной связи, например, но не ограничиваясь ими, сеть проводной связи или прямое проводное соединение, и средства беспроводной связи, например, средства акустической связи, радиосвязи, инфракрасной связи и иные средства беспроводной связи. Термин "считываемый компьютером носитель информации" также охватывает совокупности любых из вышеуказанных носителей и средств.
Системная память 830 содержит компьютерную запоминающую среду в виде энергозависимой и/или энергонезависимой памяти, например, постоянное запоминающее устройство (ПЗУ) 831 и оперативное запоминающее устройство (ОЗУ) 832. Хранение базовой системы 833 ввода-вывода (BIOS), содержащей базовые подпрограммы, помогающие осуществлять передачу информации между элементами в компьютере 810, например, во время запуска, обычно осуществляют в ПЗУ 831. ОЗУ 832 обычно содержит данные и/или программные модули, к которым процессор 820 имеет непосредственный доступ и/или которые обрабатываются им в текущий момент времени. В качестве примера, который не является ограничивающим, на Фиг.10 показана операционная система 834, прикладные программы 835, другие программные модули 836 и данные 837 программ.
Компьютер 810 может также содержать иные сменные/стационарные энергозависимые/энергонезависимые компьютерные запоминающие среды. Только в качестве примера на Фиг.10 показан накопитель 841 на жестких дисках, который осуществляет считывание информации со стационарного энергонезависимого магнитного носителя или ее запись на него, накопитель 851 на магнитных дисках, который осуществляет считывание информации со сменного энергонезависимого магнитного диска 852 или ее запись на него, и накопитель 855 на оптических дисках, который осуществляет считывание информации со сменного энергонезависимого оптического диска 856, например, с постоянного запоминающего устройства на компакт-диске (CD-ROM) или с иного оптического носителя информации, или запись на него. Другими сменными/стационарными энергозависимыми/энергонезависимыми компьютерными запоминающими средами, которые могут быть использованы в приведенной в качестве неограничивающего примера операционной среде, являются, в том числе, кассеты с магнитной лентой, платы флэш-памяти, универсальные цифровые диски, цифровая видеолента, твердотельное ОЗУ, твердотельное ПЗУ и т.п. Накопитель 841 на жестких дисках обычно подключен к системной шине 821 через интерфейс стационарных запоминающих устройств, например, интерфейс 840, а накопитель 851 на магнитных дисках и накопитель 855 на оптических дисках обычно подключены к системной шине 821 через интерфейс сменных запоминающих устройств, например интерфейс 850.
Вышеописанные накопители и соответствующие им компьютерные запоминающие среды, обеспечивают запоминание считываемых посредством компьютера команд, структур данных, программных модулей и других данных для компьютера 810. Например, на Фиг.10 накопитель 841 на жестких дисках изображен как устройство, обеспечивающее хранение операционной системы 844, прикладных программ 845, других программных модулей 846 и данных 847 программ. Следует отметить, что эти компоненты могут быть как идентичными соответственно операционной системе 834, прикладным программам 835, другим программным модулям 836 и данным 837 программ, так и отличаться от них. На этом чертеже операционной системе 844, прикладным программам 845, другим программным модулям 846 и данным 847 программ присвоены иные номера для пояснения того, что они представляют собой, по меньшей мере, иные копии. Ввод команд и информации в компьютер 810 пользователь может осуществлять посредством устройств ввода данных, например, клавиатуры 862 и координатно-указательного устройства 861, обычно именуемого манипулятором "мышь", шаровым манипулятором или сенсорной панелью. Другими устройствами ввода данных (не показаны) могут являться, в том числе, микрофон, джойстик, игровая клавишная панель, спутниковая антенна, сканер и т.п. Эти и другие устройства ввода данных часто соединяют с процессором 820 через интерфейс 860 ввода данных пользователя, подключенный к системной шине, но они могут быть также подключены через иной интерфейс и шины иной структуры, например, через параллельный порт, игровой порт или через универсальную последовательную шину (USB). К системной шине 821 через интерфейс, например, через видеоинтерфейс 890, также подключен монитор 891 или устройство визуального отображения иного типа. Помимо монитора компьютеры также могут содержать и другие периферийные устройства вывода, например громкоговорители 897 и принтер 896, которые могут быть подключены через интерфейс 895 периферийных устройств вывода.
Компьютер 810 может функционировать в сетевой среде с использованием логических соединений с одним или более удаленных компьютеров, например с удаленным компьютером 880. Удаленный компьютер 880 может представлять собой персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, равноправное устройство или иной узел общей сети и обычно содержит многие или все из тех элементов, описание которых было приведено выше применительно к компьютеру 810, несмотря на то, что на Фиг.10 изображено всего лишь одно запоминающее устройство 881. Изображенные на чертеже логические соединения содержат локальную сеть 871 (ЛС) и глобальную сеть 873 (ГС), но также могут содержать и другие сети/шины. Такими широко распространенными сетевыми средами являются офисные сети, компьютерные сети масштаба предприятия, внутрикорпоративные сети (интрасети) и сеть Интернет.
При использовании компьютера 810 в среде локальной сети (ЛС) его соединяют с локальной сетью 871 через сетевой интерфейс или адаптер 870. При использовании компьютера 810 в среде глобальной сети он обычно содержит модем 872 или иное средство установления связи через глобальную сеть 873, которой является, например, сеть Интернет. Модем 872, который может быть внутренним или внешним, может быть соединен с системной шиной 821 через интерфейс 860 ввода данных пользователя или иное надлежащее устройство. В сетевом окружении сохранение программных модулей, изображенных на чертеже как относящихся к компьютеру 810, или их частей может быть осуществлено в удаленном запоминающем устройстве. В качестве примера, не являющегося ограничивающим, на Фиг.10 изображено, что удаленные прикладные программы 885 хранятся в запоминающем устройстве 881. Понятно, что показанные на чертеже сетевые соединения приведены лишь в качестве примера, и что может быть использовано иное средство установления канала связи между компьютерами.
Как было упомянуто выше, несмотря на то что описание приведенных в качестве примеров вариантов осуществления настоящего изобретения было изложено применительно к различным вычислительным устройствам, основные концепции могут быть применены для любого вычислительного устройства или системы.
Различные описанные здесь способы могут быть реализованы посредством аппаратного или программного обеспечения либо посредством их совокупности в тех случаях, когда это является целесообразным. Таким образом, способы и устройства по настоящему изобретению либо некоторые его аспекты или части могут быть выполнены в виде программного кода (то есть команд), реализованного в материальных носителях информации, например, на гибких дискетах, постоянных запоминающих устройствах на компакт-дисках (CD-ROM), накопителях на жестких дисках или на любом ином считываемом компьютером носителе информации, в котором после загрузки и выполнения программного кода в машине, которой является, например, компьютер, эта машина становится устройством, обеспечивающим практическую реализацию настоящего изобретения. В том случае когда выполнение программного кода осуществляют в программируемых компьютерах, вычислительное устройство обычно содержит процессор, считываемый процессором носитель информации (включая энергозависимое и энергонезависимое запоминающие устройства и/или запоминающие элементы), по меньшей мере, одно устройство ввода данных и, по меньшей мере, одно устройство вывода данных. При желании программа(ы) может быть реализована на ассемблере или на машинном языке. В любом случае язык программирования может являться компилируемым или интерпретируемым языком и может быть связан с вариантами аппаратной реализации.
Способы и устройства из настоящего изобретения могут быть также осуществлены с использованием средств обмена информацией, реализованных в виде программного кода, передаваемого через какую-либо среду передачи информации, например, по электрическим проводам или по кабелю, по волоконно-оптическому кабелю или любым иным способом передачи, в котором после приема, загрузки и выполнения программного кода машиной, например стираемым программируемым постоянным запоминающим устройством (СППЗУ), матрицей логических элементов, программируемым логическим устройством (ПЛУ), клиентским компьютером, видеомагнитофоном или подобным устройством, эта машина становится устройством, способным обеспечивать практическую реализацию настоящего изобретения. При реализации в универсальном процессоре объединение программного кода с процессором приводит к созданию уникального устройства, функционирующего таким образом, что оно обеспечивает функциональные возможности настоящего изобретения. Кроме того, любые способы сохранения данных, используемые в настоящем изобретении, всегда могут представлять собой совокупность аппаратных и программных средств.
Несмотря на то что описание настоящего изобретения было приведено применительно к предпочтительным вариантам его осуществления, изображенным на различных чертежах, следует понимать, что могут быть использованы и иные аналогичные варианты его осуществления либо вышеописанные варианты осуществления могут быть видоизменены и дополнены таким образом, чтобы обеспечить выполнение той же самой функции настоящего изобретения, не выходя за пределы его сущности. Поэтому настоящее изобретение не следует ограничивать каким-либо одним вариантом его осуществления, но следует толковать в расширительном смысле в соответствии с объемом патентных притязаний, определяемым приложенной формулой изобретения.

Claims (19)

1. Холст с сеткой, используемый в компьютерной графике, содержащий холст, представляющий собой родительский элемент, линии сетки на холсте, причем линии сетки образуют слоты, по меньшей мере один дочерний элемент, причем каждый дочерний элемент занимает по меньшей мере один слот, причем между линиями сетки и каждым дочерним элементом поддерживается двусторонняя взаимосвязь, при этом размещение каждого дочернего элемента на холсте с сеткой задается упомянутой двусторонней взаимосвязью.
2. Холст с сеткой по п.1, в котором линии сетки определяют по меньшей мере одно из: строку, столбец или по меньшей мере одну строку и по меньшей мере один столбец.
3. Холст с сеткой по п.2, в котором строка или столбец являются, соответственно, виртуальной строкой или виртуальным столбцом.
4. Холст с сеткой по п.1, в котором каждый дочерний элемент дополнительно содержит ограничивающий прямоугольник из линий сетки, который включает в себя упомянутый дочерний элемент.
5. Холст с сеткой по п.4, в котором ограничивающий прямоугольник из линий сетки содержит множество строк и столбцов, которые содержат упомянутый дочерний элемент.
6. Холст с сеткой по п.4, в котором ограничивающий прямоугольник из линий сетки имеет параметры полей для обеспечения желательных смещений для дочернего элемента.
7. Холст с сеткой по п.1, в котором упомянутая двусторонняя взаимосвязь линий сетки с упомянутым каждым дочерним элементом на холсте определяется как значения, задаваемые в явном виде.
8. Холст с сеткой по п.1, в котором упомянутая двусторонняя взаимосвязь линий сетки с упомянутым каждым дочерним элементом на холсте определяется как значения, устанавливаемые автоматически.
9. Способ создания холста с сеткой, используемого в компьютерной графике, содержащий этапы: задают холст, представляющий собой родительский элемент, задают линии сетки, причем линии сетки образуют слоты, задают дочерний элемент и задают двустороннюю взаимосвязь линий сетки с упомянутым дочерним элементом, задают размещение дочернего элемента на холсте с сеткой на основании упомянутой двусторонней взаимосвязи, причем дочерний элемент занимает по меньшей мере один слот, поддерживают упомянутую двустороннюю взаимосвязь между линиями сетки и упомянутым дочерним элементом, при которой перемещение линий сетки приводит к изменению размеров дочернего элемента, а изменение размеров дочернего элемента приводит к перемещению линий сетки.
10. Способ по п.9, в котором этап задания двусторонней взаимосвязи линии сетки с дочерним элементом на холсте повторяют для множества линий сетки и множества дочерних элементов.
11. Способ по п.9, дополнительно содержащий этап добавления линии сетки к холсту динамически.
12. Способ по п.9, дополнительно содержащий этапы: накладывают сетку на холст, причем сетка содержит множество виртуальных линий сетки, задают двустороннюю взаимосвязь по меньшей мере одной из множества виртуальных линий сетки с по меньшей мере одним из множества дочерних элементов на холсте.
13. Способ по п.9, дополнительно содержащий этап добавления дочернего элемента на сетку.
14. Способ по п.9, дополнительно содержащий этап помещения виртуальной линии сетки на холст согласно заранее определенной двусторонней взаимосвязи виртуальной линии сетки с по меньшей мере одним из множества дочерних элементов на холсте.
15. Способ по п.9, дополнительно содержащий этапы: помещение виртуальной сетки на холст, задание двусторонней взаимосвязи виртуальной линии сетки с по меньшей мере одним из множества дочерних элементов на холсте согласно помещению виртуальной линии сетки на холст.
16. Способ по п.9, дополнительно содержащий этапы: добавление дочернего элемента к холсту, поддержание двусторонней взаимосвязи виртуальной линии сетки с упомянутым дочерним элементом на холсте.
17. Способ по п.9, в котором линии сетки определяют множество виртуальных строк и столбцов, которые определяют множество виртуальных слотов, и по меньшей мере один из множества дочерних элементов занимает множество виртуальных слотов.
18. Способ по п.17, дополнительно содержащий этап добавления дочернего элемента к холсту, причем добавленный дочерний элемент находится в по меньшей мере одном из тех же самых слотов из множества виртуальных слотов, которые заняты по меньшей мере одним из множества дочерних элементов.
19. Способ по п.9, дополнительно содержащий этап задания ограничивающего прямоугольника из линий сетки для дочернего элемента.
RU2005105514/02A 2004-03-31 2005-02-28 Холст с сеткой RU2376639C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/815,067 US20050237321A1 (en) 2004-03-31 2004-03-31 Grid canvas
US10/815,067 2004-03-31

Publications (2)

Publication Number Publication Date
RU2005105514A RU2005105514A (ru) 2006-08-10
RU2376639C2 true RU2376639C2 (ru) 2009-12-20

Family

ID=34887735

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2005105514/02A RU2376639C2 (ru) 2004-03-31 2005-02-28 Холст с сеткой

Country Status (18)

Country Link
US (1) US20050237321A1 (ru)
EP (1) EP1583036A3 (ru)
JP (1) JP2005293552A (ru)
KR (1) KR101130487B1 (ru)
CN (1) CN1677343B (ru)
AU (1) AU2005200389B2 (ru)
BR (1) BRPI0500582A (ru)
CA (1) CA2496101A1 (ru)
CO (1) CO5680120A1 (ru)
IL (1) IL167162A (ru)
MX (1) MXPA05002325A (ru)
MY (1) MY144679A (ru)
NO (1) NO20051057L (ru)
NZ (1) NZ538523A (ru)
RU (1) RU2376639C2 (ru)
SG (1) SG115729A1 (ru)
TW (1) TW200532485A (ru)
ZA (1) ZA200501720B (ru)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099385A (ja) * 2004-09-29 2006-04-13 Fujitsu Ltd 形状設計支援プログラム
US7581169B2 (en) * 2005-01-14 2009-08-25 Nicholas James Thomson Method and apparatus for form automatic layout
JP4665933B2 (ja) * 2006-07-04 2011-04-06 セイコーエプソン株式会社 文書編集支援装置、プログラムおよび記憶媒体
US20080062204A1 (en) * 2006-09-08 2008-03-13 Microsoft Corporation Automated pixel snapping for anti-aliased rendering
US8782551B1 (en) * 2006-10-04 2014-07-15 Google Inc. Adjusting margins in book page images
US7912829B1 (en) 2006-10-04 2011-03-22 Google Inc. Content reference page
US7979785B1 (en) 2006-10-04 2011-07-12 Google Inc. Recognizing table of contents in an image sequence
US20080115081A1 (en) * 2006-11-09 2008-05-15 Microsoft Corporation Enhanced windows management feature
JP4337867B2 (ja) * 2006-12-01 2009-09-30 セイコーエプソン株式会社 文書編集支援装置、文書編集装置、プログラムおよび記憶媒体
US20080218532A1 (en) * 2007-03-08 2008-09-11 Microsoft Corporation Canvas-like authoring experience atop a layout engine
US7712226B1 (en) * 2007-09-21 2010-05-11 Stearns David R Grid system apparatus
US20090106648A1 (en) * 2007-10-19 2009-04-23 Microsoft Corporation Positioning content using a grid
KR100917756B1 (ko) * 2007-12-18 2009-09-15 한국전자통신연구원 도면을 이용한 격자지도 생성방법 및 장치
US9400597B2 (en) * 2008-07-23 2016-07-26 Microsoft Technology Licensing, Llc Presenting dynamic grids
US8751921B2 (en) * 2008-07-24 2014-06-10 Microsoft Corporation Presenting annotations in hierarchical manner
US20100218090A1 (en) * 2009-02-26 2010-08-26 Universal - Ad Ltd. Sub-page-based page layout system and method thereof
US8612858B2 (en) * 2009-05-01 2013-12-17 Apple Inc. Condensing graphical representations of media clips in a composite display area of a media-editing application
US20110249007A1 (en) * 2010-04-13 2011-10-13 Disney Enterprises, Inc. Computer rendering of drawing-tool strokes
US8819557B2 (en) 2010-07-15 2014-08-26 Apple Inc. Media-editing application with a free-form space for organizing or compositing media clips
US20120030550A1 (en) * 2010-07-28 2012-02-02 Chin Ai Method for editing multimedia
US8760453B2 (en) * 2010-09-01 2014-06-24 Microsoft Corporation Adaptive grid generation for improved caching and image classification
US20120102385A1 (en) * 2010-10-25 2012-04-26 Konica Minolta Systems Laboratory Inc. Determining heights of table cells
US9679404B2 (en) 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US9436685B2 (en) 2010-12-23 2016-09-06 Microsoft Technology Licensing, Llc Techniques for electronic aggregation of information
JP5673264B2 (ja) * 2011-03-18 2015-02-18 富士通株式会社 図形描画プログラム、図形描画装置
US8751924B2 (en) 2011-04-27 2014-06-10 Microsoft Corporation Rule-based grid independent of content
US9013510B2 (en) 2011-07-29 2015-04-21 Google Inc. Systems and methods for rendering user interface elements in accordance with a device type
EP2555165B1 (en) 2011-08-04 2020-04-15 Samsung Electronics Co., Ltd. Method and device for packing multiple images
US9164777B2 (en) 2011-08-30 2015-10-20 Microsoft Technology Licensing, Llc Determining the display of equal spacing guides between diagram shapes
TWI579827B (zh) * 2011-09-23 2017-04-21 微軟技術授權有限責任公司 以動態佈局在網格上展現圖磚之技術
US8599217B1 (en) * 2011-09-30 2013-12-03 Google Inc. Methods and apparatus for reordering of rows and columns in layout grids
US8866854B2 (en) 2011-10-31 2014-10-21 Microsoft Corporation Consolidated orthogonal guide creation
US20130167072A1 (en) * 2011-12-22 2013-06-27 Sap Portals Israel Ltd. Smart and Flexible Layout Context Manager
US8458587B1 (en) * 2012-01-27 2013-06-04 Think-Cell Software Gmbh Method of entering page layout constraints into a computer
US9323436B2 (en) 2012-04-05 2016-04-26 Microsoft Technology Licensing, Llc Utilizing drawing guides in determining the display of smart guides in a drawing program
USD728592S1 (en) * 2012-05-02 2015-05-05 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
USD728591S1 (en) * 2012-05-02 2015-05-05 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
USD727931S1 (en) * 2012-05-02 2015-04-28 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
USD727338S1 (en) * 2012-05-02 2015-04-21 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
USD727929S1 (en) * 2012-05-02 2015-04-28 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
USD727337S1 (en) * 2012-05-02 2015-04-21 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
USD728590S1 (en) * 2012-05-02 2015-05-05 Pantech Co., Ltd. Display screen or portion thereof with graphical user interface
US9548042B2 (en) * 2012-06-28 2017-01-17 Adobe Systems Incorporated Responsive document breakpoints systems and methods
KR101221948B1 (ko) * 2012-07-19 2013-02-08 (주)지란지교소프트 윈도우 표시 방법 및 그 방법이 기록된 기록매체
US20140095986A1 (en) * 2012-09-30 2014-04-03 Vinay Krishnaswamy Baseline Alignment
CN103870508B (zh) * 2012-12-18 2016-04-20 腾讯科技(深圳)有限公司 一种网页缩放方法、装置和系统
US9330068B2 (en) * 2013-01-23 2016-05-03 Go Daddy Operating Company, LLC Method for conversion of website content
US10719829B2 (en) 2013-09-09 2020-07-21 Touchtunes Music Corporation Techniques for processing pin-inclusive transactions in connection with an electronic device
WO2015070070A1 (en) * 2013-11-07 2015-05-14 Touchtunes Music Corporation Techniques for generating electronic menu graphical user interface layouts for use in connection with electronic devices
US9582825B2 (en) 2014-03-24 2017-02-28 Touchtunes Music Corporation Systems, apparatuses, and methods for ordering items from an electronic menu, and servicing thereof
US10037122B2 (en) 2014-09-26 2018-07-31 Oracle International Corporation Canvas layout algorithm
JP6465277B6 (ja) * 2014-10-23 2019-03-13 Dynabook株式会社 電子機器、処理方法およびプログラム
US10037131B2 (en) 2015-05-21 2018-07-31 Adobe Systems Incorporated Facilitating object set replication
US10325384B2 (en) 2015-08-20 2019-06-18 International Business Machines Corporation Multi-attribute relation network visualization and interaction interface
US9959257B2 (en) 2016-01-08 2018-05-01 Adobe Systems Incorporated Populating visual designs with web content
KR101759827B1 (ko) * 2016-03-08 2017-07-31 네이버비즈니스플랫폼 주식회사 가변 그리드의 인덱스를 이용한 입력 인식 방법 및 시스템
WO2017200706A1 (en) * 2016-05-17 2017-11-23 Google Llc Systems and methods for automatic determination of layout constraints
KR101866033B1 (ko) * 2016-07-05 2018-06-08 에스케이 주식회사 웹 브라우저에서의 그리드 렌더링 방법 및 이를 적용한 컴퓨팅 시스템
CN108564637B (zh) * 2018-04-19 2022-03-29 北京知道创宇信息技术股份有限公司 几何模型排布方法及装置
US10824318B1 (en) 2018-10-24 2020-11-03 Amdocs Development Limited System, method, and computer program for automatic user interface layout organization
US10984170B2 (en) * 2018-12-26 2021-04-20 Software Ag Systems and/or methods for dynamic layout design
CN110162367B (zh) * 2019-05-10 2020-11-24 上海莉莉丝科技股份有限公司 用户界面自适应配置的方法、系统、设备和介质
CN110211131A (zh) * 2019-05-21 2019-09-06 上海阿几网络技术有限公司 一种基于参数化设计的平面设计尺寸自动拓展方法
CN111651161B (zh) * 2020-07-16 2023-04-18 深圳市易鸿达软件开发有限公司 图形化界面构建方法、装置、计算机设备及存储介质
CN112346725B (zh) * 2020-11-05 2023-12-12 南方电网数字电网研究院有限公司 页面设计方法、装置、设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5490241A (en) * 1989-10-06 1996-02-06 Xerox Corporation Interactive computer graphics system for making precise drawings
US5796401A (en) * 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
JPH11102446A (ja) * 1997-09-29 1999-04-13 Fujitsu Ltd グラフィックス入力装置
US6323879B1 (en) * 1998-05-14 2001-11-27 Autodesk, Inc. Method and system for determining the spacing of objects
US6392673B1 (en) * 1998-09-04 2002-05-21 Microsoft Corporation Method for resizing user interface elements for an operating system
US6694487B1 (en) * 1998-12-10 2004-02-17 Canon Kabushiki Kaisha Multi-column page preview using a resizing grid
US6377285B1 (en) * 1999-01-29 2002-04-23 Sony Corporation Zooming space-grid for graphical user interface
US6919890B2 (en) * 2000-09-28 2005-07-19 Curl Corporation Grid and table layout using elastics
JP2002251624A (ja) * 2001-02-23 2002-09-06 Toppan Printing Co Ltd オブジェクト配置システム、オブジェクト配置方法、オブジェクト配置プログラム、及びオブジェクト配置プログラムを記録した記録媒体
US7136081B2 (en) * 2001-05-25 2006-11-14 Nvidia Corporation System and method of line sampling object scene information

Also Published As

Publication number Publication date
MY144679A (en) 2011-10-31
CN1677343B (zh) 2012-09-05
AU2005200389A1 (en) 2005-10-20
EP1583036A3 (en) 2011-12-07
BRPI0500582A (pt) 2005-11-01
NZ538523A (en) 2007-02-23
KR101130487B1 (ko) 2012-03-27
MXPA05002325A (es) 2005-12-12
KR20060043083A (ko) 2006-05-15
IL167162A (en) 2015-03-31
NO20051057D0 (no) 2005-02-25
CA2496101A1 (en) 2005-09-30
CN1677343A (zh) 2005-10-05
RU2005105514A (ru) 2006-08-10
TW200532485A (en) 2005-10-01
US20050237321A1 (en) 2005-10-27
CO5680120A1 (es) 2006-09-29
ZA200501720B (en) 2006-11-29
AU2005200389B2 (en) 2010-07-29
SG115729A1 (en) 2005-10-28
NO20051057L (no) 2005-10-03
EP1583036A2 (en) 2005-10-05
JP2005293552A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
RU2376639C2 (ru) Холст с сеткой
US7412647B2 (en) Method and system for laying out paginated content for viewing
US8201101B2 (en) Resolution independent layout
US10025767B2 (en) Method and apparatus for form automatic layout
US9760543B2 (en) Graphical tile-based layout
US7730422B2 (en) Smart icon placement across desktop size changes
US7017118B1 (en) Method and apparatus for reordering data items
KR100336738B1 (ko) 네트워크 디스플레이 스테이션에서 하이퍼텍스트 문서 페이지내 핫스포트에 대한 사용자인터페이스 제공 장치 및 방법
RU2386171C2 (ru) Выравнивание в списках, сформированных по шаблону
US20080218532A1 (en) Canvas-like authoring experience atop a layout engine
US20080052617A1 (en) Content Aggregation View Layout Based on Weights
AU2019325910B2 (en) Multi-view masters for graphical designs
Lutteroth et al. Domain specific high-level constraints for user interface layout
CN113849175A (zh) 一种代码生成方法、装置、设备及存储介质
CN113836470A (zh) 一种构建响应式数据展示页面的方法及设备、介质
CN110780872B (zh) 元素排布方法、装置、计算机可读存储介质及设备
CN114741064B (zh) 页面生成方法、装置、系统及存储介质
Quint et al. An abstract model for interactive pictures
CN112000328B (zh) 一种页面可视化编辑方法、装置及设备
CN115344252A (zh) 可视化大屏的生成方法、装置及存储介质
Lanfri Phled45: An enhanced version of caesar supporting 45 geometries
CN115686325A (zh) 页面布局方法、装置、电子设备和存储介质
CN117827175A (zh) 算子参数设置方法和装置、算子流程图创建方法和装置
JP2902856B2 (ja) データ入力編集装置
Wiley Resolution Independent Layout

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130301