MX2007013102A - Interface y sistema para manipular vistas pequenas de ventanas en vivo en un administrador de ventana. - Google Patents

Interface y sistema para manipular vistas pequenas de ventanas en vivo en un administrador de ventana.

Info

Publication number
MX2007013102A
MX2007013102A MX2007013102A MX2007013102A MX2007013102A MX 2007013102 A MX2007013102 A MX 2007013102A MX 2007013102 A MX2007013102 A MX 2007013102A MX 2007013102 A MX2007013102 A MX 2007013102A MX 2007013102 A MX2007013102 A MX 2007013102A
Authority
MX
Mexico
Prior art keywords
window
small view
small
source window
view
Prior art date
Application number
MX2007013102A
Other languages
English (en)
Inventor
Greg Schechter
Jevan Saks
Chris Fortier
Original Assignee
Microsoft Corp
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 Corp filed Critical Microsoft Corp
Publication of MX2007013102A publication Critical patent/MX2007013102A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

La presente invencion proporciona una interfase, sistema, o metodo para presentar una ventana en una pantalla en la cual una vista pequena que corresponde a una ventana de aplicacion es capaz de ser modificada basandose en modificaciones en la ventana de aplicacion. Las modificaciones de la vista pequena pueden realizarse en tiempo real. Tambien, la presente invencion proporciona una interfase, sistema, y metodo para presentar una ventana o una vista pequena en una pantalla en la cual un Administrador de Ventana de Escritorio (DWM) registra una ventana de fuente y una ventana de destino y/o puede actualizar o modificar una vista pequena asociada con la ventana de fuente. Se pueden aplicar efectos especiales a la vista pequena. La presente invencion ademas proporciona un metodo para registrar y/o modificar una vista pequena y sus propiedades o mantener una lista de registros de vista pequena.

Description

