ES2890828T3 - Método y dispositivo de visualización de sombra de borde de ventana - Google Patents

Método y dispositivo de visualización de sombra de borde de ventana Download PDF

Info

Publication number
ES2890828T3
ES2890828T3 ES16905354T ES16905354T ES2890828T3 ES 2890828 T3 ES2890828 T3 ES 2890828T3 ES 16905354 T ES16905354 T ES 16905354T ES 16905354 T ES16905354 T ES 16905354T ES 2890828 T3 ES2890828 T3 ES 2890828T3
Authority
ES
Spain
Prior art keywords
window
slave
main
edge
slave window
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES16905354T
Other languages
English (en)
Inventor
Yao Cheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Shirui Electronics Co Ltd
Original Assignee
Guangzhou Shirui Electronics Co Ltd
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 Guangzhou Shirui Electronics Co Ltd filed Critical Guangzhou Shirui Electronics Co Ltd
Application granted granted Critical
Publication of ES2890828T3 publication Critical patent/ES2890828T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

Un método de visualización de una sombra de borde de ventana, que comprende los siguientes pasos: crear una ventana esclava unida a un borde de una ventana principal, en la que la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada (S100); ajustar un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal (S200); y calcular la transparencia de un punto de píxel para la ventana esclava y visualizar la ventana esclava de acuerdo con el resultado del cálculo (S300).

Description

