Tu estás aquí: ¡Bienvenido! » Traducciones » pygame » scrap
Usuario
Buscar páginas
Esta Pagina
General

scrap

Módulo de pygame que ofrece soporte para el portapapeles (clipboard).

El módulo scrap se utiliza para obtener o colocar cosas en el portapapeles. De forma que pueda copiar y pegar datos entre pygame y otro tipo de aplicaciones. Este módulo define algunos tipos de datos básicos:

  • SCRAP_PPM
  • SCRAP_PBM
  • SCRAP_BMP
  • SCRAP_TEXT

Estos tipos de datos básicos se pueden colorar en el portapapeles y permiten usar tipos de datos propios. SCRAP_PPM, SCRAP_PBM y SCRAP_BMP son adecuados para compartir datos de superficies gráficas con otras aplicaciones, mientra que SCRAP_TEXT es indicado para intercambiar texto plano.

Los tipos de datos SCRAP_* hacen referencia a los siguientes tipos MIME, y pygame los registra correctamente como los tipos de datos por defecto del sistema operativo:

Tipo pygame Tipo MIME Datos
SCRAP_TEXT text/plain para texto plano
SCRAP_PBM image/pbm para datos de imagen PBM
SCRAP_PPM image/ppm para datos de imagen PPM
SCRAP_BMP image/bmp para datos de imagen BMP

Dependiendo de la plataforma, cuando los datos se colocan dentro del portapapeles se registran algunos tipos de datos adicionales de forma automática para garantizar un comportamiento de intercambio consistente con otras aplicaciones. Los siguientes tipos indicados en la lista se puede usar como cadenas para enviarse a las respectivas funciones del módulo pygame.scrap.

En las plataformas Windows se soportan tipos de datos adicionales de forma automática y se resuelven sus definiciones internas:

  • text/plain;charset=utf-8 Para texto en formato UTF-8
  • audio/wav Para audio en formato WAV
  • image/tiff Para imágenes en formato TIFF

En las plataformas X11 se soportan los siguientes tipos de datos adicionales:

  • UTF8_STRING Para texto en formato UTF-8
  • text/plain;charset=utf-8 Para texto en formato UTF-8
  • COMPOUND_TEXT Para texto COMPOUND

Como se ha comentado anteriormente, usted puede definir sus propios tipos de datos para el portapapeles, de todas formas estos podrían ser inutilizables por otras aplicaciones. Así, la información que se envía al portapapeles usando:

pygame.scrap.put ("own_data", data)

sólo podría usarse por aplicaciones que consulten el portapapeles buscando el tipo de datos “own_data”.

Este módulo es experimental:

Es una funcionalidad nueva en pygame 1.8, solo funciona en Window, X11 y Mac OS X. En Mac OS X solo funciona el intercambio de texto, los otros tipos de datos estarán disponibles en la siguiente versión.

init

Inicializa el módulo scrap.

scrap.init () -> None

Intenta inicializar el módulo scrap y lanza un excepción si falla. Tenga en cuenta que este módulo necesita tener una superficie de visualización, por lo tanto debe asegurarse de haber adquirido una anteriormente usando la función pygame.display.set_mode()'.

get

Obtiene los datos para el tipo indicado del portapapeles.

scrap.get (type) -> string

Retorna los datos para el tipo de dato especificado desde el portapapeles. Los datos se retornan como cadenas y podrían necesitar futuros arreglos. Se retornará None si no hay datos del tipo de dato indicado.

text = pygame.scrap.get (SCRAP_TEXT)
 
if text:
    # Hacer cosas con el texto
else:
    print "Parace que no hay texto en el portapapeles."

get_types

Obtiene una lista de los tipos de portapapeles disponibles.

scrap.get_types () -> list

Obtiene una lista de cadenas con los identificadores de los tipos de portapapeles disponibles. Cada identificador se puede usar en el método scrap.get() para obtener el contenido del portapapeles en el tipo específico. Se retornará una lista vacía si no hay datos en el portapapeles.

types = pygame.scrap.get_types ()
for t in types:
    if "text" in t:
        # Hay cierto contenido con la palabra "text", posiblemente
        # sea texto, por lo tanto se impimirá:
        print pygame.scrap.get (t)

put

Coloca datos dentro del portapapeles.

scrap.put(type, data) -> None

Coloca información para un tipo de dato específico en el portapapeles. Los datos deben estar en formato de cadena. El argumento type debe ser una cadena que identifica el tipo de dato que se colocará en el portapapeles. Este argumento puede ser uno de los valores nativos como SCRAP_PBM, SCRAP_PPM, SCRAP_BMP, SCRAP_TEXT o un identificador de cadena de su tipo de dato personalizado.

Este método lanza una excepción si el contenido indicado no se puede colocar en el portapapeles.

Un ejemplo:

fp = open ("example.bmp", "rb")
pygame.scrap.put (SCRAP_BMP, fp.read ())
fp.close ()
# Ahora puede obtener la información desde otras aplicaciones
# usando el portapapeles.
 
pygame.scrap.put (SCRAP_TEXT, "A text to copy")
pygame.scrap.put ("Plain text", "A text to copy")

contains

Consulta si un cierto tipo de dato se encuentra en el portapapeles.

scrap.contains (type) -> bool

Retorna True si el tipo de dato que se ha enviado está disponible en el portapapeles. En otro caso retornará False.

if pygame.scrap.contains (SCRAP_TEXT):
    print "Hay texto en el portapapeles."
if pygame.scrap.contains ("own_data_type"):
    print "Existe información personalizada en el portapapeles."

lost

Consulta si el portapapeles está en dominio de la aplicación.

scrap.lost() -> bool

Retorna True si el portapapeles está siendo utilizado por otra aplicación.

if pygame.scrap.lost ():
   print "No hay contenido para mi, el portapapeles está siendo utilizado por alguien mas..."

set_mode

Define el modo de acceso al portapapeles.

scrap.set_mode(mode) -> None

Define el modo de acceso al portapapeles. Este modo solo es de interés para los entornos X11, donde están disponibles los modos de selección por mouse (SRAP_SELECTION) y el portapapeles (SCRAP_CLIPBOARD). Solicitar el modo SCRAP_SELECTION en otros entornos no causará ninguna diferencia.

Se lanzará un excepción ValueError si se envía un valor diferente a SCRAP_CLIPBOARD o SCRAP_SELECTION.

 
traducciones/pygame/scrap.txt · Última modificación: 29/01/2009 a las 20:47 por hugoruscitti
Este sitio funciona sobre el motor wiki de DokuWiki.
© 2003-2008 Hugo Ruscitti