RU2376639C2 - Холст с сеткой - Google Patents
Холст с сеткой Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000006073 displacement reaction Methods 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 4
- 239000000126 substance Substances 0.000 abstract 1
- 238000003860 storage Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution 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, дополнительно содержащий этап задания ограничивающего прямоугольника из линий сетки для дочернего элемента.
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)
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)
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 |
-
2004
- 2004-03-31 US US10/815,067 patent/US20050237321A1/en not_active Abandoned
-
2005
- 2005-01-31 AU AU2005200389A patent/AU2005200389B2/en not_active Ceased
- 2005-02-03 CA CA002496101A patent/CA2496101A1/en not_active Abandoned
- 2005-02-09 JP JP2005033505A patent/JP2005293552A/ja active Pending
- 2005-02-15 SG SG200500887A patent/SG115729A1/en unknown
- 2005-02-17 TW TW094104695A patent/TW200532485A/zh unknown
- 2005-02-18 BR BR0500582-5A patent/BRPI0500582A/pt not_active IP Right Cessation
- 2005-02-22 KR KR1020050014608A patent/KR101130487B1/ko not_active IP Right Cessation
- 2005-02-25 NO NO20051057A patent/NO20051057L/no not_active Application Discontinuation
- 2005-02-28 CN CN2005100531143A patent/CN1677343B/zh not_active Expired - Fee Related
- 2005-02-28 MX MXPA05002325A patent/MXPA05002325A/es unknown
- 2005-02-28 MY MYPI20050809A patent/MY144679A/en unknown
- 2005-02-28 ZA ZA200501720A patent/ZA200501720B/xx unknown
- 2005-02-28 RU RU2005105514/02A patent/RU2376639C2/ru not_active IP Right Cessation
- 2005-02-28 NZ NZ538523A patent/NZ538523A/en not_active IP Right Cessation
- 2005-03-01 IL IL167162A patent/IL167162A/en not_active IP Right Cessation
- 2005-03-15 CO CO05024082A patent/CO5680120A1/es not_active Application Discontinuation
- 2005-03-18 EP EP05102145A patent/EP1583036A3/en not_active Withdrawn
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 |