Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Porting Webcore Help



I’m currently trying to port KWQ to Windows 2000/XP (if you want to know why, it’s the cheapest/easiest way to get KHTML on Windows without having to use the ugly real Qt, which isn’t open source on Windows yet). Its currently requiring a lot of rewriting of a lot of things (no Objective-C, Cocoa, CoreFoundation, or anything else MacOS X specific in other words)

 

Here’s some of the things I already have done: (using filename). Bold means attempted port, but not finished, need assistance. Italics means not started

 

_javascript_Core – 100% ported using KJS from KDE 3.4 & PCRE 5.0, with a few minor adjustments. Testkjs works!

WebCore – much harder

 

n       KHTML – still won’t build due to unported KWQ dependency

n       KWQ

o        KWQArrayImpl – Adjusted to reflect Visual C++ syntax (#include instead of #import)

o        KWQAssertions – Considering abandoning, but it builds – required a syntax change, proper includes added, and removal of ObjC stuff

o        KWQChar – simple port, changed to using “ctype.h” functions

o        KWQCharsets – interesting port, no more ObjC, uses Windows Charset ID#s instead of CoreFoundation, simple table lookups, changed encoding from a CFStringEncoding to an int to reflect change

o        KWQCollection – syntax change, empty file anyway

o        KWQColor – syntax change, port from NSColor/ObjC to GDI+ Color / Visual C++

o        KWQCString – simple port, syntax change, added proper includes

o        KWQEvent – NOT ported, need help

o        KWQFont – port started, don’t know exactly how QFont is used, so bit difficult. Plus, QFont, while similar to a GDI+ Font, isn’t close enough to make it easy

o        KWQFontFamily – port started, need help

o        KWQFontInfo – prolly ported, but fails due to KWQFont above

o        KWQFontMetrics

o        KWQGaurdedPtr – simple enough to port

o        KWQKPartsPart

o        KWQKURL

o        KWQListImpl

o        KWQObject – I have no idea what the heck to do with this one. Making a clean start seems like the reasonable thing to do.

o        KWQPainter – requires dependencies above to be ported first

o        KWQPen – straight port to GDI+

o        KWQPixmap – porting to GDI+ Image seems like the thing to do, but I don’t see a way to do it cleanly. Some assistance would be useful

o        KWQPointArray – straight port

o        KWQRect – port to GDI+ Rect, very simple

o        KWQRegExp – uses _javascript_Core’s PCRE and KJS. Required some changes to KJS ustring.h (moved stuff from _javascript_Core to KJS ustring.h, activated via an #ifdef APPLE_CHANGES)

o        KWQRegion – port to GDI+ Region.. Took a while, but its finished. Used same approach as original, via paths.

o        KWQSignal

o        KWQSignalStubs

o        KWQSize – port to GDI+ Size. Simple.

o        KWQSlot

o        KWQString – my favorite port! Required A LOT of rewriting, a few implementations of Mach functions (that was fun), porting things to Win32 virtual memory allocations, to Win32’s Unicode system (VERY easy, hehe.. replacing UniChar with wchar_t), among other things

o        KWQStringList

o        KWQTextCodec – Win32 has functions similar to what this provides, wraps around them. MultiByteToWideChar & WideCharToMultiByte.

o        KWQTimer

o        KWQValueListImpl – syntax changes

o        KWQVariant – syntax changes, added proper includes

 

If it’s not listed, then it hasn’t been copied to my work tree. I am porting from Webcore-125, I know its old, but it’s the latest tarball I see. If another tarball is released, I’ll switch the Webcore-KHTML directory with the updated files, and any “simple port” files above with the same.

 

If you want to help, provide resources, etc.. email me at email@hidden

 

If you want to check out the partially ported source code, its at http://katpro.xiondigital.net/products/webkit-win32/WebKit-Win32.zip (1.6 MB)

 

 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webcore-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webcore-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.