INTERFACE Y SISTEMA PARA MANIPULAR VISTAS PEQUEÑAS DE VENTANAS EN VIVO EN UN ADMINISTRADOR DE VENTANA CAMPO DE LA INVENCIÓN Los aspectos de la presente invención se refieren a vistas pequeñas de ventanas y, en particular a una interfase y sistema de manipulación de vistas pequeñas en un administrador de ventana ANTECEDENTES DE LA INVENCIÓN Los sistemas de computadora presentan una variedad de ventanas en las cuales los usuarios pueden ingresar datos, manipular datos o activar procedimientos Si se corre más de una aplicación, simultáneamente, pueden presentarse varias ventanas en la presentación de computadora, cada ventana correspondiendo a una aplicación También existen múltiples ventanas para cualquier aplicación Por ejemplo, si un usuario ingresa datos en un programa de procesamiento de palabra mientras también trabaja en un programa de hojas de cálculo pueden existir dos ventanas abiertas en la presentación Una de las ventanas es la ventana de aplicación de procesamiento de palabra y la segunda ventana es la ventana de programa de hoja de calculo Si el usuario adicionalmente está viendo un video en una aplicación de reproductor de medios, existirá una ventana adicional que corresponde a la aplicación de reproductor de medios Mientras el número de aplicaciones activas aumenta, asi lo hace el numero de ventanas que se presenta en la pantalla de computadora Un usuario que utiliza múltiples aplicaciones simultáneamente frecuentemente se enfrenta con una multitud de ventanas en la pantalla que causa un escritorio desordenado que lleva la confusión y frustración del desorden observado en la pantalla Por ejemplo, pueden existir muchas ventanas que se traslapan en la presentación y un usuario puede tener que desperdiciar tiempo al encontrar una ventana deseada cada vez que el usuario desea completar una tarea en una aplicación diferente Para aliviar este problema, el usuario puede minimizar ventanas o quitar aplicaciones con el fin de disminuir el desorden (y el numero de ventanas en la pantalla) Sin embargo, si se minimizan las ventanas, entonces el usuario ya no tiene acceso inmediato a la aplicación correspondiente Si se necesita tomar una acción en una aplicación particular en la cual se minimiza una ventana, el usuario primero debe localizar la ventana deseada y abrir la ventana deseada después de localizar la ventana deseada Este procedimiento es muy consumidor de tiempo De forma similar si el usuario quita la aplicación para limpiar el desorden de escritorio, entonces la aplicación ya no esta activa En este caso, el usuario debe remiciar la aplicación con el fin de completar la tarea deseada y desperdicia incluso más tiempo También, si la aplicación realiza una función en curso, la función se pierde durante el tiempo en que la aplicación no está activa Típicamente, cuando se minimiza una ventana de aplicación, presentarse un botón de barra de tareas en una barra de tareas para indicar que la aplicación está activa Aunque el botón de barra de tareas puede indicar que la aplicación esta activa, frecuentemente solo hay un icono o un nombre de la aplicación en el botón de barra de tarea Sin información adicional, el usuario tendrá que abrir la ventana para ver los contenidos de la ventana Sin embargo, al abrir y cerrar la ventana simplemente puede revisar los contenidos de la ventana (por ejemplo, para valorar la identidad de la ventana), el usuario desperdicia tiempo y esfuerzo lo que causa una pérdida de eficiencia y productividad Este problema que se compone cuando el número de aplicaciones activas y número de ventanas aumenta cuando el usuario debe abrir y cerrar muchas ventanas para encontrar la ventana deseada De esa forma, existe una necesidad en la técnica en un sistema y método para proporcionar acceso programático conveniente para manipular la ventana o vistas pequeñas de aplicación y expresar vistas pequeñas en una forma para proporcionar flexibilidad en una pantalla de vistas pequeñas y contenido de vistas pequeñas También, existe una necesidad en la técnica de una interfase de programación y un método para implementar la interfase de programación para manejar efectivamente e implementar ventanas de aplicación y vistas pequeñas y expresar las ventanas y vistas pequeñas en una forma flexible BREVE DESCRIPCIÓN DE LA INVENCIÓN Los aspectos de la presente invención proporcionan una interfase, sistema, o método para presentar una ventana en una pantalla con lo cual se dirigen uno o más asuntos descritos anteriormente Una vista pequeña dinámica que corresponde a una ventana de aplicación se corresponde también en la cual las modificaciones de contenido en una ventana de aplicación se reflejan en la vista pequeña dinámica correspondiente Una modificación de contenido de la ventana de aplicación además puede reflejarse en la vista pequeña dinámica correspondiente en tiempo real BREVE DESCRIPCIÓN DE LOS DIBUJOS La Figura 1A ilustra un ejemplo de un sistema para implementar la invención que incluye un dispositivo de cómputo de propósito general en la forma de una computadora Las Figuras 1B a 1 M muestran un ambiente de computadora de propósito general que soporta uno o más aspectos de la presente invención La Figura 2A es un gráfico de escena o diagrama de árbol de presentación que ilustra un ejemplo de componentes de una presentación La Figura 2B demuestra componentes de una pantalla de muestra que corresponde a la Figura 2A La Figura 3A es un gráfico de escena o diagrama de árbol de pantalla que ilustra un ejemplo de componentes de una pantalla de la presente invención La Figura 3B demuestra la pantalla correspondiente a la Figura 3A Las Figuras 4A y 4B demuestran un ejemplo de una aplicación de la presente invención al proporcionar vistas pequeñas de ventanas de aplicación La Figura 5 ilustra otra aplicación de una vista pequeña de la presente invención en la cual se presentan vistas pequeñas en un menú de ALT-TAB La Figura 6 es un cuadro de flujo que ilustra un ejemplo de un procedimiento para proporcionar vistas pequeñas DESCRIPCIÓN DETALLADA Este documento se divide en secciones para ayudar al lector Estás secciones incluyen Vista General, Ambiente de Computadora de Propósito General, Vistas Pequeñas Se nota que las varias conexiones se mencionan entre elementos de la siguiente descripción Se nota que esas conexiones en general, y a menos que se especifique de otra forma pueden ser directas o indirectas y que esta especificación no pretende ser limitante en este aspecto VISTA GENERAL A Vistas Pequeñas Estáticas En un aspecto, una vista pequeña puede asociarse con la aplicación En una vista pequeña, una versión pequeña de la ventana de aplicación puede presentarse para indicar el contenido original de la ventana de aplicación, que permite al usuario identificar contenido aproximado de la ventana Sin embargo, estás vistas pequeñas pueden no proporcionar contenido actualizado de la ventana de aplicación De esa forma, si se hicieron modificaciones a la ventana de aplicación, la vista pequeña puede ser antigua y puede no proporcionar la imagen apropiada de contenido real de la ventana de aplicación De esa forma, es difícil para el usuario identificar apropiadamente la ventana de aplicación deseada sin tener que abrir la ventana de aplicación por si mismo También, las vistas pequeñas carecen de flexibilidad en términos de presentación de contenido, colocación, tamaño y/o efectos Una vista pequeña de una ventana de aplicación proporciona una imagen estática del contenido original de la ventana de aplicación Sin embargo, el contenido estático no solo percance estático y potencialmente antiguo, si no también las características y colocación de la vista pequeña pueden predeterminarse y pueden no variar basándose en las necesidades del usuario en cualquier momento dado Los sistemas operativos de computadora emplean una capa de software responsable de manejar objetos de interfase de usuario tal como vistas pequeñas, y proporcionar servicios de interfase de usuario a aplicaciones de software La tapa de software puede denominarse como el Administrador de Ventana de escritorio (DWM) La lógica de presentación, enrutamiento de evento de entrada, e interfases de programación de aplicación (APIs) del Administrador de Ventana de Escritorio (DWM) colectivamente representan política de mterfase de usuario, que a su vez define la experiencia de usuario total del sistema operativo Al presentar el escritorio, el DWM típicamente procesa actualizaciones de pantalla, tal como el movimiento de ventanas, al coordinar la pintura directamente en la pantalla de presentación A partir de aquí, si se cierra o aleja una ventana que se traslapa, la ventana o escritorio fundamentales recientemente presentados deben volverse a pintar Esto es un procedimiento lento en el cual se desperdician innecesariamente tiempo y recursos También, cuando las ventanas se pintan directamente en una posición particular y en una configuración particular en la pantalla como se hace típicamente, la imagen correspondiente de la ventana se establece en esa posición y configuración particular Las modificaciones a la posición o configuración de ventana deben requerir un gran gasto de recurso para volver a pintar la imagen B Vistas Pequeñas Dinámicas En otro aspecto de la presente invención, una interfase, y método se proporcionan para presentar una vista pequeña en una pantalla en el cual un Administrador de Ventana de Escritorio (DWM) proporciona una interfase de programación de aplicación (API) que registra una ventana de fuente y una ventana de destino En este ejemplo, la ventana de destino es una ventana en la cual puede presentarse una vista pequeña La vista pequeña presentada con la ventana de destino puede representar al menos una porción de la ventana de fuente correspondiente A partir de aquí, la ventana pequeña puede representar una asociación entre la ventana de fuente y la ventana de destino al proporcionar al menos una porción de la ventana de fuente presentada en al menos una porción de la ventana de destino El DWM puede recibir un indicador de ventana (HWND) que corresponde a una ventana de fuente y un HWN de que corresponde a la ventana de destino La aplicación ademas puede recibir un indicador que representa el registro de la vista pequeña que corresponde a la ventana de fuente En otro aspecto de la presente invención, se proporcionan una interfase, sistema y método para presentar una vista pequeña en una presentación en la cual un Administrador de Ventana de Escritorio (DWM) actualiza o modifica una vista pequeña asociada con una ventana de fuente correspondiente En este ejemplo, el DWM puede recibir datos que definen un tamaño de una ventana de destino, una región de una ventana de fuente para presentarse en una ventana de destino como una vista pequeña, opacidad de una vista pequeña, visibilidad de una vista pequeña efectos especiales de una vista pequeña, etc Otro aspecto de la presente invención además proporciona una vista pequeña dinámica que comprende exportar una interfase de programación de aplicación para registrar un indicador de vista pequeña, que mantiene una lista de registro de vista pequeña, dibuja una vista pequeña o ventana de destino basándose en una ventana de fuente en donde la ventana de fuente puede ser una ventana de aplicación, actualizar propiedades de una vista pequeña y quitar el registro de la vista pequeña dinámica Ademas, la modificación a una ventana de fuente puede controlarse automáticamente para realizar una modificación correspondiente en una ventana de destino Se nota que se mencionan varias conexiones entre elementos en la siguiente descripción Se nota que estas conexiones en general y, al menos que se especifique de otra forma, pueden ser directas o indirectas y que esta especificación no pretende ser limitante en este aspecto Los aspectos de la presente invención proporcionan una interfase de programación de aplicación (API), sistema y método para control de la pantalla de elementos de presentación tal como ventanas u otra representación de ventana tal como vistas pequeñas en una pantalla En un ejemplo de la presente invención, una versión alterna de una ventana de aplicación es una versión más pequeña de la ventana de aplicación y se presenta en la pantalla La versión más pequeña de la ventana de aplicación además puede presentarse en una ubicación en la pantalla que es diferente de la ventana de aplicación original Alternativamente, la ventana de aplicación original puede minimizarse para que la ventana de aplicación original no se presente mientras se presenta la versión más pequeña de la ventana de aplicación en la pantalla También, la versión más pequeña de la ventana de aplicación por si misma puede minimizarse, por ejemplo, si se desea espacio adicional en la pantalla Mientras la versión alterna de la ventana de aplicación puede ser una versión más pequeña de la aplicación como se describió se nota que la versión alterna de la ventana de aplicación puede ser mas grande que la ventana de aplicación original o cualquier otro tamaño dependiendo de las necesidades del usuario Por ejemplo, la versión alterna de la ventana de aplicación puede ser una vista pequeña de la ventana de aplicación Una vista pequeña típicamente es una imagen pequeña o representación de un gráfico mayor, o una parte de una imagen menor, que corresponde a la ventana de aplicación La ventana pequeña también puede representar una asociación dentro de una ventana de fuente, que proporciona la fuente o contenido de la vista pequeña, y una ventana de destino que puede ser una ventana en la cual la vista pequeña proporciona contenido de la ventana de fuente Las vistas pequeñas proporcionan la ventaja de la capacidad de presentar vanas ventanas en un momento en un formato conveniente mientras minimiza el uso de espacio en la pantalla También, las vistas pequeñas pueden utilizarse al seleccionar y almacenar imágenes en ventanas más fácilmente En otro aspecto de la presente invención, la vista pequeña o versión alterna de la ventana de aplicación puede presentarse en la pantalla cuando se solicita Por ejemplo, hacer un flotar un cursor sobre un botón de barras de tareas puede invocar a la presentación de una vista pequeña de la ventana de aplicación En un ejemplo, la vista pequeña es una vista pequeña dinámica y puede modificarse como se modifica la ventana de aplicación original Por ejemplo, los cambios hechos a la ventana de aplicación se reflejan en la vista pequeña dinámica que corresponde a la ventana de aplicación Tales cambios pueden reflejarse en la vista pequeña dinámica en tiempo real, por ejemplo En otro aspecto de la presente invención, las vistas pequeñas o vistas pequeñas dinámicas pueden ordenarse dentro de otra ventana, o ventana de destino Por ejemplo, múltiples vistas pequeñas dinámicas para diferentes aplicaciones pueden incluirse en una ventana de destino para que la ventana de destino presente vistas pequeñas para cada una de las diferentes aplicaciones También, cualquiera de las vistas pequeñas dinámicas presentadas en la ventana de destino puede reflejar el estado actual de la ventana de aplicación correspondiente Alternativamente, puede presentarse una vista pequeña en otra vista pequeña o puede presentarse en cascada vistas pequeñas para que pueda presentarse una primera vista pequeña en una segunda vista pequeña, que a su vez, puede presentarse en una tercera vista pequeña, etc Incluso en otro aspecto de la presente invención, se proporcionan un sistema y método para preparar ventanas fuera de pantalla La composición de las ventanas después puede realizarse en pantalla de esa forma ahorrando recursos de computadora También, preparar las ventanas fuera de pantalla y componer las ventanas en pantalla permite la funcionalidad de vista pequeña como se describió en la presente invención AMBIENTE DE COMPUTO DE PROPOSITO GENERAL La Figura 1A ilustra un ejemplo de un ambiente de sistema de cómputo adecuado 100 en el cual puede implementarse la invención El ambiente de sistema de computo 100 es sólo un ejemplo de un ambiente de computo adecuado y no pretende sugerir ninguna limitación al alcance de uso o funcionalidad de la invención El ambiente de computo 100 tampoco debe interpretarse como teniendo alguna dependencia o requerimiento que se relaciona con cualquiera o combinación de los componentes ilustrados en el ambiente operativo ilustrativo 100 La invención es operacional con numerosos otros ambientes o configuraciones de sistema de cómputo de propósito general o propósito especial Ejemplos de sistemas de cómputo, ambientes, y/o configuraciones bien conocidos que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a, computadoras personales, computadoras de servidor, dispositivos móviles o portátiles, sistemas de multiprocesador, sistemas a base de microprocesador, cajas de TV por cable, electrónica de consumidor programable, PCs de red, minicomputadoras, macrocomputadoras, ambientes de cómputo distribuido que incluyen cualquiera de los sistemas o dispositivos anteriores y similares Con referencia a la Figura 1A, un sistema ilustrativo para implementar la invención incluye un dispositivo de cómputo de propósito general en la forma de una computadora 110 Los componentes de la computadora 110 pueden incluir, pero no se limitan a, una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla vanos componentes de sistema que incluyen la memoria de sistema a la unidad de procesamiento 120 El conductor común de sistema 121 puede ser cualquiera de vanos tipos de estructuras de conductor común que incluyen un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común A manera de ejemplo, y no de limitación, tales arquitecturas incluyen conductor común de Arquitectura de Estándar de Industria (ISA), Conductor Común de Arquitectura de Micro Canal (MCA), conductor común de ISA Aumentado (EISA), conductor común local de Asociación de Estándares Electrónicos de Video (VESA) y Conductor Común de Interconexión de Componente Periférico (PCl) también conocido como conductor común de Mézanme La computadora 110 típicamente incluye una variedad de medios legibles por computadora Los medios legibles por computadora incluyen tanto medios volátiles y no volátiles, medios removibles y no removibles A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación e incluyen, pero no se limitan a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, cassettes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para almacenar la información deseada y que puede accederse por la computadora 110 Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluyen cualquier medio de entrega de información El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios cableados tal como red cableada o conexión cableada directa, medios inalámbricos tal como medios acústicos, RF, infrarrojos y otros inalámbricos Las combinaciones de cualquiera de los anteriores también deben incluirse dentro del alcance de medios legibles por computadora La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memorias solo de lecturas (ROM) 131 y memopa de acceso aleatorio (RAM) 132 Un sistema de entrada/salida básico (BIOS)133, que contienen las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 110, tal como durante el arranque, típicamente se almacena en ROM 131 La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o actualmente están siendo operados por la unidad de procesamiento 120 A manera de ejemplo, y no de limitación, la Figura 1 ilustra el sistema operativo 134, programas de aplicación 135 otros módulos de programa 136, y datos de programa 137 La computadora 110 puede incluir otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 140 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156, tal como un CD ROM u otro medio óptico Otros medios de almacenamiento por computadora removible/no removible, vol áti I/no volátil que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a, cassettes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido, ROM de estado sólido y similares La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de una interfase de memoria no removible tal como mterfase 140, unidad de disco magnético 151 y unidad de disco óptico 155 típicamente se conectan al conductor común de sistema 121 a través de una interfase de memoria removible, tal como la interfase 150 Las unidades y sus medios de almacenamiento por computadora asociados discutidos anteriormente e ilustrados en la Figura 1A, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110 En la Figura 1A, por ejemplo, la unidad de disco duro 141 se ilustra como almacenando el sistema operativo 144, programas de aplicación 145, otros módulos de programas 146, y datos de programa 147 Se debe notar que estos componentes pueden ser los mismos o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137 El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 aquí se les proporcionan números diferentes para ilustrar que, en un mínimo, son copias diferentes Un usuario puede ingresar comandos e información en la computadora 20 a través de dispositivos de entrada tal como un teclado 162 y dispositivo de señalamiento 161, comúnmente denominado como un ratón, seguibola o almohadilla sensible al tacto Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáner, o similares Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada 160 que se acopla al conductor común de sistema, pero pueden conectarse por otra interfase y estructuras de conductor común, tal como un puerto paralelo, puerto de juegos o un conductor común en sene universal (USB) Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190 Además del monitor, las computadoras también pueden incluir otro dispositivo de salida periféricos tal como bocinas 197 e impresora 196 que pueden conectarse a través de una interfase periférica de salida 190 La computadora 110 puede operar en un ambiente en red que utiliza conexiones lógicas a una o mas computadoras remotas, tal como una computadora remota 180 La computadora remota 180 puede ser otra computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par, u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente relativos a la computadora 110, aunque solamente se ilustra un dispositivo de almacenamiento de memoria 181 en la Figura 1A Las conexiones lógicas ilustradas en la Figura 1A incluyen una red de área local (LAN) 171 y una red de área ancha (WAN) 173, pero también pueden incluir otras redes Tales ambientes en red comunmente están ubicados en oficinas, redes de computadora extendidas en empresa, intranets e Internet Cuando se utiliza en un ambiente en red LAN, la computadora personal 110 se conecta a la LAN 171 a través de una inferíase en red o adaptador 170 Cuando se utiliza en un ambiente en red WAN, la computadora 110 típicamente incluye un módem 172 u otro medio para establecer comunicaciones en la WAN 173, tal como Internet El módem 172 que puede ser interno o externo, puede conectarse al conductor común de sistema 121 a través de la interfase de usuario 160, u otro mecanismo apropiado En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 110, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remota A manera de ejemplo, y no de limitación, la Figura 1A ilustra programas de aplicación remotos 185 como residentes en el dispositivo de memoria 181 Se apreciará que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer el enlace de comunicaciones entre las computadoras Se apreciara que las conexiones mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras La existencia de cualquier de los vanos protocolos bien conocidos tal como TCP/IP, Ethernet, FTP, HTTP y similares se presume, el sistema puede operarse en una configuración de cliente-servidor para permitir a un usuapo recuperar páginas web de un servidos a base de web Cualquiera de los vanos navegadores de web convencionales puede utilizarse para presentar y manipular datos en páginas web Una interfase de programación (o más simplemente "interfases") puede observarse como cualquier mecanismo, procedimiento, protocolo para permitir uno o más segmento(s) de código comunicarse o acceder a la funcionalidad proporcionada por uno o más otro segmento(s) de código Alternativamente, puede observarse una interfase de programación como uno o más mecan?smos(s), metodo(s), llamada(s) de función, módulo(s), objeto(s), etc de un componente de un sistema capaz de acoplarse comunicativamente a uno o mecan?smo(s), método(s), llamada(s) de función, módulo(s), etc de otro componente(s) El término "segmento de código" en la oración precedente pretende incluir una o más instrucciones o líneas de código, e incluye, por ejemplo, módulos de código, objetos, subrutinas, funciones, y así sucesivamente, sin importar la terminología aplicada o si los segmentos de código se recopilan separadamente, o si los segmentos de código se proporcionan como fuente, intermedio, o código de objeto, si los segmentos de código se utilizan en un sistema o procedimiento de tiempo de funcionamiento, o si se localizan en la misma o diferentes máquinas o máquinas múltiples distribuidas, o si la funcionalidad representada por los segmentos de código se implementan completamente en software, completamente en hardware, o una combinación de hardware y software Por noción, una interfase de programación puede observarse genéricamente, como se muestra en la Figura 1B o Figura 1C La Figura 1B ilustra una interfase 1 como un conductor a través del cual se comunica en el primer y segundo segmentos de código La Figura 1C ilustra una mterfase como comprendiendo objetos de inferíase y 11 y 12 (que puede o no ser parte del primer y segundo segmentos de códigos), que permite que el primer y segundo segmentos de código de un sistema se comuniquen a través del medios M En la vista de la Figura 1C, uno puede considerar objetos de interfase 11 y 12 como inferíase separadas del mismo sistema y 1 también pueden considerar los objetos 11 y 12 más el medio M comprende la interfaz Aunque las Figuras 1B y 1C muestran flujo bidireccional e interfases en cada lado del flujo, cubiertas implementaciones solo pueden tener flujo de información en una dirección (o sin flujo de información como se describe posteriormente) o pueden tener un objeto de inferíase en un lado A manera de ejemplo, y no de limitación, los términos tal como inferíase de programación de aplicación (API), punto de entrada, método, función, subrutina, llamada de procedimiento remoto, e interfase de modelo de objeto de componente (COM), se abarcan dentro de la definición de interfase de programación Los aspectos de tal interfase de programación pueden incluir el método con el cual el primer segmento de código transmite información (en donde "información" se utiliza en su sentido más amplio e incluye datos, comandos, solicitudes, etc ) al segundo segmento de código, el método con el cual el segundo segmento de código recibe la información, y la estructura, secuencia, sintaxis, organización esquema, registro de tiempo y contenido de la información Con respecto a esto el medio de transporte fundamental por si mismo puede no ser importante para la operación de la interfase si el medio es mediante cables o inalámbrico, o una combinación de ambos, mientras la información se transporta en la forma definida por la interfase En ciertas situaciones, la información puede no pasarse en una o más direcciones en el sentido convencional, mientras la transferencia de información puede ser a través de otro mecanismo (por ejemplo información colocada en una memoria intermedia, archivo, etc separada de flujo de información entre los segmentos de código) o no existente, como cuando un segmento de código simplemente accede la funcionalidad realizada por un segundo segmento de código Cualquiera o todos estos aspectos pueden ser importantes en una situación dada, por ejemplo, dependiendo de si los segmentos de código son parte de un sistema en una configuración perdidamente acoplada o muy acoplada, y así está lista debe considerarse ilustrativa y no limitante Esta noción de una interfase de programación es conocida por aquellos expertos en la técnica y es clara a partir de la descripción detallada anterior de la invención Sin embargo, existen otras formas para implementar una interfase de programación, y, a menos que se excluya expresamente, estas pretenden abarcarse por las reivindicaciones mencionadas al final de esta especificación Tales otras formas pueden parecer mas sofisticadas o complejas que la vista mas simple de las Figuras 1B y 1C, pero sin embargo realizan una función similar para realizar el mismo resultado total Brevemente ahora describiremos algunas implementaciones alternativas de una mterfase de programación FACTORIZACION Una comunicación de un segmento de código a otro puede realizarse indirectamente al romper la comunicación en múltiples comunicaciones separadas Esto se ilustra esquemáticamente en las Figuras 1B y 1E Como se muestra, algunas mterfases pueden describirse en términos de grupos divisibles de funcionalidad De esa forma, la funcionalidad de interfase de las Figuras 1B y 1C puede factopzarse para lograr el mismo resultado, tal como uno puede proporcionar matemáticamente 24, o 2 veces 3 veces 2 Por consiguiente, como se ilustra en la Figura 1D, la función proporcionada por la inferíase 1 puede subdividirse para convertir las comunicaciones a la mterfase en múltiples interfases Interfase 1A, Interfase 1B, Inferíase 1C, etc mientras logra el mismo resultado Como se ilustra en la Figura 1E, la función proporcionada por la inferíase 11 puede subdividirse en múltiples interfases Ma, 11b, 11c, etc mientras logra el mismo resultado Similarmente, la inferíase 12 del segundo segmento de código que recibe información del primer segmento de código puede factopzarse en múltiples interfases 12 a , 12 b , 12c, etc Cuando se factopza, el numero de interfases incluido dentro del primer segmento de código no necesita concordar con el número de interfases incluido en el segundo segmento de código En cualquier caso de las Figuras 1D y 1E, el espíritu funcional de las mterfases Inferíase 1 y 11 permanecen iguales con las Figuras 1B y 1C respectivamente La factopzación de interfases también puede seguir propiedades asociativas, conmutativas, y otras matemáticas para que la factopzación pueda ser difícil de reconocer Por ejemplo, ordenar las operaciones puede no ser importante, y consecuentemente, una función llevada a cabo por una interfase puede llevarse a cabo bien antes de alcanzar la interfase, por otra pieza de código o inferíase, o realizarse por un componente separado del sistema Ademas, un experto en la técnica de programación puede apreciar que existe una vapedad de formas para hacer diferentes llamadas de función que logran el mismo resultado REDEFENICION En algunos casos, puede ser posible ignorar, agregar o redefinir ciertos aspectos (por ejemplo, parámetros) de una interfase de programación mientras aun realiza el resultado pretendido Esto se ilustra en las Figuras 1F y 1C Por ejemplo, se asume que la inferíase 1 de la Figura 1B incluye un Cuadro de llamada de Función (entrada, precisión, salida), una llamada que incluye 3 parámetros, entrada precisión y salida y que se emite del primer segmento de código al segundo segmento de código Si la precisión del parámetro medio no es de ínteres en un escenario dado, como se muestra en la Figura 1F, también puede ignorarse o incluso reemplazarse con un parámetro sin significado (en esta situación) Uno puede también agregar un parámetro adicional sin importancia En cualquier caso, la funcionalidad en cuadrado puede lograrse, mientras la salida se regresa después de que su entrada se pone al cuadrado por el segundo segmento de código La precisión también puede ser un parámetro muy significativo para sentido descendente u otra porción del sistema de cómputo, sin embargo, una vez que se reconoce que la precisión es necesaria para el propósito angosto de calcular el cuadrado, puede reemplazarse o ignorarse Por ejemplo, en vez de pasar un valor de precisión valido, un valor sin importancia tal como una fecha de nacimiento puede pasarse sin afectar adversamente el resultado Similarmente, como se muestra en la Figura 1G, la interfase 11 se reemplaza por la Interfaz de 11', redefinida para ignorar o agregar parámetros a la interfase La Interfase 12 similarmente puede redefinirse como inferíase 12', redefinida para ignorar parámetros innecesarios, o parámetros que pueden procesarse en otro lugar El punto aquí es que en algunos pasos una inferíase de programación puede incluir aspectos, tal como parámetros, sin ninguna necesidad de algún propósito, y así pueden ignorarse o redefinirse, o procesarse en cualquier otro lugar para otros propósitos CODIFICACIÓN EN LINEA También puede ser factible fusionar alguna o toda la funcionalidad de dos módulos de código separados tal como la "mterfase" entre ellos cambia la forma Por ejemplo, la funcionalidad de las Figuras 1B y 1C puede convertirse a la funcionalidad de las Figuras 1H y 11, respectivamente En la Figura 1H, el primero y segundo segmentos de código de la Figura 1B puede fusionarse en un modulo que contiene ambos de estos En este caso, los segmentos de código aun pueden comunicarse uno con otro pero la interfase puede adaptarse a una forma que es más adecuada para el módulo individual De esa forma, por ejemplo, las declaraciones de Llamada y Regreso formales pueden ya no ser necesarias, pero aún puede estar en efecto el procesamiento similar o respuesta(s) consecuente a la interfase 1 Similarmente, mostrada en la Figura 11, parte (o todas) de la interfase 12 de la Figura 1C puede escribirse en línea en la inferíase 11 para formar la inferíase 11" Como se ilustra, la inferíase 12 se divide en 12a y 12 , y la porción de interfase 12a se codifico en línea con la inferíase 11 para forma la inferíase 11" Para un ejemplo concreto se considera que la interfase 11 de la Figura 1C realiza un cuadrado de llamado de función (entrada, salida), que se recibe por la interfase 12, que después del procesamiento del valor pasado por la entrada (para calcular el cuadrado de una entrada) por el segundo segmento de código, pasa de nuevo el resultado cuadrado con la salida En tal caso, el procesamiento realizado por el segundo segmento de código (entrada al cuadrado) puede realizarse por el primer segmento de código sin una llamada a la interfase DIVORCIO Una comunicación de un segmento de código a otro puede realizarse directamente a romper la comunicación en múltiples comunicaciones de separado Esto se ilustra esquemáticamente en las Figuras 1J y 1K Como se muestra en la Figura 1J, una o más p?eza(s) de código (lnterfase(s) de divorcio, ya que la funcionalidad de divorcio y/o funciones de inferíase de la inferíase original) se proporcionan para convertir la comunicaciones en la primera interfase, Inferíase 1 para conformarlas a una inferíase diferente, en este caso las interfases Inferíase 2A, Inferíase 2B e Inferíase 2C Esto puede hacerse, por ejemplo, en donde existe una base instalada de aplicaciones señaladas para comunicarse con, digamos, un sistema operativo de acuerdo con un protocolo de Inferíase 1, pero después el sistema operativo cambia para utilizar una inferíase diferente, en este caso interfases Inferíase 2A, Interfase 2B e Inferíase 2C El punto es que la interfase original utilizada por el segundo segmento de código cambia para que ya no sea compatible por la interíase utilizada por el primer segmento de código, para que un intermediario se utilice para hacer las nuevas y viejas interfases compatibles Similarmente, como se muestra en la Figura 1K, puede introducirse un tercer segmento de código con la inferíase de divorcio 11 para escribir las comunicaciones de la inferíase 11 y con la inferíase de divorcio D12 para transmitir la funcionalidad de inferíase, por ejemplo, a las interfases 12a e I2b, rediseñadas para trabajar con DI2, pero para proporcionar el mismo resultado funcional Similarmente, DI1 y DI2 pueden trabajar juntos para traducir la funcionalidad de mterfases 11 y 12 a la Figura 1C a un nuevo sistema operativo, mientras proporciona el mismo o similar resultado funcional REESCRITURA Incluso otra variante posible es rescribir dinámicamente el código para reemplazar la funcionalidad de inferíase con algo más pero que logra el mismo resultado total Por ejemplo, puede existir un sistema en el cual un segmento de código presentado en un lenguaje intermedio (por ejemplo, Microsoft IL, Java ByteCode, etc ) se proporciona a un recopilador Justo a Tiempo (JIT) o interprete en un ambiente de ejecución (tal como el proporcionado por la estructura de trabajo NET, herramienta de tiempo de funcionamiento Java, u otros ambientes de tipo de funcionamiento similares) El recopilador JIT puede recibirse para convertir dinámicamente las comunicaciones del primer Segmento de Código al Segundo Segmento de Código, es decir para conformarlos a una inferíase diferente como pueden requerirse por el segundo Segmento de Código (ya sea en original o un segundo Segmento de código diferente) Esto se ilustra en las Figuras IL e IM Como puede observarse en la Figura 1L, este acercamiento es similar al escenario de Divorcio descpto anteriormente Esto puede hacerse, por ejemplo, en donde una base instalada de aplicaciones se diseña para comunicarse con un sistema operativo de acuerdo con un protocolo de Interfase 1, pero después el sistema operativo se cambia para utilizar una interfase diferente El Recopilador JIT puede utilizarse para conformar las comunicaciones al momento de las aplicaciones de base instalada a la nueva inferíase del sistema operativo Como se ilustra en la Figura 1M, este acercamiento de rescribir dinámicamente la ?nterfase(s) puede aplicarse para factopzar dinámicamente, o de otra forma alterar la ?nterfase(s) también También se debe notar que los escenarios antes descritos para logra el mismo similar resultado como una inferíase a través de modalidades alternativas también puede combinarse en vanas formas, en sene y/o en paralelo, o con otro código de intervención De esa forma, las modalidades alternativas presentadas anteriormente no son mutuamente exclusivas y pueden mezclarse, unirse y combinarse para producir los mismos o equivalentes escenarios a los escenarios genéricos presentados en las Figuras 1B y 1C También se nota que, como con la mayoría de las construcciones de programación, existen otras formas similares para lograr la misma o similar funcionalidad de una inferíase que puede no describirse aquí pero sin embargo se representa por el espíritu y alcance de la invención es decir se nota que al menos es en parte la funcionalidad representada por, y los resultados ventajoso permitidos por, una inferíase que esta bajo el valor de una interfase VISTAS PEQUE AS Las Figuras 4A y 4B demuestran un ejemplo de una aplicación de la presente invención al proporcionar vistas pequeñas de ventanas de aplicación En el ejemplo de la Figura 4A, se ilustra una barra de tareas 400 que contiene botones de barra de tareas Cada uno de los botones de barra de tareas corresponde a una aplicación activa El botón de barra de tareas 402 corresponde a un programa de aplicación de solitario que actualmente corre en la computadora De forma similar, el botón de barra de tarea 403 corresponde a una ventana de programa de aplicación de procesamiento de palabra, botón de barra de tareas 405 corresponde a una ventana de programa de aplicación de reproductor de medios y el botón de barra de tareas 406 corresponde a una ventana de programa de aplicación de Calculadora Una vista pequeña de Solitario 401 se proporciona para la ventana de aplicación de solitario y una vista pequeña de Reproductor de Medios 404 se proporciona para el programa de aplicación de reproductor de Medios Las vistas pequeñas correspondientes pueden invocarse en una variedad de formas En un ejemplo no limitante las vistas pequeñas pueden invocarse al hacer flotar un cursor sobre el botón de barras de tareas correspondientes Por ejemplo, la vista pequeña de Solitario 401 puede invocarse al hacer flotar el cursor sobre el botón de barra de tareas de Solitario 402 También ilustrado en la Figura 4A, las vistas pequeñas dinámicas pueden proporcionar contenido actualizado o "en vivo" que corresponde al programa de aplicación Por ejemplo, la aplicación de Reproductor de Medios puede ser reproducir un video Mientras el video se reproduce en la ventana de aplicación de reproductor de Medios (no mostrado), el video también se reproduce en la vista pequeña de Reproductor de Medios 404 Si la ventana de aplicación de reproductor de medios por si mismas se minimiza, la vista pequeña de reproductor de medios 404 puede presentar la ultima escena en la ventana de aplicación de reproductor de medios antes de minimización Alternativamente, la vista pequeña de reproductor de medios 404 puede continuar para presentar el video mientras continua la reproducción en la aplicación de reproductor de medios incluso aunque la ventana de aplicación de reproductor de medios por si misma se minimiza La Figura 4B ilustra otro ejemplo de vistas pequeñas de la presente invención Una barra de tareas 410 se ilustra al contener un botón de barra de tareas de Solitario 411 que corresponde a una ventana de aplicación solitario (no mostrada), un botón de barra de tareas de procesamiento de palabra 412 que corresponde a una ventana de aplicación de procesamiento de palabra (no mostrada), un botón de barra de tareas de reproductor de medios 413 que corresponde a una ventana de aplicación de reproductor de medios (no mostrada) y un botón de barra de tareas de calculadora 414 que corresponde a una ventana de aplicación de calculadora (no mostrada) En este ejemplo, se proporciona una vista pequeña de Calculadora 415 La vista pequeña de Calculadora 415 presenta los contenidos actuales y actualizados de la ventana de aplicación de Calculadora En una modalidad de la presente invención, la vista pequeña de Calculadora 415 también puede actualizar la ventana de aplicación Por ejemplo, puede realizarse un cálculo a través de la vista pequeña de calculadora 415 para lograr un resultado matemático Este resultado puede presentarse en la vista pequeña de Calculadora 415 así como la ventana de aplicación de Calculadora (no mostrada) En este ejemplo, la tecla " = " se selecciona en la vista pequeña de Calculadora 415 y se presenta un resultado en la vista pequeña de Calculadora (es decir, "4") Este resultado puede reflejarse en la ventana de aplicación de Calculadora (no mostrada) así como incluso cuando el cálculo se realizo a través de la vista pequeña de Calculadora 415 La Figura 5 ilustra otra aplicación de una vista pequeña de la presente invención en la cual las vistas pequeñas se presentan en un menú de ALT-TAB Como la Figura 5 ilustra, una pantalla 500 presenta las ventanas de aplicación En este caso, una porción de una ventana de aplicación de Calculadora 502 y una porción y una ventana de aplicación de solitario 501 son visibles en la presentación 500 Cada una de las aplicaciones tiene un botón de barra de tareas correspondiente en la barra de tareas La aplicación de Calculadora tiene un botón de barra de tareas de Calculadora correspondiente 503 y la Aplicación de solitario tiene un botón de barra de tareas de solitario 504 Una aplicación de reproductor de medios también está activa (no mostrada) y un botón de Barra de Tareas de Reproductor de Medios 506 también está presente en la barra de tareas En el ejemplo ilustrado en la Figura 5, un menú ALT-TAB 505 se proporciona que presenta vistas pequeñas dinámicas de aplicaciones activas En este ejemplo, cada una de las vistas pequeñas dinámicas presenta contenido "en vivo" (es decir, actualizado) de una ventana de aplicación correspondiente El contenido de vista pequeña dinámico puede actualizarse en tiempo real Mientras las ventanas de aplicación se modifican o actualizan, la vista pequeña dinámica correspondiente también puede actualizarse por consiguiente La actualización de la vista pequeña dinámica también puede realizarse en tiempo real En este ejemplo, el menú ALT-TAB 505 contiene una vista pequeña dinámica de cada una de las aplicaciones activas, ya sea la ventana de aplicación de la aplicación correspondiente que este visible o no en la pantalla La vista pequeña de Calculadora 507, vista pequeña de Reproductor de Medios 508 y vista pequeña de solitario 509 se ilustran en el menú ALT-TAB 505 con la vista pequeña de Solitario 509 que se selecciona Cada una de las vistas pequeñas dinámicas puede proporcionar contenido "en vivo" Por ejemplo, un video puede reproducirse en la vista pequeña del reproductor de Medios 508 en tiempo real Las Figuras 2A y 2B son diagramas que ilustran componentes de una pantalla de muestra El escritorio se representa en la Figura 2A en un gráfico de escena o árbol de presentación como elemento 200 y contiene el tapiz de escritorio 201 y dos aplicaciones, Calculadora 202 y solitario 203 Además, el escritorio además contiene una barra de tarea 208 En este método de representación, los marcos alrededor de las ventanas y el área de cliente de cada ventana son todos parte del gráfico de escena El movimiento de ventana comienza a cambiar los valores de transformación en el árbol de presentación Cada una de las aplicaciones en este ejemplo contiene un marco de ventana 204, 205, respectivamente, y contenido de ventana 206, 207, respectivamente La barra de tareas 208 contiene contenido de ventana 209 En la Figura 2A, los elementos en la pantalla se presentan de izquierda a derecha A partir de aquí el tapiz de escritorio 201 se presenta detras de la Ventana de Aplicación de Calculadora 203 que se presenta detrás de la ventana de aplicación de Solitario 202 La Figura 2B ilustra la pantalla como se representa en la Figura 2A La pantalla contiene el tapiz de escritorio 220 en el fondo La ventana de aplicación de Calculadora 222 se presenta en el frente del tapiz de escritorio y la venta de aplicación de Solitario 221 se presenta al frente de la ventana de aplicación de Calculadora 222 y el tapiz de escritorio 220 Como se muestra en la Figura 2B, cada una de las ventanas de aplicación puede representarse por botones de barra de tareas en la barra de tareas 225 En este ejemplo, la aplicación de calculadora se representa por el botón de barra de tareas 223 en la barra de tareas 225 y el programa de aplicación de solitario se representa por el botón de barra de tareas 224 en la barra de tareas 225 Cada una de la ventana de aplicación de calculadora 222 y la ventana de aplicación de Solitaria 221 contiene un marco de ventana y un contenido de ventana como se presentó en el Tapiz de Escritorio 220 Cualquier subnodo del árbol como se ilustró en la Figura 2A puede utilizarse como el contenido de otro nodo del árbol Al hacer eso, los contenidos de una parte del árbol pueden observarse en otra ubicación en cualquier lugar del árbol Existen muchos métodos para lograr una revisión de nodo en el árbol en otra ubicación en otro lugar en el árbol Como un ejemplo no limitante, puede utilizarse Cepillo Visual 'Cepillo Visual" es una técnica utilizada para denominar una parte existente del gráfico de escena, pero para presentarlo al grupo "actual" de contexto de gráficos, tal como posición, escala, rotación, opacidad, efecto, etc. Esto causa que una porción del árbol presentado en un lugar se presente en otro lugar Por ejemplo, si una vista pequeña dinámica de la ventana de aplicación de calculadora se desea, una interfase de programación apropiada (por ejemplo, una Interfase de Programación de Aplicación o API) puede llamarse para proporcionar un HWND Huésped de Vista Pequeña o indicador de ventana Este ejemplo se demostró en las Figuras 3A y 3B La Figura 3A es una gráfica de escena o diagrama de árbol de presentación que ilustra un ejemplo de componentes de una presentación de la presente invención El escritorio se representa en la Figura 3A como elemento o nodo 300 y contiene el tapiz de escritorio 301 y dos aplicaciones, la calculadora 302 y solitario 303 Cada una de las aplicaciones en este ejemplo contiene un marco de ventana 305, 306, respectivamente, y contenido de ventana 307, 308, respectivamente El escritorio en este ejemplo además contiene una barra de tareas 307 En este ejemplo, una vista pequeña de la ventana de aplicación de Calculadora se proporciona al llamar una API apropiadas Como se ilustra en la Figura 3A, un indicador de ventana de HWND huésped de vista pequeña 304 se crea por una aplicación y puede registrar una vista pequeña en la aplicación tal como en la aplicación de Calculadora Por ejemplo, en la Figura 3A, la barra de tareas 307 contiene un HDWN de Huésped de vista pequeña 304 y contenido de ventana 310 El HWND de Huésped de Vista Pequeña 304 contiene una vista pequeña de Calculadora 311 que puede unir una vista pequeña de la ventana de aplicación al huésped de vista pequeña La flecha punteada en la Figura 3A ilustra que la vista pequeña de Calculadora 311 del HWND Huésped de Vista Pequeña 304 señala o retira la Calculadora de la ventana de aplicación de Calculadora Como resultado, una vista pequeña "en vivo" o dinámica se proporciona y presenta el contenido actualizado de la ventana de aplicación correspondiente (en este caso, ventana de aplicación de Calculadora) más que simplemente vistas estáticas del contenido de ventana de aplicación Como en el ejemplo de la Figura 2A, los elementos en la pantalla los resultados en la Figura 3A se presentan de izquierda a derecha A partir de aquí, el tapiz de escritorio 301 se presenta detras de la ventana de aplicación de calculadora 302 que se presenta detrás de la ventana de aplicación de Solitario 303 y la barra de tareas 308 La Figura 3B demuestra la pantalla que corresponde a la Figura 3A Como ilustra la Figura 3B, la pantalla presenta el tapiz de escritorio 320 en el fondo La ventana de aplicación de Calculadora 322 se presenta al frente del tapiz de escritorio 320 y la ventana de aplicación de Solitaria 321 se presenta al frente de la ventana de aplicación de Calculadora 322 y el tapiz de escritorio 320 También se presenta la barra de tareas 326 Cada aplicación se asocia con un botón de barra de tareas correspondiente en la barra de tareas 326 En este ejemplo, la aplicación de Calculadora se asocia con el botón de Barra de Tareas 324 y la aplicación de solitario se asocia con el botón de barra de tareas 325 Además, la Figura 3B ilustra que se proporciona una vista pequeña que se asocia con la aplicación de Calculadora El programa de aplicación de Calculadora y ventana 322 se asocia con el botón de barra de tarea 324 en la barra de tareas 326 el programa de aplicación de Solitario en la ventana 321 se asocia con el botón de barra de tareas 325 También ilustrada en la Figura 3B está una vista pequeña dinámica 323 de la ventana de aplicación de Calculadora 322 La vista pequeña 323 se proporciona por el nodo de Vista Pequeña de Calculadora 311 del HWND Huésped de Vista Pequeña 304 que señala o retira el marco de ventana 305 y contenido de ventana 308 de la aplicación de Calculadora 302 como se ilustra en la Figura 3A El resultado es una vista pequeña dinámica 323 de la ventana de aplicación de Calculadora 322 que es "en vivo", es decir, la vista pequeña se modifica mientras se hacen modificaciones correspondientes a la misma ventana de aplicación Como se ilustra en la Figura 3B, el valor de "243" calculado en la venían de aplicación de Calculadora 322 también se refleja en la vista pequeña correspondiente 323 En un aspecto de la presente invención, las vistas pequeñas dinámicas se logran a través de registro, eliminación de registro y propiedades de actualización de las vistas pequeñas Tal registro, eliminación de registro y propiedades de actualización o modificación de vistas pequeñas puede realizarse a través de mterfases de programación de aplicación (APIs) en el Administrador de Ventana de Escritorio (DWM) Se describen tres APIs ilustrativas para lograr las vistas pequeñas de la presente invención Eiemplo 1 de API - Registro de la vista pequeña Una vista pequeña puede generarse de una ventana, por ejemplo, una ventana de aplicación La ventana de aplicación, en este caso, es la ventana de fuente como la ventana de aplicación proporcionada para hace tal contenido de la vista pequeña En un ejemplo, la vista pequeña es una versión en miniatura de la ventana de aplicación y contiene los contenidos completos de la ventana de aplicación Alternativamente, la vista pequeña puede contener solamente una porción seleccionada de la ventana de fuente El contenido de la vista pequeña de la ventana de fuente se presenta en una segunda área Esta segunda área se designa como la ventana de destino que acomoda el contenido de la vista pequeña basándose en la venta de fuente La ventana de destino puede formar la base de la misma vista pequeña Por ejemplo, un marco de vista pequeña en una ubicación diferente a la ventana de aplicación, un área designada en la presentación, o un menú de aparición instantánea puede utilizarse como la ventana de destino para presentar la vista pequeña basándose en la ventana de aplicación Cuando se registra una vista pequeña, puede realizarse una operación que establece la relación de la ventana de fuente y la ventana de destino Un indicador de ventana (HWND) puede especificarse que designa la ventana de destino La ventana de destino puede servir como el objetivo de la vista pequeña que presenta y se obtiene por el procedimiento de llamado registrado a la vista pequeña Si el procedimiento de registrar la vista pequeña también obtiene la ventana de destino, después las alteraciones indeseadas en la aplicación por otras aplicaciones pueden evitarse Similarmente, un HWND para la ventana de fuente también puede especificarse El tamaño de un mapa de bits guardado en memoria cache de la vista pequeña también puede especificarse Por ejemplo, un tamaño mínimo puede indicarse para que el sistema se informe del ultimo mapa de bit conocido de la ventana de fuente De esta forma, si la ventana de fuente se minimiza subsecuentemente y no esta visible en la presentación un mapa de bit de la ventana sin embargo se retiene la vista pequeña a un esta disponible El tamaño puede variar basándose en las necesidades de la aplicación de llamada Si existen múltiples registros de la misma ventana de fuente, un procedimiento puede determinar que tamaño de vista pequeña aplicara basándose en las presentes necesidades Por ejemplo, en el caso de registros múltiples de tamaño de vista pequeña variante pueden utilizarse el tamaño mas grande La API también puede comprender un indicador que representa el registro de la vista pequeña Esta vista pequeña puede ser única para el procedimiento que emite la llamada para que la vista pequeña pueda no registrarse subsecuentemente solo del procedimiento con el cual estaba registrada Un ejemplo de una API para registrar una vista pequeña es como sigue Tipodef VISTA PEQUEÑA DE INDICADOR, HRESULT DwmRegistroVistaPequeña ( HWND dstVentana HWND srcVentana, TAMAÑO *lpTamañom?n?m?zado, HVISTAPEQUEÑA FUERA *1 phVistapequeña ) , En el cual la ventana dst representa la ventana de destino, src Ventana representa la ventana de fuente, 1p Tamaño Minimizado representa el tamaño en el cual la memoria guarda en memoria caché el último mapa de bit conocido de la ventana de fuente (src Ventana) una vez que la src Ventana se Minimiza y 1ph vista pequeña es un valor regresado que representa el indicador único que representa el registro hecho en la llamada Eiemplo 2 de API - Modificar o establecer propiedades de vista pequeña Después del registro de vista pequeña, el contenido de la ventana de fuente, o porción de la misma, se coloca como la vista pequeña en la ventana de destino Por ejemplo, cuando se llama una Actualización de API de propiedades de vista pequeña puede modificar o actualizar propiedades de la presentación de vista pequeña en una ventana de destino Por ejemplo, las Propiedades de Vista Pequeña de actualización pueden utilizarse para establecer propiedades de las vistas pequeñas tal como visibilidad, forma, rectángulos, etc Una API de propiedades de vista pequeña de actualización puede indicar el indicador de una vista pequeña para actualizarse Las actualizaciones de las vistas pequeñas pueden incluir cualquier modificación de la vista pequeña, que incluye pero no se limita a colocación de la vista pequeña, tamaño de la vista pequeña, porción de la ventana de fuente para utilizarse para la vista pequeña, porción de la ventana de destino para utilizarse para la vista pequeña, opacidad o transparencia de la vista pequeña, visibilidad de la vista pequeña, efectos especiales de la vista pequeña (por ejemplo, espiral, distorsión, destrozar, etc ), etc En otro ejemplo, las vistas pequeñas pueden actualizarse o modificarse de los procedimientos en los cuales se registran Un ejemplo, un indicador de vista pequeña se llama repentinamente a una ventana de destino para que la vista pequeña pueda moverse alrededor de la ventana de destino En este caso, la vista pequeña puede volverse a colocar dentro de la ventana de destino Por ejemplo, en una ventana de ALT-TB, las vistas pequeñas pueden reordenarse en orden vanante al volver a llamar a la vista pequeña a la ventana de destino Los parámetros pueden utilizarse al modificar o establecer propiedades de vista pequeña Existen muchos ejemplos de parámetros para modificar o establecer propiedades de vista pequeña tal como pero no limitándose a banderas A través de uso de los parámetros, La estructura de API puede modificarse más fácilmente lo que hace a la API mas flexible para mejoras futuras Los parámetros pueden designar propiedades de la vista pequeña para utilizarse y por si mismo pueden definirse por constantes especificas Por ejemplo, los parámetros pueden definir y corresponder a un parámetro de ventana de fuente que define un área o porción de una ventana de fuente para utilizarse como una vista pequeña en una ventana de destino cuando se desea menos de la ventana de fuente completa para utilizarse para la vista pequeña En este ejemplo, solo la porción específica de la ventana de fuente como se indico por el parámetro de ventana de fuente se utiliza para la vista pequeña y la ventana de destino En un ejemplo, la porción de ventana de fuente para utilizarse para una vista pequeña en la ventana de destino se especifica como coordenadas de la presentación Por ejemplo, si la porción deseada es un rectángulo dentro de la ventana de fuente, la API puede especificar un parámetro para indicar las coordenadas de un rectángulo de intersección con la ventana de fuente para obtener el rectángulo final para utilizarse como la vista pequeña Como un ejemplo, las coordenadas (0, 0) pueden establecerse como la esquina izquierda superior del área de ventana Un parámetro que define que corresponde al parámetro de ventana de fuente deseada puede establecerse con el fin de indicar que solamente una porción especificada de la ventana de fuente para utilizarse como la vista pequeña, la porción especificada de la ventana de fuente que se define en términos de las coordenadas proporcionadas Aunque existen muchas formas en las cuales especificar las coordenadas y la porción deseada de la ventana de fuente, un ejemplo puede incluir utilizar la porción de la ventana de fuente definida por la intersección del rectángulo proporcionado con la ventana de fuente real interceptada También, la porción de la ventana de destino puede utilizarse para que la vista pequeña pueda especificarse a través de un parámetro que define y corresponde a un parámetro de ventana de destino En este caso, si la ventana de destino completa no se desea utilizar para la vista pequeña y solamente una porción de la ventana de destino va a utilizarse para la vista pequeña, después el área de ventana de destino, en la cual la vista pequeña puede presentarse puede especificarse por el parámetro de ventana de destino Si este es el caso, un acercamiento se presentara solo dentro del área designada deseada como se define por el parámetro de ventana de destino (es decir, recortar la imagen cuando la presentación ocurre fuera del área designada) También, un método para determinar una locahzación de la opción de la ventana de destino en la cual la vista pequeña puede retirarse es para determinar la intersección de la porción de la ventana de destino para utilizarse y la misma ventana de destino Esto previene la presentación fuera del área de destino Además, un parámetro que define y corresponde a un parámetro de ventana de destino puede utilizarse para designar un área dentro del área designada para utilizarse como una vista pequeña de la ventana de fuente En este ejemplo, si no se define un parámetro de ventana, la ventana designada completa puede utilizarse para el contenido de vista pequeña Cualquier número de otras propiedades de vista pequeña pueden especificarse en la API, por ejemplo, opacidad o transparencia de la vista pequeña puede especificarse En un aspecto de este ejemplo de la presente invención, un parámetro puede asignarse para designar la opacidad (o transferencia) de la vista pequeña, por ejemplo, 255 puede asignarse como completamente opaco mientras cero puede asignarse como completamente transparente De esa forma, si un parámetro que define y que corresponde a un parámetro de opacidad se establece, un valor numérico asignado designado para opacidad de la vista pequeña puede aplicarse Como un resultado, la vista pequeña puede exhibir grados vanantes de opacidad como se desea por un usuario Como un ejemplo adicional, la vista pequeña puede hacerse visible o invisible como se necesite Un parámetro que define y que corresponde a un parámetro de visibilidad puede proporcionarse El parámetro de visibilidad puede ser un valor de Boolean tal como cuando el parámetro de visibilidad es Verdadero, la vista pequeña se hace disponible mientras la vista pequeña se hace invisible si el parámetro de visibilidad es FALSO La presente invención no se limita a cualquier modificación particular de la vista pequeña como cualquier modificación de la vista pequeña estará entre el alcance de la presente invención Un ejemplo de una API para actualizar o modificar una vista pequeña es Dwm actualizar vista pequeña propiedades como sigue HRESULTADO Dwmactuahzarvistapequeñapropiedades ( HVISTAPEQUEÑA hvistapequeña , DWM_VISTAPEQUEÑA_PROPIEDADES*ptnProp?edades ), #def?n?r DWM_TPN_RECTDESTINO 0X00000001 #def?n?r DWM_TPN_RECTFUENTE 0X00000002 #def?n?r DWM_TPN_OPACIDAD 0X00000004 #def?n?r DWM_TNP_VISIBILIDAD 0X00000008 tipodef estructura_DWM_VISTAPEQUEÑA_PROPI EDADES ) DPALABRA dwbanderas, RECT rcDestino, RECT rcFuente, BYTE opacidad, BOOL fVisible, ) DWM_VISTAPEQUENA_PROPIEDADES, en donde dwBanderas definen parámetros o banderas que corresponde a parámetros que especifican propiedades subsecuentes para utilizarse En este ejemplo, el parámetro de rcFuente es un parámetro de ventana de fuente que especifica la región de la ventana de recurso (srcVentana) para utilizarse como vista pequeña, rcDestino es un parámetro de ventana de destino que especifica la ventana de destino (dstVentana) al que la ventana pequeña se presenta, la opacidad es un parámetro de opacidad que controla la opacidad de vista pequeña (por ejemplo, establecido de cero a 255) y fVisible es un parámetro de visibilidad que especifica la vista pequeña como invisible o visible con base en un valor de Boolean Ejemplo 3 de API - Quitar registro de la vista pequeña Una asociación entre la fuente y las ventanas de destino se remueve cuando ya no se necesita Por ejemplo, si una ventana ya no está activa, la asociación entre la ventana y la vista pequeña puede realizarse al eliminar el registro de la asociación Esto resulta en fuerzas de liberación Además, las vistas pequeñas pueden liberarse cuando sale el procedimiento de registro Un ejemplo de una API para eliminar registros de una vista pequeña es Dwm eliminar registro vista pequeña como sigue HRESULTADO DwmQuitarregistrodevistapequeña ( HVISTAPEQUEÑA hVistapequeña ), La Figura 6 es un cuadro de flujo que ilustra un ejemplo de un procedimiento para proporcionar vistas pequeñas, que incluye vistas pequeñas "en vivo" o dinámicas, de la presente invención En el PASO 601, se proporciona una API que puede ser una aplicación que puede solicitar una primera ventana en nivel superior o ventana de fuente para presentar una vista pequeña que también puede localizarse en una sección de una segunda ventana de nivel superior o ventana de destino A partir de aquí, la primera ventana de nivel superior o ventana de fuente puede presentarse como el objeto superior dentro de la ventana de destino Un ejemplo no limitante de esta implementación es una ventana ALT-TAB en la cual una vista pequeña correspondiente a una ventana de fuente se proporciona dentro de la ventana ALT-TAB (es decir, la ventana de destino). En el PASO 602, una llamada de Registro se hace al DWM que puede proporcionar el indicador de vista pequeña. Pueden existir múltiples llamadas en la misma ventana de fuente o en la misma ventana de destino, en el ejemplo de ALT-TAB, múltiples llamadas en la misma ventana de fuente y la misma ventana de destino resulta en el reordenamiento de las vistas pequeñas dentro de la ventana de ALT-TAB así como proporcionar una representación mayor y/o estilizada de una vista pequeña de una aplicación cuando la vista pequeña se selecciona. En otro ejemplo, el orden Z de la vista pequeña puede alterarse por llamadas de registro subsecuentes. Si una modificación del orden z de la vista pequeña en relación a los otros elementos de presentación se desea, una nueva vista pequeña puede registrarse con otra llamada de registro de vista pequeña. Después que las propiedades se establecen para la nueva vista pequeña que corresponden a la vista pequeña anterior, la vista pequeña anterior puede eliminar si registro. De esa forma, en este ejemplo, el orden z de la vista pequeña puede cambiarse por múltiples registros de la vista pequeña. Alternativamente, pueden hacer llamadas a múltiples ventanas de fuente para la misma ventana de destino. En este ejemplo, las llamadas a múltiples ventanas de fuente para una ventana de destino resulta el proporcionar vistas pequeñas diferentes múltiples dentro de la ventana de destino Incluso en otro ejemplo, las vistas pequeñas dinámicas pueden presentarse dentro de otras vistas pequeñas dinámicas Por ejemplo, una primera vista pequeña dinámica con un orden z superior puede colocarse en una vista pequeña dinámica mayor de una aplicación con un orden z inferior En este ejemplo, las vistas pequeñas pueden insertarse dentro de otras vistas pequeñas Además, los secretos pueden aplicarse a cualquiera de las vistas pequeñas o cualquiera de las vistas pequeñas insertadas Alternativamente, las vistas pequeñas de cualquier orden z pueden formarse en cascada en otra vista pequeña o cualquier orden z Por ejemplo, al menos una vista pequeña (sin importar el orden z) puede colocarse en una vista pequeña dinámica mayor de una aplicación de cualquier orden z De forma similar, la vista pequeña dinámica mayor puede colocarse en otra vista pequeña dinámica de cualquier orden z. De esa forma, las vistas pequeñas pueden colocarse en cascada sin importar el orden z En el PASO 603, el DWM registro el par de procedimiento/ID para la vista pequeña El DWM además puede mantener una vista global de registros de vista pequeña en la cual cada aplicación se pone en par con un indicador de vista pequeña (HDWM) correspondiente La lista global puede mantenerse en una variedad de formas dependiendo de las necesidades del usuario Por ejemplo, una forma conveniente para mantener la lista global es indexar las vistas pequeñas por la ventana de destino (destVentana) para que cualquier ventana de destino deseada pueda accederse eficientemente También, las vistas pequeñas o cualquier ventana de destino particular ademas pueden organizarse en un orden lógico, tal como en orden de traslape o basándose en orden z En otro ejemplo el DWM puede "ajustar" los contenidos de una ventana (es decir, guardar los contenidos actuales de la ventana en el momento) antes que la ventana se minimice El DWM ajusta los contenidos de la ventana, por ejemplo, en un mapa de bit de tamaño particular El tamaño puede determinarse por la API de registro y es un tamaño apropiado para delineado de vista pequeña Después que se minimiza la ventana, los contenidos de la ventana ya están conservados para que la vista pequeña que corresponde a la ventana de aplicación aun pueda estar disponible Alternativamente, las ventanas que se minimizan pueden "colocarse" temporalmente fuera de pantalla mas que minimizar verdaderamente En este ejemplo, las aplicaciones pueden continuar al enviar información y datos para actualizar las vistas pequeñas De esa forma, si ocurre registro de vista pequeña después que una ventana de aplicación se "minimiza", las vistas pequeñas aun pueden registrarse y actualizarse como si la ventana no se hubiera minimizado Alternativamente, las vistas pequeñas pueden reemplazarse por iconos o barras de captura si el registro de vista pequeña no es factible En el PASO 604, las actualizaciones a propiedades de vista pequeña se determinan e implementan Al modificar o actualizar propiedades de vista pequeña, el DWM puede modificar la lista global por consiguiente Por ejemplo, la aplicación DWM puede agregar vistas pequeñas a su escenografía (por ejemplo, Figura 2A o Figura 3A en la cual el nodo de ventana de nivel superior apropiado que representa a la ventana objetivo se retira de la ventana de fuente (es decir, sre de Ventana) basándose en instrucciones de dibujo adicionales Cualquier otra de las alteraciones o efectos especificados para la vista pequeña también pueden incorporarse, por ejemplo, escala colocación, opacidad, invisibihdad o efectos especiales En el PASO 605, la vista pequeña se modifica basándose en instrucciones recibidas Por ejemplo, una API de vista pequeña de actualización puede modificar la visibilidad del nodo de vista pequeña y el parámetro fVisible es VERDADERO o la API de Vista Pequeña de Actualización puede aumentar (o disminuir) la opacidad de vista pequeña Después que todas las modificaciones deseadas a la vista pequeña se realizan, el procedimiento de DWM determina si la eliminación del registro de la vista pequeña se desea Este procedimiento debe determinar si una eliminación del registro de la vista pequeña se desea puede realizarse de forma separada del procedimiento de Actualizar Vista Pequeña En este caso, la eliminación de registro puede ocurrir debido a una llamada API de Eliminar Registro de Vista Pequeña (no mostrada) En el PASO 606, se determina si una API de eliminación de registro se recibe por el procedimiento de DWM Si se recibe la API de eliminación de registro el par del procedimiento y la ID de vista pequeña correspondiente se remueve (por ejemplo, de la lista global de registros de vista pequeña mantenidos en el procedimiento DWM) En el PASO 607, la corriente de instrucción de ventana de nivel superior se remite como un resultado de la vista pequeña que se elimina de registro Como resultado, la vista pequeña se remueve En un ejemplo, un cursor se hace flotar sobre un botón de barra de tareas que resulta en la representación de la vista pequeña de la aplicación correspondiente Cuando se hace flotar el cursor sobre el botón de barra de tareas, el procedimiento crea un nuevo indicador de ventana de nivel superior (HWND) que aloja una vista pequeña El procedimiento llama a una API de registro que utiliza el indicador de ventana (HWND) de la aplicación como la fuente del contenido para la vista pequeña (es decir srcVentana) El nuevo HWND de nivel superior que aloja la vista pequeña es la ventana de destino (dstVentana) El contenido de la ventana de fuente, o una porción deseada de la misma, después se coloca en la ventana de destino para presentar la vista pequeña La vista pequeña puede contener el contenido de ventana de fuente completa o puede contener sólo una porción predeterminadas seleccionadas como se menciono anteriormente La API de Actualizar Vista Pequeña puede modificar o mover la vista pequeña Por ejemplo, la vista pequeña puede volverse a colocar en relación al icono correspondiente o efectos especiales pueden aplicarse a la vista pequeña (por ejemplo, transparencia, invisibihdad, distorsión, etc ) Cuando el cursor se aleja del botón de barra de tareas, el HWND de nivel superior que aloja la vista pequeña puede eliminarse de registro para que se oculte la vista pequeña Alternativamente, la vista pequeña puede actualizarse para ser invisible para que la vista pequeña aun este registrada y pueda invocarse subsecuentemente Gen un método alternativo, cada ventana con la creación puede asignarse una vista pequeña creada para esta con la barra de tarea En este ejemplo, el código de barra de tarea puede utilizarse para manipular la visibilidad de estás pequeñas y rectángulo de destino para colocación de la vista pequeña, por ejemplo Se entiende que aspectos de la presente invención pueden tomar muchas formas y modalidades En modalidades mostradas en donde se pretende ilustra más que limitar la invención, se aprecia que pueden hacerse variaciones sin apartarse del espíritu del alcance de la invención Aunque las modalidades ilustrativas de la invención se mostraron y describieron, una amplia escala de modificación, cambia y substitución se pretende en la descripción anterior y en algunos casos algunas características de la presente invención pueden emplearse sin un uso correspondiente de las otras características Por consiguiente, es apropiado que las reivindicaciones anexas se interpreten ampliamente y en una forma consiste con el alcance de la invención

