Structs§
Constants§
- MAX_
IMAGE_ 🔒WORKERS - 同時に走らせる画像取得ワーカーの上限。
Statics§
- IMAGE_
QUEUE 🔒 - IMG_
PENDING 🔒 - 画像 src をキューに追加し、必要ならローダースレッドを起動する 取得待ちの画像枚数の写し。
- IMG_
RESULTS 🔒 - 取り込み待ちの完了件数の写し。
- IMG_
WORKERS 🔒 - 稼働中の画像ワーカー本数の写し(
font_queue::worker_countと同じ理由)。 - SHARED_
IMAGES 🔒 - デコード済み画像を
srcで引ける共有の置き場。
Functions§
- clear_
shared_ images - ページを移ったら捨てる(
image_cacheの破棄と対で呼ぶ)。 - decode_
gif 🔒 - GIF (87a/89a) デコーダ。先頭イメージフレームを RGBA で返す。 グローバル/ローカルパレット・LZW・透過(Graphic Control Extension)・インターレース対応。 アニメーションは先頭フレームのみ描画(静止画扱い)。
- decode_
image 🔒 - enqueue_
image 🔒 - gif_
interlace_ 🔒rows - GIF インターレース行順を展開(4パス)
- gif_
lzw_ 🔒decode - GIF の可変長 LZW デコード。出力はパレットインデックス列。
- image_
loader_ 🔒thread - image_
results_ ready - デコード完了した画像が「取り込み待ち」で存在するか(エッジトリガ再描画用)。 旧実装は pending/thread_active も見ていたため、画像のロード待ちの間ずっと 全画面再描画が走り続け(画面が波打つ)原因になっていた。 完了結果がある時だけ true を返すことで、完了ごとに1回だけ再描画する。
- pending_
count 🔒 - pump 🔒
- 溜まっている取得要求に対してワーカーを起こし直す。
理由は
font_queue::pumpと同じ(門が閉じている間の投入を拾い直す)。 - share_
image - 共有の置き場へ登録する。取り込み側から呼ぶ。
- shared_
image srcからデコード済み画像を引く。無ければNone。- skip_
gif_ 🔒subblocks - GIF サブブロック列を読み飛ばし、終端(0x00)の次位置を返す
- store_
results_ 🔒len resultsの件数を写す。ロックを持っている側から呼ぶ。- store_
worker_ 🔒count - 稼働本数を写す。ロックを持っている側から呼ぶ。
- svg_
target_ 🔒size - SVG をラスタライズする目標解像度(自然サイズ基準・上限512・最低1)を決める
- worker_
count 🔒