mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 18:08:58 +00:00
a9c37a9053
This file is currently just a helper for doing PremultiplySurface in Moz2D. It corresponds to an existing Thebes one in the gfxUtils class. An upcoming patch will require this PremultiplySurface method. The existing one in gfxUtils has been renamed internally to DeprecatedPremultiplyTables.
13 lines
554 B
Python
13 lines
554 B
Python
#!/usr/bin/python
|
|
|
|
def table_generator(f):
|
|
return ",\n".join([", ".join(["0x%2.2x" % h for h in [f(i) for i in range(r,r+16)]]) for r in range(0, 65536, 16)])
|
|
|
|
with open("PremultiplyTables.h", "w") as f:
|
|
f.write("const uint8_t PremultiplyTable[256*256] = {\n");
|
|
f.write(table_generator(lambda i: ((i / 256) * (i % 256) + 254) / 255) + "\n")
|
|
f.write("};\n");
|
|
f.write("const uint8_t UnpremultiplyTable[256*256] = {\n");
|
|
f.write(table_generator(lambda i: (i % 256) * 255 / ((i / 256) if (i / 256) > 0 else 255) % 256) + "\n")
|
|
f.write("};\n");
|