[go: up one dir, main page]

BRPI0503982B1 - "METHOD AND SYSTEM FOR CREATING AND DRAWING A GRAPHIC INSIDE AN APPLICATION PROGRAM" - Google Patents

"METHOD AND SYSTEM FOR CREATING AND DRAWING A GRAPHIC INSIDE AN APPLICATION PROGRAM" Download PDF

Info

Publication number
BRPI0503982B1
BRPI0503982B1 BRPI0503982-7A BRPI0503982A BRPI0503982B1 BR PI0503982 B1 BRPI0503982 B1 BR PI0503982B1 BR PI0503982 A BRPI0503982 A BR PI0503982A BR PI0503982 B1 BRPI0503982 B1 BR PI0503982B1
Authority
BR
Brazil
Prior art keywords
limitations
algorithms
fact
limitation
rules
Prior art date
Application number
BRPI0503982-7A
Other languages
Portuguese (pt)
Inventor
L. Schorr Janet
T. Wells Stephen
Kotler Matthew
C. Underhill Thomas
A. Sherman Scott
Berker Ilan
Original Assignee
Microsoft Technology Licensing, Llc
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 Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of BRPI0503982A publication Critical patent/BRPI0503982A/en
Publication of BRPI0503982B1 publication Critical patent/BRPI0503982B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/206Drawing of charts or graphs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • Image Generation (AREA)

Abstract

"método, sistema, e meio físico legível por computador para criar e desenhar um gráfico dentro de um programa de aplicação". descreve-se um método, aparelho e meio fisico legível por computador para criar e desenhar um gráfico dentro de um programa de aplicação de desenho. o método inclui as etapas de receber um modelo de dados definindo um conjunto de dados e relacionamentos de dados a serem representados no gráfico, receber uma definição gráfica descrevendo o mapeamento dos dados a partir do modelo de dados para um conjunto de algoritmos, parâmetros de algoritmo, limitações, regras de limitação e propriedades de formato, determinar um tamanho e uma posição de formatos para os nós de desenho utilizando o conjunto de algoritmos, limitações e regras de limitação a partir da definição gráfica, e criar uma lista de formas e propriedades de forma para o gráfico, incluindo tamanho e posição. o método inclui adicionalmente a etapa de determinar se o gráfico se ajusta a um determinado gabarito em uma área específica com base no conjunto de valores de limitação e se o gráfico não se ajusta à área específica, então, modificar o conjunto de valores de limitação utilizando as regras de limitação."computer readable method, system, and physical medium for creating and drawing a graph within an application program". A computer readable method, apparatus and physical environment for creating and drawing a graph within a drawing application program is described. The method includes the steps of receiving a data model defining a data set and data relationships to be plotted, receiving a graphic definition describing the mapping of data from the data model to a set of algorithms, algorithm parameters. , limitations, limitation rules, and format properties, determine a format size and position for drawing nodes using the set of algorithms, limitations, and limitation rules from the graphical definition, and create a list of shapes and properties of shape for the chart, including size and position. The method further includes the step of determining if the graph fits a given template in a specific area based on the set of limit values and if the graph does not fit the specific area then modifying the set of limit values using the rules of limitation.

Description

(54) Título: MÉTODO E SISTEMA PARA CRIAR E ESQUEMATIZAR UM GRÁFICO DENTRO DE UM PROGRAMA DE APLICAÇÃO (51) lnt.CI.: G06T 1/00 (30) Prioridade Unionista: 30/09/2004 US 10/955.271 (73) Titular(es): MICROSOFT TECHNOLOGY LICENSING, LLC (72) Inventor(es): JANET L. SCHORR; STEPHEN T. WELLS; MATTHEW KOTLER; THOMAS C. UNDERHILL; SCOTT A. SHERMAN; ILAN BERKER(54) Title: METHOD AND SYSTEM FOR CREATING AND SCHEMATICIZING A GRAPHIC WITHIN AN APPLICATION PROGRAM (51) lnt.CI .: G06T 1/00 (30) Unionist Priority: 30/09/2004 US 10 / 955.271 (73) Holder (s): MICROSOFT TECHNOLOGY LICENSING, LLC (72) Inventor (s): JANET L. SCHORR; STEPHEN T. WELLS; MATTHEW KOTLER; THOMAS C. UNDERHILL; SCOTT A. SHERMAN; ILAN BERKER

1/161/16

MÉTODO E SISTEMA PARA CRIAR E ESQUEMATIZAR UM GRÁFICO DENTRO DE UM PROGRAMA DE APLICAÇÃO.METHOD AND SYSTEM FOR CREATING AND SCHEMATICIZING A GRAPHIC WITHIN AN APPLICATION PROGRAM.

REFERÊNCIA cruzada a PEDIDOS correlatos [001] O presente pedido de patente se refere depositado simultaneamente, intitulado Editing The Text Of an Arbitrary Graphíc Vía A Hierarchical List, depositado em 30 de setembro de 2004 e atribuído ao mesmo cessionário desse pedido. O pedido de patente anteriormente mencionado é expressamente incorporado aqui, integral mente, como referência.Cross reference to related applications [001] This patent application refers to filed simultaneously, entitled Editing The Text Of an Arbitrary Graphíc Vía A Hierarchical List, filed on September 30, 2004 and assigned to the same assignee of that application. The aforementioned patent application is expressly incorporated here, in full, by reference.

ANTECEDENTES DA INVENÇÃO [002] Aplicações modernas de software, incluindo processadores de texto e programas de aplicação dedicados ao desenho, permitem que usuários criem gráficos simples e complexos. Esses programas de desenho permitem que usuários criem gráficos utilizando uma variedade de formas as quais podem ser anotadas com texto. Os gráficos criados por essas aplicações podem ser documentos independentes ou incorporados em documentos de texto. Apesar das vantagens oferecidas pelos programas modernos de desenho, contudo, esses programas apresentam vários empecilhos que dificultam a criação e desenho de gráficos pelo usuário típico.BACKGROUND OF THE INVENTION [002] Modern software applications, including word processors and application programs dedicated to drawing, allow users to create simple and complex graphics. These drawing programs allow users to create graphics using a variety of shapes which can be annotated with text. The graphics created by these applications can be independent documents or embedded in text documents. Despite the advantages offered by modern design programs, however, these programs present several obstacles that hinder the creation and design of graphics by the typical user.

[003] Um empecilho dos programas modernos de desenho é que embora eles possam oferecer ferramentas para criar gráficos, muitos usuários não têm conhecimento dessas ferramentas existentes, ou de como utilizá-las efetivamente, Como resultado, os usuários ou criam seus próprios gráficos ou utilizam as ferramentas gráficas incorretamente, resultando em gráficos com formas que são mal alinhadas e textos que deveríam ter o mesmo tamanho de fonte, porém, não têm. Um outro empecilho dos programas modernos de desenho é que formas contendo texto não redimensionam automaticamente as fontes ou[003] A drawback of modern design programs is that although they can offer tools to create graphics, many users are unaware of these existing tools, or how to use them effectively. As a result, users either create their own graphics or use the graphics tools incorrectly, resulting in graphics with shapes that are poorly aligned and texts that should have the same font size, but they don't. Another drawback of modern drawing programs is that shapes containing text do not automatically resize fonts or

2/16 expandem suas dimensões para texto adicionado ou ampliado de tal modo que o texto permanece total mente encerrado na forma. Ainda um outro empecilho dos programas modernos de desenho é que eles oferecem gabaritos rígidos ou absolutamente nenhum gabarito. Programas sem gabarito exigem que os usuários manualmente dimensionem e posicionem cada forma; programas com gabarito rígido não permitem que os usuários façam quaisquer modificações ou personalizações no tamanho ou posição da formas.2/16 expand their dimensions to added or enlarged text in such a way that the text remains completely enclosed in the form. Yet another drawback of modern design programs is that they offer rigid templates or absolutely no templates at all. Programs without a template require users to manually size and position each shape; Programs with a rigid template do not allow users to make any modifications or customizations to the shape size or position.

[004] É com relação a essas, e outras, considerações que as várias modalidades da presente invenção foram feitas.[004] It is in relation to these and other considerations that the various modalities of the present invention were made.

SUMÁRIO DA INVENÇÃO [005] De acordo com a presente invenção, os problemas mencionados acima, e outros, são resolvidos através de um método, aparelho, e meio físico legível por computador para criar e desenhar um gráfico dentro de um programa de aplicação de desenho com base em um conjunto de limitações que transformam dados e relações em um gabarito gráfico específico. O método inclui receber um modelo de dados definindo os dados e as relações entre esses dados que serão representados no gráfico, receber uma definição gráfica definindo o gráfico a ser criado, gerar uma árvore de desenho mediante mapeamento de dados a partir do modelo de dados para a informação na definição gráfica, determinar o tamanho e posição para as formas gráficas de acordo com os valores de limitação e regras de limitação, especificadas na definição gráfica, e criar uma lista de formas para o gráfico utilizando a informação a partir da árvore de gabarito. Essas formas podem ser então renderizadas mediante qualquer aplicação de renderização para se obter um gráfico final.SUMMARY OF THE INVENTION [005] In accordance with the present invention, the problems mentioned above, and others, are solved by a computer-readable method, apparatus, and physical medium for creating and drawing a graph within a drawing application program. based on a set of limitations that transform data and relationships into a specific graphic template. The method includes receiving a data model defining the data and the relationships between those data that will be represented in the graph, receiving a graphical definition defining the graph to be created, generating a drawing tree by mapping data from the data model to the information in the graphic definition, determine the size and position for the graphic shapes according to the limitation values and limitation rules specified in the graphic definition, and create a list of shapes for the graphic using the information from the template tree . These shapes can then be rendered using any rendering application to obtain a final graphic.

[006] Para mapear os dados a partir do modelo de dados para a informação na definição gráfica, o método faz uma iteração através do modelo de dados e aplica critérios especificados na definição gráfica[006] To map the data from the data model to the information in the graphical definition, the method iterates through the data model and applies criteria specified in the graphical definition

3/16 para determinar os algoritmos, limitações, regras de limitação e propriedades de forma para cada forma necessária para construir o gráfico. Esses conjuntos de dados são então adicionados à árvore de gabarito, a qual é uma representação hierárquica da estrutura gráfica.3/16 to determine the algorithms, limitations, limitation rules and shape properties for each shape needed to build the graph. These data sets are then added to the template tree, which is a hierarchical representation of the graphic structure.

[007] Para determinar o tamanho e a posição das formas gráficas, o método acessa os algoritmos, limitações e regras de limitação na definição gráfica. Os algoritmos vêm de um conjunto não limitado de potenciais algoritmos que tem conhecimento de como dimensionar e posicionar formas para obter um gabarito gráfico específico, tal como desenhar formas em uma trajetória circular ou desenhar formas em uma trajetória linear. Os algoritmos utilizam as limitações, ou valores iniciais, junto com as regras de limitação, ou instruções, para alterar aqueles valores iniciais dentro de uma faixa, para determinar o tamanho e posição das formas, com base no número de formas, quantidade de texto dentro de cada forma, e as dimensões da área na qual as formas devem ser desenhadas.[007] To determine the size and position of the graphic shapes, the method accesses the algorithms, limitations and rules of limitation in the graphic definition. The algorithms come from an unrestricted set of potential algorithms that have knowledge of how to dimension and position shapes to obtain a specific graphic template, such as drawing shapes on a circular path or drawing shapes on a linear path. The algorithms use the limitations, or initial values, together with the limitation rules, or instructions, to change those initial values within a range, to determine the size and position of the shapes, based on the number of shapes, amount of text within of each shape, and the dimensions of the area in which the shapes are to be drawn.

