スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



Grapicsクラスのクリッピング処理の移植

MIDPのGraphicsクラスにはいくつかのクリッピング処理があります。

Graphics.clipRect()

まずはGraphics.clipRect()を実装する。
androidのCanvasクラスにも同じメソッドが存在する。

http://developer.android.com/intl/ja/reference/android/graphics/Canvas.html#clipRect(int, int, int, int)

MIDPのものと違う点は,引数の値がright, bottomになっていることくらい。
リファレンスに書いてあるとおり,

Intersect the current clip with the specified rectangle, which is expressed in local coordinates.

現在のクリップと交差する場所が有効範囲になります。
MIDPでも同じ使用なので特に問題なく移植できそう。

androidでのクリッピング処理については下記サイトがわかりやすいと思います。

http://ichitcltk.hustle.ne.jp/gudon/modules/pico_rd/index.php?content_id=84

リファレンスには正式に書いていないが言葉の意味からRegion.Op.INTERSECTでクリップしていると判断できるでしょう。

http://developer.android.com/intl/ja/reference/android/graphics/Region.Op.html

公式リファレンス...ちゃんと説明かけや。



Graphics.setClip()
clipRect()と違ってCanvasクラスにはsetClipは存在しない。
しかし以下のメソッドで代用することができる。

public boolean clipRect (float left, float top, float right, float bottom, Region.Op op)

Region.Op. REPLACEを指定すれば新しいクリッピング領域を設定することができる。
このため上記メソッドをラッピングすれば,setClip()を移植することができる。


Graphics.getClipWidth(), getClipHeight()
Canvasクラスにはクリッピングの幅や高さを直接取得するメソッドはない。
しかしgetClipBounds()があるので,ここから高さと幅を取得することができる。

これはGraphics. getClipX(), getClipY()にも適用できる。

ということでMIDPのGraphicsクラスの互換実装は,これにて終了!!
パチパチ!!
関連記事
スポンサーサイト

テーマ : ゲーム開発
ジャンル : コンピュータ




コメントの投稿

非公開コメント

アクセス
あなたは
キーワード
カテゴリー
最近の記事
リンク
月別アーカイブ
ブロとも申請フォーム

この人とブロともになる

WEB検索
Google

RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。