grafika

  
Korzystanie z zaplecza graficznego w przypadku różnych wersji platformy Androida

Ta tabela zawiera wszystkie artefakty w grupie androidx.graphics.

Artefakt Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
rdzenie graficzne 1.0.0 - - -
ścieżka-grafiki 1.0.1 - - -
kształty graficzne - 1.0.0-rc01 - -
Data ostatniej aktualizacji: 24 lipca 2024 r.

Deklarowanie zależności

Aby dodać zależność od Graphics, musisz dodać repozytorium Google Maven do w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle aplikacji lub modułu:

Odlotowy

dependencies {
    implementation "androidx.graphics:graphics-core:1.0.0"
    implementation "androidx.graphics:graphics-path:1.0.1"
    implementation "androidx.graphics:graphics-shapes:1.0.0-rc01"
}

Kotlin

dependencies {
    implementation("androidx.graphics:graphics-core:1.0.0")
    implementation("androidx.graphics:graphics-path:1.0.1")
    implementation("androidx.graphics:graphics-shapes:1.0.0-rc01")
}

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Brak informacji o wersji tego artefaktu.

Kształty graficzne w wersji 1.0

Wersja 1.0.0-rc01

24 lipca 2024 r.

androidx.graphics:graphics-shapes:1.0.0-rc01, androidx.graphics:graphics-shapes-android:1.0.0-rc01 i androidx.graphics:graphics-shapes-desktop:1.0.0-rc01 zostały udostępnione. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Wersja 1.0.0-beta01

1 maja 2024 r.

androidx.graphics:graphics-shapes:1.0.0-beta01, androidx.graphics:graphics-shapes-android:1.0.0-beta01 i androidx.graphics:graphics-shapes-desktop:1.0.0-beta01 zostały udostępnione. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zezwalaj na wstępne obracanie kształtów w innym punkcie. Ta zmiana pozwala kształtom pillStar zaczynać krzywe od punktu innego niż domyślny na obwodzie. Może to być przydatne podczas animowania rysowania ścieżki kształtu, aby rozpocząć rysowanie od określonego miejsca na obrysie kształtu. (Ifbb4d, b/324303807)
  • Do funkcji Przekształć w strukturę przekształceniową dodano funkcje (calculateBounds()), które działają równolegle do tych samych funkcji w dniu RoundedPolygon. (I8a3b6, b/325463575)

Wersja 1.0.0-alpha05

7 lutego 2024 r.

androidx.graphics:graphics-shapes:1.0.0-alpha05, androidx.graphics:graphics-shapes-android:1.0.0-alpha05 i androidx.graphics:graphics-shapes-desktop:1.0.0-alpha05 zostały udostępnione. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Nowe funkcje

  • W bibliotece są teraz nowe funkcje pill() i pillStar(), które ułatwiają tworzenie kształtów zaokrąglonych lub oznaczonych gwiazdką. Istnieją również nowe interfejsy API do obliczania dokładnych granic wymaganych dla kształtu (poprzednie granice były jedynie oszacowaniem na podstawie punktów zakotwiczenia krzywej Beziera i punktów kontrolnych), a także maksymalnych możliwych granic, które mogą pomóc w określeniu rozmiaru kontenera, w którym będzie się obracać. (I71827)

Zmiany interfejsu API

  • Teraz masz więcej opcji pobierania dokładnych i maksymalnych progów. (I6d49f, b/317286450)

Poprawki błędów

  • Podczas rysowania tych kształtów jako ścieżek kreślonych występowały czasami artefakty renderowania. Wynikało to z problemu z niskim renderowaniem dotyczącego krzywych o zerowej długości. Ten błąd został naprawiony przez wyeliminowanie wszystkich krzywych o zerowej długości (których dane kształty nie potrzebują, a przez to oszczędzanie na ścieżkach generowanych przez te kształty).

Wersja 1.0.0-alpha04

13 grudnia 2023 r.