[008] A presente invenção pode ser implementada como um processo de computador, como um sistema de computação, ou como um artigo de fabricação tal como um produto de programa de computador ou mídia legível por computador. O produto de programa de computador pode ser uma mídia de armazenamento de computador legível por um sistema de computador e codificando um programa de computador de instruções para executar um processo de computador. O produto de programa de computador também pode ser um sinal propagado em uma portadora legível por um sistema de computação e codificando um programa de instruções de computador para executar um processo de computador.[008] The present invention can be implemented as a computer process, as a computer system, or as an article of manufacture such as a computer program product or computer-readable media. The computer program product can be a computer storage medium that is readable by a computer system and encoding a computer program for instructions for executing a computer process. The computer program product can also be a signal propagated on a carrier readable by a computer system and encoding a program of computer instructions to execute a computer process.

[009] Essas e várias outras características, assim como vantagens, que caracterizam a presente invenção, serão evidentes a partir da leitura da descrição detalhada que se segue e de uma análise dos[009] These and several other characteristics, as well as advantages, that characterize the present invention, will be evident from the reading of the detailed description that follows and an analysis of the

4/16 desenhos associados.4/16 associated drawings.

DESCRIÇÃO RESUMIDA DAS VÁRIAS VISTAS DOS DESENHOS [0010] A Figura 1 ê um gráfico de arquitetura de sistema de computador ilustrando um sistema de computador utilizado nas várias modalidades da presente invenção e provido pelas mesmas;BRIEF DESCRIPTION OF THE VARIOUS VIEWS OF THE DRAWINGS [0010] Figure 1 is a graph of computer system architecture illustrating a computer system used in the various embodiments of the present invention and provided by them;

[0011] A Figura 2 é um diagrama de blocos dos vários componentes que são utilizados na criação e no desenho de gráficos dentro do programa de aplicação de desenho no sistema de computador da Figura 1, de acordo com as várias modalidades da invenção;[0011] Figure 2 is a block diagram of the various components that are used in the creation and design of graphics within the drawing application program in the computer system of Figure 1, according to the various modalities of the invention;

[0012] A Figura 3 é um diagrama de blocos de uma árvore de gabarito ilustrativa de acordo com as várias modalidades da presente invenção;[0012] Figure 3 is a block diagram of an illustrative template tree according to the various modalities of the present invention;

[0013] A Figura 4 é um diagrama de blocos de uma parte de uma definição gráfica ilustrativa para gerar uma árvore de gabarito, de acordo com as várias modalidades da presente invenção; e [0014] A Figura 5 é uma rotina ilustrativa realizada por um programa de aplicação de desenho no sistema de computador da Figura 1 para criar e desenhar um gráfico, de acordo com uma modalidade da presente invenção.[0013] Figure 4 is a block diagram of a part of an illustrative graphic definition for generating a template tree, according to the various modalities of the present invention; and [0014] Figure 5 is an illustrative routine performed by a drawing application program on the computer system of Figure 1 to create and draw a graph, according to an embodiment of the present invention.

DESCRIÇÃO DETALHADA DA INVENÇÃO [0015] Com referência agora aos desenhos, onde numerais semelhantes representam elementos semelhantes, vários aspectos da presente invenção serão descritos. Especificamente, a Figura 1 e a discussão correspondente se destinam a prover uma descrição breve, geral, de um ambiente de computação adequado onde modalidades da invenção podem ser implementadas. Embora a invenção seja descrita no contexto geral de módulos de programa que executam em conjunto com módulos de programa que executam em um sistema operacional em um computador pessoal, aqueles versados na técnica reconhecerão que a invenção também pode ser implementada emDETAILED DESCRIPTION OF THE INVENTION [0015] Referring now to the drawings, where similar numerals represent similar elements, various aspects of the present invention will be described. Specifically, Figure 1 and the corresponding discussion are intended to provide a brief, general description of a suitable computing environment where modalities of the invention can be implemented. Although the invention is described in the general context of program modules that run in conjunction with program modules that run on an operating system on a personal computer, those skilled in the art will recognize that the invention can also be implemented in

5/16 combinação com outros tipos de sistemas de computador e módulos de programa.5/16 combination with other types of computer systems and program modules.

[0016] Geralmente, módulos de programa incluem rotinas, programas, componentes, estruturas de dados e outros tipos de estruturas que realizam tarefas específicas ou implementam tipos de dados abstratos específicos. Além disso, aqueles versados na técnica considerarão que a invenção pode ser praticada com outras configurações de sistema de computador, incluindo dispositivos manuais, sistemas de múltiplos processadores, meios eletrônicos programáveis pelo consumidor ou baseados em microprocessador, minicomputadores, computadores de grande porte, e semelhantes. A invenção também pode ser praticada em ambientes de computação distribuída onde as tarefas são realizadas por dispositivos de processamento remoto que são ligados através de uma rede de comunicações. Em um ambiente de computação distribuída, os módulos de programa podem estar localizados em dispositivos de armazenamento de memória local e remota. [0017] Com referência agora à Figura 1, será descrita uma arquitetura de computador ilustrativa para um computador 2 utilizado nas várias modalidades da invenção. A arquitetura de computador mostrada na Figura 1 ilustra um computador de mesa convencional ou laptop, incluindo uma unidade de processamento central (CPU) 5, uma memória de sistema 7, incluindo uma memória de acesso aleatório (RAM) 9 e uma memória somente de leitura (ROM) 11, e um barramento de sistema 12 que acopla a memória à CPU 5. Um sistema básico de entrada/saída contendo as rotinas básicas que ajudam a transferir informação entre elementos dentro do computador, tal como durante a inicialização, é armazenado na ROM 11.0 computador 2 inclui adicionalmente um dispositivo de armazenamento de massa 14 para armazenar um sistema operacional 16, programas de aplicação, e outros módulos de programa, que serão descritos em maior detalhe[0016] Program modules generally include routines, programs, components, data structures and other types of structures that perform specific tasks or implement specific abstract data types. In addition, those skilled in the art will consider that the invention can be practiced with other computer system configurations, including manual devices, multi-processor systems, consumer-programmable or microprocessor-based electronic media, minicomputers, large computers, and the like . The invention can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected via a communications network. In a distributed computing environment, program modules can be located on local and remote memory storage devices. [0017] With reference now to Figure 1, an illustrative computer architecture for a computer 2 used in the various modalities of the invention will be described. The computer architecture shown in Figure 1 illustrates a conventional desktop computer or laptop, including a central processing unit (CPU) 5, a system memory 7, including a random access memory (RAM) 9 and a read-only memory (ROM) 11, and a system bus 12 that couples memory to CPU 5. A basic input / output system containing basic routines that help transfer information between elements within the computer, such as during startup, is stored in the ROM 11.0 computer 2 additionally includes a mass storage device 14 to store an operating system 16, application programs, and other program modules, which will be described in more detail

6/16 abaixo.6/16 below.

[0018] O dispositivo de armazenamento de massa 14 é conectado à CPU 5 através de um controlador de armazenamento de massa (não mostrado) conectado ao barramento 12. O dispositivo de armazenamento de massa 14 e sua mídia legível por computador associada proporcionam armazenamento não-volátil ao computador 2. Embora a descrição de mídia legível por computador contida aqui se refira a um dispositivo de armazenamento de massa, tal como um disco rígido ou unidade de CD-ROM, deve ser considerado por aqueles versados na técnica que mídia legível por computador pode ser qualquer mídia disponível que possa ser acessada pelo computador 2.[0018] The mass storage device 14 is connected to CPU 5 via a mass storage controller (not shown) connected to bus 12. The mass storage device 14 and its associated computer-readable media provide non- volatile to computer 2. Although the computer-readable media description contained herein refers to a mass storage device, such as a hard drive or CD-ROM drive, it should be considered by those skilled in the art that computer-readable media it can be any available media that can be accessed by computer 2.

[0019] Como exemplo, e não como limitação, mídia legível por computador pode compreender mídia de armazenamento de computador e mídia de comunicação. Mídia de armazenamento de computador inclui mídia volátil e não-volátil, removível e não-removível implementada em qualquer método ou tecnologia para armazenamento de informação como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Mídia de armazenamento de computador inclui, porém não se limita a, RAM, ROM, EPROM, EEPROM, memória instantânea ou outra tecnologia de memória de estado sólido, CD-ROM, discos versáteis digitais (DVD), ou outro meio de armazenamento ótico, cassetes magnéticos, fita magnética, meio de armazenamento de disco magnético ou outros dispositivos magnéticos de armazenamento, ou qualquer outro meio físico que possa ser usado para armazenar a informação desejada e que possa ser acessado pelo computador 2.[0019] As an example, and not as a limitation, computer-readable media can comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, instant memory or other solid state memory technology, CD-ROM, digital versatile discs (DVD), or other optical storage media, magnetic cassettes, magnetic tape, magnetic disk storage medium or other magnetic storage devices, or any other physical medium that can be used to store the desired information and that can be accessed by the computer 2.

[0020] De acordo com várias modalidades da presente invenção, o computador 2 pode operar em um ambiente de rede utilizando conexões lógicas para computadores remotos através de uma rede 18, como a Internet. O computador 2 pode se conectar à rede 18 através de[0020] According to various embodiments of the present invention, computer 2 can operate in a network environment using logical connections to remote computers over a network 18, such as the Internet. Computer 2 can connect to network 18 via

7/16 uma unidade de interface de rede 20 conectada ao barramento 12. Deve ser considerado que a unidade de interface de rede 20 também pode ser utilizada para conexão a outros tipos de redes e sistemas de computadores remotos. O computador 2 também pode incluir um controlador de entrada/saída 22 para receber e processar entrada a partir de alguns outros dispositivos, incluindo um teclado, mouse ou caneta eletrônica (não mostrado na Figura 1). Similarmente, um controlador de entrada/saída 22 pode prover saída para uma tela de exibição, uma impressora ou outro tipo de dispositivo de saída.7/16 a network interface unit 20 connected to bus 12. It should be considered that the network interface unit 20 can also be used to connect to other types of networks and remote computer systems. Computer 2 may also include an input / output controller 22 for receiving and processing input from some other devices, including a keyboard, mouse or electronic pen (not shown in Figure 1). Similarly, an input / output controller 22 can provide output to a display screen, printer or other type of output device.

