Способ и устройство отрисовки графического интерфейса пользователя

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

 

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

[0001] Настоящая заявка основана на и по ней испрашивается приоритет заявки на патент Китая № 201510770907.0, поданной 12 ноября 2015 года, полное содержимое которой включено в настоящий документ посредством ссылки.

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0002] Настоящее раскрытие, в общем, относится к области технологии связи и, более конкретно, к способу и устройству отрисовки графического интерфейса пользователя.

УРОВЕНЬ ТЕХНИКИ

[0003] Графический интерфейс пользователя, кратко называемый GUI, относится к рабочему интерфейсу пользователя, отображаемому в графической форме. Отрисовка GUI может использовать изображения в формате переносимой сетевой графики (PNG). PNG является типом растровых изображений и в качестве ресурса хранится в системе. При компиляции этих ресурсов, каждому изображению назначается идентификатор ресурса. Доступ к ресурсу может быть осуществлен напрямую с помощью его идентификатора. Однако это требует достаточно большого пространства, чтобы отрисовывать GUI с помощью растровых изображений.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0004] Чтобы решить проблему уровня техники, настоящее раскрытие обеспечивает способ и устройство отрисовки графического интерфейса пользователя.

[0005] В соответствии с первым аспектом вариантов осуществления настоящего раскрытия, обеспечен способ отрисовки графического интерфейса пользователя (GUI), включающий в себя:

[0006] прием команды отрисовки для GUI;

[0007] определение данных атрибутов каждого из графических элементов в документе масштабируемой векторной графики (SVG), в соответствии с командой отрисовки; и

[0008] отрисовка GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

[0009] При необходимости, определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя:

[0010] в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки, синтаксический анализ документа SVG, соответствующего окну; и

[0011] определение величины масштабирования, соответствующей атрибуту масштабирования каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут масштабирования является предварительно расширенным атрибутом графического элемента.

[0012] При необходимости, величина масштабирования равна коэффициенту масштабирования в команде масштабирования; или,

[0013] величина масштабирования является заранее установленной величиной; или,

[0014] величина масштабирования является произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

[0015] При необходимости, после того, как документ SVG, соответствующий окну, проанализирован в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки, способ дополнительно включает в себя:

[0016] определение способа выравнивания, соответствующего атрибуту выравнивания каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут выравнивания является предварительно расширенным атрибутом графического элемента.

[0017] При необходимости, способ выравнивания включает в себя: горизонтальное выравнивание, вертикальное выравнивание и/или выравнивание относительно назначенного элемента интерфейса.

[0018] При необходимости, определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя:

[0019] синтаксический анализ документа SVG, в соответствии с командой изменения стиля, содержащейся в команде отрисовки;

[0020] получение имени целевой переменной атрибута каждого из графических элементов в документе SVG из проанализированных данных, полученных путем синтаксического анализа документа SVG;

[0021] определение общей таблицы сравнения, в соответствии с командой изменения стиля, причем общая таблица сравнения записывает, для одного стиля, соответствующие отношения между именами переменных и величинами атрибутов; и

[0022] получение величины целевой переменной, соответствующей величине целевой переменной, из определенной общей таблицы сравнения.

[0023] При необходимости, определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя:

[0024] в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, синтаксический анализ документа SVG, соответствующего элементу интерфейса, причем команда переключения состояния несет в себе идентификацию состояния и величину состояния;

[0025] решение о том, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG; и

[0026] когда атрибут является атрибутом, отслеживающим состояние, определение величины атрибута, соответствующей идентификации и величине состояния.

[0027] При необходимости, определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя:

[0028] синтаксический анализ документа SVG, в соответствии с командой отрисовки содержимого, содержащейся в команде отрисовки;

[0029] получение каждого графического элемента положения из проанализированных данных, полученных путем синтаксического анализа документа SVG, причем графический элемент положения указывает положение области содержимого; и

[0030] отрисовка GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов, включает в себя:

[0031] определение данных положения, указанных каждым графическим элементом положения, в качестве данных целевого положения области содержимого; и

[0032] отрисовка области содержимого в соответствии с определенными данными целевого положения и командой отрисовки содержимого.

[0033] В соответствии со вторым аспектом вариантов осуществления настоящего раскрытия, обеспечено устройство отрисовки графического интерфейса пользователя, включающее в себя:

[0034] модуль приема команд, выполненный с возможностью принимать команду отрисовки GUI;

[0035] модуль определения данных атрибутов, выполненный с возможностью определять данные атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG, в соответствии с командой отрисовки; и

[0036] модуль отрисовки, выполненный с возможностью отрисовывать GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

[0037] При необходимости, модуль определения данных атрибутов включает в себя:

[0038] первый подмодуль синтаксического анализа, выполненный с возможностью, в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки, проводить синтаксический анализ документа SVG, соответствующего окну; и

[0039] подмодуль определения величины масштабирования, выполненный с возможностью определять величину масштабирования, соответствующую атрибуту масштабирования каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут масштабирования является предварительно расширенным атрибутом графического элемента.

[0040] При необходимости, величина масштабирования равна коэффициенту масштабирования в команде масштабирования; или,

[0041] величина масштабирования является заранее установленной величиной; или,

[0042] величина масштабирования является произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

[0043] При необходимости, модуль определения данных атрибутов дополнительно включает в себя:

[0044] подмодуль определения способа выравнивания, выполненный с возможностью определять способ выравнивания, соответствующий атрибуту выравнивания каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут выравнивания является предварительно расширенным атрибутом графического элемента.

[0045] При необходимости, способ выравнивания включает в себя: горизонтальное выравнивание, вертикальное выравнивание и/или выравнивание относительно назначенного элемента интерфейса.

[0046] При необходимости, модуль определения данных атрибутов включает в себя:

[0047] второй подмодуль синтаксического анализа, выполненный с возможностью проводить синтаксический анализ документа SVG, в соответствии с командой изменения стиля, содержащейся в команде отрисовки;

[0048] подмодуль получения имени переменной, выполненный с возможностью получать имя целевой переменной атрибута каждого из графических элементов в документе SVG из проанализированных данных, полученных путем синтаксического анализа документа SVG;

[0049] подмодуль определения таблицы сравнения, выполненный с возможностью определять общую таблицу сравнения, в соответствии с командой изменения стиля, причем общая таблица сравнения записывает, для одного стиля, соответствующие отношения между именами переменных и величинами атрибутов; и

[0050] первый подмодуль определения величины атрибутов, выполненный с возможностью получать величину целевого атрибута, соответствующую величине целевой переменной, из определенной общей таблицы сравнения.

[0051] При необходимости, модуль определения данных атрибутов включает в себя:

[0052] третий подмодуль синтаксического анализа, выполненный с возможностью, в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, проводить синтаксический анализ документа SVG, соответствующего элементу интерфейса, причем команда переключения состояния несет в себе идентификацию состояния и величину состояния;

[0053] подмодуль принятия решения, выполненный с возможностью решать, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG; и

[0054] второй подмодуль определения величины атрибутов, выполненный с возможностью, когда атрибут является атрибутом, отслеживающим состояние, определять величину атрибута, соответствующего идентификации и величине состояния.

[0055] При необходимости, модуль определения данных атрибутов включает в себя:

[0056] четвертый подмодуль синтаксического анализа, выполненный с возможностью проводить синтаксический анализ документа SVG, в соответствии с командой отрисовки содержимого, содержащейся в команде отрисовки;

[0057] подмодуль получения графического элемента положения, выполненный с возможностью получать каждый графический элемент положения из проанализированных данных, полученных путем синтаксического анализа документа SVG, причем графический элемент положения указывает положение области содержимого; и

[0058] модуль отрисовки включает в себя:

[0059] подмодуль определения данных положения, выполненный с возможностью определять данные положения, указанные каждым графическим элементом положения, в качестве данных целевого положения области содержимого; и

[0060] подмодуль отрисовки, выполненный с возможностью отрисовывать область содержимого, в соответствии с определенными данными целевого положения и командой отрисовки содержимого.

[0061] В соответствии с третьим аспектом вариантов осуществления настоящего раскрытия, обеспечено устройство отрисовки графического интерфейса пользователя (GUI), включающее в себя:

[0062] устройство обработки; и

[0063] запоминающее устройство для хранения команд, выполняемых устройством обработки;