DESCRIPCIÓN
Método y dispositivo de visualización de sombra de borde de ventana
Campo técnico
La presente divulgación se refiere al campo de la tecnología de visualización y, en particular, a un método y un aparato de visualización de una sombra de borde de ventana.
Antecedentes
Actualmente, en un sistema operativo, el efecto de sombra de borde de una ventana a menudo se realiza haciendo que un área del borde de la ventana parezca semitranslúcida. Por ejemplo, en el sistema Windows, para realizar el efecto de visualización de sombra de borde de la ventana, un método tradicional es configurar la ventana como una ventana estratificada a través de la interfaz de programación de aplicaciones de la plataforma Microsoft de 32 bits (API Win32) y dibujar un efecto de sombra semitranslúcido en el borde de la ventana. Sin embargo, este método de marcar la ventana como la ventana estratificada para realizar la visualización de sombra de borde de ventana tiene ciertos inconvenientes: la ventana estratificada consume una gran cantidad de memoria y la huella de memoria aumenta a medida que aumenta el área de la ventana; y el rendimiento de renderizado de la ventana estratificada es deficiente, y el efecto de animación implementado en la ventana estratificada será más difícil de lograr la tasa de borde deseada que una ventana sin estratificar en la misma situación.
El documento US 2006/0059432 A1 describe un método y dispositivo de visualización, en una interfaz gráfica de usuario que tiene áreas de visualización superpuestas, de un área de visualización de primer plano que tiene contenido de área de visión de primer plano sobre un área de visión de fondo que tiene contenido de área de visión de fondo, incluida la visualización del área de visión de primer plano con una región no transparente que oscurece cualquier parte del área de visión de fondo solapada por la misma y una región semitransparente a través de la cual el contenido del área de visión de fondo solapado por lo tanto puede verse al menos parcialmente.
Sumario
Basándose en esto, es necesario proporcionar un método y un aparato de visualización de la sombra de borde de ventana con respecto a los problemas mencionados anteriormente en la técnica anterior.
Un método de visualización de una sombra de borde de ventana, el método incluyendo los siguientes pasos: crear una ventana esclava unida a un borde de una ventana principal, en la que la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada;
ajustar un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal; y
calcular la transparencia de un punto de píxel para la ventana esclava y visualizar la ventana esclava de acuerdo con el resultado del cálculo.
En consecuencia, la presente divulgación también proporciona un aparato de visualización de una sombra de borde de ventana, incluyendo el aparato:
una unidad de creación de ventana configurada para crear una ventana esclava unida a un borde de una ventana principal, en la que la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada;
una unidad de ajuste configurada para ajustar un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal; y
una unidad de cálculo y visualización configurada para calcular la transparencia de un punto de píxel para la ventana esclava y visualizar la ventana esclava de acuerdo con el resultado del cálculo.
El método y aparato mencionados anteriormente de visualización de la sombra de borde de ventana utiliza la ventana principal para presentar la interfaz del software, y realiza la visualización de sombra de borde para la ventana principal usando las ventanas esclavas unidas y alineadas con los bordes de la ventana principal, y configura la ventana principal en la ventana no estratificada mientras que configura la ventana esclava en la ventana estratificada. Dado que la ventana principal es la ventana sin estratificar, su huella de memoria no aumentará junto con el área de la ventana, por lo que la huella de memoria del sistema se conserva drásticamente. Dado que al realizar la visualización de sombra de borde de ventana principal, el área cubierta por las ventanas esclavas es típicamente más pequeña que la de la ventana principal, la huella de memoria de las ventanas esclavas es limitada. En comparación con el método de configuración de la ventana principal en la ventana estratificada para realizar la visualización de sombra de borde de ventana, la huella de memoria general de todo el sistema aún se reduce. Además, dado que la ventana principal es la ventana sin estratificar, no sufre las implicaciones de rendimiento como la ventana estratificada, por lo que el método y el aparato de visualización de la sombra de borde de ventana proporcionados por la presente divulgación tienen un mejor rendimiento de renderizado de la ventana.
Breve descripción de los dibujos
La figura 1 es un diagrama de flujo de un método de visualización de una sombra de borde de ventana de acuerdo con una realización de la presente divulgación;
la figura 2 es un diagrama esquemático de una ventana principal y ventanas esclavas en una realización de la presente divulgación; y
la figura 3 es un diagrama estructural esquemático de un aparato de visualización de una sombra de borde de ventana de acuerdo con una realización de la presente divulgación.
Descripción de realizaciones
La solución técnica de la presente divulgación se describirá en detalle a continuación con referencia a los dibujos adjuntos y las realizaciones preferidas.
En una de las realizaciones, con referencia a la figura 1, un método de visualización de una sombra de borde de ventana incluye los siguientes pasos:
En el paso S100, se crea una ventana esclava unida a un borde de una ventana principal, en la que la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada;
en el paso S200, se ajusta un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y las coordenadas de pantalla de la ventana esclava se ajustan de acuerdo con las coordenadas de pantalla de la ventana principal; y
en el paso S300, se calcula una transparencia de puntos de píxel para la ventana esclava, y la ventana esclava se visualiza de acuerdo con un resultado de cálculo.
Específicamente, la ventana principal es una ventana de una interfaz de pantalla para presentar normalmente software en un sistema operativo. En el paso S100, basándose en una ventana principal ya creada, la API de ventana crea una ventana esclava que se une a un borde de la ventana principal para construir un efecto de sombra de borde para la ventana principal, donde se puede determinar qué borde de la ventana principal se va a unir a la ventana esclava y el número exacto de ventanas esclavas que se van a unir a la ventana principal de acuerdo con un efecto de visualización específico deseado de la sombra de borde de ventana principal. El paso actual configura además la ventana principal como una ventana sin estratificar, y configura la ventana esclava como una ventana estratificada, donde la ventana estratificada es una forma de implementación de la ventana definida en el sistema Windows. En comparación con la ventana sin estratificar, la ventana estratificada puede presentar un efecto semitranslúcido, pero consume más memoria y tiene un rendimiento de renderizado menor del deseable. Como una realización específica, durante la creación de la ventana esclava unida al borde de la ventana principal, cada borde de la ventana principal está unido a una ventana esclava. Al adoptar el método de creación de la ventana esclava proporcionado por la presente realización, el número total de ventanas esclavas que deben crearse se reduce al máximo, por lo que se simplifica el proceso de visualización de la sombra de borde de ventana principal, la eficiencia de visualización de la sombra del borde se mejora. Además, dado que cada borde de la ventana principal está unido a una ventana esclava, el efecto de visualización de sombra se puede crear para todos los bordes de la ventana principal, lo que se adapta mejor al hábito visual de las personas.
En el paso S200, se ajusta un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y las coordenadas de pantalla de la ventana esclava se ajustan de acuerdo con las coordenadas de pantalla de la ventana principal. Como ejemplo, la siguiente es una ventana principal típica con cuatro bordes, asumiendo que se crean cuatro ventanas esclavas unidas a diferentes bordes de la ventana principal, y el paso S200 se describe a continuación:
En un aspecto, el tamaño (incluida la longitud y/o el ancho) de cada ventana esclava se ajusta respectivamente de acuerdo con el tamaño (incluida la longitud y/o el ancho) de la ventana principal. Específicamente, cada ventana esclava está etiquetada como una ventana esclava superior, una ventana esclava inferior, una ventana esclava izquierda y una ventana esclava derecha, respectivamente. Como se muestra en la figura 2, la longitud y el ancho de la ventana principal están etiquetados como ventana.longitud y ventana.ancho respectivamente, el ancho de la ventana esclava superior está etiquetado como radio.superior, el ancho de la ventana esclava inferior está etiquetado como radio.inferior, el ancho de la ventana esclava izquierda está etiquetado como radio.izquierdo, y el ancho de la ventana esclava derecha está etiquetado como radio.derecho. De acuerdo con la figura 2, la longitud de la ventana esclava superior unida a un borde superior de la ventana principal y la longitud de la ventana esclava inferior unida a un borde inferior de la ventana principal son iguales, que son radio.izquierdo ventana.longitud radio.derecho, y la longitud de la ventana esclava izquierda unida a un borde izquierdo de la ventana principal y la longitud de la ventana esclava derecha unida a un borde derecho de la ventana principal son las mismas, que son radio.superior ventana.ancho radio.inferior, donde el ancho de cada ventana esclava radio.superior, radio.inferior, radio.izquierdo y radio.derecho se puede configurar de manera flexible de acuerdo con el tamaño de la ventana principal y el efecto de visualización de la sombra del borde. Como una realización específica, cuando el número de la ventana esclava es mayor que uno, los anchos de cada ventana esclava se configuran para que sean los mismos. Tomando las cuatro ventanas esclavas anteriores como ejemplo, los anchos de cada ventana esclava son los mismos, es decir, radio.superior = radio.inferior = radio.izquierdo = radio.derecho. Unificando el ancho de cada ventana esclava, se puede simplificar un cálculo de la transparencia del punto de píxel de la ventana esclava de acuerdo con la simetría de la ventana, por lo que se mejora la eficiencia de la visualización de sombra de borde de ventana principal.
Por otro lado, las coordenadas de pantalla de la ventana esclava se ajustan de acuerdo con las coordenadas de pantalla de la ventana principal. Específicamente, en el campo de la tecnología de visualización, un sistema de coordenadas se establece mediante una esquina superior izquierda de la pantalla de visualización que es el origen de las coordenadas, una dirección horizontal derecha siendo una dirección positiva del eje x, y una dirección vertical descendente relativa al eje x siendo una dirección positiva del eje y. Las coordenadas de pantalla de la ventana principal se refieren a la posición de las coordenadas de la esquina superior izquierda de la ventana principal en el sistema de coordenadas establecido. Por ejemplo, las coordenadas de pantalla del arco de la ventana principal etiquetadas como (ventana.izquierda, ventana.superior), y las coordenadas de pantalla de la ventana esclava pueden calcularse de acuerdo con las coordenadas de pantalla de la ventana principal. Por ejemplo, tomando la ventana esclava superior mostrada en la figura 2 como ejemplo, la posición de las coordenadas de la esquina superior izquierda de la ventana esclava superior en el sistema de coordenadas establecido puede calcularse de acuerdo con las coordenadas de pantalla de la ventana principal y el tamaño de la ventana esclava. La posición de las coordenadas de la esquina superior izquierda de la ventana esclava superior debe ser (ventana.izquierdaradio.izquierdo, ventana.superior-radio.superior), es decir, las coordenadas de pantalla de la ventana esclava superior son (ventana.izquierda- radio.izquierdo, ventana.superior-radio.superior) y las coordenadas de pantalla de otra ventana esclava se calculan de manera similar.
Finalmente, en el paso S300, se calcula la transparencia del punto de píxel de la ventana esclava, y la ventana esclava se visualiza de acuerdo con el resultado calculado. Después de ajustar el tamaño y las coordenadas de pantalla de la ventana esclava en el paso S200, es necesario calcular la transparencia de los puntos de píxel incluidos en la ventana esclava, es decir, realizar el cálculo de la transparencia de puntos de píxel para la ventana esclava, calculando así y configurando las transparencias de los puntos de píxel de la ventana esclava para realizar el efecto de la visualización de sombra de borde de ventana principal. En el proceso de realizar el cálculo de transparencia de puntos de píxel en cada ventana esclava, como un algoritmo específico, cada borde de la ventana principal se une a una ventana esclava, y cada ventana esclava se etiqueta como una primera ventana esclava, una segunda ventana esclava, una tercera ventana esclava y una cuarta ventana esclava, respectivamente. Con respecto a la primera ventana esclava y la tercera ventana esclava, las transparencias de una primera fila de puntos de píxel de la primera ventana esclava y la tercera ventana esclava se establecen en 1, respectivamente, y otras filas de puntos de píxel se establecen sucesivamente decrecientes desde 1, hasta 0 transparencias para la última fila de puntos de píxel. Con respecto a la segunda ventana esclava y la cuarta ventana esclava, las transparencias de una primera columna de puntos de píxel de la segunda ventana esclava y la cuarta ventana esclava se establecen en 1, respectivamente, y otras columnas de puntos de píxel se establecen sucesivamente decrecientes desde 1, hasta 0 transparencias para la última fila de puntos de píxel.
Existen varios métodos para calcular la transparencia de los puntos de píxel de una ventana esclava. En uno de los métodos posibles, las transparencias de los puntos de píxel de un lado de cada ventana esclava unidas al borde de la ventana principal (es decir, la primera fila de puntos de píxel o la primera columna de puntos de píxel) se establecen en 1, las transparencias de los puntos de píxel de un lado opuesto de cada ventana esclava unidas al borde de la ventana principal (es decir, la última fila de puntos de píxel o la última columna de puntos de píxel) se establecen en 0, y las transparencias de otras filas u otras columnas de puntos de píxel se obtienen decrecientes sucesivamente desde 1 hasta 0. Por ejemplo, tomando una ventana esclava unida al lado izquierdo de la ventana principal (ventana esclava izquierda) como ejemplo, el ancho de la ventana esclava es radio.izquierdo, es decir, hay columnas radio.izquierdo de puntos de píxel. Las transparencias de la primera columna de puntos de píxel del lado de la ventana esclava unida a la ventana principal se establecen en 1 (es decir, completamente opacas), y las transparencias de cada columna de puntos de píxel después de la primera columna de puntos de píxel decrecientes sucesivamente, hasta que las transparencias para la enésima columna (radio.izquierdo) de puntos de píxel sean 0 (es decir, completamente transparentes). Aparte de la primera columna de puntos de píxel y la enésima columna (radio.izquierdo) de puntos de píxel, las transparencias de las otras columnas son semitransparentes. De manera similar, el cálculo de la transparencia del punto de píxel se realiza respectivamente para otras ventanas esclavas.
Después de obtener la transparencia de cada punto de píxel en cada ventana esclava, cada ventana esclava se muestra de acuerdo con las transparencias calculadas. Es decir, los puntos de píxel de cada ventana esclava se renderizan en puntos de píxel que tienen diferentes transparencias, de modo que todas las ventanas esclavas obtenidas después del renderizado se unen a los bordes que rodean la ventana principal, creando finalmente el resultado de la visualización de la sombra del borde alrededor de la ventana principal.
Al calcular las transparencias de puntos de píxel de ventanas esclavas del mismo ancho, de acuerdo con el principio de simetría, se puede reducir parte de la carga de trabajo de cálculo de la transparencia de puntos de píxel de las ventanas esclavas, por lo que se mejora la velocidad de procesamiento de la visualización de sombra de borde de ventana. Además, dado que el efecto de visualización de sombra de borde de ventana puede variar. Por ejemplo, solo se muestra la sombra de un borde de la ventana, o las sombras de los bordes pueden ser de diferentes escalas de grises, y similares, que pueden ser configuradas por el usuario de acuerdo con necesidades o preferencias específicas. Por lo tanto, para los expertos en la técnica, el método de cálculo específico adoptado para calcular las transparencias de puntos de píxel de cada ventana esclava puede modificarse de acuerdo con el efecto de visualización de sombra esperado del borde de la ventana.
El método de visualización de la sombra de borde de ventana proporcionado en la presente realización presenta una interfaz de software en la ventana principal y realiza la visualización de la sombra del borde para la ventana principal usando las ventanas esclavas unidas y alineadas con los bordes de la ventana principal, y configura la ventana principal en la ventana sin estratificar mientras que las ventanas esclavas en la ventana estratificada. Dado que la ventana principal es la ventana sin estratificar, su huella de memoria no aumentará proporcionalmente con el área de la ventana, por lo que la huella de memoria del sistema se conserva drásticamente. Dado que al realizar la visualización de la sombra de borde de ventana principal, el área cubierta por las ventanas esclavas es típicamente más pequeña que la de la ventana principal, las huellas de memoria de las ventanas esclavas son limitadas. En comparación con el método de configuración de la ventana principal en la ventana estratificada para realizar la visualización de la sombra de borde de ventana, la huella de memoria general de todo el sistema aún se reduce. Además, dado que la ventana principal es la ventana sin estratificar, no sufre las implicaciones de rendimiento como la ventana estratificada, por lo que el método y el aparato de visualización de la sombra de borde de ventana proporcionados por la presente divulgación tienen un mejor rendimiento de renderizado de la ventana.
Como una realización específica, el método de visualización de la sombra de borde de ventana incluye además los siguientes pasos: se monitorea un cambio de tamaño en la ventana principal, y se ajusta un tamaño de la ventana esclava de acuerdo con la cantidad de cambio de tamaño detectado. En la presente realización, la API de ventana puede usarse para monitorear el cambio en el tamaño (incluyendo la longitud y el ancho) de la ventana principal. Cuando la API de ventana detecta un cambio en el largo o ancho de la ventana principal, el tamaño de la ventana (incluyendo el largo y ancho) de la ventana esclava se reajusta de acuerdo con el cambio de tamaño detectado, de modo que la ventana esclava puede permanecer unida a la ventana principal y, por lo tanto, coincide con la ventana principal. Por ejemplo, cuando la API de ventana detecta que la longitud de la ventana principal ha aumentado en A, las longitudes de las ventanas esclavas correspondientes también deberán aumentarse en A para asegurar que las ventanas esclavas coincidan con la ventana principal, asegurando así que las ventanas esclavas permanecen unidas al borde de la ventana principal para formar la sombra de borde de la ventana principal. Al implementar la presente realización, cuando se cambia la longitud y/o el ancho de la ventana principal, la longitud y/o el ancho de la ventana esclava cambia en consecuencia, por lo que el efecto de visualización de la sombra de la ventana principal no cambia con la escala de la ventana principal, y se produce un efecto de visualización normal de la sombra de borde de ventana.
Como una realización específica, el método de visualización de la sombra de borde de ventana incluye además los siguientes pasos: monitorear el cambio en las coordenadas de pantalla de la ventana principal y ajustar las coordenadas de pantalla de las ventanas esclavas de acuerdo con la cantidad de cambio de coordenadas detectado. Cuando el usuario cambia la posición de la ventana principal en la pantalla de visualización, es decir, cambia las coordenadas de pantalla de la ventana principal, la presente realización opera mediante el evento de monitorear el cambio en las coordenadas de pantalla de la ventana principal para ajustar las coordenadas de pantalla de las ventanas esclavas de acuerdo con la cantidad de cambio de coordenadas en la ventana principal monitoreada. Por ejemplo, un sistema de coordenadas se establece cuando una esquina superior izquierda de la pantalla de visualización es el origen de las coordenadas, una dirección horizontal derecha es una dirección positiva del eje x y una dirección vertical descendente relativa al eje x es una dirección positiva del eje y. La API de ventana detecta que las coordenadas de pantalla de la ventana principal han cambiado a (ventana.izquierda ventana.x, ventana.superior ventana.y) desde el original (ventana.izquierda, ventana.superior). Para asegurar que la ventana esclava pueda coincidir con la ventana principal en tiempo real, también es necesario ajustar las coordenadas de pantalla de la ventana esclava. La coordenada horizontal de las coordenadas de pantalla de la ventana esclava debe aumentarse mediante ventana.x, y la coordenada vertical debe aumentarse mediante ventana.y, para asegurar que la ventana esclava pueda coincidir con la ventana principal. Por lo tanto, se asegura que la ventana esclava se una al borde de la ventana principal para formar la sombra de borde de la ventana principal. Al implementar la presente realización, cuando se cambian las coordenadas de pantalla de la ventana principal, las coordenadas de pantalla de la ventana esclava cambian en consecuencia, de modo que el efecto de visualización de la sombra de la ventana principal no cambia cuando la ventana principal cambia su posición en la pantalla, por lo tanto, se produce un efecto de visualización esperado de la sombra de borde de ventana.
Como una realización específica, el método de visualización de la sombra de borde de ventana incluye además los siguientes pasos: una ventana esclava visualizada se oculta cuando se detecta una instrucción de maximización de ventana o una instrucción de minimización de ventana de la ventana principal. En la presente realización, se monitorea el evento de si se recibe la instrucción de maximización de ventana o la instrucción de minimización de ventana de la ventana principal. Cuando se detecta la instrucción de maximización de ventana de la ventana principal, dado que la ventana principal se visualizará a pantalla completa en la pantalla de visualización en este caso, y el borde de la ventana principal coincidirá con el límite de la pantalla de visualización, no es necesario visualizar la sombra de borde de la ventana principal. Por lo tanto, cuando se detecta la instrucción de maximización de ventana de la ventana principal, se oculta la ventana esclava y se detiene el renderizado de la ventana esclava, de ese modo se libera el recurso de memoria del sistema. Cuando se detecta la instrucción de minimización de ventana de la ventana principal, dado que la ventana principal ya no se visualizará en la pantalla en este momento, no es necesario visualizar la sombra de borde de la ventana principal. Cuando se detecta la instrucción de minimización de ventana de la ventana principal, la ventana esclava mostrada se oculta y el renderizado de la ventana esclava se detiene, de ese modo se libera el recurso de memoria del sistema. La presente realización dirige a estados de visualización alternativos de la ventana principal en los que la ventana principal se maximiza o minimiza ocultando las ventanas esclavas visualizadas, es decir, cancelando la sombra de borde de la ventana principal, de modo que se conserve el recurso de memoria del sistema.
En consecuencia, la presente divulgación también proporciona un aparato de visualización de la sombra de borde de ventana, que incluye una unidad 100 de creación de ventana, una unidad 200 de ajuste y una unidad 300 de cálculo y visualización. Las unidades anteriores y sus funciones se describen individualmente a continuación:
La unidad 100 de creación de ventana está configurada para crear una ventana esclava unida en un borde de una ventana principal, donde la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada. La ventana principal es una ventana de una interfaz de pantalla para presentar normalmente software en un sistema operativo. Basándose en una ventana principal ya creada, la unidad 100 de creación de ventana opera a través de la API de ventana para crear una ventana esclava que se une a un borde de la ventana principal para construir un efecto de sombra de borde para la ventana principal, donde se puede determinar qué borde de la ventana principal se debe unir a la ventana esclava y un número de las ventanas esclavas que se unirán a la ventana principal de acuerdo con un efecto de visualización específico deseado de la sombra de borde de ventana principal. La unidad 100 de creación configura la ventana principal como una ventana sin estratificar, y configura la ventana esclava para que sea una ventana estratificada, donde la ventana estratificada es una forma de implementación de la ventana definida en el sistema de Windows. En comparación con la ventana sin estratificar, la ventana estratificada puede presentar un efecto semitranslúcido, pero consume más memoria y tiene un rendimiento de renderizado menor del deseable. Como una realización específica, durante la creación de la ventana esclava unida al borde de la ventana principal por la unidad 100 de creación, la unidad 100 de creación hace que cada borde de la ventana principal sea unido a una ventana esclava. Al adoptar el método de creación de las ventanas esclavas proporcionado por la presente realización mediante la ventana 100 de creación, se minimiza el número total de la ventana esclava que se necesita crear, por lo que se simplifica el proceso de visualización de la sombra de borde de ventana principal, la eficiencia de visualización de la sombra del borde se mejora. Además, dado que cada borde de la ventana principal está unido a una ventana esclava, el efecto de visualización de sombra se puede crear para todos los bordes de la ventana principal, lo que se adapta mejor al hábito visual de las personas.
La unidad 200 de ajuste está configurada para ajustar un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal. A continuación se toma como ejemplo una ventana principal típica con cuatro bordes, suponiendo que la unidad 100 de creación crea cuatro ventanas esclavas unidas a diferentes bordes de la ventana principal, y la unidad 200 de ajuste se describe de la siguiente manera:
En un aspecto, el tamaño (incluida la longitud y/o el ancho) de cada ventana esclava se ajusta respectivamente de acuerdo con el tamaño (incluida la longitud y/o el ancho) de la ventana principal mediante la unidad 200 de ajuste. Específicamente, cada ventana esclava está etiquetada como una ventana esclava superior, una ventana esclava inferior, una ventana esclava izquierda y una ventana esclava derecha, respectivamente. Como se muestra en la figura 2, la longitud y el ancho de la ventana principal están etiquetados como ventana.longitud y ventana.ancho respectivamente, el ancho de la ventana esclava superior está etiquetado como radio.superior, el ancho de la ventana esclava inferior está etiquetado como radio.inferior, el ancho de la ventana esclava izquierda está etiquetado como radio.izquierdo, y el ancho de la ventana esclava derecha está etiquetado como radio.derecho. De acuerdo con la figura 2, la longitud de la ventana esclava superior unida a un borde superior de la ventana principal y la longitud de la ventana esclava inferior unida a un borde inferior de la ventana principal son iguales, que son radio.izquierdo ventana.longitud radio.derecho, y la longitud de la ventana esclava izquierda unida a un borde izquierdo de la ventana principal y la longitud de la ventana esclava derecha unida a un borde derecho de la ventana principal son las mismas que son radio.superior ventana.ancho radio.inferior, donde el ancho de cada ventana esclava radio.superior, radio.inferior, radio.izquierdo y radio.derecho se puede configurar de manera flexible de acuerdo con el tamaño de la ventana principal y el efecto de visualización de la sombra del borde. Como una realización específica, cuando el número de la ventana esclava es mayor que uno, la unidad 200 de ajuste configura los anchos de cada ventana esclava para que sean iguales. Tomando las cuatro ventanas esclavas anteriores como ejemplo, los anchos de cada ventana esclava son los mismos, es decir, radio.superior = radio.inferior = radio.izquierdo = radio.derecho. Unificando el ancho de cada ventana esclava, el cálculo de la transparencia del punto de píxel de la ventana esclava se puede simplificar de acuerdo con la simetría de la ventana mediante la unidad 300 de cálculo y visualización, por lo que se mejora la eficiencia de la visualización de sombra del borde de ventana principal.
En otro aspecto, la unidad 200 de ajuste ajusta las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal. Específicamente, el método de ajuste de la unidad 200 de ajuste para las coordenadas de pantalla de la ventana esclava es el siguiente: en el campo de la tecnología de visualización, un sistema de coordenadas se establece por una esquina superior izquierda de la pantalla de visualización que es el origen de las coordenadas, una dirección horizontal derecha es una dirección positiva del eje x, y una dirección vertical descendente con respecto al eje x es una dirección positiva del eje y. Las coordenadas de pantalla de la ventana principal se refieren a la posición de las coordenadas de la esquina superior izquierda de la ventana principal en el sistema de coordenadas establecido. Por ejemplo, las coordenadas de pantalla de la ventana principal se etiquetan como (ventana.izquierda, ventana.superior), y las coordenadas de pantalla de la ventana esclava se pueden calcular de acuerdo con las coordenadas de pantalla de la ventana principal. Por ejemplo, tomando la ventana esclava superior mostrada en la figura 2 como ejemplo, la posición de las coordenadas de la esquina superior izquierda de la ventana esclava superior en el sistema de coordenadas establecido puede calcularse de acuerdo con las coordenadas de pantalla de la ventana principal y el tamaño de la ventana esclava. La posición de las coordenadas de la esquina superior izquierda de la ventana esclava superior debe ser (ventana.izquierda-radio.izquierdo, ventana.superior-radio.superior), es decir, las coordenadas de pantalla de la ventana esclava superior son (ventana.izquierda-radio.izquierdo, ventana.superior-radio.superior) y las coordenadas de pantalla de otras ventanas esclavas se calculan de manera similar.
La unidad 300 de cálculo y visualización está configurada para calcular una transparencia de puntos de píxel de la ventana esclava y visualizar la ventana esclava de acuerdo con un resultado calculado. Después de ajustar el tamaño y las coordenadas de pantalla de la ventana esclava, la unidad 300 de cálculo y visualización necesita calcular la transparencia de los puntos de píxel incluidos en la ventana esclava, es decir, realizar el cálculo de transparencia de puntos de píxel para la ventana esclava, calculando así y configurando las transparencias de los puntos de píxel de la ventana esclava para realizar el efecto de la visualización de sombra de borde de ventana principal. Como en una realización específica, la unidad 300 de cálculo y visualización incluye una unidad de cálculo de transparencia. En particular, cada borde de la ventana principal está unido a una ventana esclava, y cada ventana esclava está etiquetada como una primera ventana esclava, una segunda ventana esclava, una tercera ventana esclava y una cuarta ventana esclava, respectivamente. Con respecto a la primera ventana esclava y la tercera ventana esclava, las transparencias de una primera fila de puntos de píxel de la primera ventana esclava y la tercera ventana esclava se establecen en 1, respectivamente, y los puntos de píxel de las otras filas se establecen sucesivamente decrecientes desde 1, hasta 0 transparencias para la última fila de puntos de píxel. Con respecto a la segunda ventana esclava y la cuarta ventana esclava, las transparencias de una primera columna de puntos de píxel de la segunda ventana esclava y la cuarta ventana esclava se establecen en 1 individualmente, y otras columnas de puntos de píxel se establecen sucesivamente decrecientes desde 1, hasta 0 transparencias para la última fila de puntos de píxel.
Existen varios métodos para calcular la transparencia de los puntos de píxel de una ventana esclava. En uno de los métodos posibles, las transparencias de los puntos de píxel de un lado de cada ventana esclava unidas al borde de la ventana principal (es decir, la primera fila de puntos de píxel o la primera columna de puntos de píxel) se establecen en 1, las transparencias de los puntos de píxel de un lado opuesto de cada ventana esclava unidas al borde de la ventana principal (es decir, la última fila de puntos de píxel o la última columna de puntos de píxel) se establecen en 0, y las transparencias de otras filas u otras columnas de puntos de píxel se obtienen sucesivamente decrecientes desde 1 hasta 0. Por ejemplo, tomando una ventana esclava unida al lado izquierdo de la ventana principal (ventana esclava izquierda) como ejemplo, el ancho de la ventana esclava es radio.izquierdo, es decir, hay columnas radio.izquierdo de puntos de píxel. Las transparencias de la primera columna de puntos de píxel en el lado de la ventana esclava unida a la ventana principal se establecen en 1 (es decir, completamente opacas), y las transparencias de cada columna de puntos de píxel después de la primera columna de puntos de píxel son sucesivamente decrecientes hasta que las transparencias de la enésima columna (radio.izquierdo) de puntos de píxel sean 0 (es decir, completamente transparentes). Aparte de la primera columna de puntos de píxel y la enésima columna (radio.izquierdo) de puntos de píxel, las transparencias de las otras columnas son semitransparentes. De manera similar, el cálculo de la transparencia del punto de píxel se realiza respectivamente para otras ventanas esclavas. Después de obtener la transparencia de cada punto de píxel en cada ventana esclava, la unidad 300 de cálculo y visualización muestra cada ventana esclava de acuerdo con las transparencias calculadas. Es decir, los puntos de píxel en cada ventana esclava se renderizan en puntos de píxel que tienen diferentes transparencias, de modo que todas las ventanas esclavas obtenidas después del renderizado se unen a los bordes que rodean la ventana principal, creando finalmente el resultado de visualización de la sombra del borde alrededor de la ventana principal.
En el aparato de visualización de la sombra de borde de ventana, cuando los anchos de cada una de las ventanas esclavas son iguales, parte del cálculo de la transparencia del punto de píxel de las ventanas esclavas se puede reducir para la unidad de cálculo de transparencia de acuerdo con el principio de simetría, por tanto, se mejora la velocidad de procesamiento de la visualización de sombra de borde de ventana. Además, dado que el efecto de visualización de sombra de borde de ventana puede variar, por ejemplo, solo se muestra la sombra de un borde de la ventana, o las sombras de los bordes pueden ser de diferentes escalas de grises, y similares, que puede configurar el usuario de acuerdo con necesidades o preferencias específicas. Por lo tanto, para los expertos en la técnica, el método de cálculo específico adoptado para calcular las transparencias de puntos de píxel de cada ventana esclava puede modificarse de acuerdo con el efecto de visualización de sombra esperado del borde de la ventana.
El aparato de visualización de la sombra de borde de ventana proporcionado en la presente realización presenta una interfaz de software en la ventana principal, y realiza la visualización de sombra de borde de ventana principal usando las ventanas esclavas unidas y emparejadas con los bordes de la ventana principal, y configura la ventana principal en la ventana sin estratificar mientras que la ventana esclava en la ventana estratificada. Dado que la ventana principal es la ventana sin estratificar, su huella de memoria no aumentará proporcionalmente con el área de la ventana, por lo que la huella de memoria del sistema se conserva drásticamente. Dado que al realizar la visualización de la sombra de borde de ventana principal, el área cubierta por las ventanas esclavas es típicamente más pequeña que la de la ventana principal, las huellas de memoria de las ventanas esclavas son limitadas. En comparación con el método de configuración de la ventana principal en la ventana estratificada para realizar la visualización de la sombra de borde de ventana, la huella de memoria general de todo el sistema aún se reduce. Además, dado que la ventana principal es la ventana sin estratificar, no sufre las implicaciones de rendimiento como la ventana estratificada, por lo que el método y el aparato de visualización de la sombra de borde de ventana proporcionado por la presente divulgación tienen un mejor rendimiento de renderizado de la ventana.
Como una realización específica, el aparato de visualización de la sombra de borde de ventana incluye además una unidad de monitoreo, y la unidad de monitoreo y su función se describirán en detalle como sigue:
La unidad de monitoreo monitorea un cambio de tamaño en la ventana principal y ajusta un tamaño de la ventana esclava de acuerdo con la cantidad de cambio de tamaño detectado. En la presente realización, la unidad de monitoreo puede usar la API de ventana para monitorear el cambio en el tamaño (incluyendo la longitud y el ancho) de la ventana principal. Cuando la API de ventana detecta un cambio en el largo o ancho de la ventana principal, el tamaño de la ventana (incluyendo el largo y ancho) de la ventana esclava se reajusta de acuerdo con el cambio de tamaño detectado por la unidad de monitoreo, de modo que la ventana esclava puede permanecer unida a la ventana principal y, por lo tanto, coincide con la ventana principal. Por ejemplo, cuando la unidad de monitoreo detecta que la longitud de la ventana principal ha aumentado en A, las longitudes de las ventanas esclavas correspondientes también deberán aumentarse en A para asegurar que las ventanas esclavas coincidan con la ventana principal, asegurando así la ventana esclava permanezca unida al borde de la ventana principal para formar la sombra de borde de la ventana principal. Al implementar la presente realización, cuando se cambia la longitud y/o el ancho de la ventana principal, la longitud y/o el ancho de la ventana esclava cambia en consecuencia, por lo que el efecto de visualización de la sombra de la ventana principal no cambia con la escala de la ventana principal, y se produce un efecto de visualización normal de la sombra de borde de ventana.
Además, la unidad de monitoreo monitorea además el cambio de coordenadas de pantalla en la ventana principal y ajusta las coordenadas de pantalla de la ventana esclava de acuerdo con la cantidad de cambio de coordenadas detectado. Cuando el usuario cambia la posición de la ventana principal en la pantalla de visualización, es decir, cambia las coordenadas de pantalla de la ventana principal, la unidad de monitoreo de la presente realización opera a través del evento de monitorear el cambio en las coordenadas de pantalla de la ventana principal, y la unidad de ajuste ajusta las coordenadas de pantalla de las ventanas esclavas de acuerdo con la cantidad de cambio de coordenadas en la ventana principal monitoreada. Por ejemplo, un sistema de coordenadas se establece cuando una esquina superior izquierda de la pantalla de visualización es el origen de las coordenadas, una dirección horizontal derecha es una dirección positiva del eje x y una dirección vertical descendente relativa al eje x es una dirección positiva del eje y. La API de ventana detecta que las coordenadas de pantalla de la ventana principal han cambiado a (ventana.izquierda ventana.x, ventana.superior ventana.y) desde el original (ventana.izquierda, ventana.superior). Para asegurar que la ventana esclava pueda coincidir con la ventana principal en tiempo real, también es necesario ajustar las coordenadas de pantalla de la ventana esclava. La unidad de ajuste aumenta la coordenada horizontal de las coordenadas de pantalla de la ventana esclava por ventana.x, y aumenta la coordenada vertical por ventana.y, para asegurar que la ventana esclava pueda coincidir con la ventana principal. Por lo tanto, se asegura que la ventana esclava se una al borde de la ventana principal para formar la sombra de borde de la ventana principal. Al implementar la presente realización, cuando se cambian las coordenadas de pantalla de la ventana principal, las coordenadas de pantalla de la ventana esclava cambian en consecuencia, de modo que el efecto de visualización de la sombra de la ventana principal no cambia cuando la ventana principal cambia su posición en la pantalla, por lo tanto, se produce un efecto de visualización esperado de la sombra de borde de ventana.
La unidad de cálculo y visualización oculta una ventana esclava visualizada cuando la unidad de monitoreo detecta una instrucción de maximización de ventana o una instrucción de minimización de ventana de la ventana principal. En la presente realización, el evento de si se recibe la instrucción de maximización de ventana o la instrucción de minimización de ventana de la ventana principal es monitoreado por la unidad de monitoreo. Cuando la unidad de cálculo y visualización detecta la instrucción de maximización de ventana de la ventana principal, dado que la ventana principal se visualizará a pantalla completa en la pantalla de visualización en este momento, y el borde de la ventana principal coincidirá con el límite de la pantalla de visualización, la unidad de cálculo y visualización no necesita visualizar la sombra de borde de la ventana principal. Por lo tanto, cuando la unidad de monitoreo detecta la instrucción de maximización de ventana de la ventana principal, la unidad de cálculo y visualización oculta la ventana esclava y, por lo tanto, se detiene el renderizado de la ventana esclava y se libera el recurso de memoria del sistema. Cuando la unidad de monitoreo detecta la instrucción de minimización de ventana de la ventana principal, dado que la ventana principal ya no se visualizará en la pantalla en este momento, no es necesario visualizar la sombra de borde de la ventana principal mediante la unidad de cálculo y visualización. Cuando se detecta la instrucción de minimización de ventana de la ventana principal, la unidad de cálculo y visualización oculta la ventana esclava mostrada, y el renderizado de la ventana esclava se detiene, por lo que se libera el recurso de memoria del sistema. La presente realización dirige a estados de visualización alternativos de la ventana principal en los que la ventana principal se maximiza o minimiza ocultando las ventanas esclavas visualizadas, es decir, cancelando la sombra de borde de la ventana principal, de modo que se conserve el recurso de memoria del sistema.
Para la implementación de las funciones específicas de cada unidad en el aparato de visualización de la sombra de borde de ventana de la presente divulgación, se puede hacer referencia al método de implementación descrito en las realizaciones del método de visualización de la sombra de borde de ventana, que no será repetido en el presente documento.
Las características técnicas respectivas anteriores involucradas en las realizaciones respectivas se pueden combinar arbitrariamente, por brevedad, no se describen todas las combinaciones posibles de las características técnicas respectivas en las realizaciones anteriores, sin embargo, en la medida en que no tengan colisión entre sí, la combinación de las respectivas características técnicas se considerará incluida en el alcance de la descripción.
Las implementaciones anteriores son simplemente realizaciones específicas de la presente divulgación y no pretenden limitar el alcance de protección de la presente divulgación. Debería observarse que cualquier variación o reemplazo fácilmente descubierto por los expertos en la técnica dentro del alcance técnico divulgado en la presente divulgación caerá dentro del alcance de protección de la presente divulgación. Por lo tanto, el alcance de protección de la presente divulgación será objeto del alcance de protección de las reivindicaciones.