androidx.graphics:graphics-shapes:1.0.0-alpha04, androidx.graphics:graphics-shapes-android:1.0.0-alpha04 i androidx.graphics:graphics-shapes-desktop:1.0.0-alpha04 zostały udostępnione. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Ta wersja zawiera kilka zmian interfejsu API i poprawki błędów.
  • Wiele zmian w interfejsie API sprawia, że biblioteka kształtów jest przyjazna dla KMP. Dzięki temu możesz łatwiej dzwonić przy użyciu kodu spoza Androida (np. niezależnego kodu tworzenia wiadomości). Na przykład w interfejsie API nie ma typów Androida, takich jak poprzedni typ PointF, Matrix i Path.
  • Wprowadziliśmy też kilka zmian w interfejsach API i implementacji ze względu na wydajność. Chodzi przede wszystkim o zminimalizowanie alokacji obiektów (i zbierania danych). Na przykład przejście z punktuF na osobne parametry liczby zmiennoprzecinkowej pozwala uniknąć przypisania wielu tymczasowych struktur PointF do przechowywania tych wierzchołków.

Zmiany interfejsu API

  • Zastąpiono funkcję Morph.asMutableCubics funkcją wykonującą iterację w MutableCubics. Interfejs funkcjonalny PointTransformer został zmieniony. Teraz przyjmuje współrzędne x i y elementu Point i zwraca TransformedResult (który tworzy się z przekształconymi współrzędnymi x i y) (I6719e).
  • Usunęliśmy publiczny konstruktor Cubic i ustawiliśmy go jako funkcję fabryczną. (I409CE)
  • Dodawanie interfejsów API przekształcania i rysunków specyficznych dla Androida (I079f6, b/292289543)
  • Wyeliminuj zależności Androida (Iadc1c, b/292289543)
  • Nazwy właściwości kotwicy i elementów sterujących są teraz bardziej rozsądne (If13bd, b/294562941).
  • Parametry PointF zostały zmienione na pary Float (Id4705, b/276466399, b/290254314)
  • Pole progress jest teraz przekazywane bezpośrednio do poleceń rysowania w Morph (Icdca2)

Poprawki błędów

Wersja 1.0.0-alpha03

7 czerwca 2023 r.

Usługa androidx.graphics:graphics-shapes:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodano nową funkcję RoundedPolygon.rectangle() (I78e7e, b/280322189)
  • Funkcje gwiazdki i okręgu są teraz pozbawiane wielkich liter i są wywoływane przez obiekt towarzyszący RoundedPolygon: np. RoundedPolygon.star(...)(I14735)

Poprawki błędów

  • Usunięto błąd wygładzania (Ibf894)
  • Naprawiliśmy błąd, który występował, gdy kształt początkowy i końcowy był taki sam. Lepiej rozplanuj dostępną przestrzeń na cięcia, najpierw wykorzystując dostępną przestrzeń na zaokrąglanie, a później wykorzystuj dostępną przestrzeń na zaokrąglenia, jeśli zostanie wolna przestrzeń. (Ibd320, b/277936300)

Wersja 1.0.0-alpha02

19 kwietnia 2023 r.

Usługa androidx.graphics:graphics-shapes:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nadklasa Polygon została scalona z jej podklasą, RoundedPolygon; wszystkie wielokąty są teraz [opcjonalnie] zaokrąglonymi.
  • Funkcja gwiazdki (która nadal zwraca wartość RoundedPolygon, tak jak wcześniej) przyjmuje teraz wartość innerRadius zamiast poprzedniego parametru innerRadiusRatio. Zawiera te same jednostki co dotychczasowy parametr promienia, dzięki czemu jest on prostszy i bardziej spójny. Nazwa parametru numOuterVertices została też zmieniona na numVerticesPerRadius, aby doprecyzować, że ta sama liczba jest stosowana zarówno do promienia wewnętrznego, jak i zewnętrznego.
  • Wcześniej udokumentowano, że funkcja CornerRounding.radius odpowiada wielkości wielokąta, ale była (i powinna być) wartością bezwzględną, a nie względną. Dokumenty zostały zaktualizowane, a adnotacja ograniczająca jej maksymalną wartość do 1,0 została poprawiona.

Wersja 1.0.0-alpha01

5 kwietnia 2023 r.

Graphics- shapes to nowa biblioteka, która umożliwia łatwe tworzenie i renderowanie zaokrąglonych wielokątnych kształtów, a także proste i automatyczne przekształcanie (animacje) między różnymi kształtami.

Usługa androidx.graphics:graphics-shapes:1.0.0-alpha01 została zwolniona. Ta wersja została wydana z gałęzi wewnętrznej.