[0021] Como mencionado resumidamente acima, alguns módulos de programa e arquivos de dados podem ser armazenados no dispositivo de armazenamento de massa 14 e na RAM 9 do computador 2, incluindo um sistema operacional 16 adequado para controlar a operação de um computador pessoal de rede, como o sistema operacional WINDOWS XP da Microsoft CORPORATION de Redmond, Washington. O dispositivo de armazenamento de massa 14 e a RAM 9 também podem armazenar um ou mais módulos de programa. Especificamente, o dispositivo de armazenamento de massa 14 e a RAM 9 podem armazenar um programa de aplicação de desenho 10. O programa de aplicação de desenho 10 é operativo para prover funcionalidade para a criação e desenho de gráficos, como o gráfico 24. De acordo com uma modalidade da presente invenção, o programa de aplicação de desenho 10 compreende o conjunto de programas de aplicação OFFICE da Microsoft CORPORATION, incluindo os programas de aplicação WORD, EXCEL e POWERPOINT.[0021] As briefly mentioned above, some program modules and data files can be stored on the mass storage device 14 and RAM 9 of computer 2, including an operating system 16 suitable for controlling the operation of a personal network computer , such as the Microsoft CORPORATION WINDOWS XP operating system in Redmond, Washington. Mass storage device 14 and RAM 9 can also store one or more program modules. Specifically, the mass storage device 14 and the RAM 9 can store a design application program 10. The design application program 10 is operative to provide functionality for creating and drawing graphics, such as graphic 24. According to with one embodiment of the present invention, the design application program 10 comprises the set of Microsoft CORPORATION OFFICE application programs, including the WORD, EXCEL and POWERPOINT application programs.

[0022] Com referência agora à Figura 2, é mostrado um diagrama de blocos dos vários componentes que são utilizados na criação e desenho de gráficos dentro do programa de aplicação de desenho 10, de acordo com as várias modalidades da invenção. Os vários componentes incluem um modelo de dados 30, definição gráfica 40, árvore de[0022] With reference now to Figure 2, there is shown a block diagram of the various components that are used in creating and drawing graphics within the drawing application program 10, according to the various modalities of the invention. The various components include a data model 30, graphical definition 40,

8/16 gabarito 50, algoritmos 60 e uma lista de formatos 70. Nas várias modalidades da invenção, o programa de aplicação de desenho 10 lê na definição gráfica 40 para instruções relacionadas à criação e desenho de gráficos. Será considerado que em uma modalidade da invenção o modelo de dados 30 e o arquivo de definição gráfica 40 podem ser armazenados como arquivos individuais no sistema de computador 2 que são acessados pelo programa de aplicação de desenho 10.8/16 template 50, algorithms 60 and a list of formats 70. In the various modalities of the invention, the drawing application program 10 reads in graphic definition 40 for instructions related to the creation and drawing of graphics. It will be considered that in an embodiment of the invention the data model 30 and the graphic definition file 40 can be stored as individual files in the computer system 2 which are accessed by the design application program 10.

[0023] O modelo de dados 30 inclui uma coleção de nós, relacionamentos, texto e propriedades que contém o conteúdo para construção do gráfico 24. A definição gráfica 40 é uma compilação de dados que descreve como criar um gabarito gráfico específico. Em várias modalidades da invenção, a definição gráfica 40 pode ser formatada de acordo com linguagem de marcação extensível (XML). Como é entendido por aqueles versados na técnica, XML é uma forma padrão para comunicação de dados. Na forma de dados XML, um esquema é utilizado para prover dados XML com um conjunto de regras gramaticais e de tipos de dados governando os tipos e estrutura de dados que podem ser comunicados. A forma de dados XML é bem conhecida daqueles versados na técnica e, portanto, não será discutido aqui em mais detalhes. Os aspectos de um gráfico descrito pela definição gráfica 40 incluem o nome de um algoritmo de desenho a ser usado para cada nó de desenho, parâmetros de algoritmo, limitações e regras de limitação para construir a árvore de gabarito, padrões para geometria de formas e propriedades de estilo, dados de classificação gráfica e um modelo de dados de amostra.[0023] Data model 30 includes a collection of nodes, relationships, text and properties that contain the content for building graph 24. Graphical definition 40 is a compilation of data that describes how to create a specific graphical template. In various embodiments of the invention, graphic definition 40 can be formatted according to extensible markup language (XML). As understood by those skilled in the art, XML is a standard form of data communication. In the form of XML data, a schema is used to provide XML data with a set of grammatical rules and data types governing the types and structure of data that can be communicated. The form of XML data is well known to those skilled in the art and, therefore, will not be discussed here in more detail. Aspects of a graph described by graphical definition 40 include the name of a design algorithm to be used for each design node, algorithm parameters, limitations and limitation rules for building the template tree, patterns for shape geometry and properties style data, graphical classification data and a sample data model.

[0024] Limitações são condições usadas por um algoritmo de desenho para criar um gráfico. Um exemplo de uma limitação é o valor a ser usado para a largura de uma forma. Será considerado que limitações podem incluir valores numéricos ou valores Booleanos. Limitações numéricas podem especificar um valor numérico específico (por[0024] Limitations are conditions used by a drawing algorithm to create a graph. An example of a limitation is the value to be used for the width of a shape. It will be considered that limitations may include numeric values or Boolean values. Numerical limitations can specify a specific numerical value (for example,

9/16 exemplo, largura = 2,54 cm (1 pol)). Limitações numéricas também podem calcular seu valor mediante referência a outros valores de limitação utilizando referências (por exemplo, altura = largura * 0,75). Limitações Booleanas podem incluir limitações de igualdade que forçam todos os nós em um conjunto a terem o mesmo valor para uma outra limitação, e podem incluir limitações de desigualdade, onde um valor de limitação é limitado com base em um outro valor de limitação (por exemplo, a largura da forma precisa ser menor do que ou maior do que a altura de uma outra forma). Limitações podem ser propagadas entre nós de desenho para executar igualdade entre elementos de desenho (por exemplo, todos os nós normais têm o mesmo tamanho de fonte) ou desigualdade (por exemplo, a largura dos nós de transição deve ser <= largura de nó normal). Limitações podem ser propagadas mediante anexação de um meio de propagação compartilhado a uma limitação a qual propaga seus estados para outros nós de gabarito. Será considerado que as limitações assim como as regras de limitação podem ser atualizadas em outros nós a partir da limitação de propagação. Regras de limitação são uma descrição de como modificar um conjunto de limitações se elas forem incapazes de ser cumpridas por um algoritmo de desenho. Por exemplo, uma limitação pode especificar que um tamanho de fonte pode ser de 14 pontos, porém uma regra de limitação pode especificar que um tamanho de fonte pode diminuir até um mínimo de 8 pontos. A definição gráfica 40 será discutida em maiores detalhes com relação à Figura 4, abaixo.9/16 example, width = 2.54 cm (1 in)). Numerical limitations can also calculate their value by reference to other limitation values using references (for example, height = width * 0.75). Boolean limitations can include equality limitations that force all nodes in a set to have the same value for another limitation, and can include inequality limitations, where a limitation value is limited based on another limitation value (for example , the width of the shape must be less than or greater than the height of another shape). Limitations can be propagated between design nodes to perform equality between design elements (for example, all normal nodes have the same font size) or inequality (for example, the width of the transition nodes must be <= normal node width ). Limitations can be propagated by attaching a shared propagation medium to a limitation which propagates its states to other template nodes. It will be considered that the limitations as well as the limitation rules can be updated in other nodes from the propagation limitation. Limitation rules are a description of how to modify a set of limitations if they are unable to be met by a design algorithm. For example, a limitation can specify that a font size can be 14 points, but a limitation rule can specify that a font size can decrease up to a minimum of 8 points. Graphical definition 40 will be discussed in more detail with respect to Figure 4, below.

[0025] A árvore de gabarito 34 é uma compilação de elementos de apresentação, ou nós de desenho. Um nó de desenho é um nó na árvore de gabarito representando uma forma, ou grupo de formas, que compõe um elemento do gráfico 24. Um nó de desenho pode ser ligado opcionalmente aos nós do modelo de dados 30. A árvore de gabarito 34 armazena dados sobre os formatos que comporão um gráfico,[0025] Template tree 34 is a compilation of presentation elements, or design nodes. A drawing node is a node in the template tree representing a shape, or group of shapes, that makes up a graphic element 24. A drawing node can optionally be linked to the nodes of data model 30. Template tree 34 stores data on the formats that will compose a graph,

10/16 incluindo as geometrias, propriedades, ajustes de texto e colocação de formas respectivas.10/16 including geometries, properties, text adjustments and placement of respective shapes.

[0026] O programa de aplicação de desenho 10 constrói a árvore de gabarito mediante mapeamento dos dados a partir do modelo de dados para a informação de desenho gráfico na definição gráfica para construir nós de desenho, e associação dos algoritmos, limitações e regras de limitação a esses nós de desenho. Ele utiliza então o algoritmo, limitações e regras de limitação para determinar dimensões de forma, ajustes de texto e colocação de forma antes de construir a lista de formas 50 que é usada para renderizar o gráfico 24 na tela de desenho. Nós de desenho serão discutidos em maiores detalhes abaixo. A árvore de gabarito 34 será discutida em maiores detalhes com relação à Figura 3, abaixo.[0026] The design application program 10 builds the template tree by mapping the data from the data model to the graphic design information in the graphic definition to build design nodes, and association of the algorithms, limitations and limitation rules to these drawing nodes. He then uses the algorithm, limitations and limitation rules to determine shape dimensions, text adjustments and shape placement before building the shape list 50 that is used to render the graphic 24 on the canvas. Design nodes will be discussed in more detail below. Template tree 34 will be discussed in more detail with respect to Figure 3, below.

[0027] Com referência agora à Figura 3, é mostrado um diagrama de blocos de uma instância de uma árvore de gabarito 34, de acordo com as várias modalidades da presente invenção. Deve ser entendido que a árvore de gabarito 34 mostrada na Figura 3, é ilustrativa, e que árvores de gabarito podem ser maiores ou menores dependendo da quantidade de dados para o gráfico, e de como o gabarito de gráfico é definido. A árvore de gabarito 34 inclui uma disposição hierárquica de nós de desenho a serem utilizados ao se desenhar o gráfico 24. Nessa instância, os nós de desenho representam a área de página global para conter o gráfico, nó de página 62. Os nós filhos (ou nós de segundo nível) do nó de página 62 incluem um nó gráfico 64, um nó de título 66 e um nó de chamadas 67. Os nós filhos do nó gráfico 64 incluem um nó de primeiro nível 68, um nó de segundo nível 70 e um nó de terceiro nível 72 representando os formatos que constroem o diagrama, e mapeiam para trás para os elementos de modelo de dados. O nó de terceiro nível também tem nós filhos 74 (Ponto A) e 76 (Ponto B), que representam formas visíveis e também mapeiam para trás para ele11/16 mentos de modelo de dados.[0027] With reference now to Figure 3, a block diagram of an instance of a template tree 34 is shown, according to the various modalities of the present invention. It should be understood that the template tree 34 shown in Figure 3 is illustrative, and that template trees can be larger or smaller depending on the amount of data for the chart, and how the chart template is defined. Template tree 34 includes a hierarchical arrangement of drawing nodes to be used when drawing graph 24. In this instance, the drawing nodes represent the global page area to contain the graph, page node 62. The child nodes ( or second level nodes) of page 62 node include a graphical node 64, a title node 66 and a calling node 67. The child nodes of graphic node 64 include a first level node 68, a second level node 70 and a third level node 72 representing the formats that build the diagram, and map back to the data model elements. The third level node also has child nodes 74 (Point A) and 76 (Point B), which represent visible shapes and also map back to it11 / 16 data model elements.

