From fe649e897b80d2f4759fc1289a77ae6e51689f13 Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Wed, 5 Jun 2024 18:49:50 +0200 Subject: [PATCH] Documentation update --- ANDROID-DEV.md | 2 +- CHANGELOG.md | 3 +++ THEMES-DEV.md | 14 ++++++++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ANDROID-DEV.md b/ANDROID-DEV.md index 7b4f4c4df..1bc932e98 100644 --- a/ANDROID-DEV.md +++ b/ANDROID-DEV.md @@ -450,7 +450,7 @@ https://play.google.com/store/apps/details?id=io.recompiled.redream ### ScummVM -This emulator can be installed from the Play store. +ScummVM can be installed from the Play store. https://play.google.com/store/apps/details?id=org.scummvm.scummvm diff --git a/CHANGELOG.md b/CHANGELOG.md index 78b4318a4..f5e424dcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -60,12 +60,15 @@ * Added a "selectedBackgroundCornerRadius" property to the textlist element * Added a "backgroundMargins" property to the text element * Added a "backgroundCornerRadius" property to the text element +* Added a "cropPos" property to the image element +* Added a "cropPos" property to the video element * (macOS) Changed the minimum required OS version from 10.15 "Catalina" to 11 "Big Sur" ### Bug fixes * Adding trailing directory separators to the MediaDirectory setting could make the Orphaned data cleanup utility remove too many files * (Windows) Filenames containing multi-byte Unicode characters could not be used with the %INJECT% variable +* The texture size was sometimes calculated incorrectly for the video element when using the cropSize property * Transition animations could sometimes partially play when switching themes with a system selected for the gamelist on startup setting * There could be minor textlist selector clipping issues if the selector had a text background color set diff --git a/THEMES-DEV.md b/THEMES-DEV.md index 24e7f67d7..748f53cda 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -2167,8 +2167,13 @@ Properties: - The image will be resized as large as possible so that it fits within this size while maintaining its aspect ratio. Use this instead of `size` when you don't know what kind of image you're using so it doesn't get grossly oversized on one axis. This property takes precedence over `cropSize` if that has also been defined. - Minimum value per axis is `0.001` and maximum value per axis is `3` * `cropSize` - type: NORMALIZED_PAIR - - The image will be resized and cropped to the exact size defined by this property while maintaining its aspect ratio. The crop is always applied centered. + - The image will be resized and cropped to the exact size defined by this property while maintaining its aspect ratio. The crop is always applied centered unless `cropPos` has been set. - Minimum value per axis is `0.001` and maximum value per axis is `3` +* `cropPos` - type: NORMALIZED_PAIR + - If the image has been cropped using `cropSize` then this property makes it possible to position the texture within the cropped area. The first value of the pair is the X axis where `0` means align to the left and `1` means align to the right, and the second value of the pair is the Y axis where `0` means align on top and `1` means align at the bottom. Any arbitrary floating point values between 0 and 1 can be used for granular positioning. + - Minimum value per axis is `0` and maximum value per axis is `1` + - Default is `0.5 0.5` (texture is centered) + - This property can only be used if `cropSize` is used. * `origin` - type: NORMALIZED_PAIR - Where on the element `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the element exactly in the middle of the screen. If the position and size attributes are themeable, origin is implied. - Minimum value per axis is `0` and maximum value per axis is `1` @@ -2301,8 +2306,13 @@ Properties: - The static image and video will be resized as large as possible so that they fit within this size while maintaining their aspect ratios. Use this instead of `size` when you don't know what kind of video you're using so it doesn't get grossly oversized on one axis. This property takes precedence over `cropSize` if that has also been defined. - Minimum value per axis is `0.01` and maximum value per axis is `2` * `cropSize` - type: NORMALIZED_PAIR - - The static image and video will be resized and cropped to the exact size defined by this property while maintaining their aspect ratios. The crop is always applied centered. Can't be combined with the `scanlines` property. + - The static image and video will be resized and cropped to the exact size defined by this property while maintaining their aspect ratios. The crop is always applied centered unless `cropPos` has been set. Can't be combined with the `scanlines` property. - Minimum value per axis is `0.01` and maximum value per axis is `2` +* `cropPos` - type: NORMALIZED_PAIR + - If the static image and video has been cropped using `cropSize` then this property makes it possible to position the texture within the cropped area. The first value of the pair is the X axis where `0` means align to the left and `1` means align to the right, and the second value of the pair is the Y axis where `0` means align on top and `1` means align at the bottom. Any arbitrary floating point values between 0 and 1 can be used for granular positioning. + - Minimum value per axis is `0` and maximum value per axis is `1` + - Default is `0.5 0.5` (texture is centered) + - This property can only be used if `cropSize` is used. * `origin` - type: NORMALIZED_PAIR - Where on the element `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the element exactly in the middle of the screen. If the position and size attributes are themeable, origin is implied. - Minimum value per axis is `0` and maximum value per axis is `1`