Vector Graphics Library リンク
2D系のベクトルグラフィックスライブラリのリンクをメモ
cairo
Anti-Grain Geometry
Amanith Framework
ビット演算と引き算を使った整数の割り算のコード。
ただし、31bit符号なし整数 ÷ 15bit符号なし整数 という制限つき。
// 31bit unsigned int / 15bit unsigned short
unsigned short divsu(unsigned int x, unsigned short y)
{
for (int i = 0; i < 16; i++)
{
x <<= 1;
if (x >= (unsigned int)y << 16)
{
x -= (unsigned int)y << 16;
x |= 1;
}
}
return x;
}
WindowsではNTFSのとき、「監査」という仕組みを利用してファイルやフォルダのアクセスログを記録させることができます。
手順
まず、監査を許可するように設定を行います
1. 「ファイル名を指定して実行」で mmc と入力して実行する。コンソールが起動する。
2. 「ファイル」 -> 「スナップインの追加と削除」 メニューを選択
3. スナップインの追加と削除画面で「追加」ボタンを押す
4. スナップイン一覧から「グループポリシーオブジェクトエディタ」を選択して追加
5. そのままOKでスナップインの追加と削除画面を閉じる
6. コンソールルート -> ローカルコンピュータポリシー -> コンピュータの構成 -> Windowsの設定 -> セキュリティの設定 -> ローカルポリシー -> 監査ポリシー を開く
7. 「オブジェクトアクセスの監査」のプロパティを開いて、「成功」「失敗」両方にチェックを入れてOKを押す
これで、監査を許可できました。
次に、監査したいフォルダかファイルの設定を行います
1. 監査したいフォルダ・ファイルのプロパティを開きます
2. 「セキュリティ」タブを開いて、「詳細設定」を押します
3. 「監査」タブを開いて、「追加」を押します
4. 監査対象のユーザーやグループ名を入力します
5. 監査したい項目にチェックを入れます
6. OKでダイアログを全て閉じます
以上で、監査の設定が完了です。
これで設定したアクセスログがイベントビューアのセキュリティ項目の中に記録されていきます。
MFCのダイアログでUIコントロールをEnableにしたりDisableにしたりするのに
更新ハンドラの仕組みが使えたら便利なことがよくあります。
しかし単純に以下のように更新ハンドラを記述しても OnUpdateOKButton は呼ばれません。
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_UPDATE_COMMAND_UI(IDOK, OnUpdateOKButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CTestDlg::OnUpdateOKButton(CCmdUI* pCmdUI)
{
pCmdUI->Enable(条件);
}
#include <afxpriv.h>
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_MESSAGE(WM_KICKIDLE, OnKickIdle)
ON_UPDATE_COMMAND_UI(IDOK, OnUpdateOKButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
LRESULT CTestDlg::OnKickIdle(WPARAM wParam, LPARAM lParam)
{
// 更新ハンドラを呼び出してUIの状態を更新する
UpdateDialogControls(this, FALSE);
return FALSE;
}
void CTestDlg::OnUpdateOKButton(CCmdUI* pCmdUI)
{
pCmdUI->Enable(条件);
}
keythemerc ファイルを変更することでXFce4ウィンドウマネージャーの基本的なキー操作をカスタマイズできます。
ショートカットキーによるアプリケーションの起動は
shortcut_4_key=ショートカットキー
shortcut_4_exec=ファイル名
とすればできそうです。
設定ファイルは
/usr/X11R6/share/themes/Default/xfwm4/keythemerc (FreeBSDの場合)
アルファつきの2色を合成する場合の計算メモ
アルファは不透明度とします。
1. 色の上に色を重ねるように合成する場合
上塗りする色・アルファ:
下地の色・アルファ:
2. 2色をある割合ずつ合成する場合
色・アルファ:
色・アルファ:
色Xのカバレッジ(0~1):
3. 色の上に別の色をある割合だけ重ねるように合成する場合
上記1と2をあわせた感じになります。
上塗りする色・アルファ:
下地の色・アルファ:
色Xのカバレッジ(0~1):
© Blogger template 'Isolation' by Ourblogtemplates.com 2008
Back to TOP