Claims (1)

REIVINDICACIONES
1.- Un método implementado por computadora para presentar una ventana en un dispositivo de presentación, el método comprende: presentar una ventana de fuente, la ventana de fuente comprende contenido que es capaz de ser modificado; presentar una ventana de destino en donde al menos una porción de la ventana de destino contiene una vista pequeña, la vista pequeña contiene contenido que es sustancialmente similar al menos a una porción del contenido de la ventana de fuente; y modificar el contenido de la ventana de fuente, en donde la modificación de la ventana de fuente se presenta en la vista pequeña. 2 - El método de acuerdo con la reivindicación 1, que además comprende el paso de registrar la vista pequeña, en donde registrar la vista pequeña comprende recibir un indicador de ventana para la ventana de fuente. 3.- El método de acuerdo con la reivindicación 2, en donde el paso de registrar además comprende establecer una asociación entre la ventana de fuente y la vista pequeña para que al menos una porción del contenido de la ventana de fuente se retire en la vista pequeña. 4.- El método de acuerdo con la reivindicación 3, en donde el paso de registrar además comprende recibir un parámetro de tamaño y almacenar la ventana de fuente y la vista pequeña para que al menos una porción del contenido de la ventana de fuente se retire en la vista pequeña 5 - El método de acuerdo con la reivindicación 4, en donde el registro además comprende recibir un indicador único que representa la asociación entre la ventana de fuente y la vista pequeña 6 - El método de acuerdo con la reivindicación 5, que comprende además el paso de quitar el registro de la vista pequeña, el paso de quitar el registro comprende remover el indicador único que representa la asociación entre la ventana de fuente y la vista pequeña 7 - El método de acuerdo con la reivindicación 6, en donde el paso de quitar registro de la vista pequeña comprende eliminar el indicador único que representa la asociación entre la ventana de fuente y la vista pequeña 8 - El método de acuerdo con la reivindicación 6, que además comprende mantener una lista de asociaciones de ventana, la lista de asociaciones de ventana comprende información de la asociación entre la ventana de fuente y la vista pequeña 9 - El método de acuerdo con la reivindicación 1, que además comprende recibir un primer parámetro para definir al menos una porción de la ventana de fuente, en donde la modificación comprende determinar al menos una porción de la ventana de fuente para retirarla en la vista pequeña basándose en el primer parámetro 10 - El método de acuerdo con la reivindicación 9, que además comprende recibir un segundo parámetro para definir al menos una porción de la ventana de destino, en donde la modificación además comprende determinar al menos una porción de la ventana de destino para presentar la vista pequeña basándose en el segundo parámetro 11 - El método de acuerdo con la reivindicación 1, en donde la modificación además comprende recibir un valor de control y establecer la opacidad de la vista pequeña basándose en el valor del valor de control 12 - El método de acuerdo con la reivindicación 11, en donde el valor del valor de control está entre 0 y 255 13 - El método de acuerdo con la reivindicación 11, en donde la modificación además comprende recibir un valor de Boleano y hacer la vista pequeña invisible basándose en el valor de Boleano 14 - Un medio legible por computadora que tiene instrucciones ejecutables por computadora para realizar los pasos que comprenden presentar una ventana de fuente en una pantalla, la ventana de fuente comprende contenido que es capaz de ser modificado, presentar una ventana de destino en donde al menos una porción de la ventana de destino contiene una vista pequeña que contiene contenido que es substancialmente similar al menos a una porción del contenido de la ventana de fuente, y modificar el contenido de la ventana de fuente, en donde la modificación de la ventana de fuente se presenta en la vista pequeña 15 - El medio legible por computadora de acuerdo con la reivindicación 14, que tiene además instrucciones ejecutables por computadora para realizar los pasos de registrar la vista pequeña, mantener una lista de asociaciones de ventana que comprende información de una asociación entre la ventana de fuente y la vista pequeña correspondiente 16 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde el registro comprende recibir un indicador de ventana para la ventana de fuente, establecer una asociación entre la ventana de fuente y la vista pequeña correspondiente para que al menos una porción del contenido de la ventana de fuente se retire de la vista pequeña, recibir un parámetro de tamaño y almacenar la ventana de fuente en un tamaño que corresponde al parámetro de tamaño, recibir un indicador único que representa la asociación entre la ventana de fuente y la ventana de destino 17 - El medio legible por computadora de acuerdo con la reivindicación 15, en donde la modificación comprende determinar al menos una porción de la ventana de fuente para retirar en la ventana de destino basándose en un primer parámetro para definir al menos una porción de la ventana de fuente, determinar al menos una porción de la ventana de destino para presentar contenido basándose en un segundo parámetro para definir la vista pequeña, recibir un valor de control y establecer la opacidad de la vista pequeña basándose en el valor del valor de control, recibir un valor de Boleano y hacer la vista pequeña invisible basándose en el valor de Boleano 18 - El medio legible por computadora de acuerdo con la reivindicación 15, que ademas comprende instrucciones ejecutables por computadora para realizar el paso de quitar el registro de la vista pequeña que comprende eliminar un indicador único que representa la asociación entre la ventana de fuente y la vista pequeña 19 - Un sistema para presentar una ventana en un dispositivo, el sistema comprende una presentación para presentar una ventana de fuente que comprende contenido que es capaz de ser modificado y una ventana de destino que corresponde a la ventana de fuente, un administrador para registrar una vista pequeña, la vista pequeña está en una ventana de destino y corresponde al menos a una porción de la ventana de fuente, el registro comprende recibir un indicador de ventana para la ventana de fuente, establecer una asociación entre la ventana de fuente y la vista pequeña para que al menos una porción del contenido de la ventana de fuente se presente en la vista pequeña, recibir un parámetro de tamaño de ventana que corresponde a la ventana de fuente y que almacena la ventana de fuente en un tamaño correspondiente al parámetro de tamaño, y recibir un indicador único que representa la asociación entre la ventana de fuente y la vista pequeña, un procesador para modificar el contenido de la ventana de fuente, en donde la modificación de la ventana de fuente se presenta en una porción correspondiente de la vista pequeña, la modificación comprende determinar al menos una porción de la ventana de fuente para presentarla en la vista pequeña basándose en un primer parámetro para definir al menos una porción de la ventana de fuente, determinar la vista pequeña para presentar basándose en un segundo parámetro para definir al menos una porción de la ventana de destino en la cual presentar la vista pequeña, recibir un valor de control y establecer la opacidad de al menos una porción de la vista pequeña basándose en el valor del valor de control, recibir un valor de Booleano y establecer la visibilidad de al menos una porción de la vista pequeña basándose en el valor de Booleano 20 - El sistema de acuerdo con la reivindicación 19, en donde el administrador para además quitar el registro de la vista pequeña, la eliminación de registro comprende remover la asociación entre la ventana de fuente y la vista pequeña
MX2007013102A 2005-04-22 2005-08-25 Interface y sistema para manipular vistas pequenas de ventanas en vivo en un administrador de ventana. MX2007013102A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/111,983 US7673255B2 (en) 2005-04-22 2005-04-22 Interface and system for manipulating thumbnails of live windows in a window manager
PCT/US2005/030314 WO2006115531A1 (en) 2005-04-22 2005-08-25 Interface and system for manipulating thumbnails of live windows in a window manager

