モノトーンの伝説日記

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

Development

<mini> WPF で手動で Per-monitor DPI を取り扱っている場合の注意点。

テキストレンダリングにポイント。

Windowsの近代的なHighDPIについて自分なりにまとめてみる。

SylphyHorn を Per-monitor DPI 対応しようとしたら,Per-monitor DPI に不具合があってさらに調査進めていたらめっちゃ不具合見つかるという…… .NET Core 3.1 WPF でも Per-monitor DPI に不具合あるっぽいし,いろいろ不具合見つかる模様… 1. Per-monitor …

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

DWM の DComp について調べていたらもうそれが結構地獄でした。 Windows NT 6.2 時代に必要に応じて作られたものの,紆余曲折あり断片化と言った感じ。現状では歴史的経緯により Windows Runtime がメインになっている模様。 1. DirectComposition とは? 2.…

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

前回の記事を読んでない人はまず読んできてください。 mntone.hateblo.jp 実はこの方法,タスク バーの移動ができない(ウィンドウサイズ調整に追従できない)んですよね…… 1. WindowChrome (WindowChromeWorker) で実現していること。 2. Windows 95 からあ…

『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, HE…

SylphyHorn に実装したら良さそうな機能(考えたことを書きます)

1. 仮想デスクトップに名前が割り当てられたが…… 2. ならば条件分岐を取り込めば良いのでは? 3. 結論: 仮想デスクトップの名前,自動化は今の Windows にはあったら便利そう

System Menu のテーマ切り替えに不具合? (1909/2004 のみで確認済み; 回避策掲載済み)

1. 特定の AppMode 切り替えの場合,正常に AppMode が切り替わらない。 2. Win32 の Dark Mode 実装の参考に まとめ

Windows 10 2004 (20H1) で追加された `IVirtualDesktopNotification2` について

一応参照しやすい形としてブログに残しておきます。 1. IVirtualDesktopNotification との違い 2. 仮想デスクトップの名前の取得および設定に関して 最後に

MetroRadiance と SylphyHorn と VirtualDesktop

今日はざっと進捗報告です。順調にいけば 2, 3 日以内に PR 準備できるのじゃないかな? 1. Virtual Desktop 2. MetroRadiance 3. SylphyHorn 4. 最後に: 他機能はモチベーション次第

OBS Studio などで使える LUT 生成プログラム(簡易)を Rust で書いてみた

今後プログラムベースで生成した LUT を簡単に作るための基盤を作ってみた。 1. 昔は画像のみ,しかし今は。 2. 簡単で速い Rust まとめ

<mini> React+MobX の Web 開発の練習もかねて。

今こんなものを作ってます。

<mini> イカスフィアの爆風について

グラフ実装してて思った単なる戯言です。 爆風は楕円体か? それとも球を切ったものか? スプラの世界はわからないことだらけ

SSE (SIMD) レイテンシー/スループット メモ

使ってるやつから軽くピックアップ。Intel Core 2 から Skylake アーキテクチャーまで一覧として見れるものがなかったので作成。cpuid は未掲載のものもあるかも。不正確な情報や,追加して欲しいものがあったら連絡くれれば随時追加します。 Sandy Bridge …

<mini> Windows ver と DXGI, DirectX 12

どの OS でどれが使えるのかいまいちわからなかったので,整理してみた。

ガチメタル(Apple 系デバイスで使える Metal API の方です )

タイトルの響きが気に入ったのでこれを採用しました。 こんにちはモノトーンです。 今日は,macOS で Metal 関連の実装をしていて,それについてちょっと書いていこうと思います。 1. CPU と iGPU と dGPU 2. 実装に頭を抱える。 3. 何が問題なのか検討 まと…

<mini> iOS 13.1 で下線の引き方が変わった模様

はい mstdn.jp Core Text 周りに手が入ったんすね。 おしまい。

Apple platforms (tvOS, macOS, iPadOS, iOS, watchOS) で画像の雰囲気を読み取って,画像に追加処理を行う方法

こんにちは,モノトーンです。 今日は Apple platforms で画像を処理していくお話。 1. Core Graphics extensions 2. 利用例 2.1 利用例1: 画像の淵が背景色に近いとき,画像の淵に線を引く 2.2 利用例2: 画像の全体の中央値が,どちら寄りかで,暗めの画像…

Mastodonクライアント「postone」(iOS)をテスターを募集しています

こんにちは,モノトーンです。 ブログでは初出かな。postone というクライアントを開発しています。 postone 1. iOS の UIKit および Swift 実験場としてスタートしたプロジェクト「postone」 2. 設計思想 3. できること・予定していること・思ってること・…

Swift 5.1 のコンパイラーバグを引いた話

こんな不具合報告してもいいのかよくわからないので,報告はしてません;; 継承使いまくりのクラスで release ビルドのみエラーを吐く まとめ

<mini> UIAlertAction をカスタマイズする。

あまり時間かけたくないので,流すスタイルで書きます。

【UIKit.UIImageView】画像の注目して欲しいところを中心に表示する方法

こんばんは,モノトーンです。 今日は画像の注目して欲しいところ,いわゆる [Focus Point] を実装した UIImageView を作ろうというお話です。割と簡単なことなのですが,Focus Point 自体,実装されているサービスは Mastodon ぐらいしか知りませんw 実際…

<mini> UISegmentedControl のカスタムデザイン

UISegmentedControl のピンク色の一番上のやつを作りました。 medium.com

iOS, tvOS, macOS 向けの MTImage を公開しました。

こんにちは,モノトーンです。 Animated な画像を対応しようとして,Swift で小手先で書いていたのですが,WebP もせっかくだし対応したいなーって思ったのが割と作成のきっかけみたいな。 具体的な内容については本文で。 github.com 1. 作ろうと思ったきっ…

今一度整理する iPhone や iPad のデバイス情報リスト

iPhone iPad Landscape の場合 Portrait の場合 現時点で想定されうる横幅

Swift で SIMD する。(SIMDKit も公開)

こんにちはモノトーンです。 今日は,Swift で SIMD 吐き出すための方法や,実際にどんなコードが吐き出されるか,そして最後には SIMDKit についてお話ししようと思います。 1. import simd で使える 2. AArch64 の場合 入力 出力 3. AMD64 / Intel 64 の場…

<mini> iOS 9 や 10 向けに UITraitCollection の互換機能を生やす

詳しくは本文で UITraitCollection.preferredContentSizeCategory は iOS 10+ UIContentSizeCategory.isAccessibilityCategory は iOS 11+ まとめ

inputAccessoryView に入れた UIToolbar を SafeArea に考慮させる(キーボード接続時のための対応)

おはようございます,モノトーンです。 今日は,検索してもあまり出てこなかった,inputAccessoryView に入れた UIToolbar 自体に Safearea を考慮させる hack です。 1. UIToolbar の内部構造 2. 大まかな流れ 3. コード 3.1 利用方法 まとめ

Cocoapods から Carthage にして,CI でのビルドを高速化した

Carthage 導入した理由から,色々変更した点について 1. Carthage 導入した理由 2. CI で 50% の確率で失敗する 45 分の壁。 3. 結果 CocoaPods Carthage (Static) Carthage (Dynamic) コマンド例 まとめ

<mini> Realm Swift 環境で filter をコンパイル時に検証させる

こんにちは。 1. Realm Swift の filter は NSPredicate のシステムに即しているが…… 2. keyPath は key をもつ型と key 自体の型を判別できる おまけ