BRPI0611325A2 - controle refinado de elementos de ordem-z em uma apresentacão xml - Google Patents

controle refinado de elementos de ordem-z em uma apresentacão xml Download PDF

Info

Publication number
BRPI0611325A2
BRPI0611325A2 BRPI0611325-7A BRPI0611325A BRPI0611325A2 BR PI0611325 A2 BRPI0611325 A2 BR PI0611325A2 BR PI0611325 A BRPI0611325 A BR PI0611325A BR PI0611325 A2 BRPI0611325 A2 BR PI0611325A2
Authority
BR
Brazil
Prior art keywords
user interface
elements
elevation
presentation
display
Prior art date
Application number
BRPI0611325-7A
Other languages
English (en)
Inventor
Nicholas Carl Brook
Stefan Geoffrey Butlin
Jacob Benjamin Blaukopf
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0611325A2 publication Critical patent/BRPI0611325A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)
  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Abstract

CONTROLE REFINADO DE ELEMENTOS DE ORDEM-Z UMA APRESENTAcãO XML. sao descritos diversos métodos e dispositivos para controle refinado de elementos de ordem z em uma apresentacao. é definida uma estrutura que contem elementos de interface de usuário e é definida uma qrdem para renderizar tais elementos de interface de usuário. E desejável renderizar alguns elementos fora da ordem definida, portanto, um elemento de interface de usuário de elevacao é definido permitindo um ou mais elementos de interface de usuário sejam definidos para serem renderizados fora da ordem normalmente definida. Os elementos de interface de usuário podem ser algo a ser apresentado em um display e podem incluir um codigo de programa para definir comportamentos.

Description