[0028] Com referência agora à Figura 4, é mostrado um diagrama de blocos de uma parte da definição gráfica 40, de acordo com as várias modalidades da presente invenção. Como mostrado na Figura 4, essa implementação da definição gráfica se baseia em um esquema XML que define o gabarito do gráfico 24. O esquema XML inclui uma marca LayoutNode 47, a qual tem submarcas incluindo uma marca Algorithm que define o tipo de algoritmo usado para desenhar o gráfico por intermédio de um nó de desenho (isto é, pirâmide), uma marca Shapes 48 para definir formas que podem ser usadas no gráfico por intermédio de um nó de desenho (isto é, trapezoidais), e uma marca Constraints 49 para definir limitações.[0028] With reference now to Figure 4, a block diagram of a part of the graphic definition 40 is shown, according to the various modalities of the present invention. As shown in Figure 4, this implementation of the graphical definition is based on an XML schema that defines the template of the graph 24. The XML schema includes a LayoutNode 47 tag, which has sub-brands including an Algorithm tag that defines the type of algorithm used for draw the graph using a drawing node (ie, pyramid), a Shapes 48 mark to define shapes that can be used on the graph using a design node (ie, trapezoidal), and a Constraints 49 mark for define limitations.

[0029] Com referência agora à Figura 5, será descrita uma rotina ilustrativa 500 ilustrando um processo realizado pelo programa de aplicação de desenho 10 para criar e desenhar um gráfico. Ao ler a discussão das rotinas aqui apresentadas, deve ser considerado que as operações lógicas das várias modalidades da presente invenção são implementadas (1) como uma sequência de ações implementadas por computador ou módulos de programa executados em um sistema de computação e/ou (2) como circuitos lógicos interconectados de máquina ou módulos de circuito dentro do sistema de computação. A implementação é uma questão de escolha dependente das exigências de desempenho do sistema de computação implementando a invenção. Consequentemente, as operações lógicas ilustradas na Figura 5 e compondo as modalidades da presente invenção aqui descritas, são referidas de forma variada como operações, dispositivos estruturais, ações ou módulos. Será reconhecido por aqueles versados na técnica que essas operações, dispositivos estruturais, ações e módulos podem ser implementados em software, em firmware, em lógica digital de uso especial ou qualquer combinação das mesmas sem se afastar do[0029] With reference now to Figure 5, an illustrative routine 500 will be described illustrating a process performed by the drawing application program 10 to create and draw a graph. When reading the discussion of the routines presented here, it must be considered that the logical operations of the various modalities of the present invention are implemented (1) as a sequence of actions implemented by computer or program modules executed in a computer system and / or (2 ) as interconnected machine logic circuits or circuit modules within the computing system. Implementation is a matter of choice depending on the performance requirements of the computing system implementing the invention. Consequently, the logical operations illustrated in Figure 5 and making up the modalities of the present invention described here, are referred to in a variety of ways as operations, structural devices, actions or modules. It will be recognized by those skilled in the art that these operations, structural devices, actions and modules can be implemented in software, in firmware, in special use digital logic or any combination thereof without departing from the

12/16 espírito e escopo da presente invenção como recitados nas reivindicações aqui apresentadas.12/16 spirit and scope of the present invention as recited in the claims presented herein.

[0030] Com referência agora à Figura 5, a rotina 500 começa na operação 510, onde o programa de aplicação de desenho 10 recebe um modelo de dados, definindo os dados e relações de dados, a serem apresentados no gráfico a ser criado. Será considerado que os dados e as relações de dados determinam o tipo e número de cada nó de desenho na árvore de gabarito 34 gerada pela estrutura de gabarito, de acordo com os padrões especificados na definição gráfica.[0030] With reference now to Figure 5, routine 500 starts at operation 510, where the drawing application program 10 receives a data model, defining the data and data relationships, to be presented in the graph to be created. It will be considered that the data and data relationships determine the type and number of each design node in the template tree 34 generated by the template structure, according to the standards specified in the graphic definition.

[0031] A rotina 500 continua a partir da operação 510 para a operação 520, onde o programa de aplicação de desenho 10 recebe uma definição gráfica descrevendo uma possibilidade para o mapeamento dos dados a partir do modelo de dados para nós de desenho especificando algoritmos, parâmetros, limitações, regras de limitação e propriedades de forma. Será considerado que a definição gráfica 40 pode ser recuperada como um arquivo separado, tal como um arquivo XML, armazenado no sistema de computador 2. Desta maneira, é provido suporte para o desenvolvimento de novas definições gráficas que podem ser acrescentadas por um usuário de modo que elas possam ser lidas pelo programa de aplicação de desenho 10. Novas definições gráficas podem ser criadas e recuperadas sem mudanças na estrutura de gabarito, permitindo um conjunto expandido de gráficos que a aplicação de desenho pode desenhar.[0031] Routine 500 continues from operation 510 to operation 520, where the drawing application program 10 receives a graphic definition describing a possibility for mapping data from the data model to design nodes specifying algorithms, parameters, limitations, limitation rules and shape properties. It will be considered that the graphic definition 40 can be retrieved as a separate file, such as an XML file, stored in the computer system 2. In this way, support is provided for the development of new graphic definitions that can be added by a user in a way that they can be read by the drawing application program 10. New graphic definitions can be created and retrieved without changes to the template structure, allowing an expanded set of graphics that the drawing application can draw.

[0032] A definição gráfica provê padrões para aplicação dos algoritmos, parâmetros, limitações e regras de limitação. Como definido aqui, algoritmos são rotinas de desenho para posicionar e dimensionar formas e texto. Por exemplo, um algoritmo poderia desenhar formas em uma trajetória linear enquanto que um outro algoritmo poderia desenhar formas em uma trajetória circular. Será considerado que algoritmos podem assumir parâmetros para determinar várias opções de[0032] The graphical definition provides standards for the application of algorithms, parameters, limitations and rules of limitation. As defined here, algorithms are drawing routines for positioning and scaling shapes and text. For example, one algorithm could draw shapes on a linear path while another algorithm could draw shapes on a circular path. It will be considered that algorithms can take parameters to determine various options for

13/16 colocação. Por exemplo, um algoritmo linear tem parâmetros para direção e orientação que podem ser controlados através de vários comandos de ferramentas de desenho no programa de aplicação de desenho 10. Por exemplo, uma ferramenta pode ser provida na aplicação de desenho 10 para alterar um dos parâmetros do algoritmo de gabarito para mudar a orientação do gráfico (por exemplo, esquerda-paradireita versus direita-para-esquerda) ou girar o gráfico. Os algoritmos também são externos à estrutura de gabarito e podem ser adicionados para expandir a faixa de gráficos que podem ser criados sem mudanças na estrutura de gabarito.13/16 placement. For example, a linear algorithm has parameters for direction and orientation that can be controlled via various drawing tool commands in drawing application program 10. For example, a tool can be provided in drawing application 10 to change one of the parameters the template algorithm to change the graph's orientation (for example, left-right versus right-to-left) or rotate the graph. The algorithms are also external to the template structure and can be added to expand the range of graphics that can be created without changes to the template structure.

[0033] A rotina 500 continua a partir da operação 520 para a operação 530, onde o programa de aplicação de desenho 10 gera uma árvore de gabarito a partir do modelo de dados recebido e da definição gráfica recebida. Especificamente, o programa de aplicação de desenho 10 caminha através dos nós no modelo de dados 30 e mapeia os nós e relações a partir do modelo de dados para especificar formas e propriedades de estilo padrão (por exemplo, propriedades de formatação e texto) de acordo com a definição gráfica (a qual também pode ser definida por um esquema XML). Como discutido acima com relação à Figura 2, a árvore de gabarito 34 inclui dados sobre as formas que comporão um gráfico, incluindo as geometrias, propriedades, ajustes de texto e colocação de formas respectivas. Será considerado que a árvore de gabarito é criada mediante iteração através do modelo de dados 30 e criação de nós de desenho com base nos padrões definidos na definição gráfica. Meios de iteração provêem instruções para construir a árvore de gabarito mediante indicação de como os elementos no modelo de dados são lidos e equiparados aos padrões de nós de desenho.[0033] Routine 500 continues from operation 520 to operation 530, where the drawing application program 10 generates a template tree from the received data model and the graphic definition received. Specifically, the drawing application program 10 walks through the nodes in the data model 30 and maps the nodes and relationships from the data model to specify standard style shapes and properties (for example, formatting and text properties) accordingly with the graphical definition (which can also be defined by an XML schema). As discussed above with respect to Figure 2, template tree 34 includes data on the shapes that will make up a graph, including geometries, properties, text adjustments and placement of respective shapes. It will be considered that the template tree is created by iterating through the data model 30 and creating drawing nodes based on the standards defined in the graphic definition. Iteration means provide instructions for building the template tree by indicating how the elements in the data model are read and matched to the design node patterns.

[0034] A rotina 500 continua a partir da operação 530 para a operação 540, onde o programa de aplicação de desenho 10 determina o[0034] Routine 500 continues from operation 530 to operation 540, where the application program drawing 10 determines the

14/16 tamanho e a posição das formas para os nós de desenho na árvore de gabarito, utilizando os algoritmos, parâmetros, limitações e regras de limitação a partir da definição gráfica. A rotina 500 continua a partir da operação 540 para operação 550, onde o programa de aplicação de desenho 10 determina se o gráfico a ser renderizado se ajusta a um espaço de desenho na tela de desenho com base nos valores de limitação.14/16 size and position of the shapes for the drawing nodes in the template tree, using the algorithms, parameters, limitations and limitation rules from the graphical definition. Routine 500 continues from operation 540 to operation 550, where the drawing application program 10 determines whether the graphic to be rendered fits a drawing space on the drawing screen based on the limiting values.

[0035] Se, na operação 550, o gráfico a ser renderizado não se ajusta ao espaço de desenho na tela de desenho, a rotina 500 continua para a operação 560, onde o programa de aplicação de desenho 10 modifica os valores de limitação utilizando as regras de limitação para ajustar o gráfico no espaço de desenho. Especificamente, os nós de desenho na árvore de gabarito 34 podem incluir um conjunto ordenado de regras de limitação que o programa de aplicação de desenho 10 pode utilizar para mudar os valores de limitação em uma tentativa de desenhar o gráfico de forma bem-sucedida dentro do espaço de desenho. De acordo com as várias modalidades da presente invenção, o programa de aplicação de desenho 10 tenta cada regra, em sucessão, se deslocando para a próxima regra apenas se a regra atual não permitir que o gráfico se ajuste dentro do espaço de desenho. Será considerado que quando o programa de aplicação 10 tiver terminado de executar através da lista de regras, ele automaticamente acessa uma lista de regras de emergência que força os elementos de desenho a se ajustarem dentro do espaço de desenho na tela de desenho mediante encolhimento de formas e tamanho de fonte até um tamanho muito pequeno, truncando texto, ou não colocando as formas no espaço de desenho.[0035] If, in operation 550, the graphic to be rendered does not fit the drawing space on the drawing screen, routine 500 continues to operation 560, where the drawing application program 10 modifies the limiting values using the limitation rules for adjusting the graph in the drawing space. Specifically, the drawing nodes in the template tree 34 can include an ordered set of constraint rules that the design application program 10 can use to change the constraint values in an attempt to successfully plot the graph within the drawing space. According to the various modalities of the present invention, the design application program 10 tries each rule, in succession, moving to the next rule only if the current rule does not allow the graphic to fit within the design space. It will be considered that when application program 10 has finished executing through the list of rules, it automatically accesses a list of emergency rules that forces the design elements to fit within the design space on the design screen by shrinking shapes and font size up to a very small size, truncating text, or not placing shapes in the drawing space.

