From aded84048362007997ae825318a972f772e30fac Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Sat, 4 Jun 2022 17:54:09 +0200 Subject: [PATCH] Documentation update. --- CHANGELOG.md | 2 ++ THEMES-DEV.md | 12 ++++++++---- THEMES-LEGACY.md | 20 ++++++++++++-------- THEMES.md | 20 ++++++++++++-------- 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb76fd7ab..840347389 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -163,6 +163,7 @@ v1.2 maintenance release. * Changed the default quit shortcut from F4 to Command + Q on macOS * Added Ctrl + Q as a user-selectable quit shortcut * Increased the window width slightly for the Alternative emulators interface when displaying long system names +* Added size restrictions to the "size" and "maxSize" theme properties for the image and video elements * Changed to a new API key for TheGamesDB * (Linux) Changed the manually downloaded Redream emulator location from ~/Applications/redream to ~/Applications/redream/redream @@ -171,6 +172,7 @@ v1.2 maintenance release. * When running ES-DE in the background, quitting a game or application using Alt + F4 sometimes made ES-DE quit as well * Thumbnails were not included in theme sets that used them for the Detailed view style * Game images were not included in theme sets that used them for the Video view style +* Themes with large pixelated fonts sometimes displayed too many textlist rows * The menu scroll indicators and title sometimes overlapped (e.g. seen in the Alternative emulators interface) * There was a small rounding error that caused a minimal distortion when rendering the menu titles diff --git a/THEMES-DEV.md b/THEMES-DEV.md index b9925a0f1..ea02c6527 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -772,9 +772,11 @@ Instances per view: Properties: * `pos` - type: NORMALIZED_PAIR * `size` - type: NORMALIZED_PAIR - - If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the image's aspect ratio. + - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. + - Minimum value per axis is `0.001` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. * `maxSize` - type: NORMALIZED_PAIR - - The image will be resized as large as possible so that it fits within this size and maintains 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 (e.g. with a game's image metadata). + - 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 (e.g. with a game's image metadata). + - Minimum value per axis is `0.001` and maximum value per axis is `2` * `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` @@ -849,9 +851,11 @@ Instances per view: Properties: * `pos` - type: NORMALIZED_PAIR * `size` - type: NORMALIZED_PAIR - - If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the video's aspect ratio. + - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the static image's aspect ratio and the video's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.01 0.01` in this case. + - Minimum value per axis is `0.01` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. * `maxSize` - type: NORMALIZED_PAIR - - The video will be resized as large as possible so that it fits within this size and maintains its aspect ratio. 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 (e.g. with a game's video metadata). + - 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 (e.g. with a game's video metadata). + - Minimum value per axis is `0.01` and maximum value per axis is `2` * `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` diff --git a/THEMES-LEGACY.md b/THEMES-LEGACY.md index 1c5b83eb9..bc09ace14 100644 --- a/THEMES-LEGACY.md +++ b/THEMES-LEGACY.md @@ -577,10 +577,12 @@ Remember, you do *not* need to specify every property! Can be created as an extra. * `pos` - type: NORMALIZED_PAIR. -* `size` - type: NORMALIZED_PAIR. - - If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the image's aspect ratio. -* `maxSize` - type: NORMALIZED_PAIR. - - The image will be resized as large as possible so that it fits within this size and maintains 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 (e.g. with a game's image metadata). +* `size` - type: NORMALIZED_PAIR + - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. + - Minimum value per axis is `0.001` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. +* `maxSize` - type: NORMALIZED_PAIR + - 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 (e.g. with a game's image metadata). + - Minimum value per axis is `0.001` and maximum value per axis is `2` * `origin` - type: NORMALIZED_PAIR. - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. @@ -603,10 +605,12 @@ Can be created as an extra. #### video * `pos` - type: NORMALIZED_PAIR. -* `size` - type: NORMALIZED_PAIR. - - If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the video's aspect ratio. -* `maxSize` - type: NORMALIZED_PAIR. - - The video will be resized as large as possible so that it fits within this size and maintains its aspect ratio. 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 (e.g. with a game's video metadata). +* `size` - type: NORMALIZED_PAIR + - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the static image's aspect ratio and the video's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.01 0.01` in this case. + - Minimum value per axis is `0.01` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. +* `maxSize` - type: NORMALIZED_PAIR + - 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 (e.g. with a game's video metadata). + - Minimum value per axis is `0.01` and maximum value per axis is `2` * `origin` - type: NORMALIZED_PAIR. - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. diff --git a/THEMES.md b/THEMES.md index 4dbdedc00..cea8131a8 100644 --- a/THEMES.md +++ b/THEMES.md @@ -624,10 +624,12 @@ Remember, you do *not* need to specify every property! Can be created as an extra. * `pos` - type: NORMALIZED_PAIR. -* `size` - type: NORMALIZED_PAIR. - - If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the image's aspect ratio. -* `maxSize` - type: NORMALIZED_PAIR. - - The image will be resized as large as possible so that it fits within this size and maintains 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 (e.g. with a game's image metadata). +* `size` - type: NORMALIZED_PAIR + - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. + - Minimum value per axis is `0.001` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. +* `maxSize` - type: NORMALIZED_PAIR + - 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 (e.g. with a game's image metadata). + - Minimum value per axis is `0.001` and maximum value per axis is `2` * `origin` - type: NORMALIZED_PAIR. - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT. @@ -698,10 +700,12 @@ Can be created as an extra. #### video * `pos` - type: NORMALIZED_PAIR. -* `size` - type: NORMALIZED_PAIR. - - If only one axis is specified (and the other is zero), the other will be automatically calculated in accordance with the video's aspect ratio. -* `maxSize` - type: NORMALIZED_PAIR. - - The video will be resized as large as possible so that it fits within this size and maintains its aspect ratio. 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 (e.g. with a game's video metadata). +* `size` - type: NORMALIZED_PAIR + - If only one axis is specified (and the other is zero), then the other will be automatically calculated in accordance with the static image's aspect ratio and the video's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.01 0.01` in this case. + - Minimum value per axis is `0.01` and maximum value per axis is `2`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. +* `maxSize` - type: NORMALIZED_PAIR + - 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 (e.g. with a game's video metadata). + - Minimum value per axis is `0.01` and maximum value per axis is `2` * `origin` - type: NORMALIZED_PAIR. - Where on the image `pos` refers to. For example, an origin of `0.5 0.5` and a `pos` of `0.5 0.5` would place the image exactly in the middle of the screen. If the "POSITION" and "SIZE" attributes are themeable, "ORIGIN" is implied. * `rotation` - type: FLOAT.