{ "reference": "EterLib/GrpFontTexture.cpp", "reference_sha256": "d50b85e6e494b2e2a10289f40a5ebc518be03e1e73d60cd7463fd2dc5032ba00", "priority": "P4", "contracts": [], "functions": { "CGraphicFontTexture::CGraphicFontTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CGraphicFontTexture" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::~CGraphicFontTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::~CGraphicFontTexture" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::Initialize": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Initialize" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::IsEmpty": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::IsEmpty" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::Destroy": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Destroy" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250: deletes each HFONT of the font map. Port: also deletes its oversampled twin. Invariant: 40250 teardown; no leaked GDI fonts." }, "CGraphicFontTexture::CreateDeviceObjects": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CreateDeviceObjects" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::DestroyDeviceObjects": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::DestroyDeviceObjects" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::Create": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Create" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250: the page DIB is width x height. Port: width*s x height*s for oversample s (1 by default = 40250). Invariant: logical page size, metrics and UVs unchanged." }, "CGraphicFontTexture::GetFont": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::GetFont" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250: CreateFontIndirect per code page. Port: with s > 1 also creates an s-times-height twin for drawing. Invariant: the measuring font is the 40250 one." }, "CGraphicFontTexture::AppendTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::AppendTexture" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::UpdateTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::UpdateTexture" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::GetCharacterInfomation": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::GetCharacterInfomation" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::UpdateCharacterInfomation": { "status": "ADAPTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::UpdateCharacterInfomation" ], "test": [ "tests/port/port_text_test.cpp" ], "note": "40250: TextOutW with the 1x font, bilevel threshold into A4R4G4B4. Port: with s > 1 draws the glyph with the twin into the s-scaled cell keeping coverage alpha; s == 1 is the 40250 path. Invariant: width/height/advance and packing are the logical 1x values." }, "CGraphicFontTexture::CheckTextureIndex": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CheckTextureIndex" ], "test": [ "tests/port/port_text_test.cpp" ] }, "CGraphicFontTexture::SelectTexture": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::SelectTexture" ], "test": [ "tests/port/port_text_test.cpp" ] } } }