[0036] Deve ser entendido que os elementos gráficos anteriormente mencionados incluem formas assim como texto que se ajusta dentro das formas. Assim, o programa de aplicação de desenho 10 também[0036] It should be understood that the graphic elements previously mentioned include shapes as well as text that fits within the shapes. Thus, the drawing application program 10 also

15/16 pode determinar na operação 550 se nem todo o texto se ajusta dentro das formas no espaço de desenho na tela de desenho. Será considerado que regras de limitação de texto assim como outras regras também podem ser incluídas em uma lista de regras de limitação do nó de desenho para determinar a ordem na qual as várias técnicas são aplicadas para ajuste ao texto. Essas técnicas podem incluir aumentar o tamanho da forma ou alterar as limitações de ajuste de texto (por exemplo, ajustando margens e tamanho de fonte). Algoritmos de texto são associados aos nós de desenho de uma árvore de gabarito onde dados existem no modelo de dados. Outras regras podem incluir algoritmos para determinar a quantidade de espaço entre dois elementos gráficos. Será considerado adicionalmente que outras regras podem utilizar algoritmos para determinar a quantidade de espaço entre dois elementos gráficos, a posição relativa dos elementos gráficos, etc. [0037] Se, na operação 550, o gráfico a ser renderizado não se ajustar ao espaço de desenho na tela de desenho, a rotina 500 deriva para operação 570, onde o programa de aplicação de desenho 10 cria uma lista de formas para o gráfico a ser criado com base nos dados de árvore de gabarito determinados na operação 540. Quando os nós a partir do modelo de dados 30 e os relacionamentos para formas específicas ou propriedades de forma são mapeados, a lista de formas pode ser renderizada em uma tela de desenho. A rotina 500 então termina.15/16 can determine in operation 550 whether not all of the text fits within the shapes in the drawing space on the drawing canvas. It will be considered that text limitation rules as well as other rules can also be included in a list of design node limitation rules to determine the order in which the various techniques are applied to fit the text. These techniques may include increasing the size of the shape or changing the limitations of text adjustment (for example, adjusting margins and font size). Text algorithms are associated with the drawing nodes of a template tree where data exists in the data model. Other rules may include algorithms to determine the amount of space between two graphics. It will also be considered that other rules may use algorithms to determine the amount of space between two graphic elements, the relative position of the graphic elements, etc. [0037] If, in operation 550, the graphic to be rendered does not fit the drawing space on the drawing screen, routine 500 derives for operation 570, where the drawing application program 10 creates a list of shapes for the graphic to be created based on the template tree data determined in operation 540. When the nodes from data model 30 and relationships to specific shapes or shape properties are mapped, the shape list can be rendered on a drawing. The 500 routine then ends.

[0038] Com base no anteriormente mencionado, deve ser considerado que as várias modalidades da presente invenção incluem um método e aparelho e meio físico legível por computador para gerenciar tipos específicos de conteúdo em um documento eletrônico. A especificação acima, exemplos e dados proporcionam uma descrição completa da fabricação e uso da composição da invenção. Uma vez que muitas modalidades da invenção podem ser feitas sem se afastar do[0038] Based on the aforementioned, it should be considered that the various modalities of the present invention include a computer-readable method and apparatus and physical medium for managing specific types of content in an electronic document. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the

16/16 espírito e escopo da invenção, a invenção reside nas reivindicações anexadas a seguir.16/16 spirit and scope of the invention, the invention resides in the claims attached hereafter.

1/51/5

Claims (21)

REIVINDICAÇÕES 1. Método para criar e esquematizar um gráfico dentro de um programa de aplicação que compreende as etapas de:1. Method to create and lay out a graph within an application program that comprises the steps of: receber um modelo de dados para a construção do gráfico, o modelo de dados definindo um conjunto de dados e relações de dados a serem representados no gráfico;receive a data model for the construction of the graph, the data model defining a set of data and data relationships to be represented in the graph; receber uma definição gráfica, a definição gráfica descrevendo o mapeamento dos dados a partir do modelo de dados para nós de esquema, algoritmos, parâmetros, limitações, regras de limitações e propriedades de forma, em que a definição gráfica também especifica iteradores para mapear elementos no modelo de dados para os nós de esquema e conjuntos de algoritmos, parâmetros, limitações e regras de limitações associados aos nós de esquema;receive a graphical definition, the graphical definition describing the mapping of data from the data model to schema nodes, algorithms, parameters, limitations, rules of limitations and shape properties, where the graphical definition also specifies iterators to map elements in the data model for the schema nodes and sets of algorithms, parameters, limitations and rules of limitations associated with the schema nodes; determinar o tamanho da forma e a posição das formas no gráfico utilizando os algoritmos, parâmetros, limitações, regras de limitações e propriedades de forma associados aos nós de esquema;determine the size of the shape and the position of the shapes on the chart using the algorithms, parameters, limitations, rules of limitations and shape properties associated with the schema nodes; caracterizado pelo fato de que compreende ainda as etapas de:characterized by the fact that it also comprises the steps of: criar uma lista de formas de formas e propriedades de forma para o gráfico com base nos algoritmos, parâmetros, limitações, regras de limitação e propriedades de forma associados aos nós de esquema; e fornecer as formas e as propriedades de forma da lista de formas para o programa de aplicação para serem renderizadas como parte do gráfico.create a list of shape shapes and shape properties for the chart based on the algorithms, parameters, limitations, limitation rules and shape properties associated with the schema nodes; and provide the shapes and shape properties of the shape list for the application program to be rendered as part of the graph. 2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda a especificar uma pluralidade de definições gráficas externas, em que cada uma de uma pluralidade de definições gráficas externas especifica a informação necessária para gerar um gráfico específico, a informação incluindo condições de ma2/5 peamento adicionais, algoritmos, parâmetros, limitações, regras de limitações e propriedades de forma.2. Method according to claim 1, characterized by the fact that it further comprises specifying a plurality of external graphic definitions, in which each of a plurality of external graphic definitions specifies the information necessary to generate a specific graphic, the information including additional ma2 / 5 conditions, algorithms, parameters, limitations, rules of limitations and shape properties. 3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda especificar uma pluralidade de algoritmos externos, em que cada um da pluralidade de algoritmos externos especifica o esquema das formas para alcançar uma estrutura gráfica específica e em que cada um dos algoritmos externos é referenciado por uma definição de gráfico.3. Method according to claim 1, characterized by the fact that it further comprises specifying a plurality of external algorithms, in which each of the plurality of external algorithms specifies the scheme of the forms to achieve a specific graphic structure and in which each of the External algorithms are referenced by a graph definition. 4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que o tamanho e a posição da forma para a forma no gráfico são definidos pelos algoritmos no conjunto de algoritmos que utilizam as limitações e as regras de limitação nos nós de esquema correspondentes.4. Method according to claim 1, characterized by the fact that the size and position of the shape for the shape in the graph are defined by the algorithms in the set of algorithms that use the limitations and the limitation rules in the corresponding schema nodes. 5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as limitações compreendem limitações numéricas para especificar valores para utilização pelos algoritmos e em que a limitação numérica compreende um valor específico.5. Method according to claim 1, characterized by the fact that the limitations comprise numerical limitations to specify values for use by the algorithms and in which the numerical limitation comprises a specific value. 6. Método de acordo com a reivindicação 5, caracterizado pelo fato de que a limitação numérica é derivada por uma referência a outros valores de limitação.6. Method according to claim 5, characterized by the fact that the numerical limitation is derived by a reference to other limitation values. 7. Método de acordo com a reivindicação 1, caracterizado pelo fato de que os valores de limitação são modificados conforme um conjunto de regras de limitação para dimensionar e posicionar os nós de esquema.7. Method according to claim 1, characterized by the fact that the limitation values are modified according to a set of limitation rules for dimensioning and positioning the schema nodes. 8. Método de acordo com a reivindicação 1, caracterizado pelo fato de que as limitações compreendem limitações booleanas para especificar a igualdade e a desigualdade de valores entre formas e em que os valores de uma limitação numérica são propagados em formas especificadas pelas limitações booleanas.8. Method according to claim 1, characterized by the fact that the limitations comprise Boolean limitations for specifying the equality and inequality of values between forms and in which the values of a numerical limitation are propagated in ways specified by the Boolean limitations. 9. Método de acordo com a reivindicação 1, caracterizado9. Method according to claim 1, characterized 3/5 pelo fato de que múltiplos nós de esquema comunicam valores de limitação um para o outro para habilitar o dimensionamento e o posicionamento dos nós de esquema usando as limitações.3/5 due to the fact that multiple schema nodes communicate limiting values to each other to enable the dimensioning and placement of the schema nodes using the limitations. 10. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a definição gráfica está escrita em uma linguagem de marcação.10. Method according to claim 1, characterized by the fact that the graphic definition is written in a markup language. 11. Método de acordo com a reivindicação 10, caracterizado pelo fato de que a linguagem de marcação é uma linguagem de marcação extensível (XML).11. Method according to claim 10, characterized by the fact that the markup language is an extensible markup language (XML). 12. Sistema para criar e esquematizar um gráfico dentro de um programa de aplicação de desenho que compreende:12. System to create and lay out a graph within a drawing application program that comprises: um computador cliente operacional para executar instruções para receber um modelo de dados, o modelo de dados definindo um conjunto de relações de dados e dados a serem representados no gráfico;an operational client computer to execute instructions for receiving a data model, the data model defining a set of data and data relationships to be plotted on the graph; receber uma definição gráfica para a construção do gráfico, a definição gráfica descrevendo o mapeamento dos dados a partir do modelo de dados para os nós de esquema, algoritmos, parâmetros, limitações, regras de limitação e propriedades de forma, em que a definição gráfica também especifica iteradores para mapear elementos em no modelo de dados para os nós de esquema e conjuntos de algoritmos, parâmetros, limitações e regras de limitação associados aos nós de esquema;receive a graphical definition for the construction of the graph, the graphical definition describing the mapping of data from the data model to the schema nodes, algorithms, parameters, limitations, limitation rules and shape properties, where the graphical definition also specifies iterators to map elements in the data model to the schema nodes and sets of algorithms, parameters, limitations and limitation rules associated with the schema nodes; determinar o tamanho da forma e a posição das formas no gráfico utilizando os algoritmos, parâmetros, limitações, regras de limitação e propriedades de forma associados aos nós de esquema;determine the size of the shape and the position of the shapes on the chart using the algorithms, parameters, limitations, limitation rules and shape properties associated with the schema nodes; caracterizado pelo fato de que compreende ainda:characterized by the fact that it also comprises: criar uma lista de formas de formas e propriedades de forma para o gráfico com base nos algoritmos, parâmetros, limitações, regras de limitação e propriedades de forma associados aos nós decreate a list of shape shapes and shape properties for the chart based on the algorithms, parameters, limitations, limitation rules and shape properties associated with the 4/5 esquema; e proporcionar as formas e as propriedades da forma da lista de formas para o programa de aplicação de desenho a ser renderizado como parte do gráfico.4/5 scheme; and providing the shapes and shape properties of the shape list to the drawing application program to be rendered as part of the graphic. 13. Sistema de acordo com a reivindicação 12, caracterizado pelo fato de que as instruções são ainda operativas para especificar uma pluralidade de definições gráficas externas, em que cada definição da pluralidade de definições gráficas externas especifica informação necessária para gerar um gráfico específico, a informação incluindo condições de mapeamento adicionais, algoritmos, parâmetros, limitações, regras de limitação e propriedades de forma.13. System according to claim 12, characterized by the fact that the instructions are still operative to specify a plurality of external graphic definitions, in which each definition of the plurality of external graphic definitions specifies information necessary to generate a specific graphic, the information including additional mapping conditions, algorithms, parameters, limitations, limitation rules and shape properties. 14. Sistema de acordo com a reivindicação 12, caracterizado pelo fato de que as instruções são ainda operativas para especificar uma pluralidade de algoritmos externos, em que cada algoritmo da pluralidade de algoritmos externos especifica o esquema das formas para alcançar uma estrutura gráfica específica e em que cada um dos algoritmos externos é referenciado por uma definição gráfica.14. System according to claim 12, characterized by the fact that the instructions are still operative to specify a plurality of external algorithms, in which each algorithm of the plurality of external algorithms specifies the scheme of the forms to achieve a specific graphic structure and in that each of the external algorithms is referenced by a graphical definition. 15. Sistema de acordo com a reivindicação 12, caracterizado pelo fato de que o tamanho e a posição da forma para as formas no gráfico são definidos pelos algoritmos no conjunto de algoritmos que utilizam as limitações e as regras de limitação nos nós de esquema correspondentes.15. System according to claim 12, characterized by the fact that the size and position of the shape for the shapes in the graph are defined by the algorithms in the set of algorithms that use the limitations and the limitation rules in the corresponding schema nodes. 16. Sistema de acordo com a reivindicação 12, caracterizado pelo fato de que as limitações compreendem limitações numéricas para especificar valores para utilização pelos algoritmos e em que a limitação numérica compreende um valor específico.16. System according to claim 12, characterized by the fact that the limitations comprise numerical limitations to specify values for use by the algorithms and in which the numerical limitation comprises a specific value. 17. Sistema de acordo com a reivindicação 16, caracterizado pelo fato de que a limitação numérica é derivada por uma referência a outros valores de limitação.17. System according to claim 16, characterized by the fact that the numerical limitation is derived by a reference to other limitation values. 18. Sistema de acordo com a reivindicação 12, caracteriza5/5 do pelo fato de que os valores de limitação são modificados de acordo com as regras de limitação para dimensionar e posicionar os nós de esquema.18. System according to claim 12, characterized 5/5 by the fact that the limitation values are modified according to the limitation rules for dimensioning and positioning the schema nodes. 19. Sistema de acordo com a reivindicação 12, caracterizado pelo fato de que múltiplos nós de esquema comunicam valores de limitação entre si para permitir o dimensionamento e o posicionamento dos nós de esquema usando as limitações.19. System according to claim 12, characterized by the fact that multiple schema nodes communicate limiting values with each other to allow the design and placement of the schema nodes using the limitations. 20. Sistema de acordo com a reivindicação 12, caracterizado pelo fato de que a definição gráfica está escrita em uma linguagem de marcação.20. System according to claim 12, characterized by the fact that the graphic definition is written in a markup language. 21. Sistema de acordo com a reivindicação 20, caracterizado pelo fato de que a linguagem de marcação é uma linguagem de marcação extensível (XML).21. System according to claim 20, characterized by the fact that the markup language is an extensible markup language (XML). ιι -Η «1 «Η 01 I flj Φ .πί φ -η μ ·σ Μ «3 0«—I Ο) tJiü>4J φ 0 01-Η «1« Η 01 I flj Φ .πί φ -η μ · σ Μ «3 0« —I Ο) tJiü> 4J φ 0 01 5 β “·Μ«δΦ α μ Φ οι (κϋ Φ+ι g ο - δ δ »ο w Β g WÜTJ/-.5 β “· Μ« δΦ α μ Φ οι (κϋ Φ + ι g ο - δ δ »ο w Β g WÜTJ / -. r| tí rl Ψι tt δ1 α St-N ÉjtS ft<wr | tí rl Ψι tt δ 1 α St-N ÉjtS ft <w ΰ)ΰ) Ss ΌΌ Φ η η * ο μ α +> ο Ό α ρ.τί § ¢3Φ η η * ο μ α +> ο Ό α ρ.τί § ¢ 3 - Φ ο 0) Ό Η Ο 0- Φ ο 0) Ό Η Ο 0 3·8 “ Μ a3 · 8 “Μ a Ο toΟ to 18“·Β 1 η $ « ί3 8'ο> g πί nj +» Ο ri EÍ -S ÉS ο η 0»Ό ·η ή μ η η η Η18 “· Β 1 η $« ί3 8'ο> g πί nj + »Ο ri EÍ -S ÉS ο η 0» Ό · η ή μ η η η Η I Ρ,-8 υ α)1I Ρ, -8 υ α) 1 1. η ο 1 .2 λ > '2-81. η ο 1 .2 λ>'2-8 3« 2 3” &.3 «2 3” &. β·§ί1·§β · §ί1 · §
BRPI0503982-7A 2004-09-30 2005-09-28 "METHOD AND SYSTEM FOR CREATING AND DRAWING A GRAPHIC INSIDE AN APPLICATION PROGRAM" BRPI0503982B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/955.271 2004-09-30
US10/955,271 US7348982B2 (en) 2004-09-30 2004-09-30 Method, system, and computer-readable medium for creating and laying out a graphic within an application program

