トップへ戻る | Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform |
pygame.scrap.init - scrapモジュールを初期化します。 |
pygame.scrap.get - クリップボードから指定した形式のデータを取得します。 |
pygame.scrap.get_types - クリップボードに保存されたデータ形式の一覧を取得します。 |
pygame.scrap.put - クリップボードにデータを保存します。 |
pygame.scrap.contains - 指定した形式のデータがクリップボードで使用できるかを調べます。 |
pygame.scrap.lost - このアプリケーションがクリップボード機能を排他制御しているか調べます。 |
pygame.scrap.set_mode - クリップボードのアクセスモードを設定します。 |
この命令は試験的に実装されているものです!:pygameのバージョンが上がると、この命令は仕様が変更されたりなくなったりする可能性があります。この項目にある命令を使用してプログラムを書くと、次期pygameバージョンでは正常に動かなくなることもあります。
このコピー・ペースト命令では、クリップボートにコピーしたりクリップボード内のデータを貼り付けたりすることができます。pygameで作られたアプリケーション同士だけでなく、他のアプリケーションとの間でもコピー・ペーストができます。この命令では下記のようないくつかの既定データ形式が定義されています。
SCRAP_PPM SCRAP_PBM SCRAP_BMP SCRAP_TEXT
これらを設定することで、pygameに既定に定義されているデータ形式をクリップボードで使用できるようになります。SCRAP_PPMやSCRAP_PBMはSCRAP_BMPは他のアプリケーションに画像データをコピーするのに適しており、一方 SCRAP_TEXTは文字のコピーに適しています。
SCRAP_*の各定義を設定すると、下記のMIMEタイプを参照して、指定したデータ形式を処理するための既定オペレーティングシステムの設定も行われます。:
SCRAP_TEXT text/plain # プレーンテキスト SCRAP_PBM image/pbm # PBMでエンコードされた画像ファイル SCRAP_PPM image/ppm # PPMでエンコードされた画像ファイル SCRAP_BMP image/bmp # BMPでエンコードされた画像ファイル
使用環境にもよりますが、クリップボードにコピーしたデータが保存されている場合は、処理するデータ形式が自動的に追加登録されることもあります。これは他のアプリケーションとのコピー・ペースト連携を正常に行うためです。 pygame.scrapモジュールの命令に文字列をコピーすると、後で挙げる文字コードを使用することができます。
Windows環境では、処理するデータ形式が自動的に追加登録されます。各データ形式はpygame内で下記のように定義されています。:
text/plain;charset=utf-8 # UTF-8 でエンコードされた文字 audio/wav # WAVでエンコードされた音声ファイル image/tiff # TIFFでエンコードされた画像ファイル
X11環境では、処理するデータ形式が自動的に追加登録されます。各データ形式はpygame内で下記のように定義されています。:
UTF8_STRING # UTF-8 でエンコードされた文字 text/plain;charset=utf-8 # UTF-8 でエンコードされた文字 COMPOUND_TEXT # コンパウンドテキスト
先ほど述べたようにクリップボードには独自のデータ形式を定義して使用することもできますが、その場合他のアプリケーションとコピー・ペースト連携ができない場合もあります。つまり、下記のような操作でクリップボードにデータをコピーしたとします。
pygame.scrap.put ("own_data", data)
そうすると、このコピーデータは"own_data"というデータ形式定義を持つアプリケーションでしか使用することができません。
この命令はpygameのバージョン1.8か新しく実装されました。今ところWindows環境と X11環境、Mac OS X環境でしか動作しません。Mac OSX環境では、今のところ文字のコピー・ペーストしか実行できません。 - 他のデータに関しては次期バージョンでサポートする予定です。
scrapモジュールを初期化し、初期化に失敗した場合は例外を発生させます。 このモジュールを使用するにはdisplay surfaceの設定が行われている必要があるので、事前に必ずpygame.display.set_mode命令を実行するようにしてください。
クリップボードから、指定した形式のデータを戻り値として返します。データは文字列として取得されるので、別途変換処理が必要な場合もあります。もし指定した形式のデータがない場合は、None値が戻り値として返ります。
text = pygame.scrap.get (SCRAP_TEXT) if text: # 取得したデータを使った処理を記述して行ってください。 else: print "There does not seem to be text in the clipboard."
クリップボードに保存されたデータのデータ形式一覧を、文字列の識別子として取得します。取得された各識別子は、 scrap.get()命令でクリップボードから特定の形式のデータを取り出す時に使用します。クリップボードにデータが保存されてない場合、空のリストが戻り値として返ります。
types = pygame.scrap.get_types () for t in types: if "text" in t: # クリップボードに"テキスト"形式のデータが保存されています。 # テキスト形式なのでprint命令で使用できます。 print pygame.scrap.get (t)
クリップボードに指定した形式のデータを保存します。 The data must be a string buffer. type引数には、クリップボードに保存するデータ形式を文字列型識別子で設定します。文字列型識別子として設定できるのは、既定で定義されているSCRAP_PBMや SCRAP_PPM、SCRAP_BMP、SCRAP_TEXTに加えてあなたが独自に定義した識別子です。
クリップボードのデータが保存できない場合、例外が発生します。
fp = open ("example.bmp", "rb") pygame.scrap.put (SCRAP_BMP, fp.read ()) fp.close () # これで他のアプリケーションでもクリップボードに保存された画像データを使用できます。 pygame.scrap.put (SCRAP_TEXT, "A text to copy") pygame.scrap.put ("Plain text", "A text to copy")
指定した形式のデータがクリップボードで使用できる場合はTrueが戻り値として返り、そうでない場合はFalseが戻り値として返ります。
if pygame.scrap.contains (SCRAP_TEXT): print "テキスト形式のデータはクリップボードで使用できます。" if pygame.scrap.contains ("own_data_type"): print "この形式のデータはクリップボードで使用できます。"
このpygameアプリケーションがクリップボード機能を排他制御している場合はFalseが戻り値として返り、そうでない場合はTrueが戻り値として返ります。
if pygame.scrap.lost (): print "このアプリケーションで保存しているデータはありません。クリップボードは別のアプリケーションが排他制御しています。"
※原文では「排他制御している場合はTrueが戻り値として返り、そうでない場合はFalseが戻り値として返ります。」と記載されていますが、誤りの可能性があるので修正して訳し直しています。
クリップボードのアクセスモードを設定します。これはX11環境のためだけに用意された命令で、mouse selectionsモード (SCRAP_SELECTION) と the clipboard モード(SCRAP_CLIPBOARD) が使用できます。X11以外の環境ではSCRAP_SELECTIONモードを設定しても特に何も起こりません。
SCRAP_CLIPBOARDやSCRAP_SELECTION以外の値を引数に設定すると、ValueErrorの例外が発生します。
トップへ戻る | Cdrom || Color || Cursors || Display || Draw || Event || Examples || Font || Gfxdraw || Image || Joystick || Key || Locals || Mixer || Mouse || Movie || Music || Overlay || Pixelarray || Pygame || Rect || Scrap || Sndarray || Sprite || Surface || Surfarray || Tests || Time || Transform |