Nowe funkcje

  • Interfejs Polygon API umożliwia tworzenie wielokątów regularnych i gwiazdek z odpowiednią liczbą wierzchołków.
  • Opcjonalne parametry CornerRounding pozwalają określić promień zaokrąglenia i wygładzania rogów, aby uzyskać wielokątne kształty z zaokrąglonymi narożnikami.
  • Nowy interfejs API Morph(Polygon, Polygon) umożliwia automatyczne obliczenie kształtu szkieletowego, którego postęp można ustawić w zakresie od 0 do 1, aby animować kształt pomiędzy początkowym a końcowym kształtem. Możesz animować postępy w czasie, rysując wynik na każdej klatce, aby utworzyć płynną animację między nowymi okrągłymi kształtami.

Ścieżka grafiki w wersji 1.0

Wersja 1.0.1

1 maja 2024 r.

Usługa androidx.graphics:graphics-path:1.0.1 została zwolniona. Wersja 1.0.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Ulepszenia flag kompilacji.

Wersja 1.0.0

6 marca 2024 roku

Usługa androidx.graphics:graphics-path:1.0.0 została zwolniona.

Wersja 1.0.0-rc01

21 lutego 2024 r.

Usługa androidx.graphics:graphics-path:1.0.0-rc01 została zwolniona. Wersja 1.0.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Popraw wydajność PathIterator w interfejsie API < 34 (Id4629)

Wersja 1.0.0-beta02

10 stycznia 2024 r.

Zmiany w tej wersji dotyczyły zmniejszenia rozmiaru biblioteki, która była większa niż to konieczne ze względu na założenia stosowane w kodzie natywnym.

Usługa androidx.graphics:graphics-path:1.0.0-beta02 została zwolniona. Wersja 1.0.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Zmniejszono rozmiar libandroidx.graphics.path.so o 96%. (I71397)
  • Zmniejsz rozmiar pliku libandroidx.graphics.path.so o 5%. (I2da7c).
  • Zmniejszono natywne komponenty komponentu androidx.graphics:graphics-path o 43%. (I8E40D)

Wersja 1.0.0-beta01

29 listopada 2023 r.

Usługa androidx.graphics:graphics-path:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Usunięto zastosowania eksperymentalnego interfejsu API isAtLeastU() (Ie9117, b/289269026)

Poprawki błędów

  • Różne poprawki i ulepszenia w zakresie wydajności, w tym sposób radzenia sobie z elementami stożkowymi w bibliotece.

Wersja 1.0.0-alpha02

7 czerwca 2023 r.

Usługa androidx.graphics:graphics-path:1.0.0-alpha02 została zwolniona. Ta wersja jest opracowana w gałęzi wewnętrznej.

Nowe funkcje

  • Rozwiązaliśmy problem z wewnętrznym sprawdzaniem wersji platformy, który powodował problemy podczas korzystania z podglądów Androida 14 (sprawdzanie wersji kończyło się niepowodzeniem, ale mechanizm wykonywania czynności w poprzednich wersjach nie działa prawidłowo w szczególności na Androidzie 14).

Wersja 1.0.0-alpha01

22 marca 2023 r.

Usługa androidx.graphics:graphics-path:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Ta nowa biblioteka umożliwia tworzenie zapytań o dane ścieżki za pomocą nowego interfejsu API PathIterator. Za pomocą tego interfejsu API elementy wywołujące mogą iterować wszystkie segmenty obiektu Path, aby określić operację i dane dla tych segmentów.
  • Biblioteka korzysta z podobnych interfejsów API wprowadzonych w wersji testowej Androida 14, ale ta wersja interfejsu API na Androida X działa również w przypadku interfejsów API od wersji 21.

Graphics Core w wersji 1.0

Wersja 1.0.0

29 maja 2024 r.

Usługa androidx.graphics:graphics-core:1.0.0 została zwolniona. Wersja 1.0.0 zawiera te zatwierdzenia.

Główne funkcje 1.0.0

  • Oficjalna stabilna wersja biblioteki rdzenia graficznego. Zawiera drobne poprawki błędów i ulepszenia wydajności z wersji 1.0.0-rc01

Wersja 1.0.0-rc01

17 kwietnia 2024 r.

Usługa androidx.graphics:graphics-core:1.0.0-rc01 została zwolniona. Ta wersja jest opracowana w gałęzi wewnętrznej.

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował dwukrotne zamykanie deskryptorów plików w interfejsie CanvasBufferedRendererAPI na niektórych urządzeniach z Androidem 14.
  • Rozwiązaliśmy problem, który powodował, że usługa FrameBuffer nie usuwała prawidłowo instancji Framebuffer.