Publications (2)

Publication Number Publication Date
BRPI0503982A BRPI0503982A (en) 2006-05-09
BRPI0503982B1 true BRPI0503982B1 (en) 2018-01-16

Family

ID=35501378

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0503982-7A BRPI0503982B1 (en) 2004-09-30 2005-09-28 "METHOD AND SYSTEM FOR CREATING AND DRAWING A GRAPHIC INSIDE AN APPLICATION PROGRAM"

Country Status (13)

Country Link
US (4) US7348982B2 (en)
EP (1) EP1643452B1 (en)
JP (1) JP4921744B2 (en)
KR (1) KR101433936B1 (en)
CN (1) CN100478876C (en)
AU (1) AU2005203708B2 (en)
BR (1) BRPI0503982B1 (en)
CA (1) CA2517409C (en)
MX (1) MXPA05009276A (en)
MY (1) MY149288A (en)
RU (1) RU2383929C2 (en)
TW (1) TWI379253B (en)
ZA (1) ZA200506944B (en)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239749B2 (en) * 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7348982B2 (en) 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7750924B2 (en) * 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7743325B2 (en) * 2005-03-15 2010-06-22 Microsoft Corporation Method and computer-readable medium for fitting text to shapes within a graphic
US7644356B2 (en) * 2005-06-10 2010-01-05 Hewlett-Packard Development Company, L.P. Constraint-based albuming of graphic elements
US7747944B2 (en) 2005-06-30 2010-06-29 Microsoft Corporation Semantically applying style transformation to objects in a graphic
JP2007114822A (en) * 2005-10-18 2007-05-10 Yokogawa Electric Corp Automatic layout method and apparatus
JP2007200097A (en) * 2006-01-27 2007-08-09 Seiko Epson Corp Layout method
US8438486B2 (en) * 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
JP4743154B2 (en) * 2006-07-05 2011-08-10 セイコーエプソン株式会社 Document editing apparatus, program, and storage medium
US20080140623A1 (en) * 2006-12-11 2008-06-12 Microsoft Corporation Recursive reporting via a spreadsheet
US7949948B2 (en) * 2007-05-09 2011-05-24 Microsoft Corporation Constraint and rule-based page layout
US8516365B2 (en) 2007-06-15 2013-08-20 Microsoft Corporation Dynamically laying out images and associated text using pre-defined layouts
US8417728B1 (en) * 2007-08-03 2013-04-09 Adobe Systems Incorporated User interfaces, methods, and systems for developing computer applications using artwork
US7810047B2 (en) * 2007-09-04 2010-10-05 Apple Inc. List item layouts system and method
CN101276457B (en) * 2008-04-22 2011-11-23 北京中星微电子有限公司 Verification pattern algorithm and system and method for realizing RTL
US8984395B2 (en) * 2008-06-19 2015-03-17 Opera Software Asa Methods, systems and devices for transcoding and displaying electronic documents
US20100218090A1 (en) * 2009-02-26 2010-08-26 Universal - Ad Ltd. Sub-page-based page layout system and method thereof
US8581916B2 (en) * 2009-06-26 2013-11-12 Intel Corporation Graphics analysis techniques
CN102054283B (en) * 2009-11-05 2016-01-20 齐营股份有限公司 Method and device for graphical representation of correlation values of data sets
US20110221764A1 (en) * 2010-03-12 2011-09-15 Microsoft Corporation Laying out and cropping images in pre-defined layouts
US8799325B2 (en) * 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure
JP2011221718A (en) * 2010-04-07 2011-11-04 Sony Corp Generation device, generation method, and program
US20130036113A1 (en) * 2010-04-28 2013-02-07 Niranjan Damera-Venkata System and Method for Automatically Providing a Graphical Layout Based on an Example Graphic Layout
TWI426409B (en) * 2010-11-02 2014-02-11 Univ Shu Te Modularized design system and its method
US20120166953A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Techniques for electronic aggregation of information
JP2013050879A (en) * 2011-08-31 2013-03-14 Sony Corp Image output apparatus, method of controlling image output apparatus, and program
CN103150291B (en) * 2013-01-31 2015-09-09 小米科技有限责任公司 File method for cutting edge, terminal and server
CN103617505B (en) * 2013-12-05 2017-12-22 用友软件股份有限公司 The dynamic analysis and display systems and method of corporate process figure
US20160349931A1 (en) * 2015-05-28 2016-12-01 Rockwell Automation Technologies, Inc. Responsive user interface for an industrial environment
EP3355261A4 (en) * 2015-09-25 2019-04-03 NEC Patent Service,Ltd. INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM RECORDING MEDIUM
US10936778B2 (en) 2016-03-28 2021-03-02 Motivo, Inc. And optimization of physical cell placement
US9959380B2 (en) * 2016-03-28 2018-05-01 Motivo, Inc. Integrated circuit design systems and methods
CA3018157A1 (en) * 2016-04-04 2017-10-12 Unima Logiciel Inc. Method and system for creating a sequence used for communicating information associated with an application
CN108780401B (en) * 2016-05-17 2021-11-16 谷歌有限责任公司 Constraint-based layout system for efficient layout and control of user interface elements
CN106484754B (en) * 2016-07-28 2019-08-23 西安交通大学 Knowledge forest layout method based on hierarchical data Yu diagram data visualization technique
CN107577490A (en) * 2017-08-03 2018-01-12 武汉斗鱼网络科技有限公司 View autoplacement method and device in a kind of iOS
CN108108430B (en) * 2017-12-18 2020-08-28 西安交通大学 Forest virtual reality system implementation method based on Unity3D knowledge
CN110795093B (en) * 2018-08-01 2024-04-16 北京京东尚科信息技术有限公司 Interactive view generation method and device
CN111104111B (en) * 2019-11-29 2022-11-22 苏宁云计算有限公司 Layout processing method and device for tree Canvas
WO2021255806A1 (en) * 2020-06-15 2021-12-23 日本電信電話株式会社 Display control device and display control method
CN112115656B (en) * 2020-09-23 2024-06-14 恒为科技(上海)股份有限公司 Method and device for quickly setting memory bank constraint
KR20220071001A (en) * 2020-11-23 2022-05-31 세메스 주식회사 Semiconductor facility layout simulation method, computer system and non-transitory computer readable medium
CN117173000A (en) * 2023-09-08 2023-12-05 广州市科帕电子科技有限公司 An information hiding method and system based on quaternary coding