"CONTROLE REFINADO DE ELEMENTOS DE ORDEM-Z EM UMAAPRESENTAÇÃO XML"
REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
Este pedido reivindica o beneficio do pedidoprovisório norte-americano No. de Pluralidade 60/686.349,depositado em 31 de maio de 2005, cuja totalidade é poreste aqui incorporada a titulo de referência.
FUNDAMENTOS DA INVENÇÃO
Campo da Invenção
A presente invenção refere-se de maneira geral aoprocessamento variável de interfaces com usuários. Maisespecificamente, a invenção refere-se ao controle darenderização de elementos de interface de usuários.
Descrição da Técnica Relacionada
Em uma linguagem de dados, inclusive linguagensde dados hierárquicos e linguagens de marcação, que incluemas linguagens baseadas em XML, aos elementos de Interfacede usuário (UI). apresentados em um display é dada uma ordempara layout. (Observação: um elemento UI é algo que podeser apresentado na tela. Um elemento de código, porexemplo, pode ser uma linha de código ou um tag em umalinguagem baseada em XML. Um elemento UI pode sercaracterizado por um ou mais elementos de código. Alémdisto, o elemento de código pode não descrever umaapresentação, isto é, ele pode descrever um comportamento).
A ordem de layout é tipicamente definida pelamaneira pela qual os elementos de código associados aoelemento UI são declarados na linguagem. Quando se pintam(ou se renderizam) estes elementos UI no display, a ordemde pintura segue a ordem de layout.
Em um display, a horizontal e a vertical, ocomprimento e a largura, etc., são tipicamente referidos emcoordenadas "x-y" que identificam sua representação em umplano x-y. Quando se apresenta um elemento UI em umaapresentação, sua "ordem z" refere-se à ordem na qual elesse colocam uns com relação aos outros. Embora todos oselementos UI sejam tipicamente vistos no plano x-y, a ordemde apresentação é de interesse porque os elementos UIrenderizados no topo uns dos outros podem (a menos quetenham alguma transparência) cobrir os elementos UIrenderizados abaixo dele.
Utilizando XML como exemplo, uma interface deusuário (UI) especificada em XML tem uma ordem de pinturaimplícita para os elementos UI idêntica à ordem na qualeles são declarados no código. Um UI complexo requer acapacidade de permitir que elementos UI visuais sejamdesenhados no topo de outros elementos UI (declaradosposteriormente na seqüência XML). Portanto, há necessidadede se poder alterar a ordem ζ de renderização.
Os esquemas de linguagem de dados de UI atuaisnão resolvem este problema ou oferecem soluções ineficazespara o problema. Especificamente, a versão 2 dos GráficosVetoriais Escalares (SVG) propôs o controle da ordem ζ deendereçamento. 0 mecanismo para prover este controle nãofoi estabelecido ou definido. Algumas indicações mostramque eles podem utilizar um índice. A utilização de umíndice para controle ζ não sofre de recorte, que éindesejável em um UI.
Outra solução incluía a criação de várias versõesde páginas que continham os elementos UI a seremapresentados, cada página variando a ordem ζ dos elementosde código associados. Entretanto, esta solução envolverecursos adicionais ao exigir o desenvolvimento de páginasadicionais, o armazenamento de páginas e manutenção dealterações no código através de múltiplas páginas e é umaforça bruta, isto é, uma maneira ineficaz de lidar com ocontrole dinâmico da ordem z.
SUMÁRIO DA INVENÇÃO
Os sistemas e métodos compatíveis com a presenteinvenção superam os inconvenientes dos sistemas existentesao criarem sistemas, métodos e dispositivos que controlam arenderização e a apresentação de elementos de interface deusuário.
Em uma modalidade da presente invenção, um métodopara controlar a ordem ζ de um primeiro elementorenderizado em uma apresentação compreende receber umalista ordenada de elementos que representam a ordem delayout em uma apresentação, atribuir o primeiro elemento dalista ordenada a um elemento de contêiner de elevação, emque o primeiro elemento pode ser um de vários elementos dalista ordenada, pintar a apresentação dos elementos dalista ordenada, com a exceção do primeiro elemento, epintar na apresentação o contêiner de elevação que contém oprimeiro elemento.
Em outra modalidade da presente invenção, éapresentado um método para renderizar uma pluralidade deelementos de interface de usuário, definir um elemento deinterface de usuário de elevação, renderizar no display apluralidade de elementos de interface de usuário, erenderizar no display o elemento de interface de usuário deelevação, em que o elemento de interface de usuário deelevação é renderizado após a renderização da pluralidadede elementos de interface de usuário. Neste método, oelemento de interface de usuário de elevação é um dapluralidade de elementos de interface de usuário, e a etapade renderizar no display a pluralidade de elementos deinterface de usuário não renderiza o elemento de interfacede usuário de elevação. A estrutura que contém apluralidade de elementos de interface de usuário pode seruma estrutura de árvore. Além disto, o elemento deinterface de usuário de elevação pode não ser recortadoquando renderizado no display. Além disto, o elemento deinterface de usuário de elevação pode ser definidofocalizando-se em um elemento de interface de usuárioexibido.
Em ainda outra modalidade, um dispositivo paracontrolar a ordem ζ de um primeiro elemento renderizado emuma apresentação, compreende uma memória para armazenar umcódigo de programa em que o código de programa contéminstruções para uma lista ordenada de elementos querepresentam a ordem de layout em uma apresentação, e
um processador configurado para atribuir oprimeiro elemento na lista ordenada a um elemento decontêiner de elevação, em que o primeiro elemento pode serum dentre vários elementos na lista ordenada, para pintar aapresentação com os elementos da lista ordenada exceto oprimeiro elemento, e para pintar o contêiner de elevação,que contém o primeiro elemento para apresentação.
Em ainda outra modalidade, um dispositivo pararenderizar uma pluralidade de elementos de interface deusuário em um display compreende uma memória que contém umcódigo de programa que define uma estrutura que contém apluralidade de elementos de interface de usuário, e umprocessador configurado para definir um elemento deinterface de usuário de elevação, renderizar no display apluralidade de elementos de interface de usuário, e pararenderizar no display o elemento de interface de usuário deelevação, em que o elemento de interface de usuário deelevação é renderizado após a renderização da pluralidadede elementos de interface de usuário.Outros objetos, vantagens e características dapresente invenção se tornarão evidentes após a revisão daBreve Descrição dos Desenhos, da Descrição Detalhada daInvenção e das Reivindicações apresentadas a seguir.
BREVE DESCRIÇÃO DOS DESENHOS
Com referência às Figuras, nas quais os mesmosnúmeros representam os mesmos elementos em toda parte:
A Figura 1 é um diagrama funcional de um ambientede comunicação no qual dispositivos podem funcionar em umamodalidade da presente invenção;
A Figura 2 é um diagrama de blocos funcional quemostra de maneira geral os componentes de um dispositivomóvel de amostra em uma modalidade da presente invenção;
A figura 3 é um diagrama em blocos funcional quemostra de maneira geral os componentes de um dispositivo decomputação de amostra em uma modalidade da presenteinvenção.
A Figura 4 é um diagrama de blocos que mostra umaarquitetura de aplicativo de uma plataforma de computadorem uma modalidade da presente invenção;
A Figura 5 é um diagrama de blocos que mostra osistema para atualizar os componentes de interface deusuário e uma arquitetura que mostra um trigplayer,atuadores e trigs em uma modalidade da presente invenção;
A Figura 6 é um diagrama de blocos que mostra arenderização de elementos de interface de usuário semelevar um elemento de interface de usuário em umamodalidade da presente invenção;
A Figura 7 é um diagrama de blocos que mostra arenderização de elementos de interface de usuário com autilizando um elemento de interface de usuário de elevaçãoem uma modalidade da presente invenção; eA Figura 8 é um fluxograma que mostra o processode renderização de um elemento de elevação em umamodalidade da presente invenção.
DESCRIÇÃO DETALHADA
A presente invenção discute o problema da técnicaao permitir o controle refinado da ordem ζ mantendo aomesmo tempo a eficácia com relação ao recorte e, portanto,à velocidade de renderização. Caso a tecnologia viesse umdia a se tornar sofisticada o bastante para desenvolver umverdadeiro display 3D (não apenas uma representação 3D emuma superfície bidimensional), a presente invenção seriatambém aplicável a tais sistemas.
Outras vantagens incluem um elemento de interfacede usuário de elevação que pode ser recortado dentro derestrições especificadas, em vez de acordo com as dimensõesda tela; um elemento pode ser elevado, mas aindaexplicitamente abaixo de outros elementos, que podem serdeclarados antes ou depois dele na seqüência de realizaçãode parse baseada em xml; níveis múltiplos e/ou aninhados deUI podem ser alcançados, e sua ordem ζ alteradadinamicamente, pelo usuário de contêineres de elevaçãomúltiplos e/ou aninhados.
Será feita agora referência detalhada àsmodalidades atualmente exemplares e preferidas da invenção,mostradas nos desenhos anexos, nos quais as mesmasreferências designam partes semelhantes ou correspondentesem todos os vários desenhos. A natureza, os objetivos evantagens da presente invenção se tornarão mais evidentesaos versados na técnica após a consideração da descriçãodetalhada seguinte em conexão com os desenhos anexos.
Quanto à utilização dos termos, nesta descriçãoos termos "dispositivo sem fio", "telefone sem fio" e"dispositivo móvel" são utilizados de maneiraintercambiável. O termo "aplicativo" conforme utilizadoaqui pretende abranger arquivos de software executáveis enão executáveis, dados brutos, dados agregados, patches,conteúdo, interfaces com usuário e componentes de interfacede usuário, além de outros segmentos de código. Além disto,os mesmos números referem-se aos mesmos elementos em todasas várias vistas, e os artigos "um/uma" e "o(s)/a(s)"incluem várias referências, a menos que especificado deoutro modo na descrição.
A TrigML é uma linguagem acionada por dados útilno desenvolvimento de Interfaces com Usuário. A TrigML é umproduto de propriedade da QUALCOMM Corporation. Como aslinguagens de dados definidas de acordo com a XML, o códigoTrigML pode incluir a utilização de indicadores. Embora as- modalidades sejam descritas no contexto da TrigML para umainterface de usuário em um dispositivo sem fio, deve-sereconhecer que isto é para fins de descrição apenas e nãouma limitação à invenção. 0 dispositivo e os métodos aquidescritos são também aplicáveis em ambientes de interfacecom não usuários e, conforme afirmado acima, em ambientesque utilizam uma linguagem de dados diferente.
A Figura 1 é um diagrama funcional de um ambientede comunicação 100 no qual dispositivos podem operar em umamodalidade da presente invenção. Neste exemplo, o ambientede comunicação 100 inclui uma rede sem fio. A rede sem fio122 pode ser uma rede de comunicação operada por umprovedor de serviços sem fio para prover dados ouconectividade de telecomunicações para dispositivos móveis.
Além disto, a rede sem fio 122 pode incluir também redescabeadas, a Internet, Redes de Área Ampla, a Rede deTelefonia Pública Comutada (PSTN) e outras redes públicase/ou privadas, de modo que os dispositivos possamcomunicar-se direta ou indiretamente utilizando outrosdispositivos conectados a estas redes.
Em um exemplo, a rede sem fio 122 pode incluiruma rede de telefones celulares. Vários dispositivos estãoem comunicação com a rede sem fio 122, tais como como, umtelefone celular 112, um computador laptop 116, um PDA 118e um dispositivo móvel de troca de mensagens. Estesdispositivos são mostrados apenas como ilustrativos dentremuitos tipos de dispositivo que podem comunicar-se atravésda rede sem fio 122.
São mostrados na Figura 1, um servidor deaplicativo 124 e um servidor de interface de usuário 126. 0servidor de interface de usuário 126 é um dispositivo decomputação que serve componentes de interface de usuário130 (descritos mais detalhadamente a seguir) . Estescomponentes de interface de usuário 130 podem sofrerdownload para outros dispositivos conectados à rede sem fio122. Os componentes de interface de usuário incluem códigoe/ou dados para renderizar uma interface de usuário, talcomo, chamadas de função, menus, código para chamadas deconteúdo, aparências, etc.). Note-se que muitos outrosservidores podem ser utilizados conectados à rede paraentregar informações, incluindo servidores de conteúdo. 0tipo de informação que pode ser disponibilizada não temlimite, e muitos e muitos exemplos diferentes serãoevidentes aos versados na técnica. 0 servidor de interfacede usuário 126 inclui um software de servidor que éconfigurado para prover componentes de interface de usuário130 a dispositivos solicitantes através da rede sem fio 122.
O servidor de aplicativo 124 é um dispositivo ousistema de computação acoplado à rede sem fio 122, quedisponibiliza softwares aplicativos 128 para download pelosdispositivos móveis. Dito de maneira geral, os aplicativos128 são passíveis de download pelos dispositivos conectadosà rede sem fio 122, tais como, o telefone celular 112, paraexecução nesses dispositivos. Nesta implementaçãoespecífica, pelo menos um dos aplicativos 128 servidos peloservidor de download de aplicativos 124 é um aplicativobaseado em conteúdo configurado para execução em pelo menosum dos dispositivos móveis. 0 aplicativo baseado emconteúdo (o cliente) é configurado para recuperar oconteúdo do servidor atual (não mostrado) para apresentaçãopelo dispositivo móvel via uma interface de usuário.
A Figura 2 é um diagrama de blocos funcionais quemostra de maneira geral os componentes de um dispositivomóvel de amostra 201, em uma modalidade da presenteinvenção. 0 dispositivo móvel 201 pode ser qualquerdispositivo que tenha funcionalidade de computação, talcomo, um telefone celular, um assistente digital pessoal,um dispositivo "palmtop" de mão, um computador laptop, umreprodutor de música portátil, um dispositivo de satélitede posicionamento global (GPS) ou semelhantes.
O dispositivo móvel 201 tem uma plataforma decomputador 250, que pode receber e executar softwaresaplicativos e exibir dados. A plataforma de computador 250inclui um processador 252, tal como um circuito integradode aplicação específica ("ASIC"), um processador de sinaisdigitais ("DSP"), um microprocessador, um microcontrolador,um circuito lógico, uma máquina de estados ou outrodispositivo de processamento de dados. O processador 252executa a camada de interface de programação com oaplicativo ("API") 254, que forma interface com quaisquerprogramas residentes na memória 256 do dispositivo móvel. Amemória 256 pode incluir memória de acesso aleatório ou sóde leitura (RAM ou ROM), EPROM, EEPROM, memória flash ouqualquer memória comum a plataformas de computador. Aplataforma de computador 250 inclui também um armazenamentolocal 258 que pode manter softwares aplicativos, arquivosou dados não utilizados ativamente na memória 256, taiscomo softwares aplicativos ou componentes de interface deusuário que sofreram download a partir do servidor deinterface de usuário 126 (Figura 1) . O armazenamento local128 é tipicamente constituído de uma ou mais células dememória flash, mas pode ser qualquer dispositivo dearmazenamento secundário ou terciário conhecido na técnica,tal como, mídia magnética, EPROM, EEPROM, mídia óptica,fita ou disco flexível ou rígido.
A plataforma de computador 250 inclui também umdisplay 260, que pode ser utilizado pelos softwaresaplicativos para exibir dados com a utilização da interfacede usuário (não mostrada).
Os componentes mostrados na Figura 2 são típicosde muitos tipos de dispositivos móveis, mas deve ficarentendido que outros componentes podem ser acrescentados aodispositivo móvel 201 e, em determinados casos, algunscomponentes mostrados na Figura 2 podem ser omitidos dodispositivo móvel 201.
A Figura 3 é um diagrama de blocos funcional quemostra de maneira geral os componentes núcleo de umdispositivo de computação de amostra 301, em uma modalidadeda presente invenção. 0 dispositivo de computação 301 podeser qualquer dispositivo de computação fixo, tal como umcomputador de mesa ou servidor.
Neste exemplo, o dispositivo de computação 301inclui uma unidade de processador 304, uma memória 306, ummeio de armazenamento 313 e uma unidade de áudio 331. Aunidade de processador 304 inclui vantajosamente ummicroprocessador ou um processador para fins especiais, talcomo um processador de sinais digitais (DSP), mas pode,alternativamente, ser qualquer forma convencional deprocessador, controlador, microprocessador ou máquina deestados. A unidade de processador 304 é acoplada à memória306, que é vantajosamente implementada como memória RAM,mantendo instruções de software que são executadas pelaunidade de processador 304. Em uma modalidade alternativa,a memória 306 pode ser composta de firmware ou memóriaflash. Nesta modalidade, as instruções de softwarearmazenadas na memória 306 incluem um sistema operacional310 e um ou mais outros aplicativos 312, tal como, umaplicativo que emprega uma interface de usuário (nãomostrada).
O dispositivo móvel 301 inclui também um módulode comunicação 321, que permite comunicação bidirecionalentre o dispositivo de computação 301 e um ou mais outrosdispositivos de computação, tal como, o dispositivo móvel.
O módulo de comunicação 321 pode incluir componentes parapermitir comunicação RF ou outra comunicação sem fio, taiscomo uma rede de telefones celulares, uma conexãoBluetooth, uma rede de área local sem fio, ou talvez umarede de área ampla sem fio. Alternativamente, o módulo decomunicação 321 pode incluir componentes para habilitarcomunicação de rede de linhas terrestres ou cabeadas, taiscomo uma conexão de Ethernet, uma conexão RJ-I1, umaconexão de barramento serial universal, uma conexão IEEE1394 (Firewire) ou semelhantes. Estas são pretendidas comolistas não exaustivas e muitas outras alternativas sãopossíveis. A unidade de áudio 331 é um componente dodispositivo móvel 301 que é configurado para convertersinais entre os formatos analógico e digital. A unidade deáudio 331 é utilizada pelo dispositivo móvel 301 paraemitir um som com a utilização de um alto-falante 332 epara receber sinais de entrada de um microfone 333.
A Figura 3 mostra apenas determinados componentesque são geralmente encontrados em muitos dispositivos decomputação convencionais. Muitos e muitos outroscomponentes são também rotineiramente encontrados emimplementações particulares e, em determinados casos,alguns componentes mostrados na Figura 3 podem seromitidos. Entretanto, o dispositivo de computação 301mostrado na Figura 3 é típico dos dispositivos decomputação comumente encontrados hoje em dia.
A Figura 4 mostra uma arquitetura de aplicativode um dispositivo em uma modalidade da presente invenção. Odispositivo incluirá uma "plataforma de computador". Umaplataforma de computador pode referir-se a componentes dodispositivo que incluem hardware, software ou ambos. Porexemplo, ela pode incluir o sistema operacional, oscomponentes de hardware subjacentes, que incluem o chip, ohardware de interface de usuário (displays, dispositivos deentrada e saída, por exemplo), bibliotecas, APIs desuporte, extensões adicionais ao sistema operacional, etc.
Em uma modalidade, a arquitetura de aplicativo400 de um dispositivo sem fio inclui APIs de Dispositivo405, APIs de BREW 410, Extensões de BREW 415, um Trigplayer420, Atuadores 425 e Trigs 430. As APIs de Dispositivo 405podem incluir as APIs utilizadas por uma plataforma desoftware para endereçar funções associadas especificamentea esse dispositivo, tais como, processador específico oufunções de ASIC, funcionalidade de hardware de dispositivoespecífica, etc.
As APIs de BREW 410 são uma plataforma desoftware desenvolvida pela QUALCOMM Incorporated. As APIsde BREW 410 provêem aos aplicativos a capacidade de chamaras APIs de Dispositivo 405 e outras funções sem necessidadede serem gravadas especificamente para o dispositivo. Emoutras palavras, elas abstraem os aspectos específicos dohardware do aplicativo, permitindo assim que um aplicativoseja gravado para muitos dispositivos sem ter que adaptar-se, ou exigindo apenas uma ligeira adaptação, para cadadispositivo específico no qual o aplicativo é executado.
Uma extensão de BREW 415 provê a capacidade deadicionar capacidade adicional à plataforma BREW, tal como,oferecendo reprodutores de MP3, Máquinas Virtuais Java, etc.
O TrigPlayer 420, os Trigs 430 e os Atuadores 425são componentes da arquitetura uiOne™ desenvolvida pelaQUALCOMM Incorporated. Estes componentes referem-setipicamente a aspectos de interface de usuário dodispositivo 400. Em uma modalidade, os Trigs 430 são umcódigo TriML™ compilado, e outros recursos (que podemincluir metadados, arquivos de texto e imagens) utilizadospor um aplicativo para renderizar uma interface de usuáriono dispositivo 400. Vários Trigs 430 e atualizações nosTrigs, referidas como Triglets (não mostrados) podem serutilizados para a interface de usuário.
0 código TrigML, de propriedade da QUALCOMMIncorporated, é uma linguagem de dados baseada na XML epode ser utilizado como linguagem de apresentação deinterface de usuário para autorizar os Trigs 430 e incluivantagens de funcionalidade direcionada para móveis, ummodelo de evento de interface de usuário interativo eposicionamento de pixels, entre outras vantagens.
Os Atuadores 425 incluem um código C subjacentepara conectar os Trigs às APIs de Dispositivo 405 e/ou àsAPIs de BREW 410 subjacentes. Os Atuadores 425 podemfuncionar também como executáveis para entrada/saída. E umavez que os atuadores são conectados às APIs de Dispositivoe de BREW subjacente, eles têm acesso às funções daplataforma de computador.
0 Trigplayer 420 pode ser implementado como umaextensão BREW 415 mesmo que esteja separado na Figura 4. OTrigplayer é utilizado para renderizar a interface deusuário utilizando Trigs e atuadores.
Deve-se reconhecer que, embora a discussão daFigura 4 seja em termos da arquitetura uiOne da QUALCOMMIncorporated (que inclui TrigML compilado, Trigplayer, APIsBREW, etc.), ela é para fins de descrição, e que a presenteinvenção inclui outras linguagens de dados, plataformas decomputador e software e arquiteturas de dispositivo.
A Figura 5 é um diagrama de blocos que mostra osistema de atualização dos componentes de interface deusuário e uma arquitetura que mostra um trigplayer 420,atuadores 425 e trigs 430 em uma modalidade da presenteinvenção. 0 dispositivo 500 inclui um trigplayer 420,atuadores 425 e Trigs 430. Os Trigs podem incluir um códigoTrigML 505, cadeias de texto 510, imagens 515 e canais deatualização 520 (os canais de atualização podem definirURLs e esquemas de temporização para buscar Triglets 530).
Os trigs podem ser atualizados através do ar, permitindoassim que a interface de usuário seja atualizada depois queo dispositivo já tiver deixado o fabricante. Um servidor525 pode ser utilizado para efetuar o download de novosTrigs e/ou componentes atualizados de Trigs (Triglets 530,por exemplo), permitindo assim que a interface de usuáriopara o dispositivo seja personalizada.
Com relação aos aspectos mais detalhados docontrole rigoroso da ordem ζ de elementos de interface deusuário, em uma modalidade, uma árvore de renderização énormalmente feita por uma descendência primeiro pai daárvore de elementos de UI. A árvore de elementos de UI foicriada com base na maneira pela qual os elementos de códigoassociados ao elemento de UI foram declarados no arquivo-fonte de Trig. Um pai pinta-se e em seguida pede a cada umde seus filhos que se pintem por sua vez. Arquivo-fonte deTrig. Ele também recorta cada um de seus filhos até suaprópria extensão. Com a introdução de um atributo deelevação, pelo qual os elementos de UI podem retardar suarenderização até após a passagem de renderização normal -isto é, todos os elementos de UI não elevados seriamrenderizados, em seguida todos os elementos de UI elevados.
Um elemento de UI poderia ser elevado, por exemplo, quandoesse elemento de UI tivesse o foco de controle. (Em umamodalidade, "foco" refere-se a uma parte da apresentação naqual é dada atenção, tal como, realçando ou ampliando aseleção que o cursor é um que indica ao usuário qual opçãoseria selecionada se escolhida). O elemento de UI elevadonão é recortado pelo quadro do seu pai uma vez que estáfora do ciclo normal de renderização, de modo que poderenderizar fora de seus limites normais.
Um exemplo de código de programa que utiliza oatributo de renderização, com a utilização da TrigML:
<trigml>
<grupo w="20" h="20">
<grupo bgcor="vermelho" w=3-"h="30" elevar="falso">
<att quando="foco" nome="elevar" valor="verdadeiro"/></grupo>
<grupo bgcor="azul"/></grupo>
</trigml>
Conforme mostrado na Figura 6, quando estefragmento de código de programa TrigML é renderizado, ogrupo vermelho exibe um quadrado vermelho de 20x20 605 (eleé recortado por seu grupo pai, recorte não mostrado) em umdisplay 260. O grupo azul é então renderizado no topo dele,de modo que a página renderizada final vista pelo usuárioconsiste em apenas um quadrado azul de 20x20 610.
Conforme mostrado na Figura 7, se o foco for emseguida movido até o grupo vermelho, o elemento de código<at> modifica a propriedade de elevação do grupo vermelho,fixando o valor em verdadeiro. Quando a página érenderizada, o grupo vermelho é pulado (porque é elevado) eem seguida o grupo azul é desenhado como um quadrado azulde 20x20 705. Finalmente, o grupo vermelho elevado érenderizado (não recortado, porque é elevado) e a páginarenderizada final vista pelo usuário consiste em umquadrado vermelho de 30x30 710.
Uma modalidade conta com a existência implícitade uma lista de tintas deferidas global, e qualquerelemento de UI que defere a renderização é adicionado aesta lista global. Isto é um aperfeiçoamento sobre assoluções da técnica anterior.
Uma outra modalidade não eleva os elementos de UIaté um nível global, de modo que eles são pintados depoisde todos os elementos de UI não elevados. O acréscimo de umelemento de <contêinerdeelevação> "captura" o elemento deUI elevado. Isto pode permitir, por exemplo, que umelemento de UI seja elevado, mas que outros elementos de UI(não elevados) continuem a ser renderizados depois dele,permitindo uma atividade de nível superior permanente. Umexemplo disto, com a utilização do código de programaTrigML, é ilustrado pelo seguinte:
<trigml>
<grupo w="20" h="20" bgcor="vermelho" elevar="falso"><att quando="foco" nome="elevar" valor="lugarelevado"/></grupo><grupo w="20" h="20 bgcor="azul"><id do contadordeelevação="lugar elevado"/><grupo bgcor="verde" w="10" h="10"/></trigml>
Uma árvore é criada conforme descrito acimautilizando-se a ordem dos elementos de UI na qual elesforam declarados. 0 ordem de renderização normal évermelho, azul, verde, e o usuário vê um quadrado verde de10x10 disposto sobre um quadrado azul de 20x20. Narenderização normal, o contêiner de elevação está vazio, demodo que nada é renderizado quando ele é avaliado.
Entretanto, quando o grupo vermelho é elevado, aordem ζ é alterada de modo que o grupo vermelho sejapintado utilizando-se o contador de elevação, conformemostrado acima. A renderização é, portanto, azul, vermelho,verde, do que resulta um quadrado de 10x10 disposto sobreum quadrado vermelho de 20x20. Isto tem a vantagem de que éalcançada uma elevação de um elemento de UI, mas tambémgerenciada com a manutenção do quadrado verde sobreposto.
Este controle adicional sobre o nivel até o qual é elevadoo elemento de UI é uma maneira de preservar umasobreposição. Um caso de uso típico é um menu pop-up, quedeve ser desenhado no topo de tudo, inclusive quaisquerelementos de UI atualmente em foco que tenham se elevados.
Os contêineres de elevação podem ser aninhados, eo contêiner de elevação propriamente dito pode ser elevado,dado muito mais controle sobre as camadas e subcamadas daUI do que era anteriormente possível. Com efeito, umcontêiner de elevação é uma camada, mas a camada podealterar sua ordem ζ e não precisar ser a tela total.
Alcança-se assim controle refinado sobre a ordem z, isto é,controlar a ordem ζ dentro das camadas versus empurrar umelemento de UI até o topo ou até a base das camadas.Além disso, um elemento de UI foi pintado pelocontêiner de elevação e é, portanto, recortado pelo quadrodo contêiner de elevação, o que significa que não é maisnecessário que a modificação de um elemento de UI acioneuma renovação da tela inteira. Isto permite que UIs maiscomplexas sejam implementadas sem necessidade de aumento dapotência de processamento.
A Figura 8 é um fluxograma que mostra o processode renderizar um elemento de elevação em uma modalidade dapresente invenção. Inicialmente, é definida uma estruturaque contém os elementos de interface de usuário (Etapa805) . Esta estrutura pode ser uma estrutura de árvore,conforme definida acima, ou outras estruturas de arquivo oudados que possam rastrear os elementos de interface deusuário a serem renderizados. Em seguida, é definido umelemento de interface de usuário (Etapa 810). O elemento deinterface de usuário de elevação é um elemento que desejaráser renderizado após outros elementos. 0 elemento deelevação pode ser tipicamente definido como sendorenderizado na ordem definida pela estrutura com relação àEtapa 805, mas é desejável renderizar este elemento deelevação fora da ordem normal.
Os elementos de interface de usuário são emseguida renderizados no display (Etapa 815). Estarenderização é feita passando-se através da estruturadefinida na etapa 805. Note-se que a renderização pode nãoser apenas para uma apresentação, mas pode ser um código deprograma que define o comportamento. É preferível nãorenderizar o elemento de interface de usuário de elevaçãonesta etapa porque ele será renderizado novamente (definidoa seguir na Etapa 820), impedindo assim a renderização doelemento de interface de usuário de elevação duas vezes.E finalmente, o elemento de interface de usuáriode elevação é exibido (Etapa 820). Embora a descriçãodefina apenas um elemento de interface de usuário deelevação, múltiplos elementos de interface de usuário podemser definidos como "elevados", e assim múltiplos elementosde interface de usuário podem ser renderizados fora daordem estrutural normal dos elementos de interface deusuário.
A descrição do método e do projeto de softwareacima pode ser também implementada em um dispositivo,armazenada como instruções em uma RAM ou em outrosdispositivos de armazenamento de memória. Embora osprocessos apresentados neste documento tenham sidomostrados e descritos seqüencialmente em uma ordemparticular, em outras modalidades as etapas dos processospodem ser realizadas em ordens diferentes, várias vezese/ou em paralelo. Além disto, em algumas modalidades, umaou mais etapas descritas nos vários processos podem serrealizadas como etapas separadas, combinadas em um númeromenor de etapas ou possivelmente omitidas completamente.
Embora a revelação precedente mostre modalidadesilustrativas da invenção, deve-se observar que diversasalterações e modificações podem ser feitas nas modalidadesdescritas sem se afastar do espirito e escopo da invençãocomo definidos pelas reivindicações anexas. Além disto,embora elementos da invenção possam ser descritos oureivindicados no singular, o plural é contemplado, a menosque seja explicitamente declarada uma limitação aosingular.