Wersja 1.0.0-beta01

13 grudnia 2023 r.

Usługa androidx.graphics:graphics-core:1.0.0-beta01 została zwolniona. Wersja 1.0.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadziliśmy nowy interfejs API LowLatencyCanvasView, który obsługuje renderowanie z krótkim czasem oczekiwania za pomocą interfejsów API grafiki 2D na Androida (Canvas Paint) w hierarchii widoku danych.
  • Wprowadzono interfejs CanvasBufferedRenderer API, aby umożliwić korzystanie z akceleracji sprzętowej renderowania Canvas w obiekcie HardwareBuffer. Można to wykorzystać do narysowania fragmentu interfejsu użytkownika w buforze, który można przekonwertować na bitmapę za pomocą interfejsu API Bitmap.wrapHardwareBuffer.

Zmiany interfejsu API

  • Zaktualizowano interfejs API CanvasBufferRenderer#releaseBuffer, aby dodać opcjonalny parametr ogrodzenia. Zaktualizowaliśmy dokumentację, aby określić, kiedy zwracany jest element RenderResult#fence. (If1ea7).
  • Dodaj metodę draw do RenderRequest, aby umożliwić wykorzystywanie współrzędnych do planowania żądań rysowania. Zmieniliśmy nazwę poprzedniej metody rysowania, która korzystała z wykonawcy, na drawAsync. Zrefaktoryzowano metodę isClosed() na właściwość. (I5bff6)
  • Wykryty parametr formatu bufora na CanvasFrontBufferRenderer w celu zmapowania bezpośrednio na CanvasBufferedRenderer.Builder#setBufferFormat (I0f272)
  • Utworzono interfejs API CanvasBufferedRenderer do obsługi sprzętowego renderowania kanwy z akceleracją sprzętową do formatu HardwareBuffer. Zapewnia to wsteczną implementację w Androidzie Q wraz z konfiguracją z głębokością wymiany HardwareBuffers. Konfiguracja w ColorSpace jest nadal ograniczona do Androida U , ale kompatybilna implementacja zapewnia brak działania po stronie deweloperów w imieniu Google. (I9b1d8).
  • Dodaj do interfejsu SurfaceControlCompat.Transaction interfejsy API setFrameRate/clearFrameRate, aby kontrolować liczbę klatek i zapewniać płynne lub domyślne przejścia. (I6045C)
  • Obniżono wymagany poziom interfejsu API setDataSpace do Androida Q z Androida T. (I59c34)
  • Dodano wywołanie zwrotne onBufferReleased do interfejsu API GLFrameBufferRenderer, aby umożliwić konsumentom wyczyszczenie stanu, gdy bufor nie jest już wyświetlany (I8a4e2).
  • Utwórz LowLatencyCanvasView, aby obsługiwać prosty przypadek użycia renderowania treści z krótkim czasem oczekiwania, które jest synchronizowane z funkcją renderowania hierarchii widoków. Pozwala to zmniejszyć złożoność zarządzania SurfaceView przez wewnętrzne zarządzanie instancją SurfaceView, która jest tłumaczona z wyłączenia na ekran na potrzeby synchronizacji i renderowania z krótkim czasem oczekiwania. (I9253B)
  • Dodano obsługę konfiguracji przestrzeni kolorów do interfejsu API CanvasFrontBufferedRenderer. Zaktualizowano wywołania zwrotne w wielu buforach, aby zawierały również buforowane wstecznie SurfaceControl (I24bd9)

Wersja 1.0.0-alpha05

6 września 2023 r.

Usługa androidx.graphics:graphics-core:1.0.0-alpha05 została zwolniona. Wersja 1.0.0-alfa05 zawiera te zatwierdzenia.

Nowe funkcje

  • Wprowadzono GLFrameBufferRenderer API. Zapewnia to kombinację zależności OpenGL, konfiguracji łańcucha zamiany, formatów pikseli i konfiguracji SurfaceControl. (IC775b)

