2進数リテラルと2進数ダンプ

C++14では2進数リテラルが規格に加わりました。GCCやClangではCでも使えます。というか、もともとコンパイラの独自拡張機能として実装済みだったものが規格になったみたいです。使い方はこんな感じ。

#include <stdio.h>

int main()
{
    char c = 0b01000001;

    printf("0x%X\n", c);
    printf("%c\n", c);

    return 0;
}
$ ./a.out
0x41
A

Continue reading →

CIFilterでアニメーション

前回に引き続きMac OS Xの話です。

Mac OS X v10.4で導入された画像処理テクノロジー「Core Image」を使うと、画像に様々なエフェクトを簡単にかけることができます。
前回話に出たアプリケーションでは、「歪みエフェクトフィルタ(Distortion Effect Filter)」の「バンプ(凹凸)歪み」フィルタを使って画像にエフェクトをかけています。
このフィルタの実行をCore Animationを使って、次のようにアニメーション化しています。
Continue reading →

setWantsLayer:YESの後レイヤーのframeが変わる

Mac OS X のCore Animationを使ったアプリケーションを作成したときにつまずいたところをメモしておきます。

CIFilterを使って画像の一部分にフィルタをかけるアニメーションを実行したいのですが、フィルタをかける位置がずれてしまうのです。
Continue reading →