[0064] причем устройство обработки выполнено с возможностью выполнять:

[0065] прием команды отрисовки для GUI;

[0066] определение данных атрибутов каждого из графических элементов в документе масштабируемой векторной графики (SVG), в соответствии с командой масштабирования; и

[0067] отрисовка GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

[0068] Техническое решение в соответствии с вариантами осуществления настоящего раскрытия может иметь следующие преимущественные эффекты.

[0069] В настоящем раскрытии, принимают команду отрисовки GUI. Данные атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG определяют в соответствии с командой отрисовки. Затем GUI, которому принадлежат графические элементы, рисуют в соответствии с определенными данными атрибутов. Следовательно, можно заменить растровые изображения на SVG, таким образом, сберегая ресурсы, занимаемые изображениями. Дополнительно, так как данные атрибутов, соответствующие графическому элементу в документе SVG, можно определить на основании команды отрисовки, то графический элемент можно отрисовать в документе SVG, таким образом, улучшив эффективность отрисовки.

[0070] В настоящем раскрытии, графические элементы в документе SVG можно масштабировать, в соответствии с различными коэффициентами масштабирования, посредством расширенного атрибута масштабирования. Следовательно, можно избежать искажения изображений, вызываемого масштабированием SVG, в соответствии с единственным фактором масштабирования в команде масштабирования.

[0071] В настоящем раскрытии, путем расширения атрибута масштабирования, каждый из графических элементов в документе SVG можно масштабировать в соответствии с особым коэффициентом. Дополнительно, путем расширения атрибута выравнивания, каждый из графических элементов в документе SVG можно выровнять особым способом выравнивания.

[0072] В настоящем раскрытии, когда принята команда изменения стиля, имя целевой переменной атрибута графического элемента в документе SVG можно получить из проанализированных данных; общую таблицу сравнения можно определить в соответствии с командой изменения стиля; затем величину целевого атрибута, соответствующую имени целевой переменной, можно получить из определенной общей таблицы сравнения; и GUI, которому принадлежат графические элементы, рисуют заново, в соответствии с величиной целевого атрибута. Тем самым, можно изменить стиль без обязательного изменения изображений для изменения стиля, следовательно, это не требует хранить изображения различных стилей, что сберегает ресурсы и улучшает скорость отрисовки.

[0073] В настоящем раскрытии, когда принята команда переключения состояния графического элемента, можно принять решение, отслеживает ли атрибут графического элемента в документе SVG состояние. Если атрибут отслеживает состояние, то величина атрибута, соответствующая идентификации и величине состояния, может быть определена для атрибута, и элемент интерфейса рисуют в соответствии с величиной атрибута. Тем самым, можно модифицировать величину атрибута, в соответствии с различными состояниями, при этом не изменяя изображение. Затем, в состоянии переключения, не требуется изменять изображение, следовательно, не требуется хранить изображения, соответствующие различным состояниям, что сберегает ресурсы и улучшает скорость отрисовки.

[0074] В настоящем раскрытии, положение области содержимого можно указать с помощью графического элемента положения. Тем самым, положение области содержимого можно определить для отрисовки области содержимого, в соответствии с командой отрисовки содержимого. Это может улучшить эффективность.

[0075] Необходимо понимать, что как вышеуказанное общее описание, так и последующее подробное описание осуществления изобретения, приведены только для примера и объяснения и не ограничивают изобретение согласно формуле изобретения.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0076] Сопровождающие чертежи, которые включены и составляют часть настоящего раскрытия, изображают варианты осуществления в соответствии с настоящим изобретением и вместе с описанием служат для пояснения принципов настоящего изобретения.

[0077] Фиг. 1 является блок-схемой последовательности операций, изображающей способ отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0078] Фиг. 2 является схематическим представлением, изображающим целевое положение графического элемента положения, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0079] Фиг. 3 является блок-схемой устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0080] Фиг. 4 является блок-схемой другого устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0081] Фиг. 5 является блок-схемой другого устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0082] Фиг. 6 является блок-схемой другого устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0083] Фиг. 7 является блок-схемой другого устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0084] Фиг. 8 является блок-схемой другого устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

[0085] Фиг. 9 является блок-схемой устройства для отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

[0086] Теперь будут подробно описаны примерные варианты осуществления, примеры которых изображены на сопровождающих чертежах. Последующее описание ссылается на сопровождающие чертежи, на которых одинаковые числа на различных чертежах представляют одинаковые или подобные элементы, если только не представлено иначе. Реализации, указанные в последующем описании примерных вариантов осуществления, не представляют собой все реализации в соответствии с настоящим изобретением. Напротив, они являются всего лишь примерами устройств и способов в соответствии с аспектами, относящимися к изобретению, согласно приложенной формуле изобретения.

[0087] Термины, используемые в настоящем документе, приведены только для описания конкретного варианта осуществления, а не ограничения настоящего изобретения. В контексте настоящего раскрытия и приложенной формулы изобретения, подразумевается, что термины в формах единственного числа также включают в себя формы множественного числа, если только явно не указано иначе. Необходимо также понимать, что термин «и/или», используемый в настоящем документе, означает любой из или любую возможную комбинацию одного или нескольких связанных перечисленных элементов.

[0088] Необходимо понимать, что, хотя элемент может быть описан с помощью терминов первый, второй или третий и так далее, элемент не ограничен только этими терминами. Эти термины приведены только для различения между элементами одного типа. Например, не удаляясь от объема настоящего раскрытия, первый элемент также можно называть вторым элементом. Подобным образом, второй элемент также можно называть первым элементом. В зависимости от контекста, термин «если», как использовано в настоящем документе, можно интерпретировать как «когда», «где» или «в ответ на».

[0089] Фиг. 1 является блок-схемой, изображающей способ отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия. Как изображено на Фиг. 1, способ можно применить в терминале, и он включает в себя следующие этапы.

[0090] На этапе 101, принимают команду отрисовки GUI.

[0091] На этапе 102, определяют данные атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG, в соответствии с командой отрисовки.

[0092] На этапе 103, GUI, которому принадлежат графические элементы, рисуют в соответствии с определенными данными атрибутов.

[0093] В варианте осуществления настоящего раскрытия, терминал может быть умным терминалом, как, например, смартфон, планшетный компьютер, персональный цифровой помощник (PDA), устройство чтения электронных книг, мультимедийный проигрыватель и тому подобное.

[0094] Здесь, масштабируемая векторная графика (SVG) является графическим форматом, основанным на расширяемом языке (XML) разметки, для описания двумерной векторной графики. Спецификация SVG определяет признаки, синтаксис и эффекты отображения SVG и включает в себя модульное пространство (пространство имен) имен XML и объектную модель документов (DOM). SVG может быть отрисована динамичным и взаимодействующим способом (реализованной во встроенном способе или посредством сценария). SVG не только обеспечивает гиперссылки, но также определяет различные события. Так как SVG поддерживает язык описания сценариев и может быть запрограммирована на Script, ответ на конкретное событие может быть дан путем доступа к элементам и атрибутам SVG DOM, что, таким образом, улучшает динамическое и взаимодействующее выполнение SVG.

[0095] В GUI на основании SVG интерфейс может содержать окно. Окно может содержать элементы интерфейса, каждый из которых может содержать SVG. Документ SVG может содержать различные графические элементы и другие элементы. Здесь, графический элемент может быть прямоугольником, овалом, линейной секцией, путем и тому подобным. Графический элемент может содержать ярлык и/или содержимое ярлыка. Графические элементы составляют основные компоненты документа SVG. Данные документа SVG все содержатся в графических элементах и их атрибутах. Информация о графическом элементе может быть описана с помощью атрибута в форме «Имя=Величина». Атрибут принадлежит графическому элементу.

[0096] В настоящем раскрытии GUI описан с помощью документа SVG. Отрисовка GUI, упомянутая в настоящем раскрытии, означает отрисовка в широком смысле и может включать в себя синтаксический анализ и визуализацию документа SVG. Топологическая структура SVG может быть перевернутым деревом, у которого корневой узел является окном интерфейса, узлы ветвления являются элементами интерфейса, а узлы ниже элементов интерфейса являются графическими элементами SVG. Следовательно, отрисовку можно выполнить уровень за уровнем. Например, отрисовка окна может включать в себя: сперва рисуют окно; затем окно направляет задачу отрисовки SVG; SVG разделяет задачу отрисовки каждому из графических элементов; и отрисовку завершают с помощью графических элементов. Затем отрисовка направляется от окна к первому элементу интерфейса, и элемент интерфейса направляет задачу отрисовки SVG, чтобы SVG конкретно выполнило задачу отрисовки. Обработку продолжают на основании данного принципа до тех пор, пока не завершится отрисовка всего интерфейса.