Claims (10)

REIVINDICACIONES
1. - Un método de visualización de una sombra de borde de ventana, que comprende los siguientes pasos: crear una ventana esclava unida a un borde de una ventana principal, en la que la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada (S100);
ajustar un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal (S200); y
calcular la transparencia de un punto de píxel para la ventana esclava y visualizar la ventana esclava de acuerdo con el resultado del cálculo (S300).
2. - El método de visualización de una sombra de borde de ventana de acuerdo con la reivindicación 1, que comprende además los siguientes pasos:
monitorear un cambio de tamaño en la ventana principal y ajustar el tamaño de la ventana esclava de acuerdo con la cantidad de cambio de tamaño detectado.
3. - El método de visualización de una sombra de borde de ventana de acuerdo con la reivindicación 1, que comprende los siguientes pasos:
monitorear un cambio en las coordenadas de pantalla de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con una cantidad del cambio de coordenadas detectado.
4. - El método de visualización de una sombra de borde de ventana de acuerdo con la reivindicación 1, que comprende además los siguientes pasos:
ocultar una ventana esclava mostrada cuando se detecta una instrucción de maximización de ventana o una instrucción de minimización de ventana de la ventana principal.
5. - El método de visualización de una sombra de borde de ventana de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que cada borde de la ventana principal está unido a una de las ventanas esclavas.
6. - El método de visualización de una sombra de borde de ventana de acuerdo con la reivindicación 5, en el que un proceso de cálculo de transparencias de puntos de píxel para la ventana esclava comprende:
etiquetar cada una de las ventanas esclavas como una primera ventana esclava, una segunda ventana esclava, una tercera ventana esclava y una cuarta ventana esclava;
con respecto a la primera ventana esclava y la tercera ventana esclava, configurar transparencias de una primera fila de puntos de píxel de la primera ventana esclava y la tercera ventana esclava en 1, respectivamente, y configurar otras filas de puntos de píxel decrecientes sucesivamente desde 1 hasta 0 transparencias para la última fila de puntos de píxel; y
con respecto a la segunda ventana esclava y la cuarta ventana esclava, configurar transparencias de una primera columna de puntos de píxel de la segunda ventana esclava y la cuarta ventana esclava en 1, respectivamente, y configurar otras columnas de puntos de píxel decrecientes sucesivamente desde 1, hasta 0 transparencias para la última fila de puntos de píxel.
7. - El método de visualización de una sombra de borde de ventana de acuerdo con cualquiera de las reivindicaciones 1 a 4, en el que cuando un número de ventanas esclavas es más de una, los anchos de cada una de las ventanas esclavas son los mismos.
8. - Un aparato de visualización de la sombra del borde de una ventana, que comprende:
una unidad de creación de ventana configurada para crear una ventana esclava unida a un borde de una ventana principal, en la que la ventana principal es una ventana sin estratificar y la ventana esclava es una ventana estratificada;
una unidad de ajuste configurada para ajustar un tamaño de la ventana esclava de acuerdo con un tamaño de la ventana principal, y ajustar las coordenadas de pantalla de la ventana esclava de acuerdo con las coordenadas de pantalla de la ventana principal; y
una unidad de cálculo y visualización configurada para calcular la transparencia de un punto de píxel para la ventana esclava y visualizar la ventana esclava de acuerdo con el resultado del cálculo.
9. - El aparato de visualización de una sombra de borde de ventana de acuerdo con la reivindicación 8, que comprende además una unidad de monitoreo, en la que:
la unidad de monitoreo monitorea un cambio de tamaño en la ventana principal y ajusta el tamaño de la ventana esclava de acuerdo con la cantidad del cambio de tamaño detectado; o
la unidad de monitoreo monitorea un cambio en las coordenadas de pantalla de la ventana principal y ajusta las coordenadas de pantalla de la ventana esclava de acuerdo con una cantidad del cambio de coordenadas detectado; o
la unidad de cálculo y visualización oculta una ventana esclava visualizada cuando la unidad de monitoreo detecta una instrucción de maximización de ventana o una instrucción de minimización de ventana de la ventana principal.
10. - El aparato de visualización de una sombra de borde de ventana de acuerdo con la reivindicación 8, en el que la unidad de cálculo y visualización comprende una unidad de cálculo de transparencia, en la que:
cada borde de la ventana principal está unido a una de las ventanas esclavas, cada una de las ventanas esclavas está etiquetada como una primera ventana esclava, una segunda ventana esclava, una tercera ventana esclava y una cuarta ventana esclava, respectivamente;
con respecto a la primera ventana esclava y la tercera ventana esclava, las transparencias de una primera fila de puntos de píxel de la primera ventana esclava y la tercera ventana esclava se establecen en 1, respectivamente, y otras filas de puntos de píxel se establecen sucesivamente decrecientes desde 1, hasta 0 transparencias para la última fila de puntos de píxel; y
con respecto a la segunda ventana esclava y la cuarta ventana esclava, las transparencias de una primera columna de puntos de píxel de la segunda ventana esclava y la cuarta ventana esclava se establecen en 1, respectivamente, y otras columnas de puntos de píxel se establecen sucesivamente decrecientes desde 1, hasta 0 transparencias para la última fila de puntos de píxel.
ES16905354T 2016-06-12 2016-12-29 Método y dispositivo de visualización de sombra de borde de ventana Active ES2890828T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610417380.8A CN105930037B (zh) 2016-06-12 2016-06-12 窗口边框阴影显示方法及装置
PCT/CN2016/113224 WO2017215247A1 (zh) 2016-06-12 2016-12-29 窗口边框阴影显示方法及装置

