2005-11-01から1ヶ月間の記事一覧
前の、RGB565→RGB565の転送を透過転送用functorで組んだルーチンをアセンブラで出力してみると、8ループ展開の内部は次のようになってました。
いやね、おかしいとは思ってたんですよ。 ハーフワードの転送をしてると、 ADD r6,r14,r8,LSL #2 LDR r4,[r6,#0] こんな感じの記述が沢山出てくるわけですよ。 なんでLSL #2なんだ?LSL #1の間違いじゃないのか? まあ、ARM様は自分の計り知れない崇高な計算…
… …… ………
転送ルーチンの実装です。
そういえばJava互換って書いてますが、この辺って互換と何の関係もないですよね(;´Д`) 昨日の
yaneSDK3rdの転送ルーチンを実装している部分は、大きく分けて2種類のクラスに分けられると思います。
virtualの問題も解決したところで、転送ルーチンの実装について考えていきたいと思います。 id:melpon:20051120でも書きましたが、多くの画像形式に対応しようとすると、そのルーチン数は半端ない数になります。 なので、えんらさん(id:enra)の言うとおり、…
Imageクラスをvirtualに出来ないと言うことは、インターフェースクラスを作るのは無理なのでしょうか?
JavaのImageクラスは、基本的にインターフェースクラスで、下位のクラスで実装をしています。 インターフェースクラス(virtual)をC++で実装することは出来るのでしょうか?
// Graphics.h class Graphics{ void drawImage( Image img , int x , int y ); }; // Image.h class Image{ Graphics getGraphics(); }; どうしろと(;´Д`) 追記: 一応、 Graphics* getGraphics(); ってすれば大丈夫みたいですけど……なんか気持ち悪いな…
今、ImageクラスとGraphicsクラスを実装して居るんですけど、自分が考えていた描画のルーチンは、drawImage()の内部で適当にIBitmapを作って、それをIDIBにキャストして値を代入してIBitmapに戻してやればOKだと思ってたのですが、リファレンスを読む限り、…
考えてみれば、basic_stringはマルチバイト対応なのですが、2byte(AECHAR)のbasic_stringであるwstring以外は必要ないです。 ということで、basic_stringを展開した後のクラスを用意してやります。
まず、basic_stringが定義されているファイル(XSTRING)を見てみると、いろんなファイルをincludeしてます。 それを、
BREWの文字列の扱いは非常に( ゚Д゚)マンドクセーなので、文字列を扱う為のクラスを作ってみます。 目標としては、JavaのStringクラスと互換性のあるクラスを作ること。 まるっきりkanokeさんと同じことをしてますけど、内部実装は違うので許して下さい(;´Д`)
昨日のだと、Objectの実体をコピーしたとき、Objectの内部のデータまでコピーされるので不可。 なので、オブジェクトデータをポインタで持って、コピーしても同一のオブジェクトを表すようにします。 class ObjectData{ }; class Object{ public: Object(){ …
id:kanoke:20051101を参考にして、Object型を作ろうとごちゃごちゃやってると、こんな感じになりました。 class Object : public smart_ptr< Object >{ public: Object(){} Object( Object* p ) : smart_ptr< Object >( p ){} Object( Object& s ) : smart_p…
http://www.akibablog.net/archives/2005/11/maid_cafe_vip.html うはーwww夢がひろがりんぐwwwwww
id:melpon:20050801を見てて思いついたんだけれども、 templateclass T > class Object{ public: smart_ptr getThis(){ return _this; } void* operator new( size_t size ){ T* p = (T*)(malloc( size )); setThis( smart_ptr( p ) ); return p; } void ope…
/ __ _ / __| / / / / _/ / / _/ ___/ /\___/ヽ (.`ヽ(`> 、 /'''''' '''''':::::\ `'<`ゝr'フ\ + |(●), 、(●)、.:| + ⊂コ二Lフ^´ ノ, /⌒) | ,,,ノ(、_, )ヽ、,, .::::| ⊂l二L7_ / -ゝ-')´ .+ | `-=ニ=- ' .::::::| + . \_ 、__,.イ\ +…
ちょっと気になったのでやってみることにしました。 まずSchemeのインストール。 自分が使ったのはGauche。 http://www.shiro.dreamhost.com/scheme/gauche/index-j.html 「スクリプトインタプリタとしての使い易さに重点を置いて開発を行っているR5RS準拠の…
auの場合は、 com.kddi.system.PhoneSystem.getID(); で取得出来ます。 auは「メーカーコード2ケタ + 機種コード2ケタ」という形式になってます。 この文字列は、以下のページで調べられます。 http://developer.openwave.com/dvl/resources/supported_phone…
http://www.nagomi.tv/ いもうと(*´д`*)ハァハァ
Vodafoneの場合は、 System.getProperty( "Platform" ); で取得出来ます。 この文字列もDoCoMoと同じで、プラットフォームの名称が返ってきます。 ただ、J-06Tが、"J-06T_a"とか返ってくることもあるみたいで、ちょっと信用出来ないかも……(;´Д`)
DoCoMoの場合は、 System.getProperty( "microedition.platform" ); これで取得出来ます。 この文字列は、DoJa2.0以降は、D505iなら"D505i"、F901iSなら"F901iS"といった、プラットフォームの名称になります。 DoJa1.0の値については、んぱか工房の、 http:/…
takelさん(id:takel)からバトンが回って来ちゃいました……しかも結婚バトンて(;つД`) とりあえず出来るだけ答えていきたいと思います(´・ェ・`) ショボン
のの範囲を、の式で近似するとどんな式になるんだろう? ということでやってみる。
ISHELL_SetTimer()をキャンセルするにはISHELL_CancelTimer()を呼び出せばいいのだけれども、なぜかISHELL_SetTimerEx()をキャンセルするための関数が無い。 ということで作ってみました。 #define ISHELL_CancelTimerEx( p , c ) \ ISHELL_CancelTimer( p ,…
インターネットの世界の面積 面積621.6平方キロメートル、約25キロメートル四方だそうな。 そのうち地球の面積より大きくなる時代が来るのかな……。
BREWはC++をCで模倣している。 特に便利だと思うのは、IBASE_Release()。 IFILE_Release()とか、ICAMERA_Release()とかしなくても、全部IBASE_Release()で解放出来る。 で、そいつをNULLチェックを行って解放するマクロを組むと、 #define SAFE_SHELL_RELEAS…
普通のPNGとGIFの相互変換ツールは、1つ1つ変換しないといけなかったり、変換しても透過色が変になっていたり、ファイルサイズが大きくなっていたりします。 しかし、Fireworks4のバッチ処理を使うと、複数のファイルを、透過色は付いたままで、ファイルサ…