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.2 | - | - | - |
caminho-gráfico | 1.0.1 | - | - | - |
formas-gráficas | 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.2" 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.2") 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.
Graphics Version 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
- Reformulamos 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 no código de produção. (I1ac13).
- Substitua as medições de ângulo do 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.
- Melhoria no algoritmo de mapeamento de recursos, para que mais morphs pareçam mais naturais. (I83287).
Mudanças na API
- Adição de importação de caminho SVG e serializador de recursos. O fluxo normal é o seguinte:
- 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, sendo importada 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
- Exiba elementos e tipos de elementos poligonais. Agora é possível criar
RoundedPolygons
mais genéricos com o construtor base que usa umList<Features>
. Os recursos são principalmente uma lista de curvas Bézier cúbicas, mas eles são marcados para ajudar o algoritmo de transformação a corresponder às 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 ao destino
watchosDeviceArm64
do KMP e ao destino kotlin 1.9. (Icf15d, b/364652024).
Correções de bugs
- Corrigimos o caso extremo em que o último recurso estava vazio. (I390dd).
- A criação de
RoundedPolygon
ficou mais robusta. (Ib862c, b/360888486). - Correção de um bug na inicialização de
RoundedPolygon
. (I83ddb). - Corrigir um erro no algoritmo para estimar o centro do polígono. (Ida147).
Graphics Shapes: versão 1.0
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 em um local específico no contorno da forma. (Ifbb4d, b/324303807). - Foram adicionadas funções
calculateBounds()
ao Morph, que são paralelas às mesmas funções emRoundedPolygon
. (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
- A biblioteca agora oferece novas funções
pill()
epillStar()
para criar formas arredondadas/com estrelas com facilidade. Também há novas APIs para calcular os limites exatos necessários para uma forma. Os limites anteriores eram apenas uma estimativa baseada nos pontos de controle e de âncora da curva de Bezier. Além disso, há 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 dele. (I71827).
Mudanças na API
- Agora há mais opções para extrair limites exatos e máximos. (I6d49f, b/317286450).
Correções de bugs
- Às vezes, havia artefatos de renderização ao desenhar essas formas como caminhos com traços devido a um problema de renderização de baixo nível relacionado a curvas de comprimento zero. Esse bug foi corrigido eliminando todas as curvas de comprimento zero, que as formas não precisam, economizando também na 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 e correções de bugs.
- Muitas das mudanças na API tornam a biblioteca Shapes compatível com KMP. Isso facilita a chamada de códigos que não são do Android (como o código do Compose independente do Android). Por exemplo, não há tipos do Android na API, como os tipos anteriores PointF, Matrix e Path.
- Também foram feitas várias mudanças nas APIs e na implementação por motivos de desempenho, 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
Morph.asMutableCubics
foi substituído por uma função para iterar sobre oMutableCubics
. A interface funcionalPointTransformer
foi alterada. Agora, ela usa as coordenadas x e y de umPoint
e retorna umTransformedResult
, que é criado com as coordenadas x e y transformadas (I6719e).- O construtor
Cubic
público foi removido e transformado em uma função de fábrica. (I409ce). - Adição de APIs de transformação e renderização específicas do Android (I079f6, b/292289543).
- Eliminação de dependências do Android (Iadc1c, b/292289543).
- Os nomes das propriedades de âncora e controle agora são mais sensíveis (If13bd, b/294562941).
- Os parâmetros
PointF
foram alterados para paresFloat
(Id4705, b/276466399, b/290254314). progress
agora é transmitido diretamente para os comandos de exibiçãoMorph
(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
- Nova função
RoundedPolygon.rectangle()
foi adicionada (I78e7e, b/280322189). - As funções de estrela e círculo agora são descapitalizadas 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 a forma de início e de término eram iguais. Melhor distribuição do espaço disponível na lateral para cortes, primeiro usando o espaço disponível para arredondar e, em seguida, para suavizar, 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 [opcionalmente] arredondados. - A função Star (que ainda retorna um
RoundedPolygon
, como antes) agora usa um valorinnerRadius
em vez do parâmetroinnerRadiusRatio
anterior. Essa unidade é a mesma do parâmetro de raio atual, o que simplifica e torna as coisas mais consistentes. Além disso, o parâmetronumOuterVertices
foi renomeado comonumVerticesPerRadius
para esclarecer que o mesmo número é aplicado aos raios interno e externo. CornerRounding.radius
foi documentado anteriormente como sendo relativo ao tamanho do polígono, mas era (e deveria ser) um valor absoluto, não relativo. Os documentos foram atualizados, e a anotação que limitava o valor máximo a 1,0 foi corrigida.
Versão 1.0.0-alpha01
5 de abril de 2023
A Graphics-Shapes é uma nova biblioteca que permite a criação e renderização fáceis de formas poligonais arredondadas, além de morphing (animação) simples e automático entre formas diferentes.
Lançamento de androidx.graphics:graphics-shapes:1.0.0-alpha01
. O lançamento foi feito em uma ramificação interna.
Novos recursos
- Use a API Polygon para criar polígonos regulares e em estrela 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 "deformada" 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 nas 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 no desempenho do PathIterator na API < 34 (Id4629).
Versão 1.0.0-beta02
10 de janeiro de 2024
As mudanças nesta versão foram todas para reduzir o tamanho da biblioteca, que era maior do que o necessário devido a suposições feitas 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
- Reduzimos o tamanho de
libandroidx.graphics.path.so
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 experimental
isAtLeastU()
(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 de versão interna da plataforma, que causava problemas ao ser executado nas visualizações do Android 14. A verificação de versão falhava, mas o mecanismo para fazer coisas em versões anteriores não funcionava corretamente no Android 14 em particular.
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 pela nova API
PathIterator
. Com essa API, os autores de chamadas 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 do AndroidX da API também funciona em versões anteriores à API 21.
Graphics Core versão 1.0
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
- Correção de um problema em que as instâncias de
SurfaceControl
ainda eram gerenciadas pelo compositor do sistema, mesmo depois de serem lançadas. - Correção de um problema em que a instância
HardwareBuffer
apresentada atualmente não era liberada depois que as dependências de baixa latência eram descartadas - Correção do problema de cintilação em determinados dispositivos Android 14 ou 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 às vezes não eram liberados.
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 oficial estável da biblioteca de núcleo de gráficos. Inclui correções de bugs menores 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 a um possível fechamento duplo de descritores de arquivos com o
CanvasBufferedRendererAPI
em determinados dispositivos Android com o Android 14. - Correção de um problema em que
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
- Uma nova API
LowLatencyCanvasView
foi introduzida 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. - A API
CanvasBufferedRenderer
foi introduzida para oferecer suporte à renderização de tela com aceleração de 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 cerca opcional. Atualizamos a documentação para descrever quandoRenderResult#fence
é retornado. (If1ea7). - O método
draw
foi adicionado aRenderRequest
para oferecer suporte ao uso de corrotinas para programar solicitações de exibição. Renomeação do método de exibição anterior que consumia um executor paradrawAsync
. O métodoisClosed()
foi refatorado para uma propriedade. (I5bff6). - O parâmetro de formato de buffer foi exposto a
CanvasFrontBufferRenderer
para mapear 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 volta ao Android Q com a configuração de uma profundidade de swapchain deHardwareBuffers
. A configuração deColorSpace
ainda é limitada ao Android U+, mas a implementação de compatibilidade oferece um comportamento sem operação em nome dos desenvolvedores. (I9b1d8). - Adicione as APIs
setFrameRate
/clearFrameRate
aSurfaceControlCompat.Transaction
para controlar a taxa de frames com a estratégia de mudança para transições perfeitas ou padrão. (I6045c). - O nível de API necessário para
setDataSpace
foi reduzido para o Android Q, do Android T. (I59c34). - Adição de callback
onBufferReleased
à APIGLFrameBufferRenderer
para que os consumidores possam 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ânciaSurfaceView
que é traduzida para fora/na tela para renderização sincronizada e de baixa latência, respectivamente. (I9253b). - Foi adicionado suporte à configuração de espaço de cores à API
CanvasFrontBufferedRenderer
. Atualização dos callbacks com vários buffers para incluir também oSurfaceControl
com buffer de volta (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
- Introdução da API
GLFrameBufferRenderer
. Isso fornece uma combinação de dependências do OpenGL, configuração de cadeia de troca, formatos de pixel e configuração deSurfaceControl
. (Ic775b).
Mudanças na API
- Foram adicionados parâmetros de largura e altura a várias APIs de callback para encaminhar dimensões de
SurfaceHolder#Callbacks
. (I7f9fc). - A API de limpeza foi adicionada para limpar as camadas principais e multibuffer. (Ic1f95).
- Foi adicionado suporte para configurar o tipo de buffer subjacente de cadeias de troca usadas em
GLFrontBufferedRenderer
. (I07a13). - Adição de propriedades do Kotlin para getters em
GLFrameBufferRenderer
, anotaçãoIntRange
para entradas de buffer máximas e anotaçõesHardwareBufferFormart
eHardwareBufferUsage
parasetFormat
/setUsage
, respectivamente. (Ief89e). - A API
setBuffer
foi atualizada em transaçõesSurfaceControl
para fornecer uma cerca de lançamento. (Ice1bb). - Foram adicionadas 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
- Foi introduzido o
CanvasFrontBufferedRenderer
para oferecer suporte a gráficos de baixa latência usando a APIandroid.graphics.Canvas
com a implementação OpenGL atual.
Mudanças na API
- A API
SurfaceControlCompat.Transaction#setBuffer
foi atualizada para permitir que instânciasHardwareBuffer
anuláveis espelhem a API da plataforma correspondente (I173d7). - Os métodos que se referem à renderização com buffer duplo foram renomeados para "Multi Buffered", já que a cadeia de troca de backup pode conter mais de dois buffers. (I830d7).
- Crie a API
CanvasFrontBufferedRenderer
para permitir que os 3ps aproveitem um sistema de renderização com buffer frontal usando a API Canvas. (Ibfc29).
Correções de bugs
- Correção de um problema em que o
GLFrontBufferedRenderer
não renderizava conteúdo após a retomada da atividade correspondente - Correção do problema em que o conteúdo do buffer frontal era limpo prematuramente
- Correção de um problema em que
SurfaceHolder.Callbacks
não era removido após o lançamento de APIs gráficas 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 um objetoBufferInfo
que contém largura/altura do buffer com um identificador de buffer de frame que pode ser usado para redirecionar o destino original após a renderização para um buffer de rascunho intermediário. (I7fe20). - A criação de
SyncFence
foi consolidada no método de fábrica estático emSyncFenceCompat
. - O método de compatibilidade público para
eglDupNativeFenceFDANDROID
foi removido em favor do método de fábricaSyncFenceCompat
para a criação de SyncFence. Isso garante que todas as plataformas de API recebam a implementação correta deSyncFence
, independentemente do nível da API. (I849bb). - Adicionamos uma documentação para
FrameBufferRenderer
eSyncStrategy
.FrameBufferRenderer
+FrameBuffer
+FrameBufferPool
movidos para o pacoteandroidx.graphics.opengl
SyncStrategy
foi movido para o pacoteandroidx.graphics.opengl
- Documentos
RenderCallback#onDraw
atualizados - Atualizamos a documentação de
RenderCallback#obtainFrameBuffer
, que o implementador da API é responsável por chamarFrameBuffer.close
- Atualizamos
onDrawComplete
para indicar que os consumidores são responsáveis por enviar conteúdo para exibição - As interfaces/classes de compatibilidade
SyncFence
foram movidas para o pacoteandroidx.hardware
para espelhar o framework. - A API
SyncFence
foi renomeada comoSyncFenceV19
e tornou-se privada 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 palma, em que a renderização para o buffer frontal precisa ser cancelada e ocultar o buffer frontal. O segundo é útil em cenários para manipular objetos na linha de execução do GL sem precisar programar uma renderização. (If0b7f). - Adição de uma API para renderização direta na camada de buffer duplo. Isso ajuda a renderizar uma cena novamente após a retomada e dá aos consumidores a oportunidade de determinar seletivamente quando aproveitar a renderização em buffer frontal de forma dinâmica com base na cena desejada. (Ied56c).
- Uma nova API foi adicionada ao
SurfaceControlCompat.Builder
para oferecer suporte à configuração daSurfaceControl
pai 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).
- Adição da 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.