Publications (1)

Publication Number Publication Date
ES2890828T3 true ES2890828T3 (es) 2022-01-24

Family

ID=56834039

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16905354T Active ES2890828T3 (es) 2016-06-12 2016-12-29 Método y dispositivo de visualización de sombra de borde de ventana

Country Status (5)

Country Link
US (1) US10636191B2 (es)
EP (1) EP3470967B1 (es)
CN (1) CN105930037B (es)
ES (1) ES2890828T3 (es)
WO (1) WO2017215247A1 (es)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105930037B (zh) 2016-06-12 2018-12-28 广州视睿电子科技有限公司 窗口边框阴影显示方法及装置
CN106814933B (zh) * 2016-12-15 2019-08-13 广州视源电子科技股份有限公司 窗口阴影显示方法及装置
CN110032372A (zh) * 2018-01-11 2019-07-19 武汉斗鱼网络科技有限公司 一种创建窗口边框的方法、装置及计算机设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388202A (en) * 1990-02-02 1995-02-07 Viacom International Inc. Method and apparatus for generating window borders having pictorial frame elements
US7168048B1 (en) * 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
US6549218B1 (en) * 1999-03-31 2003-04-15 Microsoft Corporation Dynamic effects for computer display windows
US7796141B2 (en) * 2003-05-14 2010-09-14 Timothy M. Sheridan Persistent portal
US20060031779A1 (en) * 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US20060059432A1 (en) * 2004-09-15 2006-03-16 Matthew Bells User interface having viewing area with non-transparent and semi-transparent regions
US7900158B2 (en) 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US20070139430A1 (en) * 2005-12-21 2007-06-21 Microsoft Corporation Rendering "gadgets" with a browser
US20090319933A1 (en) * 2008-06-21 2009-12-24 Microsoft Corporation Transacted double buffering for graphical user interface rendering
US9804727B2 (en) * 2010-03-09 2017-10-31 Freedom Scientific, Inc. Flexible display of visual content on multiple display devices
US20120042275A1 (en) * 2010-08-10 2012-02-16 Microsoft Corporation Cloning specific windows on a wireless display surface
CN102915349A (zh) * 2012-09-27 2013-02-06 北京奇虎科技有限公司 在浏览器中显示网页的方法及在浏览器中显示的网页组件
CN103473077A (zh) * 2013-09-27 2013-12-25 珠海市君天电子科技有限公司 丰富应用程序主窗口显示界面的方法及装置
CN103631893B (zh) * 2013-11-15 2019-06-04 北京奇虎科技有限公司 一种浏览器控制方法和浏览器
CN104572271B (zh) * 2015-02-04 2018-04-13 北京瑞星网安技术股份有限公司 多标签页浏览器防假死的方法和系统
CN105930037B (zh) * 2016-06-12 2018-12-28 广州视睿电子科技有限公司 窗口边框阴影显示方法及装置