Zmiany interfejsu API

  • Dodano parametry szerokości i wysokości do różnych interfejsów API wywołań zwrotnych dla wymiarów potoku z SurfaceHolder#Callbacks. (I7f9fc).
  • Dodano przejrzysty interfejs API do usuwania zarówno warstw przednich, jak i wielobuforowanych. (Ic1f95).
  • Dodano obsługę konfigurowania bazowego typu bufora buforów wymiany używanych w GLFrontBufferedRenderer. (I07a13)
  • Dodano właściwości kotlin dla metod pobierania GLFrameBufferRenderer, adnotacje IntRange dla maksymalnej liczby wpisów bufora i adnotacje HardwareBufferFormart i HardwareBufferUsage odpowiednio dla setFormat/setUsage. (Ief89e).
  • Zaktualizowano interfejs API setBuffer w przypadku SurfaceControl transakcji, aby zapewnić granicę zwalniania. (Ice1bb).
  • Dodaliśmy interfejsy API SurfaceControlCompat.Transaction, aby skonfigurować przestrzeń danych oraz ustawić rozszerzony zakres jasności. (IC378D)

Wersja 1.0.0-alpha04

7 czerwca 2023 r.

Usługa androidx.graphics:graphics-core:1.0.0-alpha04 została zwolniona. Wersja 1.0.0-alfa04 zawiera te zatwierdzenia.

Nowe funkcje

  • Rozwiązanie CanvasFrontBufferedRenderer, które obsługuje grafikę o krótkim czasie oczekiwania, wykorzystując interfejs API android.graphics.Canvas wraz z dotychczasową implementacją OpenGL.

Zmiany interfejsu API

  • Zaktualizowaliśmy interfejs API SurfaceControlCompat.Transaction#setBuffer, aby umożliwić instancji HardwareBuffer z możliwością wartości null powielanie odpowiedniego interfejsu API platformy (I173d7).
  • Zamiast tego zmień nazwy metod odwołujące się do renderowania z podwójną buforem, na Multi Buffered, ponieważ zamiana kopii zapasowych może zawierać więcej niż 2 bufory. (I830D7)
  • Utwórz interfejs API CanvasFrontBufferedRenderer, aby włączyć 3 psy na potrzeby korzystania z systemu renderowania buforowanego z przodu przy użyciu interfejsu Canvas API. (Ibfc29)

Poprawki błędów

  • Rozwiązanie problemu polegającego na tym, że GLFrontBufferedRenderer nie renderował(a) treści po wznowieniu danej aktywności.
  • Rozwiązaliśmy problem polegający na tym, że treści buforowane z przodu były usuwane przedwcześnie.
  • Rozwiązaliśmy problem polegający na tym, że interfejs SurfaceHolder.Callbacks nie był usuwany po udostępnieniu interfejsów API grafiki o krótkim czasie oczekiwania.

Wersja 1.0.0-alpha03

22 marca 2023 r.

