audit: GrpFontTexture port-map (40250 bodies, HiDPI oversample adaptations)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
65777331f7
commit
6f32387567
@@ -633,3 +633,4 @@
|
|||||||
{"date": "2026-09-30", "unit": "EterLib/GrpVertexBuffer.cpp", "action": "port", "evidence": "CPU buffers, bodies otherwise 40250; port.grp_resource"}
|
{"date": "2026-09-30", "unit": "EterLib/GrpVertexBuffer.cpp", "action": "port", "evidence": "CPU buffers, bodies otherwise 40250; port.grp_resource"}
|
||||||
{"date": "2026-09-30", "unit": "EterLib/GrpImageInstance.cpp", "action": "port", "evidence": "verbatim; draw via UIRenderAddImage; port.grp_resource quad/uv/colour"}
|
{"date": "2026-09-30", "unit": "EterLib/GrpImageInstance.cpp", "action": "port", "evidence": "verbatim; draw via UIRenderAddImage; port.grp_resource quad/uv/colour"}
|
||||||
{"date": "2026-09-30", "unit": "EterLib/GrpExpandedImageInstance.cpp", "action": "port", "evidence": "verbatim; draw + blend mode via UIRenderAddImage, SCREEN/COLOR_DODGE blend fixed to INVDESTCOLOR (0x2A); OnIsType recursion avoided; port.grp_resource"}
|
{"date": "2026-09-30", "unit": "EterLib/GrpExpandedImageInstance.cpp", "action": "port", "evidence": "verbatim; draw + blend mode via UIRenderAddImage, SCREEN/COLOR_DODGE blend fixed to INVDESTCOLOR (0x2A); OnIsType recursion avoided; port.grp_resource"}
|
||||||
|
{"date": "2026-09-30", "unit": "EterLib/GrpFontTexture.cpp", "action": "port", "evidence": "40250 bodies over Win32Gdi; HiDPI oversample adaptations noted; port.text"}
|
||||||
|
|||||||
@@ -5,49 +5,143 @@
|
|||||||
"contracts": [],
|
"contracts": [],
|
||||||
"functions": {
|
"functions": {
|
||||||
"CGraphicFontTexture::CGraphicFontTexture": {
|
"CGraphicFontTexture::CGraphicFontTexture": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CGraphicFontTexture"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::~CGraphicFontTexture": {
|
"CGraphicFontTexture::~CGraphicFontTexture": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::~CGraphicFontTexture"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::Initialize": {
|
"CGraphicFontTexture::Initialize": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::Initialize"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::IsEmpty": {
|
"CGraphicFontTexture::IsEmpty": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::IsEmpty"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::Destroy": {
|
"CGraphicFontTexture::Destroy": {
|
||||||
"status": "TODO"
|
"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": {
|
"CGraphicFontTexture::CreateDeviceObjects": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CreateDeviceObjects"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::DestroyDeviceObjects": {
|
"CGraphicFontTexture::DestroyDeviceObjects": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::DestroyDeviceObjects"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::Create": {
|
"CGraphicFontTexture::Create": {
|
||||||
"status": "TODO"
|
"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": {
|
"CGraphicFontTexture::GetFont": {
|
||||||
"status": "TODO"
|
"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": {
|
"CGraphicFontTexture::AppendTexture": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::AppendTexture"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::UpdateTexture": {
|
"CGraphicFontTexture::UpdateTexture": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::UpdateTexture"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::GetCharacterInfomation": {
|
"CGraphicFontTexture::GetCharacterInfomation": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::GetCharacterInfomation"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::UpdateCharacterInfomation": {
|
"CGraphicFontTexture::UpdateCharacterInfomation": {
|
||||||
"status": "TODO"
|
"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": {
|
"CGraphicFontTexture::CheckTextureIndex": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::CheckTextureIndex"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"CGraphicFontTexture::SelectTexture": {
|
"CGraphicFontTexture::SelectTexture": {
|
||||||
"status": "TODO"
|
"status": "PORTED",
|
||||||
|
"impl": [
|
||||||
|
"src/platform/EterLib/GrpFontTexture.cpp:CGraphicFontTexture::SelectTexture"
|
||||||
|
],
|
||||||
|
"test": [
|
||||||
|
"tests/port/port_text_test.cpp"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user