ClassicNick / Crescent-Vine

A fork of Gecko 1.8.1 to improve support for the modern web in older versions of Windows
Other
12 stars 1 forks source link

Investigate reliance on the Thebes GFX toolkit #51

Open ClassicNick opened 1 year ago

ClassicNick commented 1 year ago

In order to move forward with CSS support, there are 2 options:

  1. Figure out how to convert code written for the Thebes Graphics (GFX) toolkit to code compatible with regular GFX APIs
  2. Introduce reliance on the Thebes GFX toolkit, then extend its APIs so that newer Mozilla code can be directly ported

Both of those options seem interesting to me:

  1. Learning how to convert Thebes GFX specific code to code compatible with regular GFX APIs will be interesting to learn, but could be difficult.
  2. Introducing reliance on the Thebes GFX toolkit will probably be easier, and could be fun due to the irony of using a Firefox 2.0 fork, and because Mozilla's complete implementation of the Thebes GFX toolkit is what broke Visual C++ 6.0 support, and also contributed to breaking Windows 9x support. The font rendering code had APIs that did not work on Visual C++ 6.0 and Windows 9x. What this project needs is an incomplete implementation of the Thebes GFX toolkit (which technically already exists in this code base) for the purpose of reliance on gfxContext, and gfxRect, but not relying much at all on gfxWindowsFonts code.
ClassicNick commented 1 year ago

Marking this as Leave Open due to the nature of a progressive implementation. 0.2.0 will introduce reliance on Thebes GFX APIs (but still using the Windows GFX toolkit). Also, during initial testing, this approach does work, and so far, even on Windows 95.