[0097] Причем на этапе 101 команда отрисовки является командой отрисовки GUI. Когда команда отрисовки принята, GUI может быть отрисован заново. Команда отрисовки может быть командой масштабирования для окна, командой изменения стиля для GUI, командой переключения состояния для элемента интерфейса и так далее.

[0098] На этапе 102, когда команда отрисовки GUI принята, можно провести синтаксический анализ документа SVG в соответствии с командой отрисовки, и данные атрибутов, соответствующие каждому из графических элементов в документе SVG, можно определить в соответствии с проанализированными данными и командой отрисовки. Здесь, данные атрибутов могут включать в себя имя атрибута и соответствующую величину атрибута. Так как SVG основана на XML, то синтаксический анализ документа SVG можно выполнить с помощью объектной модели документов (DOM), простого API для XML (SAX) или активного синтаксического анализатора XML (XPP) и так далее. Например, в DOM, документ SVG представлен в качестве дерева DOM, состоящего из узловых объектов с корнем дерева, являющимся объектом документа, который представляет собой весь обоснованный документ SVG. При таком способе синтаксического анализа, весь документ SVG необходимо проанализировать как целое и нельзя проанализировать по частям. В качестве другого примера, SAX обеспечивает режим для последовательного доступа к документу XML. Последовательности событий активируются во время осуществления доступа к документу, и функция обработки конкретного события запускается для обработки события. Следовательно, можно провести синтаксический анализ документа любого размера, и нет необходимости загружать весь документ.

[0099] В настоящем раскрытии, растровые изображения замещены на SVG, следовательно, можно сберечь ресурсы, занимаемые изображениями. Дополнительно, атрибуты SVG можно расширить. Например, атрибуты можно расширить, как изображено в любой из последующих реализаций.

[0100] Первая реализация: расширение атрибута масштабирования

[0101] Определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя: в соответствии с командой отрисовки для масштабирования окна, которая содержится в команде отрисовки, синтаксический анализ документа SVG, соответствующего окну; и определение величины масштабирования, соответствующей атрибуту масштабирования каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут масштабирования является предварительно расширенным атрибутом графического элемента.

[0102] В настоящей реализации, каждый из графических элементов в документе SVG можно расширить с помощью атрибута масштабирования, как, например, атрибут miui:scale-hint. Величина атрибута масштабирования может быть равна величине коэффициента масштабирования в команде масштабирования. Например, величину атрибута можно настроить как равную фактору масштабирования внешнего элемента. Величина атрибута масштабирования может быть заранее установленной величиной. То есть, величина атрибута масштабирования является заранее установленной величиной, независимо от коэффициента масштабирования элемента, величина атрибута масштабирования не изменится от команды масштабирования. Величина атрибута масштабирования также может быть произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

[0103] Когда команда масштабирования для окна принята, можно провести синтаксический анализ документа SVG, соответствующего окну, для получения проанализированных данных. Величину масштабирования, соответствующая атрибуту масштабирования каждого из графических элементов в документе SVG, определяют в соответствии с проанализированными данными и командой масштабирования. Здесь, величина масштабирования может быть равна коэффициенту масштабирования в команде масштабирования или может быть заранее установленной величиной, или может быть произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

[0104] После того, как величина масштабирования, соответствующая атрибуту масштабирования каждого из графических элементов, определена, GUI, которому принадлежат графические элементы, можно отрисовать в соответствии с определенными величинами масштабирования. Во время способа отрисовки, графические элементы рисуют в соответствии с соответствующими величинами масштабирования. Весь способ отрисовки включает в себя отрисовку множества уровней GUI. Величины масштабирования влияют только на атрибуты масштабирования графических элементов, и величины атрибутов масштабирования графических элементов будут конечным коэффициентом масштабирования после того, как масштабирование выполнено. Следовательно, GUI можно отрисовать в соответствии с величиной масштабирования и другими проанализированными параметрами отрисовки. Например, положение и размер графического элемента можно в конечном итоге определить в соответствии с произведением конечного коэффициента масштабирования и каждой из других величин атрибутов графического элемента (например, величина атрибута положения, величина атрибута размера и тому подобное). Здесь, другие атрибуты необязательно должны быть атрибутом положения и атрибутом размера. Например, для прямоугольника, положение прямоугольника определяется величинами четырех атрибутов: x, y, ширина и высота; и, для круга, положение круга определяется величинами атрибутов: cx, cy и r, то есть координатами cx, cy центра круга и радиусом r круга. Необходимо понимать, что конкретный способ отрисовки может относиться к надлежащей технологии, которая не будет подробно описана в настоящем документе.

[0105] В настоящем варианте осуществления, графические элементы в документе SVG можно масштабировать в соответствии с различными коэффициентами масштабирования с помощью расширенного атрибута масштабирования. Следовательно, можно избежать искажения изображений, вызванного масштабированием SVG, в соответствии с единственным фактором масштабирования в команде масштабирования.

[0106] В опциональной реализации, после того, как проведен синтаксический анализ документа SVG, соответствующего окну, в соответствии с командой масштабирования для окна в команде отрисовки, способ дополнительно включает в себя: определение способа выравнивания, соответствующего атрибуту выравнивания каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG и команды масштабирования, причем атрибут выравнивания является предварительно расширенным атрибутом графического элемента.

