Graficzne grafy paint COLR v1

GetRegisteredColorGlyphInfo sprawdza wybrany bazowy glif i zwraca płaski, skierowany acykliczny graf w THPDFOpenTypeColorGlyphInfo.COLRv1Paints

COLRv1RootPaintIndex identyfikuje korzeń, a UnitsPerEm dostarcza skalę używaną przez DrawRegisteredColorGlyph

Rekordy grafu

THPDFCOLRv1PaintKind rozróżnia warstwy, wypełnienia jednolite, gradienty liniowe, gradienty promieniowe, gradienty miotłowe, przycięcia glifów, wielokrotne kolorowe glify, transformacje i kompozyty

THPDFCOLRv1Paint przechowuje indeksy dzieci, identyfikatory glifów, geometrię gradientów, dane transformacji, tryb kompozytu i rozpoznane kolory

THPDFCOLRv1ColorStop przechowuje uporządkowane przesunięcie przystanku, rozpoznany kolor CPAL, alfa i indeks wpisu palety

THPDFCOLRv1Transform przechowuje sześć wartości afinicznej transformacji paint

THPDFCOLRv1PaintArray, THPDFCOLRv1PaintIndexArray i THPDFCOLRv1ColorStopArray wystawiają graf oraz jego dzieci o zmiennej długości i przystanki do Delphi i C++Builder

Bezpieczeństwo i zapas

Przesunięcia paint są sprawdzane względem ich poprawnych, względnych do tabeli baz przed konstrukcją grafu

Graficzne ograniczone do 4096 węzłów paint i 64 poziomów, a cykle zawodzą przed wyemitowaniem jakichkolwiek operatorów strony

Natywne wyjście obejmuje typowe kolejności źródła i celu oraz rodzinę trybów mieszania PDF, podczas gdy inne operacje Porter-Duff wywołują OnColorGlyphRasterize, gdy jest przypisane