/** * スプライトのプロバイダに関する機能を提供する。 * * @module */ import { RequestResult } from "../RequestResult"; import { Json } from "../util/json_type"; /** * スプライトのデータプロバイダ * * レンダラーにスプライトのデータを与えるための抽象クラスである。 * * 以下の抽象メソッドは既定の動作がないので、API 利用者はこれらのメソッ * ドをオーバライドした具象クラスを使用しなければならない。 * * - [[requestLayout]] * - [[requestSheet]] */ declare abstract class SpriteProvider { protected constructor(); /** * スプライトのレイアウト情報を要求する。 */ abstract requestLayout(): RequestResult; /** * スプライトの画像データを要求する。 */ abstract requestSheet(): RequestResult; /** * [index-file](https://docs.mapbox.com/mapbox-gl-js/style-spec/sprite/#index-file) * 形式のレイアウトデータを解析して [[Layout]] に変換する。 * * @param json_layout - レイアウトデータ * * @throws SyntaxError `json_layout` が 予期しないデータ形式のとき */ static parseLayoutData(json_layout: Json): SpriteProvider.Layout; } declare namespace SpriteProvider { /** * スプライト画像内のアイコン単位のレイアウト情報の型 * * Canvas の座標系と同じように、スプライト画像の左上を座標原点 (0, 0) * とし、右方向に x 座標が増加し、下方向に y 座標が増加する。 * * @see [[requesLayout]] */ interface LayoutItem { /** * アイコン識別名 */ id: string; /** * スプライト画像内でのアイコン左上の x 座標 */ x: number; /** * スプライト画像内でのアイコン左上の y 座標 */ y: number; /** * スプライト画像内でのアイコンの水平画素数 */ width: number; /** * スプライト画像内でのアイコンの垂直画素数 */ height: number; /** * SDFアイコンフラグ */ sdf: boolean; } /** * アイコンのレイアウト情報の型 * * これは [[LayoutItem]] インスタンスを反復できるオブジェクトの型を表す。 * * @see [[requestLayout]], [[LayoutItem]] */ type Layout = Iterable; /** * スプライトの画像データの型 * * @see [[requestSheet]] */ type Sheet = TexImageSource; } export { SpriteProvider }; //# sourceMappingURL=SpriteProvider.d.ts.map