Publications (1)

Publication Number Publication Date
MX2007013102A true MX2007013102A (es) 2008-01-14

Family

ID=37188582

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007013102A MX2007013102A (es) 2005-04-22 2005-08-25 Interface y sistema para manipular vistas pequenas de ventanas en vivo en un administrador de ventana.

Country Status (12)

Country Link
US (3) US7673255B2 (es)
EP (2) EP2474901B1 (es)
JP (1) JP4981032B2 (es)
KR (1) KR101278771B1 (es)
BR (1) BRPI0520186B1 (es)
CA (1) CA2605601C (es)
ES (1) ES2634676T3 (es)
MX (1) MX2007013102A (es)
MY (1) MY147084A (es)
RU (2) RU2409833C2 (es)
TW (2) TWI394052B (es)
WO (1) WO2006115531A1 (es)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813954B1 (en) * 2001-12-14 2010-10-12 Keen Personal Media, Inc. Audiovisual system and method for displaying segmented advertisements tailored to the characteristic viewing preferences of a user
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7600190B2 (en) * 2005-11-15 2009-10-06 Mitac Technology Corp. Window switching method and system
US20070136678A1 (en) * 2005-11-23 2007-06-14 Brown Michael W Software process and method that allows a computer program to run in memory, but display as a digital graphic or text window
US9817831B2 (en) * 2005-12-30 2017-11-14 Microsoft Technology Licensing, Llc Monetization of multimedia queries
US7620905B2 (en) * 2006-04-14 2009-11-17 International Business Machines Corporation System and method of windows management
US20070245250A1 (en) * 2006-04-18 2007-10-18 Microsoft Corporation Microsoft Patent Group Desktop window manager using an advanced user interface construction framework
US8683362B2 (en) * 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
US8893038B2 (en) * 2006-10-03 2014-11-18 International Business Machines Corporation Graphical association of task bar entries with corresponding desktop locations
JP2008147838A (ja) * 2006-12-07 2008-06-26 Sony Corp 画像処理装置、画像処理方法、およびプログラム
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
JP4772708B2 (ja) * 2007-01-29 2011-09-14 コニカミノルタビジネステクノロジーズ株式会社 制御装置及び制御方法並びに制御プログラム
EP1983414A1 (en) * 2007-04-19 2008-10-22 Research In Motion Limited Multiple display window handling
CN101675652A (zh) * 2007-04-26 2010-03-17 诺基亚公司 在移动通信终端中用于不同模式之间切换的改进的方法和装置
US7941749B2 (en) * 2007-05-15 2011-05-10 Microsoft Corporation Composition of electronic document layout
US20090037817A1 (en) * 2007-07-30 2009-02-05 Christopher Lee Bennetts Source and preview panes for media content
US20090049409A1 (en) * 2007-08-15 2009-02-19 Archos Sa Method for generating thumbnails for selecting video objects
US8024670B1 (en) * 2007-10-30 2011-09-20 Intuit Inc. Workflow management using live thumbnails
US20090144648A1 (en) * 2007-12-04 2009-06-04 Google Inc. Tabbed windows for viewing multimedia programs
TWI356337B (en) 2007-12-26 2012-01-11 Htc Corp A user interface of electronic apparatus
US8555193B2 (en) * 2008-01-17 2013-10-08 Google Inc. System for intelligent automated layout and management of interactive windows
US8490019B2 (en) * 2008-01-29 2013-07-16 Microsoft Corporation Displaying thumbnail copies of each running item from one or more applications
US20090199127A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation Previewing target display areas
US8839300B2 (en) 2008-02-19 2014-09-16 At&T Intellectual Property I, Lp Method and system for presenting electronic programming guides
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US20140033171A1 (en) * 2008-04-01 2014-01-30 Jon Lorenz Customizable multistate pods
TWI361377B (en) 2008-04-24 2012-04-01 Htc Corp Method for switching user interface, electronic device and recording medium using the same
US20090315900A1 (en) * 2008-06-23 2009-12-24 Microsoft Corporation Generic surface manager
US9030418B2 (en) * 2008-06-24 2015-05-12 Lg Electronics Inc. Mobile terminal capable of sensing proximity touch
US8499254B2 (en) * 2008-10-27 2013-07-30 Microsoft Corporation Surfacing and management of window-specific controls
US8819585B2 (en) * 2008-10-27 2014-08-26 Microsoft Corporation Child window surfacing and management
US8381131B1 (en) * 2009-01-22 2013-02-19 Amdocs Software Systems Limited System, method, and computer program for displaying tasks as interactive thumbnails for interaction therewith by a user
CN101504658B (zh) * 2009-01-23 2011-09-28 北京搜狗科技发展有限公司 一种实现多标签应用程序中进行消息交互的方法及系统
JP5419486B2 (ja) * 2009-02-10 2014-02-19 キヤノン株式会社 データ処理装置、データ処理方法、およびプログラム
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8427438B2 (en) * 2009-03-26 2013-04-23 Apple Inc. Virtual input tools
KR101601040B1 (ko) * 2009-05-19 2016-03-09 삼성전자주식회사 휴대 단말기의 화면 표시 방법 및 이를 지원하는 휴대 단말기
US20110099523A1 (en) * 2009-10-28 2011-04-28 Van Zee Pieter Product selection and management workflow
US9177298B2 (en) 2009-12-15 2015-11-03 International Business Machines Corporation Abbreviated user interface for instant messaging to minimize active window focus changes
US8698845B2 (en) * 2010-01-06 2014-04-15 Apple Inc. Device, method, and graphical user interface with interactive popup views
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
AU2015230769B2 (en) * 2010-04-07 2017-08-31 Apple Inc. Gesture based graphical user interface for managing concurrently open software applications
US9058186B2 (en) 2010-04-07 2015-06-16 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US9823831B2 (en) 2010-04-07 2017-11-21 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US9513801B2 (en) 2010-04-07 2016-12-06 Apple Inc. Accessing electronic notifications and settings icons with gestures
AU2015202565B2 (en) * 2010-04-07 2017-03-02 Apple Inc. Gesture based graphical user interface for managing concurrently open software applications
EP2385452A1 (en) * 2010-05-06 2011-11-09 Amadeus S.A.S. Computer navigation method
US10216408B2 (en) 2010-06-14 2019-02-26 Apple Inc. Devices and methods for identifying user interface objects based on view hierarchy
US8661369B2 (en) * 2010-06-17 2014-02-25 Lg Electronics Inc. Mobile terminal and method of controlling the same
US9612715B2 (en) * 2010-06-28 2017-04-04 International Business Machines Corporation Real-time preview of uniform resource identifier addressable dynamic content
US8866822B2 (en) 2010-09-07 2014-10-21 Microsoft Corporation Alternate source for controlling an animation
JP5635850B2 (ja) * 2010-09-16 2014-12-03 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理システムおよび情報処理方法
KR101685991B1 (ko) * 2010-09-30 2016-12-13 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
JP5440873B2 (ja) * 2010-09-30 2014-03-12 ブラザー工業株式会社 デバイス、及びプログラム
US9244606B2 (en) 2010-12-20 2016-01-26 Apple Inc. Device, method, and graphical user interface for navigation of concurrently open software applications
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
DE102010056603A1 (de) 2010-12-31 2012-07-05 Global IP Telecommunications Ltd. Verfahren zum Erweitern der grafischen Benutzeroberfläche in einem Datenverarbeitungssystem
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US20120185805A1 (en) * 2011-01-14 2012-07-19 Apple Inc. Presenting Visual Indicators of Hidden Objects
WO2012108714A2 (en) 2011-02-11 2012-08-16 Samsung Electronics Co., Ltd. Method and apparatus for providing graphic user interface in mobile terminal
KR101831641B1 (ko) * 2011-02-11 2018-04-05 삼성전자 주식회사 휴대 단말기의 gui 제공 방법 및 장치
US10631246B2 (en) * 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
WO2012134479A1 (en) * 2011-03-31 2012-10-04 Hewlett-Packard Development Company, L.P. Augmenting user interface elements
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US20120272178A1 (en) * 2011-04-21 2012-10-25 Opera Software Asa Method and device for providing easy access in a user agent to data resources related to client-side web applications
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8806369B2 (en) 2011-08-26 2014-08-12 Apple Inc. Device, method, and graphical user interface for managing and interacting with concurrently open software applications
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US20130067390A1 (en) * 2011-09-09 2013-03-14 Paul J. Kwiatkowski Programming Interface for Semantic Zoom
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US20130067412A1 (en) * 2011-09-09 2013-03-14 Microsoft Corporation Grouping selectable tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US20130067394A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Pointer invocable navigational user interface
US11301345B2 (en) * 2011-11-30 2022-04-12 Red Hat, Inc. Desktop sound source discovery
US20130155112A1 (en) * 2011-12-20 2013-06-20 Nokia Corporation Method, apparatus and computer program product for graphically transitioning between multiple program interface levels of a program
US9207837B2 (en) 2011-12-20 2015-12-08 Nokia Technologies Oy Method, apparatus and computer program product for providing multiple levels of interaction with a program
US9128605B2 (en) * 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
EP2847661A2 (en) 2012-05-09 2015-03-18 Apple Inc. Device, method, and graphical user interface for moving and dropping a user interface object
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169845A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for scrolling nested regions
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
WO2013169875A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
JP6082458B2 (ja) 2012-05-09 2017-02-15 アップル インコーポレイテッド ユーザインタフェース内で実行される動作の触知フィードバックを提供するデバイス、方法、及びグラフィカルユーザインタフェース
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
KR101956082B1 (ko) 2012-05-09 2019-03-11 애플 인크. 사용자 인터페이스 객체를 선택하는 디바이스, 방법, 및 그래픽 사용자 인터페이스
KR101823288B1 (ko) 2012-05-09 2018-01-29 애플 인크. 제스처에 응답하여 디스플레이 상태들 사이를 전이하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169851A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for facilitating user interaction with controls in a user interface
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
WO2013169846A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying additional information in response to a user contact
CN103455260B (zh) * 2012-05-30 2016-03-09 腾讯科技(深圳)有限公司 一种对列表中的区域进行移动操作的实现方法及装置
US9563715B2 (en) * 2012-07-08 2017-02-07 Htc Corporation Method for performing information monitoring control of at least one target division block of at least one web page with aid of at least one monitoring control server, and associated apparatus and associated monitoring system
CN103577176A (zh) * 2012-08-02 2014-02-12 腾讯科技(深圳)有限公司 视频独立播放的实现方法及实现该方法的移动终端设备
KR102183071B1 (ko) * 2012-12-06 2020-11-25 삼성전자주식회사 복수 어플리케이션을 실행하는 디스플레이 장치 및 그 제어 방법
EP2741192A3 (en) 2012-12-06 2016-09-14 Samsung Electronics Co., Ltd Display device for executing a plurality of applications and method for controlling the same
CN107831991B (zh) 2012-12-29 2020-11-27 苹果公司 用于确定是滚动还是选择内容的设备、方法和图形用户界面
CN104903834B (zh) 2012-12-29 2019-07-05 苹果公司 用于在触摸输入到显示输出关系之间过渡的设备、方法和图形用户界面
JP6138274B2 (ja) 2012-12-29 2017-05-31 アップル インコーポレイテッド ユーザインタフェース階層をナビゲートするためのデバイス、方法、及びグラフィカルユーザインタフェース
JP6093877B2 (ja) 2012-12-29 2017-03-08 アップル インコーポレイテッド 複数接触ジェスチャのために触知出力の生成を見合わせるためのデバイス、方法、及びグラフィカルユーザインタフェース
EP2939095B1 (en) 2012-12-29 2018-10-03 Apple Inc. Device, method, and graphical user interface for moving a cursor according to a change in an appearance of a control icon with simulated three-dimensional characteristics
US9671926B2 (en) 2013-02-22 2017-06-06 Xiaomi Inc. Method and terminal device for displaying dynamic icon
CN103135987A (zh) * 2013-02-22 2013-06-05 北京小米科技有限责任公司 一种动态图标显示方法及装置
US9658740B2 (en) 2013-03-15 2017-05-23 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
KR102117937B1 (ko) * 2013-03-15 2020-06-02 엘지전자 주식회사 영상 표시 장치 및 그것의 제어 방법
US9477404B2 (en) 2013-03-15 2016-10-25 Apple Inc. Device, method, and graphical user interface for managing concurrently open software applications
US10656800B2 (en) * 2013-03-29 2020-05-19 Microsoft Technology Licensing, Llc Visual configuration and activation
CN103226473B (zh) * 2013-04-08 2016-08-17 小米科技有限责任公司 一种整理图标的方法、装置和设备
TWI597659B (zh) * 2013-04-15 2017-09-01 晨星半導體股份有限公司 開啟顯示器前更新欲顯示內容的處理方法、模塊及其電子裝置
US10452222B2 (en) 2013-05-29 2019-10-22 Microsoft Technology Licensing, Llc Coordination of system readiness tasks
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
RU2589854C2 (ru) * 2013-06-13 2016-07-10 Олег Александрович Серебренников Система создания и отображения планов
US20150046812A1 (en) 2013-08-12 2015-02-12 Google Inc. Dynamic resizable media item player
KR20150032097A (ko) * 2013-09-17 2015-03-25 삼성전자주식회사 영상표시장치, 영상표시장치의 구동방법 및 영상표시방법
US10007810B2 (en) * 2013-10-05 2018-06-26 Excalibur Ip, Llc Alternate screen reveal for instant privacy
KR102192155B1 (ko) * 2013-11-12 2020-12-16 삼성전자주식회사 어플리케이션 정보를 제공하는 방법 및 장치
JP6241353B2 (ja) * 2014-04-01 2017-12-06 セイコーエプソン株式会社 双方向表示方法および双方向表示装置
GB2525198A (en) * 2014-04-15 2015-10-21 Ibm Controlling an application instance using a graphical user interface
CN104503693B (zh) 2014-11-28 2017-12-22 英业达科技有限公司 多段文件内容的选取方法
US10102664B1 (en) * 2014-12-03 2018-10-16 Charles Schwab & Co., Inc. System and method for causing graphical information to be rendered
US9645732B2 (en) 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US10048757B2 (en) 2015-03-08 2018-08-14 Apple Inc. Devices and methods for controlling media presentation
US10489013B2 (en) * 2015-03-17 2019-11-26 International Business Machines Corporation Intelligent taskbar shortcut menu for webpage control
US9785305B2 (en) 2015-03-19 2017-10-10 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
KR20160141614A (ko) * 2015-06-01 2016-12-09 삼성전자주식회사 전자 장치, 저장 매체 및 전자 장치에서 데이터를 표시하는 방법
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9674426B2 (en) 2015-06-07 2017-06-06 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
AU2015405015A1 (en) 2015-07-31 2018-02-22 Eizo Corporation Display control device, display device, display system, and program
KR102519424B1 (ko) * 2015-09-25 2023-04-10 삼성메디슨 주식회사 초음파 이미지 디스플레이 방법 및 이를 위한 장치
US10133446B2 (en) 2016-03-23 2018-11-20 Microsoft Technology Licensing, Llc Content chase-ability for apps
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
US20180088565A1 (en) * 2016-08-22 2018-03-29 Fisher-Rosemount Systems, Inc. Operator Display Switching Preview
KR101873655B1 (ko) * 2016-11-30 2018-07-02 엘에스산전 주식회사 모니터링 화면 표시 방법
US10795532B1 (en) 2019-03-14 2020-10-06 International Business Machines Corporation Interactive graphical user interface thumbnail
CN110262720B (zh) * 2019-06-21 2021-06-08 网易(杭州)网络有限公司 浮窗的控制方法、装置、设备和存储介质
WO2021158706A1 (en) 2020-02-03 2021-08-12 Apple Inc. Cursor integration with a touch screen user interface
CN111610912B (zh) * 2020-04-24 2023-10-10 北京小米移动软件有限公司 应用显示方法、应用显示装置及存储介质
US11175807B1 (en) * 2021-02-03 2021-11-16 Adobe Inc. Intelligent contextual video thumbnail display
CN115705229A (zh) * 2021-08-06 2023-02-17 北京小米移动软件有限公司 显示控制方法和系统、移动终端、存储介质
US11983382B2 (en) 2022-06-13 2024-05-14 Illuscio, Inc. Systems and methods for generating three-dimensional menus and toolbars to control computer operation
US11579748B1 (en) * 2022-06-13 2023-02-14 Illuscio, Inc. Systems and methods for interacting with three-dimensional graphical user interface elements to control computer operation
US11886685B1 (en) 2022-10-20 2024-01-30 Stardock Corporation Desktop container peek interface
CN117348828A (zh) * 2023-09-27 2024-01-05 广东保伦电子股份有限公司 一种基于wpf的选择性投屏方法、系统、介质及设备

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4653020A (en) * 1983-10-17 1987-03-24 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
US4651146A (en) * 1983-10-17 1987-03-17 International Business Machines Corporation Display of multiple data windows in a multi-tasking system
GB2191917A (en) * 1986-06-16 1987-12-23 Ibm A multiple window display system
JP2557358B2 (ja) * 1986-12-26 1996-11-27 株式会社東芝 情報処理装置
US5333256A (en) 1989-05-15 1994-07-26 International Business Machines Corporation Methods of monitoring the status of an application program
JPH0511962A (ja) * 1990-10-10 1993-01-22 Fuji Xerox Co Ltd ウインドウ管理装置
JP2957316B2 (ja) * 1990-11-20 1999-10-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 複数のソフトウェア・アプリケーションにアクセスするための方法およびシステム
JPH0580965A (ja) * 1991-09-25 1993-04-02 Nec Aerospace Syst Ltd ウインドウ表示認識方式
US5307086A (en) * 1991-10-08 1994-04-26 International Business Machines Corporation Method of implementing a preview window in an object oriented programming system
DE69315969T2 (de) * 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
US5412776A (en) * 1992-12-23 1995-05-02 International Business Machines Corporation Method of generating a hierarchical window list in a graphical user interface
US5499334A (en) * 1993-03-01 1996-03-12 Microsoft Corporation Method and system for displaying window configuration of inactive programs
US6040833A (en) * 1993-12-10 2000-03-21 International Business Machines Corp. Method and system for display manipulation of multiple applications in a data processing system
US5657463A (en) * 1994-01-19 1997-08-12 Apple Computer, Inc. Method and apparatus for positioning a new window on a display screen based on an arrangement of previously-created windows
AU2902395A (en) * 1994-06-17 1996-01-15 Intel Corporation Apparatus and method for application sharing in a graphic user interface
US5546528A (en) * 1994-06-23 1996-08-13 Adobe Systems Incorporated Method of displaying multiple sets of information in the same area of a computer screen
EP0717344B1 (en) * 1994-12-13 2001-10-31 Microsoft Corporation Taskbar with start menu
US6072488A (en) * 1995-05-05 2000-06-06 Apple Computer, Inc. Systems and methods for replacing open windows in a graphical user interface
US5675755A (en) * 1995-06-07 1997-10-07 Sony Corporation Window system preventing overlap of multiple always-visible windows
US5874960A (en) * 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
US5712995A (en) * 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
JPH09128192A (ja) * 1995-10-26 1997-05-16 Brother Ind Ltd マルチ画面表示制御装置
US5880733A (en) * 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US5841435A (en) * 1996-07-26 1998-11-24 International Business Machines Corporation Virtual windows desktop
JP3528451B2 (ja) 1996-07-26 2004-05-17 ソニー株式会社 電子番組ガイド表示制御装置及びその方法
US5892511A (en) * 1996-09-30 1999-04-06 Intel Corporation Method for assisting window selection in a graphical user interface
US6008809A (en) * 1997-09-22 1999-12-28 International Business Machines Corporation Apparatus and method for viewing multiple windows within a dynamic window
US7346850B2 (en) * 1998-06-12 2008-03-18 Cygnus Systems, Inc. System and method for iconic software environment management
JP2000105655A (ja) * 1998-09-29 2000-04-11 Nec Software Kyushu Ltd ウィンドウ内容表示方法
US8595764B2 (en) * 1999-06-25 2013-11-26 Jlb Ventures, Llc Image-oriented electronic programming guide
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724403B1 (en) * 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724406B1 (en) * 1999-11-10 2004-04-20 International Business Machines Corporation Method of controlling web applications from redirecting a client to another web address
US6806892B1 (en) * 1999-12-20 2004-10-19 International Business Machines Corporation Layer viewport for enhanced viewing in layered drawings
US6606105B1 (en) * 1999-12-22 2003-08-12 Adobe Systems Incorporated Layer enhancements in digital illustration system
US20020163545A1 (en) * 2001-05-01 2002-11-07 Hii Samuel S. Method of previewing web page content while interacting with multiple web page controls
TW501072B (en) 2001-05-09 2002-09-01 Ulead Systems Inc Visualization process method of image file and image editor having visualization process function and the readable storage medium of computer to store program
WO2003025899A1 (en) 2001-09-14 2003-03-27 Genesys Telecommunications Laboratories, Inc. Patch navigation utilizing smart patches as tabs with real-time status icons in a universal agent desktop application
JP2003099173A (ja) * 2001-09-21 2003-04-04 Canon Inc 表示画面制御装置
JP2003162355A (ja) * 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器
US7346855B2 (en) * 2001-12-21 2008-03-18 Microsoft Corporation Method and system for switching between multiple computer applications
US7010755B2 (en) * 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
US7558318B2 (en) * 2002-06-11 2009-07-07 Sanyo Electric Co., Ltd. Method and apparatus for processing images, method and apparatus for recording and reproducing images, and television receiver utilizing the same
US7721216B2 (en) 2002-06-18 2010-05-18 Microsoft Corporation Visual group interface for group connectivity
JP2004219759A (ja) * 2003-01-15 2004-08-05 Chi Mei Electronics Corp 画像表示処理方法、画像表示処理装置、画像表示装置および画像表示処理システム
US7343567B2 (en) * 2003-04-25 2008-03-11 Microsoft Corporation System and method for providing dynamic user information in an interactive display
CA2527083C (en) * 2003-06-02 2011-04-26 Disney Enterprises, Inc. System and method of programmatic window control for consumer video players
US7757182B2 (en) * 2003-06-25 2010-07-13 Microsoft Corporation Taskbar media player
US7665031B2 (en) * 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US7478326B2 (en) * 2005-01-18 2009-01-13 Microsoft Corporation Window information switching system

