gráficos
Esta tabela lista todos os artefatos no grupo androidx.graphics
.
Artefato | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
---|---|---|---|---|
graphics-core | 1.0.3 | - | - | - |
graphics-path | 1.0.1 | - | - | - |
gráficos-formas | 1.0.1 | - | - | 1.1.0-alpha01 |
Declarar dependências
Para adicionar uma dependência a Graphics, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle
do
seu app ou módulo:
Groovy
dependencies { implementation "androidx.graphics:graphics-core:1.0.3" implementation "androidx.graphics:graphics-path:1.0.1" implementation "androidx.graphics:graphics-shapes:1.1.0-alpha01" }
Kotlin
dependencies { implementation("androidx.graphics:graphics-core:1.0.3") implementation("androidx.graphics:graphics-path:1.0.1") implementation("androidx.graphics:graphics-shapes:1.1.0-alpha01") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Não há notas de versão para este artefato.
Versão de gráficos 1.1
Versão 1.1.0-alpha01
11 de dezembro de 2024
Lançamento de androidx.graphics:graphics-*:1.1.0-alpha01
. A versão 1.1.0-alpha01 contém estas confirmações.
Novos recursos
- Refiz a demonstração principal em um editor de formas genérico. Isso permite importar formas de um caminho SVG, editar manualmente os recursos detectados em caso de falhas no processo automático e exportar o resultado para um código que pode ser usado em produção. (I1ac13).
- Substitua as medições de ângulo para o progresso do contorno da forma por medições de comprimento da curva. Isso permite que formas mais complexas sejam usadas para transformação. (I75478) , I390dd
- Melhoramos o algoritmo de mapeamento de recursos para que mais transformações pareçam mais naturais. (I83287)
Mudanças na API
- Adição da importação de caminhos SVG e do serializador de recursos. O fluxo normal é:
- Use o novo
SvgPathParser.parseFeatures()
para converter um caminho SVG (o valor do atributod
no elementopath
de um SVG) em umList<Feature>
. - Isso pode ser modificado e serializado em uma string com
FeatureSerializer.serialize()
. - A string resultante pode ser usada no código de produção, importando-a com
FeatureSerializer.parse()
. - As etapas 1 e 2 são realizadas uma vez e podem ser feitas com o novo app. O código de produção só precisa fazer a etapa 3. (I9bd00, b/371196190), (Ic3842), (If68ed), (I10251)
- Use o novo
- Expor recursos e tipos de recursos de polígonos. Agora,
RoundedPolygons
mais genéricos podem ser criados com o construtor de base que usa umList<Features>
. Os recursos são principalmente uma lista de curvas de Bézier cúbicas, mas são marcados para ajudar o algoritmo de transformação a corresponder entre as formas inicial e final (cantos convexos são mapeados para cantos convexos e cantos côncavos são mapeados para cantos côncavos). (I61e76), (I1fc5c) - Adiciona suporte para o destino
watchosDeviceArm64
KMP e o destino kotlin 1.9. (Icf15d, b/364652024)
Correções de bugs
- Corrigimos um caso extremo em que o último recurso estava vazio. (I390dd)
- Tornar a criação de
RoundedPolygon
mais robusta. (Ib862c, b/360888486) - Correção de um bug na inicialização do
RoundedPolygon
. (I83ddb). - Corrigimos um erro no algoritmo para estimar o centro do polígono. (Ida147).
Graphics Shapes: versão 1.0
Versão 1.0.1
4 de setembro de 2024
Lançamento de androidx.graphics:graphics-shapes:1.0.1
, androidx.graphics:graphics-shapes-android:1.0.1
e androidx.graphics:graphics-shapes-desktop:1.0.1
. A versão 1.0.1 contém estas confirmações.
Versão 1.0.0
21 de agosto de 2024
Lançamento de androidx.graphics:graphics-shapes:1.0.0
, androidx.graphics:graphics-shapes-android:1.0.0
e androidx.graphics:graphics-shapes-desktop:1.0.0
. A versão 1.0.0 contém estas confirmações.
Versão 1.0.0-rc01
24 de julho de 2024
Lançamento de androidx.graphics:graphics-shapes:1.0.0-rc01
, androidx.graphics:graphics-shapes-android:1.0.0-rc01
e androidx.graphics:graphics-shapes-desktop:1.0.0-rc01
. A versão 1.0.0-rc01 contém estas confirmações.
Versão 1.0.0-beta01
1º de maio de 2024
Lançamento de androidx.graphics:graphics-shapes:1.0.0-beta01
, androidx.graphics:graphics-shapes-android:1.0.0-beta01
e androidx.graphics:graphics-shapes-desktop:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Mudanças na API
- Permite que as formas sejam pré-giradas para começar em um ponto diferente. Essa mudança permite que as formas
pillStar
iniciem as curvas em um ponto não padrão no perímetro. Isso pode ser útil ao animar o traçado do caminho da forma para começar a desenhar de um local específico no contorno da forma. (Ifbb4d, b/324303807) - Adicionamos funções
calculateBounds()
ao Morph, que são paralelas às mesmas funções noRoundedPolygon
. (I8a3b6, b/325463575)
Versão 1.0.0-alpha05
7 de fevereiro de 2024
Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha05
, androidx.graphics:graphics-shapes-android:1.0.0-alpha05
e androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05
. A versão 1.0.0-alpha05 contém estas confirmações.
Novos recursos
- Agora, a biblioteca oferece novas funções
pill()
epillStar()
para facilitar a criação dessas formas arredondadas/estreladas. Também há novas APIs para calcular os limites exatos necessários para uma forma (os limites anteriores eram apenas uma estimativa com base na âncora e nos pontos de controle da curva de Bézier subjacente), bem como os limites máximos possíveis, que podem ser úteis para determinar o tamanho do contêiner que a contém se ela for girada dentro desse contêiner. (I71827).
Mudanças na API
- Agora há mais opções para recuperar limites exatos e máximos. (I6d49f, b/317286450)
Correções de bugs
- Havia artefatos de renderização ocasionais ao desenhar essas formas como caminhos traçados, devido a um problema de renderização de baixo nível relacionado a curvas de comprimento zero. Esse bug foi corrigido com a eliminação de todas as curvas de comprimento zero (que as formas não precisam, economizando também a sobrecarga dos caminhos produzidos pelas formas).
Versão 1.0.0-alpha04
13 de dezembro de 2023
Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha04
, androidx.graphics:graphics-shapes-android:1.0.0-alpha04
e androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Novos recursos
- Esta versão contém várias mudanças na API, além de correções de bugs.
- Muitas das mudanças na API tornam a biblioteca Shapes compatível com o KMP. Isso facilita a chamada de código não Android, como código do Compose independente do Android. Por exemplo, não há tipos do Android na API, como os tipos PointF, Matrix e Path anteriores.
- Também foram feitas várias mudanças nas APIs e na implementação por motivos de performance, especificamente para minimizar a alocação (e coleta) de objetos. Por exemplo, a mudança de PointF para parâmetros Float separados evita a alocação de muitas estruturas PointF temporárias para armazenar esses vértices.
Mudanças na API
- Substituímos
Morph.asMutableCubics
por uma função para iterar sobre oMutableCubics
. Mudança na interface funcionalPointTransformer
. Agora ela usa coordenadas x e y de umPoint
e retorna umTransformedResult
(construído com as coordenadas x e y transformadas). (I6719e) - O construtor público
Cubic
foi removido e transformado em uma função de fábrica. (I409ce). - Adição de APIs de transformação e desenho específicas do Android (I079f6, b/292289543).
- Eliminação das dependências do Android (Iadc1c, b/292289543).
- Os nomes das propriedades de ancoragem e controle agora são mais sensatos (If13bd, b/294562941).
- Os parâmetros
PointF
foram alterados para paresFloat
(Id4705, b/276466399, b/290254314). - Agora,
progress
é transmitido diretamente para os comandos de desenhoMorph
(Icdca2).
Correções de bugs
- Correção de um bug ao criar formas grandes. (I4fd66, b/313497325).
Versão 1.0.0-alpha03
7 de junho de 2023
Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Mudanças na API
- Adição da nova função
RoundedPolygon.rectangle()
(I78e7e, b/280322189). - As funções "Star" e "Circle" agora são minúsculas e chamadas pelo objeto complementar de
RoundedPolygon
. Por exemplo:RoundedPolygon.star(...)
(I14735)
Correções de bugs
- Correção de um bug na suavização (Ibf894).
- Correção de um bug que ocorria quando as formas de início e fim eram iguais. Melhor distribuição do espaço disponível na lateral para cortes, primeiro usando o espaço disponível para arredondamento e, depois, para suavização, se houver espaço restante. (Ibd320, b/277936300)
Versão 1.0.0-alpha02
19 de abril de 2023
Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Mudanças na API
- A superclasse Polygon foi mesclada com a subclasse
RoundedPolygon
. Agora, todos os polígonos são polígonos arredondados [opcionalmente]. - A função Star (que ainda retorna um
RoundedPolygon
, como antes) agora usa um valorinnerRadius
, em vez do parâmetroinnerRadiusRatio
anterior. Isso está nas mesmas unidades do parâmetro de raio atual, o que torna as coisas mais simples e consistentes. Além disso, o parâmetronumOuterVertices
foi renomeado comonumVerticesPerRadius
para esclarecer que o mesmo número é aplicado aos raios interno e externo. - Antes,
CornerRounding.radius
era documentado como relativo ao tamanho do polígono, mas era (e deve ser) um valor absoluto, não relativo. A documentação foi atualizada, e a anotação que limitava a um valor máximo de 1,0 foi corrigida.
Versão 1.0.0-alpha01
5 de abril de 2023
O Graphics-Shapes é uma nova biblioteca que permite a criação e a renderização fáceis de formas poligonais arredondadas, além de transformação (animação) simples e automática entre diferentes formas.
Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha01
. Esta versão foi lançada em uma ramificação interna.
Novos recursos
- Use a API Polygon para criar polígonos regulares e estrelados com o número desejado de vértices.
- Use parâmetros
CornerRounding
opcionais para especificar o raio de arredondamento e os parâmetros de suavização dos cantos, resultando em formas poligonais com cantos arredondados. - Use a nova API
Morph(Polygon, Polygon)
para calcular automaticamente uma forma de "transformação" cujo progresso pode ser definido de 0 a 1 para animar entre as formas inicial e final. Anime esse progresso ao longo do tempo, desenhando o resultado em cada frame, para criar uma animação suave entre essas novas formas arredondadas.
Graphics Path: versão 1.0
Versão 1.0.1
1º de maio de 2024
Lançamento de androidx.graphics:graphics-path:1.0.1
. A versão 1.0.1 contém estas confirmações.
Correções de bugs
- Melhorias nos flags do compilador.
Versão 1.0.0
6 de março de 2024
Lançamento de androidx.graphics:graphics-path:1.0.0
.
Versão 1.0.0-rc01
21 de fevereiro de 2024
Lançamento de androidx.graphics:graphics-path:1.0.0-rc01
. A versão 1.0.0-rc01 contém estas confirmações.
Correções de bugs
- Melhoria na performance de PathIterator em APIs < 34 (Id4629).
Versão 1.0.0-beta02
10 de janeiro de 2024
As mudanças nesta versão foram todas sobre a redução do tamanho da biblioteca, que era maior do que o necessário devido a pressupostos feitos pelo código nativo.
Lançamento de androidx.graphics:graphics-path:1.0.0-beta02
. A versão 1.0.0-beta02 contém estas confirmações.
Correções de bugs
- O tamanho de
libandroidx.graphics.path.so
foi reduzido em 96%. (I71397) - Reduza o tamanho de
libandroidx.graphics.path.so
em 5%. (I2da7c). - Reduzimos os componentes nativos de
androidx.graphics:graphics-path
em 43%. (I8e40d).
Versão 1.0.0-beta01
29 de novembro de 2023
Lançamento de androidx.graphics:graphics-path:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Mudanças na API
- Remoção de usos da API
isAtLeastU()
experimental (Ie9117, b/289269026).
Correções de bugs
- Várias correções e melhorias de desempenho, incluindo como a biblioteca lida com cônicas.
Versão 1.0.0-alpha02
7 de junho de 2023
Lançamento de androidx.graphics:graphics-path:1.0.0-alpha02
. Esta versão foi desenvolvida em uma ramificação interna.
Novos recursos
- Foi corrigido um problema com a verificação interna da versão da plataforma que causava problemas ao executar em prévias do Android 14. A verificação da versão falhava, mas o mecanismo para fazer coisas em versões anteriores não funcionava corretamente no Android 14.
Versão 1.0.0-alpha01
22 de março de 2023
Lançamento de androidx.graphics:graphics-path:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
- Essa nova biblioteca permite consultar dados de caminho usando a nova API
PathIterator
. Com essa API, os chamadores podem iterar por todos os segmentos de um objeto "Path" para determinar a operação e os dados desses segmentos. - A biblioteca usa APIs semelhantes às introduzidas na prévia do Android 14, mas essa versão AndroidX da API também funciona em versões anteriores à API 21.
Graphics Core: versão 1.0
Versão 1.0.3
26 de março de 2025
Lançamento de androidx.graphics:graphics-core:1.0.3
. A versão 1.0.3 contém estas confirmações.
Correções de bugs
- Correção de tremulações em tela cheia ao desenhar em determinados dispositivos com API<33.
Versão 1.0.2
16 de outubro de 2024
Lançamento de androidx.graphics:graphics-core:1.0.2
. A versão 1.0.2 contém estas confirmações.
Correções de bugs
- Corrigimos o problema em que as instâncias
SurfaceControl
ainda eram gerenciadas pelo compositor do sistema mesmo depois de serem liberadas. - Correção de um problema em que a instância
HardwareBuffer
apresentada no momento não era liberada depois que as dependências de baixa latência eram descartadas. - Correção de um problema de oscilação em determinados dispositivos Android 14 ou versões mais recentes que não tinham suporte à flag de uso do buffer frontal.
Versão 1.0.1
4 de setembro de 2024
Lançamento de androidx.graphics:graphics-core:1.0.1
. A versão 1.0.1 contém estas confirmações.
Correções de bugs
- Correção de um problema em que os recursos de memória não eram liberados ocasionalmente.
Versão 1.0.0
29 de maio de 2024
Lançamento de androidx.graphics:graphics-core:1.0.0
. A versão 1.0.0 contém estas confirmações.
Principais recursos da versão 1.0.0
- Versão estável oficial da biblioteca graphics-core. Inclui pequenas correções de bugs e melhorias de desempenho da versão 1.0.0-rc01.
Versão 1.0.0-rc01
17 de abril de 2024
Lançamento de androidx.graphics:graphics-core:1.0.0-rc01
. Esta versão foi desenvolvida em uma ramificação interna.
Correções de bugs
- Correção de um problema que levava ao possível fechamento duplo de descritores de arquivo com o
CanvasBufferedRendererAPI
em determinados dispositivos Android com o Android 14. - Correção de um problema em que o
FrameBuffer
não excluía corretamente as instâncias de framebuffer.
Versão 1.0.0-beta01
13 de dezembro de 2023
Lançamento de androidx.graphics:graphics-core:1.0.0-beta01
. A versão 1.0.0-beta01 contém estas confirmações.
Novos recursos
- Introduzimos uma nova API
LowLatencyCanvasView
para oferecer suporte à renderização de baixa latência com as APIs de gráficos 2D do Android (Canvas + Paint) na hierarquia de visualização. - Introduzida a API
CanvasBufferedRenderer
para oferecer suporte à renderização de tela acelerada por hardware em umHardwareBuffer
. Isso pode ser usado para desenhar uma parte de uma interface do usuário em um buffer que pode ser convertido em um bitmap usando a APIBitmap.wrapHardwareBuffer
.
Mudanças na API
- A API
CanvasBufferRenderer#releaseBuffer
foi atualizada para ter um parâmetro de limite opcional. Atualizamos a documentação para descrever quandoRenderResult#fence
é retornado. (If1ea7) - Adicione o método
draw
aRenderRequest
para aproveitar as corrotinas e programar solicitações de desenho. Renomeamos o método de extração anterior que consumia um executor paradrawAsync
. Refatoração do métodoisClosed()
para uma propriedade. (I5bff6). - O parâmetro de formato de buffer exposto para
CanvasFrontBufferRenderer
foi mapeado diretamente paraCanvasBufferedRenderer.Builder#setBufferFormat
(I0f272). - Criação da API
CanvasBufferedRenderer
para processar a renderização de tela acelerada por hardware em umHardwareBuffer
. Isso fornece uma implementação de backport para o Android Q, além da configuração de uma profundidade de cadeia de troca deHardwareBuffers
. A configuraçãoColorSpace
ainda é limitada ao Android U+, mas a implementação de compatibilidade não oferece comportamento de no-op em nome dos desenvolvedores. (I9b1d8) - Adicione APIs
setFrameRate
/clearFrameRate
aSurfaceControlCompat.Transaction
para controlar a taxa de frames e a estratégia de mudança para transições perfeitas ou padrão. (I6045c) - Reduzimos o nível de API necessário para
setDataSpace
do Android T para o Android Q. (I59c34). - Adição do callback
onBufferReleased
à APIGLFrameBufferRenderer
para dar aos consumidores a oportunidade de limpar o estado quando um buffer não estiver mais sendo apresentado (I8a4e2) - Crie
LowLatencyCanvasView
para oferecer suporte a um caso de uso simples de renderização de conteúdo com baixa latência que é sincronizado com a renderização da hierarquia de visualização. Isso reduz as complexidades associadas ao gerenciamento deSurfaceView
, gerenciando internamente a instância deSurfaceView
que é traduzida para fora/dentro da tela para renderização sincronizada e de baixa latência, respectivamente. (I9253b). - Adicionamos suporte à configuração de espaço de cores à API
CanvasFrontBufferedRenderer
. Callbacks multibuffer atualizados para incluir também oSurfaceControl
com buffer de retorno (I24bd9)
Versão 1.0.0-alpha05
6 de setembro de 2023
Lançamento de androidx.graphics:graphics-core:1.0.0-alpha05
. A versão 1.0.0-alpha05 contém estas confirmações.
Novos recursos
- Lançamento da API
GLFrameBufferRenderer
. Isso fornece uma combinação de dependências do OpenGL, configuração da cadeia de troca, formatos de pixel e configuraçãoSurfaceControl
. (Ic775b)
Mudanças na API
- Adicionamos parâmetros de largura e altura a várias APIs de callback para transmitir dimensões de
SurfaceHolder#Callbacks
. (I7f9fc) - Adicionamos uma API de limpeza para limpar as camadas frontais e com vários buffers. (Ic1f95).
- Adicionamos suporte para configurar o tipo de buffer das cadeias de troca usadas em
GLFrontBufferedRenderer
. (I07a13). - Adição de propriedades Kotlin para getters em
GLFrameBufferRenderer
, anotaçãoIntRange
para entradas máximas de buffer e anotaçõesHardwareBufferFormart
eHardwareBufferUsage
parasetFormat
/setUsage
, respectivamente. (Ief89e) - A API
setBuffer
foi atualizada em transaçõesSurfaceControl
para fornecer uma barreira de lançamento. (Ice1bb). - Adição de APIs
SurfaceControlCompat.Transaction
para configurar o espaço de dados e definir o intervalo de brilho estendido. (Ic378d).
Versão 1.0.0-alpha04
7 de junho de 2023
Lançamento de androidx.graphics:graphics-core:1.0.0-alpha04
. A versão 1.0.0-alpha04 contém estas confirmações.
Novos recursos
- Introdução do
CanvasFrontBufferedRenderer
para oferecer suporte a gráficos de baixa latência usando a APIandroid.graphics.Canvas
junto com a implementação do OpenGL
Mudanças na API
- A API
SurfaceControlCompat.Transaction#setBuffer
foi atualizada para permitir instânciasHardwareBuffer
anuláveis e espelhar a API da plataforma correspondente (I173d7). - Renomeie os métodos que se referem à renderização de buffer duplo para buffer múltiplo, já que a cadeia de troca de suporte pode conter mais de dois buffers. (I830d7)
- Crie a API
CanvasFrontBufferedRenderer
para permitir que terceiros aproveitem um sistema de renderização com buffer frontal usando a API Canvas. (Ibfc29).
Correções de bugs
- Corrigimos o problema em que o
GLFrontBufferedRenderer
não renderizava o conteúdo após a retomada da atividade correspondente. - Corrigimos o problema em que o conteúdo armazenado em buffer na frente era limpo de forma prematura.
- Correção de um problema em que
SurfaceHolder.Callbacks
não era removido após o lançamento de APIs de gráficos de baixa latência.
Versão 1.0.0-alpha03
22 de março de 2023
Lançamento de androidx.graphics:graphics-core:1.0.0-alpha03
. A versão 1.0.0-alpha03 contém estas confirmações.
Mudanças na API
- A implementação do callback
GLFrontBufferedRenderer
foi atualizada para fornecer o objetoBufferInfo
, que contém largura/altura do buffer e um identificador de buffer de frame que pode ser usado para redirecionar o destino original após a renderização em um buffer de scratch intermediário. (I7fe20). - Criação de
SyncFence
consolidada para o método de fábrica estática emSyncFenceCompat
. - O método de compatibilidade pública para
eglDupNativeFenceFDANDROID
foi removido em favor do método de fábricaSyncFenceCompat
para criação de SyncFence. Isso garante que todas as superfícies da API recebam a implementação correta doSyncFence
, seja qual for o nível da API. (I849bb). - Adicionamos uma documentação para
FrameBufferRenderer
eSyncStrategy
.FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
movido para o pacoteandroidx.graphics.opengl
SyncStrategy
movido para o pacoteandroidx.graphics.opengl
- Documentos do
RenderCallback#onDraw
atualizados - Atualização da documentação de
RenderCallback#obtainFrameBuffer
, em que o implementador da API é responsável por chamarFrameBuffer.close
- Atualizamos o
onDrawComplete
para indicar que os consumidores são responsáveis por enviar o conteúdo a ser exibido. - Movemos as interfaces/classes de compatibilidade do
SyncFence
para o pacoteandroidx.hardware
para espelhar o framework. - A API
SyncFence
foi renomeada comoSyncFenceV19
e tornou-se particular para consolidar os usos emSyncFenceCompat
, que aproveita a APISyncFence
do framework sempre que possível. (I5149c).
- Adição dos métodos
GLFrontBufferedRenderer#cancel
eGLFrontBufferedRenderer#execute
. O primeiro é útil em cenários de rejeição de toque com a palma da mão, em que a renderização no buffer frontal precisa ser cancelada e o buffer frontal precisa ser ocultado. O último é útil em cenários para manipular objetos na linha de execução do GL sem precisar programar uma renderização. (If0b7f). - Adicione a API para renderizar diretamente na camada de buffer duplo. Isso ajuda a renderizar novamente uma cena após a retomada, além de dar aos consumidores a oportunidade de determinar seletivamente quando aproveitar a renderização com buffer frontal de forma dinâmica com base na cena desejada. (Ied56c).
- Adição de uma nova API ao
SurfaceControlCompat.Builder
para permitir a configuração doSurfaceControl
principal de outra instânciaSurfaceControl
, além do mecanismo atual de umSurfaceView
. (I1d1b6). - Mais nulidade do tipo de retorno das funções com uso oculto (Ibf7b0).
- Adicionamos a constante de extensão
EGL_ANDROID_get_native_client_buffer
para consultar se o dispositivo Android oferece suporte à importação de instânciasHardwareBuffer
em objetosEGLClientBuffer
que podem ser consumidos como uma instânciaEGLImage
. (Iad767). - A anotação
@JvmDefaultWithCompatibility
foi adicionada (I8f206).
Versão 1.0.0-alpha02
9 de novembro de 2022
Lançamento de androidx.graphics:graphics-core:1.0.0-alpha02
. A versão 1.0.0-alpha02 contém estas confirmações.
Mudanças na API
- Correção da anotação
RequiresApi
ausente noaddTransactionCommitListener
, que foi introduzida no Android S (I0a035). - Os callbacks de buffer
onDraw<Front/Double>
foram atualizados para fornecer uma matriz de transformação que os consumidores podem transmitir para os sombreadores de vértice, além da largura e altura do buffer atual. Os consumidores são responsáveis por usar esses parâmetros para pré-rotacionar da forma correta o código de renderização do OpenGL (I82f9e).
Correções de bugs
- Melhorada a latência gráfica ao pré-rotacionar os buffers antes de emitir transações
SurfaceControl
. - Corrigido o problema em que os registros de erros mostravam o erro 300d (EGL_BAD_SURFACE).
- Corrigimos o problema em que o
GLFrontBufferedRenderer
era considerado inválido após a retomada da atividade correspondente. - Aumento do suporte aos emuladores e dispositivos ChromeOS.
- Corrigimos o problema em que a camada de buffer frontal podia ser ocultada de forma prematura.
Versão 1.0.0-alpha01
24 de outubro de 2022
Lançamento de androidx.graphics:graphics-core:1.0.0-alpha01
. A versão 1.0.0-alpha01 contém estas confirmações.
Novos recursos
- Versão inicial da principal biblioteca de gráficos do AndroidX. Essa versão inclui APIs compatíveis com casos de uso de baixa latência, como entrada da stylus. Também introduz algumas APIs auxiliares para uso do OpenGL.
Mudanças na API
- Introdução de
GLFrontBufferedRenderer
para auxiliar na renderização frontal e com vários buffers a fim de alcançar saída de baixa latência e alta qualidade de renderização. - Introdução da API
GLRenderer
para auxiliar na renderização do OpenGL para vários provedores de Surface, comoSurfaceView
,TextureView
e outros.