Claims (16)

1. Método para controlar a ordem ζ de um primeiroelemento renderizado em uma apresentação, que compreende:definir uma lista ordenada de elementos querepresenta a ordem de layout em uma apresentação;atribuir o primeiro elemento da lista ordenada aum elemento de contêiner de elevação, em que o primeiroelemento pode ser um de vários elementos da lista ordenada;pintar na apresentação os elementos da listaordenada, com exceção do primeiro elemento; epintar na apresentação o contêiner de elevação,que contém o primeiro elemento.
2. Método para renderizar uma pluralidade deelementos de interface de usuário em um display, quecompreende:definir uma estrutura que contém a pluralidade deelementos de interface de usuário;definir um elemento de interface de usuário deelevação;renderizar no display a pluralidade de elementosde interface de usuário; erenderizar no display o elemento de interface deusuário de elevação, em que o elemento de interface deusuário de elevação é renderizado após a renderização dapluralidade de elementos de interface de usuário.
3. Método, de acordo com a reivindicação 2, noqual o elemento de interface de usuário de elevação é um dapluralidade de elementos de interface de usuário e a etapade renderizar no display a pluralidade de elementos deinterface de usuário não renderiza o elemento de interfacede usuário de elevação.
4. Método, de acordo com a reivindicação 2, noqual na estrutura que contém a pluralidade de elementos deinterface de usuário há uma estrutura de árvore.
5. Método, de acordo com a reivindicação 2, noqual o elemento de interface de usuário de elevação não érecortado quando renderizado no display.
6. Método, de acordo com a reivindicação 2, noqual o elemento de interface de usuário de elevação édefinido pela focalização em um elemento de interface deusuário exibido.
7. Dispositivo para controlar a ordem ζ de umprimeiro elemento renderizado em uma apresentação, quecompreende:uma memória para armazenar um código de programa,em que o código de programa contém instruções para umalista ordenada de elementos que representa a ordem delayout em uma apresentação; eum processador configurado para atribuir oprimeiro elemento da lista ordenada a um elemento decontêiner de elevação, em que o primeiro elemento pode serde vários elementos da lista ordenada, para pintar aapresentação como os elementos da lista ordenada com aexceção do primeiro elemento, e para pintar na apresentaçãoo contêiner de elevação que contém o primeiro elemento.
8. Dispositivo para renderizar uma pluralidade deelementos de interface de usuário em um display, quecompreende:uma memória, que contém um código de programa quedefine uma estrutura que contém a pluralidade de elementosde interface de usuário; eum processador configurado para definir umelemento de interface de usuário, renderizar no display apluralidade de elementos de interface de usuário e pararenderizar no display o elemento de interface de usuário deelevação, em que o elemento de interface de usuário deelevação é renderizado após a renderização da pluralidadede elementos de interface de usuário.
9. Dispositivo, de acordo com a reivindicação 8,no qual o elemento de interface de usuário de elevação é umda pluralidade de elementos de interface de usuário.
10. Dispositivo, de acordo com a reivindicação 8,no qual a estrutura que contém a pluralidade de elementosde interface de usuário é uma estrutura de árvore.
11. Dispositivo, de acordo com a reivindicação 8,no qual o elemento de interface de usuário não é recortadoquando renderizado no display.
12. Dispositivo, de acordo com a reivindicação 8,no qual o elemento de interface de usuário é definido pelafocalização em um elemento de interface de usuário exibido.
13. Dispositivo para controlar a ordem ζ de umprimeiro elemento renderizado em uma apresentação, quecompreende:um dispositivo para receber uma lista ordenada deelementos que representa a ordem de layout em umaapresentação;um dispositivo para atribuir o primeiro elementoda lista ordenada a um elemento de contêiner de elevação,em que o primeiro elemento pode ser um de vários elementosda lista ordenada;um dispositivo para pintar na apresentação oselementos da lista ordenada com a exceção do primeiroelemento; eum dispositivo para pintar na apresentação ocontêiner de elevação que contém o primeiro elemento.
14. Dispositivo para renderizar uma pluralidadede elementos de interface de usuário em um display, quecompreende:um dispositivo para definir uma estrutura quecontém a pluralidade de elementos de interface de usuário;um dispositivo para definir um elemento deinterface de usuário de elevação;um dispositivo para renderizar no display apluralidade de elementos de interface de usuário; eum dispositivo para renderizar no display oelemento de interface de usuário, em que o elemento deinterface de usuário de elevação é renderizado após arenderização da pluralidade de elementos de interface deusuário.
15. Meio legível por computadorque contéminstruções implementadas por computador para controlar aordem ζ de um primeiro elemento renderizado em umaapresentação que, quando executadas, executam o método quecompreende:receber uma lista ordenada de elementos querepresenta a ordem de layout em uma apresentação;atribuir o primeiro elemento da lista ordenada aum elemento de contêiner de elevação, em que o primeiroelemento pode ser um de vários elementos da lista ordenada;pintar na apresentação os elementos da listaordenada com a exceção do primeiro elemento; epintar na apresentação o contêiner de elevação,que contém o primeiro elemento.
16. Meio legível por computadorque contéminstruções implementadas por computador para renderizar umapluralidade de elementos de interface de usuário em umdisplay que, quando executadas, executam o método quecompreende:definir uma estrutura que contém a pluralidade deelementos de interface de usuário;definir um elemento de interface de usuário deelevação;renderizar no display a pluralidade de elementosde interface de usuário; erenderizar no display o elemento de interface deusuário de elevação, em que o elemento de interface deusuário de elevação é renderizado após a renderização dapluralidade de elementos de interface de usuário.
BRPI0611325-7A 2005-05-31 2006-05-31 controle refinado de elementos de ordem-z em uma apresentacão xml BRPI0611325A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US68634905P 2005-05-31 2005-05-31
US60/686,349 2005-05-31
PCT/US2006/020704 WO2006130538A2 (en) 2005-05-31 2006-05-31 Fine-grained control of z-order elements in a xml presentation