Also Published As

Publication number Publication date
CA2605601A1 (en) 2006-11-02
ES2634676T3 (es) 2017-09-28
JP2008538631A (ja) 2008-10-30
US7673255B2 (en) 2010-03-02
BRPI0520186B1 (pt) 2017-11-21
TW201227349A (en) 2012-07-01
JP4981032B2 (ja) 2012-07-18
EP2474901A1 (en) 2012-07-11
WO2006115531A1 (en) 2006-11-02
US9733954B2 (en) 2017-08-15
KR20080002847A (ko) 2008-01-04
CA2605601C (en) 2012-08-21
RU2409833C2 (ru) 2011-01-20
KR101278771B1 (ko) 2013-06-25
TWI394052B (zh) 2013-04-21
TWI533147B (zh) 2016-05-11
EP1872194A1 (en) 2008-01-02
BRPI0520186A2 (pt) 2009-04-22
RU2010135599A (ru) 2012-02-27
MY147084A (en) 2012-10-31
US20100138773A1 (en) 2010-06-03
US20060242602A1 (en) 2006-10-26
EP2474901B1 (en) 2017-05-31
TW200638222A (en) 2006-11-01
RU2569802C2 (ru) 2015-11-27
US20170322818A1 (en) 2017-11-09
RU2007138968A (ru) 2009-04-27
EP1872194A4 (en) 2010-02-24
EP1872194B1 (en) 2017-04-26

