graphismes
Ce tableau présente tous les artefacts du groupe androidx.graphics.
| Artefact | Version stable | Version finale | Version bêta | Version alpha |
|---|---|---|---|---|
| graphics-core | 1.0.3 | - | - | - |
| graphics-path | 1.0.1 | - | - | 1.1.0-alpha01 |
| graphics-shapes | 1.1.0 | - | - | - |
Déclarer des dépendances
Pour ajouter une dépendance sur Graphics, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle de votre application ou de votre module :
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.3" implementation "androidx.graphics:graphics-path:1.1.0-alpha01" implementation "androidx.graphics:graphics-shapes:1.1.0" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.3") implementation("androidx.graphics:graphics-path:1.1.0-alpha01") implementation("androidx.graphics:graphics-shapes:1.1.0") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Aucune note de version pour cet artefact.
Version 1.1 des éléments graphiques
Version 1.1.0
22 octobre 2025
Publication d'androidx.graphics:graphics-*:1.1.0. La version 1.1.0 contient ces commits.
Version 1.1.0-rc01
10 septembre 2025
Publication d'androidx.graphics:graphics-*:1.1.0-rc01. La version 1.1.0-rc01 contient ces commits.
Version 1.1.0-beta01
30 juillet 2025
Publication d'androidx.graphics:graphics-*:1.1.0-beta01. La version 1.1.0-beta01 contient ces commits.
Modifications apportées à l'API
- Les projets publiés avec Kotlin 2.0 nécessitent KGP 2.0.0 ou version ultérieure pour être utilisés (Idb6b5).
- Ajoutez les cibles de compilation
mingwX64, js et wasm. (I2c46a)
Version 1.1.0-alpha01
11 décembre 2024
Publication d'androidx.graphics:graphics-*:1.1.0-alpha01. La version 1.1.0-alpha01 contient ces commits.
Nouvelles fonctionnalités
- La démo principale a été retravaillée pour devenir un éditeur de formes générique. Cela vous permet d'importer des formes à partir d'un chemin SVG, de modifier manuellement les caractéristiques détectées en cas d'erreurs dans le processus automatique et d'exporter le résultat dans un code pouvant être utilisé dans le code de production. (I1ac13)
- Remplacez les mesures d'angle pour la progression du contour de la forme par des mesures de longueur de courbe. Cela permet d'utiliser des formes plus complexes pour la morphose. (I75478) , I390dd
- L'algorithme de mappage des caractéristiques a été amélioré. Les morphings devraient donc être plus naturels. (I83287)
Modifications apportées à l'API
- Ajoutez l'importation de chemin SVG et le sérialiseur de caractéristiques. Le flux habituel est le suivant :
- Utilisez le nouveau
SvgPathParser.parseFeatures()pour convertir un chemin SVG (la valeur de l'attributdsur l'élémentpathd'un SVG) enList<Feature>. - Il peut être modifié, puis sérialisé en chaîne avec
FeatureSerializer.serialize(). - La chaîne résultante peut être utilisée dans le code de production, en l'important avec
FeatureSerializer.parse(). - Notez que les étapes 1 et 2 ne doivent être effectuées qu'une seule fois et peuvent l'être avec la nouvelle application. Le code de production ne devrait avoir besoin que de l'étape 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Utilisez le nouveau
- Exposer les éléments et les types d'éléments polygonaux. Il est désormais possible de créer des
RoundedPolygonsplus génériques avec le constructeur de base qui accepte unList<Features>. Les caractéristiques sont principalement une liste de courbes de Bézier cubiques, mais elles sont taguées pour aider l'algorithme Morph à faire correspondre les formes de début et de fin (les angles convexes sont mappés sur les angles convexes et les angles concaves sont mappés sur les angles concaves). (I61e76), (I1fc5c) - Ajout de la compatibilité avec la cible KMP
watchosDeviceArm64et la cible Kotlin 1.9. (Icf15d, b/364652024)
Correction de bugs
- Correction d'un cas limite où la dernière fonctionnalité était vide. (I390dd)
- Rendez la création de
RoundedPolygonplus robuste. (Ib862c, b/360888486) - Correction d'un bug lié à l'initialisation de
RoundedPolygon. (I83ddb) - Corrigez une erreur dans l'algorithme pour estimer le centre du polygone. (Ida147)
Graphics Shapes version 1.0
Version 1.0.1
4 septembre 2024
Publication d'androidx.graphics:graphics-shapes:1.0.1, androidx.graphics:graphics-shapes-android:1.0.1 et androidx.graphics:graphics-shapes-desktop:1.0.1. La version 1.0.1 contient ces commits.
Version 1.0.0
21 août 2024
Publication d'androidx.graphics:graphics-shapes:1.0.0, androidx.graphics:graphics-shapes-android:1.0.0 et androidx.graphics:graphics-shapes-desktop:1.0.0. La version 1.0.0 contient ces commits.
Version 1.0.0-rc01
24 juillet 2024
Publication d'androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01 et androidx.graphics:graphics-shapes-desktop:1.0.0-rc01. La version 1.0.0-rc01 contient ces commits.
Version 1.0.0-beta01
1er mai 2024
Publication d'androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01 et androidx.graphics:graphics-shapes-desktop:1.0.0-beta01. La version 1.0.0-beta01 contient ces commits.
Modifications apportées à l'API
- Autorisez la prérotation des formes pour qu'elles commencent à un autre point. Cette modification permet aux formes
pillStarde commencer leurs courbes à partir d'un point non défini par défaut sur le périmètre. Cela peut être utile lorsque vous animez le tracé du chemin de la forme, pour commencer à dessiner à partir d'un emplacement spécifique sur le contour de la forme. (Ifbb4d, b/324303807) - Ajout de fonctions
calculateBounds()à Morph, qui sont parallèles aux mêmes fonctions surRoundedPolygon. (I8a3b6, b/325463575)
Version 1.0.0-alpha05
7 février 2024
Publication d'androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05 et androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05
Nouvelles fonctionnalités
- La bibliothèque propose désormais de nouvelles fonctions
pill()etpillStar()pour créer facilement ces formes arrondies/étoilées. De nouvelles API permettent également de calculer les limites exactes requises pour une forme (les limites précédentes n'étaient qu'une estimation basée sur les points d'ancrage et de contrôle de la courbe de Bézier sous-jacente), ainsi que les limites maximales possibles, ce qui peut être utile pour déterminer la taille du conteneur qui le contient s'il doit être pivoté dans ce conteneur. (I71827)
Modifications apportées à l'API
- De nouvelles options sont disponibles pour récupérer les limites exactes et maximales. (I6d49f, b/317286450)
Correction de bugs
- Des artefacts de rendu se produisaient parfois lors du dessin de ces formes en tant que chemins tracés, en raison d'un problème de rendu de bas niveau lié aux courbes de longueur nulle. Ce bug a été corrigé en éliminant toutes les courbes de longueur nulle (dont les formes n'ont pas besoin, ce qui permet également de réduire la surcharge des chemins produits par les formes).
Version 1.0.0-alpha04
13 décembre 2023
Publication d'androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04 et androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04
Nouvelles fonctionnalités
- Cette version contient plusieurs modifications de l'API, ainsi que des corrections de bugs.
- De nombreuses modifications apportées à l'API rendent la bibliothèque Shapes compatible avec KMP. Cela facilite l'appel à partir de code non Android (tel que du code Compose agnostique à Android). Par exemple, il n'existe aucun type Android dans l'API, comme les types PointF, Matrix et Path précédents.
- Plusieurs modifications ont également été apportées aux API et à l'implémentation pour des raisons de performances, en particulier pour minimiser l'allocation (et la collecte) d'objets. Par exemple, le passage de PointF à des paramètres Float distincts évite d'allouer de nombreuses structures PointF temporaires pour contenir ces sommets.
Modifications apportées à l'API
- Remplacement de
Morph.asMutableCubicspar une fonction permettant d'itérer surMutableCubics. Modification de l'interface fonctionnellePointTransformer, qui prend désormais les coordonnées x et y d'unPointet renvoie unTransformedResult(construit avec les coordonnées x et y transformées) (I6719e) - Suppression du constructeur
Cubicpublic et transformation en fonction de fabrique. (I409ce) - Ajout d'API de transformation et de dessin spécifiques à Android (I079f6, b/292289543)
- Élimination des dépendances Android (Iadc1c, b/292289543)
- Les noms des propriétés d'ancrage et de contrôle sont désormais plus judicieux (If13bd, b/294562941).
- Les paramètres
PointFont été remplacés par des pairesFloat(Id4705, b/276466399, b/290254314). progressest désormais transmis directement aux commandes de dessinMorph(Icdca2)
Correction de bugs
- Correction d'un bug lors de la création de grandes formes. (I4fd66, b/313497325)
Version 1.0.0-alpha03
7 juin 2023
Publication d'androidx.graphics:graphics-shapes:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03
Modifications apportées à l'API
- Ajout d'une nouvelle fonction
RoundedPolygon.rectangle()(I78e7e, b/280322189) - Les fonctions Star et Circle sont désormais en minuscules et appelées via l'objet associé de
RoundedPolygon: par exemple,RoundedPolygon.star(...)(I14735)
Correction de bugs
- Correction d'un bug lié au lissage (Ibf894)
- Correction d'un bug qui se produisait lorsque la forme de départ et la forme d'arrivée étaient identiques. Mieux répartir l'espace disponible sur les côtés pour les coupes, en utilisant d'abord l'espace disponible pour l'arrondi, puis pour le lissage s'il reste de l'espace. (Ibd320, b/277936300)
Version 1.0.0-alpha02
19 avril 2023
Publication d'androidx.graphics:graphics-shapes:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.
Modifications apportées à l'API
- La superclasse Polygon a été fusionnée avec sa sous-classe
RoundedPolygon. Tous les polygones sont désormais des polygones arrondis (facultativement). - La fonction Star (qui renvoie toujours un
RoundedPolygon, comme avant) accepte désormais une valeurinnerRadiusau lieu du paramètreinnerRadiusRatioprécédent. Les unités sont les mêmes que celles du paramètre de rayon existant, ce qui simplifie et harmonise les choses. De plus, le paramètrenumOuterVerticesa été renomménumVerticesPerRadiuspour indiquer clairement que le même nombre est appliqué aux rayons intérieur et extérieur. - Il était indiqué précédemment que
CornerRounding.radiusétait relatif à la taille du polygone, mais il s'agit (et il devrait s'agir) d'une valeur absolue, et non relative. La documentation a été mise à jour et l'annotation limitant la valeur maximale à 1,0 a été corrigée.
Version 1.0.0-alpha01
5 avril 2023
Graphics-Shapes est une nouvelle bibliothèque qui permet de créer et d'afficher facilement des formes polygonales arrondies, ainsi que d'effectuer des morphings (animations) simples et automatiques entre différentes formes.
Publication d'androidx.graphics:graphics-shapes:1.0.0-alpha01. Cette version a été publiée à partir d'une branche interne.
Nouvelles fonctionnalités
- Utilisez l'API Polygon pour créer des polygones réguliers et étoilés avec le nombre de sommets souhaité.
- Utilisez les paramètres
CornerRoundingfacultatifs pour spécifier le rayon d'arrondi et les paramètres de lissage des angles, ce qui permet d'obtenir des formes polygonales avec des angles arrondis. - Utilisez la nouvelle API
Morph(Polygon, Polygon)pour calculer automatiquement une forme "morph" dont la progression peut être définie de 0 à 1 pour animer la transition entre les formes de début et de fin. Animez cette progression au fil du temps, en dessinant le résultat à chaque frame, pour créer une animation fluide entre ces nouvelles formes arrondies.
Graphics Path version 1.0
Version 1.1.0-alpha01
13 août 2025
Publication d'androidx.graphics:graphics-path:1.1.0-alpha01. La version 1.1.0-alpha01 contient ces commits.
Correction de bugs
- Ajoutez l'implémentation pour la conversion de conique à quadratique et utilisez-la sur les plates-formes hôtes. f059b1
Version 1.0.1
1er mai 2024
Publication d'androidx.graphics:graphics-path:1.0.1. La version 1.0.1 contient ces commits.
Correction de bugs
- Améliorations apportées aux indicateurs du compilateur.
Version 1.0.0
6 mars 2024
Publication d'androidx.graphics:graphics-path:1.0.0.
Version 1.0.0-rc01
21 février 2024
Publication d'androidx.graphics:graphics-path:1.0.0-rc01. Liste des commits de la version 1.0.0-rc01
Correction de bugs
- Amélioration des performances de PathIterator sur les API < 34 (Id4629)
Version 1.0.0-beta02
10 janvier 2024
Les modifications apportées à cette version visaient toutes à réduire la taille de la bibliothèque, qui était plus grande que nécessaire en raison des hypothèses faites par le code natif.
Publication d'androidx.graphics:graphics-path:1.0.0-beta02. Liste des commits de la version 1.0.0-beta02
Correction de bugs
- La taille de
libandroidx.graphics.path.soa été réduite de 96 %. (I71397) - Réduis la taille de
libandroidx.graphics.path.sode 5 %. (I2da7c) - Les composants natifs de
androidx.graphics:graphics-pathont été réduits de 43 %. (I8e40d)
Version 1.0.0-beta01
29 novembre 2023
Publication d'androidx.graphics:graphics-path:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01
Modifications apportées à l'API
- Suppression des utilisations de l'API expérimentale
isAtLeastU(). (Ie9117, b/289269026)
Correction de bugs
- Diverses corrections et améliorations des performances, y compris la façon dont la bibliothèque gère les coniques.
Version 1.0.0-alpha02
7 juin 2023
Publication d'androidx.graphics:graphics-path:1.0.0-alpha02. Cette version est développée dans une branche interne.
Nouvelles fonctionnalités
- Résolution d'un problème lié à la vérification interne de la version de la plate-forme, qui entraînait des problèmes lors de l'exécution sur les aperçus d'Android 14 (la vérification de la version échouait, mais le mécanisme permettant d'effectuer des opérations sur les versions précédentes ne fonctionnait pas correctement sur Android 14 en particulier).
Version 1.0.0-alpha01
22 mars 2023
Publication d'androidx.graphics:graphics-path:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
- Cette nouvelle bibliothèque permet d'interroger les données de chemin via la nouvelle API
PathIterator. À l'aide de cette API, les appelants peuvent parcourir tous les segments d'un objet Path pour déterminer l'opération et les données de ces segments. - La bibliothèque utilise des API similaires à celles introduites dans la preview d'Android 14, mais cette version AndroidX de l'API fonctionne également sur les versions antérieures à l'API 21.
Graphics Core version 1.0
Version 1.0.3
26 mars 2025
Publication d'androidx.graphics:graphics-core:1.0.3. La version 1.0.3 contient ces commits.
Correction de bugs
- Correction des scintillements en plein écran lors du dessin sur certains appareils avec API<33.
Version 1.0.2
16 octobre 2024
Publication d'androidx.graphics:graphics-core:1.0.2. La version 1.0.2 contient ces commits.
Correction de bugs
- Correction d'un problème qui entraînait la gestion des instances
SurfaceControlpar le compositeur système même après leur publication. - Résolution du problème où l'instance
HardwareBufferactuellement présentée n'était pas libérée après la suppression des dépendances à faible latence - Correction d'un problème de scintillement sur certains appareils équipés d'Android 14 ou d'une version ultérieure qui ne prenaient pas en charge l'indicateur d'utilisation du tampon avant
Version 1.0.1
4 septembre 2024
Publication d'androidx.graphics:graphics-core:1.0.1. La version 1.0.1 contient ces commits.
Correction de bugs
- Résolution du problème qui empêchait parfois la libération des ressources mémoire.
Version 1.0.0
29 mai 2024
Publication d'androidx.graphics:graphics-core:1.0.0. La version 1.0.0 contient ces commits.
Principales fonctionnalités de la version 1.0.0
- Version stable officielle de la bibliothèque graphics-core. Inclut des corrections de bugs mineurs et des améliorations des performances par rapport à la version 1.0.0-rc01
Version 1.0.0-rc01
17 avril 2024
Publication d'androidx.graphics:graphics-core:1.0.0-rc01. Cette version est développée dans une branche interne.
Correction de bugs
- Correction d'un problème entraînant une double fermeture potentielle des descripteurs de fichiers avec
CanvasBufferedRendererAPIsur certains appareils Android équipés d'Android 14. - Correction d'un problème qui empêchait
FrameBufferde supprimer correctement les instances de framebuffer.
Version 1.0.0-beta01
13 décembre 2023
Publication d'androidx.graphics:graphics-core:1.0.0-beta01. Liste des commits de la version 1.0.0-beta01
Nouvelles fonctionnalités
- Ajout d'une API
LowLatencyCanvasViewpour la prise en charge du rendu à faible latence avec les API graphiques 2D d'Android (Canvas + Paint) dans la hiérarchie View. - Introduction de l'API
CanvasBufferedRendererpour prendre en charge le rendu Canvas avec accélération matérielle dans unHardwareBuffer. Cela peut être utilisé pour dessiner une partie d'une interface utilisateur dans un tampon qui peut être converti en bitmap à l'aide de l'APIBitmap.wrapHardwareBuffer.
Modifications apportées à l'API
- Mise à jour de l'API
CanvasBufferRenderer#releaseBufferpour inclure un paramètre de clôture facultatif. Mise à jour de la documentation pour décrire quandRenderResult#fenceest renvoyé. (If1ea7) - Ajout de la méthode
drawàRenderRequestpour permettre l'utilisation de coroutines pour planifier les demandes de dessin. L'ancienne méthode de dessin qui consommait un exécuteur a été renomméedrawAsync. La méthodeisClosed()a été refactorisée en propriété. (I5bff6) - Paramètre de format de tampon exposé à
CanvasFrontBufferRendererpour mapper directement àCanvasBufferedRenderer.Builder#setBufferFormat(I0f272) - Création de l'API
CanvasBufferedRendererpour gérer le rendu du canevas accéléré par le matériel dans unHardwareBuffer. Cela fournit une implémentation rétroportée à Android Q, ainsi qu'une configuration d'une profondeur de chaîne d'échange deHardwareBuffers. La configurationColorSpaceest toujours limitée à Android U+, mais l'implémentation de compatibilité fournit un comportement no-op au nom des développeurs. (I9b1d8) - Ajoutez les API
setFrameRate/clearFrameRateàSurfaceControlCompat.Transactionafin de contrôler la fréquence d'images en même temps que la stratégie de modification pour des transitions fluides ou par défaut. (I6045c) - Le niveau d'API requis pour
setDataSpaceest passé d'Android T à Android Q. (I59c34) - Ajout du rappel
onBufferReleasedà l'APIGLFrameBufferRendererpour permettre aux consommateurs de nettoyer l'état lorsqu'un tampon n'est plus présenté (I8a4e2). - Créez
LowLatencyCanvasViewpour prendre en charge un cas d'utilisation simple de rendu de contenu à faible latence synchronisé avec le rendu de la hiérarchie des vues. Cela permet d'atténuer les complexités associées à la gestion deSurfaceViewen gérant en interne l'instanceSurfaceViewqui est traduite à l'écran ou hors écran pour un rendu synchronisé et à faible latence, respectivement. (I9253b) - Ajout de la prise en charge de la configuration de l'espace colorimétrique à l'API
CanvasFrontBufferedRenderer. Mise à jour des rappels multibuffer pour inclure également leSurfaceControlmis en mémoire tampon à l'arrière-plan (I24bd9)
Version 1.0.0-alpha05
6 septembre 2023
Publication d'androidx.graphics:graphics-core:1.0.0-alpha05. Liste des commits de la version 1.0.0-alpha05.
Nouvelles fonctionnalités
- Introduction de l'API
GLFrameBufferRenderer. Cela fournit une combinaison de dépendances OpenGL, de configuration de la chaîne d'échange, de formats de pixels et de configurationSurfaceControl. (Ic775b)
Modifications apportées à l'API
- Ajout de paramètres de largeur et de hauteur à diverses API de rappel pour transmettre les dimensions depuis
SurfaceHolder#Callbacks. (I7f9fc) - Ajout d'une API claire pour effacer les calques tamponnés avant et multiples. (Ic1f95)
- Ajout de la compatibilité pour configurer le type de tampon sous-jacent des chaînes d'échange utilisées dans
GLFrontBufferedRenderer. (I07a13) - Ajout de propriétés Kotlin pour les getters sur
GLFrameBufferRenderer, annotationIntRangepour le nombre maximal d'entrées de mémoire tampon, et annotationsHardwareBufferFormartetHardwareBufferUsagepoursetFormat/setUsagerespectivement. (Ief89e) - Mise à jour de l'API
setBuffersur les transactionsSurfaceControlpour fournir une barrière de synchronisation. (Ice1bb) - Ajout d'API
SurfaceControlCompat.Transactionpour configurer l'espace de données et définir la plage de luminosité étendue. (Ic378d)
Version 1.0.0-alpha04
7 juin 2023
Publication d'androidx.graphics:graphics-core:1.0.0-alpha04. Liste des commits de la version 1.0.0-alpha04
Nouvelles fonctionnalités
- Introduction de
CanvasFrontBufferedRendererpour prendre en charge les graphiques à faible latence à l'aide de l'APIandroid.graphics.Canvasen plus de l'implémentation OpenGL existante
Modifications apportées à l'API
- Mise à jour de l'API
SurfaceControlCompat.Transaction#setBufferpour autoriser les instancesHardwareBufferpouvant être nulles afin de refléter l'API de plate-forme correspondante (I173d7) - Renommez les méthodes faisant référence au rendu double tampon en rendu multitampon, car la chaîne d'échange sous-jacente peut contenir plus de deux tampons. (I830d7)
- Créez l'API
CanvasFrontBufferedRendererpour permettre aux tiers d'exploiter un système de rendu avec mise en mémoire tampon frontale à l'aide de l'API Canvas. (Ibfc29)
Correction de bugs
- Résolution du problème où
GLFrontBufferedRenderern'affichait pas le contenu après la réactivation de l'activité correspondante. - Résolution d'un problème qui entraînait l'effacement prématuré du contenu de la mémoire tampon avant.
- Correction d'un problème qui empêchait la suppression de
SurfaceHolder.Callbacksaprès la publication des API graphiques à faible latence.
Version 1.0.0-alpha03
22 mars 2023
Publication d'androidx.graphics:graphics-core:1.0.0-alpha03. Liste des commits de la version 1.0.0-alpha03
Modifications apportées à l'API
- L'implémentation du rappel
GLFrontBufferedRenderera été mise à jour pour fournir un objetBufferInfocontenant la largeur/hauteur du tampon ainsi qu'un identifiant de tampon de frame pouvant être utilisé pour cibler à nouveau la destination d'origine après le rendu dans un tampon de travail intermédiaire. (I7fe20) - Consolidation de la création de
SyncFencedans la méthode de fabrique statique surSyncFenceCompat. - Suppression de la méthode de compatibilité publique pour
eglDupNativeFenceFDANDROIDau profit de la méthode de fabriqueSyncFenceCompatpour la création de SyncFence. Cela permet de s'assurer que toutes les surfaces d'API reçoivent la bonne implémentationSyncFence, quel que soit le niveau d'API. (I849bb) - Ajout de documentation pour
FrameBufferRendereretSyncStrategy.- Déplacement de
FrameBufferRenderer,FrameBufferetFrameBufferPoolvers le packageandroidx.graphics.opengl - Déplacement de
SyncStrategyvers le packageandroidx.graphics.opengl - Documents
RenderCallback#onDrawmis à jour - Mise à jour de la documentation de
RenderCallback#obtainFrameBufferindiquant que l'implémenteur de l'API est responsable de l'appel deFrameBuffer.close - Mise à jour de
onDrawCompletepour indiquer que les consommateurs sont responsables de l'envoi des contenus à afficher - Déplacement des interfaces/classes de compatibilité
SyncFencevers le packageandroidx.hardwarepour refléter le framework - L'API
SyncFencea été renomméeSyncFenceV19et rendue privée pour consolider les utilisations dansSyncFenceCompat, qui exploite l'APISyncFencedu framework dans la mesure du possible. (I5149c)
- Déplacement de
- Ajout des méthodes
GLFrontBufferedRenderer#canceletGLFrontBufferedRenderer#execute. Le premier est utile dans les scénarios de rejet de la paume où le rendu dans le tampon avant doit être annulé et le tampon avant masqué. Cette dernière est utile dans les scénarios de manipulation d'objets sur le thread GL sans avoir à planifier un rendu. (If0b7f) - Ajoutez une API pour effectuer le rendu directement sur la couche à double tampon. Cela permet de rendre à nouveau une scène après la reprise et donne aux consommateurs la possibilité de déterminer de manière sélective quand utiliser le rendu avec tampon avant de manière dynamique en fonction de la scène à rendre. (Ied56c)
- Ajout d'une nouvelle API à
SurfaceControlCompat.Builderpour permettre la configuration duSurfaceControlparent à partir d'une autre instanceSurfaceControl, en plus du mécanisme existant à partir d'unSurfaceView. (I1d1b6) - Possibilité de valeur nulle de type renvoyé accrue pour les fonctions obsolètes ou masquées. (Ibf7b0)
- Ajout de la constante d'extension
EGL_ANDROID_get_native_client_bufferpour déterminer si l'appareil Android est compatible avec l'importation d'instancesHardwareBufferdans des objetsEGLClientBufferpouvant être utilisés comme instanceEGLImage. (Iad767) - Ajout de l'annotation
@JvmDefaultWithCompatibility. (I8f206)
Version 1.0.0-alpha02
9 novembre 2022
Publication d'androidx.graphics:graphics-core:1.0.0-alpha02. Liste des commits de la version 1.0.0-alpha02.
Modifications apportées à l'API
- Correction de l'annotation
RequiresApimanquante pouraddTransactionCommitListener, introduite dans Android S. (I0a035) - Les rappels de tampon
onDraw<Front/Double>ont été mis à jour pour fournir une matrice de transformation que les consommateurs peuvent transmettre à leurs nuanceurs de sommet en plus de la largeur/hauteur de tampon actuelle. Les consommateurs doivent utiliser ces paramètres pour effectuer une prérotation correcte de leur code de rendu OpenGL. (I82f9e)
Correction de bugs
- Amélioration de la latence graphique grâce à la prérotation des tampons avant l'émission de transactions
SurfaceControl. - Résolution du problème lié aux journaux d'erreurs qui affichaient l'erreur 300d (EGL_BAD_SURFACE).
- Résolution du problème où
GLFrontBufferedRenderern'était pas valide après la réactivation de l'activité correspondante. - Amélioration de la compatibilité avec les émulateurs et les appareils Chrome OS.
- Résolution de problème qui entraînait le masquage prématuré de la couche avant de la mémoire tampon.
Version 1.0.0-alpha01
24 octobre 2022
Publication d'androidx.graphics:graphics-core:1.0.0-alpha01. Liste des commits de la version 1.0.0-alpha01
Nouvelles fonctionnalités
- Version initiale de la bibliothèque graphique principale AndroidX. Inclut les API compatibles avec les cas d'utilisation à faible latence, comme la saisie au stylet. Introduction également d'API d'aide pour utiliser OpenGL.
Modifications apportées à l'API
- Introduction de
GLFrontBufferedRendererpour faciliter l'affichage multitampon et avant, afin d'obtenir une sortie à faible latence et de haute qualité. - Introduction de l'API
GLRendererpour faciliter le rendu OpenGL pour divers fournisseurs de surfaces, commeSurfaceViewetTextureView, entre autres.