Usługa androidx.graphics:graphics-core:1.0.0-alpha03 została zwolniona. Wersja 1.0.0-alfa03 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Zaktualizowaliśmy implementację wywołania zwrotnego GLFrontBufferedRenderer, aby udostępnić obiekt BufferInfo zawierający szerokość/wysokość bufora wraz z identyfikatorem bufora ramki, którego można użyć do ponownego kierowania na pierwotne miejsce docelowe po wyrenderowaniu w buforze z wersją pośrednią. (I7fe20)
  • Skonsolidowano tworzenie SyncFence do statycznej metody fabrycznej w dniu SyncFenceCompat.
  • Usunięto metodę publicznej zgodności dla eglDupNativeFenceFDANDROID na rzecz metody fabrycznej SyncFenceCompat na potrzeby tworzenia SyncFence. Dzięki temu wszystkie platformy interfejsu API otrzymują prawidłową implementację interfejsu SyncFence niezależnie od poziomu interfejsu API. (I849bb)
  • Dodaliśmy dokumentację dotyczącą FrameBufferRenderer i SyncStrategy.
    • Przeniesiono FrameBufferRenderer FrameBuffer FrameBufferPool do pakietu androidx.graphics.opengl
    • Przeniesiono SyncStrategy do androidx.graphics.opengl pakietu
    • Zaktualizowano dokumenty (RenderCallback#onDraw)
    • Zaktualizowana dokumentacja obiektu RenderCallback#obtainFrameBuffer wskazuje, że implementator interfejsu API odpowiada za wywoływanie funkcji FrameBuffer.close
    • Zaktualizowano onDrawComplete, aby wskazać, że konsumenci są odpowiedzialni za wysyłanie treści do wyświetlenia
    • Przeniesiono interfejsy/klasy zgodności SyncFence do pakietu androidx.hardware, aby odzwierciedlić platformę
    • Zmieniliśmy nazwę interfejsu API SyncFence na SyncFenceV19 i umieściliśmy ją jako prywatną, aby skonsolidować przypadki użycia w środowisku SyncFenceCompat, co w miarę możliwości wykorzystuje interfejs API SyncFence platformy. (I5149c)
  • Dodano metody GLFrontBufferedRenderer#cancel i GLFrontBufferedRenderer#execute. Pierwszy z nich jest przydatny w sytuacjach odrzucenia dłoni, gdy renderowanie w przednim buforze należy anulować i ukryć przedni bufor. To ostatnie jest przydatne w przypadku manipulowania obiektami w wątku GL bez konieczności planowania renderowania. (If0b7f).
  • Dodanie interfejsu API w celu renderowania bezpośrednio w warstwie z podwójnym buforowaniem. Pomaga to w ponownym wyrenderowaniu sceny po wznowieniu aplikacji, a jednocześnie daje konsumentom możliwość selektywnego określenia, kiedy należy dynamicznie zastosować renderowanie buforowane z przodu w zależności od żądanej sceny do wyrenderowania. (Ied56c).
  • Do SurfaceControlCompat.Builder dodano nowy interfejs API umożliwiający konfigurowanie nadrzędnego zasobu SurfaceControl z innej instancji SurfaceControl w uzupełnieniu istniejącego mechanizmu z poziomu SurfaceView. (I1d1b6).
  • Większa dopuszczalność zwracanych wartości null wycofanych funkcji ukrytych (Ibf7b0)
  • Dodano stałą rozszerzenia EGL_ANDROID_get_native_client_buffer do sprawdzania, czy urządzenie z Androidem obsługuje importowanie instancji HardwareBuffer do obiektów EGLClientBuffer, które można wykorzystać jako instancję EGLImage. (IAD767).
  • Dodawanie adnotacji @JvmDefaultWithCompatibility (I8f206)

Wersja 1.0.0-alpha02

9 listopada 2022 r.

Usługa androidx.graphics:graphics-core:1.0.0-alpha02 została zwolniona. Wersja 1.0.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Rozwiązaliśmy problem brakującej adnotacji RequiresApi w języku addTransactionCommitListener, która została wprowadzona w Androidzie S (I0a035).
  • Zaktualizowaliśmy wywołania zwrotne bufora onDraw<Front/Double>, aby udostępnić macierz przekształceń, którą konsumenci mogą przekazać do cieniowania wierzchołków oprócz bieżącej szerokości/wysokości bufora. Konsumenci są odpowiedzialni za używanie tych parametrów do właściwego wstępnego rotacji kodu renderowania OpenGL. (I82f9e)

Poprawki błędów

  • Krótsze opóźnienie grafiki dzięki wstępnemu obracaniu buforów przed realizacją transakcji SurfaceControl.
  • Rozwiązaliśmy problem, który powodował, że w logach błędów pojawiał się błąd 300d (EGL_BAD_SURFACE).
  • Rozwiązaliśmy problem polegający na tym, że wartość GLFrontBufferedRenderer była nieprawidłowa po wznowieniu aktywności, w której była używana.
  • Ulepszona obsługa emulatorów i urządzeń z ChromeOS.
  • Rozwiązaliśmy problem polegający na tym, że przednia buforowana warstwa mogła się przedwcześnie ukryć.

Wersja 1.0.0-alpha01

24 października 2022 r.

Usługa androidx.graphics:graphics-core:1.0.0-alpha01 została zwolniona. Wersja 1.0.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Pierwsza wersja podstawowej biblioteki graficznej na Androidzie X. Obejmuje to interfejsy API przeznaczone do obsługi przypadków użycia z krótkim czasem oczekiwania, takich jak wprowadzanie za pomocą rysika. Wprowadziliśmy też kilka pomocniczych interfejsów API do obsługi OpenGL.

Zmiany interfejsu API

  • GLFrontBufferedRenderer ma pomóc w renderowaniu przednim i wielobuforowanym, co pozwala uzyskać zarówno krótki czas oczekiwania, jak i wysoką jakość renderowania.
  • Wprowadza interfejs GLRenderer API, który ułatwia renderowanie w trybie OpenGL dla różnych dostawców platform, takich jak SurfaceView czy TextureView.