[0107] В настоящей реализации, каждый из графических элементов в документе SVG можно расширить с помощью атрибута выравнивания, как, например, атрибут miui:location. Величина атрибута выравнивания может быть различными способами выравнивания, как, например, горизонтальное выравнивание, вертикальное выравнивание и/или выравнивание относительно назначенного элемента интерфейса. Горизонтальное выравнивание может включать в себя выравнивание всегда или выравнивание по левому краю, выравнивание всегда или выравнивание по правому краю, или выравнивание по центру. Вертикальное выравнивание может включать в себя выравнивание всегда или выравнивание по верхнему краю, выравнивание всегда или выравнивание посередине, или выравнивание всегда или выравнивание по нижнему краю. Выравнивание относительно назначенного элемента интерфейса может быть выравниванием по родительскому элементу интерфейса (величина по умолчанию), выравниванием по конкретному элементу интерфейса, который может быть обозначен с помощью идентификации элемента (#<id>). Дополнительно, оно может быть выравниванием по всему изображению SVG.

[0108] Здесь, атрибут выравнивания может иметь все три типа величин, разделенных с помощью символа «|». Например, если желательно, чтобы элемент всегда был в самом левом или самом верхнем углу относительно его родительского элемента, то атрибут miui:location элемента можно настроить как: miui:location=“left|:parent|top”. Здесь,:parent можно опустить: miui:location=“left|top”. Если желательно, чтобы элемент был выравнен по конкретному элементу, то может быть: miui:location=“center|#rect”, чтобы достичь того, что элемент горизонтально выравнен по центру относительно элемента с идентификацией rect.

[0109] После того, как определены величина масштабирования, соответствующая атрибуту масштабирования, и способ выравнивания, соответствующий атрибуту выравнивания каждого из графических элементов, то GUI, которому принадлежат графические элементы, можно отрисовать в соответствии с определенными величинами масштабирования и способами выравнивания. Например, конечное положение и размер каждого из элементов масштабирования можно вычислить в соответствии с величиной масштабирования и способом выравнивания в комбинации с другими атрибутами графического элемента. В таком случае, рисуют GUI, которому принадлежат графические элементы. Во время способа отрисовки, графические элементы рисуют в соответствии с соответственными величинами масштабирования и соответственными способами выравнивания. Весь способ отрисовки включает в себя отрисовку множества уровней GUI. Величины масштабирования и способы выравнивания являются расширенными параметрами в способе отрисовки, и, в конкретном способе отрисовки, GUI можно отрисовать в соответствии с величинами масштабирования, способами выравнивания и другими проанализированными параметрами отрисовки. Необходимо понимать, что конкретный способ отрисовки может ссылаться на надлежащую технологию, которая не будет подробно описана в настоящем документе.

[0110] Из вышеуказанного варианта осуществления понятно, что путем расширения атрибута масштабирования, каждый из графических элементов в документе SVG можно масштабировать в соответствии с особым коэффициентом. Дополнительно, путем расширения атрибута выравнивания, каждый из графических элементов в документе SVG можно выровнять особым способом выравнивания.

[0111] Вторая реализация: расширение динамической переменной для изменения стиля

[0112] Определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя: синтаксический анализ документа SVG в соответствии с командой изменения стиля, содержащейся в команде отрисовки; получение имени целевой переменной атрибута каждого из графических элементов в документе SVG из проанализированных данных, полученных путем синтаксического анализа документа SVG; определение общей таблицы сравнения в соответствии с командой изменения стиля, причем общая таблица сравнения записывает, для одного стиля, соответствующие отношения между именами переменных и величинами атрибутов; и получение величины целевого атрибута, соответствующей величине целевой переменной, из определенной общей таблицы сравнения.

[0113] В настоящей реализации, атрибут любого графического элемента в документе SVG можно расширить с помощью динамической переменной, и величина первоначального атрибута может быть замещена на имя динамической переменной. Например, когда документ SVG сформирован, величина первоначального атрибута графического элемента, которая представляет собой стиль, может быть замещена на имя динамической переменной. В настоящей реализации, множество общих таблиц сравнения также может быть сохранено заранее, и каждая из общих таблиц сравнения записывает, для одного стиля, соответствующие отношения между именами переменных и величинами атрибутов. Когда команда изменения стиля принята, можно провести синтаксический анализ документа SVG, и величины первоначальных атрибутов графических элементов могут быть получены в соответствии с проанализированным результатом. Когда величина первоначального атрибута является в действительности именем целевой переменной, общая таблица сравнения может быть определена в соответствии с командой изменения стиля, и величина целевого атрибута, соответствующая имени целевой переменной, может быть получена из определенной общей таблицы сравнения.

[0114] Дополнительно, формат динамической переменной может начинаться с «$», переменная может быть составлена из букв (a-z, A-Z), цифр (0-9) и подчеркивания «_», и наибольшее число символов может быть ограничено не более, чем 255. Динамическая переменная необязательно должна быть объявлена, и не требуется назначать формат данных. После того, как изображение SVG загружено в запоминающее устройство, программа может выполнить команду для изменения стиля в любое время, для изменения величины атрибута, соответствующей имени переменной, и тип величины атрибута может быть любым типом. Если величина атрибута переменной не является величиной, принимаемой изображением SVG, то изображение SVG может пренебречь величиной.

[0115] После того, как величина целевого атрибута, соответствующая имени целевого атрибута, определена, GUI, которому принадлежат графические элементы, можно отрисовать в соответствии с определенной величиной целевого атрибута. Необходимо понимать, что способ отрисовки требует других параметров отрисовки из проанализированных данных, и величина целевого атрибута является только одним из параметров отрисовки. Дополнительно, конкретный способ отрисовки может ссылаться на надлежащую технологию, которая не будет подробно описана в настоящем документе.

[0116] Из вышеуказанного понятно, что когда команда изменения стиля принята, имя целевой переменной атрибута графического элемента в документе SVG можно получить из проанализированных данных; общая таблица сравнения может быть определена в соответствии с командой изменения стиля; затем величина целевого атрибута, соответствующая имени целевой переменной, может быть получена из определенной общей таблицы сравнения; и GUI, которому принадлежат графические элементы, рисуют заново, в соответствии с величиной целевого атрибута. Тем самым, можно изменить стиль без необходимости изменения изображений для изменения стиля, следовательно, не требуется хранить изображения различных стилей, что сберегает ресурсы и улучшает скорость отрисовки.

[0117] Третья реализация: расширение атрибута с помощью функции отслеживания состояния

[0118] Определение данных атрибутов каждого из графических элементов в документе SVG, в соответствии в командой отрисовки, включает в себя: в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, синтаксический анализ документа SVG, соответствующего элементу интерфейса, причем команда переключения состояния несет в себе идентификацию состояния и величину состояния; решение о том, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG; и, когда атрибут является атрибутом, отслеживающим состояние, определение величины атрибута, соответствующего идентификации и величине состояния.

[0119] Здесь, состояние не является независимым атрибутом, но модификацией или приложением к атрибуту. Для расширения атрибута с помощью функции отслеживания состояния, данные отслеживания состояния могут быть скоррелированы с атрибутом. Корреляция может быть реализована многими способами, например, путем расширения адреса в данных атрибута, который направляет данные отслеживания состояния. Данные отслеживания состояния включают в себя соответствующее взаимоотношение между идентификацией состояния (пример идентификатора id состояния), величиной состояния и величиной атрибута. Идентификатор id состояния может быть цифрой или другим символом для различения различных состояний. После того, как элемент интерфейса выпускает команду для переключения состояния, команда, несущая два параметра: идентификатор id состояния и величину состояния, можно определить, какие атрибуты графического элемента отслеживают состояние, на основании проанализированных данных и идентификации состояния, и можно определить величину атрибута соответствующего атрибута, после того, как состояние переключили.

[0120] В настоящей реализации, атрибут графического элемента в документе SVG может заранее настраивать функцию отслеживания состояния. Атрибут с признаком отслеживания состояния может изменять свою величину атрибута, в соответствии с состоянием элемента интерфейса. При переключении состояния, величина состояния изменится, величина атрибута соответствующего атрибута, отслеживающего состояние, может измениться на величину атрибута, соответствующую величине состояния. Например, атрибут фона кнопки расширен с помощью нажатой функции отслеживания состояния. Более того, соответствующая таблица для атрибута фона и нажатое состояние могут быть предварительно определены в документе SVG (например, нажатие соответствует красному цвету, не нажатие соответствует зеленому цвету). Когда кнопка нажата пользователем, состояние нажатия кнопки изменяется на «нажатие». В этот момент, величина атрибута фона кнопки изменяется на «красный цвет». В настоящем варианте осуществления атрибут графического элемента может быть расширен заранее с помощью функции отслеживания состояния, и соответствующее взаимоотношение между идентификатором (id) состояния элемента интерфейса, величиной состояния и величиной атрибута могут быть сохранены заранее. Когда команда переключения состояния элемента интерфейса принята, можно провести синтаксический анализ документа SVG, соответствующего элементу интерфейса; принимают решение, отслеживает ли атрибут графического элемента состояние, в соответствии с проанализированным результатом. Если атрибут отслеживает состояние, то величина атрибута изменяется на величину атрибута, соответствующую состоянию, и далее GUI, которому принадлежат графические элементы, рисуют в соответствии с величиной атрибута.

[0121] Из вышеуказанного понятно, что в настоящем раскрытии, когда команда переключения состояния графического элемента принята, можно принять решение о том, отслеживает ли атрибут графического элемента в документе SVG состояние. Если атрибут отслеживает состояние, то величина атрибута, соответствующая идентификации и величине состояния, может быть определена для атрибута, и элемент интерфейса рисуют в соответствии с величиной атрибута. Тем самым, можно модифицировать величину атрибута в соответствии с различными состояниями, не изменяя при этом изображения. Затем, в состоянии переключения, не требуется изменять изображение, следовательно, не требуется хранить изображения, соответствующие различным состояниям, что сберегает ресурсы и улучшает скорость отрисовки.

[0122] Четвертая реализация: расширение графического элемента положения

[0123] Определение данных атрибута каждого из графических элементов в документе SVG, в соответствии с командой отрисовки, включает в себя: синтаксический анализ документа SVG, в соответствии с командой отрисовки содержимого, содержащейся в команде отрисовки; получение каждого графического элемента положения из проанализированных данных, полученных путем синтаксического анализа документа SVG, причем графический элемент положения указывает положение области содержимого.

[0124] Отрисовка GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов, включает в себя: определение данных положения, указанных каждым графическим элементом положения, в качестве данных целевого положения области содержимого; и отрисовку области содержимого, в соответствии с определенными данными целевого положения и командой отрисовки содержимого.

[0125] В этом варианте осуществления, графический элемент положения может быть расширен в SVG, как, например, элемент miui::content. Данные положения графического элемента положения являются данными положения содержимого, и они не будут отрисованы, а только использованы для вычисления положения области содержимого. Графический элемент положения представляет собой положение, которое является положением, где расположена область содержимого. Положение графического элемента положения может быть определено присущими SVG атрибутами, как, например, x, y, ширина и высота, или может быть определено атрибутами, как, например, miui:scale-hint и miui:location, или может быть определено атрибутом miui:margin. Здесь, когда атрибут miui:margin определен, величина атрибута будет замещена на величину (x, y) атрибута для конечного решения положения графического элемента. Атрибут miui:scale-hint может быть вовлечен в вычисление размера и положения графического элемента. Атрибут miui:margin указывает, когда элемент находится внутри родительского элемента, насколько велики края. Фиг. 2 является схематическим представлением, изображающим целевое положение графического элемента положения, в соответствии с примерным вариантом осуществления настоящего раскрытия. Левый край представляет собой левый край графического элемента положения внутри родительского элемента; правый край представляет собой правый край графического элемента положения внутри родительского элемента; верхний край представляет собой верхний край графического элемента положения внутри родительского элемента; и нижний край представляет собой нижний край графического элемента положения внутри родительского элемента. В таком случае, miui:margin может быть miui:margin=“ <left> <top> <right> <bottom>”, как, например, miui:margin=“ 10 20 10 20”, или, кратко, miui:margin=“ 10 20”, представляющий собой left=right=10, top=bottom=20, или, дополнительно, кратко miui:margin=“ 10”, представляющий собой left=right= top=bottom.

[0126] Из вышеуказанного варианта осуществления понятно, что положение области содержимого может быть указано с помощью графического элемента положения. Тем самым, положение области содержимого может быть определено для отрисовки области содержимого, в соответствии с командой отрисовки содержимого. Это может улучшить эффективность отрисовки.

[0127] Различные технические признаки в вышеуказанных вариантах осуществления могут быть скомбинированы любым образом, только если они не конфликтуют друг с другом. Для краткости комбинации не будут описаны по отдельности. Однако любая комбинация технических признаков в вышеуказанных вариантах осуществления попадает в объем настоящего раскрытия.

[0128] В соответствии с вышеуказанными вариантами осуществления, относящимися к способу отрисовки графического интерфейса GUI пользователя, настоящее раскрытие также обеспечивает осуществления, относящиеся к устройству отрисовки графического интерфейса GUI пользователя и терминалу, в котором применяют устройство.

[0129] Фиг. 3 является блок-схемой устройства отрисовки графического интерфейса пользователя в соответствии с примерным вариантом осуществления настоящего раскрытия. Устройство включает в себя: модуль 320 приема команд, модуль 340 определения данных атрибутов и модуль 360 отрисовки.

[0130] Здесь, модуль 320 приема команд выполнен с возможностью принимать команду отрисовки GUI.

[0131] Модуль 340 определения данных атрибутов выполнен с возможностью определять данные атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG, в соответствии с командой отрисовки.

[0132] Модуль 360 отрисовки выполнен с возможностью отрисовывать GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

[0133] Из вышеуказанного понятно, что, в настоящем раскрытии, принимают команду отрисовки GUI. Данные атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG определяют в соответствии с командой отрисовки. Затем, GUI, которому принадлежат графические элементы, рисуют в соответствии с определенными данными атрибутов. Тем самым, можно заменить растровые изображения на SVG, таким образом, сберегая ресурсы, занимаемые изображениями. Дополнительно, так как данные атрибутов, соответствующие графическому элементу в документе SVG, могут быть определены на основании команды отрисовки, можно отрисовать графический элемент в документе SVG, таким образом, улучшив эффективность отрисовки.

[0134] Фиг. 4 является блок-схемой другого устройства отрисовки графического интерфейса пользователя, в соответствии с примерным вариантом осуществления настоящего раскрытия. На основании варианта осуществления, изображенного на Фиг. 3, в настоящем варианте осуществления модуль 340 определения данных атрибутов включает в себя: первый подмодуль 341 синтаксического анализа и подмодуль 342 определения величины масштабирования.

[0135] Здесь, первый подмодуль 341 синтаксического анализа выполнен с возможностью, в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки, проводить синтаксический анализ документа SVG, соответствующего окну; и

[0136] подмодуль 342 определения величины масштабирования выполнен с возможностью определять величину масштабирования, соответствующую атрибуту масштабирования каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут масштабирования является предварительно расширенным атрибутом графического элемента.

[0137] Из вышеуказанного понятно, что в настоящем раскрытии графические элементы в документе SVG можно масштабировать в соответствии с различными коэффициентами масштабирования посредством расширенного атрибута масштабирования. Тем самым, можно избежать искажения изображений, вызываемого масштабированием SVG, в соответствии с единственным фактором масштабирования в команде масштабирования.

[0138] Здесь, величина масштабирования равна коэффициенту масштабирования в команде масштабирования; или

[0139] величина масштабирования является заранее установленной величиной; или,

[0140] величина масштабирования является произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

[0141] Фиг. 5 является блок-схемой другого устройства отрисовки графического интерфейса пользователя в соответствии с примерным вариантом осуществления настоящего раскрытия. На основании осуществления, изображенного на Фиг. 4, в настоящем варианте осуществления модуль 340 определения данных атрибутов также включает в себя: подмодуль 343 определения способа выравнивания.

[0142] Здесь подмодуль 343 определения способа выравнивания выполнен с возможностью определять способ выравнивания, соответствующий атрибуту выравнивания каждого из графических элементов в документе SVG, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG и команды масштабирования, причем атрибут выравнивания является предварительно расширенным атрибутом графического элемента.

[0143] Из вышеуказанного понятно, что в настоящем раскрытии, путем расширения атрибута масштабирования, каждый из графических элементов в документе SVG может быть масштабирован в соответствии с особым коэффициентом, Дополнительно, путем расширения атрибута выравнивания, каждый из графических элементов в документе SVG может быть выровнен особым способом выравнивания.

[0144] Здесь, способ выравнивания включает в себя: горизонтальное выравнивание, вертикальное выравнивание и/или выравнивание относительно назначенного элемента интерфейса.

[0145] Фиг. 6 является блок-схемой другого устройства отрисовки графического интерфейса пользователя в соответствии с примерным вариантом осуществления настоящего раскрытия. На основании варианта осуществления, изображенного на Фиг. 3, в настоящем варианте осуществления модуль 340 определения данных атрибутов также включает в себя: второй подмодуль 344 синтаксического анализа, подмодуль 345 получения имени переменной, подмодуль 346 определения таблицы сравнения и первый подмодуль 347 определения величины атрибута.

[0146] Здесь, второй подмодуль 344 синтаксического анализа выполнен с возможностью проводить синтаксический анализ документа SVG в соответствии с командой изменения стиля, содержащейся в команде отрисовки.

[0147] Подмодуль 345 получения имени переменной выполнен с возможностью получать имя целевой переменной атрибута каждого из графических элементов в документе SVG из проанализированных данных, полученных путем синтаксического анализа документа SVG.

[0148] Подмодуль 346 определения таблицы сравнения выполнен с возможностью определять общую таблицу сравнения, в соответствии с командой изменения стиля, причем общая таблица сравнения записывает, для одного стиля, соответствующие отношения между именами переменных и величинами атрибутов.

[0149] Первый подмодуль 347 определения величины атрибута выполнен с возможностью получать величину целевого атрибута, соответствующую величине целевой перемены, из определенной общей таблицы сравнения.

[0150] Из вышеуказанного понятно, что в настоящем раскрытии, когда принята команда изменения стиля, имя целевой переменной атрибута графического элемента в документе SVG можно получить из проанализированных данных; общая таблица сравнения может быть определена в соответствии с командой изменения стиля; затем величина целевого атрибута, соответствующая имени целевой переменной, может быть получена из определенной общей таблицы сравнения; и GUI, которому принадлежат графические элементы, рисуют заново, в соответствии с величиной целевого атрибута. Тем самым, можно изменить стиль, без необходимости изменять изображения для изменения стиля, следовательно, не требуется хранить изображения различных стилей, что сберегает ресурсы хранилища и улучшает скорость отрисовки.

[0151] Фиг. 7 является блок-схемой другого устройства отрисовки графического интерфейса пользователя в соответствии с примерным вариантом осуществления настоящего раскрытия. На основании варианта осуществления, изображенного на Фиг. 3, в настоящем варианте осуществления модуль 340 определения данных атрибутов также включает в себя: третий подмодуль 348 синтаксического анализа, подмодуль 349 принятия решений и второй подмодуль 351 определения величины атрибута.

[0152] Здесь, третий подмодуль 348 синтаксического анализа выполнен с возможностью, в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, проводить синтаксический анализ документа SVG, соответствующего элементу интерфейса, причем команда переключения состояния несет в себе идентификацию состояния и величину состояния.

[0153] Подмодуль 349 принятия решений выполнен с возможностью решать, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние, в соответствии с проанализированными данными, полученными путем синтаксического анализа документа SVG.

[0154] Второй подмодуль 351 определения величины атрибута выполнен с возможностью, когда атрибут является атрибутом, отслеживающим состояние, определять величину атрибута, соответствующую идентификации и величине состояния.

[0155] Из вышеуказанного понятно, что, в настоящем раскрытии, когда команда переключения состояния графического элемента принята, то можно принять решение о том, отслеживает ли атрибут графического элемента документа SVG состояние. Если атрибут отслеживает состояние, то величина атрибута, соответствующая идентификации и величине состояния, может быть определена для атрибута, и элемент интерфейса рисуют в соответствии с величиной атрибута. Тем самым, можно модифицировать величину атрибута в соответствии с различными состояниями, не изменяя при этом изображения. Затем, в состоянии переключения, не требуется изменять изображение, следовательно, не требуется хранить изображения, соответствующие различным состояниям, что сберегает ресурсы и улучшает скорость отрисовки.

[0156] Фиг. 8 является блок-схемой другого устройства отрисовки графического интерфейса пользователя в соответствии с примерным вариантом осуществления настоящего раскрытия. На основании варианта осуществления, изображенного на Фиг. 3, в настоящем варианте осуществления модуль 340 определения данных атрибутов также включает в себя: четвертый подмодуль 352 синтаксического анализа и подмодуль 353 получения графического элемента положения. Модуль 360 отрисовки включает в себя: подмодуль 361 определения данных положения и подмодуль 362 отрисовки.

[0157] Здесь, четвертый подмодуль 352 синтаксического анализа выполнен с возможностью проводить синтаксический анализ документа SVG в соответствии с командой отрисовки содержимого, содержащейся в команде отрисовки.

[0158] Подмодуль 353 получения графического элемента положения выполнен с возможностью получать каждый графический элемент положения из проанализированных данных, полученных путем синтаксического анализа документа SVG, причем графический элемент положения указывает положение области содержимого.

[0159] Подмодуль 361 определения данных положения выполнен с возможностью определять данные положения, указанные каждым графическим элементом положения, в качестве данных целевого положения области содержимого.

[0160] Подмодуль 362 отрисовки выполнен с возможностью отрисовывать область содержимого, в соответствии с определенными данными целевого положения и командой отрисовки содержимого.

[0161] Из вышеуказанного понятно, что в настоящем раскрытии положение области содержимого может быть указано с помощью графического элемента положения. Тем самым, положение области содержимого может быть определено для отрисовки области содержимого, в соответствии с командой отрисовки содержимого. Это может улучшить эффективность отрисовки.

[0162] Соответственно, настоящее раскрытие также обеспечивает устройство отрисовки графического интерфейса GUI пользователя, включающее в себя: устройство обработки; и запоминающее устройство для хранения команд, выполняемых устройством обработки; причем устройство обработки выполнено с возможностью выполнять:

[0163] прием команды отрисовки для GUI;

[0164] определение данных атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG, в соответствии с командой масштабирования; и

[0165] отрисовку GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

[0166] Реализация функций и операций модулей в вышеуказанных устройствах может конкретно ссылаться на реализацию соответствующих этапов в вышеуказанных способах, которые не будут повторно описаны здесь и далее.

[0167] Для вариантов осуществления устройства, так как они соответствуют вариантам осуществления способа, то они могут ссылаться на относящиеся части описания вариантов осуществления способа. Варианты осуществления устройства, описанные выше, приведены только для иллюстрации.

[0168] Фиг. 9 является блок-схемой устройства 900 отрисовки графического интерфейса GUI пользователя в соответствии с примерным вариантом осуществления. Например, устройство 900 может быть мобильным телефоном, компьютером, цифровым широковещательным терминалом, устройством сообщений, игровой приставкой, планшетом, медицинским устройством, оборудованием для управлений, персональным цифровым помощником и тому подобным.

[0169] Со ссылкой на Фиг. 9, устройство 900 может включать в себя один или несколько из следующих компонентов: обрабатывающий компонент 902, запоминающее устройство 904, компонент 906 питания, мультимедийный компонент 908, аудио компонент 910, интерфейс 912 ввода/вывода (I/O), сенсорный компонент 914 и компонент 916 связи.

[0170] Обрабатывающий компонент 902, как правило, управляет всеми операциями устройства 900, как, например, операциями, связанными с отображением, телефонными вызовами, передачей данных, операциями камеры и операциями записи. Обрабатывающий компонент 902 может включать в себя одно или несколько устройств 920 обработки, чтобы выполнять команды для выполнения всех или части этапов в вышеуказанных способах. Более того, обрабатывающий компонент 902 может включать в себя один или несколько модулей, которые способствуют взаимосвязи между обрабатывающим компонентом 902 и другими компонентами. Например, обрабатывающий компонент 902 может включать в себя мультимедийный модуль, чтобы способствовать взаимодействию между мультимедийным компонентом 908 и обрабатывающим компонентом 902.

[0171] Запоминающее устройство 904 выполнено с возможностью хранить различные типы данных для поддержки работы устройства 900. Примеры таких данных включают в себя команды для любых приложений или способов, выполняемых на устройстве 900, контактные данные, данные телефонной книги, сообщения, изображения, видео и так далее. Запоминающее устройство 904 может быть реализовано с использованием любого типа энергозависимых или энергонезависимых запоминающих устройств или их комбинации, как, например, статическое оперативное запоминающее устройство (SRAM), стираемое программируемое постоянное запоминающее устройство (EPROM), программируемое постоянное запоминающее устройство (PROM), постоянное запоминающее устройство (ROM), магнитное запоминающее устройство, флэш-память, магнитный или оптический диск.

[0172] Компонент 906 питания обеспечивает питание различным компонентам устройства 900. Компонент 906 питания может включать в себя систему управления питанием, один или несколько источников питания и любые другие компоненты, связанные с формированием, управлением и распределением питания в устройстве 900.

[0173] Мультимедийный компонент 908 включает в себя экран, обеспечивающий интерфейс вывода между устройством 900 и пользователем. В некоторых вариантах осуществления экран может включать в себя жидкокристаллический дисплей (LCD) и сенсорную панель (TP). Если экран включает в себя сенсорную панель, то экран может быть реализован в качестве сенсорного экрана для приема сигналов ввода от пользователя. Сенсорная панель включает в себя один или несколько датчиков касания для считывания касаний, скольжений и жестов на сенсорной панели. Датчики касания могут не только считывать границы действия касания или скольжения, но также считывают период времени и нажатие, связанные с действием касания или скольжения. В некоторых вариантах осуществленияя мультимедийный компонент 908 включает в себя фронтальную камеру и/или заднюю камеру. Фронтальная камера и задняя камера могут принимать внешние мультимедийные данные, когда устройство 900 находится в рабочем режиме, как, например, в режиме фотографирования или видео режиме. Каждая из фронтальной камеры и задней камеры может быть фиксированной системой оптических линз или иметь способность фокуса и оптического приближения.

[0174] Аудио компонент 910 выполнен с возможностью выводить и/или вводить аудио сигналы. Например, аудио компонент 910 включает в себя микрофон (“MIC”), выполненный с возможностью принимать внешний аудио сигнал, когда устройство 900 находится в рабочем режиме, как, например, режиме вызова, режиме записи и режиме распознавания голоса. Принятый аудио сигнал может быть дополнительно сохранен в запоминающем устройстве 904 или передан по компоненту 916 связи. В некоторых вариантах осуществления аудио компонент 910 дополнительно включает в себя колонку для вывода аудио сигналов.

[0175] Интерфейс 912 I/O обеспечивает интерфейс между обрабатывающим компонентом 902 и периферическими модулями интерфейса, как, например, клавиатура, колесико мышки с возможностью клика, кнопки и тому подобное. Кнопки могут включать в себя, но не ограничены, кнопку домашнего окна, кнопку звука, кнопку пуска и кнопку блокировки.

[0176] Сенсорный компонент 914 включает в себя один или несколько датчиков для обеспечения оценок статуса различных аспектов устройства 900. Например, сенсорный компонент 914 может обнаруживать статус открыто/закрыто устройства 900 относительно положения компонентов, например, дисплея и клавиатуры устройства 900, изменение положения устройства 900 или компонента устройства 900, присутствие или отсутствие контакта пользователя с устройством 900, ориентацию или ускорение/замедление устройства 900 и изменение температуры устройства 900. Сенсорный компонент 914 может включать в себя датчик близости, выполненный с возможностью обнаруживать присутствие ближних объектов без физического контакта. Сенсорный компонент 914 также может включать в себя датчик света, как, например, датчик изображения на комплементарном металл-оксидном полупроводнике CMOS или на приборе CCD с зарядовой связью, для использования в приложениях визуализации. В некоторых вариантах осуществления сенсорный компонент 914 также может включать в себя датчик ускорения, гироскопический датчик, магнитный датчик, датчик нажатия, микроволновый датчик и датчик температуры.

[0177] Компонент 916 связи выполнен с возможностью способствовать связи, проводной или беспроводной, между устройством 900 и другими устройствами. Устройство 900 может осуществлять доступ к беспроводной сети на основании стандарта связи, как, например, WiFi, 2G, или 3G, или их комбинации. В одном примерном варианте осуществления компонент 916 связи принимает сигнал широковещательной передачи или связанную с широковещательной передачей информацию от внешней широковещательной системы управления по каналу широковещательной передачи. В одном примерном варианте осуществления компонент 916 связи дополнительно включает в себя модуль связи (NFC) ближнего поля, чтобы способствовать связи малой дальности. Например, модуль NFC может быть реализован на основании технологии радиочастотной идентификации (RFID), технологии ассоциации (IrDA) передачи данных в инфракрасном диапазоне, сверхширокополосной (UWB) технологии, технологии Bluetooth (BT) и других технологий.

[0178] В примерных вариантах осуществления устройство 900 может быть реализовано с помощью одной или нескольких заказных специализированных интегральных схем (ASIC), цифровых сигнальных устройств (DSP) обработки, цифровых сигнальных обрабатывающих устройств (DSPD), устройств (PLD) с программируемой логикой, программируемых пользователем вентильных матриц (FPGA), устройств управления, микроконтроллеров, микропроцессоров или других электронных компонентов для выполнения вышеописанных способов.

[0179] В примерных вариантах осуществления также обеспечен непереходной машиночитаемый носитель данных, включающий в себя команды, как, например, включенные в запоминающее устройство 904, выполняемые устройством 920 обработки в устройстве 900, для выполнения вышеописанных способов. Например, непереходной машиночитаемый носитель данных может быть ROM, RAM, CD-ROM, магнитной лентой, гибким диском, устройством оптического хранения данных и тому подобным.

[0180] Непереходной машиночитаемый носитель данных, когда команды на носителе данных выполняются устройством обработки терминала, терминал побуждают к выполнению способа отрисовки графического интерфейса GUI пользователя, включающего в себя:

[0181] прием команды отрисовки GUI;

[0182] определение данных атрибутов каждого из графических элементов в документе масштабируемой векторной графики SVG, в соответствии с командой отрисовки; и

[0183] отрисовку GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

[0184] Другие варианты осуществления изобретения будут очевидны специалистам в данной области техники из рассмотрения раскрытия и практического использования изобретения, раскрытого в настоящем документе. Данная заявка подразумевает покрытие любых вариантов, использований или адаптаций изобретения согласно его общим принципам и включает в себя такие удаления от настоящего раскрытия, которые находятся внутри известного или обычного практического использования уровня техники. Подразумевается, что раскрытие и примеры следует рассматривать только как примерные, а истинный объем и сущность изобретения указаны последующей формулой изобретения.

[0185] Очевидно, что настоящее изобретение не ограничено точной конструкцией, описанной выше и изображенной на сопровождающих чертежах, и что различные модификации и изменения могут быть сделаны без отступления от объема изобретения. Подразумевается, что объем изобретения ограничен только приложенной формулой изобретения.

[0186] Вышеуказанное является только предпочтительными вариантами осуществления настоящего раскрытия, которые не ограничивают настоящее раскрытие. Любые модификации, эквиваленты и изменения внутри сущности и идеи настоящего раскрытия находятся внутри объема охраны настоящего раскрытия.

1. Способ отрисовки графического интерфейса пользователя (GUI), содержащий:

прием команды отрисовки для GUI;

определение данных атрибутов каждого из графических элементов в документе масштабируемой векторной графики (SVG) в соответствии с командой отрисовки посредством:

синтаксического анализа документа SVG в соответствии с командой изменения стиля, содержащейся в команде отрисовки, получения имени целевой переменной атрибута каждого из графических элементов в документе SVG из синтаксически проанализированных данных, полученных путем синтаксического анализа документа SVG; определения общей таблицы сравнения в соответствии с командой изменения стиля, причем общая таблица сравнения записывает для одного стиля соответствующие отношения между именами переменных и значениями атрибутов, и получения значения целевого атрибута, соответствующего значению целевой переменной, из определенной общей таблицы сравнения; или

в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, синтаксического анализа документа SVG, соответствующего элементу интерфейса, причем команда переключения состояния содержит идентификацию состояния и значение состояния, решения о том, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG и, когда атрибут является атрибутом, отслеживающим состояние, определения значения атрибута, соответствующего идентификации и значению состояния; и

отрисовку GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

2. Способ по п.1, в котором определение данных атрибутов каждого из графических элементов в документе SVG в соответствии с командой отрисовки дополнительно содержит:

в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки, синтаксический анализ документа SVG, соответствующего окну; и

определение величины масштабирования, соответствующей атрибуту масштабирования каждого из графических элементов в документе SVG, в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут масштабирования является предварительно расширенным атрибутом графического элемента.

3. Способ по п.2, в котором

величина масштабирования равна коэффициенту масштабирования в команде масштабирования; или,

величина масштабирования является заранее установленной величиной; или,

величина масштабирования является произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

4. Способ по п.2, который после того, как документ SVG, соответствующий окну, синтаксически проанализирован в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки, дополнительно содержит:

определение способа выравнивания, соответствующего атрибуту выравнивания каждого из графических элементов в документе SVG, в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут выравнивания является предварительно расширенным атрибутом графического элемента.

5. Способ по п.4, в котором способ выравнивания содержит: горизонтальное выравнивание, вертикальное выравнивание и/или выравнивание относительно назначенного элемента интерфейса.

6. Способ по п.1, в котором определение данных атрибутов каждого из графических элементов в документе SVG в соответствии с командой отрисовки дополнительно содержит:

синтаксический анализ документа SVG в соответствии с командой отрисовки содержимого, содержащейся в команде отрисовки;

получение каждого графического элемента положения из синтаксически проанализированных данных, полученных путем синтаксического анализа документа SVG, причем графический элемент положения указывает положение области содержимого; и

отрисовку GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов, содержит:

определение данных положения, указанных каждым графическим элементом положения, в качестве данных целевого положения области содержимого; и

отрисовку области содержимого в соответствии с определенными данными целевого положения и командой отрисовки содержимого.

7. Устройство для отрисовки графического интерфейса пользователя (GUI), содержащее:

модуль приема команд, выполненный с возможностью принимать команду отрисовки для GUI;

модуль определения данных атрибутов, выполненный с возможностью определять данные атрибутов каждого из графических элементов в документе масштабируемой векторной графики (SVG) в соответствии с командой отрисовки, причем модуль определения данных атрибутов содержит:

второй подмодуль синтаксического анализа, выполненный с возможностью осуществлять синтаксический анализ документа SVG в соответствии с командой изменения стиля, содержащейся в команде отрисовки,

подмодуль получения имени переменной, выполненный с возможностью получать имя целевой переменной атрибута каждого из графических элементов в документе SVG из синтаксически проанализированных данных, полученных путем синтаксического анализа документа SVG,

подмодуль определения таблицы сравнения, выполненный с возможностью определять общую таблицу сравнения в соответствии с командой изменения стиля, причем общая таблица сравнения записывает для одного стиля соответствующие отношения между именами переменных и значениями атрибутов, и

первый подмодуль определения значения атрибутов, выполненный с возможностью получать значение целевого атрибута, соответствующее значению целевой переменной, из определенной общей таблицы сравнения;

или

третий подмодуль синтаксического анализа, выполненный с возможностью осуществлять синтаксический анализ документа SVG, соответствующего элементу интерфейса, в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, причем команда переключения состояния содержит идентификацию состояния и значение состояния,

подмодуль принятия решения, выполненный с возможностью решать, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние, в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG, и

второй подмодуль определения значения атрибутов, выполненный с возможностью определять значение атрибута для атрибута, соответствующего идентификации и значению состояния, когда атрибут является атрибутом, отслеживающим состояние; и

модуль отрисовки, выполненный с возможностью отрисовывать GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.

8. Устройство по п.7, в котором модуль определения данных атрибутов дополнительно содержит:

первый подмодуль синтаксического анализа, выполненный с возможностью осуществлять синтаксический анализ документа SVG, соответствующего окну, в соответствии с командой масштабирования для масштабирования окна, которая содержится в команде отрисовки; и

подмодуль определения величины масштабирования, выполненный с возможностью определять величину масштабирования, соответствующую атрибуту масштабирования каждого из графических элементов в документе SVG, в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут масштабирования является предварительно расширенным атрибутом графического элемента.

9. Устройство по п.8, в котором

величина масштабирования равна коэффициенту масштабирования в команде масштабирования; или,

величина масштабирования является заранее установленной величиной; или,

величина масштабирования является произведением коэффициента масштабирования в команде масштабирования и фактора масштабирования.

10. Устройство по п.8, в котором модуль определения данных атрибутов дополнительно содержит:

подмодуль определения способа выравнивания, выполненный с возможностью определять способ выравнивания, соответствующий атрибуту выравнивания каждого из графических элементов в документе SVG, в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG, и командой масштабирования, причем атрибут выравнивания является предварительно расширенным атрибутом графического элемента.

11. Устройство по п. 10, в котором способ выравнивания содержит: горизонтальное выравнивание, вертикальное выравнивание и/или выравнивание относительно назначенного элемента интерфейса.

12. Устройство по п.7, в котором модуль определения данных атрибутов дополнительно содержит:

четвертый подмодуль синтаксического анализа, выполненный с возможностью осуществлять синтаксический анализ документа SVG в соответствии с командой отрисовки содержимого, содержащейся в команде отрисовки;

подмодуль получения графического элемента положения, выполненный с возможностью получать каждый графический элемент положения из синтаксически проанализированных данных, полученных путем синтаксического анализа документа SVG, причем графический элемент положения указывает положение области содержимого; и

модуль отрисовки содержит:

подмодуль определения данных положения, выполненный с возможностью определять данные положения, указанные каждым графическим элементом положения в качестве данных целевого положения области содержимого; и

подмодуль отрисовки, выполненный с возможностью отрисовывать область содержимого в соответствии с определенными данными целевого положения и командой отрисовки содержимого.

13. Устройство отрисовки графического интерфейса пользователя (GUI), содержащее:

устройство обработки; и

запоминающее устройство для хранения команд, выполняемых устройством обработки;

причем устройство обработки выполнено с возможностью выполнять:

прием команды отрисовки для GUI;

определение данных атрибутов каждого из графических элементов в документе масштабируемой векторной графики (SVG) в соответствии с командой масштабирования посредством:

синтаксического анализа документа SVG в соответствии с командой изменения стиля, содержащейся в команде отрисовки, получения имени целевой переменной атрибута каждого из графических элементов в документе SVG из синтаксически проанализированных данных, полученных путем синтаксического анализа документа SVG; определения общей таблицы сравнения в соответствии с командой изменения стиля, причем общая таблица сравнения записывает для одного стиля соответствующие отношения между именами переменных и значениями атрибутов, и получения значения целевого атрибута, соответствующего значению целевой переменной, из определенной общей таблицы сравнения; или

в соответствии с командой переключения состояния для элемента интерфейса, которая содержится в команде отрисовки, синтаксического анализа документа SVG, соответствующего элементу интерфейса, причем команда переключения состояния содержит идентификацию состояния и значение состояния, решения о том, является ли атрибут каждого из графических элементов в документе SVG атрибутом, отслеживающим состояние в соответствии с синтаксически проанализированными данными, полученными путем синтаксического анализа документа SVG и, когда атрибут является атрибутом, отслеживающим состояние, определения значения атрибута, соответствующего идентификации и значению состояния; и

отрисовку GUI, которому принадлежат графические элементы, в соответствии с определенными данными атрибутов.



 

Похожие патенты:

Изобретение относится к области анализа и обработки изображений документов. Технический результат – повышение точности разделения текстов и иллюстраций в изображениях документов и минимизация ошибок такого разделения.

Изобретение относится к области цифровой обработки изображений. Технический результат – обеспечение обнаружения и оценка толщины прямолинейных протяженных объектов на изображении.

Изобретение относится к области обработки изображений, а именно к распознаванию категории объекта изображения. Технический результат – повышение скорости и точности распознавания категории объекта изображения.

Группа изобретений относится к технологиям обработки изображений. Техническим результатом является повышение эффективности отображения увеличенного изображения.

Группа изобретений относится к технологиям обработки изображений. Техническим результатом является повышение эффективности отображения увеличенного изображения.

Изобретение относится к средствам управления отображением. Технический результат заключается в увеличении качества отображаемого объекта.

Изобретение относится к области телекоммуникации. Технический результат заключается в повышении эффективности управления пользователем учетными записями соответствующих приложений.

Изобретение относится к средствам для регулирования и отображения изображения. Технический результат заключается в уменьшении зрительного утомления пользователя.

Группа изобретений относится к средствам для переключения режима отображения терминалов. Технический результат – возможность переключать режим отображения большого экрана мобильного терминала на режим ввода одной рукой.

Изобретение относится к средствам для регулирования отображения страницы. Технический результат заключается в обеспечении оптимального регулирования разметки прикладной программы.

Изобретение относится к области интерфейсов прикладного программирования. Техническим результатом является управление доступом во время исполнения к интерфейсам прикладного программирования (API).

Изобретение относится к средствам получения сертификата. Технический результат заключается в обеспечении безопасности служебного канала.

Изобретение относится к устройству разблокировки. Технический результат заключается в уменьшении времени для разблокировки экрана.

Изобретение относится к вычислению функции от одних или нескольких входных данных. Технический результат – расширение арсенала технических средств вычисления функции от одних или нескольких входных данных.

Изобретение относится к средствам управления разделителем окон приложения. Технический результат заключается в упрощении размещения окон приложений.

Способ коррекции базовой цифровой модели (5), например, для регулирования турбореактивного двигателя, содержит: этап (Е10) обнаружения стабильного состояния по меньшей мере одного первого параметра (Т25) указанной модели, причем этот первый параметр характеризует сигнал, выдаваемый датчиком (3); этап (Е60) получения параметра коррекции (GainF) указанной модели во время стабильного состояния указанного первого параметра (Т25) в зависимости от указанного первого параметра, от второго параметра (PCN12R) указанной модели и от указанной базовой цифровой модели (5); и этап (Е70) получения модели, скорректированной на основании базовой цифровой модели (5) и параметра коррекции (GainF).

Группа изобретений относится к области вычислительной техники и может быть использована для сложения чисел с плавающей запятой. Техническим результатом является увеличение производительности.

Изобретение относится к удаленной поддержке действий пользователей на терминале. Технический результат – повышение эффективности удаленной поддержки действий пользователей на терминале.

Изобретение относится к компиляции кода программы. Технический результат – повышение эффективности определения порядка инициализации объектов в объектных файлах.

Изобретение раскрывает средства передачи информации между двумя устройствами. Технический результат заключается в обеспечении персонализированной настройки требуемого устройства с использованием связи через тело.

Изобретение относится к области интерфейсов прикладного программирования. Техническим результатом является управление доступом во время исполнения к интерфейсам прикладного программирования (API).

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

Наверх