モノトーンの伝説日記

Apex Legends, Splatoon, Programming, and so on...

Desktop Window Manager によって管理される DirectComposition の歴史

 DWM の DComp について調べていたらもうそれが結構地獄でした。

 Windows NT 6.2 時代に必要に応じて作られたものの,紆余曲折あり断片化と言った感じ。現状では歴史的経緯により Windows Runtime がメインになっている模様。

  • 1. DirectComposition とは?
  • 2. DirectComposition の歴史
    • 2.1 IDCompositionDevice
    • 2.2 IDCompositionDevice2 と IDCompositionDesktopDevice
    • 2.3 IDCompositionDevice3
    • 2.4 Windows.UI.Composition (実質 IDCompositionDevice4)
      • 2.4.1 CreateBackdropBrush
      • 2.4.2 CreateHostBackdropBrush
  • 3. DirectComposition API の今後
  • まとめ
続きを読む

『WPFでカスタムウィンドウを作るのに人類は奮闘してきた』最終回(簡易コード付き)

 前回の記事を読んでない人はまず読んできてください。

mntone.hateblo.jp

 実はこの方法,タスク バーの移動ができない(ウィンドウサイズ調整に追従できない)んですよね……

  • 1. WindowChrome (WindowChromeWorker) で実現していること。
  • 2. Windows 95 からある GDI の関数。
  • 3. WindowChrome の一体何が問題だったの?
  • 4. タスク バー (Appbar) の考慮
  • まとめ
続きを読む

『WPFでカスタムウィンドウを作るのに人類は奮闘してきた』(カスタムウィンドウ最大化問題) 序章

 HAHAHA。なんでなんやろ,歴史調べたら人々が奮闘してきたのがわかる。

  • 1. この原因を調べるきっかけ。
  • 2. 人々の歴史。
    • 2.1 回避方法 1: ハードコード
    • 2.2 回避方法 2: インテリジェンス
  • 3. やっぱり自動で隠れるタスク バーがひらけない。
  • まとめ
  • おまけ
続きを読む

WICの対応フォーマットの判定(C#)

〈更新履歴〉
2021/5/28: AVIF 対応のビルド番号判定追加及び,Build 19041 (2004), 19042 (20H2), 19043 (21H1) 向け hotfix KB5003214 で拡張子 `.hif` に対応したことによる拡張子の追加に対応

 WIC (Windows Imaging Component) で WebP や HEIF (AVIC, HEIC, AVIF) に対応できますが,それの対応フォーマットに関するお話。

  • 1. 初期からインストールされているもの (判定不要)
  • 2. WebP や HEIF などの追加フォーマット
  • 参考資料
続きを読む