Family Cites Families (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0057688A1 (en) 1980-08-13 1982-08-18 Comshare Incorporated A machine for generating graphic charts
US4531150A (en) * 1982-11-05 1985-07-23 Konishiroku Photo Industry Co., Ltd. Image display system
US4686522A (en) * 1985-02-19 1987-08-11 International Business Machines Corporation Method of editing graphic objects in an interactive draw graphic system using implicit editing actions
US5337402A (en) * 1986-06-12 1994-08-09 Keiji Kitagawa Graphic data processing apparatus using displayed graphics for application program selection
JPS6438866A (en) * 1987-08-05 1989-02-09 Hitachi Ltd Document editing device
US5214755A (en) 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
JPH03177964A (en) 1989-12-07 1991-08-01 Toshiba Corp Document arranging device
JP3093247B2 (en) 1990-09-21 2000-10-03 株式会社東芝 Presentation support environment system
US5649216A (en) 1991-05-17 1997-07-15 Joseph S. Sieber Method and apparatus for automated layout of text and graphic elements
CA2048039A1 (en) 1991-07-19 1993-01-20 Steven Derose Data processing system and method for generating a representation for and random access rendering of electronic documents
US5903454A (en) * 1991-12-23 1999-05-11 Hoffberg; Linda Irene Human-factored interface corporating adaptive pattern recognition based controller apparatus
US5426729A (en) * 1992-06-24 1995-06-20 Microsoft Corporation Method and system for nonuniformly adjusting a predefined shape
DE69403770D1 (en) * 1993-01-22 1997-07-17 Taligent Inc FLEXIBLE NETWORK SYSTEM
JP2620576B2 (en) 1993-04-15 1997-06-18 インターナショナル・ビジネス・マシーンズ・コーポレイション Method and system for adjusting a graphical user interface according to a font requested by a user
ATE190149T1 (en) * 1993-04-30 2000-03-15 Ibm AREA LAYOUT IN A VIEW ON A GRAPHIC DISPLAY SCREEN
US5909220A (en) 1993-05-10 1999-06-01 Sandow; Robin Interactive computerized image coloring systems and methods for processing combinations of color with automated subroutines and color standardization for diverse color systems
US5479593A (en) * 1993-06-21 1995-12-26 Electronic Data Systems Corporation System and method for improved solving of equations employed during parametric geometric modeling
US5535134A (en) * 1994-06-03 1996-07-09 International Business Machines Corporation Object placement aid
US5596691A (en) 1994-06-15 1997-01-21 Claris Corporation Computer system and method for manipulating the display of drawings
US5748964A (en) 1994-12-20 1998-05-05 Sun Microsystems, Inc. Bytecode program interpreter apparatus and method with pre-verification of data type restrictions
US5669006A (en) * 1995-02-23 1997-09-16 International Business Machines Corporation Method for automatically obtaining spatial layout for multimedia presentations
US5619631A (en) * 1995-06-07 1997-04-08 Binaryblitz Method and apparatus for data alteration by manipulation of representational graphs
US5673401A (en) 1995-07-31 1997-09-30 Microsoft Corporation Systems and methods for a customizable sprite-based graphical user interface
US5999189A (en) * 1995-08-04 1999-12-07 Microsoft Corporation Image compression to reduce pixel and texture memory requirements in a real-time image generator
US5872867A (en) * 1995-08-04 1999-02-16 Sarnoff Corporation Method and apparatus for generating image textures
JPH09109351A (en) 1995-10-16 1997-04-28 Toppan Printing Co Ltd Display information layout device
US7124359B2 (en) * 1996-01-11 2006-10-17 Canon Kabushiki Kaisha Image edit device adapted to rapidly lay-out photographs into templates with means for preview and correction by user
US6173286B1 (en) 1996-02-29 2001-01-09 Nth Degree Software, Inc. Computer-implemented optimization of publication layouts
US5818447A (en) 1996-06-06 1998-10-06 Microsoft Corporation System and method for in-place editing of an electronic mail message using a separate program
US6057858A (en) 1996-08-07 2000-05-02 Desrosiers; John J. Multiple media fonts
WO1998010356A1 (en) * 1996-09-09 1998-03-12 Design Intelligence, Inc. Automatic layout and formatting of content for a design in a medium
US5903902A (en) 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure
US5956737A (en) * 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US5973692A (en) 1997-03-10 1999-10-26 Knowlton; Kenneth Charles System for the capture and indexing of graphical representations of files, information sources and the like
US6061659A (en) 1997-06-03 2000-05-09 Digital Marketing Communications, Inc. System and method for integrating a message into a graphical environment
US6288726B1 (en) 1997-06-27 2001-09-11 Microsoft Corporation Method for rendering glyphs using a layout services library
US6321243B1 (en) 1997-06-27 2001-11-20 Microsoft Corporation Laying out a paragraph by defining all the characters as a single text run by substituting, and then positioning the glyphs
US6774899B1 (en) * 1997-09-18 2004-08-10 Mitsubishi Electric Research Laboratories, Inc. Drawing graphs using user selectable visual oragnization features and/or other user controlled constraints
US5956043A (en) * 1997-09-18 1999-09-21 Novell, Inc. Textured tile rotation system and method
AU761202B2 (en) 1997-09-22 2003-05-29 Sony Corporation Generation of a bit stream containing binary image/audio data that is multiplexed with a code defining an object in ascii format
US6289502B1 (en) * 1997-09-26 2001-09-11 Massachusetts Institute Of Technology Model-based software design and validation
US6204859B1 (en) 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
KR100243385B1 (en) 1997-10-28 2000-02-01 정선종 How to create a multimedia presentation document
US6072480A (en) * 1997-11-05 2000-06-06 Microsoft Corporation Method and apparatus for controlling composition and performance of soundtracks to accompany a slide show
AUPP027397A0 (en) 1997-11-07 1997-12-04 Documotion Research, Inc. Tamper-evident form for securely carrying confidential information
JP3377419B2 (en) * 1997-11-11 2003-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Instruction string generation method and apparatus, conversion method, and computer
US6289505B1 (en) * 1997-11-18 2001-09-11 Sun Microsystems, Inc. Method, apparatus and computer programmed product for binary re-optimization using a high level language compiler
RU2142162C1 (en) 1998-01-19 1999-11-27 Кашик Алексей Сергеевич Method for dynamic displaying data about object
US6081816A (en) 1998-03-18 2000-06-27 Microsoft Corporation Method for placing text around polygons and other constraints
US6189132B1 (en) 1998-04-09 2001-02-13 International Business Machines Corporation Design rule correction system and method
AU3966099A (en) * 1998-04-24 1999-11-16 Starmine, L.L.C. Security analyst performance tracking and analysis system and method
US6256650B1 (en) * 1998-05-18 2001-07-03 Microsoft Corporation Method and system for automatically causing editable text to substantially occupy a text frame
US6301704B1 (en) * 1998-06-16 2001-10-09 Silicon Graphics, Inc. Method, system, and computer program product for using static single assignment form as a program representation and a medium for performing global scalar optimization
US6405225B1 (en) 1998-06-17 2002-06-11 Microsoft Corporation Integrating email functionality into a word processor by incorporating an email GUI within the word processor
US6204849B1 (en) * 1998-07-17 2001-03-20 Autodesk, Inc. Non-ambiguous graphics selection
US6161098A (en) 1998-09-14 2000-12-12 Folio (Fn), Inc. Method and apparatus for enabling small investors with a portfolio of securities to manage taxable events within the portfolio
US6166738A (en) 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
US6715130B1 (en) * 1998-10-05 2004-03-30 Lockheed Martin Corporation Software requirements metrics and evaluation process
US6305012B1 (en) * 1998-12-03 2001-10-16 International Business Machines Corporation Method and apparatus for dynamic selection of instructions for compiling using tags
US6957191B1 (en) * 1999-02-05 2005-10-18 Babcock & Brown Lp Automated financial scenario modeling and analysis tool having an intelligent graphical user interface
US6456305B1 (en) 1999-03-18 2002-09-24 Microsoft Corporation Method and system for automatically fitting a graphical display of objects to the dimensions of a display window
US6308322B1 (en) * 1999-04-06 2001-10-23 Hewlett-Packard Company Method and apparatus for reduction of indirect branch instruction overhead through use of target address hints
US6691282B1 (en) * 1999-06-22 2004-02-10 Nortel Networks Limited Method and apparatus for displaying and navigating containment hierarchies
US6667750B1 (en) 1999-07-30 2003-12-23 Curl Corporation Multiple pass layout of graphical objects with elastics
US6826727B1 (en) 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US7246316B2 (en) 1999-11-30 2007-07-17 Siebel Systems, Inc. Methods and apparatus for automatically generating presentations
EP1111543A3 (en) 1999-12-22 2002-11-27 Adobe Systems, Inc. Method and apparatus for painting groups of objects
US6593933B1 (en) * 2000-01-13 2003-07-15 Microsoft Corporation Block-based synthesis of texture in computer rendered images
US6448973B1 (en) * 2000-01-13 2002-09-10 Microsoft Corporation Virtual texture
US7055095B1 (en) * 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US20010032151A1 (en) 2000-04-18 2001-10-18 Glenn Paul Internet presentation system
US20010051962A1 (en) 2000-06-08 2001-12-13 Robert Plotkin Presentation customization
US20020111969A1 (en) * 2000-09-28 2002-08-15 Halstead Robert H. System and method for processing graphical objects for layout using an elastic difference operation
US7231602B1 (en) 2000-11-29 2007-06-12 Microsoft Corporation Live preview for reformatting document text
US20020065852A1 (en) 2000-11-30 2002-05-30 Matt Hendrickson Online guided resume creation system that allows dynamic style formatting
US6944830B2 (en) * 2000-12-21 2005-09-13 Xerox Corporation System and method for browsing hierarchically based node-link structures based on an estimated degree of interest
US6973618B2 (en) 2000-12-29 2005-12-06 International Business Machines Corporation Method and system for importing MS office forms
US6950981B2 (en) 2000-12-29 2005-09-27 International Business Machines Corporation Method and system for providing task information in a place
US6791582B2 (en) 2000-12-29 2004-09-14 International Business Machines Corporation Method and system for identifying and displaying information that is new or has been updated in a place
US6701311B2 (en) * 2001-02-07 2004-03-02 International Business Machines Corporation Customer self service system for resource search and selection
US6941478B2 (en) 2001-04-13 2005-09-06 Nokia, Inc. System and method for providing exploit protection with message tracking
CN1384454A (en) 2001-05-01 2002-12-11 株式会社东芝 Information generalizing system and method
BR0210589A (en) 2001-06-22 2005-04-26 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US6826729B1 (en) * 2001-06-29 2004-11-30 Microsoft Corporation Gallery user interface controls
US20040205602A1 (en) 2001-07-25 2004-10-14 Douglas Croeni Page layout design using geometric interference schema
JP2003044464A (en) 2001-07-31 2003-02-14 Seiko Epson Corp Layout device and layout program
JP2003052582A (en) 2001-08-10 2003-02-25 Toshiba Tec Corp Cleaning equipment
EP1298524A1 (en) 2001-09-28 2003-04-02 Ricoh Company, Ltd. Conference support apparatus, information processor, teleconference system and computer product
RU2218602C2 (en) 2001-11-08 2003-12-10 Карев Павел Викторович Method for color-code display of variable multiple-parameter states of system or process
AUPR962001A0 (en) 2001-12-19 2002-01-24 Redbank Manor Pty Ltd Document display system and method
US20050001837A1 (en) * 2002-03-01 2005-01-06 Shannon Michael P. Method and internet based software for graphing sport statistics
US20030218641A1 (en) 2002-05-23 2003-11-27 International Business Machines Corporation Method and system for navigating a hierarchical structure in a data processing system
TW578067B (en) 2002-06-21 2004-03-01 Inst Information Industry Knowledge graphic system and method based on ontology
US20040001106A1 (en) 2002-06-26 2004-01-01 John Deutscher System and process for creating an interactive presentation employing multi-media components
US6894726B2 (en) 2002-07-05 2005-05-17 Thomson Licensing S.A. High-definition de-interlacing and frame doubling circuit and method
US7010746B2 (en) 2002-07-23 2006-03-07 Xerox Corporation System and method for constraint-based document generation
US7058902B2 (en) * 2002-07-30 2006-06-06 Microsoft Corporation Enhanced on-object context menus
US20040041838A1 (en) * 2002-09-04 2004-03-04 Adusumilli Venkata J.R.B. Method and system for graphing data
US7945846B2 (en) * 2002-09-06 2011-05-17 Oracle International Corporation Application-specific personalization for data display
US20040145603A1 (en) * 2002-09-27 2004-07-29 Soares Stephen Michael Online multimedia presentation builder and presentation player
KR100504476B1 (en) 2002-10-30 2005-08-01 엘지전자 주식회사 method and display system for controlling icon
KR20040041979A (en) * 2002-11-12 2004-05-20 한국전자통신연구원 Graphic user interface
AU2002952711A0 (en) 2002-11-18 2002-11-28 Typefi Systems Pty Ltd A method of formatting documents
KR100484181B1 (en) 2002-12-02 2005-04-20 삼성전자주식회사 Apparatus and method for authoring multimedia document
CA2414047A1 (en) * 2002-12-09 2004-06-09 Corel Corporation System and method of extending scalable vector graphics capabilities
JP4241325B2 (en) * 2002-12-25 2009-03-18 セイコーエプソン株式会社 Layout system
TW562221U (en) * 2002-12-27 2003-11-11 Hon Hai Prec Ind Co Ltd Mounting device for disk drive
US20040133854A1 (en) * 2003-01-08 2004-07-08 Black Karl S. Persistent document object model
WO2004068320A2 (en) * 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
KR100459507B1 (en) 2003-02-15 2004-12-03 (주) 이모션 Apparatus for manufacturing graphic contents
US20040172584A1 (en) 2003-02-28 2004-09-02 Microsoft Corporation Method and system for enhancing paste functionality of a computer software application
US7325186B2 (en) 2003-02-28 2008-01-29 Microsoft Corporation Method and system for showing unannotated text nodes in a data formatted document
US7339598B2 (en) * 2003-07-11 2008-03-04 Vistaprint Technologies Limited System and method for automated product design
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US20050034083A1 (en) * 2003-08-05 2005-02-10 Denny Jaeger Intuitive graphic user interface with universal tools
US7548334B2 (en) * 2003-10-15 2009-06-16 Canon Kabushiki Kaisha User interface for creation and editing of variable data documents
US7554689B2 (en) * 2003-10-15 2009-06-30 Canon Kabushiki Kaisha Document layout method
US20050091584A1 (en) * 2003-10-23 2005-04-28 Microsoft Corporation Methods for applying styles to visual aspects of user interface elements
GB2407677A (en) * 2003-10-31 2005-05-04 Hewlett Packard Development Co Post-rendering document space based on rules
US7178102B1 (en) 2003-12-09 2007-02-13 Microsoft Corporation Representing latent data in an extensible markup language document
US7395510B2 (en) * 2003-12-16 2008-07-01 Hewlett-Packard Development Company, L.P. Method of, and system for, adjusting a document configuration
US7536048B2 (en) 2004-01-15 2009-05-19 Xerox Corporation Method and apparatus for automatically determining image foreground color
JP2005275890A (en) 2004-03-25 2005-10-06 Nec Corp Presence information issuing device, system and program
JP4448537B2 (en) * 2004-04-26 2010-04-14 コダック グラフィック コミュニケーションズ カナダ カンパニー System and method for comparing documents containing graphic elements
US20050289466A1 (en) 2004-06-24 2005-12-29 Kaihu Chen Multimedia authoring method and system using bi-level theme templates
US20060064642A1 (en) 2004-09-22 2006-03-23 Edurite Technologies Pvt. Ltd. Seamless presentation integrator
US7348982B2 (en) * 2004-09-30 2008-03-25 Microsoft Corporation Method, system, and computer-readable medium for creating and laying out a graphic within an application program
US8134575B2 (en) 2004-09-30 2012-03-13 Microsoft Corporation Maintaining graphical presentations based on user customizations
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7209815B2 (en) * 2004-12-28 2007-04-24 Snap-On Incorporated Test procedures using pictures
US7478079B2 (en) 2005-01-14 2009-01-13 Microsoft Corporation Method for displaying a visual representation of mapping between a source schema and a destination schema emphasizing visually adjusts the objects such that they are visually distinguishable from the non-relevant and non-selected objects
US7750924B2 (en) * 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7743325B2 (en) * 2005-03-15 2010-06-22 Microsoft Corporation Method and computer-readable medium for fitting text to shapes within a graphic
US20060277476A1 (en) 2005-06-02 2006-12-07 Hsuan-Cheng Lai Method and system for dynamic generation of graphical content using a markup language
US7555711B2 (en) 2005-06-24 2009-06-30 Hewlett-Packard Development Company, L.P. Generating a text layout boundary from a text block in an electronic document
US7747944B2 (en) * 2005-06-30 2010-06-29 Microsoft Corporation Semantically applying style transformation to objects in a graphic
WO2007011277A1 (en) * 2005-07-20 2007-01-25 Obigo Ab Method and arrangement in a display system
US7423646B2 (en) * 2005-11-08 2008-09-09 Microsoft Corporation Smart shape insert
US8042065B2 (en) * 2005-11-17 2011-10-18 Microsoft Corporation Smart copy/paste of graphical nodes
US8438486B2 (en) * 2006-02-09 2013-05-07 Microsoft Corporation Automatically converting text to business graphics
CN101231645B (en) * 2007-01-23 2012-03-28 鸿富锦精密工业(深圳)有限公司 System and method for dynamically displaying tree-type directory
US7949948B2 (en) 2007-05-09 2011-05-24 Microsoft Corporation Constraint and rule-based page layout
US8225278B2 (en) 2007-05-14 2012-07-17 International Business Machines Corporation Method of visualizing modifications of a hierarchical state diagram
US8479218B2 (en) * 2007-07-09 2013-07-02 National Instruments Corporation Automatically arranging objects in a graphical program block diagram
US8826174B2 (en) 2008-06-27 2014-09-02 Microsoft Corporation Using visual landmarks to organize diagrams
US8176412B2 (en) * 2009-08-25 2012-05-08 International Business Machines Corporation Generating formatted documents
US8799325B2 (en) * 2010-03-12 2014-08-05 Microsoft Corporation Reordering nodes in a hierarchical structure

Also Published As

Publication number Publication date
CA2517409C (en) 2013-12-24
EP1643452B1 (en) 2019-06-19
EP1643452A1 (en) 2006-04-05
US20060066631A1 (en) 2006-03-30
JP4921744B2 (en) 2012-04-25
ZA200506944B (en) 2007-05-30
KR20060050408A (en) 2006-05-19
US9747710B2 (en) 2017-08-29
TW200612356A (en) 2006-04-16
BRPI0503982A (en) 2006-05-09
US20080136822A1 (en) 2008-06-12
CA2517409A1 (en) 2006-03-30
US7348982B2 (en) 2008-03-25
US20140292767A1 (en) 2014-10-02
RU2383929C2 (en) 2010-03-10
AU2005203708B2 (en) 2010-07-08
US20170301122A1 (en) 2017-10-19
CN100478876C (en) 2009-04-15
CN1755623A (en) 2006-04-05
US8791955B2 (en) 2014-07-29
TWI379253B (en) 2012-12-11
US10319125B2 (en) 2019-06-11
JP2006107465A (en) 2006-04-20
MY149288A (en) 2013-08-15
MXPA05009276A (en) 2006-04-05
KR101433936B1 (en) 2014-08-27
AU2005203708A1 (en) 2006-04-13
RU2005130361A (en) 2007-04-10

Similar Documents

Publication Publication Date Title
BRPI0503982B1 (en) &#34;METHOD AND SYSTEM FOR CREATING AND DRAWING A GRAPHIC INSIDE AN APPLICATION PROGRAM&#34;
US8762832B2 (en) Constraint and rule-based page layout
US7743325B2 (en) Method and computer-readable medium for fitting text to shapes within a graphic
JP2014505303A (en) Document storage using multiple representations
BRPI0615237B1 (en) METHOD FOR MODIFYING A GRAPHIC USER INTERFACE
US7750924B2 (en) Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
BRPI0502554B1 (en) method and system for creating a chart associated with a document
BRPI0503878B1 (en) METHOD IMPLEMENTED BY COMPUTER AND SYSTEM FOR RENDERING HIERARCHICAL DIAGRAMS GRAPHICS FOR DISPLAY BY AN EXPOSURE DEVICE
BRPI0616940A2 (en) multi-form design with harmonic composition for dynamically aggregated documents
BRPI0712171B1 (en) METHOD FOR FORMATING A GRAPHIC AND SYSTEM FOR MODIFYING A GRAPHIC
BRPI0708376A2 (en) hostable rss control
US20110221764A1 (en) Laying out and cropping images in pre-defined layouts
BRPI0501959B1 (en) Method for publishing a workbook banner as a server data source, computer-readable medium, and system to display and use a banner within a workbook as a server data source
JP4303079B2 (en) System and method for conversion between text formatting or markup language formatting and outline structure
US20120278701A1 (en) Automatically Generating And Porting A Cascading Style Sheets (&#39;CSS&#39;) Style Sheet
US7979792B2 (en) Method and computer-readable medium for providing page and table formatting services
JP2000330989A (en) Structured document creation method and computer-readable recording medium recording structured document
HK1089851B (en) Method, system, and computer-readable medium for creating and laying out a graphic within an application program
HK1089851A (en) Method, system, and computer-readable medium for creating and laying out a graphic within an application program

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]
B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 16A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2640 DE 10-08-2021 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.