Also Published As

Publication number Publication date
CN105930037A (zh) 2016-09-07
US20190147634A1 (en) 2019-05-16
EP3470967A1 (en) 2019-04-17
US10636191B2 (en) 2020-04-28
CN105930037B (zh) 2018-12-28
EP3470967B1 (en) 2021-08-25
EP3470967A4 (en) 2019-10-02
WO2017215247A1 (zh) 2017-12-21

Similar Documents

Publication Publication Date Title
ES2890828T3 (es) Método y dispositivo de visualización de sombra de borde de ventana
ES2855123T3 (es) Visualización de deformación de imágenes sincronizada
JP5869177B1 (ja) 仮想現実空間映像表示方法、及び、プログラム
EP2893529B1 (en) Method and device for selective display refresh
US9891595B2 (en) Systems and methods for operating an energy-efficient display
CN106527722B (zh) 虚拟现实中的交互方法、系统及终端设备
ES2698264T3 (es) Estilización y sustitución de texto sensible al contenido aplicable a todo el sistema
US20160163063A1 (en) Mixed-reality visualization and method
US20180275748A1 (en) Selectively applying reprojection processing to multi-layer scenes for optimizing late stage reprojection power
IL268797A (en) Selective application for machining recalibration on sub-areas of a layer for optimizing late recalibration force
US10936013B2 (en) Electronic device with transparent display
US20190073984A1 (en) User Interface Display Composition with Device Sensor/State Based Graphical Effects
TWI608445B (zh) 頭戴式顯示器更新緩衝器
US20170358280A1 (en) Method of controlling head-mounted display system
JP2011510398A5 (es)
US20210097945A1 (en) Display device and driving method therefor
US10198860B1 (en) Automated three dimensional (3D) mesh UV coordinate transfer process
ES2816449T3 (es) Interfaz de usuario para entrada a través de dos pantallas táctiles discontinuas
TW201626162A (zh) 依據顯示位置決定資料傳輸順序的系統單晶片以及包括該系統單晶片的電子系統
JP2024502810A (ja) 仮想現実において空間認識を提供するためのシステムおよび方法
JP2015176583A (ja) 画像処理装置、画像処理方法及びプログラム
ES2211654T3 (es) Tipos de presentaciones graficas multiples e hibridas.
JP2007328693A (ja) 画像回転装置
ES2758716T3 (es) Dispositivo de procesamiento de imágenes, procedimiento de control del dispositivo de procesamiento de imágenes, programa y medio de almacenamiento de información
JP2017059196A (ja) 仮想現実空間映像表示方法、及び、プログラム