Publications (1)

Publication Number Publication Date
BRPI0611325A2 true BRPI0611325A2 (pt) 2010-08-31

Family

ID=36999854

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0611325-7A BRPI0611325A2 (pt) 2005-05-31 2006-05-31 controle refinado de elementos de ordem-z em uma apresentacão xml

Country Status (7)

Country Link
US (1) US7610561B2 (pt)
EP (1) EP1886220A2 (pt)
JP (1) JP4782828B2 (pt)
KR (1) KR101025949B1 (pt)
CN (1) CN101213515B (pt)
BR (1) BRPI0611325A2 (pt)
WO (1) WO2006130538A2 (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078979B2 (en) * 2007-11-27 2011-12-13 Microsoft Corporation Web page editor with element selection mechanism
US9442960B2 (en) * 2008-05-16 2016-09-13 Lawrence Livermore National Security, Llc High performance data layout and processing
JP5067881B2 (ja) * 2008-07-11 2012-11-07 キヤノン株式会社 画像処理装置および画像処理方法
US20100064222A1 (en) * 2008-09-08 2010-03-11 Apple Inc. Object-aware transitions
US7721209B2 (en) 2008-09-08 2010-05-18 Apple Inc. Object-aware transitions
CN101695119A (zh) * 2009-10-17 2010-04-14 中兴通讯股份有限公司 移动多媒体广播的网络侧及播放器、播放器皮肤更新方法
USD660864S1 (en) 2010-01-27 2012-05-29 Apple Inc. Graphical user interface for a display screen or portion thereof
US8836714B2 (en) 2010-10-29 2014-09-16 The University Of Utah Research Foundation Rapid, interactive editing of massive imagery data
US20120159363A1 (en) * 2010-12-16 2012-06-21 Microsoft Corporation Z-order bands
USD683346S1 (en) * 2011-02-04 2013-05-28 Apple Inc. Portable display device with graphical user interface
US9013510B2 (en) * 2011-07-29 2015-04-21 Google Inc. Systems and methods for rendering user interface elements in accordance with a device type
US10437911B2 (en) * 2013-06-14 2019-10-08 Business Objects Software Ltd. Fast bulk z-order for graphic elements
USD762223S1 (en) 2014-09-09 2016-07-26 Apple Inc. Display screen or portion thereof with animated graphical user interface
US20170285930A1 (en) * 2016-04-01 2017-10-05 Microsoft Technology Licensing, Llc. Document content replay
USD829223S1 (en) 2017-06-04 2018-09-25 Apple Inc. Display screen or portion thereof with graphical user interface
US10665008B2 (en) * 2018-05-31 2020-05-26 Microsoft Technology Licensing, Llc Hybrid traversal of object sets
USD937858S1 (en) 2019-05-31 2021-12-07 Apple Inc. Display screen or portion thereof with graphical user interface
USD937295S1 (en) 2020-02-03 2021-11-30 Apple Inc. Display screen or portion thereof with graphical user interface

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2929824B2 (ja) * 1992-02-18 1999-08-03 日本電気株式会社 ユーザ・インタフェース制御方式
US5519825A (en) * 1993-11-16 1996-05-21 Sun Microsystems, Inc. Method and apparatus for NTSC display of full range animation
AUPQ808700A0 (en) * 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
US7032227B2 (en) * 2000-08-14 2006-04-18 Twin Communications Of America, Inc. Portable operating environment for information devices
JP3800524B2 (ja) * 2002-03-15 2006-07-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御方法、これを用いたプログラム及び情報処理装置
US6928619B2 (en) * 2002-05-10 2005-08-09 Microsoft Corporation Method and apparatus for managing input focus and z-order
US20040046789A1 (en) * 2002-08-23 2004-03-11 Angelo Inanoria Extensible user interface (XUI) framework and development environment
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes

Also Published As

Publication number Publication date
KR101025949B1 (ko) 2011-03-30
EP1886220A2 (en) 2008-02-13
JP2008542919A (ja) 2008-11-27
CN101213515A (zh) 2008-07-02
JP4782828B2 (ja) 2011-09-28
WO2006130538A3 (en) 2007-02-08
WO2006130538B1 (en) 2007-04-05
US20060271871A1 (en) 2006-11-30
WO2006130538A2 (en) 2006-12-07
KR20080021081A (ko) 2008-03-06
US7610561B2 (en) 2009-10-27
CN101213515B (zh) 2011-12-21

Similar Documents

Publication Publication Date Title
BRPI0611325A2 (pt) controle refinado de elementos de ordem-z em uma apresentacão xml
US10877640B2 (en) Application interface management method and apparatus
US10740114B2 (en) Component invoking method and apparatus, and component data processing method and apparatus
JP2008542919A5 (pt)
US10088980B2 (en) Method and system for providing menu data for mobile applications
US8762936B2 (en) Dynamic design-time extensions support in an integrated development environment
WO2017219833A1 (zh) 一种应用程序页面开发管理方法及装置
US20210203767A1 (en) Information Processing Method and Apparatus, Storage Medium, and Electronic Device
CN109358936A (zh) 信息处理方法、装置、存储介质、电子设备及系统
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
US20140035945A1 (en) Computing device applications with an automatically adapting user interface
US9262850B2 (en) Descriptive framework for data visualization
KR102052605B1 (ko) 모바일 어플리케이션을 통한 바탕화면에 바로가기 설치 방법 및 그 시스템
US11747973B2 (en) Rule-based user interface layout rearrangement
US20140297999A1 (en) Computer system and method for controlling acpi information
WO2011101845A1 (en) Modified operating systems allowing mobile devices to accommodate io devices more convenient than their own inherent io devices and methods for generating such systems
CN109324857B (zh) 一种用户引导实现方法、装置和存储介质
CN109361948B (zh) 界面管理方法、智能终端及可读存储介质
CN112306587A (zh) 页面的显示处理方法、装置、及终端设备
CN115309516A (zh) 一种应用生命周期的检测方法、装置及计算机设备
Panigrahy Xamarin Mobile Application Development for Android
US9575772B2 (en) Model-based user interface
CN110020370B (zh) 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN105511737A (zh) 一种管理网页上的菜单选项的方法及电子设备
CN115421693A (zh) 微前端架构的实现方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]