@lightningjs/sdk
Version:
The Lightning-SDK helps you build great Lightning-based TV apps!
89 lines (85 loc) • 3.16 kB
TypeScript
/*
* If not stated otherwise in this file or this component's LICENSE file the
* following copyright and licenses apply:
*
* Copyright 2022 Metrological
*
* Licensed under the Apache License, Version 2.0 (the License);
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import ScaledImageTexture from "./ScaledImageTexture.js";
interface PresetOptionsChain {
/**
* Resizes the image to the exact dimensions, ignoring the ratio.
*
* @param w
* @param h
*/
exact(w: number, h: number): ScaledImageTexture.Settings;
/**
* Resizes the image by width, maintaining the ratio.
*
* @param w
*/
landscape(w: number): ScaledImageTexture.Settings;
/**
* Resizes the image by height, maintaining the ratio.
*
* @param h
*/
portrait(h: number): ScaledImageTexture.Settings;
/**
* Resizes the image in such a way that it covers the entire area. Depending on the orientation
* (portrait or landscape) of the source image and that of the desired output, it resizes the image
* by width or by height.
*
* @param w
* @param h
*/
cover(w: number, h: number): ScaledImageTexture.Settings;
/**
* Resizes the image in such a way that it is contained within the available area. Depending on the
* orientation (portrait or landscape) of the source image and that of the desired output, it resizes
* the image by width or by height.
*
* @param w
* @param h
*/
contain(w: number, h: number): ScaledImageTexture.Settings;
/**
* Generates the image without resizing it (that is, it uses the original dimensions), while still
* passing it through the proxy (and taking advantage of caching).
*/
original(): ScaledImageTexture.Settings;
}
/**
* Image plugin
*
* @remarks
* The standard way of displaying images in Lightning is to just specify the src. This is the preferred way
* for local assets (such as background, splash screen, logo and icons) of Lightning Apps.
*
* It is recommended that you optimize the local assets of your App by resizing them to the exact size and
* quality in which you will use them. This positively affects the memory usage of your App.
*
* However, if you don’t have control over the images to be displayed in your App (for example, because they
* originate from a remote API), you can use the Image plugin to resize and crop them.
*
* See [Image](https://lightningjs.io/docs/#/lightning-sdk-reference/plugins/image?id=image)
* for more information.
*
* @param imageUrl
* @param options
*/
declare function Img(imageUrl: string): PresetOptionsChain;
declare function Img(imageUrl: string, options: ScaledImageTexture.Options): ScaledImageTexture.Settings;
export default Img;