Similar Documents

Publication Publication Date Title
MX2007013102A (es) Interface y sistema para manipular vistas pequenas de ventanas en vivo en un administrador de ventana.
US7730418B2 (en) Size to content windows for computer graphics
US7453473B2 (en) Method and apparatus for high-performance rendering and hit testing of a window tree
US7716685B2 (en) Pluggable window manager architecture using a scene graph system
US7689926B2 (en) Selective window exclusion for captured content
TWI484403B (zh) 顯示介面中之圖示管理
US7055095B1 (en) Systems and methods for digital document processing
EP3111318B1 (en) Cross-platform rendering engine
US7755644B1 (en) Revealing clipped portion of image object
US20060248471A1 (en) System and method for providing a window management mode
US11537278B2 (en) Interactively presenting a visible portion of a rendering surface on a user device
US8205169B1 (en) Multiple editor user interface
EP1638013A2 (en) Common charting using shapes
US20070192719A1 (en) Hover indicator for objects
CN114356475B (zh) 一种显示处理方法、装置、设备及存储介质
US10732999B2 (en) Method for providing graphical control
CN111813404B (zh) 基于混合图形显示的应用方法、介质及客户端
RU2752777C1 (ru) Способ компьютерного увеличения и центрирования объектов в веб-браузере
WO1995018437A1 (en) Object-oriented view coordinate space system
Ackermann et al. Combining 2D User Interface Components and Interactive 3D Graphics in ET++.
JPH07239944A (ja) 作画装置

Legal Events

Date Code Title Description
FG Grant or registration